How can I simulate a LTI system with complex data?

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일

0 개 추천

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일

0 개 추천

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일

0 개 추천

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?

카테고리

제품

질문:

2011년 2월 9일

답변:

2018년 12월 11일

Community Treasure Hunt

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

Start Hunting!

Translated by