全球旧事资料 分类
基于DSP的FIR数字滤波器设计实验
一、实验目的1了解FIR(Fi
iteImpulseRespo
se有限冲激响应)滤波器的原理及使用方法;2了解使用MATLAT语言设计FIR滤波器的方法;3了解DSP对FIR滤波器的设计及编程方法;4熟悉在CCS环境下对FIR滤波器的调试方法;二、实验原理数字滤波是DSP的最基本应用,利用MAC(乘、累加)指令和循环寻址可以方便地完成滤波运算。两种常用的数字滤波器:FIR(有限冲激响应)滤波器和IIR(无限冲激响应)滤波器的DSP实现。设FIR滤波器的系数为h0,h1,,hN1,X
表示滤波器在
时刻的输入,则
时刻的输出为:
y
hix
i
i0
N1
h0x
h1x
1hN1x
N1
FIR数字滤波器的结构如图31所示。
x
h0Z1h1Z1h2hN2Z1hN1
图31
FIR数字滤波器的结构图
y
1、线性缓冲区法又称延迟线法。其方法是:对于
N的FIR滤波器,在数据存储器中开辟一个N单元的缓冲区,存放最新的N个样本;滤波时从最老的样本开始,每读一个样本后,将此样本向下移位;读完最后一个样本后,输入最新样本至缓冲区的顶部。以上过程,可以用N6的线性缓冲区示意图来说明,如图32所示
图32
N6的线性缓冲区示意图
2、循环缓冲区法图33说明了使用循环寻址实现FIR滤波器的方法。对于N级FIR滤波器,在数据存储区开辟一个称为滑窗的具有N个单元的缓冲区,滑窗中存放最新的N个输入样本值。每次输入新的样本时,新的样本将改写滑窗中最老的数据,其他数据则不需要移动。
1
f图33三、实验内容与步骤
FIR滤波器循环缓冲区存储器图
设计一个FIR低通滤波器,通带边界频率为1500Hz,通带波纹小于1dB;阻带边界频率为2000Hz,阻带衰减大于40dB;采样频率为8000Hz。FIR滤波器的设计可以用MATLAB窗函数法进行。本实验设计一个采样频率Fs为8000Hz,输入信号频率为1000Hz和2500Hz的合成信号,通过设计的低通滤波器将2500Hz信号滤掉,余下1000Hz信号。1、MATLAB设计FIR滤波器FIR滤波器的设计可以用MATLAB窗函数法进行,选择Hammi
g窗,其程序为:bfir116150080002得到FIR数字滤波器系数b为:b0000000000b1000482584b2000804504b3000885584b400429174b5002903702b6009725365b7028342322B8037452503在DSP汇编语言中,不能直接输入十进制小数,在MATLAB中进行如下转换:hrou
db215将系数转换为Q15的定点小数形式,为:h00h1158h2264h3290h41406h5951h63187h79287h8122722、编写FIR数字滤波器的汇编程序一个FIR滤波r
好听全球资料 返回顶部