How can I simulate a LTI system with complex data?
1 回表示 (過去 30 日間)
古いコメントを表示
Hello,
I wrote a simple code to to simulate a LTI system:
% -----------------------------------------------------------
N = 200; t0 = 0.0;
t1 = 50.0;
T = t1-t0;
dt = T/(Nsteps-1);
time = (t0:dt:t1)';
f = zeros(N,1);
m = 1;
c = 1;
K = 5;
H = tf(1,[-m i*c k]);
h = impulse(H,time);
x = conv(f,h);
% -----------------------------------------------------------
But using the code above I receive the following message:
Cannot simulate the time response of LTI models with complex data.
Is there any way to compute the unit impulse response for a transfer function with complex entries?
I also appreciate other suggestions to solve this problem.
Thanks in advance.
Americo
0 件のコメント
回答 (3 件)
Gurudatha Pai
2011 年 6 月 18 日
It looks like impulse() function does not take continuous time systems with complex coefficients; However, if I were to just solve this problem, you system has a unstable complex pole pair and no zeros. It would be a matter of using exponential functions with of the roots of denominator polynomial. Does that makes sense?
0 件のコメント
Rajiv Singh
2011 年 6 月 19 日
Simulation (time domain response calculation) of complex LTIs is not supported. You can cast is into a real system (as Gurudatha suggests), or convert your system into a model type used by System Identification Toolbox: H2 = idss(H); h2 = impulse(H2,time);
0 件のコメント
Rahim Gholami
2018 年 12 月 11 日
Hi. I want to use rlocus for a complex dynamic system.
Y=tf([1,3,2],[1,-1-i,i]);
rlocus(Y);
But I got the same eror.
Is there any way so that I can fix it?
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Control System Toolbox についてさらに検索
製品
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!