FIR滤波器课程设计报告
一、设计目的
1、熟悉FIR滤波器设计的基本方法。
2、掌握用窗函数设计FIR滤波器的基本原理和方法,熟悉MATLAB语言。
3、熟悉线性相位FIR滤波器的幅频特性和相位特性。
4、了解各种不同窗函数对滤波器性能的影响。
5、熟悉MCS51系列单片机基本原理。
6、掌握MCS51系列单片机基本指令和编程。
7、利用MATLAB仿真的数据,用单片机实现FIR滤波器的设计。
二、原理和方法
(一)FIR滤波器的设计
FIR滤波器可以利用快速傅立叶变换进行快速卷积来实现,另外,FIR滤波器具有严格的相位特性,这对于语音信号处理和数据传输是很重要的。IIR滤波器的优异幅度响应是以相位的非线性为代价的,而非线性相位会引起频率色散。目前FIR滤波器的设计方法主要有三种:窗函数法、频率采样法和切比雪夫等波纹逼近的最优化设计方法。最常用的是窗函数法和切比雪夫等波纹逼近的最优化设计法。本设计中用的窗函数法比较简单,可以应用现成的窗函数公式,在技术要求不高的时候是比较方便灵活的。它从时域出发,用一个窗函数截取理想的hd(n)得到h(n),以有限长序列h(n)近似理想的hd(n);如果从频域出发,用理想的Hd(ejw)在单位圆上等角度取样得到h(k),根据h(k)得到h(z)将逼近理想的hd(z),这就是频率取样法。
(二)性能指标
数字滤波器的指标形式应为频域中的幅度和相位响应。在通带中通常希望具有线性相位响应,在FIR滤波器中,可以得到精确的线性相位。
幅度指标可以以两种方式给出。第一种叫做绝对指标,它提供对幅度响应函数| H(ejw)|的要求。第二种方法叫做相对指标,它以分贝(dB)值的形式提出要求,其值定义为:
为了说明这些指标,下面以低通滤波器设计为例进行讨论。
绝对指标
低通滤波器的典型绝对指标如图1a所示。其中
·[0,ωp]段叫做通带,δ1是理想通带响应中能接受的容限(或波动)。
·[ωs,π]段叫做阻带,δ2是相应的容限。
·[ωp,ωs]段叫做过渡带,在此段上对幅度响应没有限制。
相对指标(dB)
低通滤波器的典型相对技术指标如图1b所示。其中
·Rp是通带波动。
·As是阻带衰减的dB数。
图1 FIR滤波器技术指标:(a)绝对 (b)相对
显然,上述两种指标里给定的参数存在一定的关系。由于绝对指标中的|Hd(ejw)|max
等于1+δ1,因此,有
及
(三) MATLAB实现的内容及步骤
(1)编制实验用主程序及相应子程序
编制窗函数设计FIR滤波器的主程序及相应子程序。
(ejw),利用傅立叶变换,编制产生理想单位脉冲响应hd(n)的简单子程序。
function hd = ideallp(wc,M)
% hd =点0到N-1之间的理想脉冲响应
% wc = 截止频率
% M =理想滤波器长度
% 使滤波器为1型或2型的理想低通滤波器
a=(M-1);
b=a/2;
n=[0:(M-1)];
m=n-b+eps; %加一个小数以避免0做除数
hd=sin(wc*m)./(pi*m);
end
(7)到公式(10)编制相应的窗函数序列的子程序。
Hanning窗:
function w = han(M)
% 汉宁窗子程序
w = .5*(1 - cos(2*pi*(1:M)'/(M+1)));
end
Hamming窗:
function w = ham(M)
% 汉明窗子程序
w=.54-.46*cos(2*pi*(0:(M-1))'/(M-1));
end
Blackman窗:w=blackman(M)
function w = black(M)
% 布莱克曼窗子程序
w=.42-.5*cos((2*pi*(0:(M-1))')/(M-1))+.08*cos(4*pi*(0:(M-1))'/(M-1));
end
Kaiser窗:
function w = kaize( M,beta )
% 凯泽窗子程序
x =(1-2*(0:(M-1))'/(M-1)).^2;
a=besseli(0,beta*sqrt(1-x));
b=besseli(0,beta);
w=a/b;
end
矩形窗:
function w = rec( M )
% 矩形窗子程序
w = ones(M,1);
end
FIR滤波器的窗函数法设计。
(2)上机实验内容。
在计算机上调试自己设计好的窗函数法设计FIR线性相位滤波器设计程序。以下是一个例题及其标准答案,用于在调
单片机实现FIR滤波器的设计 FIR滤波器课程设计 32页 来自淘豆网m.daumloan.com转载请标明出处.