How to make bode plot of transfer function

1,233 views (last 30 days)
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
  3 Comments
Harsh
Harsh on 11 Apr 2024 at 6:59
Error in dfasd (line 6)
G = tf(num , den)
I am getting error
Sam Chak
Sam Chak on 11 Apr 2024 at 7:19
@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
G = 2 ----- s + 1 Continuous-time transfer function.
% Plot Frequency Response
bode(G), grid

Sign in to comment.

Accepted Answer

Star Strider
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
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
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
.

Sign in to comment.

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!