How to calculate the norm of the transfer function in frequency domain?
4 次查看(过去 30 天)
显示 更早的评论
To calculate the norm of the transfer function by substituting s=jω is troublesome, especially for some complicated transfer functions. Is there a way to calculate the norm directly? Thanks!
For example, transfer funciton:

Substituting s=jω,

then,


Thus we can plot the figure in frequency domain,

Matlab code:
omega=0:0.01:10;
G1_N=0.25e-2 .* omega .^ 2 + 0.1e1;
G1_D=((2 .* omega) - 0.15e0 .* (omega .^ 3)) .^ 2 + (0.1e1 + 0.5e-2 .* (omega .^ 4) - (omega .^ 2)) .^ 2;
G1=sqrt(G1_N ./ G1_D);
plot(omega,G1)
0 个评论
采纳的回答
William Rose
2022-3-13
You don't need to multiply the function by its complex conjugate to get a purely real denominator. Just divide complex numerator by the complex denominator, to get a new complex number, and take the abs() of it.
3 个评论
更多回答(1 个)
Paul
2022-3-13
Check out
doc tf
to learn how to create a transfer function (tf) object. Once you have G(s) defined as a tf object use bode() to compute its magnitude (and phase if desired)
doc bode
3 个评论
Paul
2022-3-13
Actually, I was thinking of the Control System Toolbox. I'm not famiiar with the System ID toolbox.
If just wanting to use base Matlab, I'd probably use polyval().
另请参阅
类别
在 Help Center 和 File Exchange 中查找有关 Dynamic System Models 的更多信息
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!