问题与级联离散时间系统的波德图
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)
接受的答案
保罗
2020年10月24日
我不能告诉你为什么你的结果是不准确的;我怀疑这与数值问题如何春秋国旅发展G1G2特遣部队的形式。但是,我可以说,一般来说最好是避免tf形式和使用zpk或ss。在这种情况下,你会得到预期的结果如果你G1G2形式为:
G1G2 = zpk (G1) * zpk (G2)
答案(1)
德国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)
最好的问候,