0% ont trouvé ce document utile (0 vote)
182 vues30 pages

Les Ondelettes

Transféré par

soundy club
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)
182 vues30 pages

Les Ondelettes

Transféré par

soundy club
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

Université Hassan 1er

Faculté des Sciences et Techniques


de Settat

Présentation sur :
LA TRANSFORMATION EN
ondelettes

Réalisée par :
Dahmani Choiab
Ettaouil Abdessamad
➢ Plan :
➢ Apparition DE L’ONDELETTE
▪ TRANSFORMEE DE FOURIER (TF et TFTD).
▪ TRANSFORMEE DE FOURIER A COURTE TERMES(TFCT)
▪ UNE ONDELETTE
➢ TRANSFORMEE EN ONDELETTES CONTINUES
▪ EXEMPLES DES ONDELETTES MERE
▪ PROPRIETES
▪ LA TRANSFORMATION EN ONDELETTES DIRECT
▪ LA TRANSFORMATION EN ONDELETTES INVERSE
➢ TRANSFORMEE EN ONDELETTES DISCRETES
▪ LA DECOMPOSITION ET LA RECONSTRUCTION D’UN SIGNAL
▪ LA METHODE DE HAAR
➢ La transformée de Fourier :
+∞
X(f )=‫׬‬−∞ 𝒙(𝒕) 𝒆−𝒋𝟐𝝅𝒇𝒕 ⅆ𝒕
𝒙 𝒕 ∶ 𝒆𝒔𝒕 𝒍𝒆 𝒔𝒊𝒈𝒏𝒂𝒍 à 𝒕𝒓𝒂𝒊𝒕𝒆𝒓.
o La transformée de Fourier suppose que le signal
est stationnaire .
Exemple :
1 Hz -> 50 Hz 50 Hz -> 1 Hz

TF :

Probleme !!
➢ Non-localisation temporelle (ou spatiale). Etude global du signal( de –∞ à + ∞ ).
➢ Etude global du signal( de –∞ à + ∞ ).
➢ Le code chirp allant de f1 =1hz jusqu’à f2=10hz:
import numpy as np
import [Link] as plt
from [Link] import chirp
# Paramètres du signal
Fs = 1000 # Fréquence d'échantillonnage
en Hz
T = 1 / Fs # Période d'échantillonnage en
secondes
t = [Link](0, 5, T) # Vecteur de temps
de 0 à 0.2 seconde avec un pas de T

# Définition de la fonction du signal

# Calcul du signal échantillonné


sampled_signal = chirp(t, f0=1, f1=100,
t1=5, method='linear')

# Affichage du signal échantillonné


[Link](t, sampled_signal)
[Link]('Échantillonnage du signal')
[Link]('Temps (s)')
[Link]('Amplitude')
[Link](True)
[Link]()
➢ La transformée de Fourier à temps discrèt :
𝑛=+∞ ❑ EXMPLE :
𝑋(𝑓) = ෍ 𝑥(𝑛)𝑒 −𝑗2𝜋𝑛𝑓
𝑛=−∞
𝑥 𝑛 = 𝑥(𝑛𝑇𝑒) : Le signal échontillonné

➢ Inconvenients:
• Perte d'information temporelle .
• Résolution fréquentielle fixe.
• Complexité pour les signaux non stationnaires.

➢ Le besoin d’une transformée qui


C’est le role
conserve l’information du temps.
de TFCT.
➢ La transformée de Fourier à court terme:
+∞
Continu : SFTC {x(t)}=X(𝜏, 𝑓) = ‫׬‬−∞ 𝑥 𝑡 𝜔(𝑡 − 𝜏)𝑒 −𝑗2𝜋𝑓𝑡

Discrète : TFCT {x(n)}=X(𝑚, 𝑓) = σ𝑛=+∞


𝑛=−∞ 𝑥 𝑛 𝜔(𝑛 − 𝑚)𝑒
−𝑗2𝜋𝑛𝑚

Où:
o SFTC(short time fourier transform) = TFCT(transformee de fourier à court terme)
o ω(t) : la fonction de fenêtrage.
o x(n) : le signal échantillonné.

La TFCT peut etre tracer en 3


dimensions(le spectrogramme d’un signal
chirp).
Le code de traçage en 3D :
import numpy as np
import plotly.graph_objects as go
from [Link] import chirp, spectrogram

# Générer un signal chirp


fs = 1000 # Fréquence d'échantillonnage en Hz
t = [Link](0, 2, 1/fs) # Temps de 0 à 2 secondes
f0, f1 = 1, 100 # Fréquences de début et de fin du chirp
signal_chirp = chirp(t, f0=f0, f1=f1, t1=2, method='linear')

# Calcul de la STFT
f, t_spec, Sxx = spectrogram(signal_chirp, fs, nperseg=64)

# Créer un spectrogramme 3D avec Plotly


fig = [Link](data=[[Link](z=10 * np.log10(Sxx), x=t_spec, y=f,
colorscale='Viridis')])

# Ajouter des étiquettes


fig.update_layout(scene=dict(xaxis_title='Temps (s)',
yaxis_title='Fréquence (Hz)', zaxis_title='Amplitude (dB)'),
title='Spectrogramme 3D du signal chirp')

# Afficher le spectrogramme 3D
[Link]()
Voici un exemple (les chirp qu’on a déjà vu) :

Si vous choisissez une


fenêtre plus petite pour
Inconvenient une meilleure résolution
temporelle, la résolution
fréquentielle diminue, et
vice versa.

Solution : introduire un transformée dont la fenêtre vas se dilater pour les


hautes fréquences et s‘élargir pour les basses fréquence.
C‘est le role des
ondelettes.
Le code signal avec recouvrement de 20 Le code signal avec recouvrement de 250
points: points:
import numpy as np import numpy as np
import [Link] as plt import [Link] as plt
from [Link] import chirp from [Link] import chirp
# Paramètres de la chirp # Paramètres de la chirp
Fs = 200 # Fréquence d'échantillonnage en Hz Fs = 200 # Fréquence d'échantillonnage en Hz
T = 1 / Fs # Période d'échantillonnage en T = 1 / Fs # Période d'échantillonnage en
secondes secondes
t = [Link](0, 5, T) # Vecteur de temps de 0 à t = [Link](0, 5, T) # Vecteur de temps de 0 à
5 secondes avec un pas de T 5 secondes avec un pas de T

# Définition de la chirp # Définition de la chirp


f1 = 1 # Fréquence initiale en Hz f1 = 1 # Fréquence initiale en Hz
f2 = 100 # Fréquence finale en Hz f2 = 100 # Fréquence finale en Hz
chirp_signal = chirp(t, f0=f1, f1=f2, t1=5, chirp_signal = chirp(t, f0=f1, f1=f2, t1=5,
method='linear') method='linear')

# Appliquer la fenêtre de Hann # Appliquer la fenêtre de Hann


hann_window = [Link](len(chirp_signal)) hann_window = [Link](len(chirp_signal))
chirp_signal_windowed = chirp_signal * chirp_signal_windowed = chirp_signal *
hann_window hann_window

# Affichage du spectrogramme avec la fenêtre de # Affichage du spectrogramme avec la fenêtre de


Hann et un recouvrement de 64 points Hann et un recouvrement de 64 points
[Link](chirp_signal_windowed, Fs=Fs, [Link](chirp_signal_windowed, Fs=Fs,
cmap='viridis', NFFT=256, noverlap=20) cmap='viridis', NFFT=256, noverlap=250)
[Link]('Spectrogramme de la chirp avec fenêtre [Link]('Spectrogramme de la chirp avec fenêtre
de Hann et recouvrement de 20 points') de Hann et recouvrement de 250 points')
[Link]('Temps (s)') [Link]('Temps (s)')
[Link]('Fréquence (Hz)') [Link]('Fréquence (Hz)')
[Link](label='Amplitude (dB)') [Link](label='Amplitude (dB)')
[Link]() [Link]()
C‘est quoi une ondelette ?
➢ Une ondelette est une fonction mathématique localisée dans le temps et en
fréquence, utilisée pour décomposer un signal en différentes échelles. Elle permet
une analyse fine des signaux non stationnaires, offrant ainsi une méthode puissante
dans des domaines tels que le traitement du signal et la compression d'image.

Une ondelettes a:
✓ Un début .
✓ Une fin.
✓ Une valeur Moyenne nulle.
➢ Transformée en ondelettes continues :
Introduite par Jean Morlet en 1981 pour résoudre des problèmes de signaux sismiques en
recherche pétrolière.
Partant d’une fenêtre (t) (dite fonction mère) Générer un ensemble de fonctions de base
similaire par dilatation (indice a) et translation (indice b) d'un seul prototype 𝜓𝑎,𝑏(𝑡) :
1 𝑡−𝑏
ψ a, b 𝑡 = ψ avec a>0.
𝑎 𝑎 a est un facteur d’échelle , Cas d’un
signal : a est l’inverse de la
fréquence .

• a est échelle de contraction (a <1 ) ou de dilatation (a >1 ) de la fenêtre.


• b est un facteur de position . Cas d’un signal : b est le temps

1 2

1
➢ EXEMPLES DES ONDELETTES MERE
La TOC est un opérateur linéaire, invariant par translation, et par dilatation. Elle est unique
pour une ondelette donnée.

Exemple : Ondelette de Haar


1 𝑎
1 𝑠𝑖 0≤𝑡≤1 𝑝𝑜𝑢𝑟 𝑏 < 𝑡 <
2
+𝑏
1 𝑡−𝑏
𝑎
🠶 𝜓 𝑡 = −1 𝑠𝑖 1
≤𝑡≤1 🠶 ψ a, b 𝑡 = ψ = 1 𝑎 𝑡−𝑏
𝑎 𝑎 − 𝑝𝑜𝑢𝑟 + 𝑏 < <𝑎+𝑏
𝑎 2 𝑎
0 𝑎𝑖𝑙𝑙𝑒𝑢𝑟𝑠
0 𝑎𝑖𝑙𝑙𝑒𝑢𝑟
Haar a=4, b=-0.5
Haar a=1, b=2
➢ Une ondelette vérifie les propriétés suivantes :
✓ La transformation en ondelette est une transformation linéaire.
✓ La fonction Ψ doit être oscillante et d’intégrale nulle.
+∞
න 𝛹 𝒕 ⅆ𝒕 = 𝟎
−∞
✓ Ψ doit être de carré intégrable(d’énergie finie).
+∞
2
න 𝛹 𝒕 ⅆ𝒕 = 𝟏 < +∞
−∞
✓ On notera que la norme est conservée lors du changement de
facteur d’échelle
‖𝜳𝐚,𝐛 (𝒙)‖² = ‖𝜳(𝒕)‖²

Une ondelettes mère :


Quelques ondelettes fameuses
➢ TRANSFORMEE EN ONDELETTES DIRECT:
En décomposant le signal x(t) sur cette famille on obtient ainsi les
coefficients d’ondelettes:

+∞
𝑾𝑻𝒙,𝜳 𝒂, 𝒃 = න 𝒙 𝒕 𝜳𝒂,𝒃 (𝒕) ⅆ𝒕
−∞
Or:

𝟏 +∞ 𝒕−𝒃
𝑾𝑻𝒙,𝜳 𝒂, 𝒃 = න 𝒙 𝒕 𝜳 ⅆ𝒕 𝒂>𝟎
𝒂 −∞ 𝒂
➢ TRANSFORMEE EN ONDELETTES INVERSE:
La fonction x(t) peut être reconstruire à partir de 𝑊𝑇𝑥,𝛹 𝑎, 𝑏 par la
formule :

𝟏 𝒂=+∞ 𝒃=+∞ 𝑾𝑻𝒙,𝜳 𝒂,𝒃


𝒙 𝒕 = ‫=𝒂׬‬−∞ ‫=𝒃׬‬−∞ 𝜳𝒂,𝒃 𝒕 ⅆ𝒂 ⅆ𝒃
𝑪𝜳 𝒂𝟐

➢ 𝑪𝜳 𝒆𝒔𝒕 𝒖𝒏𝒆 𝒄𝒐𝒏𝒔𝒕𝒂𝒏𝒕𝒆 ⅆ𝒆𝒑𝒐𝒏ⅆ𝒂𝒏𝒕 ⅆ𝒆 𝒍′ 𝒐𝒏ⅆ𝒆𝒍𝒆𝒕𝒕𝒆 𝜳 𝒕 𝒄𝒉𝒐𝒊𝒔𝒊𝒆


➢ La transformation générale en ondelette est surdéterminée
➢ En fait il suffit de connaitre la fonction 𝑾𝑻𝒙,𝜳 𝒂, 𝒃 pour reconstruire 𝒙 𝒕
➢ La transformée discrète en ondelettes:

Comme une transformée continue en


ondelettes peut être calculée à partir d’un
signal continu, une transformée discrète en
ondelettes peut être calculée à partir d’un
signal discret.
➢ L’analyse multi-résolution :
❑Quantité d’information à traiter importante , Optimiser les
calculs et la taille des données.
❑L’analyse multi résolution développée par Meyer et Mallât permet
d'analyser un signal à différentes échelles à travers des opérateurs
linéaires à des niveaux de résolutions correspondant à différentes
bandes de fréquences spatiales.
Remarque:
• La construction de tells ondelettes peut s’aborder comme un
problème de décomposant en sous_bandes Elle se prête bien a
une de décomposant /reconstruction par banc de filtres.
Décomposition:

H0(z) ↓2 H0(z) ↓ 2 𝑎𝑖+1 H0(z) ↓2


X(z) 𝑎𝑖
𝑎𝑖+2
H1(z) ↓2 H1(z) ↓2 𝑑 H1(z) ↓2 𝑑
𝑖+1 𝑖+2

Le filtre passe-bas (fonction d’échelle) donne


𝑘 les informations
grossières ,tandis que le filtre passe-haut(ondelette) encode les
détails (uniquement 2 filtres).
La transformée de en ondelette discrète se ramène a des
opérations de filtrage numérique suivies de sous échantillonnage.

ai+1[n]= σk ℎ0[ 2𝑛 – 𝑘] 𝑎𝑖[𝑘]


di+1[n]= σk ℎ1[ 2𝑛 – 𝑘] 𝑎𝑖[𝑘]
Remarque: Nombre max de décomposition jmax ≤ log2 N
Reconstruction:
𝑎𝑖 [n]= σ𝑘{𝑓0 [n− 𝑘] 𝑎𝑖+1 [k] +𝑓1 [n− 𝑘] 𝑑𝑖+1[𝑘]}

𝑎𝑖+2 𝗍2 F0(z) 𝑎𝑖+1 𝗍2 F0(z) 𝑎𝑖

𝗍2 F1(z) 𝗍2 F1(z)
𝑑𝑖+2 𝑑𝑖+1

Ajouter un pied de page 2


Reconstruction parfait :
H1(Z)=H0(-Z-1)*Z-(L-1) soit h1(n) =(-1)n h0 (L - 1 - n)

F0(Z)=-H1(-Z)= H0(Z-1)*Z-(L-1) soit f0(n) =h0 (L - 1 - n)

F1(Z)=H0(-Z) soit f1(n) =-(-1)nh0(n)

EXEMEPLE1:
H0(Z)=b0+b1Z-1+ b2Z-2+ b3Z-3
H1(Z)=(b0-b1Z1+ b2Z2- b3Z3)*Z-3= -b3+b2Z-1-b1Z-2+ b0Z-3
F0(Z)=-( -b3-b2Z-1-b1Z-2- b0Z-3)= b3+b2Z-1 +b1Z-2+ b0Z-3
F1(Z)= b0-b1Z-1+ b2Z-2-b3Z-3
EXEMEPLE2 : Ondelette a 6 coefficients

h0=[0.2352 0.5706 0.3252 -0.0955 -0.0604 0.0249]


➢ h1 est obtenue en retournant h dans le temps et
en inversant le signe des coefficients impairs
h1=[-0.0249 -0.0604 0.0955 0.3252 -0.5706 0.2352]
➢ Filtre de reconstruction identiques aux filtres
d’analyse mais retournée dans le temps
f0=[0.0249 -0.0604 -0.0955 0.3252 0.5706 0.2352]
f1=[0.2352 -0.5706 0.3252 0.0955 -0.0604 -0.0249]
Exemple d ’application:
Filtre de décomposition h0=[1/√2 1/√2 ] ,h1=[-1/√2 1/√2 ],filtre de reconstruction

f0=[1/√2 1/√2 ], f1=[1/√2 - 1/√2 ]

Approximation Détail
h0[-k]=[1/√2 1/√2 ] h0[-k]=[1/√2 -1/√2 ]

Decomposition:
• ai+1[n]= σk ℎ0[ 2𝑛 – 𝑘] 𝑎𝑖[𝑘]
Niveau 0 0,1,2,3,4,5,6,7
• di+1[n]= σk ℎ1[ 2𝑛 – 𝑘] 𝑎𝑖[𝑘]
Niveau 1 1/√2 , 5/√2 , 9/√2 , 13/√2 -1/√2, -1/√2, -1/√2, -1/√2
Reconstruction:
𝑎𝑖 [n]= σ𝑘{𝑓0 [n− 𝑘] 𝑎𝑖+1 [k] +𝑓1 [n− 𝑘] 𝑑𝑖+1[𝑘]}

Approximation Détail
f0[-k]=[1/√2 1/√2 ] f0[-k]=[1/√2 -1/√2 ]

Niveau 1 1/√2 , 5/√2 , 9/√2 , 13/√2 -1/√2, -1/√2, -1/√2, -1/√2

0,1/√2 ,0, 5/√2 ,0, 9/√2 ,0, 13/√2, 0,-1/√2,0, -1/√2,0, -1/√2,0, -1/√2

Niveau 0 0,1,2,3,4,5,6,7
Algorithme de décomposition d’une
fonction en escalier sur la base de Haar:
• [2 4 8 12 14 0 2 1]
↓(Approximation) ↓(détails)
[3 1 7 1.5] [-1 -2 7 0.5]
↓(Approximation) ↓(détails)
[6.5 4.25] [-3.5 2.75]
↓(Approximation) ↓(détails)
[5.375] [1.125]
Signal décomposée :
[ 5,375 1,125 -3,5 2,75 -1 -2 7 0,5 ]
• Signa
s
Merci de votre
attention

Vous aimerez peut-être aussi