TP 01 TNS

Télécharger au format pdf ou txt
Télécharger au format pdf ou txt
Vous êtes sur la page 1sur 4

TP1 : GENERATIONS DES SIGNAUX USUELS

En plus d’appliquer les notions essentielles du traitement du signal, ce TP est également une initiation à Matlab
Dans ce premier TP nous allons simuler les signaux usuels tels que :

• Sinusoïdaux, impulsion, échelon, porte, rectangulaire, carré, triangulaire, dents de scie, signal sinus
cardinal ; Étude de l’échantillonnage.
Représentation de signaux
1) Tracez avec Matlab le signal sinusoïdal suivant :
x(t) = Asin (2πft + ϕ).
Sur 1 s et avec A = 2, f = 5 Hz et ϕ = π/3.
Définissez tout d’abord un vecteur t correspondant aux abscisses où sera calculé le signal, puis créez
ensuite un vecteur x correspondant aux valeurs de x(t). Choisissez un pas de temps correct pour obtenir
une courbe lisse.
2) Tracez avec Matlab, entre 0 et 10 s, la sinusoïde amortie nulle pour t < 0 et telle que
Y(t) = Ae−at sin (2πf t)
Pour t ≥ 0 ; avec A = 2, a = 0,5 et f = 2 Hz. Faites également attention à utiliser une multiplication
élément-par-élément entre l’exponentielle et le sinus. Étudiez l’influence des paramètres sur la
forme du signal.
3) Gênerez et représentez avec Matlab les signaux usuels généralisés ; tenir compte de l’amplitude
du signal, du facteur échelle et de translation. Ax(n-n0/N))
Avec A = 3, n0 = 4 et N = 5. Comme le signal est à temps discret, on préfère le représenter avec stem
plutôt que plot. Pour calculer les valeurs du signal, vous pouvez vous inspirer du code suivant qui crée le
signal rectangulaire«porteoufenêtrerectangulaire».

rect[n] : r = 1 * (n>=-0.5).* (n<=0.5);


Le facteur multiplicatif (ici 1) permet de travailler avec des variables numériques et non
booléennes.
4) Pour un signal donné appliquer la notion de partie paire et impaire du signal et donner la
représentation temporelle en utilisant la fonction subplot de Matlab.
Pour inverser un signal on utilisera la fonction de matlab « fliplr»
Rappels :
1.2 Signaux causals

Un signal est dit causal s'il est nul pour toute valeur négative du temps x(t ) = 0 t<0
Signaux usuels

- 1, si t < 0
1.3 Fonction signe sgn(t) =  , sgn(0) peut 1
 1, si t > 0

sgn(t)
prendre toute valeur comprise entre -1 et 1, mais 0
généralement on prend sgn(0) = 0
-1
0
1.4 Fonction échelon, Saut unité ou Heaviside

0, si t < 0
u(t) =  , par convention u (0) = 1 / 2
1, si t > 0 1

u(t)
On peut montrer facilement que :

1 1 0
u(t) = sgn(t) + , sgn(t) = 2u (t ) − 1 -10 -5 0 5 10
2 2
1.5 Fonction rampe

0, si t < 0 10
r(t) = 
t, si t ≥ 0
5
r(t)

t
Ou d’une autre manière : r(t) = ∫ u (τ )dτ
−∞
0
0 5
1.6 Fonction rectangle généralisée « Mobile»

0, si t < −1/2 et t > 1/2


rect(t) = 
1, si t < 1/2 et t > -1/2 1
rect(t)

Ou d’une autre manière :


rect(t) = u (t + 1 / 2) − u (t − 1 / 2)
0
-0.5 0 0.5
Pour une fenêtre de largeur T ,
d’amplitude A et de retard τ :
Arect[(t-τ)/T]

 T T A
 0, si t < − + τ et t > + τ
t -τ  2 2
Arect( )=
T A, si t < + τ et t > − T + τ
T
 2 2 0
0 τ-T/2 τ τ+T/2

1 - t , si t < t ≤ 1 1
tri(t) = 
0, sinon
tri(t)

La surface d’une fonction tri(t) vaut 1 et la largeur de son


0
support est égale à 2. -1 0 1
A.tri[(t-τ)/T]

De la même manière que la fonction rectangulaire : A

t -τ 1 - t - τ , si t − τ ≤ T
tri( )=
T 0, sinon 0
0 τ-T τ τ+T
1.8 Impulsion de Dirac

0, si t ≠ 0
δ (t) = 

(1/T)rect(t/T)
+ ∞, si t = 0 1/T

L’impulsion de Dirac peut être approximée à une


fenêtre rectangulaire centrée, de largeur ∆T et 0
d’amplitude inverse 1 / ∆T lorsque quand ∆T → 0 -T/2 0 T/2

+∞
 t 
δ (t ) = lim rect 
∆T →0
 Elle vérifie :
 ∆T 
∫ δ (t )dt = 1
−∞
1

δ(t)
0
0

II) Deuxième Partie Génération des signaux périodiques :


a) Génération d’un signal triangulaire : utilisez la fonction de matlab « sawtooth» tapez help sawtooth

% y=sawtooth(t) pour un signal dent de scie % y=sawtooth(t,.5) pour un signal triangulaire

b) Génération d’un signal rectangulaire : utilisez la fonction de matlab « square» tapez help square

Travail à rendre
Préparation
Soit le signal analogique : x(t)=sin(2πf0 t+φ)
On se propose d’échantillonner x(t) à la fréquence d’échantillonnage fe pour obtenir le signal à

temps discret suivant


Déterminer la fréquence d’échantillonnage fe qui vérifie le théorème de Shannon ? Expliquer le
phénomène de recouvrement ‘’aliasing’’
1) On considère la somme x(t) = 2 cos (2π f1t + ψ1) + A2 sin (2π f2t), où f1=2.0 Hz f2=2.15Hz
a) Soit A2=1, ψ1= π/4, écrire un programme en Matlab représentant la somme sur une durée de
20s
b) Refaire le même travail pour ψ1= -π/2 A2=22/9, représenter sur une seule figure en utilisant la
fonction de graphisme « hold » que remarquez-vous ?
2) Soit y(t) ) = cos (2π f0t )
La génération d’un signal numérique à partir d’un calculateur exige quelques précautions quant au
choix de l’écart temporel entre la prise consécutive de deux échantillons.
Pour respecter le théorème d’échantillonnage, la fréquence d’échantillonnage Fe doit être
supérieure à 2 fois la fréquence maximale du signal, Fmax.
Nous illustrerons les effets liés au sous/sur échantillonnage du signal.
a) Ecrire un programme en Matlab représentant le signal sur une durée de 0 à 2s à pas de
0.02s pour une fréquence f0=1Hz.
b) Refaire le même travail pour f0=5Hz, f0=11.5Hz, f0=24.8Hz, f0=38.5Hz, f0=45 et 55Hz
comparez les résultats obtenus ?
3) On considère maintenant un pas de 0.05s et f0=11.5Hz, réécrire le script, donner la représentation
du signal et discutez le résultat ?

4) Ecrire un programme permettant de simuler les signaux rectangulaires périodiques suivants :

• Les comptes-rendus des TP sont individuels. Ils sont notés et comptent


pour ¼ de la note TP.

• Vous devez reproduire les figures que vous observez, sans oublier de
faire figurer les unités (temps(s), fréquence (Hz), amplitude, En
spécifiant toutes les caractéristiques « axes, titre légende,etc…).

Vous aimerez peut-être aussi