1.1 设计题目:基于Labview的虚拟信号发生器设计1.2 设计要求1.2.1 基本要求:基于DAQ的虚拟信号发生器1)产生任意信号。
2)通过DAQ将此信号输出,可以在示波器上进行显示。
3)用示波器测量产生的信号,调节信号的相关参数,观察示波器的变化。
注意:信号的幅度和频率,与DAQ的关系。
4)讨论信号失真的原因,并在程序中加以限制,当用户的参数选择受限时,报警(提示用户,该参数会造成信号发生器输出与要求不符,并要求重新输入。
)二设计思路我所设计的虚拟信号发生器主要由四部分组成。
第一部分:信号发生器总开关。
用于控制信号发生器的开与关。
总开关的控制通过while 循环来实现。
第二部分:信号输出。
信号发生器输出波形的选择及其相关参数(频率、幅度、相位、偏移量、方波占空比)的调节,并输出信号。
波形的选择通过条件结构来实现,波形选择的显示通过组合框来实现,相关参数的调节通过数值输入控件或旋钮来实现,相关参数的数值显示通过数值显示控件来实现,输出信号通过波形图显示来是实现。
第三部分:输入频率判断。
提示用户所选波形在正常情况下的频率范围并对用户所选的频率进行判断,在不符合要求时给予提示。
频率的正常范围通过字符串显示控件来实现。
如果用户所选的频率过低或过高则提示用户并要求重新选择频率。
用户所选频率的判断通过条件结构来实现,提示通过字符串显示控件以及圆形指示灯来实现。
频率过低时提示:“频率过低,失真,请重新输入”。
频率过高时提示:“频率过高,失真,请重新输入”。
在正常范围内时提示:“正确输出”。
第四部分:建立DAQ助手。
根据用户所选择的波形及参数,将用户所需要的波形输出并在示波器上显示。
以上就是我所设计的虚拟信号发生器的设计思路。
三设计方框图四设计原理4.1 信号发生器总开关信号发生器总开关为:控件→新式→布尔→开关按钮。
开关按钮按下时,输出真:未按下时,输出假。
通过while结构进行判断,开关按钮输出真时,产生信号。
开关按钮输出假时,不产生信号,程序停止。
4.2 信号输出4.2.1 信号发生器输出波形选择选择信号发生器输出波形显示为:控件→新式→字符串与路径→组合框。
用户可以从正弦波、方波、三角波、锯齿波这四种波形中选择其中的一种。
波形选择与显示通过组合框来完成。
波形选择后将用户所选的选项通过条件结构,根据用户所选的波形对应执行不同的程序,输出不同的波形。
4.2.2 信号发生器输出波形相关参数调节参数调节为:数值输入:控件→新式→数值→数值输入控件。
旋钮:控件→新式→数值→旋钮。
重置信号:控件→新式→布尔→垂直摇杆开关。
参数显示为:控件→新式→数值→数值显示控件。
将数值显示控件与数值输入或旋钮连在一起,使它们的数据同步。
根据用户所选择的波形参数(频率、幅值、相位、偏移量、占空比)输出相应的波形。
4.3 输入频率判断利用字符串显示控件提示用户其所选波形的正常输出的频率范围。
利用条件结构对输入的频率进行判断,当频率过低时执行提示程序:“频率过低,失真,请重新输入”;圆形指示灯亮。
当频率过高时执行提示程序:“频率过高,失真,请重新输入”;圆形指示灯亮。
当频率适当时执行提示程序:“正确输出”;圆形指示灯灭。
4.3.1 提示正常频率正常频率提示为:控件→新式→字符串与路径→字符串显示控件。
根据用户所选的波形执行相应的程序:文字频率提示依次为:“正弦波频率范围10-90HZ”;“方波频率范围200-280HZ”;“三角波频率范围20-90HZ”;“锯齿波频率范围40-170HZ”。
4.3.2 输入频率过低时文字提示为:控件→新式→字符串与路径→字符串显示控件。
指示灯提示为:控件→新式→布尔→圆形指示灯。
当输入频率过低时执行提示程序:显示“频率过低,失真,请重新输入”。
圆形指示灯亮。
4.3.3 输入频率过高时文字提示为:控件→新式→字符串与路径→字符串显示控件。
指示灯提示为:控件→新式→布尔→圆形指示灯。
当输入频率过高时执行提示程序:显示:“频率过高,失真,请重新输入”。
圆形指示灯亮。
4.3.4 输入频率在指定范围内时文字提示为:控件→新式→字符串与路径→字符串显示控件。
指示灯提示为:控件→新式→布尔→圆形指示灯。
当输入频率适当时执行提示程序:显示:“正确输出”。
圆形指示灯灭。
4.4建立DAQ助手DAQ为:函数→测量I/O→DAQmx-数据采集→DAQ助手。
根据用户所选的波形及参数,将用户所需的波形输出,并在示波器上显示。
五程序设计5.1 信号发生器总开关开关按钮:按下时,输出真。
未按下时,输出假。
通过while结构进行判断,开关按钮输出真时,产生信号。
开关按钮输出假时,不产生信号,程序停止。
5.1.1 控件1、总开关5.1.2 程序1、总开关控制5.2 信号输出用户可以从正弦波、方波、三角波、锯齿波这四种波形中选择其中的一种。
波形选择与显示通过组合框来完成。
波形选择后将用户所选的选项通过条件结构,根据用户所选的波形对应执行不同的程序,输出不同的波形。
将数值显示控件与数值输入或旋钮连在一起,使它们的数据同步。
根据用户所选择的波形参数(频率、幅值、相位、偏移量、占空比)输出相应的波形。
5.2.1 控件1、波形选择组合框设置2、数值输入3、旋钮4、数值显示5、重置信号6、波形正弦波方波三角波锯齿波7、函数信号图5.2.2 程序1、正弦波波形选择与显示通过组合框来完成。
波形选择后将用户所选的选项通过条件结构,根据用户所选的波形对应执行不同的程序,输出不同的波形。
将数值显示控件与数值输入或旋钮连在一起,使它们的数据同步。
根据用户所选择的波形参数(频率、幅值、相位、偏移量、占空比)输出相应的波形。
频率、幅值、相位这三项参数用户可手动输入准确数值;偏移量这项参数用户可利用旋钮来调节,具体数值均可通过数值显示控件来查看。
重置信号为一垂直摇杆开关,用户可在需要时使用。
2、方波波形选择与显示通过组合框来完成。
波形选择后将用户所选的选项通过条件结构,根据用户所选的波形对应执行不同的程序,输出不同的波形。
将数值显示控件与数值输入或旋钮连在一起,使它们的数据同步。
根据用户所选择的波形参数(频率、幅值、相位、偏移量、占空比)输出相应的波形。
频率、幅值、相位这三项参数用户可手动输入准确数值;偏移量、占空比这两项参数用户可利用旋钮来调节,具体数值均可通过数值显示控件来查看。
重置信号为一垂直摇杆开关,用户可在需要时使用。
3、三角波波形选择与显示通过组合框来完成。
波形选择后将用户所选的选项通过条件结构,根据用户所选的波形对应执行不同的程序,输出不同的波形。
将数值显示控件与数值输入或旋钮连在一起,使它们的数据同步。
根据用户所选择的波形参数(频率、幅值、相位、偏移量、占空比)输出相应的波形。
频率、幅值、相位这三项参数用户可手动输入准确数值;偏移量这项参数用户可利用旋钮来调节,具体数值均可通过数值显示控件来查看。
重置信号为一垂直摇杆开关,用户可在需要时使用。
4、锯齿波波形选择与显示通过组合框来完成。
波形选择后将用户所选的选项通过条件结构,根据用户所选的波形对应执行不同的程序,输出不同的波形。
将数值显示控件与数值输入或旋钮连在一起,使它们的数据同步。
根据用户所选择的波形参数(频率、幅值、相位、偏移量、占空比)输出相应的波形。
频率、幅值、相位这三项参数用户可手动输入准确数值;偏移量这项参数用户可利用旋钮来调节,具体数值均可通过数值显示控件来查看。
重置信号为一垂直摇杆开关,用户可在需要时使用。
5.3 输入频率判断利用字符串显示控件提示用户所选波形的正常输出频率的范围。
利用条件结构对输入的频率进行判断,当频率过低时执行提示程序:“频率过低,失真,请重新输入”;圆形指示灯亮。
当频率过高时执行提示程序:“频率过高,失真,请重新输入”;圆形指示灯亮。
当频率适当时执行提示程序:“正确输出”;圆形指示灯灭。
5.3.1 控件1、字符串常量频率过低,失真,请重新输入正确输入频率过高,失真,请重新输入2、真常量3、假常量4、正常频率提示5、提示6、指示灯5.3.2 程序1、正弦波正弦波输入频率过低文字频率提示为:“正弦波频率范围10-90HZ”。
当输入频率过低时执行提示程序:显示“频率过低,失真,请重新输入”。
圆形指示灯亮。
正弦波输入频率适当文字频率提示为:“正弦波频率范围10-90HZ”。
当输入频率适当时执行提示程序:显示:“正确输出”。
圆形指示灯灭。
正弦波输入频率过高文字频率提示为:“正弦波频率范围10-90HZ”。
当输入频率过高时执行提示程序:显示:“频率过高,失真,请重新输入”。
圆形指示灯亮。
2、方波方波输入频率过低文字频率提示为:“方波频率范围200-280HZ”。
当输入频率过低时执行提示程序:显示“频率过低,失真,请重新输入”。
圆形指示灯亮。
方波输入频率适当文字频率提示为:“方波频率范围200-280HZ”。
当输入频率适当时执行提示程序:显示:“正确输出”。
圆形指示灯灭。
方波输入频率过高文字频率提示为:“方波频率范围200-280HZ”。
当输入频率过高时执行提示程序:显示:“频率过高,失真,请重新输入”。
圆形指示灯亮。
3、三角波三角波输入频率过低文字频率提示为:“三角波频率范围20-90HZ”。
当输入频率过低时执行提示程序:显示“频率过低,失真,请重新输入”。
圆形指示灯亮。
三角波输入频率适当文字频率提示为:“三角波频率范围20-90HZ”。
当输入频率适当时执行提示程序:显示:“正确输出”。
圆形指示灯灭。
三角波输入频率过高文字频率提示为:“三角波频率范围20-90HZ”。
当输入频率过高时执行提示程序:显示:“频率过高,失真,请重新输入”。
圆形指示灯亮。
4、锯齿波锯齿波输入频率过低文字频率提示为:“锯齿波频率范围40-170HZ”。
当输入频率过低时执行提示程序:显示“频率过低,失真,请重新输入”。
圆形指示灯亮。
锯齿波输入频率适当文字频率提示为:“锯齿波频率范围40-170HZ”。
当输入频率适当时执行提示程序:显示:“正确输出”。
圆形指示灯灭。
锯齿波输入频率过高文字频率提示为:“锯齿波频率范围40-170HZ”。
当输入频率过高时执行提示程序:显示:“频率过高,失真,请重新输入”。
圆形指示灯亮。
5.4 建立DAQ助手5.4.1 控件根据用户所选的波形及参数,将用户所需的波形输出,并在示波器上显示。
5.4.2 程序1、在函数选板上,依次选择测量I/O→DAQmx-数据采集→DAQ助手。
2、在【生成信号】中选择【模拟输出】的【电压输出】3、选择通道【ao0】。
4、直接点击【确定】。
六工作过程分析点击运行按钮,若开关不按下,则不会产生任何波形;当开关按下时,将根据用户波形及参数的选择产生用户所需要的波形。
6.1 正弦波工作过程分析波形选择为“正弦波”、频率输入为“50”、幅值输入为“2”、相位输入为“0”偏移量输入为“0”、占空比输入量为“0”。