我最近在做一个滤波器的东西,要用matlab 计算.下面的东西就是在从书上找出的一段程序,但是好像不是行.
请大家帮帮忙.
广义切比雪夫的传输零点提取:
clc
clear
RL=22;
c=sqrt(10^(RL/1O)-1);
ep=1/c;
ws=5
Ar=22;
Ass=70;
m=2000;
b=0;
for As=Ass:0.1:100;
b=0;
v1=acosh(10^((Ar+As)/20);
for n=4:1:14
y=v1-(n-1)*acosh(ws);
if y<0
disp('不合要求');
break;
end;
v2=cosh(v1-(n-1)*acosh(ws));
w1=(6-6.4);
dw=x/m;
if w1<ws
k=0;
for w=(4.4):dw:(6);
Ls=10*log10((1+ep^2*cosh(acosh(w*w1-1)/(w-w1))+(n-1)*acos(w))*cosh(acosh(w*w1-1)*acosh(w))));
if Ls<(As)
break;
end;
k=k+1;
end
if k==(m+1)
disp('得到解');
b=1;
break;
end;
end
if b==1
break;
else
n=n+1;
end
end
if b==1
for w=-3;0.01;3;
As1=10*log10(abs(1/(1+ep^2*cosh(acosh((w*w1-1)/(w-w1)+(n+1)*acosh(w))*cosh(acosh((w*w1-1)/(w-w1))+(n-1)*acosh(w))))));
figure(1);
hold on
plot(w,As1,'-');
end
break;
end
end
legend('传输特性');
xlabel('归一化频率');
ylabel('衰减(db)');
As
n
k
wl
运行一后提示
??? Error using ==> filter
Not enough input arguments.
请大家帮帮忙,改一下,谢谢了.
[此贴子已经被作者于2006-4-26 11:52:51编辑过]