⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 example9_8.m

📁 原名:数字信号处理基础及MATLAB实现,解压缩密码:lfjk2002@163.com
💻 M
字号:
%例9-8,example9_8
%设计条件:wp=0.2pi;ws=0.3pi;Rp=0.25dB;Ar=50dB;
%(a)
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=real(ifft(H,N));
[db,mag,pha,grd,w]=freqz_m(h,1);
[Hr,ww,a,M]=hr_type2(h);
%画图
figure(1)
subplot(2,2,1);plot(wL(1:11)/pi,Hrs(1:11),'o',wdl,Hdr);
axis([0,1,-0.1,1.1]);title('频率样本  N=20')
xlabel('频率(单位:pi)');ylabel('h(n)');
subplot(2,2,2);stem(L,h);axis([-1,N,-0.1,0.3]);
title('脉冲响应');xlabel('n');ylabel('h(n)');
m1=[0 0];m2=[-1 20];line(m2,m1)
subplot(2,2,3);plot(ww/pi,Hr,wL(1:11)/pi,Hrs(1:11),'o');
axis([0,1,-0.2,1.2]);title('振幅响应')
xlabel('频率(单位:pi)');ylabel('Hr(w)');
subplot(2,2,4);plot(w/pi,db);
axis([0,1,-60,10]);title('幅度响应')
xlabel('频率(单位:pi)');ylabel('分贝');
%(b)
Hrs=[1,1,1,1,zeros(1,14),1,1];         %理想滤波器振幅响应抽样,在k=3处加一个抽样点
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=real(ifft(H,N));
[db,mag,pha,grd,w]=freqz_m(h,1);
[Hr,ww,a,M]=hr_type2(h);
%画图
figure(2)
subplot(2,2,1);plot(wL(1:11)/pi,Hrs(1:11),'o',wdl,Hdr);
axis([0,1,-0.1,1.1]);title('频率样本  N=20')
xlabel('频率(单位:pi)');ylabel('h(n)');
subplot(2,2,2);stem(L,h);axis([-1,N,-0.1,0.3]);
title('脉冲响应');xlabel('n');ylabel('h(n)');
m1=[0 0];m2=[-1 20];line(m2,m1)
subplot(2,2,3);plot(ww/pi,Hr);
axis([0,1,-0.2,1.2]);title('振幅响应')
xlabel('频率(单位:pi)');ylabel('Hr(w)');
subplot(2,2,4);plot(w/pi,db);
axis([0,1,-60,10]);title('幅度响应')
xlabel('频率(单位:pi)');ylabel('分贝');
%
N=60;alpha=(N-1)/2;L=0:N-1;wL=(2*pi/N)*L;
Hrs=[ones(1,8),zeros(1,46),ones(1,6)];         %理想滤波器振幅响应抽样
Hdr=[1,1,0,0];wdl=[0,0.2,0.2,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=real(ifft(H,N));
[db,mag,pha,grd,w]=freqz_m(h,1);
[Hr,ww,a,M]=hr_type2(h);
%画图
figure(3)
subplot(2,2,1);plot(wL(1:30)/pi,Hrs(1:30),'o',wdl,Hdr);
axis([0,1,-0.1,1.1]);title('频率样本  N=60')
xlabel('频率(单位:pi)');ylabel('h(n)');
subplot(2,2,2);stem(L,h);axis([-1,N,-0.1,0.3]);
title('脉冲响应');xlabel('n');ylabel('h(n)');
m1=[0 0];m2=[-1 60];line(m2,m1)
subplot(2,2,3);plot(ww/pi,Hr);
axis([0,1,-0.2,1.2]);title('振幅响应')
xlabel('频率(单位:pi)');ylabel('Hr(w)');
subplot(2,2,4);plot(w/pi,db);
axis([0,1,-60,10]);title('幅度响应')
xlabel('频率(单位:pi)');ylabel('dB');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -