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!