Exercices sur machine#
Comme la séance précédente, ce TP est un rappel des notions de première année.
Ouvrez JupyterLab en tapant dans un terminal :
jupyter lab
puis créez un nouveau notebook dans lequel vous pourrez donner un titre (en définissant la cellule courante en markdown, et y tapant par exemple # TP 1
).
Tapez Shift + Entrée
pour exécuter la cellule courante et en créer une nouvelle.
Représentation d’un signal#
Représentez entre 0 et 10 s la sinusoïde amortie
où \(A=2\), \(a=0,5\), \(\varphi=1\) et \(f = 2\) Hz. Vous pouvez vous inspirer de l’exemple donné en section Écrire un programme Python. Choisissez un pas de temps correct pour obtenir une jolie courbe.
Transformée de Fourier discrète#
On considère le signal créneau suivant de période \(N=100\) :
Créez et affichez le signal \(x[n]\) sur 100 échantillons. Une porte discrète peut être générée avec la fonction
numpy.where
(voir sa syntaxe).Tracez la transformée de Fourier discrète (TFD) \(X[k]\) de \(x[n]\) entre \(0\) et \(N-1\) (
scipy.fft.fft
).Centrez la TFD pour la représenter entre \(-N/2\) et \(N/2-1\) (
scipy.fft.fftshift
).Modifiez les abscisses pour représenter la TFD en fonction des fréquences (et non des échantillons). On suppose que \(T_e=2,5\) ms.
Analyse spectrale#
Le signal consommation.csv contient la consommation horaire en gaz (deuxième colonne, en MW) et en électricité (troisième colonne, en MW) en France métropolitaine (hors Corse) de 2012 à 2021.
Chargez (
numpy.loadtxt
) et affichez la consommation électrique en fonction des indices des échantillons (inutile de graduer en fonction du temps).Affichez la TFD du signal.
Déterminez les valeurs des principales fréquences.
Identifiez quelles phénomènes correspondent aux principales fréquences.
Produit de convolution#
Représentez le produit de convolution \((x*y)[n]\) où :
Pour définir \(x[n]\), remarquez que le signal correspond à la somme de deux impulsions discrètes, et qu’une impulsion discrète n’est rien d’autre qu’une porte très étroite…