Génération d'un signal exponentiel via un oscillateur harmonique.

Espace de nom : tsd

Prototype

sptr<Source<cfloat, OHConfig>> source_ohc(float freq)

Paramètres

freqFréquence normalisée (entre -0,5 et 0,5).

Retourne

Une source de donnée complexe.

Description

Cette fonction renvoie une source de données, qui peut être appellée plusieurs fois (génération d'un flux continu d'échantillons, à la différence de sigexp(), qui ne peut générer qu'un nombre fini et prédeterminé d'échantillons).

L'oscillateur en quadrature est basé sur un simple filtre récursif (complexe) d'ordre 1 : \[ z_k = z_{k-1} \cdot e^{2\pi\mathbf{i}f} \] qui permet donc de générer un signal exponentiel : \[ z_k = e^{2\pi\mathbf{i}kf} \]

Note
Pour générer une exponentielle de fréquence fixe, cette méthode sera beaucoup plus efficace que l'utilisation des fonctions trigonométriques de la librairie standard.


Exemple

  // Set oscillator frequency = one 40th of the sampling frequency
  soit ol = source_ohc(0.025);
  // Generate 200 samples
  soit x = ol->step(200);
  Figure f;
  f.plot(x, "", "x");

Voir aussi

source_ohr(), sigexp()