How to make bode plot of transfer function
117 views (last 30 days)
Show older comments
Hello, i am trying to make a bode plot of the transfer function of a twin-t notch filter, that i am analyzing. I was able to produce the transfer function, and the bode plot by hand, but i am struggling to do it in Matlab, here is what i have so far:
r=320; %Resistance
c=100*10^-9; %Capactiance
p=(1/(r.*c)); %Beta
a=0.95; %Signma, adjusts the wiper of a potentiometer
f=(5000); %Target Frequency
s= (1i*f);
h=((s^2 + p^2) ./ (s^2+4*p*s*(1-a)+p^2)); %Transfer function
mh=abs(h); %Magitude of h
ah=angle(h); %Phase angle of h, in rads.
I am trying to plot the body function, and here is one i made for the transfer function H=2/(s+1):
% Example Transfer Function: g(s) = 2/(s+1)
% Numerator num = [2]; % Denominator den = [1 1];
% Transfer Function G = tf(num, den)
% Plot Frequency Response bode(G), grid
My question is, how would i represent the numerator and the denominator, since they are both powers of of s, which from my understanding the computer understands as s=jw, and thus i solved the transfer function as such. I have tried to understand how exactly the bode function takes it inputs, but i am not understanding that...
Any help would be great!!!
Thanks, Mike
4 Comments
Sam Chak
on 11 Apr 2024
@Harsh, No error at line 6, if you run exactly the same code. Unless, you defined something else at lines 2 and 4.
% Numerator % Line 1
num = [2]; % Line 2
% Denominator % Line 3
den = [1 1]; % Line 4
% Transfer Function % Line 5
G = tf(num, den) % Line 6
% Plot Frequency Response
bode(G), grid
Accepted Answer
Star Strider
on 15 Apr 2016
Your transfer function would use:
num = [1 0 p^2];
den = [1 4*p*(1-a) p^2];
I’m certain you can take it from there.
Also, remember that the bode function can output the results of its computations, and the bodeplot function allows you to tweak its behaviour.
6 Comments
Prasad Adavi
on 19 Oct 2022
r=320; %Resistance
c=100*10^-9; %Capactiance
p=(1/(r.*c)); %Beta
a=0.95; %Signma, adjusts the wiper of a potentiometer
f=(5000); %Target Frequency
s= (1i*f);
%h=((s^2 + p^2) ./ (s^2+4*p*s*(1-a)+p^2)); %Transfer function
num = [1 0 p^2];
den = [1 4*p*(1-a) p^2];
h=tf(num,den)
bode(h), grid
Star Strider
on 19 Oct 2022
Easier —
r=320; %Resistance
c=100*10^-9; %Capactiance
p=(1/(r.*c)); %Beta
a=0.95; %Signma, adjusts the wiper of a potentiometer
f=(5000); %Target Frequency
% s= (1i*f);
s = tf('s');
h=((s^2 + p^2) / (s^2+4*p*s*(1-a)+p^2)); %Transfer function
% num = [1 0 p^2];
% den = [1 4*p*(1-a) p^2];
% h=tf(num,den)
bode(h), grid
.
More Answers (0)
See Also
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!