Finding the Transfer Function of resonance system
8 次查看(过去 30 天)
显示 更早的评论
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!
0 个评论
采纳的回答
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 个评论
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
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:
0 个评论
另请参阅
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!