How can I simulate a LTI system with complex data?

1 回表示 (過去 30 日間)
Americo Cunha
Americo Cunha 2011 年 2 月 9 日
回答済み: Rahim Gholami 2018 年 12 月 11 日
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

回答 (3 件)

Gurudatha Pai
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?

Rajiv Singh
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);

Rahim Gholami
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?

カテゴリ

Help Center および File ExchangeControl System Toolbox についてさらに検索

製品

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by