整理有限冲击响应FIR滤波器的设计Word文件下载.docx
- 文档编号:18481432
- 上传时间:2022-12-17
- 格式:DOCX
- 页数:10
- 大小:55.60KB
整理有限冲击响应FIR滤波器的设计Word文件下载.docx
《整理有限冲击响应FIR滤波器的设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《整理有限冲击响应FIR滤波器的设计Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。
由上可见,FIR滤波器不断地对输入样本x(n)延时后,再做乘法累加算法,将滤波器结果y(n)输出。
因此,FIR实际上是一种乘法累加运算。
而对于线性相位FIR而言,利用线性相位FIR滤波器系数的对称特性,可以采用结构精简的FIR结构将乘法器数目减少一半。
应用MATLAB设计FIR滤波器的主要任务就是根据给定的性能指标设计一个H(z),使其逼近这一指标,进而计算并确定滤波器的系数b(n),再将所设计滤波器的幅频响应、相频响应曲线作为输出,与设计要求进行比较,对设计的滤波器进行优化,设计完成之后将得到FIR滤波器的单位冲激响应序列h(n)的各个参数值。
五MATLAB设计FIR滤波器的方法
FIR滤波器最大的优点就是在满足幅频特性的同时,还可以获得严格的线性相位特性,这使得它在语音处理、图像处理等要求高保真的数字信号处理中显得十分重要。
设计FIR滤波器主要有窗函数法、最优化设计法及约束最小二乘法等设计方法。
用MATLAB设计FIR数字滤波器方法有很多种,最常用的有窗函数设计方法、最优化设计方法等。
1窗函数设计方法
窗函数法一般是基于直接程序设计法来设计标准频率响应的,可实现加窗线性相位FIR数字滤波器设计。
Fir1是用来设计标准频率响应的基于窗函数的FIR滤波器函数,可实现加窗线性相位FIR数字滤波器的设计,使用firl函数可设计标准的低通、高通、带通和带阻四种滤波器;
fir2是用来设计有任意频率响应的各种加窗FIR滤波器函数。
利用firl和fir2两种函数可以设计有任意频率响应的各种加窗FIR滤波器.滤波器系数包含在返回值b中,可表示为
b(z)=b
(1)+b
(2)z-n+…+b(n+1)z-n
fir1函数的使用格式有以下几种:
b=fir(n,Wn),可得到低通滤波器;
参数n为滤波器的阶数;
Wn为滤波器的截止频率:
其中,0<Wn<1,Wn=1相当于0.5fs.当Wn=[W1W2]时,为带通滤波器,其通带为wl<W<w2,w1.w2分别为通带的下限频率和上限频率.
b=fir1(n,Wn,’ftype’),当ftype=high时,可设计高通滤波器;
当ftype=stop时,可设计带阻滤波器‘
b=firl(n,Wnwindow),参数window用来指定的窗函数类型,默认值为hamming窗,参数可以使用的窗口函数有boxcar、hamming、blackman、kasier和chebwin.
b=firl(n,wn,ftype,window),ftype参数用来决定滤波器的类型:
参数window用来指定所使用的窗函数类型
这里需要注意的是,用firl函数设计高通和低通池波器时,所使用的阶数n为偶数,当输入的阶数n为奇数时.firl函数会自动将阶数增加1形成偶数。
fir2函数的使用格式有以下几种:
b=fir2(n,f,m},参数n为滤波器的阶数.
b=fir2(n,f,m,window),参数f为频率点矢量,f属于[0,l],对应于0.5fs.矢量f按升序排列,且第一个元素必须为0,最后一个必须为l,并可以包含重复的频率点
b=fir2(n,f,m,npt),参数m为幅度点矢量,在矢量m中包含了与f相对应的期望得到的滤波器幅度
b=fir2(n,f,m,npt,window),参数window用来指定所使用的窗函数类型,其默认为汉明(hamming)窗.
b=fir2(n,f,m,npt,lap),参数npt用来指定fir2函数对频率响应进行内插的点数.
b=fir2(n,f,m,npt,lap,window),参数laP用来指定fir2函数在重复频率点附近插入的区域大小.
2最优化设计法
Remez函数可采用Parks一Mcclellan算法设计线性相位FIR滤波器,Parks一Mcclellan算法使用Remez交换算法和chebyshev逼近理论来设计最优拟合滤波器,这种滤波器使期望频率响应与实际频率响应之间的最大误差最小,使其频率响应呈现出等波形特性,因此有时也称为等波纹滤波器。
由于这种滤波器具有等波纹特性,因此在其冲激响应的头部和尾部会表现出不连续性。
remez函数的使用格式有以下几种:
b=remez(n,f,a),可得到一个n阶FIR讯数字滤波器,其幅频特胜由f和a指定.f是频带边缘频率矢量,且f属于[0,1],当f=1时相当于n(Nyquist频率)。
矢量f按升序排列,且第一个元素必须为0。
最后一个必须为1。
a是频率矢量f处的期望幅值响应。
f和a的长度必须相等,而且为偶数。
b=remez(n,f,a,w),可利用加权矢量w对各频率段的误差进行加权处理,w的长度是f和a长度的一半,用以指定各频率段的权值。
b=remez(n,f,a,’ftype’)和b=remez(n,f,a,w,’ftype’),可指定滤波器的类型,当ftype=hilbert时,设计的滤波器为奇对称的线性相位滤波器(Ⅲ型和Ⅳ型).当ftype=differentiator时,采用了特殊的加权技术设计Ⅲ型和Ⅳ型滤波器。
[n,f0,a0,w]=remezord(f,a,dev),可找到近似的阶n,归一化频带边缘矢量f0、频带内辐值响应矢量匀及加权矢量w,使由remez函数构成的滤波器满足f,a及dev指定的性能要求。
其中f和a分别指定频段的边缘矢量与相应的幅值响应,dev用于指定各频带允许的偏差
[n,f0,a0,w]=remezord(f,a,dev,fs),可指定取样频率fs,fs的缺省值为2Hz.
六设计步骤
1利用MATLAB来确定FIR滤波器的参数
2启动CCS,在CCS中建立一个汇编源文件、建立一个C源文件和一个命令文件,并将这三个文件添加到工程,再编译并装载程序
3设置波形时域观察窗口,得到其滤波前后波形变化图;
4设置频域观察窗口,得到其滤波前后频谱变化图。
七利用MATLAB来确定FIR滤波器的参数
用双线性法设计低通滤波器,并确定FIR滤波器的参数:
fp=1000;
fc=1200;
as=100;
ap=1;
fs=22000;
wp=2*fp/fs;
wc=2*fc/fs;
[n,wn]=ellipord(wp,wc,ap,as);
[b,a]=ellip(n,ap,as,wn);
freqz(b,a,512,fs);
八源程序
1、汇编源文件
.global_fir,_init,_B,_outdata
_fir
bsetfrct
amov#_B,xdp
mov#_B,cdp
movt0,ac0
sub#1,ac0
movac0,mmap(csr)
addac0,ar0
mov#0,ac0
rptcsr
macmz*ar0-,*cdp+,ac0
movhi(ac0),t0
ret
_init
movmmap(t0),ac0
movac0,ar7
rptzac0,ar7
movac0,*ar0+
_outdata
movt1,ac0
sub#2,ac0
delay*ar0-
mar*ar0+
movt0,*ar0
2、C源文件
externintfir(int*,int);
externintinit(int*,int#include"
s.h"
#include"
math.h"
#definesignal_1_f200
#definesignal_2_f620
#definesignal_sample_f2000
#definepi3.1415926
#definecoff_L23
#definebufer_L256
intdata_in[bufer_L];
intout[bufer_L];
intfirout;
intx[coff_L+1];
intk=0;
intbufer=bufer_L;
);
externintoutdata(int*,int,int);
voidinputwave();
voidmain()
{
inputwave();
init(x,BL);
while
(1)
{
x[0]=data_in[k];
firout=fir(x,BL);
outdata(out,firout,bufer);
k++;
if(k>
=bufer_L)
k=0;
}
voidinputwave()
floatwt1;
floatwt2;
inti;
for(i=0;
i<
=bufer_L;
i++)
wt1=2*pi*i*signal_1_f;
wt1=wt1/signal_sample_f;
wt2=2*pi*i*signal_2_f;
wt2=wt2/signal_sample_f;
data_in[i]=(cos(wt1)+cos(wt2))/2*32768;
3、命令文件
-stack0x500
-sysstack0x500
-heap0x1000
-c
-u_Reset
-lrts55.lib
MEMORY
{
PAGE0:
RAM(RWIX):
origin=0x000100,length=0x01ff00
ROM(RIX):
origin=0x020100,length=0x01ff00
VECS(RIX):
origin=0xffff00,length=0x000200
PAGE2:
IOPORT(RWI):
origin=0x000000,length=0x020000
}
SECTIONS
{
.text>
ROMPAGE0
.data>
.bss>
RAMPAGE0
.const>
.sysmem>
.stack>
.sysstack>
.switch>
.cinit>
.pinit>
.vectors>
VECSPAGE0
.ioport>
IOPORTPAGE2
九实验结果及分析
1、设置波形时域观察窗口,得到其滤波前后波形变化图
滤波前的波形输入
滤波前的波形输出
(5)污染防止措施能否达到要求。
(1)结合评价对象的特点,阐述编制安全预评价报告的目的。
2、设置频域观察窗口,得到其滤波前后频谱变化图
(2)环境影响后评价。
滤波前频谱图
安全评价可针对一个特定的对象,也可针对一定的区域范围。
综合性规划
(1)土地利用的有关规划;
滤波后频谱图
十设计总结
通过这次DSP课程设计,我初步掌握和熟悉了数字滤波器的设计过程、其DSP实现原理与CCS的使用方法。
数字滤波是语音处理、图像处理、模式识别、频谱分析等应用的基本处理算法。
用DSP实现FIR数字滤波,具有稳定性好、准确度高、灵活性好、不受环境影响等优点。
1.建设项目环境影响评价机构的资质管理这次DSP课程设计,加强了我动手、思考和解决问题的能力。
在设计过程中,经常会遇到各种各样的情况,但通过思考、查阅资料等方法,克服了各种问题。
课程设计同时也使我的课本知识得到巩固和加强,平时看课本时,有些问题老是弄不懂,做完课程设计后,那些问题迎刃而解了。
B.可能造成重大环境影响的建设项目,应当编制环境影响报告书经过努力,在老师和同学的帮助下,我基本上完成了设计任务。
通过这次课程设计,我充分认识到了自学的重要性,以及学以致用的道理,也体会到自己完成一件事,成功解决困难的乐趣。
我查阅了大量的资料,在今后的学习过程中,我会多看一些专业方面的书籍,以丰富自己的知识。
这次课程设计也使我加深了对DSP技术的理解和应用。
仍以森林为例,营养循环、水域保护、减少空气污染、小气候调节等都属于间接使用价值的范畴。
安全预评价方法可分为定性评价方法和定量评价方法。
5.定性、定量评价
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 整理 有限 冲击 响应 FIR 滤波器 设计