1. Description du module numpy.fft Python
En numpy, le module numpy.fft fournit des fonctions pour effectuer des transformations rapides de Fourier (FFT) et des opérations associées sur des tableaux multidimensionnels. Les transformations de Fourier sont largement utilisées pour analyser les signaux dans le domaine fréquentiel. Voici une description générale de la méthode numpy.fft() et de ses principales fonctionnalités :
2. Syntaxe et usage du module numpy.fft
La méthode:
1 |
numpy.fft.fft(a, n=None, axis=-1, norm=None) |
réalise une transformation rapide de Fourier sur le tableau a. Elle renvoie le spectre complexe (amplitude et phase) du signal en entrée.
- a: Le tableau d'entrée contenant les données sur lesquelles vous souhaitez effectuer la transformation de Fourier.
- n: Optionnel. La longueur de la transformation de Fourier. Si n n'est pas spécifié, la taille du tableau d'entrée le déterminera.
- axis: Optionnel. L'axe le long duquel effectuer la transformation. Par défaut, l'axe est -1, ce qui signifie que la transformation est effectuée le long de la dernière dimension.
- norm: Optionnel. Le facteur de normalisation appliqué à la sortie. Les valeurs courantes sont None (pas de normalisation), 'ortho' (normalisation pour que la FFT soit unitaire), ou tout autre nombre (normalisation par ce nombre).
3. Exemples d'usages du module numpy.fft
Voici un exemple d'utilisation de la fonction numpy.fft.fft() :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 |
import numpy as np # Création d'un signal sinusoïdal time = np.linspace(0, 1, 1000) frequency = 5 # Fréquence en Hz signal = np.sin(2 * np.pi * frequency * time) # Transformation de Fourier fft_result = np.fft.fft(signal) # Affichage des parties réelles et imaginaires du spectre print("Partie réelle du spectre:", np.real(fft_result)) print("Partie imaginaire du spectre:", np.imag(fft_result)) """ output: Partie réelle du spectre: [ 0. 0.0200027 0.04001366 ... -0.05999661 -0.04001366 0. ] Partie imaginaire du spectre: [ 0.00000000e+00 5.88503894e-02 1.17573151e-01 ... -1.76355780e-01 -1.17573151e-01 -5.88503894e-02] """ |
En plus de numpy.fft.fft(), le module numpy.fft propose d'autres fonctions utiles pour les transformations de Fourier, telles que numpy.fft.ifft() (transformée de Fourier inverse), numpy.fft.fftshift() (décalage du spectre pour que les fréquences négatives soient au centre), numpy.fft.fftfreq() (calcul des fréquences correspondant aux composantes FFT) et bien d'autres encore.
4. Liste des méthodes associées au module numpy.fft
Le module numpy.fft propose plusieurs méthodes et fonctions pour effectuer des transformations rapides de Fourier (FFT) et des opérations associées sur des tableaux multidimensionnels. Chacune de ces méthodes a des paramètres spécifiques qui contrôlent le comportement de la transformation et de l'analyse de Fourier. Pour en savoir plus sur chaque méthode et ses options, je vous encourage à consulter la documentation officielle de NumPy. Voici une liste des principales méthodes associées à ce module :
- numpy.fft.fft(a, n=None, axis=-1, norm=None): Transformée rapide de Fourier.
- numpy.fft.ifft(a, n=None, axis=-1, norm=None): Transformée de Fourier inverse.
- numpy.fft.fftn(a, s=None, axes=None, norm=None): Transformée rapide de Fourier multidimensionnelle.
- numpy.fft.ifftn(a, s=None, axes=None, norm=None): Transformée de Fourier inverse multidimensionnelle.
- numpy.fft.fftshift(x, axes=None): Décalage du spectre pour mettre les fréquences négatives au centre.
- numpy.fft.ifftshift(x, axes=None): Inverse du décalage du spectre effectué par fftshift().
- numpy.fft.fftfreq(n, d=1.0): Calcul des fréquences correspondant aux composantes FFT.
- numpy.fft.rfft(a, n=None, axis=-1, norm=None): Transformée rapide de Fourier pour des signaux réels.
- numpy.fft.irfft(a, n=None, axis=-1, norm=None): Transformée de Fourier inverse pour des signaux réels.
- numpy.fft.rfftn(a, s=None, axes=None, norm=None): Transformée rapide de Fourier multidimensionnelle pour des signaux réels.
- numpy.fft.irfftn(a, s=None, axes=None, norm=None): Transformée de Fourier inverse multidimensionnelle pour des signaux réels.
- numpy.fft.hfft(a, n=None, axis=-1, norm=None): Transformée de Fourier discrète (série de Hilbert).
- numpy.fft.ihfft(a, n=None, axis=-1, norm=None): Transformée de Fourier inverse discrète (série de Hilbert).
- numpy.fft.rfft2(a, s=None, axes=(-2, -1), norm=None): Transformée rapide de Fourier bidimensionnelle pour des signaux réels.
- numpy.fft.irfft2(a, s=None, axes=(-2, -1), norm=None): Transformée de Fourier inverse bidimensionnelle pour des signaux réels.
- numpy.fft.rfftfreq(n, d=1.0): Calcul des fréquences correspondant aux composantes FFT pour des signaux réels.
- numpy.fft.helper.fftfreq(n, d=1.0): Alternative à fftfreq() pour obtenir les fréquences.
Younes Derfoufi
CRMEF OUJDA
1 thought on “Le module numpy.fft Python”