学院:**********班级:**********姓名:******学号:**********实验二数字滤波实验项目名称:数字滤波实验项目性质:普通所属课程名称:计算机控制技术实验计划学时:2学时一、实验目的1.通过实验熟悉数字滤波器的实现方法;2.研究滤波器参数的变化对滤波性能的影响。二、实验内容和要求1.设计一个带尖脉冲(频率可变)干扰信号和正弦信号输入的模拟加法电路;2.设计并调试一阶数字滤波器;3.设计并调试高阶数字滤波器。4、实验原理1)在许多信息处理过程中,如对信号的滤波,检测,预测等都要广泛地用到滤波器。数字滤波器是数字信号处理中广泛使用的一种线性环节,它从本质上说是将一组输入的数字序列通过一定规则的运算后转变为另一组希望输出的数字序列。一般可以用两种方法来实现:一种是用数字硬件来实现;另一种是用计算机的软件编程来实现。一个数字滤波器,它所表达的运算可用差分方程来表示:NiiNiiinybinxany00)()()(2)一阶数字滤波器及其数字化一阶数字滤波器的传递函数为11)()()(ssXsYsGF(τ=RC)利用一阶差分法离散化,可以得到一阶数字滤波器的算法:)1()1()()(kyTkxTkySS其中TS为采样周期,为滤波器的时间常数。TS和应根据信号的频谱来选择。3.高阶数字滤波器高阶数字滤波器算法很多,这里只给出一种加权平均算法:)3()2()1()()(4321KxAKxAKxAKxAKy其中权系数iA满足:411iiA。同样,iA也根据信号的频谱来选择。三、实验主要仪器设备和材料1.THTJ-1型计算机控制技术实验箱2.THVLW-1型USB数据采集卡一块(含37芯通信线、USB电缆线各1根)3.PC机1台(含上位机软件“THTJ-1”)四、实验方法、步骤及结果测试1、实验接线及准备1.1启动计算机,在桌面双击图标THTJ-1,运行实验软件;1.2打开实验箱“电源总开关”,按图1接线,先将“信号发生器”单元输出端连接到采集卡的“AD1”通道,并选择方波输出。在虚拟示波器观测方波信号的频率和幅值,然后调节信号发生器中的“频率调节”和“幅度调节”电位器,使方波信号的频率和幅值分别为4Hz,2V。然后断开与采集卡的连接,将“信号发生器”单元输出端连接到“尖脉冲单元”单元输入端,产生一个尖脉冲信号Uo;1.3按图2连接电路,其中正弦信号来自数据采集卡的“DA1”输出端,尖脉冲信号来自“尖脉冲单元”单元输出端。图2的输出端与数据采集卡的“AD1”输入端相连,同时将数据采集卡的“DA2”输出端与“AD2”输入端相连;2、脚本程序运行2.1点击软件工具栏上的“”按钮(脚本编程器),打开脚本编辑器窗口;2.2在脚本编辑器窗口的文件菜单下点击“打开”按钮,并在“计算机控制算法VBS\计算机控制技术基础算法”文件夹下选中“数字滤波”脚本程序并打开,阅读、理解该程序,然后点击脚本编辑器窗口的调试菜单下“步长设置”,将脚本算法的运行步长设为10ms;2.3点击脚本编辑器窗口的调试菜单下“启动”,用双踪示波器分别观察图2的输出端和数据采集卡输出端“DA2”的波形。调节信号发生器中的“频率调节”电位器,改变方波信号的频率(即尖脉冲干扰信号的频率)。观察数据滤波器的滤波效果;2.4点击脚本编辑器的调试菜单下“停止”,修改算法程序中的参数Ts(注:修改Ts时要同步修改算法的运行步长)、Ti两个参数,然后再运行该程序,在示波器上再次观察参数变化对滤波效果的影响;2.5对于高阶数字滤波器的算法编程实验,请参考本实验步骤2.2、2.3和2.4。不同的是打开的脚本程序文件名为“数字滤波(高阶)”,实验时程序可修改的参数为a1、a2、a3和采样时间Ts。2.6实验结束后,关闭脚本编辑器窗口,退出实验软件。五、实验报告要求1.画出尖脉冲干扰信号的产生电路图。图一把图1产生的尖脉冲信号视为干扰信号,幅值=2V,频率=4HZ与一低频正弦信号,幅值=4V,频率=8HZ,此信号由上位机的“脚本编辑器”编程输出(DA1),输入到图2所示的两个输入端。(输入信号:4Hz,2V的方波信号输入,产生尖脉冲干扰信号。上位机的“脚本编辑器”编程从DA1输出4V,8Hz的正弦信号;)图2测试信号的产生电路图2.一阶数字滤波器的脚本程序。dimpv,op1,op2,Ts,t,opx,x,Ti‘变量定义subInitialize(arg)‘初始化函数WriteData0,1'给通道一写0opx=0'赋初值endsub'结束初始化子函数subTakeOneStep(arg)‘算法运行函数pv=ReadData(1)'pv为当前测量值op1=2*sin(x)‘产生一正弦信号x=x+0.05Ti=0.02'Ti为惯性数字滤波器的时间常数Ts=0.01‘采样时间10msop2=Ts/Ti*pv+(1-Ts/Ti)*opx'op1为滤波后的输出,算法为Yk=(1-a)Xk+aYk-1opx=op2'赋值,为下一时刻做准备ifop2=4.9then'输出值限幅,op2上限为4.9op2=4.9endififop2=-4.9then'op2下限为-4.9op2=-4.9endifWriteDataop1,1'通道1写入op1的值WriteDataop2,2'通道2写入op2的值endsub'结束算法运行子函数subFinalize(arg)‘退出函数WriteData0,1'给通道一写0WriteData0,2'给通道二写0endsub'结束退出子函数3.绘制加数字滤波器前、后的输出波形,并分析程序中参数的变化对其滤波效果的影响。六、思考题1、一阶数字滤波器的截止频率fc如何选取?对一阶系统时间常数有什么影响?答:cf=RC21时间常数τ=RC可以看出cf越小时间常数τ越大。时间常数越小,其滤波特性越好。2、采样周期TS对一阶滤波效果有何影响?答:采样频率f=sT1,如果Ts太大,f就会变小,如果f小于信号的最大频率两倍,就会出现频率混迭。3、滤波器的时间常数Ti对一阶滤波效果有什么影响?答:时间常数越大,电路达到稳态的时间越长,过渡过程也越长。4、采样频率对滤波效果有什么影响?答:采样频率必须至少是滤波信号中最大频率分量频率的两倍,否则就不能从信号采样中恢复原始信号。5、尖脉冲输入信号对滤波效果有什么影响?答:在实验中,我尝试直接加方波,没加尖脉冲输入信号,发现原信号出现很圆滑的正弦波,滤波结果没什么区别;如果加入尖脉冲输入信号就出现很多干扰信号,滤波效果明显。