Vous êtes sur la page 1sur 2

Départ Télécom, FGE Master RTB, M1 octobre 2022

TP N° 3, S1 : TAS

But du TP : Ce TP a pour objectif de Manipuler un signal aléatoire, connaitre les propriétés d’un bruit
blanc à différentes distributions, étudier les notions de stationnarité et ergodicité.

Préparation théorique :
1. Donner le rôle des fonctions suivantes : mean, normal, uniform, rand, randn, sum, ….et leurs syntaxes.
Définir un bruit blanc en deux lignes? bruit blanc gaussien ? bruit blanc uniforme ?
Définir « variables aléatoires indépendantes et identiquement distribuées » (i.i.d) ?
Que représente la matrice de variance-covariance pour un vecteur aléatoire ?
Générer un vecteur de v.a. et une matrice de v.a. de distribution uniforme et une autre de distribution
normale.
Pour la partie pratique donner des figures claires ( nom de la figure et des axes )

Exercice 1 (la première question est à faire avant de venir en TP):


soit : X(t) = A cos(2πft + θ), Un signal aléatoire
Pour chaque question tracer cinq réalisations du processus aléatoire (utiliser les couleurs). Pour
un programme optimisé, utilisez les boucles.
1. A et f sont des constantes et θ est une v.a. qui suit une loi uniforme sur [-π; π]. C.a.d que les
valeurs de A et f restent les mêmes pour les 5 réalisations mais θ change.
2. A et θ sont des constantes et f est une v.a. qui suit une loi uniforme sur [0, 200].
3. f et θ sont des constantes et A est une v.a. qui suit une loi uniforme sur [0,2].
Afficher les réponses des trois questions sur la même figure à l’aide de la fonction subplot.

Exercice 2 : Bruit blanc avec différentes variances.


1. Générer un vecteur aléatoire de 100 valeurs de distribution uniforme et tracer sa pdf. Choisissez
les valeurs de la moyenne et de la variance qui vous conviennent.
2. Même question pour une distribution normale.
3. Ecrire un programme qui affiche sur la même figure, 9 réalisations d’un signal aléatoire de
distribution gaussienne ayant différentes moyenne (mu=0, 10 et 40) et différentes variances (4,
16 et 49). Donner la même échelle à tous les graphes pour pouvoir comparer. Peut-on déduire
la moyenne et la variance visuellement (à partir des figures) ?
.
Exercice 3 :
1. Générer un vecteur de 5 variables aléatoires réelles de distributions gaussiennes IID ( indépendantes
et identiquement distribuées) de variance σ2 (bruit blanc gaussien et le σ2 de votre choix ).

1
Départ Télécom, FGE Master RTB, M1 octobre 2022
TP N° 3, S1 : TAS

2. Calculer l’autocorrélation du vecteur aléatoire par les 3 façons données dans le programme
suivant. Vérifier les propiétés de l’autocorrélation.
Ceci est un programme en matlab, il est demandé de le convertir en Python

x=[1 2 3 4];
acf1 =xcorr(x) % Méthode 1
acf2=conv(x,fliplr(conj(x))) % Méthode 2

L = 2*length(x)-1;
acf4=ifft(fft(x,L).*fft(fliplr(conj(x)),L)) % Méthode 3

3. Changer x par un vecteur complexe et afficher le résultat.

Exercice 4
1. Même question que 1. De l’exercice 3, pour un vecteur de 500 variables aléatoires
2. Interprétez ce graphe par rapport à la matrice variance covariance d’un vecteur aléatoire..
3. Comment influe la variane σ2 sur la figure de l’autocorrélation. Quelle est l’énergie du
signal ? Comparer avec la théorie (l’autocorrélation au point zéro est égale à l’énergie du signal et
est égale à la variance)
4. Générer un ensemble de vecteurs gaussiens pour simuler un processus aléatoire, dont la
moyenne et la variance sont égales respectivement à 5 et à 16. Calculer la moyenne et la
corrélation en lignes et en colonnes de ces réalisations. Que pouvez-vous dire de la stationnarité
et l’ergodicité à l’ordre 1 et au sens large ?
5. Télécharger à partir du link un fichier de séries temporelles d’extension csv (vous pouvez
utiliser un autre fichier de séries temporelles de votre choix). Tracer la donnée et tester si le
processus est stationnaire.
https://www.analyticsvidhya.com/blog/2021/08/python-tutorial-working-with-csv-file-for-data-
science/

Some help (en matlab) for exercise 2:


En python:
import numpy as np
import matplotlib.pyplot as plt
L=100; mu=0; sigma=2; X=sigma*np.random.randn(L,1)+mu;
fig; plt.subplot(2,1,1); plt.plot(X);
En matlab
clear all; clc; close all; L=100000; %Sample length for the random signal
mu=0; sigma=2; X=sigma*randn(L,1)+mu; figure(); subplot(2,1,1);
plot(X); title(['White noise : \mu_x=',num2str(mu),' \sigma^2=',num2str(sigma^2)])
xlabel('Samples'); ylabel('Sample Values'); grid on;

Vous aimerez peut-être aussi