整理有限冲击响应FIR滤波器的设计Word文件下载.docx

上传人:b****3 文档编号:18481432 上传时间:2022-12-17 格式:DOCX 页数:10 大小:55.60KB
下载 相关 举报
整理有限冲击响应FIR滤波器的设计Word文件下载.docx_第1页
第1页 / 共10页
整理有限冲击响应FIR滤波器的设计Word文件下载.docx_第2页
第2页 / 共10页
整理有限冲击响应FIR滤波器的设计Word文件下载.docx_第3页
第3页 / 共10页
整理有限冲击响应FIR滤波器的设计Word文件下载.docx_第4页
第4页 / 共10页
整理有限冲击响应FIR滤波器的设计Word文件下载.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

整理有限冲击响应FIR滤波器的设计Word文件下载.docx

《整理有限冲击响应FIR滤波器的设计Word文件下载.docx》由会员分享,可在线阅读,更多相关《整理有限冲击响应FIR滤波器的设计Word文件下载.docx(10页珍藏版)》请在冰豆网上搜索。

整理有限冲击响应FIR滤波器的设计Word文件下载.docx

由上可见,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.定性、定量评价

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 解决方案 > 学习计划

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1