数字信号处理-实验五 FIR数字滤波器设计

您所在的位置:网站首页 实验四fir数字滤波器的设计 数字信号处理-实验五 FIR数字滤波器设计

数字信号处理-实验五 FIR数字滤波器设计

2024-07-15 16:04| 来源: 网络整理| 查看: 265

实验五FIR数字滤波器设计(4课时)

一、实验目的

掌握用窗函数法设计FIR数字滤波器的原理和方法,熟悉线性相位FIR数字滤波器特性,了解各种窗函数对滤波特性的影响。

二、实验原理

设所要求的理想数字滤波器的频率响应为是与其对应的单位脉冲响应,因此:

由于是矩形频率特性,故是无限长的非因果序列。而我们所要设计的是FIR数字滤波器,其单位脉冲响应必然是有限长的,所以要用有限的来逼近无限长的,最有效的方法是截断,用有限长的窗函数来截取,表示为:

这种方法即为窗口设计法。

三、实验过程

(1)用海明窗设计一线性相位低通 FIR数字滤波器,截止频率。窗口长度。要求在两种窗口长度情况下,分别求出,输出相应的幅频特性和相频特性曲线,观察3dB和20dB带宽。总结窗口长度N对滤波特性的影响。

(2)用四种窗函数(矩形窗、汉宁窗、海明窗、布拉克曼窗)设计线性相位低通滤波器,绘制相应的幅频特性曲线(dB),观察3dB和20dB带宽以及阻带的衰减,比较四种窗函数对滤波器特性的影响。

四、实验结果

(1)%不同N对滤波器的影响

figure;

N=15; %窗口长度

wc=0.25*pi; %截止频率n=0:1:N-1;

hd=ideal_lp(wc,N); %求理想滤波器单位脉冲响应

subplot(221);stem(n,hd);title('理想单位脉冲响应');

w_ham=(hamming(N))';

h=hd.*w_ham;%加窗

subplot(223);stem(n,h);title('实际单位脉冲响应');

[H,w]=freqz(h);%计算数字滤波器频响函数

mag=abs(H);

db=20*log10((mag+eps)/max(mag));

pha=angle(H);

subplot(222);plot(w/pi,mag);title('实际的幅度响应');

subplot(224);plot(w/pi,pha);title('实际的相位响应');

figure;

plot(w/pi,db);title('实际的幅度db响应');

db=20*log10((mag+eps)/max(mag));

figure;

N=33;

wc=0.25*pi;

n=0:1:N-1;

hd=ideal_lp(wc,N);

subplot(221);stem(n,hd);title('理想单位脉冲响应');

w_ham=(hamming(N))';

h=hd.*w_ham;

subplot(223);stem(n,h);title('实际单位脉冲响应');

[H,w]=freqz(h);

mag=abs(H);

db=20*log10((mag+eps)/max(mag));

pha=angle(H);

subplot(222);plot(w/pi,mag);title('实际的幅度响应');

subplot(224);plot(w/pi,pha);title('实际的相位响应');

figure;

plot(w/pi,db);title('实际的幅度db响应');

ideal_lp函数:

function hd=ideal_lp(wc,N)

%N为奇数,理想低通滤波器的脉冲响应h(n)

alpha=(N-1)/2;

n=0:1:N-1;

m=n-alpha;

hd=sin(wc*m)./(pi*m);

hd(alpha+1)=wc/pi;

(2)%不同的窗口对滤波器的影响

N=33;

wc=0.25*pi;

hd=ideal_lp(wc,M);

w_box=(boxcar(N))';%矩形窗

h_box=hd.*w_box;

w_han=(hanning(N))';%汉宁窗

h_han=hd.*w_han;

w_ham=(hamming(N))';%海明窗

h_ham=hd.*w_ham;

w_bla=(blackman(N))';%二阶升余弦窗

h_bla=hd.*w_bla;[H,w]=freqz(h_box);

subplot(221);plot(w/pi,20*log10(abs(H)));title('由矩形窗设计的filter幅度响应');

[H,w]=freqz(h_han);

subplot(222);plot(w/pi,20*log10(abs(H)));title('由汉宁窗设计的filter幅度响应');

[H,w]=freqz(h_ham);

subplot(223);plot(w/pi,20*log10(abs(H)));title('由海明窗设计的filter幅度响应');

[H,w]=freqz(h_bla);

subplot(224);plot(w/pi,20*log10(abs(H)));title('由二阶升余弦窗设计的filter幅度响应');



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3