- 1、本文档共14页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
北理工数字信号处理实验4 窗函数法设计FIR数字滤波器
实验4 窗函数法设计FIR数字滤波器
实验目的
掌握窗函数法和频率取样法设计FIR数字滤波器的原理及具体方法
实验设备与环境
计算机、MATLAB软件环境
实验理论基础
实验内容
设计一个数字低通FIR滤波器,其技术指标如下
分别采用矩形窗、汉宁窗、海明窗、布莱克曼窗、凯瑟窗设计该滤波器。结合实验结果,分别讨论采用上述方法设计的数字滤波器是否都能满足给定指标要求。
解:
①矩形窗
wp=0.2*pi;
wst=0.3*pi;
tr_width=wst-wp;
N=ceil(1.8*pi/tr_width)+1;
n=0:(N-1);
wc=(wp+wst)/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);
axis tight;
xlabel(n);
ylabel(hd(n));
[Hr,w1]=zerophase(h);
subplot(222);
plot(w1/pi,Hr);
axis tight;
xlabel(\omega/\pi);
ylabel(H(\omega));
subplot(223);
stem(n,h,filled);
axis tight;
xlabel(n);
ylabel(h(n));
[H,w]=freqz(h,1);
subplot(224);
plot(w/pi,20*log10(abs(H)/max(abs(H))));
xlabel(\omega/\pi);
ylabel(dB);
grid on
结果:
不满足指标要求
不满足指标要求
满足指标要求
满足指标要求
不满足指标要求
解:
代码:
wp1=0.35*pi;Rp=1;
wp2=0.65*pi;
wst1=0.2*pi;As=50;
wst2=0.8*pi;
tr_width=wp1-wst1;
N=ceil(11*pi/tr_width)+1;
n=0:(N-1);
wc1=(wp1+wst1)/2;
wc2=(wp2+wst2)/2;
alpha=(N-1)/2;
hd=(wc2/pi)*sinc((wc2/pi)*(n-alpha))-(wc1/pi)*sinc((wc1/pi)*(n-alpha));
w_blackman=blackman(N);
h=hd.*w_blackman;
subplot(221);
stem(n,hd,filled);
[Hr,wl]=zerophase(h);
subplot(222);
plot(wl/pi,Hr);
subplot(223);
stem(n,h,filled);
[H,w]=freqz(h,1);
subplot(224);
plot(w/pi,20*log10(abs(H)/max(abs(H))));
grid on
结果:
采用频率取样设计法设计FIR数字低通滤波器,满足以下指标
取N=20,过渡带没有样本
取N=40,过渡带有一个样本,T=0.39
取N=60,过渡带有两个样本,T1=0.5925,T2=0.1099
分别讨论采用上述方法设计的数字滤波器是否都能满足给定指标要求
解:
①N=20;
alpha=(N-1)/2;
l=0:N-1;
wl=(2*pi/N)*l;
Hrs=[1,1,1,zeros(1,15),1,1];
Hdr=[1,1,0,0];wdl=[0,0.25,0.25,1];
k1=0:floor((N-1)/2);
k2=floor((N-1)/2)+1:N-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;
H=freqz(h,1,w);
[Hr,wr]=zerophase(h);
subplot(221);
plot(wdl,Hdr,wl(1:11)/pi,Hrs(1:11),o);
axis([0,1,-0.1,1.1]);
xlabel(\omega(\pi));
ylabel(Hr(k));
subplot(222);
stem(l,h,filled);
axis([0,N-1,-0.1,0.3]);
xlabel(n);ylabel(h(n));
subplot(223);
plot(wr/pi,Hr,wl(1:11)/pi,Hrs(1:11),o);
axis([0,1,-0.2,1.2]);
xlabel(\omega(\pi));
ylabel(Hr(w));
sub
文档评论(0)