- 1、本文档共28页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
DSP实习报告-基于DSP的FIR和IIR滤波器设计汇
目 录
一、 实习目的 2
二、 实习要求 2
三、 滤波器的实现 2
(一)、有限冲激响应滤波器(FIR)的实现 2
(二)、无限冲激响应滤波器(IIR)的实现 5
五、 程序代码及运行结果 8
(一)、FIR滤波器程序代码 8
1、FIR低通滤波器实现 8
2、FIR高通滤波器实现 10
3、FIR带通滤波器实现 13
4、FIR带阻滤波器实现 16
(二)、IIR滤波器程序代码 19
1、IIR低通滤波器实现 19
2、IIR高通滤波器实现 20
3、IIR带通滤波器实现 22
4、IIR带阻滤波器实现 23
六、 实习总结 25
七、 实习心得 26
七、参考文献 27
FIR和IIR滤波器设计
实习目的
掌握数字滤波器的设计过程;
了解FIR和IIR的原理和特性;
熟悉设计FIR和IIR数字滤波器的原理和方法。
实习要求
通过MATLSB设计确定FIR和IIR滤波器系数;
DSP初始化。
A/D采样;
FIR和IIR运算,观察滤波器前后的波形变化;
对带有噪声的不同输入信号进行FIR和IIR滤波,观察滤掉后噪声后的波形;
熟练使用CCS 对程序进行调试。
滤波器的实现
(一)、有限冲激响应滤波器(FIR)的实现
1、FIR滤波器的基本结构
数字滤波是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列。
一个线性位移不变系统的输出序列y(n)和输入序列x(n)之间的关系,应满足常系数线性差分方程:
其中x(n)为输入序列,y(n)为输出序列,ai、bi为滤波器系数N为滤波器的阶数。
当上式所有的ai均为0,则得FIR滤波器的差分方程:
对式进行z变换,可得FIR滤波器的传递函数:
FIR滤波器的结构图如图1所示。
图1 FIR滤波器的结构
2、有限冲激响应滤波器的MATLAB设计
FIR滤波器系数的产生可以通过MATLAB得到。MATLAB是Math Works公司用于数值计算和信号处理的数学计算工具包,可以方便直观地进行分析、计算和系统仿真 。
FIR滤波器设计有两种实现方法:
方法1:直接通过MATLAB的滤波器设计函数,其语法如下:
b=fir1(n,Wn)
b=fir1(n,Wn,‘ftype’)
b=fir1(n,Wn,Window)
b=fir1(n,Wn,‘ftype’,Window)
其中n为滤波器的阶数,Wn为滤波器的截止频率,ftype用来决定滤波器的类型, 当ftype=high时,可设计高通滤波器; 当ftype=stop时,可设计带阻滤波器。Window用来指定滤波器采用的窗函数类型,其默认值为汉明(Hamming)窗。
方法2:采用滤波器设计工具箱来设计滤波器的参数,可以方便地得到所需滤波器。该方法按照如下步骤来实现:
(1) 打开MATLAB滤波器设计工具箱中的滤波器设计与分析工具(FDATool)。
(2) 在滤波器设计页面中设置滤波器参数:
滤波器类型选择带通;设计方法选择FIR(有限冲激响应滤波器)、窗函数法设计;滤波器阶数选择最小阶数,窗类型采用Kaiser窗;频率选择归一化频率,阻带1设为0.15,通带1设为0.2,通带2设为0.5,阻带2设为0.55;幅度单位选分贝,阻带1设为20dB,通带设为1dB,阻带2设为20dB。
(3) 单击设计滤波器按钮,在右上窗口可以看到所设计滤波器的幅频、相频等各种图形。
(4) 在File菜单,选择“Export”子菜单出现Export窗口,选择输出到Text-file,单击“OK”按钮即可将参数输出到指定文件中。
本次实习选用方法1来求FIR滤波器的系数。
3、FIR滤波器DSP实现
FIR滤波器的输出表达式:
y(n)=b0x(n)+b1x(n-1)+ … +bn-1x(n-N+1)
其中bi为滤波器系数,x(n)为滤波器在n时刻的输入,y(n)为n时刻的输出。
其基本算法: 采用乘法累加运算。即不断地输入样本x(n),经过z-1延时后,再进行乘法-累加,最后输出滤波结果y(n)。
FIR滤波器的DSP实现有三种方法:
方法一:独立编写汇编语言。
方法二:独立编写C语言。
方法三:调用DSPLIB库函数。其调用形式有:
ushort oflag = fir (DATA *x, DATA *h, DATA *r, DATA *dbuffer, ushort nx,ushort nh) 其中
文档评论(0)