数字信号处理_IIR及FIR设计(5)

2018-12-23 00:37

FIR数字滤波器设计作业

周昂 通信工程 201304015027

8.2

设计一个线性相位FIR数字高通滤波器。技术指标为?p?0.7?,?st?0.5?,

As?55dB。画出h(n)及20log|H(ej?)|(dB)及arg|H(ej?)|(dB)曲线。

解:

分析:由于要求阻带最小衰减为55dB,故考虑用blackman窗进行设计。程序如下:

%8.2程序,FIR高通滤波器 clc,clear all; wp=0.7*pi;ws=0.5*pi; dw=abs(ws-wp);%过渡带宽

N0=ceil(11*pi/dw);%计算blackman窗长 N=N0+mod(N0+1,2);%确保N是奇数 n=[0:N-1];

wd=(blackman(N))';%求blakman函数 wc=(wp+ws)/2/pi;%理想低通滤波器的截止频率 hn=fir1(N-1,wc,'high',blackman(N)); [H,w]=freqz(hn,1,1000);%求频率响应 dbH=20*log10(abs(H)); dw=2*pi/1000;

As=-max(dbH(1:wp/dw+1))%检查通带最大衰减 Rp=-min(dbH(ws/dw+1:501))%检查阻带最小衰减 pha=unwrap(angle(H));%计算0~1上的相频响应 figure(1);stem(n,hn);

title('单位冲激响应(db)');xlabel('n');ylabel('h(n)');grid figure(2)

subplot(2,2,[1 3]) plot(w/pi,dbH);

title('幅度响应(db)');xlabel('\\omage/\\pi'); ylabel('20log|H(e^j^/omega)|(dB)'); axis([0,1,-200,5]);grid; subplot(2,2,2) plot(w/pi,dbH);

title('幅度响应(db)');xlabel('\\omage/\\pi'); ylabel('20log|H(e^j^/omega)|(dB)'); axis([0.5,0.9,-10,10]);grid;

set(gca,'xtickmode','manual','xtick',[0.5:0.1:0.9]); set(gca,'ytickmode','manual','ytick',[-10,-3,0,3,10]); subplot(2,2,4) plot(w/pi,dbH);

title('幅度响应(db)');xlabel('\\omage/\\pi'); ylabel('20log|H(e^j^/omega)|(dB)'); grid;

axis([0.3 0.6 -100 -50])

set(gca,'xtickmode','manual','xtick',[0.3:0.1:0.6]); set(gca,'ytickmode','manual','ytick',[-100,-80,-55,-50]); figure(3);

plot(w/pi,pha);%画幅频图

xlabel('数字频率域频率\\Omega/\\pi');ylabel('Phase/degree'); % axis([0,1,-150,5]); grid

运行,得

As =72.3744 Rp = 0.0023

0.50.40.30.2h(n)0.10-0.1-0.2-0.3-0.40102030n405060

图17加blackman窗的FIR高通滤波器单位冲激响应

10-20-4020log|H(ej/omega)|(dB)20log|H(ej/omega)|(dB)030-3-60-80-100-100.50.60.7?/?0.80.9-140-160-180-20000.5?/?120log|H(ej/omega)|(dB)-120-50-55-72-80-1000.30.40.50.6?/?

图18加blakcman窗的FIR高通滤波器幅频响应

100-10-20-30-40-50Phase/degree00.10.20.30.40.5?/?0.60.70.80.91

图19加blackman窗的FIR高通滤波器相频响应

由运行结果可以看出,阻带最小衰减达到了72.37,满足设计指标。由幅频图可以看出,高通滤波器在0.5?取最小衰减,已经达到了题目设计的55dB的指标。由相频响应可以看出,在通带满足线性相位。信号得到无失真传输。

8.3

设计一个线性相位FIR数字带通滤波器。技术指标为?p1?0.4?,?p2?0.5?,

?st?0.2?,?st?0.7?,As?75dB。画出h(n)及20log|H(ej?)|(dB)及

12arg|H(ej?)|(dB)曲线。

解:

分析:由于要求阻带最小衰减为75dB,故考虑用kaiser窗进行设计。用kaiser窗设计时需要根据阻带最小衰减值As计算出beta值,这时kaiser窗与其他窗在使用上的一点区别。 程序如下:

%8.3程序,FIR带通滤波器 clc,clear all;

wp1=0.4*pi;wp2=0.5*pi;

ws1=0.2*pi;ws2=0.7*pi; As0=75;

B=min(wp1-ws1,ws2-wp2);%过渡带宽

N0=ceil((As0-7.95)/(2.286*B))+1;%计算kaiser窗长 N=N0+mod(N0+1,2);%确保N是奇数 n=[0:N-1];

beta=0.1102*(As0-8.7);?ta wd=(kaiser(N,beta))';%求kaiser函数 wc1=(wp1+ws1)/2/pi; wc2=(wp2+ws2)/2/pi; wc=[wc1,wc2];

hn=fir1(N-1,wc,'bandpass',kaiser(N,beta)); [H,w]=freqz(hn,1,1000);%求频率响应 dbH=20*log10(abs(H)); dw=pi/1000;

Rp=-min(dbH(wp1/dw+1:1:wp2/dw+1))%检查通带最大衰减

As=-max(max(dbH(1:1:ws1/dw+1)),max(dbH(ws2/dw+1:1:1000)))%

检查阻带最小衰减

pha=unwrap(angle(H));%计算0~1上的相频响应 figure(1);stem(n,hn);%画冲激响应图

title('单位冲激响应(db)');xlabel('n');ylabel('h(n)');grid figure(2)%画幅频图 subplot(2,2,[1 3]) plot(w/pi,dbH); xlabel('\\Omega/\\pi');

ylabel('20log|H(e^j^/omega)|(dB)');grid; subplot(2,2,2) plot(w/pi,dbH); xlabel('\\Omega/\\pi');

ylabel('20log|H(e^j^/omega)|(dB)');grid; axis([0.3 0.6 -10 10])

set(gca,'xtickmode','manual','xtick',[0.3,0.4,0.5,0.6]); set(gca,'ytickmode','manual','ytick',[-10,-3,0,3,10]);


数字信号处理_IIR及FIR设计(5).doc 将本文的Word文档下载到电脑 下载失败或者文档不完整,请联系客服人员解决!

下一篇:汇编复习题

相关阅读
本类排行
× 注册会员免费下载(下载后可以自由复制和排版)

马上注册会员

注:下载文档有可能“只有目录或者内容不全”等情况,请下载之前注意辨别,如果您已付费且无法下载或内容有问题,请联系我们协助你处理。
微信: QQ: