Vous êtes sur la page 1sur 8

République Algérienne Démocratique et Populaire

2
Ministère de l’enseignement supérieur et de la recherche scientifique

Faculté de Technologie

Département de Télécommunications
Niveau M1ST (M841)

TP N°01

Génération de signaux sous MATLAB

Réalisé par  :
-Hattab soumia.
-Elouali abderrahmane.

Année universitaire 2019/2020


1.1 Objectif du TP

Le traitement du signal consiste à : étudier et analyser le signal, en extraire les informations pertinentes.
La plupart de ces signaux sont analogiques par nature, c'est-à-dire qu'ils sont fonction d'une variable continue, le
temps, et qu'eux-mêmes varient de manière continue. Ces signaux peuvent être aussi traité et analysé sous forme
numérique, à l'aide de convertisseurs analogiques numériques (échantillonnage, quantification et numérisation des
signaux analogiques).

L’objectif de ce IP est d'apprendre à générer, visualiser et analyser sous Matlab quelques signaux analogiques et
échantillonnées. Ainsi que de mettre en application les connaissances acquises sur l'échantillonnage, notamment le
phénomène de recouvrement Aliasing.

1.2 Théorème de l'échantillonnage:

L’échantillonnage est une étape importante dans l'analyse du signal. Cette opération consiste à convertir un signal
continu en un signal discret (c'est à dire prélever un échantillon du signal à temps continu tous les instants). Pour un
signal continu x(t), qu'on échantillonne à toutes les secondes, on Obtient un signal discret.

x(n):x(n) = x(t=nTs) n = 0,1,2,...,N

1.3 Représentation des signaux et systèmes:

Un signal numérique échantillonné à la fréquence Fe se représente naturellement dans MATLAB, comme un vecteur
de N éléments (signal de durée N Fe). Le vecteur des temps qui lui est associé est :

t = (0:N-1) / Fe;

1.4 Les constantes inhérentes à tout signal numérique

Un signal numérique est défini par un nombre d'échantillons N relevés à une fréquence d'échantillonnage Fe. Les
signaux sont toujours captés de manière temporelle, mais on s'intéresse souvent à leur allume fréquentielle.

Afin de rester cohérents avec les mesures, il est important de respecter les grandeurs physiques impliquées dans le
signal. Il faut donc définir les axes temporels et fréquentiels relatifs au signal.

Ainsi, les axes seront définis comme suit:

L'axe temporel est un vecteur de N points espaces de 1/Fe. Sous Matlab, la syntaxe est :

axe_temps = (1:N) /Fe;

L’axe fréquatiel est un vecteur de N po:ints compris entre 0 et Fe .La syntaxe est :

axe_freq = (0:N-1) * (Fe/N);

1.5 Opérations sur les signaux :

Sous Matlab les signaux doivent être stockés dans un vecteur (ligne ou colonne suivant les préférences de
l'utilisateur).

Les opérations sur les signaux se font comme des opérations sur les matrices. C'est-à-dire la définition d'un vecteur
se fait à l'aide de ":" .Le pas par défaut est 1, mais on peut définir le pas en l'intercalant entre le début et la fin du
vecteur.

x=1:4 donne x=[ 1 2 3 4];

pas = 0.5;

x=1:pas:4 donne x=[1 1.5 2 2.5 3 3.5 4];


L’appel d'un élément d'un vecteur se fait en notant le numéro de l'élément entre parenthèse ; Idem pour une matrice
(ligne, colonne).

>> x= 10:-1:1

x =10 9 8 7 6 5 4 3 2 1

ans = 7

La somme de Vecteurs se fait terme à terme sur des vecteurs de même longueurs.Il es possible de vérifier la taille de
vos vecteurs à l'aide de la commande length.

Le produit par une constante d'un vecteur multiple tous les termes par cette constante.

(1:N) *3=3:3:3*N;

Le produit de 2 vecteurs de même taille renvoie une erreur. Il est possible l'effectuer le produit terme à terme de deux
vecteurs. L'opérateur est".*".

(1:4).*(1:4)= [ 1 4 9 16 ];

1.6 Génération des signaux : Impulsion Unité et Echelon Unité

Deux signaux élémentaires de base sont: l'impulsion Unité et l'échelon Unité.

L'impulsion unité u[n] de longueur N peut être générée en utilisant la commande MATLAB Suivante:

n= [1 zeros (1,N -1)];

De même, l'impulsion unité ud[n] de longueur N et décalées de M échantillons, tel que M<N, peut être générée par la
commande MATLAB suivante

ud= [zeros (1, M) 1 zeros (1,N-M-1)];

L'échelon unité s[n] de longueur N peut être généré en utilisant la commande MATLAB suivante :

x= [ones (1, N)]

La version décalée de l'échelon unité s'obtient de la même manière que dans le cas de l'impulsion unité.

Le programme P1 peut être utilisé pour générer et tracer un signal impulsion unité:

%Programme P1

% Génération d'une impulsion unité

% Génération d'un vecteur de -10 à 20

n=-10:20;

% Génération de l'impulsion unité

u = [zeros(1,10) 1 zeros(1,20)];

% Tracer le signal généré

Stem (n,u);

xlebel ('Temps indexé en n') ;


ylabel ('Amplitude');

title ('impulsion Unité');

axis ([-10 20 0 1.2]) ;

Application:

1-Exécuter le programme P1 et vérifier qu'il génère un signal impulsion unité.

Le résultat:

2-Modifier le programme pour générer une impulsion unité décalée de 11 échantillons. Exécuter le programme et
tracer le signal généré.
Le résultat:

3-Modifier le programme pour générer un échelon unité.


Le résultat:

4- Modifier le programme pour générer un échelon unité de 20 échantillons.

Le résultat:

1.7 Génération des signaux périodiques


Une autre classe de signaux très utile en traitement du signal sont les signaux sinusoïdaux de la forme :

x(t) = A sin (2 pi Fₒt+φ )

Avec MATLAB, ce type de signaux peut être généré en utilisant les opérateurs trigonométriques cos et sin.

La forme classique de programmation pour créer un vecteur Temps est donnée par:

t=début : pas: durée-pas;

La variable temps représente les instants d'échantillonnage (0 à Durée par pas de Te)

Pour afficher un signal sous forme de peigne de Diracs on utilise la commande matlab stem.

1.7.1 Générer et tracer sur une durée de 1ms.un signal sinusoïdale x1(t) de fréquence 1000Hz, échantillonné à 8000
Hz.

Le résultat:

1.7.2 Sur la même figure, à la même fréquence d'échantillonnage et sur la même durée, générer et tracer un signal
sinusoïdal x2(t) de fréquence 9000 Hz, échantillonné à 8000 Hz.
Le résultat:

Commentaire:

On remarque, lorsque nous mettons les 2 signaux x1(t) et x2(t) simultanément : les impulsions se trouvent dans les
deux courbes c’est-à-dire les points d’intersection.

La commande ‘STEM’ permet de diviser la fréquence