phase shift
12 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
I need to simulate a parallel RC circuit with R variable. When I plot it, it seems that are no phase between voltage and current and come Warning: Imaginary parts of complex X and/or Y arguments ignored . and when I calcute this phase (phi), there is something. Can someone help me how to plot with this phase delay? Thanks Flavia Here is my code
f=0.1; %Hz
fs=1000;% Abtastfrequenz in Hz
ta=1/fs;
t=0:ta:100;
T=10;
U=100*sqrt(2)*sin(2*pi*f*t); %V
C=-2*pi*f*1e-6*i; %Kapazität in F
R=15e6*(1+exp(-(t/T+log(5/3))))-14e6; % Widerstand in M Ohm
Y=(1./R)+C;
Z=1./Y;
I=U./Z;
plot(t,I/2e-7,'r',t,U,'g');
grid on
hold on
Im=imag(U./I);
Re=real(U./I);
phi=angle(Im./Re);
figure
plot(t,phi*180/pi);
1 Kommentar
Walter Roberson
am 17 Aug. 2011
phi = atan2(Im, Re) might perhaps be clearer.
If Z = 1./Y, and I = U ./ Z, then I = U .* Y. Then U ./I would seem to be U . / (U .* Y) which would be 1 ./ Y which would be the same as Z. Would it then not be more direct to take the real and imag parts of Z rather than of U./I ?
Akzeptierte Antwort
Walter Roberson
am 17 Aug. 2011
C incluedes 1e-6*i so C will normally be complex. Y adds C to a calculation, so Y will normally be complex. Z has 1/Y so Z will normally be complex. I has something ./ Z, so I will normally be complex.
You then plot t vs I, so you are plotting a real value against a (usually) complex value. plot() requires that the coordinates to it be real, with the one exception that if you use plot(P) and P is complex, then real(P) will be plotted against imag(P); this exception never applies if you specify the x (or t) coordinate as you do in this plot() call.
2 Kommentare
Walter Roberson
am 17 Aug. 2011
Perhaps you should be using U as your first coordinate instead of t ? U is voltage according to your comments.
Weitere Antworten (1)
Siehe auch
Kategorien
Mehr zu Spectral Measurements finden Sie in Help Center und File Exchange
Produkte
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!