Vous êtes sur la page 1sur 9

Travaux dirigés et travaux

pratiques intégrés de
communications numériques
I. Génération d’un bruit blanc uniforme [0,1]

Le programme MATLAB qui permet de générer un bruit blanc et le suivant :

% Génération du bruit

N = 2048; % Nombre de points de la séquence

bruit = rand(1,N); % fonction pour générer le bruit

plot(bruit); % Affichage;

ce programme permet de générer 2048 échantillons;

Le résultat d’exécution est donné par la figure suivante:

A- pour savoir si ce bruit est uniforme ou pas on utilise l'instruction suivante:

hist(bruit);

le résultat est donné par la figure suivante:

on constate qu'avec 2048 le bruit n'est pas toute à fait uniforme.


Si on augment le nombre d'échantillon par exemple N= 20480 on trouve que le bruit devient plus au
moins uniforme voir la figure suivante:

B – vérification c'est le bruit est blanc ou pas?

Pour vérifier si le bruit est blanc ou pas on procède de deux manières:

a- fréquentielle:

il faut que la densité spectrale soit uniforme pour le vérifier on utilise la fonction « spectrum » sous
Matlab:

spectrum(bruit);

le résultat d'exécution pour N= 2048 est donné par la figure suivante:

la densité spectrale n'est pas uniforme ce qui montre que le bruit n'est pas blanc

pour N= 20480 on trouve le résultat suivant


ce qui montre que plus que le nombre d'échantillon augmente plus que la densité spectrale de
puissance devient uniforme c'est à dire on approche d'un bruit blanc.

a- Temporelle

pour cela on analyse la fonction d'auto-corrélation R(K);

il faut que R(k)= E[Xn+1,Xn]= 0 si K≠0;

= σ² si k=0

sous Matlab on utilise la fonction « Xcorr » sous la forme suivante:

plot(xcorr(bruit-mean(bruit)));

le résultat obtenu pour N= 2048 est le suivant:

pour N=20480 on trouve le résultat suivant:


Donc si on fait la comparaison entre les deux courbes on constate que plus le nombre d'échantillon
augment plus qu'on s'approche du bruit blanc.

C- calcul de la valeur moyenne et de la variance

a- théoriquement :

pour un bruit blanc on a la valeur moyenne E(x)= ½ ;

et la variance σ²= E[(x-E(x))²]= 1/12 = 0,08333;

b- sous Matlab:

1- la valeur moyenne:

pour calculer la moyenne du bruit blanc on utilise la fonction « mean »

soit: mean(bruit)

pour N= 2048 on trouve E[x]= 0.5126;

et pour N= 20480 on trouve E[x]= 0.5015.

donc on constate que plus la nombre échantillons augment plus qu'on s'approche de la valeur
moyenne d'un bruit blanc.

2- la variance:

pour calculer la variance d'un signal sous matlabe on utilise la fonctio « var »

soit: var(bruit)

le résultat d'exécution est:

pour N= 2048 on trouve σ²= 0.0877


et pour N=20480 on trouve σ²= 0.0842

donc de même on constat que plus que le nombre d'antipollution augment plus que qu'on
s'approche du bruit blanc.

II- Génération de N=100 échantillons sur intervalle [-1,1]:

Pour travailler sur l'intervalle [-1,1] on fait un décalage de la médiane du bruit .

Sous Matlab on utilise la fonction « sign » et la fonction « median » sous la forme:

y = sign (bruit-median(bruit));

et le programme complet sous Matlab est donné par:

% Génération du bruit

N = 100; % Nombre de points de la séquence

bruit = rand(1,N);

y = sign (bruit-median(bruit));

hist(y);

la fonction « hist » permet de tracer l'histogramme qui traduit le nombre d'échantillons à 1 et


le nombre d'échantillons à -1 il est donné par la figure suivante:
Interprétation:

A- d'après l'histogramme on constate que le +1 et le -1 sont équiprobables 50% chacun.

B- la valeur moyenne et la variance:

theroriquement:

on a la valeur moyenne E(x)=0,

et la variance σ²= E[(x-E(x))²]= E[x²]=1.

Sous Matlab

de meme en utlise la fonction « mean » pour calculer la moyenne

soit

mean (y) = 0

donc on a bien générer un bruit blanc car la valeur moyenne c'est nulle

pour calculer la variance on utilise la fonction « var »

soit

var (y) = 1.0101 qu'est telement proche de la valeur theorique donc on a bien un bruit blanc
C- vérification c'est le bruit est blanc ou pas:

1- fréquentiel:

comme la première partie on utilise la fonction « spectrum »

soit:

spectrum(bruit);

après exécution on trouve le résultat suivant:

cette courbe traduit la densité spectral du signal étudie. Donc on constate que c'est n 'est pas
uniforme

donc il ne s'agit d'un bruit blanc et ça est dû aux nombre échantillonnons qu'est limité à 100.

2- temporellement:

pour cela on utilise la fonction de corrélation « xcorr »

soit:

plot(xcorr(y-mean(y)))

le résultat est donné par la figure suivant :


cette courbe traduit la fonction d'auto-corrélation du signal étudié. Donc on constat qu'avec les 100
échantillons choisies on n'a pas arrivé à générer le bruit blanc.

Donc il faut choisir plus que 100 échantillons.

Vous aimerez peut-être aussi