Serie di Fourier: problema termine A0 dell'uscita
Moderatori:
g.schgor,
IsidoroKZ
0
voti
Ci vorrebbero anche i risultati, ovvero formule in Latex e grafici, a seconda delle diverse richieste del problema per i punti 1,2,3,4,5,6, ovviamente derivati dal'output fornito da Matlab.
"Il circuito ha sempre ragione" (Luigi Malesani)
2
voti
ecco l'output di matlab(alcune cose le ho messe nel code perché danno problemi nel latex ):
1)
2)





3) energia_assorbita =0
4)
5)
1)

2)
- Codice: Seleziona tutto
dvCneg =(100*v1_s)/3 - 100*j2_s - (100*iL)/3 - (500*vC)/3
\\
diLneg =(2500*v1_s)/3 - (2500*iL)/3 - (500*vC)/3
\\


- Codice: Seleziona tutto
sol_neg_vC =(879591794120859*cos(t - 2659932232076743/1125899906842624))/281474976710656 - 5/18014398509481984
sol_neg_iL =(5629383429218889*sin(t + 7006684517582271/9007199254740992))/9007199254740992 - 10
\\
dvCpos =(75*v1_s)/4 - 100*j2_s - (75*iL)/4 - 50*vC
\\
diLpos =(1625*v1_s)/2 - (1625*iL)/2
\\


- Codice: Seleziona tutto
\\
sol_pos_vC =
(5628373971963699*cos(t - 334419269183517/140737488355328))/562949953421312 - 5/9007199254740992
\\
sol_pos_iL = 10
\\
dvCp0=5628373971963699*sin(334419269183517/140737488355328))/562949953421312
\\
diLp0 =
\\
0
vC_t =
(5628373971963699*cos(t - 334419269183517/140737488355328))/562949953421312 - exp(-50*t)*((16888150287656667*sin(7006684517582271/9007199254740992))/1098878309078401024 - (879591794120859*cos(2659932232076743/1125899906842624))/281474976710656 + (365844308177640435*cos(334419269183517/140737488355328))/34339947158700032 + (5628373971963699*sin(334419269183517/140737488355328))/429249339483750400 + (20*2^(1/2))/61 - 540431955284459865/1098878309078401024) - exp(-(1625*t)/2)*((16888150287656667*sin(7006684517582271/9007199254740992))/1098878309078401024 - (879591794120859*cos(2659932232076743/1125899906842624))/281474976710656 + (365844308177640435*cos(334419269183517/140737488355328))/34339947158700032 + (5628373971963699*sin(334419269183517/140737488355328))/429249339483750400 + (20*2^(1/2))/61 - 540431955284459865/1098878309078401024) - 5/9007199254740992

3) energia_assorbita =0
4)
- Codice: Seleziona tutto
HvCv1 =
(75*s)/(2*(2*s + 1625)*(s + 50))
ans =
75 s
-----------------------
4 s^2 + 3450 s + 162500
Continuous-time transfer function.
HvCj2 =
-100/(s + 50)
5)
Ultima modifica di
904 il 29 ago 2013, 8:38, modificato 1 volta in totale.
0
voti
Ecco, bravo, ora ... diciamo prima di Natale
... posto anch'io le simulazioni. 
a) Non è che avresti potuto convincere Matlab a "sparare" un più ragionevole numero di cifre significative?
... diciamo 3 o 4 al massimo? ... per la rappresentazione analitica della funzione del tempo.
b) non è che si potrebbe amplificare la vc(t) totale?
Se si riposta le funzioni del tempo e il grafico.
c) Ma quell'onda quadra per J2 non è errata? ... il suo dc non era forse 3/4? ... valore minimo 0 ampere e massimo 2 ampere? ... nemmeno il periodo mi sembra corretto ... manca l'indicazione sull'asse dei tempi, ma il periodo dovrebbe essere di 5 millisecondi, sbaglio? ... e direi che il periodo sia errato anche per il GIT.

a) Non è che avresti potuto convincere Matlab a "sparare" un più ragionevole numero di cifre significative?
b) non è che si potrebbe amplificare la vc(t) totale?
Se si riposta le funzioni del tempo e il grafico.
c) Ma quell'onda quadra per J2 non è errata? ... il suo dc non era forse 3/4? ... valore minimo 0 ampere e massimo 2 ampere? ... nemmeno il periodo mi sembra corretto ... manca l'indicazione sull'asse dei tempi, ma il periodo dovrebbe essere di 5 millisecondi, sbaglio? ... e direi che il periodo sia errato anche per il GIT.
"Il circuito ha sempre ragione" (Luigi Malesani)
0
voti
purtroppo non conosco bene matlab non ce l'hanno mai insegnato
- Codice: Seleziona tutto
%% Calcolo contributo di v1
fv1=200;
fj2=400;
Tv1=1/fv1;
Tj2=1/fj2; % periodo di j2
wv1=2*pi*fv1;
wj2=2*pi*fj2;
AHv1=2;
AHj2=2;
DCv1=1/2;
DCj2=3/4; % duty cicle di j2
ALv1=0;
ALj2=0; % valore minimo di j2
syms k
THv1=DCv1*Tv1;
THj2=DCj2*Tj2;
0
voti
Ok ... comunque ora bisogna andare a caccia degli errori.
... in questa parte importante ...
... ti sembra che ce ne siano?
Ovvero, come le hai ricavate queste due relazioni per i coefficienti?
... in questa parte importante ...
- Codice: Seleziona tutto
for k=1:20
akv1=2/Tv1 * AHv1/(k*wv1)* sin(k*wv1*AHv1);
bkv1=2/Tv1* AHv1/(k*wv1)* (1-cos(k*wv1*THv1));
... ti sembra che ce ne siano?
Ovvero, come le hai ricavate queste due relazioni per i coefficienti?
"Il circuito ha sempre ragione" (Luigi Malesani)
0
voti
904 ha scritto:Si ho messo AHv1 invece di THv1 nel seno
Occhio che hai fatto lo stesso errore per il GIC
- Codice: Seleziona tutto
for k=1:20
akj2=2/Tj2 * AHj2/(k*wj2)* sin(k*wj2*AHj2);
bkj2=2/Tj2* AHv1/(k*wj2)* (1-cos(k*wj2*THj2))
... aggiungendone però un altro!
"Il circuito ha sempre ragione" (Luigi Malesani)
2
voti
Aspettando il controllo generale da parte di
904, tanto per cominciare, calcoliamo la matrice delle resistenze; ovviamente è un po' superfluo usare un simulatore per questo doppio bipolo, ad ogni modo lo usiamo come tutorial per situazioni più complesse:
a) tracciata la rete, e inseriti due doppi interruttori, perché avevo solo quelli doppi in libreria
Uso la direttiva .measure per andare a calcolare i quattro parametri
b) visualizzo i risultati via View -> SPICE Error Log o più semplicemente con un CTRL_L
...
a) tracciata la rete, e inseriti due doppi interruttori, perché avevo solo quelli doppi in libreria
Uso la direttiva .measure per andare a calcolare i quattro parametri
b) visualizzo i risultati via View -> SPICE Error Log o più semplicemente con un CTRL_L
...
"Il circuito ha sempre ragione" (Luigi Malesani)
0
voti
Ecco l'ho sistemato
ok quindi il primo quesito mi trovo
- Codice: Seleziona tutto
%Inizializzazione
%convenzione utilizzatore , verso orientamento delle maglie orario
clc
clear all
close all
%%Dati
syms t s
syms iR5 i1 i2 v1 v2 iR3 iR4 iR6 vJ2 iK vC iC iR2 vL iR7 v1_s iR1 iSw vSw j2_s iL
R1=1;
R2=1;
R3=1;
R4=2;
R5=2;
R6=2;
R7=2;
k=2;
milli=1e-3;
C=10*milli;
L=1*milli;
v1neg=-10;
v1pos=10;
j20=5;
w=1;
phi=pi/4;
j2=j20*cos(t+ phi);
id=eye(2);
j2fas=j20* exp(j*phi);
%%1) Determinare i coefficienti della matrice delle resistenze del doppio
%bipolo compreso fra le porte A-A' e B-B';Scrivo 5 equazioni di Kirchhoff tra cui 3 alle
%tensioni
edbt1=iR5*R5+v2;
edbt2=iR3*R3+iR4*R4-iR5*R5;
edbt3=-v1+i1*R2-iR3*R3+i1*R7;
edbc1=i2+iR4+iR5;
edbc2=iR3+i1-iR4;
sol_db=solve(edbt1,edbt2,edbt3,edbc1,edbc2,'iR5,v2,v1,iR3,iR4');
R=zeros(2,2);
R(1,1)=subs(sol_db.v1,i2,0)/i1;
R(1,2)=subs(sol_db.v1,i1,0)/i2;
R(2,1)=subs(sol_db.v2,i2,0)/i1;
R(2,2)=subs(sol_db.v2,i1,0)/i2;
R
%%2) Determinare le tensioni vL e vC per t compreso tra - infinito e +
%infinito e tracciarne il grafico;
%equazioni topologiche , ho 12 equazioni di Kirchhoff linearmente
%indipendenti dato che sono 12 i lati ed ho 7 anelli
lkt1=iR6*R6-vJ2;
lkt2=-k*iR2*R2+vC-iR6*R6;
lkt3=iR5*R5+k*iR2*R2;
lkt4=iR3*R3+iR4*R4-iR5*R5;
lkt5=-vL+iR2*R2-iR3*R3+iR7*R7;
lkt6=-v1_s+iR1*R1+vL;
lkt7=vSw-vC-iR4*R4;
lkc1=iR6+iC+iSw+j2_s;
lkc2=iSw+iR4-iR2-iR3;
lkc3=iL+iR2-iR1;
lkc4=iK+iC;
lkc5=iL+iR7-iR1;
%%soluzioni per t<0 vSw=0
sol_neg=solve(lkt1,lkt2,lkt3,lkt4,lkt5,lkt6,lkt7,lkc1,lkc2,lkc3,lkc4,lkc5,'iR6,vJ2,iR2,iK,iR5,iR3,iR4,vL,iR7,iR1,iC,iSw');
dvCneg=subs(sol_neg.iC,vSw,0)/C
diLneg=subs(sol_neg.vL,vSw,0)/L
Aneg=zeros(2,2);
Bneg=zeros(2,2);
Aneg(1,1)=subs(dvCneg,[v1_s j2_s vC iL],[0 0 1 0]);
Aneg(1,2)=subs(dvCneg,[v1_s j2_s vC iL],[0 0 0 1]);
Aneg(2,1)=subs(diLneg,[v1_s iL vC],[0 0 1]);
Aneg(2,2)=subs(diLneg,[v1_s iL vC],[0 1 0]);
Bneg(1,1)=subs(dvCneg,[v1_s j2_s vC iL],[1 0 0 0]);
Bneg(1,2)=subs(dvCneg,[v1_s j2_s vC iL],[0 1 0 0]);
Bneg(2,1)=subs(diLneg,[v1_s j2_s vC iL],[1 0 0 0]);
Bneg(2,2)=subs(diLneg,[v1_s j2_s vC iL],[0 1 0 0]);
Aneg
Bneg
%soluzione stazionaria per t<0
X_staz_neg=-inv(Aneg)*Bneg*[v1neg;0];
vC_cost_neg=X_staz_neg(1);
iL_cost_neg=X_staz_neg(2);
%soluzione sinusoidale per t<0
X_sin_neg=inv(j*w*id-Aneg)*Bneg*[0;j2fas];
vC_sin_neg=abs(X_sin_neg(1))* cos(w*t+ angle(X_sin_neg(1) ));
iL_sin_neg=abs(X_sin_neg(2))* sin(w*t+ angle(X_sin_neg(2)));
%soluzioni complete per t<0
sol_neg_vC=vC_cost_neg+ vC_sin_neg
sol_neg_iL=iL_cost_neg+ iL_sin_neg
%% soluzioni per t>0 l'interruttore è chiuso quindi iSw=0
sol_pos=solve(lkt1,lkt2,lkt3,lkt4,lkt5,lkt6,lkt7,lkc1,lkc2,lkc3,lkc4,lkc5,'iR6,vJ2,iR2,iK,iR5,iR3,iR4,vL,iR7,iR1,iC,vSw');
dvCpos=subs(sol_pos.iC,iSw,0)/C
diLpos=subs(sol_pos.vL,iSw,0)/L
Apos=zeros(2,2);
Bpos=zeros(2,2);
Apos(1,1)=subs(dvCpos,[v1_s j2_s vC iL],[0 0 1 0]);
Apos(1,2)=subs(dvCpos,[v1_s j2_s vC iL],[0 0 0 1]);
Apos(2,1)=subs(diLpos,[v1_s iL vC],[0 0 1]);
Apos(2,2)=subs(diLpos,[v1_s iL vC],[0 1 0]);
Bpos(1,1)=subs(dvCpos,[v1_s j2_s vC iL],[1 0 0 0]);
Bpos(1,2)=subs(dvCpos,[v1_s j2_s vC iL],[0 1 0 0]);
Bpos(2,1)=subs(diLpos,[v1_s j2_s vC iL],[1 0 0 0]);
Bpos(2,2)=subs(diLpos,[v1_s j2_s vC iL],[0 1 0 0]);
Apos
Bpos
% soluzioni stazionarie per t>0
X_staz_pos=-inv(Apos)* Bpos * [v1pos;0];
vC_staz_pos=X_staz_pos(1);
iL_staz_pos=X_staz_pos(2);
%soluzioni sinusoidali per t>0
X_sin_pos=inv(j*w*id-Apos)* Bpos * [0;j2fas];
vC_sin_pos=abs(X_sin_pos(1))* cos(w*t+ angle(X_sin_pos(1) ));
iL_sin_pos=abs(X_sin_pos(2))* sin(w*t+ angle(X_sin_pos(2)));
%soluzioni complete per t>0
sol_pos_vC=vC_staz_pos+ vC_sin_pos
sol_pos_iL=iL_staz_pos+ iL_sin_pos
%transitorio
lam=eig(Apos);
lameq=(lam(1)==lam(2));
notlameq=not(lameq);
M=[lam(1) lameq+ notlameq*lam(2);1 notlameq];
X0=[subs(sol_neg_vC,t,0);subs(sol_neg_iL,t,0)];
U0=[v1pos;subs(j2,t,0)];
X0p=Apos*X0+Bpos*U0;
vCp0=subs(sol_pos_vC,t,0);
iLp0=subs(sol_pos_iL,t,0);
dvCp0=subs(diff(sol_pos_vC),t,0)
diLp0=subs(diff(sol_pos_iL),t,0)
Nc=[X0p(1)-dvCp0;X0(1)-vCp0];
Ni=[X0p(2)-diLp0;X0(2)-iLp0];
Kc=inv(M)*Nc;
Ki=inv(M)*Ni;
vC_t=sol_pos_vC+ Kc(1) * exp(lam(1)*t)+ Kc(1)*exp(lam(2)*t)
iL_t=sol_pos_iL+ Ki(1) * exp(lam(1)*t)+ Ki(1)*exp(lam(2)*t)
%%trovo le tensioni e traccio il grafico
vLneg=subs(sol_neg.vL,[vC iL vSw],[sol_neg_vC sol_neg_iL 0]);
vLpos=subs(sol_pos.vL,[v1_s iL iSw],[v1pos iL_t 0]);
T=2*pi/w;
Tt=50*T;
figure(1)
subplot(211) , ezplot(vLneg,[-Tt,0]),hold on, ezplot(vLpos,[0,Tt]), axis auto, grid on,xlim([-50,50]),hold on
subplot(212), ezplot(sol_neg_vC,[-Tt,0]),hold on, ezplot(vC_t,[0,Tt]), axis auto, grid on
%%3) Determinare l'energia assorbita dall'induttore nell'intervallo di
%tempo [2,10s]
vL_sol=subs(sol_pos.vL,[v1_s iSw iL],[v1pos 0 iL_t]);
energia_assorbita=int(vL_sol*iL_t,t,2,10)
%%4) Valutare la funzione di rete H(w)= vC/vL per t>0 e tracciarne i
%relativi diagrammi di Bode
%devo porre j2=0 iSw=0 vC=iC/(s*C) iL=vL/(s*L)
fdr1=iR6*R6-vJ2;
fdr2=-k*iR2*R2+iC/(s*C)-iR6*R6;
fdr3=iR5*R5+k*iR2*R2;
fdr4=iR3*R3+iR4*R4-iR5*R5;
fdr5=-vL+iR2*R2-iR3*R3+iR7*R7;
fdr6=-v1_s+iR1*R1+vL;
fdr7=vSw-iC/(s*C)-iR4*R4;
fdr8=iR6+iC;
fdr9=iR4-iR2-iR3;
fdr10=vL/(s*L)+iR2-iR1;
fdr11=iK+iC;
fdr12=vL/(s*L)+iR7-iR1;
sol_fdr=solve(fdr1,fdr2,fdr3,fdr4,fdr5,fdr6,fdr7,fdr8,fdr9,fdr10,fdr11,fdr12,'iR6,vJ2,iR2,iK,iR5,iR3,iR4,vL,iR7,iR1,iC,vSw');
HvCv1=simplify((sol_fdr.iC/(s*C))/v1_s)
num=[75 0];
den=2*conv([2 1625],[1 50]);
tf(num,den)
figure(2)
bode(num,den)
%%5)Tracciare il grafico della tensione vC per t>0 nell'ipotesi che i due generatori siano caratterizzati da un andamento
%ad onda quadra , con frequenza fondamentale pari a 200Hz per v1 400hz per
%j2 ampiezza picco-picco pari rispettivamente a 2V e 2A e duty-cicle pari a
%1/2 per v1 ed a 3/4 per j2; ipotizzo il valore minimo essere 0
%Calcolo la funzione di rete H = vC/j2
%devo porre v1_s=0 iSw=0 vC=iC/(s*C) iL=vL/(s*L)
fdr1=iR6*R6-vJ2;
fdr2=-k*iR2*R2+iC/(s*C)-iR6*R6;
fdr3=iR5*R5+k*iR2*R2;
fdr4=iR3*R3+iR4*R4-iR5*R5;
fdr5=-vL+iR2*R2-iR3*R3+iR7*R7;
fdr6=+iR1*R1+vL;
fdr7=vSw-iC/(s*C)-iR4*R4;
fdr8=iR6+iC+j2_s;
fdr9=iR4-iR2-iR3;
fdr10=vL/(s*L)+iR2-iR1;
fdr11=iK+iC;
fdr12=vL/(s*L)+iR7-iR1;
sol_fdr=solve(fdr1,fdr2,fdr3,fdr4,fdr5,fdr6,fdr7,fdr8,fdr9,fdr10,fdr11,fdr12,'iR6,vJ2,iR2,iK,iR5,iR3,iR4,vL,iR7,iR1,iC,vSw');
HvCj2=simplify((sol_fdr.iC/(s*C))/j2_s)
%% Calcolo contributo di v1
fv1=200;
fj2=400;
Tv1=1/fv1;
Tj2=1/fj2;
wv1=2*pi*fv1;
wj2=2*pi*fj2;
AHv1=2;
AHj2=2;
DCv1=1/2;
DCj2=3/4;
ALv1=0;
ALj2=0;
syms k
THv1=DCv1*Tv1;
THj2=DCj2*Tj2;
a0v1= AHv1*DCv1;
a0j2=AHj2*DCj2;
v1_tt=a0v1;
j2_tt=a0j2;
X_cost_pos=-inv(Apos)* Bpos * [a0v1;0];
vC_tt=X_cost_pos(1);
for k=1:20
akv1=2/Tv1 * AHv1/(k*wv1)* sin(k*wv1*THv1);
bkv1=2/Tv1* AHv1/(k*wv1)* (1-cos(k*wv1*THv1));
temp_v1= akv1+ j*bkv1;
ckv1=abs(temp_v1);
phik=-angle(temp_v1);
v1_tt=v1_tt+ckv1*cos(k*w*t+phik);
Fckv1= ckv1* exp(j*phik);
HvCv1_k=subs(HvCv1,s,k*wv1*j);
vC_t= Fckv1* HvCv1_k;
vC_tt=vC_tt+abs(vC_t) *cos(wv1*k*t + angle(vC_t));
end
vC_v1_tt=vC_tt;
h=figure(3)
subplot(211), ezplot(v1_tt,[-40,40]), axis auto , grid on,title('Onda quadra v1'), hold on,subplot(212), ezplot(vC_tt,[-40,40]),title('Risposta di vC')
%% Calcolo contributo di j2
X_cost_pos=-inv(Apos)* Bpos * [0;a0j2];
vC_tt=X_cost_pos(1);
for k=1:20
akj2=2/Tj2 * AHj2/(k*wj2)* sin(k*wj2*THj2);
bkj2=2/Tj2* AHv1/(k*wj2)* (1-cos(k*wj2*THj2));
temp_j2= akj2+ j*bkj2;
ckj2=abs(temp_j2);
phik=-angle(temp_j2);
j2_tt=j2_tt+ckj2*cos(k*w*t+phik);
Fckj2= ckj2* exp(j*phik);
HvCj2_k=subs(HvCj2,s,k*wj2*j);
vC_t= Fckj2* HvCj2_k;
vC_tt=vC_tt+abs(vC_t) *cos(wj2*k*t + angle(vC_t));
end
vC_j2_tt=vC_tt;
h=figure(4)
subplot(211), ezplot(j2_tt,[-40,40]), axis auto , grid on,title('Onda quadra di j2'), hold on,subplot(212), ezplot(vC_tt,[-40,40]),title('Risposta di vC')
%%sommo i contributi e disegno il grafico
vC_tt=vC_j2_tt+vC_v1_tt
h=figure(5)
subplot(311), ezplot(j2_tt,[-40,40]), axis auto , grid on,title('Onda quadra di j2'),xlim([-10,10]), hold on,subplot(312), ezplot(vC_tt,[-40,40]),title('Risposta di vC'),xlim([-10,10]),hold on,
subplot(313) ,ezplot(vC_tt,[-40,40]), axis auto, grid on , title('Risposta totale di vC'),xlim([-10,10])
%%6)Illustrare la condizione di massimo trasferimento di potenza in un
%circuito resistivo.
%Poiché, secondo il teorema di Thévenin, ogni bipolo resistivo (o adinamico) composto cioè da soli resistori,
%generatori indipendenti, generatori controllati o giratori può essere rappresentato come una serie
%tra un resistore (detto resistore equivalente di Thévenin, R_th) e un generatore di tensione indipendente (generatore equivalente di Thévenin, E_th),
%si può determinare la massima potenza erogabile dal bipolo.
%Ciò avverrà quando il bipolo stesso è chiuso su un resistore il cui valore di resistenza è uguale alla R_th.
%Per dimostrare questosi considera un generatore di Thevenin a cui è
%collegato un carico resistivo Rl per trovare il valore della resistenza di
%carico Rl che assorbe la massima potenza dal generatore basta risolvere il
%circuito ricavandone la potenza e trovare il massimo della funzione
%rispetto alla variabile RL si ricava che la potenza trasferita al carico è
%massima quando la resistenza di carico è uguale alla resistenza interna
%del generatore equivalente
ok quindi il primo quesito mi trovo
Torna a Elettrotecnica generale
Chi c’è in linea
Visitano il forum: Nessuno e 168 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)


