Difference between bode and my calculation of amplitude of the frequency response

5 次查看(过去 30 天)
Hi every one, I want to calculate the frequency response of a system, for example :
I dont know why my answer is different from tf and bode function of MATLAB: I substitute s with jw and use abs function as below: fre=linspace(1e-1,100,100); omg=2*1i*pi.*fre; H=tf([1,0],[1,2,3]); bode(H) figure Hm=(omg)./((omg).^2+2.*omg+3); semilogx(fre,20.*log10(abs(Hm))) (I mean the amplitude part). It seems my calculation is wrong but I need to use my method instead of tf function. How can I fix it? Sorry. I am not an electrical engeering student and perhaps my question is very simple!! many thanks in advance

采纳的回答

Star Strider
Star Strider 2022-2-26
The ‘fre’ vector needs to be created in logspace and it then needs to be divided by because the frequency axis is in rad/sec. Then, it matches reasonably closely to the bode result.
fre=logspace(-1,2,100)/(2*pi);
omg=2*1i*pi.*fre;
H=tf([1,0],[1,2,3]);
bode(H)
figure
Hm=omg./((omg).^2 + 2.*omg + 3);
semilogx(fre*2*pi,20.*log10(abs(Hm)))
.
  4 个评论

请先登录,再进行评论。

更多回答(0 个)

产品


版本

R2021b

Community Treasure Hunt

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

Start Hunting!

Translated by