How to interpret the amplitude of impulse() results
12 ビュー (過去 30 日間)
古いコメントを表示
Hi,
For the given transfer function, if I want to use the impulse response to conv any input signals to the system (a step function for example), the amplitude of output will be wrong.
In general, how can I use the impulse response to realize the sample functionality as lsim()?
Thanks in advance!
/HG
% RC low pass filter
fco = 0.7e9;
wco = fco * 2 * pi;
tau = 1 / wco;
num = [1];
den = [1/wco, 1];
% check tf model
figure
sys = tf(num, den)
bode(sys)
figure
step(sys)
figure
impulse(sys)
0 件のコメント
採用された回答
David Goodmanson
2024 年 4 月 30 日
編集済み: David Goodmanson
2024 年 5 月 1 日
Hi HG,
the large ampltude of the impulse response is correct. (has the original question been edited?) This has to be the case since the step response is the time integral of the impulse response. The step response = 1 for large t, Since the width of the impulse response is tiny, its amplitude must be large. Just eyeballing the impulse response 3x10^9 * .4x10^(-9) = 1.2, which works.
impulse response:
let a = 2.274e-10 let impulse response = (1/a) e^(-t/a) % very large amplitude
Laplace transform to check:
Int{0,inf} (1/a) e^(-t/a)*e^(-st) dt = (1/a) * 1/(s+1/a) = 1/(a*s +1) % ok
For the step response, integration in time gives an extra factor of 1/s in the s domain.
let step response = Int{0,t} (1/a) e^(-tau/a) dtau = 1 - e^(-t/a)
Laplace transform to check:
Int{0,inf} (1-e^(-t/a))*e^(-st) dt = 1/s - 1/(s+1/a) = (1/a)/(s*(s+1/a))
= 1/(s*(a*s +1)) % ok
0 件のコメント
その他の回答 (1 件)
Paul
2024 年 4 月 30 日
It sounds like the code needs to account for the difference between the convolution sum, as computed by conv, and the convolution integral, which is what really applies for continuous-time systems. Would be easier to help if you showed the complete code where the amplitude of the output is wrong.
0 件のコメント
参考
カテゴリ
Help Center および File Exchange で Stability Analysis についてさらに検索
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!