Finding the Transfer Function of resonance system

조회 수: 6 (최근 30일)
Saulius Janusauskas
Saulius Janusauskas 2016년 3월 18일
댓글: Star Strider 2016년 3월 19일
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!

채택된 답변

Star Strider
Star Strider 2016년 3월 19일
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
Saulius Janusauskas
Saulius Janusauskas 2016년 3월 19일
편집: Saulius Janusauskas 2016년 3월 19일
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 2016년 3월 19일
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).

댓글을 달려면 로그인하십시오.

추가 답변 (1개)

Ced
Ced 2016년 3월 18일
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:

카테고리

Help CenterFile Exchange에서 Energy Production에 대해 자세히 알아보기

Community Treasure Hunt

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

Start Hunting!

Translated by