【设计思路】
本 VI 是模拟 Butterworth 低通滤波器,将正弦信号和均匀白噪声叠加信号,然后进行滤
波,得到有用的正弦信号。
【设计原理】
本 VI 中先输入正弦信号,幅值是 1V,均匀白噪声采样频率与正弦波的采样频率一样,
幅值是 100,并让其先通过一个高通滤波器,高通滤波器的作用是滤除白噪声的带外杂
波,以便于在后续程序中低通滤波器可以输出正弦波。#sample 采样频率,为了便于观
察处理,用 FFT 快速傅里叶变换将时域信号变换到频域上,然后进行了滤波前后的幅
频对比,同时还有未变换前的滤波前后信号的对比图形。前面板和程序框图分别如下
所示:
【操作步骤】
1、首先在程序框图上放置一个 while 循环。
2、在 while 里放置放置一个正弦信号,一个均匀白噪声,两个 FFT,两个 Butterworth 滤
波器,两个复数至极坐标的变换的图标,四个捆绑和一个等待时间的图标,同时放入
两个数组,一个倒数,在放置倒数的同时放置四个除法运算,一个乘法运算和一个加
法运算,这些可以在程序框图上右击鼠标右键,在搜索中输入找到并拖拽到程序框图
上。
3、在程序框图中放置数值常量,将其标签改为 Fs,右击鼠标单击“转换为显示控件”,
再右击鼠标将表示法变为 DBL 格式,第三次右击鼠标,单击“转换为输入控件”。同理
放置标签为#Sample、Sine Frequency(Hz)、error 的数值常量,其他设置同 Fs,但要将
它们的表示法改为 I32,error 控件不用“转换为输入控件”。
4、在前面板上搜索“滑动杆”,选择“垂直填充滑动杆”,放置两个,将其中一个的标
签改为“截止波数”,另一个的标签改为“滤波器阶数”。在程序框图上右击,然后单
击“显示为图标”。
5、在前面板上放置布尔“确定按钮”,改变标签和文本内容为“停止”,文本颜色为红
色,然后在程序框图上右键单击“显示为图标”,同时将其连线到 while 循环的停止端。
6、放置两个局部变量,一个为 Fs 一个为#Sample,右键单击“转换为读取”;一个枚举
常量,编辑项为 Highpass,Lowpass,Bandpass,Bandstop 表示方法为 U32
7、至此所有的图标控件已全部放置完毕,可以开始连线。(连线时注意找好均匀白噪
声,正弦信号,FFT 和 Butterworth 滤波器图标的接线端数值常量可以右键单击创建常
量即可)同时设置等待时间为 50。
8、在前面板上放置四个波形图,在程序框图上分别右击这四个波形图控件,单击“显
示为图标”,然后将他们分别与四个捆绑控件的输出端连线。
9、在前面板上放置修饰上凸框。
【设计扩展】
①在本 VI 中,要求的是正弦信号,为了应用需要,可以设计一个枚举类型的常量,编
辑项为正弦,方波,三角波等需要的波形和各种噪声叠加,而滤波器也可以根据需要
变为 Chebyshev 滤波器,FIR 滤波器,IIR 滤波器等各种滤波器。
②本 VI 的输出使用波形显示的,比较直观,为了记录的方便也可以将输出变为一个“显
示控件”,其操作是在程序框图上右击“捆绑”,单击“创建显示控件”,即可在前面板
上显示一个簇,此时运行程序,就会在簇控件上实时显示数值;同时为了更加方面的
观察,将波形图和数值两个同时显出,只需放置后图标后右击“添加连线分支”即可。
下图是将波形显示改为数值显示后的程序框图和前面板:在程序框图上由于每一个“捆
绑”控件输入端都有三根线,所以在创建了输出“显示控件”后,系统自动生成一个
集三个不同数据类型的簇。在簇中,从上到下依次对应“捆绑”控件从上到下所连接
数数据类型。运行时相应的数据类型会根据连线自动调整。