![](/img/trans.png)
[英]Problem with defining a transfer function for Bode plot in MATLAB
[英]Find transfer function from bode plot in matlab
我已经获得了系统的波特图。 该系统似乎具有非常复杂的幅度和相位图。 手动找不到传递函数是不可能的。 有没有办法从大小和相位数据中找到传递函数,在Matlab中?
这是我的代码:
%%FFT method for finding Transfer Function
load testdata2.mat;
input = fft(signal(:,1));
% FFT of input data
output = fft(signal(:,2));
% FFT of output data
fft_ratio = output ./ input;
subplot(2,1,1)
%Magnitude
semilogx(20*log10(abs(fft_ratio)))
subplot(2,1,2)
%Phase
semilogx((180/pi)*angle(fft_ratio))
mag = 20*log10(abs(fft_ratio));
phase = (180/pi)*angle(fft_ratio);
我不相信,这不是Matlab的错。 这个问题在数学上是不平凡的,因为传递函数的极点和零点可能处于大的虚频率。 这些可能不会显着影响波德情节,但你会如何排除它们的存在?
我认为你最好的选择是将波德图调整到合理的传递函数,并且只是在传递函数中增加极点和零点数,直到你得到可接受的协议。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.