Table des matières PDFMathematica

Série de Fourier et filtrage d'un signal en créneaux

1. Définition de la série de Fourier

Les coefficients de Fourier d'un signal créneau sont :

La série de Fourier s'écrit :

Les coefficients de Fourier sont définis par une fonction :

cnCreneau[n_]:=-I/(n*Pi)*(1-(-1)^n);

La fonction suivante affiche le spectre (module de ) en décibel :

plotSpectre[cn_, nmax_] := Module[{spectre},
    	spectre = Table[Line[{{n, -80}, {n,20*Log[10,Abs[cn[n]]+10^(-4)]}}], {n, 1, nmax}];
    	Return[Graphics[{RGBColor[1, 0, 0],spectre},Frame->True,AspectRatio->0.7,
        PlotRange -> {{0, nmax},{-80,0}}, FrameLabel -> {"n", "20*log(|cn|)"}]];
    ]
            
Show[plotSpectre[cnCreneau,50]]
plot1.pngplot1.pdf

Fonction de calcul de la somme partielle de la série de Fourier (période 1) :

serie[cn_,nmax_,t_]:=Sum[2*Re[cn[n]*Exp[I*2*Pi*n*t]],{n,1,nmax}];

Somme partielle à N=20 :

Plot[serie[cnCreneau,20,t],{t,0,1},AxesLabel->{"t","u"}]
plot2.pngplot2.pdf

Somme partielle à N=100 :

Plot[serie[cnCreneau,100,t],{t,0,1},AxesLabel->{"t","u"}]
plot3.pngplot3.pdf

2. Filtre passe-bas du premier ordre

La fonction de transfert d'un filtre passe-bas du premier ordre est :

est la fréquence de coupure.

Considérons le cas où . On définit la fonction de transfert puis on calcule les nouveaux coefficients de Fourier, en remarquant que l'indice n correspond à la fréquence :

h[f_]:=1/(1+I*f/10);
cnSortie[n_]:=cnCreneau[n]*h[n]; 
            

Voici le nouveau spectre

Show[plotSpectre[cnSortie,50]]
plot4.pngplot4.pdf

et la somme partielle pour N=100

Plot[serie[cnSortie,100,t],{t,0,1},AxesLabel->{"t","u"}]
plot5.pngplot5.pdf

Dans le cas , les harmoniques du créneau sont toutes dans le domaine intégrateur du filtre :

h[f_]:=1/(1+I*f/0.1);
cnSortie[n_]:=cnCreneau[n]*h[n];
            
Plot[serie[cnSortie,100,t],{t,0,1},AxesLabel->{"t","u"}]
plot6.pngplot6.pdf
Creative Commons LicenseTextes et figures sont mis à disposition sous contrat Creative Commons.