基于DSP的FIR低通滤波器的设计
学号:电子与控制工程学院
f一、设计要求
通过ICETEKVC5509A评估板实现FIR滤波功能,将输入的方波信号通过评估板上的AD模块,滤波模块,以及DA模块后输出正弦波信号并在示波器上观察方波滤除后所产生的正弦波。在CCS下编写C语音和汇编语言程序分别实现滤波器功能,并且比较c语言和汇编语言的执行速度进行比较。
二、设计原理
数字信号处理技术的应用领域非常广泛,而数字滤波器的设计是数字信号处理中最重要的设计环节。数字滤波器分为IIR滤波器和FIR滤波器。本次课设使用的是FIR滤波器。
FIR滤波器即有限长单位响应滤波器,是数字信号处理系统中最基本的原件。可以在保证任意频率特性的同时具有严格的线性相位特性。同时其单位冲激响应是有限长的,因而滤波器是稳定的系统。FIR滤波器在通信、图像处理、模式识别等领域具有广泛的应用。
在进入FIR滤波器前,首先要将信号通过AD器件进行模数转换,把模拟信号转化为数字信号;为了使信号处理能够不发生失真,信号的采样速度必须满足奈奎斯特定理,一般取信号频率上限的45倍做为采样频率;一般可用速度较高的逐次逼进式AD转换器,不论采用乘累加方法还是分布式算法设计FIR滤波器,滤波器输出的数据都是一串序列,要使它能直观地反应出来,还需经过数模转换。
FIR滤波器误反馈回路,是一种稳定系统,可以设计成具有线性相位特性。设FIR滤波器的系数为h0、h1……hN1,X
表示滤波器在
时刻的输入,则那时刻的输出为:
y
h0x
h1x
1……hN1x
N1
FIR滤波器的差分方程为:
N1
y
akx
kk0
对上式进行Z变换得到FIR滤波器的传递函数为:
zH(z)
YzXz
N1
bK
i0
k
fFIR数字滤波器的结构图如图1所示:
MATLAB辅助DSP实现FIR其总体过程为在DSP中编写处理程序,在MATLAB中利用滤波器设计、分析工具FDATOOL根据指定的滤波器性能快速设计一个FIR把滤波器系数以头文件形式导入CCS中头文件中MATLAB辅助DSP实现FIR数字滤波器含滤波器阶数和系数数组在MATLAB中调试、运行DSP程序并显示、分析处理后的数据。使用该方法便于采用汇编语言来实现程序。
由于不同的窗函数对信号频谱的影响是不一样的,这主要是因为不同的窗函数,产生泄漏的大小不一样,频率分辨能力也不一样。信号的截断产生了能量泄漏,而用FFT算法计算频谱又产生了栅栏效应,从原理上讲这两种误差都是不能消除的,但是我们可以通过选择不同的窗函数对它们的影响进行抑制。r