Labfans是一个针对大学生、工程师和科研工作者的技术社区。 | 论坛首页 | 联系我们(Contact Us) |
![]() |
|
![]() |
#1 |
初级会员
注册日期: 2018-05-29
年龄: 27
帖子: 1
声望力: 0 ![]() |
![]()
要求用双线性变换法设计一个butterworth数字高通滤波器,Wp=0.11*pi,Ws=0.0925*pi,Ap=1,As=50,我用这个代码:
Wp=0.11*pi; Ws=0.0925*pi; Ap=1; As=20; T=2;Fs=1/T; wp=2*tan(Wp/2)/T;ws=2*tan(Ws/2)/T;wp1=1/wp;ws1=1/ws; [N,wc]=buttord(wp1,ws1,Ap,As,'s'); [num,den]=butter(N,wc,'s'); [numa,dena]=lp2hp(num,den,1); [numd,dend]=bilinear(numa,dena,Fs); w=linspace(0,pi,1024); h=freqz(numd,dend,w); plot(w/pi,20*log10(abs(h)));然后会出现这个问题:矩阵接近奇异值,或者缩放错误。 请问这是什么原因,该如何解决,或者可以用别的什么代码实现吗? 多谢! |
![]() |
![]() |