Is it possible that ploting bode diagram without transfer fuction?

45 views (last 30 days)
Hi everyone,
Is it possible that ploting bode diagram without transfer fuction?
I have some values of the Power and the Speed as inputs and some output values in excel format. However the transfer fuction of the system has not been defined.
Are there any one who knows any method or code to plotting bode diagram without transfer function?

Accepted Answer

Star Strider
Star Strider on 16 Dec 2019
Yes. Use the fft function.
input = randn(1, 10000);
output = randn(1, 10000);
time = linspace(0, 1000, 10000);
Fs = 100; % Sampling Frequency
Fn = Fs/2; % Nyquist Frequency
L = numel(time);
FTinp = fft(input)/L;
FTout = fft(output)/L;
TF = FTout ./ FTinp; % Transfer Function
Fv = linspace(0, 1, fix(L/2)+1)*Fn; % Frequency Vector
Iv = 1:numel(Fv); % Index Vector
figure
subplot(2,1,1)
plot(Fv, 20*log10(abs(TF(Iv))))
title('Amplitude')
ylabel('dB')
subplot(2,1,2)
plot(Fv, angle(TF(Iv))*180/pi)
title('Phase')
ylabel('°')
Provide your own vectors for ‘input’, ‘output’, and ‘time’.

More Answers (0)

Categories

Find more on Get Started with Control System Toolbox in Help Center and File Exchange

Community Treasure Hunt

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

Start Hunting!