湖北大学本科毕业论文设计
第3章 基于声卡的虚拟信号发生器的设计
3.1 设计思路
1. 先参考一些别人发表的论文,明确自己的设计目的,构思信号发生器的大致结构。 2.上网搜索有关函数信号发生器的清晰图片以及该函数信号发生器的详细资料。按照该函数发生器布置相应器件到前面板上面,大致与图片一致。
3.在程序面板编写程序,先编写波形主程序,大致实现该函数发生器的功能 4.实现任务要求,尽量使得程序通俗易懂,最后逐步完善和美化该程序。
3.2 函数信号发生器程序的设计
3.2.1 前面板
虚拟信号发生器的前面板是根据实际中的仪器面板以及该仪器所要实现的各种功能进行设计的程序交互式图形化用户界面。前面板的右半部分是输出波形的显示和频率、幅度、相位等参数的设置,信号类型选择包括正弦波、三角波、方波、锯齿波以及自定义公式波。根据计算机声卡的实际特性,将声卡设置为双通道、44.1kHz采样频率、16位采样比特数、连续采样等,如图3.1所示:
图 3.1
12
湖北大学本科毕业论文设计
3.2.2 全部程序框图
虚拟信号发生器的程序框图和前面板是相对应的,只有创建了框图程序该程序才能正常运行。程序主要是将产生的波形信号通过声卡输出,其程序框图主要使用while循环结构和case条件结构实现波形数据实时显示和实时输出。如图3.2所示。
在框图程序产生波形数据部分有仿真信号子VI,仿真信号子VI 主要用于基本周期信号(正弦波、方波、三角波和锯齿波)和公式波形数据的生成。有时在实际测试中,需要输出非周期信号或者是测试领域中的特殊信号,利用公式波形VI输入节点,通过编辑波形的数学表达式,来生成用户指定的特殊信号。应该注意的是,为了确保输出信号频率和前面板中设定的一致,必须使声卡的采样率和仿真信号的采样率相同。为了使输出信号连续和整周期采样,仿真信号采样点数和采样率设置一致。此外要说明的是,前面板信号的幅值并不确定,这要由具体计算机声卡硬件参数而定。
图 3.2
3.2.3 波形选择和指示灯显示的程序
该模块利用条件结构实现下拉框 控制信号灯,并显示输出波形的选择状态,如图3.3所示:
13
湖北大学本科毕业论文设计
图 3.3
3.2.4 频率选择的程序
频率的选择不仅要亮灯显示档位,还要让该档位与频率的细调相乘才能实现所要输出的频率(输出波形频率=档位×旋钮频率),该部分也是利用了条件结构实现的。如图3.4所示:
图 3.4
3.2.5 输出衰减程序
利用条件结构来实现不同情况下的输出衰减倍数。其中衰减20dB就是将电压幅度衰减为原来的十分之一,衰减40dB就是将电压幅度衰减为原来的百分之一,60dB就是将电压衰减为原来的千分之一。如图3.5所示:
14
湖北大学本科毕业论文设计
图3.5
3.2.6 信号产生程序
信号产生是仪器系统的重要组成部分,要评价任意一个网络或系统的特性,必须外加一定的测试信号,其性能方能显示出来。最常用的测试信号有正弦波、三角波、方波、锯齿波、噪声波及多频波(由不同频率的正弦波叠加而形成的波形)等。如图3.6所示:
图3.6
该模块是利用LABVIEW自带的常见信号波形生成子VI产生信号,并用示波器输出显示,来验证输出是否达到要求。通过调节前面板的旋钮和下拉框可以改变输出信号的参数。
3.2.7 基于声卡的子VI的使用
该程序做的是基于声卡的信号发生器,其中利用了几个跟声卡相关的VI,如Sound Output Configure. vi(配置生成数据的声音输出设备,使用写入声音输出VI使数据写入设备),Sound Output Set Volume. vi(设置声音输出设备的播放音量),Sound Output Write. vi(使数据写入声音输出设备,如需连续写入,必须使用配置声音输出VI配置设备)和Sound Output Clear. vi(使设备停止播放音频,清空缓存,任务返回至默认状态,并清除与任务相关的资源,任务变为无效),具体连接情况见总程序框图。需要指出的是经声卡输出的信号是比较弱的,一般在1.5V以下,需要外部电路进行调理才能使用。
3.3 测试情况和结果分析
该程序可产生正弦波、方波、三角波、锯齿波以及公式波(可设置任意公式),频率20~20000Hz连续可调,幅度范围为-1.5~1.5V,并且信号的相位、偏移量和方波占空比可以自己设置。在产生波形的同时,电脑声卡放出该波形的声音,当调整信号的频率时,播放声音的音调也跟随着变化。调整前面板的音量滚动条可以控制播放声音的大小。 软件模拟波形如图3.7至图3.11所示:
15
湖北大学本科毕业论文设计
图3.7 正弦波 图3.8 三角波
图3.9 方波 图3.10 锯齿波
图3.11 某一公示波
通过实验室示波器检测发现测得的正弦波信号和电脑模拟的信号频率基本一致(示波器显示为580Hz,电脑显示为571.4Hz,波形正常)
如图3.12和图3.13所示:
16