资源描述:
《fir滤波器的设计 dsp 数字信号处理 课程设计》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库。
1、有限冲击响应FIR滤波器的设计1.设计流程:分析设计参数、要求MATLAB产生系数在CCS中设计滤波程序器输出、观察波形分析设计结果2.设计原理:数字滤波器是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列。一个线性位移不变系统的输出序列y(n)和输入序列x(n)之间的关系,应满足差分方程为:对其进行z变换,可得到FIR滤波器的传递函数为:=则,FIR滤波器的结构如下图:bN-1bN-2b1b0x(n-N+1)x(n-1)aZ-1Z-1Z-1X(n)y(n)FIR滤波算法实际上是一种乘法累加运算。它不断输入样本,经延时,作乘法累加,再输出滤波结果
2、y(n)。在这里使用FIR滤波器,它有以下几个特点:(1)系统的单位冲激响应h(n)在有限个n值处不为零;(2)系统函数H(z)在
3、z
4、>0处收敛,在
5、z
6、>0处只有零点,有限z平面只有零点,而全部极点都在z=0处;(3)结构主要是非递归结构,没有输出到输入的反馈。在DSP芯片中,实现z-1算法很方便,可采用循环缓冲区法,其特点如下:对于N级FIR滤波器,在数据存储器中开辟一个N单元的缓冲区(窗),用来放最新的N个输入样本;从最新样本开始取数;读完最后一个样本后,输入最新样本来代替最老样本,而其他数据位置不变;用片内循环缓冲区长度寄存器对缓冲区进行间接寻址,是循
7、环缓冲区地址首位相邻。3.设计方案:1、利用MATLAB来确定FIR滤波器的参数;具体方法为:利用fir2函数产生滤波系数:b=fir2(n-1,f,m),参数n为滤波器的阶数;f为频率参数,m表示低通2、启动CCS,在CCS中建立一个C源文件和一个命令文件,并将这两个文件添加到工程,再编译并装载程序;3、设置波形时域观察窗口,得到滤波前后的波形变化图;4、设置频域观察窗口,得到滤波前后的频谱变化图。4设计参数:设计一个低通滤波器,其设计参数为:滤波器阶数40,截止频率wp=0.4π,ws=0.45π。5设计程序1、滤波器系数产生:在MATLAB中,调用函数为f
8、=[00.40.451];m=[1100];b=fir2(39,f,m)求得系数为b=Columns1through110.0007-0.0005-0.00140.00000.00280.0018-0.0043-0.00610.00390.01310.0014Columns12through22-0.0210-0.01510.02530.0404-0.0176-0.0834-0.02270.19020.39250.39250.1902Columns23through33-0.0227-0.0834-0.01760.04040.0253-0.0151-0.0210
9、0.00140.01310.0039-0.0061Columns34through40-0.00430.00180.00280.0000-0.0014-0.00050.00072、汇编源程序:采用循环缓冲区实现FIR滤波器的源程序如下:.title"FIR.ASM".mmregs.bssy,1K_FIR_BFFR.set40PA0.set0PA1.set1FIR_COFF_TABLE.usect"FIR_COFF",40D_DATA_BUFFER.usect"FIR_BFR",40.dataCOFF_FIR_START.word7*32768/10000,-5*
10、32768/10000;b0,b1.word-14*32768/10000,0*32768/10000;b2,b3.word28*32768/10000,18*32768/10000;b4,b5.word-43*32768/10000,-61*32768/10000;b6,b7.word39*32768/10000,131*32768/10000;b8,b9.word14*32768/10000,-210*32768/10000;b10,b11.word-151*32768/10000,253*32768/10000;b12,b13.word404*32768/
11、10000,-176*32768/10000;b14,b15.word-834*32768/10000,-227*32768/10000;b16,b17.word1902*32768/10000,3925*32768/10000;b18,b19.word3925*32768/10000,1902*32768/10000;b20,b21.word-227*32768/10000,-834*32768/10000;b22,b23.word-176*32768/10000,404*32768/10000;b24,b25.word253*32768/10000,-151
12、*32768/10000