


版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、IIR 滤波器的 DSP 实现IIR 滤波器的基本结构IIR 滤波器差分方程的一般表达式为NMy(n) = bix(n - i) - ai y(n - i) i=0 i=1式中x(n)为输入序列 ;y(n)为输出序列 ; ai和bi为滤波器系数 .若所有系数 ai等于 0,则为FIR滤波器 . IIR 滤波器具有无限长的单位脉冲响应 ,在结构上存在反馈回路 ,具有递归性 ,即 IIR 滤波器的输出 不仅与输入有关 ,而且与过去的输出有关 .将上式展开得出 y(n) 表达式为 :y(n) = b0x(n) + b1x(n- 1) + ? + bNx(n- N) - a1y(n- 1) - a2y
2、(n- 2) - ? - aMy(n- M) 在零初始条件下 ,对上式进行 z变换 ,得到:Y(z) = b0X(z) + b1z-1 X(z) + ? + bNz-N X(z) - a1z-1 Y(z) - a2z-2 Y(z) - ? - aMz-M Y(z) 设 N=M ,则传递函数为 :上式可写成 :Y(z) b0 + b1z-1 + ? + bN z-NH(z)= XY(zz) = b10+ab11zz-1 + ? + abNNzz-Nb0zN + b1 zN-1 + ? + bNz - ziH(z) =N -1 = CzN + a1z-1 + ? + aNi=1 z- pi上式具有
3、 N个零点zi和N个极点pi.若有极点位于单位圆外将导致系统不稳定.由于 FIR滤波器所有的系数 ai 均为 0,不存在极点 ,不会造成系数的不稳定 .对于 IIR 滤波器 ,系统稳定的条件如下 :若| pi|1,当 n 时,h(n) ,系统不稳定 .IIR 滤波器具有多种形式 ,主要有 :直接型 (也称直接 I 型)、标准型 (也称直接 II 型)、变换型、 级联 型和并联型 .二阶 IIR 滤波器 ,又称为二阶基本节 ,分为直接型、标准型和变换型 对于一个二阶 IIR 滤波器 ,其输出可以写成 :y(n) = b0x(n) + b1x(n - 1) + b2x(n - 2) - a1y(n
4、- 1) - a2y(n - 2)1.直接型 ( 直接 I 型)根据上式可以得到直接二型 IIR 滤波器的结构图 .如图 1所示 .共使用了 4个延迟单元 (z-1 ).图 1 直接 I 型二阶 IIR 滤波器直接型二阶 IIR 滤波器还可以用图 2 的结构实现前向通道 :,如图 3所示 .IIR 滤波器 .2y(n) = biw(n i=0- i)(1.1)反馈通道 :2w(n) = x(n) - ajw(n- j)(1.2)j=1将 1.2 式代入 1.1 式可得 :22y(n)=bi x(n- i)-ajw(n- i - j)i=0j=1222=bi x(n -i)-bi ajw(n -
5、 i -j)i=0i=0j=1222=bi x(n -i)-aj biw(n - i -j)i=0i=0j=122=bix(n -i)ajy(n- j)i=0j=12.标准型 ( 直接 II 型)从图 2可以看出 ,左右两组延迟单元可以重叠 ,从而得到标准二阶 IIR 滤波器的结构图 由于这种结构所使用的延迟单元最少(只有 2 个),得到了广泛地应用 ,因此称之为标准型IIR 滤波器的设计IIR 滤波器的设计可以利用模拟滤波器原型 将模拟滤波器变换成满足预定指标的数字滤波器,借鉴成熟的模拟滤波器的设计结果进行双线性变换,即根据模拟设计理论设计出满足要求的传递函数H(s),然后将 H(s) 变换
6、成数字滤波器的传递函数 H(z).设计 IIR 滤波器的基础是设计模拟滤波器的原型 ,这些原型滤波器主要有 巴特沃兹 (Butterworth) 滤波器 ,其幅度响应在通带内具有最平特性; 切比雪夫 (Chebyshev) 滤波器 ,在通带内具有等波纹特性 ,且阶数小于巴特沃兹滤波器 . 椭圆 (Elliptic) 滤波器 ,在通带内具有等波纹特性 ,且阶数最小 . 将模拟滤波器转换为数字滤波器常用的方法是双线性变换,其作用是完成从 s平面到 z 平面的一个映射 .其关系为 :s=z=z- 1 z+ 1 1+ s 1- s(2.1)(2.2)双线性变换的基本性质如下 :s平面上的 j 轴映射到
7、 z平面的单位圆上 ; s平面的左半平面映射到 z 平面的单位圆内 s平面的右半平面映射到 z 平面的单位圆外考虑到 s平面上的虚轴映射为 z平面的单位圆 ,令s= j A,它代表一个可变的模拟频率 .其 z平面 上相应的数字频率为 D,即z = ej D T,将以上两式代入 2.1 式得 :j A =ej DTej DT + 1 =j DTe 2 (ej D T/2e-jDT/2j D T j DT e 2 (e 2 + e-jDT/2对上式求解得DTA = arctan 2 (2.3) D之间的映射关系如图 4所示 :模拟频率 A 和相应的数字频率DDD 在 4 2之间 .双线性变换会造成
8、频率失真 ,通常采用预畸变来补偿频率失真 . 双线性变换设计的步骤如下 : 选择一个合适的模拟传递函数 H(s);对截止频率或预定的数字频率 D 进行畸变 ,并根据式 2.3 求得相应的模拟频率 A; 用A对 H(s) 中的频率进行换算 ,即:H(s)|s=s/As 用式 2.1 计算 H(z): H(z) = H( s )| z-1 A s= z-1 z+1三、二阶 IIR 滤波器的 DSP 实现1. 标准型二阶 IIR 滤波器的实现在二阶 IIR 滤波器结构中 ,标准型结构是最常见的滤波器结构,其结构如图 5 所示 :由结构图可以写出反馈通道和前向通道的差分方程 :反馈通道 :w(n) =
9、 x(n)+ a1w(n- 1)+ a2w(n - 2)前向通道 :y(n) = b0w(n) + b1w(n - 1) + b2w(n - 2)由以上两式对二阶 IIR 滤波器进行编程,其中乘法 -累加运算可采用单操作数指令或双操作数指 令,数据和系数可存放在 DARAM 中,如图 6 所示 :图62. 直接型二阶 IIR 滤波器的实现二阶 IIR 滤波器可以用直接型结构来实现 .在迭代运算中 ,先衰减后增益 性要好些 .直接型二阶 IIR 滤波器的结构如图 7 所示 :双操作数数据存放和系数表,系统的动态范围和鲁棒图 7 直接型二阶 IIR 滤波器直接型二阶 IIR 滤波器的脉冲传递函数为
10、H(z) =b0 + b1z-1 + b2z-21 - a1z-1a2z-2差分方程为:y(n) = b0x(n) + b1x(n - 1) + b2x(n - 2) + a1y(n - 1) + a2y(n - 2) 为了实现直接型滤波 ,可在 DARAM中开辟 4 个循环缓冲区 ,用来存放变量和系数 ,并采用循环缓冲 区方式寻址 .这 4个循环缓冲区的结构如图 8所示 :图 8 循环缓冲区结构四、总体设计方案1. 利用 MATLAB 来确定 IIR 滤波器的参数 ;2. 启动 CCS,在 CCS中建立一个汇编源文件、建立一个 C 源文件和一个命令文件 ,并将这三个文件 添加到工程 ,再编译
11、并装载程序 ;3. 设置波形时域观察窗口 ,得到其滤波前后波形变化图4. 设置频域观察窗口 ,得到其滤波前后频谱变化图 .五、主要参数f1=500Hz f2=1000Hz fs=2000六、源程序1. 汇编源文件程序 (.asm) .global _iir,_init,_outdata _iirbset frct sub #1,t0 mov t0,mmap(csr) add t0,ar0 mov xar2,xdp mov ar2,cdp mov #0,ac0 rpt csr macmz *ar0-,*cdp+,ac0 add t0,ar1 mov xar3,xdp mov ar3,cdp rp
12、t csr macmz *ar1-,*cdp+,ac0 mar *ar1+ mov hi(ac0),*ar1 mov hi(ac0),t0 bclr frct retinitsub #1,t0 mov t0,mmap(csr) mov #0,ac0 rpt csr mov ac0,*ar0+ rpt csr mov ac0,*ar1+ ret_outdatamov t1,ac0 sub #2,ac0 mov ac0,mmap(csr) add ac0,ar0 rpt csr delay *ar0- mar *ar0+ mov t0,*ar0ret2.C 源文件程序 (.c) #include
13、math.h #define signal_1_f 500 #define signal_2_f 10000 #define signal_sample_f 25000 #define pi 3.1415926 #define IIRNUMBER_L 2 #define bufer_L 256 int N_L=IIRNUMBER_L; int data_inbufer_L; int outbufer_L ;int xIIRNUMBER_L+1;int yIIRNUMBER_L+1;int k=0;int bufer=bufer_L;int fBnIIRNUMBER_L=0,0x634a;int
14、 fAnIIRNUMBER_L=0xe5c,0xe5c;extern int iir(int *x,int *y,int *fAn,int *fBn,int N_L); extern int init(int *,int *,int);extern int outdata(int *,int,int); void inputwave();void main()int iirout; inputwave(); init(x,y,N_L);while(1) x0=data_ink;iirout=iir(x,y,fAn,fBn,N_L);outdata(out,iirout,bufer);k+;if
15、(k=bufer_L)k=0;void inputwave()float wt1;float wt2;int i;for(i=0;iROM PAGE 0.data ROM PAGE 0.bss RAM PAGE 0.const RAM PAGE 0.sysmem RAM PAGE 0.stack RAM PAGE 0.cio RAM PAGE 0.sysstack RAM PAGE 0.switch RAM PAGE 0.cinit RAM PAGE 0.pinit RAM PAGE 0.vectors VECS PAGE 0.ioport IOPORT PAGE 2七、实验结果及分析1. 输入波形 :时域波形频域波形2. 输出波形 :时域波形频域波形八、心得体会课程设计是培养学生综合运用所学知识 ,发现 ,提出 ,分析和解决实际问题 ,锻炼实践能力的重要环节 ,是对学生实际工作能力的具体训练和考察过程.随着科学技术发展的日新日异 ,数字技术已经成为当今计算机应用中空前活跃
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年心理评估与干预考试试卷及答案
- 2025年心理学基本理论考试试卷及答案
- 2025年网络安全与信息保障职业认证考试卷及答案
- 2025年企业战略管理考试卷及答案
- 2025年青少年心理健康知识考试试题及答案
- 2025年临床医学专业资格考试科目试题及答案
- 2025年家庭护理考试试题及答案
- 2025年电影欣赏与分析方法测试题及答案
- 2025年化妆师职业素养测试试题及答案
- 2025年电子信息技术职业资格考试试题及答案
- 智慧食堂综合解决方案课件【2022版】
- 2024年中考化学答题技巧与模板构建专题05 物质的转化与推断(解析版)
- 急产的应急预案
- DL-T 892-2021 电站汽轮机技术条件
- 中外石油文化智慧树知到期末考试答案2024年
- MOOC 会计学-浙江工商大学 中国大学慕课答案
- GB/T 42791-2024航空用铝合金锻件通用技术规范
- 侵犯公民个人信息谅解书模板
- 西安幸驾坡城改方案
- 2023年中考数学复习-拱桥问题(实际问题与二次函数)
- YY/T 0489-2023一次性使用无菌引流导管及辅助器械
评论
0/150
提交评论