Vous êtes sur la page 1sur 3

MIC3220 Signaux et systèmes Automne 2005 UQAM Dép.

d'informatique

MIC3220 Signaux et systèmes


Séance d'exercices 5
Les solutions des numéros encadrés doivent être remises à la fin de
chaque séance, le reste au début la séance suivante, après avoir lu le
chapitre 5 de Roberts. Les courbes seront tracées avec Matlab.

1. Trouver les transformées de Fourier des ∞

signaux, où la tri(t) est la fonction triangle s( kTe ) = s( t ) ∑ (u( t − kTe ) − u( t − kTe − τ ))


k = −∞
avec une base allant de -1 et 1 et une hauteur
de 1, et tracer leurs spectres de fréquence : Reprendre la partie a) pour ce signal.
c. Comparer les spectres de fréquences
a. s( t ) = tri( 2t )
trouvés précédemment.
b. s( t ) = tri( 2t ) cos( 20πt − π / 3 ) Te

c. Les deux signaux précédents rendus


périodiques Peigne d’impulsions idéal
2. Trouver les transformées de Fourier des J Te
signaux suivants et racer leurs spectres de
Fréquences :
Peigne d’impulsions réel
a. s( t ) = Ae − t / τ u( t )
4. La modulation en quadrature est une
−t / τ
⎧ Ae , 0≤t<T technique qui permet de transmettre deux
b. s( t ) = ⎨ signaux sur le mLme canal de
⎩ 0, ailleurs
communication. Elle exploite le fait que les
c. Signal précédent rendu périodique avec fonctions sinus et cosinus sont orthogonales
période T entre elles. La figure qui suit résume le
3. Un échantillonneur de signal peut être vu principe de ce type de transmission :
cos(T o t)
comme un commutateur dont la fermeture B cos(T o t) X: multiplication
G: addition
intervalle réguliers permet de saisir des s1 (t) X X Filtre PB e1 (t).½s1 (t)
valeurs successives du signal à
Émetteur G N(t) N(t)
échantillonner. Lorsque le temps de Récepteur

fermeture du commutateur est infiniment s2 (t) X X Filtre PB e2 (t).½s2(t)


court, on peut assimiler le commutateur à un sin(To t) sin(To t)
peigne d’impulsions et le signal
Dans la figure, le filtre passe bas (PB) passe
échantillonné est donné par
∞ seulement les composante du signal d’entrée
s( kTe ) = s( t ) ∑ δ ( t − kTe ) avec ω≤ωc, déterminé lors de la conception
k = −∞ du système. Le problème qui suit illustre, en
a. Trouver la fonction de réponse en utilisant Matlab, l’usage de la transformée
fréquence de l’échantillonneur et en de Fourier pour étudier ce type de
déduire le spectre de fréquences du modulation :
signal échantillonné. (indication : a) Créer un fichier .m de Matlab avec le
remplacer d'abord chaque peigne code qui apparaît plus bas et
d'impulsions par sa série de Fourier) l’exécuter ; en déduire sa fonction.
b. En pratique, chaque impulsion est de
durée finie τ. Par conséquent, une b) Un problPme associé avec la modulation
représentation plus réaliste du signal en quadrature est la nécessité de
échantillonné est synchroniser les signaux sin(ωot) et
cos(ωot) entre l’émetteur et le récepteur.
MIC3220 Signaux et systèmes Automne 2005 UQAM Dép. d'informatique

On peut montrer que si on a sin(ωot+θ) Ajouter au programme précédent le code


et cos(ωot+θ) au niveau du récepteur, nécessaire pour tracer les signaux
avec θ.0, les signaux obtenus à la sortie obtenus avec un déphasage de π/10.
des filtres passe-bas seront :
Note: les fonctions fft(s) et ifft(s) de
e1 ( t ) =
1
[s1 ( t ) ± θs2 ( t )] Matlab permettent de calculer les
2
transformées de Fourier directe et
e1 ( t ) = [s 2 ( t ) ± θs1 ( t )]
1 inverse d’une séquence s.
2

Programme Matlab

echo on
% On commence par générer un axe des temps de 1024 points avec Te=1/256 ms
% Ensuite on génère un axe des fréquences de 512 points qui couvre les
% fréquences allant de 0 à 128 kHz, soit la moitié de fe=1/Te, et on génère
% deux sinus de périodes 1 ms.

t=1/256*(0:1023); % On exprimera Te en ms
f=256/1024*(0:511); % 0-511=0-128 kHz (partie positive du spectre)
s1=sin(2*pi*t);
s2=s1;
subplot(111);
plot(t,s1), axis([0 4 -1 1]), title('signal de base'), xlabel('t (ms)');
pause % Peser sur une clé

%On dérive des signaux un peu plus « flyés » avec s1 et s2


for k=1:1024,
if s1(k)<0 s1(k)=0.5; end; % un 1/2cycle=sinus, 1/2cycle=onde carrée
if s2(k)>0 s2(k)=0; end; % sinus rectifié
end;

% Ensuite on calcule le spectre de Fourier des énergies des deux signaux


S1=fft(s1); % transformées de Fourier de s1 et s2
S2=fft(s2);
SS1=S1.*conj(S1)/1024; % spectres d’énergie de s1 et s2
SS2=S2.*conj(S2)/1024; % (théorème de Parseval)
subplot(211), plot(t,s1), axis([0 4 0.5 1]), title('signal s1');
subplot(212), plot(f(1:20),SS1(1:20)), axis([0 6 0 max(SS1) ]),
title('Spectre d''Énergie');
pause

subplot(211), plot(t,s2), axis([0 4 -1 0.5]), title('signal s2');


subplot(212), plot(f,SS2(1:512)), axis([0 128 0 max(SS2) ]), title('Spectre
d''Énergie');
pause

% Ensuite on calcule le signal modulé en quadrature phi et on détermine son


spectre d’énergie
phi=s1.*cos(40*pi*t)+s2.*sin(40*pi*t);
PHI=fft(phi);
SPHI=PHI.*conj(PHI)/1024;
subplot(211), plot(t,phi), axis([0 4 -1 1]), title('signal phi');
MIC3220 Signaux et systèmes Automne 2005 UQAM Dép. d'informatique

subplot(212), plot(f,SPHI(1:512)), axis([0 128 0 max(SPHI)]), title('Spectre


d''Énergie');
pause

% maintenant, on effectue la démodulation en calculant phi*sin et phi*cos


phi1=phi.*cos(40*pi*t);
phi2=phi.*sin(40*pi*t);
PHI1=fft(phi1); SPHI1=PHI1.*conj(PHI1)/1024;
PHI2=fft(phi2); SPHI2=PHI2.*conj(PHI2)/1024;
subplot(211), plot(t,phi1), axis([0 4 -1 1]), title('signal phi1');
subplot(212), plot(f,SPHI1(1:512)), axis([0 128 0 max(SPHI1)]),
title('Spectre d''Énergie');
pause
subplot(211), plot(t,phi2), axis([0 4 -1 1]), title('signal phi2');
subplot(212), plot(f,SPHI2(1:512)), axis([0 128 0 max(SPHI2)]),
title('Spectre d''Énergie');
pause

% Le filtre passe bas qui suit élimine toutes les fréquences supérieures à
% |ωc|=(100/1024)*256 kHz ≈ 25 kHz (l’intervalle d’indices allant de
% 100 à 924 joue sur le fait que le spectre de Fourier d’un signal à temps
% échantillonné réel est symétrique et périodique)
for k=100:924
PHI1(k)=0;
PHI2(k)=0;
end;
SPHI1=PHI1.*conj(PHI1)/1024;
SPHI2=PHI2.*conj(PHI2)/1024;
phi1=2*ifft(PHI1);
subplot(211), plot(f,SPHI1(1:512)), axis([0 128 0 max(SPHI1)]),
title('Spectre d''Énergie filtré');
subplot(212), plot(t,real(phi1)), axis([0 4 0.5 1]), title('signal phi1
correspondant');
pause
phi2=2*ifft(PHI2);
subplot(211), plot(f,SPHI1(1:512)), axis([0 128 0 max(SPHI2)]),
title('Spectre d''Énergie filtré');
subplot(212), plot(t,real(phi2)), axis([0 4 -1 0.5]), title('signal phi2
correspondant');
pause