Echantillonnage
Ce petit exemple a pour but d'illustrer le phénoméne de repliement de spectre. Nous échantillonnons pour cela deux simples sinusoïdes de fréquences différentes.
/* @param fe Fréquence d'échantillonnage
* @param sigs Vecteur de spécifications pour signaux sinuisoidaux (fréquences et phases) */
Figure exemple_echan( float fe, const vector<EchanExemple> &sigs)
{
Figure figure;
// Parcours les 2 signaux
pour( auto &s: sigs)
{
// Fréquence d'échantillage :
// soit celle sélectionnée,
// soit une plus importante pour simuler le signal à temps continu.
pour( auto f: {fe, 1.0e4f})
{
string coul = (&s == &sigs[0]) ? "b" : "r" ;
soit t = intervalle_temporel(1.0f, f),
x = sin(2*π*s.fs*t+s.φ);
figure.plot(t, x, coul + ((f == fe) ? "o" : "-" ));
}
}
retourne figure;
}
Commençons avec deux sinusoïdes dont les fréquences sont espacées de 10,5 Hz :
exemple_echan(10, {{3}, {13.5}}).afficher();

Fréquence d'échantillonnage : 10 Hz, fréquences des deux signaux : 3 et 13,5 Hz.
Les ronds rouges et bleus indiquent les valeurs échantillonnées. Notez que les valeurs des deux signaux après échantillonnage sont différentes : il est donc possible de distinguer les deux signaux. Maintenant, changeons la fréquence du deuxième signal de manière à ce que les deux fréquences soient espacées exactement de 10 Hz (soit la fréquence d'échantillonnage) :
exemple_echan(10, {{3}, {13}}).afficher();

Fréquence d'échantillonnage : 10 Hz, fréquences des deux signaux : 3 et 13 Hz.
Remarquez que cette fois les deux signaux, après échantillonnage, sont indiscernables.