délais
Délais entier (décalage du signal) ou fractionnaire (basé sur la FFT).
Espace de nom : tsd::fourier
Prototype
Vecteur<T> délais(const Vecteur<T> &x, float τ)
Paramètres
x | Signal à retarder ou avancer dans le temps. |
τ | Délais à appliquer, en nombre d'échantillons (peut être positif ou négatif, et n'est pas forcément un nombre entier). |
Retourne
Signal décalé dans le temps.
Description
Réalise un délais entier (décalage du signal) ou fractionnaire (basé sur la FFT) :
Le délais peut être positif (pour retarder le signal), ou négatif (pour avancer le signal).
- Note
- Si le délais passé en paramètre est un entier, un simple décalage est effectué. Sinon, le délais est appliqué dans le domaine fréquentiel (après avoir complété le signal d'entrée avec des zéros afin d'atténuer les effets de bords dus à la périodicité de la FFT) :
\[ Y_n = X_n \cdot e^{\frac{-2\pi\mathbf{i}\tau \cdot n}{N}} \]
Exemple
// Signal test : gaussienne
soit x = siggauss(20);
// Délais de 1 échantillons
soit x1 = délais(x, 1),
// Délais de 1.5 échantillons
x2 = délais(x, 1.5),
// Avance de 1 échantillons
x3 = délais(x, -1);
Figure f;
f.plot(x, "b-o" , "x" );
f.plot(x1, "g-o" , "x1 (+1)" );
f.plot(x2, "m-o" , "x2 (+1,5)" );
f.plot(x3, "c-o" , "x3 (-1)" );
