fir滤波器的设计 dsp 数字信号处理 课程设计.docVIP

  • 5
  • 0
  • 约5.03千字
  • 约 12页
  • 2018-05-30 发布于河南
  • 举报

fir滤波器的设计 dsp 数字信号处理 课程设计.doc

fir滤波器的设计 dsp 数字信号处理 课程设计

有限冲击响应FIR滤波器的设计 1.设计流程: 2.设计原理: 数字滤波器是将输入的信号序列,按规定的算法进行处理,从而得到所期望的输出序列。一个线性位移不变系统的输出序列y(n)和输入序列x(n)之间的关系,应满足差分方程为: 对其进行z变换,可得到FIR滤波器的传递函数为: = 则,FIR滤波器的结构如下图: FIR滤波算法实际上是一种乘法累加运算。它不断输入样本,经延时 ,作乘法累加,再输出滤波结果y(n)。在这里使用FIR滤波器,它有以下几个特点: (1) 系统的单位冲激响应h(n)在有限个n值处不为零; (2) 系统函数H(z)在|z|0处收敛,在|z|0处只有零点,有限z平面只有零点,而全部极点都在z=0处; (3) 结构主要是非递归结构,没有输出到输入的反馈。 在DSP芯片中,实现z-1算法很方便,可采用循环缓冲区法,其特点如下: 对于N级FIR滤波器,在数据存储器中开辟一个N单元的缓冲区(窗),用来放最新的N个输入样本; 从最新样本开始取数; 读完最后一个样本后,输入最新样本来代替最老样本,而其他数据位置不变; 用片内循环缓冲区长度寄存器对缓冲区进行间接寻址,是循环缓冲区地址首位相邻。 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设计程序 滤波器系数产生: 在MATLAB中,调用函数为 f=[0 0.4 0.45 1]; m=[1 1 0 0]; b=fir2(39,f,m) 求得系数为 b = Columns 1 through 11 0.0007 -0.0005 -0.0014 0.0000 0.0028 0.0018 -0.0043 -0.0061 0.0039 0.0131 0.0014 Columns 12 through 22 -0.0210 -0.0151 0.0253 0.0404 -0.0176 -0.0834 -0.0227 0.1902 0.3925 0.3925 0.1902 Columns 23 through 33 -0.0227 -0.0834 -0.0176 0.0404 0.0253 -0.0151 -0.0210 0.0014 0.0131 0.0039 -0.0061 Columns 34 through 40 -0.0043 0.0018 0.0028 0.0000 -0.0014 -0.0005 0.0007 2、汇编源程序: 采用循环缓冲区实现FIR滤波器的源程序如下: .title FIR.ASM .mmregs .bss y,1 K_FIR_BFFR .set 40 PA0 .set 0 PA1 .set 1 FIR_COFF_TABLE .usect FIR_COFF, 40 D_DATA_BUFFER .usect FIR_BFR , 40 .data COFF_FIR_START .word 7*32768/10000, -5*32768/10000 ;b0,b1 .word -14*32768/10000, 0*32768/10000 ;b2,b3 .word 28*32768/10000, 18*32768/10000 ;b4,b5 .word -43*32768/10000, -61*32768/10000 ;b6,b7 .word 39*32768/

文档评论(0)

1亿VIP精品文档

相关文档