实验四窗函数法设计FIR数字滤波器完整版Word格式文档下载.docx
《实验四窗函数法设计FIR数字滤波器完整版Word格式文档下载.docx》由会员分享,可在线阅读,更多相关《实验四窗函数法设计FIR数字滤波器完整版Word格式文档下载.docx(15页珍藏版)》请在冰豆网上搜索。
![实验四窗函数法设计FIR数字滤波器完整版Word格式文档下载.docx](https://file1.bdocx.com/fileroot1/2022-12/31/515ed8d9-9f83-433a-94d4-fe7f8a9314a0/515ed8d9-9f83-433a-94d4-fe7f8a9314a01.gif)
长度为N的因果的线性相位FIR滤波器,我们令
(3)用窗函数截取
得到所设计FIR数字滤波器:
3.窗函数的选择
常用的窗函数有矩形(Rectangular)窗,汉宁(Hanning)窗,海明(Hamming)窗、布莱克曼(Blackman)窗、凯瑟(Kaiser)窗等
表4-1MATLAB中产生窗函数的命令
MATLAB函数
窗函数
Boxcar
矩形窗函数
Blackman
布莱克曼窗
Hanning
汉宁窗函数
Kaiser
凯瑟窗函数
Hamming
海明窗
表4-2常用窗函数的特性
窗函数频率特性
加窗后滤波器指标
旁瓣峰值dB
主瓣宽度
过渡带宽
最小阻带衰减dB
矩形窗
-13
4π/N
π/N
-21
汉宁窗
-31
8π/N
-44
-41
-53
-57
12π/N
11π/N
-74
凯瑟窗是一种广泛在实际中广泛应用的窗函数,它由下式给定:
是修正的零阶贝塞尔函数,参数
控制最小阻带衰减,这种窗函数对于相同的N可以提供不同的过渡带宽。
由于贝塞尔函数比较复杂,这种窗函数的设计方程很难推导,然而幸运的是,有一些经验设计方程可以直接使用。
已知给定的指标
,滤波器长度N和凯瑟窗参数
可以按如下凯瑟窗方程给出
过渡带带宽:
频率取样设计FIR滤波器
1.基本原理
频率取样法从频域出发,把理想的滤波器
等间隔采样得到
将
作为实际设计滤波器的
:
得到
以后可以由
来确定唯一确定滤波器的单位脉冲响应
可以由
求得:
为内插函数:
有
求得的频率响应
将逼近
。
如果我们设计的是线性相位FIR滤波器,则
的幅度和相位满足线性相位滤波器的约束条件。
我们将
表示为如下形式
当
为实数,则
由此得到
即
为中心偶对称。
在利用线性相位条件可知,对于1型和2型线性相位滤波器:
对于3型和4型线性相位滤波器
2.设计步骤
(1)由给定的理想滤波器给出
和
(2)由
求得
(3)根据
或
四、实验内容
1、设计一个数字低通FIR滤波器,其技术指标如下:
分别采用矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗设计该滤波器。
结合实验结果,分别讨论采用上述方法设计的数字滤波器是否都能满足给定指标要求。
(1)矩形窗
程序代码:
wp=*pi;
wst=*pi;
tr_width=wst-wp;
N=ceil*pi/tr_width)
n=0:
N-1;
wc=(wst+wp)/2;
alpha=(N-1)/2;
hd=(wc/pi)*sinc((wc/pi)*(n-alpha));
w_boxcar=boxcar(N)'
;
h=hd.*w_boxcar;
subplot(221);
stem(n,hd,'
filled'
);
axistight;
xlabel('
n'
ylabel('
hd(n)'
[Hr,w1]=zerophase(h);
subplot(222);
plot(w1/pi,Hr);
axis;
\omega/\pi'
H(\omega)'
subplot(223);
stem(n,h,'
h(n)'
[H,w]=freqz(h,1);
subplot(224);
plot(w/pi,20*log10(abs(H)/max(H)));
dB'
gridon;
MATLAB图形:
(2)汉宁窗
w_boxcar=hanning(N)'
(3)海明窗
w_boxcar=hamming(N)'
(4)布莱克曼窗
N=ceil(11*pi/tr_width)
w_boxcar=blackman(N)'
MATLAB图形为:
(5)凯瑟窗
As=50;
N=ceil(/*tr_width))+1;
beta=*;
w_boxcar=kaiser(N,beta)'
2、设计一个数字带通FIR滤波器,其技术指标如下:
下阻带边缘:
下通带边缘:
上通带边缘:
上阻带边缘:
wp1=*pi;
Rp1=1;
wst1=*pi;
A1=60;
width1=wst1-wp1;
N1=ceil(11*pi/width1)+1;
n1=0:
(N1-1);
wc1=(wp1+wst1)/2;
alpha=(N1-1)/2;
wp2=*pi;
Rp2=1;
wst2=*pi;
A2=60;
width2=wst2-wp2;
N2=ceil(11*pi/width2)+1;
n2=0:
(N2-1);
wc2=(wp2+wst2)/2;
alpha=(N2-1)/2;
hd=(wc2/pi)*sinc((wc2/pi)*(n2-alpha))-(wc1/pi)*sinc((wc1/pi)*(n1-alpha));
w_w=blackman(N1)'
h=hd.*w_w;
stem(n1,h,'
plot(w/pi,20*log10(abs(H)/max(abs(H))));
stem(n1,hd,'
[Hr,wl]=zerophase(h);
3.采用频率取样法设计FIR数字低通滤波器,满足以下指标
(1)取N=20,过渡带没有样本。
(2)取N=40,过渡带有一个样本,T=。
(3)取N=60,过渡带有两个样本,T1=,T2=。
(4)分别讨论采用上述方法设计的数字滤波器是否都能满足给定的指标要求。
(1)程序代码:
N=20;
L=0:
wL=(2*pi/N)*L;
Hrs=[1,1,1,zeros(1,15),1,1];
Hdr=[1,1,0,0];
wdL=[0,,,1];
k1=0:
floor((N-1)/2);
k2=floor((N-1)/2)+1:
angH=[-alpha*(2*pi)/N*k1,alpha*(2*pi)/N*(N-k2)];
H=Hrs.*exp(j*angH);
h=ifft(H,N);
w=[0:
500]*pi/500;
[Hr,wr]=zerophase(h);
plot(wdL,Hdr,wL(1:
N/2+1)/pi,Hrs(N/2+1));
axis([0,1,,]);
\omega(\pi)'
Hr(k)'
stem(L,h,'
axis([0,N-1,,]);
plot(wr/pi,Hr,wL(1:
N/2+1)/pi,Hrs(1:
N/2+1));
Hr(\omega)'
plot(wr/pi,20*log10((abs(Hr)/max(abs(Hr)))));
axis([0,1,-50,5]);
)
MATLAB图形如下:
(2)程序代码:
N=40;
Hrs=[1,1,1,1,1,,zeros(1,29),,1,1,1,1];
Hdr=[1,1,,0,0];
wdL=[0,,,,1];
3、程序代码:
N=60;
Hrs=[1,1,1,1,1,1,1,,,zeros(1,43),,,1,1,1,1,1,1];
Hdr=[1,1,,,0,0];
wdL=[0,,7/30,8/30,,1];
MATLAB图形:
各阶数的通阻带指标如下表:
阶数
通带波动
阻带衰减50dB
是否满足指标
N=20
不满足
否
N=40
满足
N=60
是
4.采用频率取样技术设计下面的高通滤波器
对于高通滤波器,N必须为奇数(或1型滤波器)。
选择N=33,过渡带有两个样本,过渡带的最优值为T1=,T2=.
N=33;
Hrs=[0,0,0,0,0,0,0,0,0,0,0,,,1,1,1,1,1,1,1,,,0,0,0,0,0,0,0,0,0,0,0];
Hdr=[0,0,,,1,1];
wdL=[0,,2/3,24/33,,1];
Hr=h*cos((alpha-L)'
*w);
17)/pi,Hrs(1:
17));
plot(w/pi,Hr,wL(1:
plot(w/pi,20*log10((abs(Hr)/max(abs(Hr)))));
五、实验心得与体会
通过这次实验,学习了运用窗函数法和频率取样法设计具有线性相位的数字低通、高通、带通、带阻滤波器。
同时也从图像上加深了对线性相位的理解和认识。