← retour aux snippets

numpy: FFT/iFFT basiques

Transformer des signaux et reconstruire via iFFT.

python numpy #numpy#fft#signal

objectif

Transformer des signaux et reconstruire via iFFT.

code minimal

import numpy as np

x = np.sin(np.linspace(0, 2*np.pi, 64))
X = np.fft.rfft(x); xr = np.fft.irfft(X)
print(float(np.abs(x - xr).max()) < 1e-10)

utilisation

import numpy as np

img = np.random.default_rng(0).normal(size=(16,16))
F = np.fft.fft2(img); img2 = np.fft.ifft2(F).real
print(img2.shape)

variante(s) utile(s)

import numpy as np

x = np.random.default_rng(0).normal(size=32)
mag = np.abs(np.fft.rfft(x))
print(mag[:3].tolist())

notes

  • Utiliser rfft pour signaux réels.