example9_12.m

来自「原名:数字信号处理基础及MATLAB实现,解压缩密码:lfjk2002@163.」· M 代码 · 共 27 行

M
27
字号
%例9-12, example9_12
%利用Parks-McClellan算法设计理想低通滤波器
%设计条件:wp=0.2pi;ws=0.3pi;Rp=0.25dB;Ar=50dB;
wp=0.2*pi;ws=0.3*pi;Rp=0.25;Ar=50;
delta1=(10^(Rp/20)-1)/(10^(Rp/20)+1);
delta2=(1+delta1)*(10^(-Ar/20));
deltaH=max(delta1,delta2);
deltaL=min(delta1,delta2);
weights=[delta2/delta1 1];
deltaf=(ws-wp)/(2*pi);
N=ceil((-20*log10(sqrt(delta1*delta2))-13)/(14.6*deltaf)+1);
N=N+4             %修正
f=[0 wp/pi ws/pi 1];
m=[1 1 0 0];
h=remez(N-1,f,m,weights);
[db,mag,pha,grd,w]=freqz_m(h,[1]);
delta_w=2*pi/1000;wsi=ws/delta_w+1;wpi=wp/delta_w;
Asd=-max(db(wsi:1:501))
%画图
figure(1)
subplot(2,1,1);stem([0:1:N-1],h);
axis([0,N-1,-0.1,0.3]);title('实际脉冲响应')
xlabel('n');ylabel('h(n)');
m1=[0 0];m2=[-1 45];line(m2,m1)
subplot(2,1,2);plot(w/pi,db);
axis([0,1,-80,10]);title('幅度响应  dB')
xlabel('频率(单位:pi)');ylabel('分贝');

⌨️ 快捷键说明

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