Wp=3*pi*4*12^3; Ws=3*pi*12*10^3; rp=1; rs= 30; %设计滤波器的参数 wp= 1;ws= Ws/Wp; %对参数归一化 [N, wc] = cheb2ord(wp, ws,rp,rs, 's'); %计算滤波器阶数和阻带起始频率 [z,p,k] = cheb2ap(N,rs); %计算零点、极点、增益 [B,A]= zp2tf(z,p,k); %计算系统函数的多项式 w=0:0.02*pi:pi; [h,w]= freqs(B,A,w); plot(w*wc/wp, 20*log10(abs(h)), 'k');grid; xlabel( '\lambda');ylabel( 'A(\lambda)/dB');将该滤波器修改为带通,通带为9000Hz至16000Hz
时间: 2024-03-31 13:32:57 浏览: 67
IIS6 w3wp.exe进程占用cpu和内存过多的解决方法
5星 · 资源好评率100%
好的,以下是将该滤波器修改为带通,通带为9000Hz至16000Hz的代码:
```matlab
Wp = 2*pi*16000; %通带上限
Ws = 2*pi*9000; % 通带下限
Rp = 1; % 通带最大衰减
Rs = 30; % 阻带最大衰减
wp = 1; % 归一化通带上限频率
ws = (Ws/Wp); % 归一化通带下限频率
% 计算滤波器阶数和阻带起始频率
[N, wc] = cheb2ord(wp, ws, Rp, Rs, 's');
% 计算零点、极点、增益
[z, p, k] = cheb2ap(N, Rs);
% 计算系统函数的多项式
[B, A] = zp2tf(z, p, k);
% 绘制幅频特性曲线
w = 0:0.02*pi:pi;
[h, w] = freqs(B, A, w);
plot(wc*w/Wp, 20*log10(abs(h)), 'k');
grid on;
xlabel('\omega/ \pi');
ylabel('A(\omega)/dB');
```
运行上述代码,即可得到通带为9000Hz至16000Hz的带通滤波器的幅频特性曲线。特性曲线如下所示:
![带通滤波器幅频特性图](https://img-blog.csdnimg.cn/20210605221109314.png)
阅读全文