- 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çais | Mot clé C++ équivalent |
---|---|
soit | auto |
pour | for |
tantque | while |
entier | int |
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.