0% ont trouvé ce document utile (0 vote)
7 vues2 pages

TP 3

Le document présente un TP sur le traitement du signal et des images, axé sur l'utilisation de listes de listes en Python pour modéliser des matrices. Il inclut des exercices sur l'affichage de matrices, la vérification de propriétés matricielles, la génération de signaux numériques, et le calcul de produits matriciels. Les étudiants sont également encouragés à explorer des concepts théoriques et pratiques liés à la transformation de Fourier discrète (TFD).

Transféré par

ys9j98p955
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
7 vues2 pages

TP 3

Le document présente un TP sur le traitement du signal et des images, axé sur l'utilisation de listes de listes en Python pour modéliser des matrices. Il inclut des exercices sur l'affichage de matrices, la vérification de propriétés matricielles, la génération de signaux numériques, et le calcul de produits matriciels. Les étudiants sont également encouragés à explorer des concepts théoriques et pratiques liés à la transformation de Fourier discrète (TFD).

Transféré par

ys9j98p955
Copyright
© All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats PDF, TXT ou lisez en ligne sur Scribd

L2 EEEA/INFO

Outil pour le traitement du signal et des images


TP N°3 : Listes de listes, premiers signaux et TFD maison
Sébastien Adam & Maxime Berar & Jason Piquenot

Exercice 1 – Les tableaux 2D comme des listes de listes


Une façon de modéliser les matrices (tableaux 2D) en python est d’utiliser des listes de listes. Soit la matrice :

A = 2 8 9
5 7 6
4 2 4

On pourra la représenter par la liste suivante :

A=[[1,2,3],[4,5,6],[7,8,9]]

1. Ecrire les lignes de code permettant d’afficher les données sous forme matricielle classique (comme ci-
dessus). On fera en sorte que les valeurs soient correctement alignées, en supposant que les valeurs ne
dépasseront jamais 99. Le code devra fonctionner pour toute taille de matrice.
2. Ecrire les lignes de code permettant de tester si la matrice est diagonale
3. Ecrire les lignes de code permettant de tester si la matrice est symétrique
4. Ecrire les lignes de code permettant de multiplier cette matrice par un vecteur colonne.
5. Pour les plus courageux, ecrire les lignes de code permettant de multiplier deux matrices, après avoir
vérifié leur compatibilité.

Exercice 2 – Matrice de Wandermonde-Fourier


−2iπnm
Ecrire les lignes de code qui calcule la matrice carrée W de taille N ×N composée des valeurs : Wn,m = e N
avec n, m ∈ [0, N − 1]. L’exponentielle complexe peut être réalisée par la fonction exp du module cmath. Pour
N = 4, vous devriez obtenir :

 
1 1 1 1
 1 −i −1 i 
W4 = 
 
1 −1 1 −1 
1 i −1 −i

Exercice 3 – Premier signal


Tentons de générer, et même d’afficher, un premier signal numérique à l’aide d’une liste (on utilisera autre
chose, plus tard) en mixant connaissance théoriques et pythoniques. On considère le signal très simple suivant :

x(t) = sin(2πf t)
On va supposer que ce signal a été échantillonné avec une période d’échantillonage Te . t devient alors kTe
et le signal peut alors être indicé par un numéro d’échantillon k :

x(k) = sin(2πf kTe )

1
On va encore simplifier les choses en posant Te = 1, ce qui nous amène à :

x(k) = sin(2πf k)
On peut alors représenter ce signal en utilisant une liste.
1. Ecrire le code python permettant de générer le signal ci-dessus sous forme de liste. La valeur de f et la
longueur N du signal seront saisies par l’utilisateur. Vous aurez pour cela besoin de la fonction sinus, de
la valeur de π. Toute cela est défini dans le module math dont vous pouvez importer les fonctionnalités
qui vous intéressent par :
from math import sin
from math import pi
2. Appliquer votre fonction pour f = 0.01 et N = 100
3. Afficher le signal. Vous aurez pour cela besoin d’une fonction affichant une courbe. La fonction pyplot
du module matplotlib fait ça très bien !
import [Link] as plt
[Link](x,y)
4. Quelle est la valeur maximale du signal ? La valeur minimale ?
5. Mêmes questions avec f = 0.5, f = 0.075 et f = 0.073
6. Expliquer moi ça dans votre notebook !
7. En utilisant votre signal initial, simuler une division par deux de la fréquence d’échantillonnage.

Exercice 4 – Un dernier Calcul


En utilisant tout ce que vous avez fait jusqu’alors, calculer le produit entre la matrice de Wandermonde-
Fourier et votre signal, et afficher la valeur absolue du résultat pour différentes valeurs de fréquences (0.1, 0.135).
Vous le reverrez plus tard, mais vous venez de coder une TFD !

Vous aimerez peut-être aussi