本科毕业设计说明书(论文)第 7 页 共 25 页
3 系统各模块的设计
3.1 三种信号的生成模块
三种信号分别是等速信号、阶跃信号和正弦信号。在生成三种波形的程序框图中,用到了正弦波信号生成控件,锯齿波信号生成控件以及方波信号生成控件。再利用一个case结构和while循环就能把三种信号的波形生成能在一个程序框图中完成。
最基本的选择结构由选择框架、选择端口、选择器标签,以及递增递减按钮组成,在选择结构中,选择端口相当于C语言Switch语句中的“表达式”,编程时,将外部控制条件连接至选择端口上,程序运行时选择端口会判断送来的控制条件,引导选择结构执行相应框架中的内容。值得注意的是,在使用选择结构时,控制条件的数据类型必须与选择器标签中的数据类型一致。两者若不匹配,LabVIEW会报错,同时,选择器中的字体颜色会变红色[10]。
最基本的While循环由循环框架,重复端口,以及条件端口组成。与for循环类似,while循环执行的是包含在循环框架中的程序,但执行的循环次数却不固定,只有当满足给定的条件时,才停止循环的执行[11]。
正弦信号生成的程序框图如图3.1所示,
图3.1 正弦信号的生成程序框图
本科毕业设计说明书(论文)第 8 页 共 25 页
正弦信号生成的前面板如图3.2所示,
图3.2 正弦信号生成前面板
正弦信号的程序框图和前面板的设计的具体分析如下,首先进入LabVIEW程序点击新建VI,然后就会自动显示出一对窗口,即前面板和程序框图窗口。进入程序框图界面,右键鼠标就会出现一个窗口,选择“编程”,再选择“结构”里面的“while循环”,然后点击程序框图就会出现一个while循环的控件,然后也是同样的步骤,在“结构”里找到“事件结构”,在程序框图中就会出现一个“事件结构”控件。接下来右击鼠标在窗口找到“信号处理 ”,再选择“信号生成”里面的“正弦波”控件,再把它放入到程序框图中。然后在前面板中也是右键找到“图形显示控件”中的“波形图”,再在前面板中点出六个“数据输入”控件,分别是“采样数”、“幅值”、“采样频率”、“信号频率”、“相位”和“占空比”,这几个控件是用来输入数据的,然后右击选择“经典下拉列表及枚举”中的“下拉列表”控件,这个控件将会用来选择三种信号。右击找到“按钮与开关”并选择“垂直摇杆开关”和“停止按钮”。
接着在程序框图中将“正弦波”控件放到“事件结构”中,“事件结构”又在“while循环”中,将六个数值输入控件放在两者之间,“停止按钮”与“while循环”的循环条件相连接。再将正弦波的输入端的“采样”端口与相应的“采样数”相连接,“幅值”、“相位”、“占空比”都是一样的对应的相连,但“频率”
本科毕业设计说明书(论文)第 9 页 共 25 页
输入端应该与“采样频率”同“信号频率”相除后的结果相连,相应的将会用到“除”控件,右击鼠标“编程”中的“数值”,再在其中找到“除”控件。“除”控件的输入端上下端口分别与“采样频率”和“信号频率”相连,输出端与“正弦波”控件的“频率输入端”相连。正弦波的“重置相位”与“垂直遥感开关相连”,事件结构的左端的“分支选择器”与“下拉列表”控件相连接,波形输出端与波形图相连接,波形图在“while循环”之内“事件结构”之外。在程序框图中可以再加一个等待控件,创建常量为10,表示while循环每两次循环之间等待10毫秒,如果没有等待函数,while循环将以最高的频率进行循环,将占用大量系统资源,按照实际需要的情况来设置循环等待时间可以优化程序的运行效率。最后右键单击结构边框,可以增加分值,因为有三种信号选择,增加两次就可以了,在条件选择输入的三种信号的名称,相对应的连接方式。唯一不同的是在方波是占空比要连接,在前面板输入时输入50,即可转换成阶跃信号。 等速信号生成的程序框图如图3.3所示,
图3.3 等速信号生成程序框图
等速信号生成的前面板如图3.4所示,
本科毕业设计说明书(论文)第 10 页 共 25 页
图3.4 等速信号生成前面板
阶跃信号生成的程序框图如图3.5所示,
图3.5 阶跃信号生成程序框图
阶跃信号生成的前面板如图3.6所示,
本科毕业设计说明书(论文)第 11 页 共 25 页
图3.6 阶跃信号生成前面板
3.2 三种信号的数据保存
三种信号生成以后需要数据保存,保存到文本文档,与后面将会保存的加上白噪以后的数据生成波形后,在同一张图上分析两者的误差,所以这一步也是整个流程中必不可少的。其保存的方法是有许多种的,我这里选取一种比较简单的方法。
只要在前面信号生成的程序框图中加入一个“数组至电子表格字符串转换”控件和“写入文本文件”的控件即可。其中“数组至电子表格字符串转换的”控件的“格式字符串”接口连接一个格式“%f”。“%f”的含义是十进制的浮点数[12]。“数组至电子表格字符串转换”控件通过右击鼠标“编程”,在“数组”中找到,“数组至电子表格字符串转换”控件的“数组”输入端与波形输出端相连,“数组至电子表格字符串转换”控件的“电子表格输出端”与“写入文本文件”的控件相连接。为了使整个程序框图更加简洁,可以选择输入控件右击“显示为图标”。数据保存的如图3.7所示。