中易网

The A matrix must be square

答案:1  悬赏:40  
解决时间 2021-04-27 17:50
  • 提问者网友:朱砂泪
  • 2021-04-27 13:33

程序为:

%通过模拟低通原型滤波器进行数字带通设计程序:
fp=480                                     %模拟低通通带上限频率
fs=520                                     %模拟低通阻带下限频率
wp=2*pi*fp                                 %模拟低通通带上限角频率
ws=2*pi*fs                                 %模拟低通阻带下限角频率
rp=3                                       %通带波动
rs=20                                      %阻带衰减
%巴特沃斯模拟低通原型滤波器设计
[n,wn]=buttord(wp,ws,rp,rs,'s')
[z,p,k]=buttap(n);                  %模拟低通原型零、极点系数
[b1,a1]=zp2tf(z,p,k)                       %零、极点系数转换为传递函数
%巴特沃斯模拟低通原型滤波器频率响应
[h1,w1]=freqs(b1,a1)
mag1=abs(h1)
%模拟低通原型滤波器幅频特性曲线
subplot(221);semilogx(w1,mag1)
fw=40                                       %模拟带通滤波器带宽频率
bw=sqrt(2*pi*fw)                                  %模拟带通滤波器带宽角频率
%由模拟低通原型转变为模拟带通滤波器
[b2,a2]=lp2hp(b1,a1,wn,bw)                 %模拟带通滤波函数
%巴特沃斯模拟带通滤波器频率响应
[h2,w2]=freqs(b2,a2)
mag2=abs(h2)
%模拟带通滤波器幅频特性曲线(db)
subplot(222);plot(20*log10(mag2))
%冲击响应不变法进行离散化设计
fo=2000         %采样频率
[bz,az]=impinvar(b2,a2,2000)                %数字带通滤波函数系数
%巴特沃斯数字带通滤波器频率响应
[hz,w]=freqz(bz,az)
magz=abs(hz)
phz=unwrap(angle(hz))
subplot(223);plot(magz)                    %数字带通滤波器幅频特性曲线
subplot(224);plot(phz)                    %数字带通滤波器相频特性曲线

运行的时候出现:


??? Error using ==> lp2hp
The A matrix must be square

Error in ==> nb at 20
[b2,a2]=lp2hp(b1,a1,wn,bw)  

是怎么回事???劳烦哪位大哥解释下?

最佳答案
  • 二级知识专家网友:虚伪的现实
  • 2021-04-27 14:45

就是这么回事!!

我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息