rééchan_freq

Ré-échantillonage zéro phase à partir de la TFD.

Espace de nom : tsd::fourier

Prototype

Vecteur<T> rééchan_freq(const Vecteur<T> &x, float ratio)

Paramètres

xVecteur d'entrée.
ratioRapport entre la fréquence d'échantillonnage de sortie et celle d'entrée (un ratio supérieur à 1 indique une interpolation, tandis que dans le cas contraire, on a affaire à une décimation).

Description

Cette fonction change la fréquence d'échantillonnage d'un signal, sans délais, grâce à un calcul dans le domaine fréquentiel.

Avertissement
Notez que, du fait des hypothèses sous-jacentes à la TFD, des artefacts peuvent apparaitrent au bord du signal. Pour atténuer ce phénomène, vous pouvez pré-appliquer une fenêtre ou bien insérer des zéros avant et après le signal (ce ne sont cependendant pas des solutions parfaites).


Exemple illustrant les artefacts aux bords du signal


  soit x = linspace(0, 1 - 1.0/10, 10),
  // Interpolation d'un facteur 10
  // (10 fois plus d'échantillons en sortie)
       y = rééchan_freq(x, 10);

  Figure f;
  soit t  = x,
       t2 = linspace(0, 1 - 1.0/100, y.rows());
  f.plot(t,  x, "b-o", "x");
  f.plot(t2, y, "g-",  "y");

Voir aussi

rééchan()