Seria Fourier
Partea a III-a: Exemple
Universitatea Tehnica "Gh. Asachi", Iasi, Facultatea de Electronica si Telecomunicatii
Laboratorul de Semnale, Circuite si Sisteme
Breviar teoretic
> restart:with(inttrans):
> libname:="../SCSlib",libname:
> addtable(fourier,sg(t),Sg(omega),t,omega);
Pornind de la semnalul generator se obtine semnalul periodic de perioada T:
> sp(t):=sum(sg(t-n*T),`n`=-infinity..infinity);
Semnalul periodic se poate descompune sub forma seriei Fourier complexe:
> spsfc(t):=subs(T=2*Pi/Omega,SFC(sp(t),t));
unde iar coeficientii seriei Fourier complexe sunt .
Semnalul periodic se descompune sub forma seriei Fourier reale:
> spsfr(t):=subs(T=2*Pi/Omega,SFR(sp(t),t));
unde iar coeficientii seriei Fourier complexe sunt , , .
Pentru acelasi semnal transformata Fourier este:
> Sp(omega)=subs(T=2*Pi/Omega,FOURIER(sp(t),t,omega0));
Mod de lucru
In afara de functiile incluse in libraria standard Maple, in aceasta lucrare vor fi utilizate cateva functii din libraria aditionala SCSlib.
Pentru calcularea transformatei Fourier a unor semnale:
Pentru trunchierea unor serii:
Pentru reprezentarea spectrelor unor semnale:
> restart:
> libname:="../SCSlib",libname:
> F:=table([dir=FOURIER,inv=inttrans[invfourier]]):
> Sg:=(omega)->F[dir](sg(t),t,omega):
> Sp:=(omega)->F[dir](sp(t),t,omega):
Exemplu
Pentru semnalul periodic obtinut prin repetarea pulsului generator de forma:
> sg:=(t)->cos(Pi/tau*t)*(Heaviside(t+tau/2)-Heaviside(t-tau/2));plot(eval(sg(t),tau=Pi/2),t=-1.1*Pi..1.1*Pi,numpoints=1000,color=[black,red],title="sg(t)",view=[DEFAULT,-0.5..1.5], style=LINE, thickness = 2);
Spectrul pulsului generator este:
> Sg(omega);
Semnalul periodic este definit sub forma:
> sp:=(t)->sum(sg(t-n*T),`n`=-infinity..infinity);
Seria Fourier complexa a semnalului periodic este:
> SFC(sp(t),t);
Seria Fourier reala a semnalului periodic este:
> SFR(sp(t),t);
Spectrul acestui semnal este discret:
> Sp(omega);
Reprezentarea formelor de unda ale pulsului generator si semnalului periodic corespunzator:
> plot(eval([sg(t),ts(sp(t),n=-5..5),cos(2*t)],[tau=Pi/2,T=2*Pi]),t=-5*Pi..5*Pi,numpoints=1000,color=[black,red,gray],title="sg(t) (negru), sp(t) (rosu), cos(w0*t) (gri)",view=[DEFAULT,-1.5..1.5], style=LINE, thickness = 2);
Reprezentarea armonicelor din compozitia spectrala a semnalului periodic:
> plot([ts(eval(sp(t),[tau=Pi/2,T=2*Pi]),n=-20..20),seq(SFR(eval(sp(t),[tau=Pi/2,T=2*Pi]),t,armonica=i),i=0..4)],t=-5*Pi..5*Pi,title="Reprezentarea componentelor spectrale",view=[DEFAULT,-1.5..1.5]);
> plot([ts(eval(sp(t),[tau=Pi/2,T=2*Pi]),n=-20..20), ts(SFR(eval(sp(t),[tau=Pi/2,T=2*Pi]),t),n=0..10)],t=-3.25*Pi..3.25*Pi,color = [red, black],title="Aproximarea cu numar finit de componente din SFR",numpoints=1000, view=[DEFAULT,-1.5..1.5], style=LINE, thickness = 2);
> INTERFACE_PLOT(ANIMATE(seq( [op(plot( [ ts(SFR(eval(sp(t),[tau=Pi/2,T=2*Pi]),t),n=0..i), ts(eval(sp(t),[tau=Pi/2,T=2*Pi]),n=-20..20)],t=-3.25*Pi..3.25*Pi, numpoints=200,color=[black,red]))[1..2],TEXT([2,0.5],cat("N=",i))],i=0..10)),TITLE("Efectul aproximarii cu numar finit de componente"));
Reprezentarea spectrelor pulsului generator si semnalului periodic:
> PLOT3D(rpa(ts(eval(Sp(omega),[tau=Pi/2,T=2*Pi,w0=2]),n=-20..20),omega,interval=-20..20,tipgrafic=D3,culoare=[1,0,0]),rpa(eval(Sg(omega),[tau=Pi/2,T=2*Pi,w0=2]),omega,interval=-20..20,tipgrafic=D3),AXESSTYLE(NORMAL),AXESLABELS("omega","Re","Im"),TITLE("Sg(omega) (rosu) si Sp(omega) (negru)"));
> PLOT(rpa(ts(eval(Sp(omega),[tau=Pi/2,T=2*Pi,w0=2]),n=-20..20),omega,interval=-20..20,tipgrafic=modul,culoare=[1,0,0]),rpa(eval(Sg(omega),[tau=Pi/2,T=2*Pi,w0=2]),omega,interval=-20..20,tipgrafic=modul),AXESSTYLE(NORMAL),AXESLABELS("omega",""),TITLE("|Sg(omega)| (rosu) si |Sp(omega)| (negru)"));
> PLOT(rpa(ts(eval(Sp(omega),[tau=Pi/2,T=2*Pi,w0=2]),n=-20..20),omega,interval=-20..20,tipgrafic=faza,culoare=[1,0,0]),rpa(eval(Sg(omega),[tau=Pi/2,T=2*Pi,w0=2]),omega,interval=-20..20,tipgrafic=faza),AXESSTYLE(NORMAL),AXESLABELS("omega",""),TITLE("argument(Sg(omega)) (rosu) si argument(Sp(omega)) (negru)"));
Probleme. Intrebari
1. Refaceti calculele pentru un puls generator deplasat.
2. Cum este spectrul pulsului generator? Comparati cu spectrul pulsului dreptunghiular si a pulsului triunghiular. Cum este spectrul semnalului periodic?
3. Comparati aproximarea cu numar finit de componente din SFR pentru puls generator dreptunghiular si pentru puls generator de tip cosinus. In ce caz aproximarea este mai buna? Explicati concluzia!
4. Refaceti calculele pentru puls generator de tip Gauss.