Incorrect Frequency response from Transfer Function

2 views (last 30 days)
kevin Russell
kevin Russell on 18 Mar 2022
Edited: Paul on 18 Mar 2022
So I was trying to model the frequency response from a transfer function from an already known output. I'm unsure why my frequencies are way higher than the samples.
Here is the transfer function:
my code:
b = [1 0 0];
a = [1 909.09090909091 206611.57024793];
w = logspace(0,6);
h = freqs(b,a,w);
dB = mag2db(abs(h));
phase = angle(h);
phasedeg = phase*180/pi;
grid on
xlabel('Frequency (hz)')
ylabel('Magnitude (dB)')
grid on
xlabel('Frequency (hz)')
ylabel('Phase (degrees)')
%calculate cut off frecuecy
my output:
Correct output:

Accepted Answer

Paul on 18 Mar 2022
Edited: Paul on 18 Mar 2022
The frequency input to freqs is in rad/sec. If you want to match the correct output, the code will at least need to be:
whz = logspace(-1,4,500);
h = freqs(b,a,whz*2*pi); % edit: originally had freqz, not freqs
% etc.

More Answers (0)

Community Treasure Hunt

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

Start Hunting!