Calculate Impedance of circuit using laplace transform.

26 Ansichten (letzte 30 Tage)
Mert sargin
Mert sargin am 17 Jul. 2022
Beantwortet: Paul am 17 Jul. 2022
Hi, I am trying to plot the behaviour of this circuits Impedance in Matlab. But the result physically doesnt make sense. Why would the impedance behave like a probability density function?
Vier=Aufheiz4var(21,30,19.66,25);
fplot(Vier,[0 5000])
function A=Aufheiz4var(r1,r2,c1,c2)
syms R1 C1 R2 C2
syms s
R1=r1;
R2=r2;
C1=c1;
C2=c2;
Z2=R2/(R2*C2*s+1)
Z1=R1+Z2
Zges=1/(s*C1+1/Z1)
A=ilaplace(Zges)
end
  2 Kommentare
Paul
Paul am 17 Jul. 2022
Bearbeitet: Paul am 17 Jul. 2022
Hi Mert
Vier is the impulse response, i.e., the output in response to a Dirac impulse input. Is that what's meant by "plot the behaviour of this circruits Impedance"? If not, what is the behavior of interest?
Mert sargin
Mert sargin am 17 Jul. 2022
Bearbeitet: Mert sargin am 17 Jul. 2022
Hi Paul, thank you very much for the answer, that clears my confusion. I am a bit rusty in this topic, how would I modify my function to have different inputs? I would like to see my circuits behaviour on a specific voltage over a period of time.
Edit: I figured it out. Thank you !

Melden Sie sich an, um zu kommentieren.

Akzeptierte Antwort

Paul
Paul am 17 Jul. 2022
Assuming that the input voltage has a Laplace transform, you can multiply Zges with the Laplace transform of the input and take the ilaplace of the product (this all assumes the system is at rest at for t < 0 and the "switch closes" at t= 0 to apply the input).
For example, for a step input voltage
Zges = Aufheiz4var(21,30,19.66,25);
syms t
U = laplace(heaviside(t));
Vier = ilaplace(Zges*U);
fplot(Vier,[0 5000])
The potential drawback of this approach is that ilaplace() might not return a useful closed form expression for moderately complex input voltages, in which case you can resort to numerical, rather than symbolic, solutions.
function Zges = Aufheiz4var(r1,r2,c1,c2)
syms R1 C1 R2 C2
syms s
R1=r1;
R2=r2;
C1=c1;
C2=c2;
Z2=R2/(R2*C2*s+1);
Z1=R1+Z2;
Zges=1/(s*C1+1/Z1);
%A=ilaplace(Zges)
end

Weitere Antworten (0)

Community Treasure Hunt

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

Start Hunting!

Translated by