1. Définition de la série de Fourier
Les coefficients de Fourier d’un signal créneau sont :Cn=-jnπ(1-(-1)n)
La série de Fourier s’écrit :u(t)=∑n=1∞2ReCnexpjn2πTt
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 cn ) 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]]

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"}]

Somme partielle à N=100 :
Plot[serie[cnCreneau,100,t],{t,0,1},AxesLabel->{"t","u"}]

2. Filtre passe-bas du premier ordre
La fonction de transfert d’un filtre passe-bas du premier ordre est :H(f)=11+jffc
où fc est la fréquence de coupure.
Considérons le cas où fc=10 . 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]]

et la somme partielle pour N=100
Plot[serie[cnSortie,100,t],{t,0,1},AxesLabel->{"t","u"}]

Dans le cas fc=0.1 , 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"}]
