求:高手帮忙画出附件中传递函数的幅频响应图,多谢!
我已经试了两天了,还没有对,请高手指教一下,多谢!急需!!! L=19;b=0.40651;
C= [-0.0097033 -0.024083 0.011667 0.03199 -0.0019712 0.013463 0.16639 0.32107 0.25735 0.0068313 -0.1513 -0.072642 0.067968 0.062798 -0.037318 -0.05813 0.010752 0.041062 -0.00097694 -0.026508];
A=1;
B=;
H0=tf(,);
for i=1:1:L
A=conv([-b,1],);%%分子
B=conv(,);
D=C(i)*sqrt(1-b*b);
num=D*A;
den=B;
H=tf(num,den,0.1)%%Ts=0.1S离散系统 是否要 请试试
HH=H+H0;
end
HH=HH-H0;
figure;
bode(H)
仅供参考,请批评指正! 多谢,上面的tf,bode函数应该都是控制工具箱的吧,我也不知道这样对不对。我参考了您上面求出的分子分母系数,然后用了
b,a分别为分子分母幂次从高到低排列的系数。
=freqz(b,a);
subplot(311);plot(w,abs(h));grid;
axis();
subplot(312);plot(w,20*log10(abs(h)));grid;
axis();
subplot(313);plot(w,unwrap(angle(h)));grid;
axis();
运行后结果不理想,不知道是否应该用信号处理工具箱的函数进行编程? 好像我理解错了,
按照我的思路的话,你给出的公式应该是S域的,你把你的公式转换到S域,再用我上面的思路,应该就可以了!
Bode应该可以啊,你就是求幅频响应吗!按我的程序运行后的图形,看起来是思路应该没有问题. 非常感谢你的耐心回帖。我是想要z域的幅频响应图,其结果应该是跟附件中的差不多,麻烦帮忙看一下,多谢! 我可以用什么函数直接求出传递函数分子分母的系数吗?看到你程序得到的分子分母系数(很想也这样求出我需要的分子分母系数)。在Z域是不是就不同了?因为我用了你给出程序里面的系数得出的图不对。我不知道是不是系数不对,麻烦了,谢谢! 我今天好好想了下,感觉我那个程序应该是可以的!幅频响应可以用控制工具来做!
我认为:你好好看你的问题,可能问题本身有问题!同时,你的数据是不是再检验一下!
要不你把你的问题完整的贴出,或发个邮件,一起探讨!(2000cqs@163.com) 你好,我将详细点的说明已发到你的邮箱,多谢指教! 我用freqz(b,a);将系数编程求出的,就是分子分母都累加和形式!
图形如下:对否? 你好:从图看应该是对的,能给我程序参考一下吗,多谢! 哈哈,不给哦,花了我一个晚上,更是让我生气了是:简单方法没有试出来,只能用笨方法,所以这个东西不能见人的哦!
你好像也已经做出来了吧! 我得出了一些系数但是得出的形式是元胞数组,我不会用里面的数据,能否指点下。 我用自己求出的系数笨笨的代进去也没有得出好的结果 对形式是元胞数组,可用这样的形式来读出num{1,1}
从你的图形上来看,我认为:你把某些项可能丢了,总共有20项累加,请注意!
还有:系数以Z的负次方递增,freqz(b,a);b,a值中的顺序别弄反了!
好运 谢谢你的回复。
syms z;
=numden(transfer1(19));
f1=maple('sort',n,z);
N=maple('degree',f1,z);
N=eval(N);
for j=0:N-1;
temp=maple('coeff',f1,z,N-j);
B{1,j+1}={temp};
end
celldisp(B)
f2=maple('sort',d,z);
D=maple('degree',f1,z);
D=eval(D);
for i=0:D-1;
temp=maple('coeff',f2,z,D-i);
A{1,i+1}={temp};
end
celldisp(A)
我利用上面的程序求的系数,不知道对不对。其中transfer是H(z)的表达式。结果是以Z的幂降次排序,我用得出的系数画出了上面的图,我也不知道问题在哪里?
页:
[1]
2