Avertissement
This is the french API documentation. For english language API, please refer to the following page: https://tsdconseil.github.io/libtsd/en

Libtsd est une collection de fonctions en C++ pour le traitement du signal. Voici les choix qui ont été faits pour le design de cette librarie :

  • Facilité d'utilisation : notamment grâce à des structures pour manipuler les vecteurs et les tableaux (Vecf, Veci, ...), ce qui permet un codage concis et lisible (de manière similaire à Matlab / Numpy),
  • Une distinction la plus claire possible entre les API (fichiers d'en-tête) et les implémentation (fichiers sources). De ce fait, les templates sont seulement utilisés avec parcimonie.
  • Une API multi-langues (du moins, en anglais avec le fichier d'interface dsp/dsp.hpp, en français grâce à tsd/tsd.hpp)
  • Facilité de lecture du code : grâce à des mot-clés en français (voir ci-dessous), et à l'utilisation de caractères UTF-8 non standards (comme par exemple \(\pi\)).

La librairie est disponible sur la plateforme Github (https://github.com/tsdconseil/libtsd).

Exemple simple (API fr)

#include "tsd/tsd-all.hpp"

int main()
{
  // Exemple 1 : tracé simple
  {
    Figure f;
    soit x = linspace(0, 8 * π, 100);
    f.plot(x, cos(x));
    f.enregistrer("./cosinus.png");
  }

  // Exemple 2 : conception de filtre
  {
    // Passe-bas, 31 coefficients, coupant à fe/4
    soit h = design_rif_fen(31, "pb", 0.25);

    Figure f;
    f.plot(h, "|o", "réponse impulsionnelle");
    f.enregistrer("./filtre.png");

    soit n = 500;
    soit x = sigcos(0.01, n) + 0.1 * randn(n),
         y = filtrer(h, x);

    f.clear();
    f.plot(x, "b-", "Signal bruité");
    f.plot(y, "r-", "Signal filtré");
    f.enregistrer("./filtrage.png");
  }
  return 0;
}

Notez que certains mots clés ont été redéfinis en français afin de permettre une lecture plus fluide. Voici la liste des équivalences :

Mot clé en françaisMot clé C++ équivalent
soitauto
pourfor
tantquewhile
entierint

Bien-sûr, si vous préférez, vous pouvez continuer à utiliser les mots clés en anglais. Ceci-dit, les exemples de cette documentation utilisent les équivalents français.