欢迎来到天天文库
浏览记录
ID:53451822
大小:349.95 KB
页数:6页
时间:2020-04-03
《实验-3-无限冲激响应滤波器(IIR)算法实验.docx》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验3:无限冲激响应滤波器(IIR)算法实验一、实验目的1.熟悉IIR数字滤波器特性;2.掌握IIR数字滤波器的设计过程;3.掌握IIR数字滤波器性能测试方法。二、实验设备1.PC兼容机2.WIN7操作系统3.CodeComposerStudiov5三、实验内容1.掌握IIR数字滤波器的基础理论;2.基于MATLAB的IIR数字滤波器参数确定方法;3.采用C语言编程实现低通IIR滤波器;4.掌握基于CCS的波形观察方法;观察滤波前后的波形变化。四.实验原理分析要求:使用低通巴特沃斯滤波器,设计通带截止频
2、率fp为1kHz、增益为-3dB,阻带截止频率fst为12kHz、衰减为30dB,采样频率fs为25kHz。设计:通带截止频率为:fp=1000Hz,fst=12000Hz(一)、滤波器参数计算l模拟预畸变通带截止频率为:wp=2fstan(2πfp/(2fs))=6316.5弧度/秒l模拟预畸变阻带截止频率为:wst=2fstan(2πfst/(2fs))=794727.2弧度/秒由式(7.5.24)lN=0.714,则:一阶巴特沃斯滤波器就足以满足要求。一阶模拟巴特沃斯滤波器的传输函数为:H(s)=
3、wp/(s+wp)=6316.5/(s+6316.5)由双线性变换定义s=2fs(z-1)/(z+1)得到数字滤波器的传输函数为:因此,差分方程为:y[n]=0.7757y[n-1]+0.1122x[n]+0.1122x[n-1]。(二)、基于MATLAB的滤波器参数求解6(1)IIR数字滤波器阶次的选择的MATLAB函数[N,wc]=buttord(wp,wst,Rp,As);[N,wc]=cheb1ord(wp,wst,Rp,As);[N,wc]=cheb2ord(wp,wst,Rp,As);[N,
4、wc]=ellipord(wp,wst,Rp,As);对低通滤波器,必须有wpwst对带通滤波器,必须有ws15、图五.实验步骤1.打开CCS,进入CCS的操作环境。2.打开工程,浏览程序:工程目录为C:ICETEKICETEK-DM6437-ALab0402_IIR3.点击图标,CCS会自动编译、链接和下载程序。4.运行程序。可以观察收到的数据。*选择菜单Tools->Graph->DualTime,进行如下设置:6DualTime参数设置*选择菜单Tools->Graph->FFTMagnitude,新建2个观察窗口,分别进行如下设置:5.设置断点:在有注释“breakpoint”的语句设置软件断点。使用6、菜单的View->Breakpoints,打开断点观察窗口,在刚才设置的断点上右键->Breadkpointproperties调出断点的属性设置界面,设置Action为RefreshAllwindows。则程序每次运行到断点,所有的观察窗口值都会被刷新。其中,输入波形:一个低频正弦波与一个高频正弦波的叠加;输出波形:经过低通滤波后的低频正弦波。6.运行并观察结果:⑴F8键运行程序。⑵观察“IIR”窗口中时域图形;观察滤波效果。7.退出CCS六.实验结果输入波形为一个低频率的正弦波与一个高频的余弦波叠加7、而成。如图:6通过观察频域和时域图,得知:输入波形中的低频波形通过了滤波器,而高频部分则被衰减。六.问题与思考基本任务:1.试微调(±0.0001)改变程序中fU的取值,观察步长因子μ在自适应算法中所起的作用。2.确定程序中的信号频率,试选用设计不同的信号、噪声组合,基于MATLAB设计不同的类型的滤波器,并基于CCS实现,并观察实验的结果。3.分析实验程序,细化算法流程图。4.结合CCS的使用,分析实验结果提高任务:5.尝试使用信号源生成组合信号,经过A/D采样后,送IIR滤波器实现。6源代码:#in8、clude"math.h"#defineIIRNUMBER2/*典范性的滤波器阶数*/#defineSIGNAL1F1000/*正弦信号频率,代码中没有使用*/#defineSIGNAL2F4500/*正弦信号频率,代码中没有使用*/#defineSAMPLEF10000/*采样频率,代码中没有使用*/#definePI3.1415926floatInputWave();/*输入给IIR滤波器的信号,每次输出一个点*/floatIIR();
5、图五.实验步骤1.打开CCS,进入CCS的操作环境。2.打开工程,浏览程序:工程目录为C:ICETEKICETEK-DM6437-ALab0402_IIR3.点击图标,CCS会自动编译、链接和下载程序。4.运行程序。可以观察收到的数据。*选择菜单Tools->Graph->DualTime,进行如下设置:6DualTime参数设置*选择菜单Tools->Graph->FFTMagnitude,新建2个观察窗口,分别进行如下设置:5.设置断点:在有注释“breakpoint”的语句设置软件断点。使用
6、菜单的View->Breakpoints,打开断点观察窗口,在刚才设置的断点上右键->Breadkpointproperties调出断点的属性设置界面,设置Action为RefreshAllwindows。则程序每次运行到断点,所有的观察窗口值都会被刷新。其中,输入波形:一个低频正弦波与一个高频正弦波的叠加;输出波形:经过低通滤波后的低频正弦波。6.运行并观察结果:⑴F8键运行程序。⑵观察“IIR”窗口中时域图形;观察滤波效果。7.退出CCS六.实验结果输入波形为一个低频率的正弦波与一个高频的余弦波叠加
7、而成。如图:6通过观察频域和时域图,得知:输入波形中的低频波形通过了滤波器,而高频部分则被衰减。六.问题与思考基本任务:1.试微调(±0.0001)改变程序中fU的取值,观察步长因子μ在自适应算法中所起的作用。2.确定程序中的信号频率,试选用设计不同的信号、噪声组合,基于MATLAB设计不同的类型的滤波器,并基于CCS实现,并观察实验的结果。3.分析实验程序,细化算法流程图。4.结合CCS的使用,分析实验结果提高任务:5.尝试使用信号源生成组合信号,经过A/D采样后,送IIR滤波器实现。6源代码:#in
8、clude"math.h"#defineIIRNUMBER2/*典范性的滤波器阶数*/#defineSIGNAL1F1000/*正弦信号频率,代码中没有使用*/#defineSIGNAL2F4500/*正弦信号频率,代码中没有使用*/#defineSAMPLEF10000/*采样频率,代码中没有使用*/#definePI3.1415926floatInputWave();/*输入给IIR滤波器的信号,每次输出一个点*/floatIIR();
此文档下载收益归作者所有