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

📄 example9_13.m

📁 原名:数字信号处理基础及MATLAB实现,解压缩密码:lfjk2002@163.com
💻 M
字号:
%例9-13, example9_13
%利用Parks-McClellan算法设计带通滤波器
%设计条件:wp1=0.35pi;wp2=0.65pi;ws1=0.2pi;ws2=0.8pi;Rp=1dB;Ar=60dB;
wp1=0.35*pi;wp2=0.65*pi;ws1=0.2*pi;ws2=0.8*pi;Rp=1;Ar=60;
delta1=(10^(Rp/20)-1)/(10^(Rp/20)+1);
delta2=(1+delta1)*(10^(-Ar/20));
deltaH=max(delta1,delta2);
deltaL=min(delta1,delta2);
weights=[1 delta2/delta1 1];
deltaf=min((ws2-wp2)/(2*pi),(wp1-ws1)/(2*pi));
N=ceil((-20*log10(sqrt(delta1*delta2))-13)/(14.6*deltaf)+1);
N=N+1             %修正
f=[0 ws1/pi wp1/pi wp2/pi ws2/pi 1];
m=[0 0 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;
ws1i=floor(ws1/delta_w)+1;wp1i=floor(wp1/delta_w)+1;
ws2i=floor(ws2/delta_w)+1;wp2i=floor(wp2/delta_w)+1;
Asd=-max(db(1:1:ws1i))
%画图
figure(1)
subplot(2,1,1);stem([0:1:N-1],h);
axis([0,N-1,-0.4,0.5]);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 + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -