Problemi analisi di Fourier
Moderatori:
g.schgor,
IsidoroKZ
1
voti
904 ha scritto:... si ma nel quesito 5 dice che sono fissati vs e is e sono diversi da quelli del quesito quindi perché si calcola la funzione di trasferimento...
La si calcola per poter determinare più facilmente il fattore di "guadagno" per il modulo e la differenza di "fase" per l'argomento della componente: di quinta armonica della vL nel codice da te postato in [3] o di terza armonica della iC per la richiesta in [1] (che suppongo siano due diverse versioni del punto 5 della prova d'esame).
Sostanzialmente, calcolati i coefficienti dello sviluppo in serie di Fourier relativi alla forma d'onda del generatore, vengono ricavati in questo modo gli "effetti" parziali, per una particolare armonica, sul bipolo d'uscita.
Lascio a te spiegare perché nel codice si sia eseguito solo il calcolo per vs e non per is.
Matematicamente parlando

"Il circuito ha sempre ragione" (Luigi Malesani)
0
voti
904 ha scritto:... ok per quanto riguarda l onda quadra ho capito come ha fatto ...
Lo spiegheresti anche a noi?
Ma dimmi, con quel "ha fatto", ti stai riferendo forse al codice che hai postato? ... in questo caso possiamo sapere chi lo ha scritto? ... o ti stai riferendo ad una soluzione che noi non abbiamo ancora visto?
904 ha scritto:... ma per l onda triangolare non so come calcolare la funzione dell onda triagolare per poi calcolarmi la serie di fourier
La funzione triangolare la calcoli attraverso la definizione di una funzione a tratti nel periodo, composta dall'unione di segmenti di retta.
"Il circuito ha sempre ragione" (Luigi Malesani)
0
voti
RenzoDF ha scritto:904 ha scritto:... ok per quanto riguarda l onda quadra ho capito come ha fatto ...
Lo spiegheresti anche a noi?
Certo allora per quanto riguarda l'onda quadra si è calcolato la funzione di trasferimento H(s)= Vl/is dopodichè ha sviluppato in serie di fourier l'ingresso mettendolo nella forma dove c'è solo il coseno dopodichè ha trasformato nel dominio dei fasori l'ingresso :
- Codice: Seleziona tutto
is_tt=c5*cos(w_is*5*t+phi5);
% Risposta di vl
Fm=c5*exp(1i*phi5);
a questo punto avendo la funzione di rete al posto di s ha sostituito 5jw poiché vuole la quinta armonica ha moltiplicato l'ingresso per la funzone di trasferimento ha anti trasformato ed ha ottenuto la risposta all'onda quadra
RenzoDF ha scritto:Ma dimmi, con quel "ha fatto", ti stai riferendo forse al codice che hai postato? ... in questo caso possiamo sapere chi lo ha scritto? ... o ti stai riferendo ad una soluzione che noi non abbiamo ancora visto?
Si esatto mi sto riferendo al codice che ho postato , in pratica quando facciamo l'esame di elettrotecnica mettono sul sito della mia facoltà le soluzioni dei ragazzi delle prove d'esame e io ho preso la soluzione di colui che ha avuto il massimo e che era più capibile e l'ho analizzata cercando di capire
RenzoDF ha scritto:La funzione triangolare la calcoli attraverso la definizione di una funzione a tratti nel periodo, composta dall'unione di segmenti di retta.
in che senso devo usare prima la formula della retta passante per due punti e mi calcolo le varie spezzate? inoltre non ho capito perché si calcola il valor medio se poi non lo usa a che serve?
2
voti
Dove sta quel pezzo di codice che non lo trovo? ...
... e mi chiedo, non è che potresti postarlo per intero senza farlo col contagocce?
Interessante, come ti dicevo già vedendo questa riga di codice
io lo avrei valutato "totalmente insufficiente" senza nemmeno leggere il resto; d'accordo che uno può nominare frequenza e pulsazione con il carattere che preferisce e quindi può anche scrivere

ma quando poi vedo che con quella pulsazione f mi va a calcolare il periodo di vs con

penso proprio che non ci sia speranza di salvezza.
Non vedo conveniente calcolare la retta per due punti, direi sia più veloce usare punto iniziale e coefficiente angolare.
BTW Tanto per curiosità, quanto ha preso quel tuo compagno?
... e mi chiedo, non è che potresti postarlo per intero senza farlo col contagocce?
904 ha scritto:... Si esatto mi sto riferendo al codice che ho postato , in pratica quando facciamo l'esame di elettrotecnica mettono sul sito della mia facoltà le soluzioni dei ragazzi delle prove d'esame e io ho preso la soluzione di colui che ha avuto il massimo ...
Interessante, come ti dicevo già vedendo questa riga di codice
- Codice: Seleziona tutto
w_vs=100; f_vs=2*pi*w_vs; T_vs=1/f_vs;
io lo avrei valutato "totalmente insufficiente" senza nemmeno leggere il resto; d'accordo che uno può nominare frequenza e pulsazione con il carattere che preferisce e quindi può anche scrivere

ma quando poi vedo che con quella pulsazione f mi va a calcolare il periodo di vs con

penso proprio che non ci sia speranza di salvezza.
904 ha scritto:... in che senso devo usare prima la formula della retta passante per due punti e mi calcolo le varie spezzate? inoltre non ho capito perché si calcola il valor medio se poi non lo usa a che serve?
Non vedo conveniente calcolare la retta per due punti, direi sia più veloce usare punto iniziale e coefficiente angolare.
BTW Tanto per curiosità, quanto ha preso quel tuo compagno?
"Il circuito ha sempre ragione" (Luigi Malesani)
0
voti
il codice completo è questo :
Il mio compagno ha preso il massimo 30 e lode lo so me lo sono chiesto pure io come è possibile comunque non è che potresti illustrarmi il procedimento per l'onda triangolare? perché non l'ho capito
- Codice: Seleziona tutto
%% Inizializzazione
clear all
close all
clc
%% Dati
R1=10; R2=20; R3=30;
micro=10e-6;
C=22*micro;
L=47*micro;
% Matrice G
G=[1 0.1;0.1 0.1];
% Generatori
syms t
rad2=sqrt(2);
is_t=8;
vs0=2; w=1000; phi=pi/6;
vs_t=vs0*cos(w*t+phi);
Fvs=vs0/rad2*exp(1i*phi);
%% Leggi di Kirchhoff
% Dati simbolici
syms ir1 ir2 ir3
syms isw vsw
syms il vl ic vc
syms is v_is vs
syms i2
%LKT
eq1= ir1*R1+vc-v_is;
eq2= vl+ir3*R3-vc;
eq3= -ir2*R2+vs-ir3*R3;
%LKC
eq4= -i2+is-ir1;
eq5= ir1-ic-il;
eq6= il-ir3+ir2;
% Doppio Bipolo
eq7= -isw+G(1,1)*(-vsw)+G(1,2)*(v_is);
eq8= -i2+G(2,1)*(-vsw)+G(2,2)*(v_is);
% Equazioni
Zc=1/(1i*w*C); Zl=1i*w*L;
eC=vc-Zc*C*ic; NO: eC=vc-Zc*ic;
eL=vl-Zl*L*il; NO: eL=vl-Zl*il;
%% Analisi del circuito per t<0
% L'interruttore è aperto-> isw=0 vsw=?
% Sovrapposizione degli effetti
% Spengo il generatore di tensione vs. Regime Stazionario dato dal
% generatore stazionario is. Considero il condensatore come un circuito
% aperto (ic=0) e l'induttore come un corto (vl=0)
solm_staz=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,'vsw,ir1,ir2,ir3,il,vc,i2,v_is')
;
il_m_staz=subs(solm_staz.il,[isw,ic,vl,is,vs],[0,0,0,is_t,0]);
vc_m_staz=subs(solm_staz.vc,[isw,ic,vl,is,vs],[0,0,0,is_t,0]);
% Spengo il generatore di corrente is. Regime Sinusoidale dato dal
% generatore sinusoidale vs.
solm_sin=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eC,eL,'vsw,ir1,ir2,ir3,il,vc,i2,v
_is,ic,vl');
Fvcm=subs(solm_sin.vc,[isw,is,vs],[0,0,Fvs]);
Film=subs(solm_sin.il,[isw,is,vs],[0,0,Fvs]);
vc_m_sin=abs(Fvcm)*rad2*cos(w*t+angle(Fvcm));
il_m_sin=abs(Film)*rad2*cos(w*t+angle(Film));%% Condizioni iniziali
vc_m=vc_m_staz+vc_m_sin;
il_m=il_m_staz+il_m_sin;
%% Analisi del circuito per t>0
% L'interruttore è chiuso-> vsw=0 isw=?
solp=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,'isw,ir1,ir2,ir3,vl,ic,i2,v_is');
icp=subs(solp.ic,vsw,0);
vlp=subs(solp.vl,vsw,0);
dvCdtp=icp/C;
diLdtp=vlp/L;
% Componente stazionaria
solp_staz=solve(dvCdtp,diLdtp,'vc,il');
vc_p_staz=subs(solp_staz.vc,[vs,is],[0,is_t]);
il_p_staz=subs(solp_staz.il,[vs,is],[0,is_t]);
% Componente sinusoidale
solp_sin=solve(dvCdtp-1i*w*vc,diLdtp-1i*w*il,'vc,il');
Fvcp=subs(solp_staz.vc,[vs,is],[Fvs,0]);
Filp=subs(solp_staz.il,[vs,is],[Fvs,0]);
vc_p_sin=abs(Fvcp)*rad2*cos(w*t+angle(Fvcp));
il_p_sin=abs(Filp)*rad2*cos(w*t+angle(Filp));
%% Soluzione particolare
vc_p=vc_p_staz+vc_p_sin;
il_p=il_p_staz+il_p_sin;
%% Transitorio
% Matrice Dinamica
A=zeros(2,2);
A(1,1)=subs(dvCdtp,[vc,il,vs,is],[1,0,0,0]);
A(1,2)=subs(dvCdtp,[vc,il,vs,is],[0,1,0,0]);
A(2,1)=subs(diLdtp,[vc,il,vs,is],[1,0,0,0]);
A(2,2)=subs(diLdtp,[vc,il,vs,is],[0,1,0,0]);
B=zeros(2,2);
B(1,1)=subs(dvCdtp,[vc,il,vs,is],[0,0,1,0]);
B(1,2)=subs(dvCdtp,[vc,il,vs,is],[0,0,0,1]);
B(2,1)=subs(diLdtp,[vc,il,vs,is],[0,0,1,0]);
B(2,2)=subs(diLdtp,[vc,il,vs,is],[0,0,0,1]);
% Autovalori
lam=eig(A);
% 1.0e+004 *
% -0.0615
% -2.5144
% Calcolo dei coefficienti
Xo=[subs(vc_m,t,0);subs(il_m,t,0)];
Uo=[subs(vs_t,t,0);is_t];
dXodt=A*Xo+B*Uo;
Xpo=[subs(vc_p,t,0);subs(il_p,t,0)];
dXpodt=[subs(diff(vc_p,t),t,0);subs(diff(il_p,t),t,0)];
lameq=lam(1)==lam(2);
nlameq=not(lameq);
M=[lam(1) lameq+lam(2)*nlameq;1 nlameq];
Nc=[dXodt(1)-dXpodt(1);Xo(1)-Xpo(1)];
Ni=[dXodt(2)-dXpodt(2);Xo(2)-Xpo(2)];
invM=inv(M);
kc=invM*Nc;
ki=invM*Ni;
%% Soluzione completa
vc_t=kc(1)*exp(lam(1)*t)+kc(2)*exp(lam(2)*t)+vc_p;
il_t=ki(1)*exp(lam(1)*t)+ki(2)*exp(lam(2)*t)+il_p;%% Grafici
T1=2*pi/w;
T=max(T1,5*max(tau1,tau2));
h1=figure(1);
subplot(211),ezplot(vc_m,[-T,0]),hold on, ezplot(vc_t,[0,2*T]), axis auto, grid
on,title ('vc_t');
subplot(212),ezplot(il_m,[-T,0]),hold on, ezplot(il_t,[0,2*T]), axis auto, grid
on,title ('il_t');
eC=vc-Zc*C*ic; eC=vc-Zc*ic;
eL=vl-Zl*L*il; eL=vl-Zl*il;
%% Punto 1: Generatore equivalente alla Norton ai terminali dell'induttore
% Ipotesi
% Condensatore-> Corto -> vc=0
% Interruttore aperto -> isw=0
disp('Parametri Norton')
soluzioneNorton=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,'vsw,ir1,ir2,ir3,il,ic,i2,
v_is');
jNorton=subs(soluzioneNorton.il,[vc,isw,vl],[0,0,0])
soluzioneThevenin=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,'vsw,ir1,ir2,ir3,vl,ic,i
2,v_is');
vThevenin=subs(soluzioneThevenin.vl,[vc,isw,il],[0,0,0]);
Ro=vThevenin/jNorton
Parametri Norton
jNorton = -1/20*vs
Ro = 12
%% Punto 2: Calcolare la corrente ic per t€[-oo;oo]
solm=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,'vsw,ir1,ir2,ir3,i2,v_is,ic,vl');
ic_m=subs(solm.ic,[vc,il,is,isw],[vc_m,il_m,is_t,0]);
ic_p=subs(solp.ic,[vc,il,is,vsw],[vc_t,il_t,is_t,0]);
h2=figure(2);
ezplot(ic_m,[-T,0]),hold on, ezplot(ic_p,[0,2*T]), axis auto, grid on,
title('ic_t')
-0.01 -0.005 0 0.005 0.01 0.015 0.02
29
30
31
32
33
t
vct
-0.01 -0.005 0 0.005 0.01 0.015 0.02
2.5
2.6
2.7
2.8
t
ilt
-0.01 -0.005 0 0.005 0.01 0.015 0.02
29
30
31
32
33
t
vct
-0.01 -0.005 0 0.005 0.01 0.015 0.02
2.5
2.6
2.7
2.8
t
ilteC=vc-Zc*C*ic; eC=vc-Zc*ic;
eL=vl-Zl*L*il; eL=vl-Zl*il;
%% Punto 3: Energia Assorbita Resistore R2 in [10,30]
ir2p=subs(solp.ir2,[vs,il],[vs_t,il_t]);
vr2p=ir2p*R2;
% Potenza istantatea p(t)=vir2*ir2
potenza_assorbita_resistore=vr2p*ir2p;
potenza_assorbita_resistore_10_30=double(int(potenza_assorbita_resistore,t,10,30
)) % potenza_assorbita_resistore_10_30 = 900.7822 energia
%% Punto 4: Bode della funzione di Rete Hr2=vr2_vs
% Procedo al calcolo della funzione di rete rispetto al generatore di
% tensione.
syms s
eqsC=ic-s*C*vc;
eqsL=vl-s*L*il;
sol_s=solve(eq1,eq2,eq3,eq4,eq5,eq6,eq7,eq8,eqsC,eqsL,'vsw,ir1,ir2,ir3,vl,ic,i2,
v_is,il,vc');
ir2_s=subs(sol_s.ir2,[isw,is],[0,0]);
vr2_s=ir2_s*R2;
Hr2=simplify(vr2_s/vs);
disp('Funzione di Rete Hr2')
pretty(Hr2)
[num,den]=numden(Hr2);
numh=sym2poly(num);
denh=sym2poly(den);
Y=tf(numh,denh);
h3=figure(3)
bode(Y),axis auto,grid on, title('Diagrammi di Bode: Modulo e Fase')
Funzione di Rete Hr2
2
629115000 s + 230000000000 + 9823 s
2/5 ------------------------------------
2
149000000000 + 252915000 s + 9823 s
-0.01 -0.005 0 0.005 0.01 0.015 0.02
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
t
ict
-0.01 -0.005 0 0.005 0.01 0.015 0.02
-0.3
-0.25
-0.2
-0.15
-0.1
-0.05
0
0.05
0.1
t
ict%% Punto 5: Calcolare l'ampiezza della 5a armonica di vl
% Ipotesi vs-> Onda triangolare
% Ipotesi is-> Onda quadra
% Calcolo la funzione di Rete Hvl_vs
vl_vs_s=subs(sol_s.vl,[isw,is],[0,0]);
Hvl_vs=simplify(vl_vs_s/vs);
pretty(Hvl_vs);
s (45000 + 209 s)
- 141/5 ------------------------------------
2
149000000000 + 252915000 s + 9823 s
% Onda Triangolare di vs.
% Dato che non è specificato assumo che il valor medio sia pari a 1
in questo caso il valore medio 1 è corretto perché è 1/2*Vpk =1/2*2=1
w_vs=100; f_vs=2*pi*w_vs; T_vs=1/f_vs;
DC_vs=3/4;
AH_vs=2;
TH_vs=T_vs*DC_vs; TL_vs=T_vs*(1-DC_vs);
% Calcolo della prima spezzata
F1=AH_vs/TH_vs*t;
% Calcolo della seconda spezzata
syms a b
eq1= a-b*TH_vs-AH_vs;
eq2= a-b*T_vs;
sol=solve(eq1,eq2,'a,b');
As=sol.a;
Bs=sol.b;
- 8
- 6
- 4
- 2
0
Magnitude (dB)
10
1
10
2
10
3
10
4
10
5
10
6
-30
0
30
Phase (deg)
Diagrammi di Bode: Modulo e Fase
Frequency (rad/sec)F2=As-Bs*t;
% Serie di Fourier
ao_vs=2*f_vs*(int(F1,t,0,TH_vs)+int(F2,t,TH_vs,T_vs));
vs_tt=ao_vs/2;
vl_vs_tt=0;
a5=2*f_vs*(int(F1*cos(5*w_vs*t),t,0,TH_vs)+int(F2*cos(5*w_vs*t),t,TH_vs,T_vs));
b5=2*f_vs*(int(F1*sin(5*w_vs*t),t,0,TH_vs)+int(F2*sin(5*w_vs*t),t,TH_vs,T_vs));
z5=eval(a5+1i*b5);
c5=abs(z5);
phi5=-angle(z5);
vs_tt=c5*cos(w_vs*5*t+phi5);
%Risposta di vl
Fm=c5*exp(1i*phi5);
Hvl_vs_5=subs(Hvl_vs,s,1i*w_vs*5);
FHvl_vs=Fm*Hvl_vs_5;
vl_vs_tt_5=abs(FHvl_vs)*cos(w_vs*5*t+angle(FHvl_vs))
h4=figure(4);
subplot(211),ezplot(vs_tt,[-T_vs,T_vs]),axis auto, grid on, title('Quinta
armonica dell onda triangolare vs');
subplot(212),ezplot(vl_vs_tt*t/t,[-T_vs,T_vs]),axis auto, grid on,
title('Risposta di vl');
% Calcolo la funzione di Rete Hvl_is
vl_is_s=subs(sol_s.vl,[isw,vs],[0,0]);
Hvl_is=simplify(vl_is_s/is);
pretty(Hvl_is);
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x 10-3
0.5
1
1.5
2
t
Quinta armonica dell onda triangolare vs
-2 -1.5 -1 -0.5 0 0.5 1 1.5 2
x 10-3
-0.02
-0.01
0
0.01
0.02
t
Risposta di vls
23500000 ------------------------------------
2
149000000000 + 252915000 s + 9823 s
% Onda quadra di is.
% Non è specificato il valor medio quindi assumo sia uguale a 1.
in questo caso il valore medio 1 non è corretto perché è 1/4*Ipk =1/4*2=0.5
w_is=200; f_is=2*pi*w_is; T_is=1/f_is;
DC_is=1/4;
TH_is=T_is*DC_is; TL_is=T_is*(1-DC_is);
AH_is=2; AL_is=0;
ao_is=AH_is*DC_is;
is_tt=ao_is;
vl_is_tt=0;
a5=AH_is/(5*pi)*(sin(5*w_is*TH_is));
b5=AH_is/(5*pi)*(1-cos(5*w_is*TH_is));
z5=a5+1i*b5;
c5=abs(z5);
phi5=-angle(z5);
is_tt=c5*cos(w_is*5*t+phi5);
% Risposta di vl
Fm=c5*exp(1i*phi5);
Hvl_is_5=subs(Hvl_is,s,1i*w_is*5);
FHvl_is=Fm*Hvl_is_5;
vl_is_tt_5=abs(FHvl_is)*cos(w_is*5*t+angle(FHvl_is))
h5=figure(5);
subplot(211),ezplot(is_tt,[-T_is,T_is]),axis auto, grid on, title('Quinta
armonica dell onda quadra is');
subplot(212),ezplot(vl_is_tt*t/t,[-T_is,T_is]),axis auto, grid on,
title('Risposta di vl');% Sommo i contributi
vl_tt=vl_vs_tt_5+vl_is_tt_5
% vl_tt_5 = 4709831050766605/288230376151711744*cos(500*t-
3564869930860903/2251799813685248)+4746838865056311/2305843009213693952*cos(1000
*t+3635262574216807/9007199254740992)
Punto 6:
Fenomeno risonanza e condizione da imporre ai parametri di un circuito RLC Parallelo per
ottenere un picco di risonanza con fattore di qualità pari a 2.
-8 -6 -4 -2 0 2 4 6 8
x 10-4
0.015
0.02
0.025
0.03
t
Quinta armonica dell onda quadra is
-8 -6 -4 -2 0 2 4 6 8
x 10-4
0.5
1
1.5
2
2.5
x 10-3
t
Risposta di vlLa risonanza è un fenomeno che si verifica nel caso in cui l’impedenza del condensatore (1/(w*C) e
l’impedenza dell’induttore (w*L) sono uguali in modulo dando luogo ad una impedenza puramente
Resistiva.
Essendo z=R+1/(j*w*C)+j*w*L=R+j*(w*L-1/(w*C)),
Si ha risonanza quando la parte immaginaria si annulla,cioè
w*L-1/(w*C) -> Wr=1/sqrt(L*C) che viene appunto chiamata pulsazione di risonanza.
Il fattore di qualità in un circuito RLC Parallelo è:
Q= R/(Wr*L), quindi
2= R/((1/sqrt(L*C)*L)), elevando tutto al quadrato
4=C*R^2/L quindi la condizione da imporre sarà R=2*sqrt(L) NO: R=2/sqrt(C/L)
Il mio compagno ha preso il massimo 30 e lode lo so me lo sono chiesto pure io come è possibile comunque non è che potresti illustrarmi il procedimento per l'onda triangolare? perché non l'ho capito
0
voti
Per spiegartelo avrei bisogno del disegno in FidoCadJ di un'onda triangolare con duty cycle 3/4, valore massimo due volt, valore minimo zero volt e periodo unitario, se sei disposto a disegnarla, poi io la uso per spiegarti come scrivere l'equazione della spezzata. 
NB ovviamente basta il primo periodo
NB ovviamente basta il primo periodo
"Il circuito ha sempre ragione" (Luigi Malesani)
0
voti
904 ha scritto:Lo sto facendo ma dunque poiché non mi precisa valore minimo e valore massimo lo posso scegliere io?
Si, se tu avessi letto quello che ti ho scritto in [28], lì erano specificati.
Il valore medio non ci interessa e di conseguenza prendiamo la forma d'onda triangolare come più ci comoda, per esempio fra zero e due volt, come ha fatto il tuo amico 30elode.
"Il circuito ha sempre ragione" (Luigi Malesani)
Torna a Elettrotecnica generale
Chi c’è in linea
Visitano il forum: Nessuno e 49 ospiti

Elettrotecnica e non solo (admin)
Un gatto tra gli elettroni (IsidoroKZ)
Esperienza e simulazioni (g.schgor)
Moleskine di un idraulico (RenzoDF)
Il Blog di ElectroYou (webmaster)
Idee microcontrollate (TardoFreak)
PICcoli grandi PICMicro (Paolino)
Il blog elettrico di carloc (carloc)
DirtEYblooog (dirtydeeds)
Di tutto... un po' (jordan20)
AK47 (lillo)
Esperienze elettroniche (marco438)
Telecomunicazioni musicali (clavicordo)
Automazione ed Elettronica (gustavo)
Direttive per la sicurezza (ErnestoCappelletti)
EYnfo dall'Alaska (mir)
Apriamo il quadro! (attilio)
H7-25 (asdf)
Passione Elettrica (massimob)
Elettroni a spasso (guidob)
Bloguerra (guerra)


