Escolar Documentos
Profissional Documentos
Cultura Documentos
I.
Avec :
a0 =
1 T
t0 +T0 t0
y(t ) dt
w0 = 2 f 0 =
2 , la pulsation T0
an = bn =
II.
Objectif
Ecrire des fonctions matlab que vous nommerez carre.m et triangle.m permettant de raliser la synthse par srie trigonomtrique des fonctions carr et triangle. Les arguments dentre de ces fonctions seront : n (ou p): le nombre de sinusodes sommer T0 : la priode de la fonction en ms t le vecteur temps rpartis sur lintervalle [-2T0, +2T0] avec un pas de T0/100
L'argument de sortie est le vecteur y (reprsentation temporelle). II.1 Signal carr Soit un signal crneau de priode T0 = 20ms, de largeur T0/2, damplitude 2 et de valeur moyenne 1. La Figure 1 montre lvolution temporelle de ce signal sur plusieurs priodes (entre -2.5T0 et +2.5T0).
amplitude
-0.04
-0.03
-0.02
-0.01
0.01
0.02
0.03
0.04
0.05
Temps en s
a0 = 1, a n =
4 n sin n 2
4 ( 1) . (2 p + 1)
p
Ainsi si n = 2p est pair, alors a2p est nul et si n=2p+1 est impair, a 2 p +1 =
A priori, la dcomposition en srie de Fourier de ce signal carr est constitue dune infinit de frquences multiples impaires de la frquence du fondamental. Lamplitude de chaque harmonique dcrot comme linverse de son rang. 2. Calculer la puissance moyenne du signal Pc : Pc =
1 T0
T0 / 2 T0 / 2
y (t ) dt
2
Etudions maintenant la restitution du signal carr (ou synthse de Fourier) partir de la sommation de ses harmoniques lorsque leur nombre est limit.
2.5
1.5
amplitude
0.5
-0.5 -0.04
-0.03
-0.02
-0.01
0.01
0.02
0.03
0.04
Temps en s
Figure 2. Exemple de rsultat lorsque n=15 (p=7) Thomas Quiniou et Albert Ranaivosoloarimanana
II.2 Signal triangulaire Soit un signal triangulaire de priode T0=20ms et damplitude 1 dont lvolution temporelle est reprsente, entre -2.5T0 et +2.5T0, sur la Figure 4.
1 0.8 0.6 0.4
amplitude
-T0/2
+T0/2
-0.04
-0.03
-0.02
-0.01
0.01
0.02
0.03
0.04
0.05
Temps en s
sin n n 2 8
2 2
Ainsi si n = 2p est pair, alors b2p est nul (symtrie de glissement) et si n=2p+1 est impair,
b2 p +1 = ( 1)
p +1
2 (2 p + 1)2
Le signal triangulaire ne contient que des harmoniques impairs dont lamplitude dcrot comme le carr de son rang. On constate que la seule diffrence au niveau de la dcomposition en srie de Fourier entre le signal carr et le signal triangulaire rside dans la vitesse de dcroissance de lamplitude des harmoniques. 2. Calculer la puissance moyenne du signal Pt 3. Ecrire et tester la fonction triangle.m pour diffrentes valeurs de n 4. Ecrire un script Atriangle.m qui fera appel la fonction triangle.m et qui permettra d'afficher sur une mme figure (subplot) les signaux obtenus pour n=1 (p=0), 3 (p=1), 7 (p=3), 15 (p=7)
Subplot(2,2,1)
Signal triangle n=2000 + n=1
Subplot(2,2,2)
Signal triangle n=2000 + n=3
Subplot(2,2,3)
Signal triangle n=2000 + n=7
Subplot(2,2,4)
Signal triangle n=2000 + n=15
Figure 5. Affichage des rsultats II.3 Comparatif 1. Ecrire un script CetT qui permettra de tracer sur une mme figure spare en 4 zones, les reprsentations temporelles et frquentielles des signaux carr et triangulaire pour n=9, soit p=4 (Figure 6). 2. Calculer la puissance contenue dans les 9 premires raies des signaux carr et triangle, P9c et P9t 3. Calculer 100
4. Expliquez pourquoi on obtient une bonne approximation du signal triangle pour n=9 alors que cela est loin d'tre le cas pour le signal carr.
Fontion carre.m function f=carre(t,T,P) f = ones(1,length(t)); %a0 for p = 0:P a = 4*(-1)^p/(pi*(2*p+1)); f = f + a*cos(2*pi*(2*p+1)*t/T); end
Script CetT ( complter) % complter T=20e-3; f=1/T; t=-2*T:T/100:2*T; p=4; F=carre(t,T,4); a(1)=1; n=0; for ii=0:p, n=[n 2*ii+1]; a(ii+2) = 4*(-1)^ii/(pi*(2*ii+1)); end subplot(2,1,1) plot(t,F) xlabel('Temps en s') ylabel('amplitude') title('Signal temporel ; p=4'); subplot(2,1,2) stem(n*f,a) xlabel('Frquence en Hz') ylabel('amplitude') title('Signal frquentiel ; p=4'); set(gcf,'color',[1 1 1])
Script Acarre.m T=20e-3; f=1/T; t=-2*T:T/100:2*T; f1=carre(t,T,2000); P = [0 1 3 7]; % nombre de termes impairs for ii=1:length(P), f2(ii,:)=carre(t,T,P(ii)); subplot(2,2,ii) plot(t,f1) hold on plot(t,f2(ii,:),'r') xlabel('Temps en s') ylabel('amplitude') title(sprintf('p=%d',P(ii))); end set(gcf,'color',[1 1 1])