data to transfer function (idfrd) error
    2 次查看(过去 30 天)
  
       显示 更早的评论
    
data = importdata ('C:\Users\sangwoo\Desktop\mash_change_500Hz_tf.mat');
freq = 1:1:500;   % frequency range
w = freq*2*pi; %angle freq
frf = data;   % FRF complex number 
Fs = 500*2*32;
Ts = 1/Fs;
np = 10; %number of poles
nz = 10; %number of zeros
%% 1 iddata 
gfr = idfrd(frf,w,Ts) 
%% 2 system 
sys = tfest(gfr,np,nz)
%% 3 num, den 
num = sys.Numerator;
den = sys.Denominator;
% 
% %% 4 continuous transfer function
% 
G = tf([num],[den]);
figure(1)
bode(G)
figure(2)
semilogx(2*pi*freq,20*log10(abs(frf))) %compare 
left is plot from data                                                              right is plot of G    ; rad/s and magnitude at resonance is not matched
at tfest process, matlab tell accuracy is 99.7 percent. so i think gfr = tfest. but at idfrd process, some bad think happened. please give me some help to make accurate model

采纳的回答
更多回答(0 个)
另请参阅
类别
				在 Help Center 和 File Exchange 中查找有关 Transfer Function Models 的更多信息
			
	Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!

