实验6FIR滤波器设计.docx

上传人:b****5 文档编号:8012014 上传时间:2023-01-27 格式:DOCX 页数:32 大小:570KB
下载 相关 举报
实验6FIR滤波器设计.docx_第1页
第1页 / 共32页
实验6FIR滤波器设计.docx_第2页
第2页 / 共32页
实验6FIR滤波器设计.docx_第3页
第3页 / 共32页
实验6FIR滤波器设计.docx_第4页
第4页 / 共32页
实验6FIR滤波器设计.docx_第5页
第5页 / 共32页
点击查看更多>>
下载资源
资源描述

实验6FIR滤波器设计.docx

《实验6FIR滤波器设计.docx》由会员分享,可在线阅读,更多相关《实验6FIR滤波器设计.docx(32页珍藏版)》请在冰豆网上搜索。

实验6FIR滤波器设计.docx

实验6FIR滤波器设计

         课程编号     

       实验项目序号      

本科学生实验卡和实验报告

信息科学与工程学院

 

通信工程专业2013级 1301班

课程名称:

数字信号处理

实验项目:

FIR滤波器设计

 

2015~~2016学年第二学期

学号:

201308030104_姓名:

___王少丹___专业年级班级:

____通信1301_____

____四合院___实验室组别________实验日期__2016年_6__月___12_日

课程名称

数字信号处理

实验课时

4

实验项目名称

和编号

FIR滤波器设计

同组者姓名

实验目的

学会运用MATLAB产生常用离散时间信号

实验环境

MATLAB

实验内容

和原理

(1)认真复习FIR数字滤波器的基本概念,线性相位FIR滤波器的条件和特点、幅度函数特点、零点位置的基本特点与性质;窗函数设计法的基本概念与方法,各种窗函数的性能和设计步骤,线性相位FIR低通、高通、带通和带阻滤波器的设计方法,频率采样设计法的基本概念和线性相位的实现方法。

(2)掌握几种线性相位的特点,熟悉和掌握矩形窗、三角形窗、汉宁窗、海明窗、布莱克曼窗、凯塞窗设计IIR数字滤波器的方法,熟悉和掌握频率抽样设计法的线性相位的设计方法,并对各种线性相位的频率抽样法的设计给出调整和改进。

(3)熟悉利用MATLAB进行各类FIR数字滤波器的设计方法。

实验步骤

方法

关键代码

a.设线性相位FIR滤波器单位抽样响应分别为

h(n)={-4,1,-1,-2,5,6,5,-2,-1,1,-4}

h(n)={-4,1,-1,-2,5,6,6,5,-2,-1,1,-4}

h(n)={-4,1,-1,-2,5,0,-5,2,1,-1,4}

h(n)={-4,1,-1,-2,5,6,-6,-5,2,1,-1,4}

分别求出滤波器的幅度频率响应H(ω),系统函数H(z)以及零极点分布,并绘制相应的波形和分布图。

Type2:

Type3:

Type4:

b.设计FIR数字低通滤波器,技术指标为:

ωp=0.2π,ωst=0.3π,δ1=0.25dB,δ2=50dB。

(1)通过技术指标,选择一种窗函数进行设计;

(2)求滤波器的单位抽样响应、频率响应,并绘制波形。

(3)选择凯塞窗函数设计该滤波器,并绘制相应的波形图。

c.设计FIR数字带通滤波器,技术指标为:

下阻带边缘:

ωst1=0.2π,δs1=60dB,下通带边缘:

ωp1=0.35π,δp1=1dB;上通带边缘:

ωp2=0.65π,δp1=1dB,上阻带边缘:

ωst2=0.8π,δs2=60dB;

(1)通过技术指标,选择一种窗函数进行设计;

(2)求滤波器的单位抽样响应、频率响应,并绘制波形。

d.设计FIR数字带通滤波器,技术指标为:

下阻带边缘:

ωst1=0.2π,δs1=60dB,下通带边缘:

ωp1=0.4π,δp1=1dB;上通带边缘:

ωp2=0.6π,δp1=1dB,上阻带边缘:

ωst2=0.8π,δs2=60dB;

(1)通过技术指标,选择一种窗函数进行设计;

(2)求滤波器的单位抽样响应、频率响应,并绘制波形。

e.设计FIR数字带通滤波器,技术指标为:

下阻带边缘:

ωst1=0.2π,δs1=20dB,下通带边缘:

ωp1=0.4π,δp1=1dB;上通带边缘:

ωp2=0.6π,δp1=1dB,上阻带边缘:

ωst2=0.8π,δs2=20dB;

(1)通过技术指标,选择一种窗函数进行设计;

(2)求滤波器的单位抽样响应、频率响应,并绘制波形。

f.设计FIR数字高通滤波器,技术指标为:

通带截止频率为ωp=15π/27,阻带截止频率为ωst=11π/27,通带最大衰减为δ1=2.5dB,阻带最小衰减为δ2=55dB。

(1)通过技术指标,选择一种窗函数进行设计;

(2)求滤波器的单位抽样响应、频率响应,并绘制波形。

系统一:

g.设计FIR数字高通滤波器,技术指标为:

通带截止频率为ωp=0.6π,阻带截止频率为ωst=0.4π,通带最大衰减为δ1=0.25dB,阻带最小衰减为δ2=40dB。

(1)通过技术指标,选择一种窗函数进行设计;

(2)求滤波器的单位抽样响应、频率响应,并绘制波形。

h.滤波器的技术指标为:

通带截止频率为ωp=0.6π,阻带截止频率为ωst=0.4π,通带最大衰减为δ1=0.25dB,阻带最小衰减为δ2=40dB。

(1)通过技术指标,选择一种窗函数设计一个具有π/2相移的FIR高通滤波器;

(2)求滤波器的单位抽样响应、频率响应,并绘制波形。

i.设计FIR数字带阻滤波器,其技术指标为:

低端阻带边缘:

ωst1=0.4π,δs1=40dB,低端通带边缘:

ωp1=0.2π,δp1=1dB;高端通带边缘:

ωp2=0.8π,δp1=1dB,高端阻带边缘:

ωst2=0.6π,δs2=40dB;

(1)通过技术指标,选择一种窗函数进行设计;

(2)求滤波器的单位抽样响应、频率响应,并绘制波形。

FIR滤波器的单位抽样响应为h(n)=1/9{

},编制MATLAB程序求系统的频率采样型结构的系数,并画出频率抽样型结构。

m.一个理想差分器的频率响应为:

用长度为21的汉宁窗设计一个数字FIR差分器,并绘制其时域和频率的响应波形。

n.利用汉宁窗设计一个长度为25的数字希尔伯特变换器,并绘制它的时域和频域的响应波形。

p.FIR数字低通滤波器的技术指标为:

ωp=0.2π,ωst=0.3π,δ1=0.25dB,δ2=50dB。

利用频率采样方法设计FIR数字滤波器,并绘制滤波器的单位冲激响应、幅度频率响应的波形。

q.用窗函数法设计一个线性相位的FIR数字低通滤波器,其技术指标为:

ωp=0.2π,ωst=0.4π,δ1=0.25dB,δ2=50dB。

(1)求滤波器的单位抽样响应、频率响应,并绘制波形。

(2)对该滤波器输入一个宽度为10的矩形序列,求滤波器的输出信号,并绘制相应的波形图。

测试记录

分析

结论

 理论与实验值相符。

(后附代码)

小结

 

认真复习FIR数字滤波器的基本概念,线性相位FIR滤波器的条件和特点、幅度函数特点、零点位置的基本特点与性质;窗函数设计法的基本概念与方法,各种窗函数的性能和设计步骤,线性相位FIR低通、高通、带通和带阻滤波器的设计方法,频率采样设计法的基本概念和线性相位的实现方法。

以下由实验教师填写

记事

评议

 

成绩评定

 

平时成绩_______实验报告成绩________综合成绩_________

指导教师签名:

代码:

wp=0.2*pi;

ws=0.4*pi;

tr_width=ws-wp;

M=ceil(6.6*pi/tr_width)+1;

n=[0:

1:

M-1];

wc=(ws+wp)/2;

hd=ideal_lp(wc,M);

w_ham=(hamming(M))';

h=hd.*w_ham;

[db,mag,pha,H,w]=freqz_m3(h,[1]);

delta_w=2*pi/1000;

Rp=-(min(db(1:

1:

wp/delta_w+1)));

As=-round(max(db(ws/delta_w+1:

1:

501)));

figure

(1)

subplot(221)

stem(n,hd);title('IdealImpulseRresponse')

axis([0M-1-0.10.3]);xlabel('n');ylabel('hd(n)')

subplot(222)

stem(n,w_ham);title('HammingWindow')

axis([0M-101.1]);xlabel('n');ylabel('w(n)')

subplot(223)

stem(n,h);title('ActualImpuseResponse')

axis([0M-1-0.10.3]);xlabel('n');ylabel('h(n)')

subplot(224)

plot(w/pi,db);title('MagnitudeResponseindb');grid

axis([01-10010]);xlabel('frequencein\piunit');ylabel('decibels')

%solutionofproblem(b)

Rn=stepseq(0,0,9)

n=0:

1:

9

dw=w

(2)-

(1)

w=[-fliplr(w),w(2:

501)]

H=[fliplr(H),H(2:

501)]

xw=Rn*(exp(-j)).^(n'*w)

answ=H.*xw

Rnn=answ*exp(-j).^(w'*n)*dw/(2*pi)

figure

(2)

subplot(221)

stem(n,Rn)

xlabel('n');ylabel('Rn');title('inputrectanglesignalinT-domain')

subplot(222)

stem(w/pi,xw)

xlabel('w/\pi');ylabel('Rw');title('inputrectanglesignalinF-domain')

subplot(223)

plot(w/pi,abs(answ))

xlabel('w/\pi');ylabel('MagnitudeofH(w)');title('outputsignalinF-domainafterfilteration')

subplot(224)

stem(n,abs(Rnn))

xlabel('n');ylabel('Rnn');title('outputsignalinT-domainafterfilteration')

M=25;alpha=(M-1)/2;n=0:

M-1;

hd=(2/pi)*((sin((pi/2)*(n-alpha)).^2)./(n-alpha));hd(alpha+1)=0;

w_han=(hann(M))';h=hd.*w_han;[Hr,w,P,L]=Hr_Type3(h);

subplot(2,2,1);stem(n,hd);title('IdealImpulseResponse')

axis([-1M-1.21.2]);xlabel('n');ylabel('hd(n)');

subplot(2,2,2);stem(n,w_han);title('HannWindow')

axis([-1M01.2]);xlabel('n');ylabel('w(n)')

subplot(2,2,3);stem(n,h);title('ActualImpulseResponse')

axis([-1M-1.21.2]);xlabel('n');ylabel('h(n)')

w=w';Hr=Hr';

w=[-fliplr(w),w(2:

501)];Hr=[-fliplr(Hr),Hr(2:

501)];

subplot(2,2,4);plot(w/pi,Hr);title('AmplitudeResponse');grid;

xlabel('frequencyinpiunits');ylabel('Hr');axis([-11-1.11.1]);

M=20;alpha=(M-1)/2;l=0:

M-1;wl=(2*pi/M)*l;

Hrs=[1,1,1,zeros(1,15),1,1];%IdealAmpRessampled

Hdr=[1,1,0,0];wdl=[0,0.25,0.25,1];%IdealAmpResforplotting

k1=0:

floor((M-1)/2);k2=floor((M-1)/2)+1:

M-1;

angH=[-alpha*(2*pi)/M*k1,alpha*(2*pi)/M*(M-k2)];

H=Hrs.*exp(j*angH);h=real(ifft(H,M));

[db,mag,pha,grd,w]=freqz_m(h,1);[Hr,ww,a,L]=Hr_Type2(h);

subplot(2,2,1);plot(wl(1:

11)/pi,Hrs(1:

11),'o',wdl,Hdr);

axis([0,1,-0.1,1.1]);title('FrequencySamples:

M=20')

xlabel('frequencyinpiunits');ylabel('Hr(k)');

subplot(2,2,2);stem(l,h);axis([-1,M,-0.1,0.3])

title('ImpulseResponse');xlabel('n');ylabel('h(n)');

subplot(2,2,3);plot(ww/pi,Hr,wl(1:

11)/pi,Hrs(1:

11),'o');

axis([0,1,-0.2,1.2]);title('AmplitudeResponse')

xlabel('frequencyinpiunits');ylabel('Hr(w)')

subplot(2,2,4);plot(w/pi,db);axis([0,1,-60,10]);grid

title('MagnitudeResponse');xlabel('frequencyinpiunits');

ylabel('Decibels');

Wpl=0.2*pi;

Wph=0.8*pi;

Wsl=0.4*pi;

Wsh=0.6*pi;

tr_width=min((Wsl-Wpl),(Wph-Wsh));

M=ceil(6.2*pi/tr_width)

n=0:

1:

M-1;

Wcl=(Wsl+Wpl)/2;

Wch=(Wsh+Wph)/2;

hd=ideal_bs(Wcl,Wch,M);

w_ham=(hanning(M))';

h=hd.*w_ham;

[db,mag,pha,w]=freqz_m2(h,[1]);

delta_w=2*pi/1000;

Ap=-(min(db(1:

1:

Wpl/delta_w+1)))

As=-round(max(db(Wsl/delta_w+1:

1:

Wsh/delta_w+1)))

subplot(221)

stem(n,hd);title('IdealImpulseRresponse')

axis([0M-1-0.10.7]);xlabel('n');ylabel('hd(n)')

subplot(222)

stem(n,w_ham);title('HammingWindow')

axis([0M-101.1]);xlabel('n');ylabel('w(n)')

subplot(223)

stem(n,h);title('ActualImpuseResponse')

axis([0M-1-0.10.7]);xlabel('n');ylabel('h(n)')

subplot(224)

plot(w/pi,db);title('MagnitudeResponseindb');grid

axis([01-10010]);xlabel('frequencein\piunit');ylabel('decibels');

clearall

figure

Wpl=0.2*pi;

Wph=0.8*pi;

Wsl=0.4*pi;

Wsh=0.6*pi;

tr_width=min((Wsl-Wpl),(Wph-Wsh));

M=ceil(6.2*pi/tr_width)

n=0:

1:

M-1;

Wcl=(Wsl+Wpl)/2;

Wch=(Wsh+Wph)/2;

hd=ideal_bs(Wcl,Wch,M);

w_ham=(hanning(M))';

h=hd.*w_ham;

[db,mag,pha,w]=freqz_m2(h,[1]);

delta_w=2*pi/1000;

Ap=-(min(db(1:

1:

Wpl/delta_w+1)))

As=-round(max(db(Wsl/delta_w+1:

1:

Wsh/delta_w+1)))

subplot(221)

stem(n,hd);title('IdealImpulseRresponse')

axis([0M-1-0.10.7]);xlabel('n');ylabel('hd(n)')

subplot(222)

stem(n,w_ham);title('HammingWindow')

axis([0M-101.1]);xlabel('n');ylabel('w(n)')

subplot(223)

stem(n,h);title('ActualImpuseResponse')

axis([0M-1-0.10.7]);xlabel('n');ylabel('h(n)')

subplot(224)

plot(w/pi,db);title('MagnitudeResponseindb');grid

axis([01-10010]);xlabel('frequencein\piunit');ylabel('decibels');

figure

ws1=0.2*pi;

wp1=0.35*pi;

ws2=0.8*pi;

wp2=0.65*pi;

Ap=60;

Rp=1;

tr_width=min((wp1-ws1),(ws2-wp2));

M=ceil(11*pi/tr_width);

n=[0:

1:

M-1];

wc1=(ws1+wp1)/2;

wc2=(wp2+ws2)/2;

hd=ideal_lp(wc2,M)-ideal_lp(wc1,M);

w_bla=(blackman(M))';

h=hd.*w_bla;

[H,W]=freqz(h,1);

subplot(2,2,1);stem(n,hd);title('ÀíÏëÂö³å³éÑù');

subplot(2,2,2);stem(n,w_bla);title('²¼À³¿ËÂü´°');

subplot(2,2,3);stem(n,h);title('ʵ¼ÊÂö³å³éÑù');

subplot(2,2,4);plot(W/pi,20*log10(abs(H)));title('·ù¶ÈÏìÓ¦£¨db£©');

clearall

figure

ws1=0.2*pi;

wp1=0.4*pi;

ws2=0.8*pi;

wp2=0.6*pi;

Ap=60;

Rp=1;

tr_width=min((wp1-ws1),(ws2-wp2));

M=ceil(11*pi/tr_width);

n=[0:

1:

M-1];

wc1=(ws1+wp1)/2;

wc2=(wp2+ws2)/2;

hd=ideal_lp(wc2,M)-ideal_lp(wc1,M);

w_bla=(hamming(M))';

h=hd.*w_bla;

[H,W]=freqz(h,1);

subplot(2,2,1);stem(n,hd);title('ÀíÏëÂö³å³éÑù');

subplot(2,2,2);stem(n,w_bla);title('º£Ã÷´°');

subplot(2,2,3);stem(n,h);title('ʵ¼ÊÂö³å³éÑù');

subplot(2,2,4);plot(W/pi,20*log10(abs(H)));title('·ù¶ÈÏìÓ¦£¨db£©');

clearall

figure

ws1=0.2*pi;

wp1=0.4*pi;

ws2=0.8*pi;

wp2=0.6*pi;

Ap=20;

Rp=1;

tr_width=min((wp1-ws1),(ws2-wp2));

M=ceil(11*pi/tr_width);

n=[0:

1:

M-1];

wc1=(ws1+wp1)/2;

wc2=(wp2+ws2)/2;

hd=ideal_lp(wc2,M)-ideal_lp(wc1,M);

w_bla=(boxcar(M))';

h=hd.*w_bla;

[H,W]=freqz(h,1);

subplot(2,2,1);stem(n,hd);title('ÀíÏëÂö³å³éÑù');

subplot(2,2,2);stem(n,w_bla);title('¾ØÐδ°');

subplot(2,2,3);stem(n,h);title('ʵ¼ÊÂö³å³éÑù');

subplot(2,2,4);plot(W/pi,20*log10(abs(H)));title('·ù¶ÈÏìÓ¦£¨db£©');

clearall

figure

As=55;

ws=11*pi/27;

wp=15*pi/27;

tr_width=wp-ws;%¼ÆËã¹ý¶É´ø

M=ceil((As-7.95)*2*pi/(14.36*tr_width)+1)+1;%°´¿Ôó´°¼ÆËãÂ˲¨Æ÷µÄ³¤¶È

disp(['Â˲¨Æ÷µÄ³¤¶È',num2str(M)]);

beta=0.1102*(As-8.7);%¼ÆËã¿Ôó´°µÄbetaÖµ

n=[0:

1:

M-1];

disp(['ÏßÐÔÏàλÂ˲¨Æ÷',num2str(beta)]);

w_kai=(kaiser(M,beta))';%Çó¿Ôó´°º¯Êý

wc=(ws+wp)/2;

hd=ideal_lp(pi,M)-ideal_lp(wc,M);%ÇóÀíÏëÂö³åÏìÓ¦

h=hd.*w_kai;

[db,mag,pha,grd,w]=freqz_m(h,[1]);

delta_w=2*pi/1000;

Rp=-(min(db(wp/delta_w+1:

1:

501)));

disp(['ʵ¼Êͨ´ø²¨¶¯Îª',num2str(Rp)]);

As=-round(max(db(1:

1:

ws/delta_w+1)

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 总结汇报 > 学习总结

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1