Académique Documents
Professionnel Documents
Culture Documents
UEF-MINA CM-SigA Oct21
UEF-MINA CM-SigA Oct21
Jean-Luc C HARLES
Éric D UCASSE
Thomas M ILCENT
ÉD, JLC, TM (Arts & Métiers PT) Classes pour le traitement du signal V1.2 – Octobre 2021 1/9
Signal numérique La classe numSig
classe numSig
« attributs » en lecture-écriture
+ Ts : float Période d’échantillonnage
+ t0 : float Instant de début du signal
+ label : string Étiquette du signal
« attributs » en lecture seule
+ values : vector of floats Valeurs du signal
+ nt : integer Nombre de valeurs
+ timeValues : floats Instants d’échantillonnage
..........................................
« variable de classe » en lecture seule
+ instances : list of numSig Tous les signaux numériques créés
Méthodes publiques
+ numSig( values : floats, Ts : float, t0 : float, label : string )
+ copy() : numSig Renvoie une copie du signal
Restriction On fera toujours en sorte que le nombre de valeurs soit pair. Le constructeur rajoute
automatiquement un zéro à la fin si la liste de valeurs qu’on lui fournit comporte un nombre impair
de valeurs.
ÉD, JLC, TM (Arts & Métiers PT) Classes pour le traitement du signal V1.2 – Octobre 2021 2/9
Représentation de signaux La classe signalPlotter
classe signalPlotter
Attributs
- filePath : string Chemin du fichier où l’on mémorise le dernier tracé
- signals_to_be_plotted : list Signaux et directives graphiques
- FTs_to_be_plotted : list Transformées de F OURIER et directives graphiques
Méthodes
+ signalPlotter( file_path : string )
- restore() Restauration du dernier tracé
- save() Sauvegarde du dernier tracé
ÉD, JLC, TM (Arts & Métiers PT) Classes pour le traitement du signal V1.2 – Octobre 2021 3/9
Analyse spectrale d’un signal à temps continu Transformée de F OURIER
ÉD, JLC, TM (Arts & Métiers PT) Classes pour le traitement du signal V1.2 – Octobre 2021 4/9
Analyse spectrale d’un signal à temps continu Transformée de F OURIER
ÉD, JLC, TM (Arts & Métiers PT) Classes pour le traitement du signal V1.2 – Octobre 2021 4/9
Analyse spectrale d’un signal à temps continu Transformée de F OURIER
ÉD, JLC, TM (Arts & Métiers PT) Classes pour le traitement du signal V1.2 – Octobre 2021 4/9
Analyse spectrale d’un signal à temps continu La classe anaSig
classe anaSig
« Attributs publics en lecture seule » :
+ tmin Instant avant lequel le signal est nul
+ tmax Instant après lequel le signal est nul
+ fmax Fréquence au-delà de laquelle la transf. de F OURIER du signal est nulle
+ label Étiquette du signal
+ array Tableau à 2 lignes pour un tracé de courbe du signal avec une résolution acceptable
+ FTarray Tableau à 3 lignes pour des tracés corrects de la transf. de F OURIER du signal
Méthodes publiques :
+ anaSig(func_or_vec, t_beg, t_end, label[, f_up])
func_or_vec fonction ou vecteur de valeurs, t_beg instant de début, t_end instant
de fin, [optionnel] f_up fréquence au-delà de laquelle on est sûr que la transformée
de F OURIER est nulle, nécessaire uniquement si func_or_vec est une fonction.
+ __call__(Vt:ndarray)
nom(Vt) renvoie les valeurs du signal aux différents instants dans Vt
+ FT(Vf:ndarray)
Renvoie les valeurs complexes de la transf. de F OURIER du signal aux différentes
fréquences dans Vf
+ write() Sauvegarde dans le dossier anaSig.sig_dir (attribut statique)
Méthodes statiques :
+ DAC(sn:numSig) Conversion numérique → analogique, renvoie une instance de anaSig
+ read(file_path:str) Renvoie une instance de anaSig à partir d’un fichier
ÉD, JLC, TM (Arts & Métiers PT) Classes pour le traitement du signal V1.2 – Octobre 2021 5/9
Transformée de F OURIER numérique L’utilisation de la FFT
ÉD, JLC, TM (Arts & Métiers PT) Classes pour le traitement du signal V1.2 – Octobre 2021 6/9
Transformée de F OURIER numérique L’utilisation de la FFT
ÉD, JLC, TM (Arts & Métiers PT) Classes pour le traitement du signal V1.2 – Octobre 2021 7/9
Transformée de F OURIER numérique L’utilisation de la FFT
rfft nt −1
−→ b
sk? exp(−2 i π j k /nt )
X
s = s0? , · · · , sn?t −1 irfft S
= S0 , · · · , Snf −1 avec Sj =
←− k =0
nf −2
1
Re Sj exp(2 i π j k /nt )
X
k
sk?
= S0 + (−1) Snf −1 + 2
nt
j=1
fs 1
f max = (nf − 1) δf = =
2 2 Ts
ÉD, JLC, TM (Arts & Métiers PT) Classes pour le traitement du signal V1.2 – Octobre 2021 8/9
Transformée de F OURIER numérique L’utilisation de la FFT
rfft nt −1
−→ b
sk? exp(−2 i π j k /nt )
X
s = s0? , · · · , sn?t −1 irfft S
= S0 , · · · , Snf −1 avec Sj =
←− k =0
nf −2
1
Re Sj exp(2 i π j k /nt )
X
k
sk?
= S0 + (−1) Snf −1 + 2
nt
j=1
fs 1
f max = (nf − 1) δf = =
2 2 Ts
ÉD, JLC, TM (Arts & Métiers PT) Classes pour le traitement du signal V1.2 – Octobre 2021 8/9
Transformée de F OURIER numérique L’utilisation de la FFT
rfft nt −1
−→ b
sk? exp(−2 i π j k /nt )
X
s = s0? , · · · , sn?t −1 irfft S
= S0 , · · · , Snf −1 avec Sj =
←− k =0
nf −2
1
Re Sj exp(2 i π j k /nt )
X
k
sk?
= S0 + (−1) Snf −1 + 2
nt
j=1
fs 1
f max = (nf − 1) δf = =
2 2 Ts
ÉD, JLC, TM (Arts & Métiers PT) Classes pour le traitement du signal V1.2 – Octobre 2021 8/9
Transformée de F OURIER numérique La classe numFT
classe numFT
« attribut » en lecture-écriture
+ df : float Pas de discrétisation en fréquences
+ label : string Étiquette de la T.F. numérique
« attributs » en lecture seule
+ values : vector of complexes Valeurs de la T.F. numérique
+ ASDValues : vector of floats Valeurs de la D.S.A.*
+ phaseValues : vector of floats Valeurs du déphasage en radians
+ nf : integer Nombre de valeurs, nf=nt//2+1
+ nt : integer Nombre de valeurs du signal correspondant,
nt=2*(nf-1)
+ frequencyValues : vector of floats Fréquences discrétisées
............................................
« variable de classe » en lecture seule
+ instances : list of numFT Toutes les T.F. numériques créées
Méthodes publiques
+ numFT( values : complexes, df : float, label : string )
+ copy() : numFT
*
D.S.A. : Densité Spectrale d’Amplitude / ASD : Amplitude Spectrum Density.
ÉD, JLC, TM (Arts & Métiers PT) Classes pour le traitement du signal V1.2 – Octobre 2021 9/9