Effacer les filtres
Effacer les filtres

Finding the Transfer Function of resonance system

6 vues (au cours des 30 derniers jours)
Saulius Janusauskas
Saulius Janusauskas le 18 Mar 2016
Commenté : Star Strider le 19 Mar 2016
How can I obtain a transfer function of uout(t) and uin(t) ? Is there any way to find it using MATLAB/Simulink ?
Any help would be appreciated. Thanks!

Réponse acceptée

Star Strider
Star Strider le 19 Mar 2016
If you have the Symboli cMath Toolbox, the analysis of that circuit is straightforward:
syms R1 Ramp L C vi vo f t A
iR1 = (vi - vo)/R1;
iL = vo/s*L;
iC = vo*s*C;
iRa = vo/Ramp;
Node1 = iR1 == (iL + iC + iRa);
vo = solve(Node1, vo);
H = simplify(collect(vo/vi, s), 'steps',10)
Hsub = vpa(subs(H, {R1, L, C}, {60E+3, 2E-3, 5.3E-12}), 6) % Transfer Function
H =
(Ramp*s)/(C*R1*Ramp*s^2 + (R1 + Ramp)*s + L*R1*Ramp)
Hsub =
(Ramp*s)/(3.18e-7*Ramp*s^2 + (Ramp + 60000.0)*s + 120.0*Ramp)
Without knowing what ‘Ramp’ is, a plot is impossible.
Note that:
Vin = A*cos(2*pi*f*t);
so to solve for the output voltage given the input voltage, you have to take the Laplace transform of ‘Vin’ and substitute it in the ‘Node1’ equation:
Node1 = iR1 == (iL + iC + iRa);
Vins = laplace(A*cos(2*pi*f*t)); % Laplace Transform Of ‘Vin’
Node1 = subs(Node1, {R1, L, C, vi}, {60E+3, 2E-3, 5.3E-12, Vins}); % Substitute Component Values & ‘Vin’
Vout = solve(Node1, vo);
Vout = vpa(collect(Vout.vo, s), 6) % Vout
Vout =
(3.86856e25*A*Ramp*s^2)/(s*(1.52725e27*Ramp*f^2 + 9.16348e31*f^2) + 1.8327e29*Ramp*f^2 + 1.2302e19*Ramp*s^4 + s^2*(4.85665e20*Ramp*f^2 + 4.64228e27*Ramp) + s^3*(3.86856e25*Ramp + 2.32114e30))
  2 commentaires
Saulius Janusauskas
Saulius Janusauskas le 19 Mar 2016
Modifié(e) : Saulius Janusauskas le 19 Mar 2016
Hey, this is amazing. What if we assume that Ramp is infinity? Would it help to solve the whole circuit ? Also, I attached some starting points that describe the circuit a bit and I need to take the Laplace transform of these equations and manipulate them algebraically to derive the required transfer function.
Star Strider
Star Strider le 19 Mar 2016
Thank you.
First, I have to admit to a typographical error of a dropped parenthesis. My analysis is correct, but my typing wasn’t. The ‘iL’ equation should be:
iL = vo/(s*L);
That should have occurred to me when ‘L’ and ‘C’ did not end up as a product, but I didn’t catch it last night.
You have to solve the whole circuit! If you need to calculate the branch currents or node voltages later, you can solve for them by rearranging the equation or substituting in for the individual branch currents.
If ‘Ramp’ is infinity, it disappears from the circuit. It’s an open circuit with respect to ‘Ramp’, and the output is then taken across the parallel LC network. The transfer functions and ‘Vout’ then become (with the correct ‘iL’):
H =
(L*s)/(C*L*R1*s^2 + L*s + R1)
Hsub =
(0.002*s)/(6.36e-10*s^2 + 0.002*s + 60000.0)
Vout =
(3.86856e25*A*s^2)/(s^2*(4.85665e20*f^2 + 1.16057e33) + 1.52725e27*f^2*s + 4.58174e34*f^2 + 3.86856e25*s^3 + 1.2302e19*s^4)
The equations you posted are essentially the same as in my node-voltage analysis (the easiest way to do circuit analysis in my opinion, although I’ve not studied the ‘cut-set’ analysis that came along years after I completed my M.S. in Biomedical Engineering). Taking their Laplace transforms are straightforward. Your branch equations are in units of both current and voltage, while mine are in units of current only. Your equations should look the same as mine when you complete your analysis.
If you have access to the Symbolic Math Toolbox, set up your equations to correspond to the sort of analysis you’re supposed to do. It has the advantage of eliminating algebra errors, and will make the circuit analysis much less frustrating (providing you remember the parentheses).

Connectez-vous pour commenter.

Plus de réponses (1)

Ced
Ced le 18 Mar 2016
There are several ways of doing this, but I'm guessing you would like to actually build the circuit and get the transfer function directly, i.e. without mathematically describing the circuit yourself?
I've never done this, but if you have Simscape and the Control Systems Toolbox, I think it should work. There is a tutorial here:

Catégories

En savoir plus sur MATLAB dans Help Center et File Exchange

Community Treasure Hunt

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

Start Hunting!

Translated by