实验-3-无限冲激响应滤波器(IIR)算法实验_第1页
实验-3-无限冲激响应滤波器(IIR)算法实验_第2页
实验-3-无限冲激响应滤波器(IIR)算法实验_第3页
实验-3-无限冲激响应滤波器(IIR)算法实验_第4页
实验-3-无限冲激响应滤波器(IIR)算法实验_第5页
已阅读5页,还剩1页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、实验 3 : 无限冲激响应滤波器(IIR)算法实验一、实验目的1. 熟悉IIR 数字滤波器特性;2.掌握IIR数字滤波器的设计过程;3.掌握 IIR 数字滤波器性能测试方法。二、实验设备1.PC 兼容机2.WIN7 操作系统3.Code Composer Studio v5 三、实验内容1.掌握IIR数字滤波器的基础理论;2.基于MATLAB的IIR数字滤波器参数确定方法; 3.采用C语言编程实现低通 IIR 滤波器;4.掌握基于CCS的波形观察方法;观察滤波前后的波形变化。四实验原理分析要求:使用低通巴特沃斯滤波器,设计通带截止频率fp为1kHz、增益为-3dB,阻带截止频率fst为12kH

2、z、衰减为30dB,采样频率fs为25kHz。设计:通带截止频率为: fp = 1000Hz, fst = 12000Hz(一)、滤波器参数计算l 模拟预畸变通带截止频率为: wp = 2fstan(2fp/(2fs) = 6316.5 弧度/秒l 模拟预畸变阻带截止频率为:wst = 2fstan(2fst/(2fs) = .2 弧度/秒由式(7.5.24)l N = 0.714,则:一阶巴特沃斯滤波器就足以满足要求。一阶模拟巴特沃斯滤波器的传输函数为: H(s)=wp/(s+wp)=6316.5/(s+6316.5)由双线性变换定义 s=2fs(z-1)/(z+1)得到数字滤波器的传输函数

3、为:因此,差分方程为: yn=0.7757yn-1+0.1122xn+0.1122xn-1。(二)、基于MATLAB的滤波器参数求解(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,wc = ellipord(wp,wst,Rp,As);对低通滤波器,必须有wp wst对带通滤波器,必须有 ws1 wp1 wp2 ws2对带阻滤波器,必须有 wp1 ws1 ws2 Graph-Dual Time,进行如下设置: D

4、ual Time 参数设置*选择菜单 Tools-Graph-FFT Magnitude, 新建 2 个观察窗口,分别进行如下设置:5.设置断点:在有注释“break point”的语句设置软件断点。使用菜单的 View-Break points,打开断点观察窗口,在刚才设置的断点上右键-Breadk point properties 调出断点的属性设置界面,设置 Action 为 Refresh All windows。则程序每次运行到断点,所有的观察窗口值都会被刷新。其中,输入波形:一个低频正弦波与一个高频正弦波的叠加;输出波形:经过低通滤波后的低频正弦波。6运行并观察结果: F8 键运行

5、程序。 观察“IIR”窗口中时域图形;观察滤波效果。7退出 CCS六.实验结果输入波形为一个低频率的正弦波与一个高频的余弦波叠加而成。如图:通过观察频域和时域图,得知:输入波形中的低频波形通过了滤波器,而高频部分则被衰减。六问题与思考基本任务:1.试微调(0.0001)改变程序中 fU 的取值,观察步长因子在自适应算法中所起的作用。2.确定程序中的信号频率,试选用设计不同的信号、噪声组合,基于MATLAB设计不同的类型的滤波器,并基于CCS实现,并观察实验的结果。3.分析实验程序,细化算法流程图。4.结合CCS的使用,分析实验结果提高任务:5.尝试使用信号源生成组合信号,经过A/D采样后,送I

6、IR滤波器实现。源代码:#includemath.h#define IIRNUMBER 2 /*典范性的滤波器阶数*/#define SIGNAL1F 1000 /*正弦信号频率,代码中没有使用*/#define SIGNAL2F 4500 /*正弦信号频率,代码中没有使用*/#define SAMPLEF 10000/*采样频率,代码中没有使用*/#define PI 3.float InputWave();/*输入给IIR滤波器的信号,每次输出一个点*/float IIR();/*IIR滤波,每次输出一个点*/*滤波器的设计采用了案例的结果,应该重新设计*/float fBnIIRNUMB

7、ER= 0.0,0.7757 ; /*IIR滤波器的分子多项式系数,有错*/float fAnIIRNUMBER= 0.1122,0.1122 ;/*IIR滤波器的分母多项式系数*/float fXnIIRNUMBER= 0.0 ;/*IIR滤波器的迭代初始值*/float fYnIIRNUMBER= 0.0 ; /*IIR滤波器的输出值*/float fInput,fOutput;/*输入点和输出点*/float fSignal1,fSignal2;/*信号1、2的初始相位*/float fStepSignal1,fStepSignal2;/*信号1、2的相位步长*/float f2PI;i

8、nt i;float fIn256,fOut256;int nIn,nOut;main()nIn=0; nOut=0;f2PI=2*PI;fSignal1=0.0;fSignal2=PI*0.1;/fStepSignal1=2*PI/30;/fStepSignal2=2*PI*1.4;fStepSignal1=2*PI/50; /*信号1的相位步长:f1/fs = 1/50*/fStepSignal2=2*PI/2.5; /*信号2的相位步长:f1/fs = 1/2.5*/while ( 1 )fInput=InputWave();fInnIn=fInput;nIn+; nIn%=256;fO

9、utput=IIR();fOutnOut=fOutput;nOut+;/* 请在此句上设置软件断点 */if ( nOut=256 )nOut=0;float InputWave()for ( i=IIRNUMBER-1;i0;i- )fXni=fXni-1;fYni=fYni-1;fXn0=sin(fSignal1)+cos(fSignal2)/6.0;fYn0=0.0;fSignal1+=fStepSignal1; if ( fSignal1=f2PI )fSignal1-=f2PI;fSignal2+=fStepSignal2;if ( fSignal2=f2PI )fSignal2-=f2PI;return(fXn0)

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论