![]() |
求助高手!如何利用双线性变换法设计模拟低通滤波器。
1.用双线性变换法设计一个数字低通滤波器。模拟低通滤波器用BW型低通滤波器。设系统的抽样频率为44.1kHZ。所设计的数字滤波器要能取代具有下列指标的模拟低通滤波器。
fp=2000hz fs=10000hz Ap=0.5db As=50db 我设计的仿真程序如下: Wp=4000*pi; Ws=20000*pi; Ap=0.5; As=50;%分别定义了通带、阻带截频以及最大最小衰减 Fs=441000; %抽样频率为441000hz wp=2*tan(Wp/2)/T;ws=2*tan(Ws/2)/T;%利用模拟低通滤波器的特性。 [N,wc]=buttord(wp,ws,Ap,As,'s')%选用bw型 低通滤波器 [numa,dena]=butter(N,wc,'s') [numd,dend]=bilinear(numa,dena,Fs) w=linspace(0,pi,1024);%输出频率响应 h=freqz(numd,dend,w); plot(w/pi,20*log10(abs(h))); axis([0 1 -50 0]);grid; xlabel('频率'); ylabel('幅度响应,dB'); w=[Wp Ws];h=freqz(numd,dend,w); fprintf('Ap= %.4f\n',-20*log10( abs(h(1)))); fprintf('As= %.4f\n',-20*log10( abs(h(2)))); 可是当运行matlab时 系统说我:??? Error using ==> buttord at 42 The cutoff frequencies must be non-negative for analog filters. 请问高手如何解决!!谢谢! |
所有时间均为北京时间。现在的时间是 11:26。 |
Powered by vBulletin
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.