问题与级联离散时间系统的波德图

2视图(30天)
波德图的两个离散时间系统的级联连接是一个意想不到的结果。我用MATLAB 2017 b。获得意想不到的波德图与MATLAB和预期获得的波德图的Wolfram Mathematica casacade所示的系统。是什么原因和MATLAB获得意想不到的波德图吗?我怎么能得到相同的波德图和Wolfram Mathematica获得吗?
把离散时间系统G1和G2的波德图如下所示:
2意想不到的波德图系统的G1 * G2,串联连接的G1和G2如下所示:
第三预期获得的波德图的软件Wolfram Mathematica如下所示:
的脚本中使用MATLAB如下所示:
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
Ts = 1/39960;
num1 = 1.0 e + 02。* (0.031539179206086, -0.218479792518950, 0.648677356726311, -1.070054451616472, 1.059168924735488, -0.629079503155372, 0.207587755626987, -0.029359469003776);
den1 = (1.0, -6.878539169404124, 20.274720364621878, -33.195141325571285, 32.604147581404845, -19.210710652654448, 6.287177056909766, -0.881653855287863);
G1 = filt (num1 den1, Ts);
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
num2 = [0, 0, 0.030214737804111, -0.106047418049407, 0.152721406591927, -0.106047418049407, 0.030214737804111)
den2 = (1.0, -4.192774816029949, 7.580364905504299, -7.484428436489121, 4.192774816029949, -1.256799136009598, 0.160862666994420)
G2 = filt (num2 den2, Ts);
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
G1G2 =系列(G1, G2)
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
波德(G1, ' b ')
持有
波德(G2,“r”)
h = gcr;
h.AxesGrid。xunit =“赫兹”;
网格;
xlim ([40000])
h2 = findobj (gcf,“类型”,“线”);
集(h2,“线宽”,1);
h2 = findobj (gcf '类型','文本');
集(h2,字形大小,12);
传奇(G1, G2的)
% % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % % %
波德(G1G2“m”)
h = gcr;
h.AxesGrid。xunit =“赫兹”;
网格;
xlim ([40000])
h2 = findobj (gcf,“类型”,“线”);
集(h2,“线宽”,1);
h2 = findobj (gcf '类型','文本');
集(h2,字形大小,12);
传奇(G1 * G2)
4评论
分钟南朴
分钟南朴 2020年10月24日
很抱歉打扰了。我没有使用Mathematica之前,请告诉我这是脂肪酸的波德图的数学吗?谢谢你!

登录置评。

接受的答案

保罗
保罗 2020年10月24日
我不能告诉你为什么你的结果是不准确的;我怀疑这与数值问题如何春秋国旅发展G1G2特遣部队的形式。但是,我可以说,一般来说最好是避免tf形式和使用zpk或ss。在这种情况下,你会得到预期的结果如果你G1G2形式为:
G1G2 = zpk (G1) * zpk (G2)
2的评论
里卡多年代
里卡多年代 2020年10月25日
非常感谢你的建议,使用G1G2 = zpk (G1) * zpk (G2)预期的波德图出现了。

登录置评。

答案(1)

德国Hulgich
德国Hulgich 2022年4月19日
你好,我也有同样的问题,但解决办法是行不通的。2021年我有MATLAB。
我有3次相同的实现:G1 = G2 = G3 = filt (num1 den1 1 /作用);(与tf()我还测试了)
你= 20 e6;
index1 = 256;
den1 = [1];
num1 = 2:0.0: index1-1;
num1 (index1) = 1;
num1 (1) = 1;
传递函数是:
1 - z ^ -256
- - - - - - - - - - -
1 - z ^ 1
每一个的bodeplot:波德(G1)
但是当我画出3人同时预示(G1 * G2 * G3)
最好的问候,
2的评论
德国Hulgich
德国Hulgich 2022年5月3日
它的工作原理。我认为我用另一个函数的错误。可能pzmap代替zpk。
坏的。谢谢你的帮助。

登录置评。

社区寻宝

找到宝藏在MATLAB中央,发现社区如何帮助你!

开始狩猎!