Академический Документы
Профессиональный Документы
Культура Документы
0
MASTER 2 mention Electronique, Energie Electrique,
Automatique
Parcours Traitement de l’Information et Instrumentation pour
l’Ingénieur (T3I)
Semestre 9 - UE 6 Traitement du Signal
Campus Roannais / LASPI
Frédéric
c BONNARDOT 2018, Reproduction interdite.
2018 - 2019
1 Objectifs
L’objectif de ce TD est de :
— Générer des signaux à fréquence constante ou variable,
— Estimer la fréquence instantanée.
1
Table des matières
1 Objectifs 1
4 Fréquence instantanée 4
4.1 Estimation de la fréquence instantanée . . . . . . . . . . . . . . . . . . . 4
4.2 Application à la sinusoïde . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.3 Application au chirp . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.4 Application à un sifflement . . . . . . . . . . . . . . . . . . . . . . . . . 5
4.4.1 Lecture du fichier wav . . . . . . . . . . . . . . . . . . . . . . . . 5
4.4.2 Estimation module et fréquence instantannée . . . . . . . . . . . 6
4.5 Signal avec deux composantes . . . . . . . . . . . . . . . . . . . . . . . . 6
Introduction
L’analyse temps fréquence permet d’analyser des signaux non stationnaires, c’est
à dire dont les caractéristiques varient dans le temps. Nous allons voir ici comment
générer de tels signaux.
Nous nous intéresserons ensuite à l’estimation de la fréquence instantanée dans le
cas d’un signal avec une seule fréquence.
2
√
— la valeur efficace d’une sinusoïde est 22
En vous aidant :
— du précédent TD qui liste les fonctions de manipulation de matrices et vecteurs,
— des exemples du cours,
— de la documentation de NumPy et notamment de la liste des fonctions mathéma-
tiques (https://docs.scipy.org/doc/numpy/reference/routines.math.html).
créez un script Python nommé gen_sin.py permettant de générer un tel signal en
complétant le modèle si dessous.
# Import des modules (fonctionnalités)
import numpy as np # Gestion des vecteurs et matrices
import matplotlib.pyplot as plt # Affichage de courbes
# Création du signal
x=
# Affichage du signal
plt.figure("Sinusoide + bruit")
plt.plot(t,x)
plt.xlabel("Temps [s]")
plt.ylabel("Amplitude")
plt.title("x(t) = sin(2 pi f_1 t)+b(t)")
plt.show()
plt.show ()
3
3 Signal non stationnaire (chirp)
3.1 Génération du signal
On désire générer un signal y(t) défini par :
où chirp(t) est un signal dont la fréquence varie entre fmin et fmax sur toute la
durée du signal Tsig .
Nous choisirons les paramètres suivants :
fréquence d’échantillonnage fech = 20 kHz
Durée du signal Tsig = 20 ms
Fréquence fmin fmin = 1 kHz
Fréquence fmax fmax = 3 kHz
Bruit Gaussien centré SNR=10 dB
Créer un script Python nommé gen_chirp.py permettant de générer un tel signal.
Vous vous inspirerez de votre précédent script et du script disponible dans le cours.
4 Fréquence instantanée
4.1 Estimation de la fréquence instantanée
Le but de cette partie est d’estimer la fréquence instantanée en utilisant le signal
analytique.
Lancez votre script gen_sin.py pour charger en mémoire la sinusoïde (ce signal est
plus facile pour interpréter les résultats).
En vous aidant du cours créez un script est_finst.py qui calcule la fréquence instan-
tanée, module du signal et les affiche dans une figure. Utilisez une échelle qui débute à
0 les axes des ordonnée du module et de la fréquence instantanée (fonction plt.ylim).
A l’aide de la fonction print (documentation à l’url http://thomas-cokelaer.
info/tutorials/python/print.html), affichez pour le module et la fréquence ins-
tantanée leurs valeurs moyenne et leurs écart type. Affichez également le SNR.
Vous pourrez utiliser la fonction subplot de matplotlib.pyplot afin de superposer
trois graphes dans la même figure (exemple d’utilisation de pyplot dans le cours ou
dans le Tutoriel de matplotlib Pyplot à l’url https://matplotlib.org/tutorials/
introductory/pyplot.html).
4
4.2 Application à la sinusoïde
Comment doit être la fréquence instantané pour une sinusoïde ?
Faites varier le SNR 0 à 40 par pas de 10 pour
— observer l’influence du bruit sur la mesure de fréquence,
— relever l’écart type des mesures en fonction du SNR.
Tracez sur échelle semilog en y l’évolution de l’écart type en fonction du SNR exprimé
en dB.
En utilisant la courbe, trouvez quel SNR permet d’avoir une mesure avec un écart
type représentant 5% de la fréquence instantanée (donnez le SNR en dB et sur une
échelle linéaire). Faites le test pour vérifier.
ATTENTION : Dans le futur, vous devrez être capable de lire des fichiers wav sans
que je vous rappel comment faire.
5
4.4.2 Estimation module et fréquence instantannée
Visualisez le signal temporel. Est-ce que ce signal est une signal monocomposante ?
Estimez la fréquence instantanée et le module. Pourquoi la fréquence est mal estimée
dans certaines zones ?
Ecoutez le son, est-ce que le résultat obtenu est logique ?