基于LabVIEW的函数信号发生器的设计文档

[复制链接]
查看1 | 回复0 | 2020-6-10 17:59:19 | 显示全部楼层 |阅读模式
能够熟悉利用Labview软件,并用此软件编写程序框图和构造前面板。使设计的面板更直观,漂亮。达到虚拟仪器的功能。1.2.2基本要求设计基于Labview 的函数信号发生器。
      (1)了解函数信号产生方法。
      (2)输出一路占空比可调的方波信号,一路函数信号(输出信号类型可选择)。
1.2.3发挥部分
(1)产生的正弦波、三角波、锯齿波能够调节频率、幅值、相位;方波能够调节占空比。
(2)在调节的基础上能够将频率、幅值和相位的值显示出来。



                      2 设计思路
理解题目以后,我们又回去查阅了很多相关资料。最后确定了设计的总体思路。用Labview软件设计的过程是先进行程序框图的设计,然后再设计前面板。首先是确定我们需要的函数信号发生器一共可以产生哪些波形,然后是各个波形怎样实现和相互切换。最后是怎样来控制波形的产生。
从一些资料中受到启发,我们需要解决的一共就只有四个大问题:
<波形选择>:与我们常用的函数信号发生器相联系,根据仪器的功能,可以产生多种波形;但是我们需要的是一种波形,所以必须做好信号相互切换的功能。因此用case条件结构是最好的选择。我可以在case结构中添加多个条件分支,并用特定的数据类型表示不同的波形。在case结构中的条件选择端口加一个【文本下拉列表】,输入各个可以产生的波形(必须与条件分支中的标签一一对应),这样就可以实现波形的选择了。
<信号产生>:产生各个波形的方法有很多。比如用公式编写、有仿真信号生成、还有函数生成。但是最简单的是用【函数选板】中的【信号处理】的子选板中的【波形生成】中的【正弦波形】、【方波】、【三角波】、【锯齿波】。但是这些控件必须自己输入各种参数值。
<波形控制>:一个理想的函数信号发生器必须有一个开关,如我们所用到的函数信号发生器一样。在不需要发生器的时候就利用【开关】来控制信号的产生与否。因此,只需要在case条件结构的外面再加一个while循环结构就可以了。
<参数显示>:产生的波形的各个参数是否满足我们的要求,如果没有显示这些参数的话,我们是不能知道的。所以只需在程序框图中加一个显示控件或局部变量都可以。
以上就是整个虚拟函数发生器的设计思路。

                  3 主程序流程图
85.001.jpg
4 各部分程序框图及前面板的设计4.1 正弦波信号的产生及参数的设计
产生波形的方法有很多,可以用【仿真信号】、【信号生成】等。我选择的是【波形生成】,即正弦波形( 85.002.jpg ),它一共有四个参数:频率、幅值、相位、直流偏移量。只要我把四个参数都设置为变量,就能实现各个参数的调节,进而产生能满足不同要求的波形。达到一个虚拟仪器的功能。
这只实现了一种波形,还有其它波形。所以就涉及到了波形的选择。因此,我用了case条件结构。充分利用它的功能,我改变【选择器标签】中的数据类型,并添加所需要的条件分支。每一个分支就对应一个波形。并根据这个波形的特点,选择不同的参数。同样,【分支选择器】的数据类型必须与【选择器标签】中的数据类型一致。这样就可以实现正弦波。为了使我们所得到的波形的参数更加准确,可以再添加一个显示控件;这样,调节参数的同时,也可以观测它的值,看是否达到要求。
正弦波的设计原理图如下所示:

85.003.jpg
图4.1.1  正弦信号程序框图
当然,“频率”是有单位的。所以,我用了一个字符串函数:【格式化写入字符串】,根据要求加入了单位:“Hz”。
4.2方波信号的产生及参数的设计
接下来,我设计的波形是方波。选择【波形生成】中的方波波形( 85.004.jpg ),它一共有五个参数:频率、幅值、相位、直流偏移量、占空比。其中,占空比尤其重要,不仅要能调节,而且要准确的显示它的数值。同样,把其它四个参数都设置为变量,就能实现各个参数的调节,进而能满足我们的需要。
涉及到的波形切换,用case条件结构,充分利用它的功能,【分支选择器】的数据类型必须与【选择器标签】中的数据类型一致。这样既可以实现正弦波,也可以切换到其它的波形。再添加一个显示控件,调节参数的同时,也可以观测它的值。
方波的设计原理图如下所示:

85.005.jpg
图4.2.1  方波信号程序框图
     “频率”的单位处理方法与正弦波的方法一样即可。用一个字符串函数:【格式化写入字符串】,根据图标的提示和要求加入了单位:“Hz”。
4.3锯齿波信号的产生及参数的设计
与上面的方法一样,选择【波形生成】中的锯齿波形( 85.006.jpg ),一共有四个参数:频率、幅值、相位、直流偏移量。把四个参数都设置为变量,就能实现各个参数的调节。
再用一个case条件结构,让各参数值通过条件结构的通道,并充分利用它的结构特点,每一个分支就对应一个波形。并根据这个波形的特点,选择不同的参数。同样,【分支选择器】的数据类型必须与【选择器标签】中的数据类型一致。这样就可以实现锯齿波。为了使我们所得到的波形的参数更加准确,可以再添加一个显示控件;这样,调节参数的同时,也可以观测它的值。
    锯齿波的设计原理图如下所示:


85.007.jpg
图4.3.1  锯齿波信号程序框图
“频率”的单位处理方法与其它波形的方法一样。用一个字符串函数:【格式化写入字符串】,根据图标的提示和要求加入了单位:“Hz”。
4.4三角波信号的产生及参数的设计
选择的是【波形生成】,即三角波形( 85.008.jpg ),它一共有四个参数:频率、幅值、相位、直流偏移量。同时,把四个参数都设置为变量,就能实现各个参数的调节。
还有其它波形,切换的方法前面已经提到过。因此,用case条件结构,充分利用它的功能,改变【选择器标签】中的数据类型,并添加所需要的条件分支。每一个分支就对应一个波形。【分支选择器】的数据类型必须与【选择器标签】中的数据类型一致。为了使我们所得到的波形的参数更加准确,可以再添加一个显示控件;这样,调节参数的同时,也可以观测它的值。
    三角波的设计原理图如下所示:
85.009.jpg
图4.4.1  三角波信号程序框图
“频率”的单位处理方法与其它波形的方法一样。用一个字符串函数:【格式化写入字符串】,根据图标的提示和要求加入了单位:“Hz”。
4.5波形控制的设计
    根据实际,当我们在使用完信号发生器以后,必须把它关掉。所以,我们设计的信号发生器如果没有开关的话,就不符合要求。解决这个问题很简单,在总的框图外面加一个while循环结构,【循环条件】处连接一个【开关】控件,并且选择【真时继续】。
    设计如下图所示:
85.010.jpg
图4.5.1  信号控制程序框图
4.6前面板的设计
无论什么仪器设备,我们首先看到的就是它的前面板,通过前面板可以直观的看出仪器的功能及其特点。所以前面板的设计相当重要。我们应当秉持着美观、直接、特色、规范的原则设计前面板。就如人的脸面一样,第一印象特别重要。
下面是我设计的前面板,如图所示:

85.011.jpg
图4.6.1  前面板的设计图







5 多功能信号发生器工作过程分析5.1正弦波的工作过程及波形验证
一切准备就绪以后,点【连续运行】,此时【开关】为“开”的状态,否则没有任何波形的输出。程序正常运行后,转动“频率”、“幅值”等参数的旋钮,此时会发现显示的波形也随着改变。
验证波形图如下所示:

85.012.jpg
图5.1.1  正弦波的工作过程及验证
5.2方波的工作过程及波形验证
准备就绪以后,点【连续运行】,此时【开关】为“开”的状态,否则没有任何波形的输出。程序正常运行后,转动“频率”、“幅值”等参数的旋钮,此时会发现显示的波形也随着改变。

完整详细文档: 基于labview的函数信号发生器的设计.doc (719.5 KB, 售价: 1 工控币)
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则