DSP System Toolbox
Concevoir et simuler des systèmes de traitement du signal
Vous avez des questions ? Contacter un commercial.
Vous avez des questions ? Contacter un commercial.
DSP System Toolbox™ propose des algorithmes, des applications et des outils de visualisation pour concevoir, simuler et analyser des systèmes de traitement du signal dans MATLAB et Simulink. Vous pouvez modéliser des systèmes de traitement numérique du signal temps réel pour les systèmes de communications, radar, audio, les appareils médicaux, l'internet des objets et d’autres applications.
Avec DSP System Toolbox, vous pouvez concevoir et analyser des filtres FIR, IIR, multi-échantillonnés, multi-étages et adaptatifs. Vous pouvez récupérer des signaux à partir de variables, de fichiers de données et de matériel en réseau afin de développer et vérifier votre système. Les outils Time Scope, Spectrum Analyzer et Logic Analyzer permettent de visualiser et de mesurer les signaux en streaming de manière dynamique. DSP System Toolbox est compatible avec la génération de code C/C++ pour le prototypage sur PC et le déploiement vers des processeurs embarqués, y compris les architectures ARM® Cortex®. La modélisation en virgule fixe et la génération de code HDL exacte au bit près sont également supportées à partir de filtres et d'autres algorithmes.
Les algorithmes proposés sont disponibles sous forme de fonctions MATLAB, de System objects™ et de blocs Simulink.
Dans Simulink, DSP System Toolbox™ propose une bibliothèque de blocs pour les algorithmes de traitement du signal (filtres, transformées et algèbre linéaire). Avec ces blocs, vous pouvez traiter les signaux d’entrée en streaming échantillon par échantillon, ou sous forme de collections d’échantillons (trames). Le traitement échantillon par échantillon permet d'obtenir des processus à faible latence et des applications nécessitant des calculs scalaires. Le traitement basé sur les trames permet d’obtenir un meilleur débit (mais avec plus de latence). DSP System Toolbox supporte les modes de traitement à base de trames et d’échantillons.
Les programmes MATLAB qui utilisent les System objects peuvent être incorporés dans des modèles Simulink via les blocs MATLAB Function ou MATLAB System. La plupart des System objects ont un bloc Simulink correspondant doté des mêmes fonctionnalités.
Les blocs Simulink pour le traitement du signal supportent les types de données virgule flottante (simple et double précision) et entier. Ils sont également compatibles avec les données virgule fixe lorsqu'ils sont utilisés avec Fixed-Point Designer.
Voici la liste des blocs pour le traitement du signal disponibles dans DSP System Toolbox :
Dans MATLAB, DSP System Toolbox supporte le traitement multi-échantillonné pour la conversion de fréquence d’échantillonnage ainsi que la modélisation des systèmes dans lesquels différentes fréquences d’échantillonnage ou d’horloge doivent être interfacées. Vous avez accès notamment à des filtres multi-étages et multi-échantillonnés (filtres FIR et IIR demi-bande, filtrage polyphase, filtres CIC et filtres de Farrow). Vous pouvez aussi effectuer certaines opérations sur les signaux, comme l’interpolation, la décimation et la conversion arbitraire de la fréquence d’échantillonnage.
DSP System Toolbox propose un environnement pour traiter les signaux en streaming dans MATLAB. DSP System Toolbox comprend une bibliothèque d’algorithmes de traitement du signal optimisés pour les flux en streaming, comme les filtres mono et multi-échantillonnés, le filtrage adaptatif et les FFT. DSP System Toolbox est l’outil idéal pour concevoir, simuler et déployer des solutions de traitement du signal pour des applications audio, biomédicales, de communications, de contrôle, sismiques, de capteur et de parole.
Les techniques de traitement du signal en streaming (flux continus de données) permettent souvent d’accélérer les simulations en scindant les données d’entrée en trames et en traitant chaque trame au fur et à mesure de son acquisition. Par exemple, le traitement du signal en streaming dans MATLAB permet un traitement temps réel de données audio multicanaux.
Ce type de traitement est rendu possible grâce à une bibliothèque de composants algorithmiques DSP appelés System objects™. Ces objets permettent de représenter des algorithmes de traitement de données, des sources et des récepteurs. Les System objects vous permettent de créer des applications en streaming en automatisant des tâches comme l’indexation des données, la mise en mémoire tampon et la gestion des états des algorithmes. Vous pouvez mélanger des System objects MATLAB et des fonctions/opérateurs MATLAB standard.
Vous pouvez utiliser les outils Time Scope et Spectrum Analyzer pour visualiser et mesurer les signaux en streaming.
Vous pouvez appliquer des filtres mono/multi-échantillonnés et adaptatifs à vos données en streaming à l’aide d’algorithmes optimisés pour ce type de signaux/données.
DSP System Toolbox propose plus de 350 algorithmes optimisés pour la conception, l'implémentation et la validation de systèmes de traitement en streaming (implémentés avec des fonctions MATLAB ou des System objects MATLAB). Ces algorithmes supportent les données virgule flottante simple et double précision. La plupart des algorithmes sont également compatibles avec les types entiers et les données virgule fixe (nécessite Fixed-Point Designer™).
Les catégories d’algorithmes MATLAB disponibles dans DSP System Toolbox sont les suivantes :
Dans MATLAB, DSP System Toolbox supporte le traitement multi-échantillonné pour la conversion de fréquence d’échantillonnage ainsi que la modélisation des systèmes dans lesquels différentes fréquences d’échantillonnage ou d’horloge doivent être interfacées. Vous avez accès notamment à des filtres multi-étages et multi-cadences (filtres FIR et IIR demi-bande, filtrage polyphase, filtres CIC et filtres de Farrow). Vous pouvez aussi effectuer certaines opérations sur les signaux, comme l’interpolation, la décimation et la conversion arbitraire de la fréquence d’échantillonnage.
DSP System Toolbox propose de nombreux algorithmes pour la conception et l'implémentation de filtres FIR, IIR, multi-étages, multi-échantillonnés et adaptatifs. Vous pouvez concevoir des filtres passe-bas, passe-haut, passe-bande, coupe-bande, etc., puis les réaliser en utilisant différentes structures (FIR en forme directe, FIR overlap-add, filtre IIR biquadratique en sections du second ordre, passe-tout cascade, treillis).
Vous pouvez concevoir des filtres avec l’application Filterbuilder, du code MATLAB ou des blocs Simulink. Vous pouvez également analyser les effets de la quantification en virgule fixe pour des filtres FIR et IIR, et déterminer la longueur de mot optimale pour les coefficients de ces filtres.
Vous pouvez par ailleurs concevoir des filtres paramétrables et ajuster certains paramètres clés, comme la bande passante et le gain, pendant l’exécution.
Les filtres numériques conçus avec DSP System Toolbox dans MATLAB peuvent également être utilisés dans des modèles de niveau système dans Simulink. DSP System Toolbox propose une bibliothèque de blocs de filtrage prêts à l’emploi pour concevoir, simuler et implémenter des filtres passe-bas, passe-haut et autres, directement dans Simulink.
En plus des algorithmes de conception de filtres FIR et IIR conventionnels, vous avez accès à des filtres et à des méthodes de conception spécialisés, comme :
DSP System Toolbox propose différentes techniques de filtrage adaptatif dans MATLAB et Simulink. Ces techniques ont de nombreuses applications comme l’identification de système, l’estimation de spectre, l’égalisation et la suppression de bruit. Elles font appel à des filtres adaptatifs LMS, RLS, de projection affine, transversaux rapides, fréquentiels, en treillis et de Kalman. DSP System Toolbox propose également des algorithmes pour l’analyse de ces filtres (suivi des coefficients, courbes d’apprentissage, convergence, etc.).
DSP System Toolbox permet de concevoir et d'implémenter des filtres multi-échantillonnés, notamment des filtres d’interpolation polyphase, des filtres de décimation, des convertisseurs de fréquence d’échantillonnage, des filtres FIR et IIR demi-bande, des filtres de Farrow, ainsi que des filtres et des compensateurs CIC. Vous pouvez aussi utiliser des méthodes de conception multi-étages. DSP System Toolbox propose par ailleurs des fonctions d’analyse spécialisées pour estimer la complexité du traitement des filtres multi-étages et multi-échantillonnés.
DSP System Toolbox offre des fonctions de visualisation et d'enregistrement pour la visualisation, la mesure et l’analyse dans le domaine temporel ou fréquentiel de signaux en streaming dans MATLAB et Simulink. Ces fonctions de visualisation incluent les mesures et les statistiques que vous avez l’habitude de voir sur les oscilloscopes et les analyseurs de spectre.
DSP System Toolbox propose également l’outil Logic Analyzer pour l’affichage des transitions des signaux dans le domaine temporel. Cet outil peut vous être utile pour le débogage de vos modèles qui ciblent une implémentation HDL.
Vous pouvez par ailleurs créer un tracé arbitraire pour visualiser des vecteurs de données, comme par exemple l’évolution des coefficients d’un filtre au cours du temps.
Time Scope permet de visualiser différents types de signaux dans le domaine temporel (signaux continus, discrets, de taille fixe ou variable, en virgule flottante ou fixe, et à N dimensions pour les systèmes E/S multicanaux). Vous pouvez regrouper les tracés de plusieurs signaux sur un même graphique (chaque signal ayant ses propres dimensions, fréquences d’échantillonnage et types de données) ou bien afficher plusieurs graphiques dans la même fenêtre Time Scope. Cet outil permet d’obtenir des analyses, des mesures et des statistiques, notamment la valeur efficace, les mesures crête à crête, la moyenne et la médiane.
L’outil Spectrum Analyzer permet de calculer le spectre de fréquences de divers signaux d’entrée et de l’afficher sur une échelle linéaire ou logarithmique. Vous pouvez l’utiliser pour effectuer des mesures et des analyses, comme les mesures de distorsion harmonique (THD, SNR, SINAD, SFDR), de distorsion d’intermodulation du troisième ordre (TOI), du rapport de puissance du canal adjacent (ACPR), de la fonction de distribution cumulative complémentaire (CCDF) et du rapport valeur de crête sur valeur moyenne (PAPR). L’affichage en mode spectrogramme de Spectrum Analyzer vous permet de visualiser l’évolution de spectres dans le temps et de détecter automatiquement les crêtes.
DSP System Toolbox propose en outre une gamme supplémentaire d’outils de visualisation pour vous permettre d’afficher et de mesurer un large éventail de signaux ou de données, notamment des valeurs réelles et complexes, des vecteurs, des tableaux et des trames de données de tous types (en virgule fixe, double précision, séquence d’entrée personnalisée, etc.). Certains de ces outils permettent d’afficher une vue 3D de vos données ou signaux en streaming pour vous permettre d’analyser leur évolution au cours du temps jusqu’à la fin de votre simulation.
Vous pouvez utiliser DSP System Toolbox avec Fixed-Point Designer pour modéliser des algorithmes de traitement du signal en virgule fixe et analyser les effets de la quantification sur le comportement et les performances du système. Vous pouvez également générer du code C virgule fixe à partir de votre code MATLAB ou modèle Simulink.
Avant de vous engager sur une cible hardware, vous pouvez configurer des System objects MATLAB et des blocs Simulink pour les modes de fonctionnement en virgule fixe, afin d’effectuer des analyses de compromis et d’optimiser votre design en exécutant des simulations utilisant différentes longueurs de mots, mises à l’échelle, gestion des overflow et choix de modes d’arrondi.
Les modes de fonctionnement en virgule fixe sont compatibles avec de nombreux algorithmes DSP comme la FFT, les filtres, les statistiques et l’algèbre linéaire. DSP System Toolbox permet d’automatiser la configuration de System objects et de blocs pour les opérations en virgule fixe.
Les fonctions de conception de filtre et l'application Filterbuilder de DSP System Toolbox vous permettent de concevoir des filtres en virgule flottante, convertibles en virgule fixe avec Fixed-Point Designer. Elles facilitent la conception et l’optimisation de filtres en virgule fixe, et vous permettent d’analyser les effets de la quantification.
À l’aide de DSP System Toolbox, de MATLAB Coder™ et de Simulink Coder™, vous pouvez générer du code source C et C++ ou une fonction MEX réglée pour une performance optimale à partir de vos algorithmes de traitement du signal et modèles de système respectivement dans MATLAB et Simulink.
Le code généré peut être utilisé pour l’accélération, le prototypage rapide, l’implémentation et le déploiement, ou l’intégration de votre système pendant la phase de développement du produit.
Vous pouvez générer un code exécutable efficace et compact ou une fonction MEX réglée pour une performance optimale, afin d’accélérer les algorithmes nécessitant des calculs intensifs dans votre simulation. Vous pouvez accélérer vos algorithmes en virgule flottante ou fixe, notamment les filtres, les FFT, les statistiques et l’algèbre linéaire dans MATLAB et Simulink.
Afin d'accélérer les simulations en streaming basées sur des trames, dspunfold utilise le dépliage DSP pour répartir la charge de calcul sur plusieurs threads dans la fonction MEX générée.
Avec DSP System Toolbox, vous pouvez aussi utiliser le code C généré à partir de votre code MATLAB ou de votre modèle Simulink pour le déploiement et le prototypage sur votre PC, en générant un exécutable autonome de votre algorithme. Vous pouvez toujours régler cet exécutable en temps réel directement depuis MATLAB ou Simulink en utilisant les composants UDP. Puisque cet exécutable tourne sur un thread différent de celui du code MATLAB ou du modèle Simulink, les performances temps réel de votre algorithme sont améliorées.
Le code C généré à partir de vos algorithmes de traitement du signal peut ensuite être intégré sous forme de composant de bibliothèque compilé dans un autre logiciel, par exemple un simulateur personnalisé ou un logiciel de modélisation standard comme SystemC.
Grâce à DSP System Toolbox, au module complémentaire de support hardware pour ARM Cortex-A ou ARM Cortex-M et à Embedded Coder, vous pouvez générer du code C optimisé à partir de System objects MATLAB ou de blocs Simulink pour les principaux algorithmes de traitement du signal tels que la FFT, les filtres FIR et biquadratiques. Le code généré effectue des appels à des routines optimisées pour la bibliothèque ARM Cortex-A Ne10 ou ARM Cortex-M CMSIS. L’un des principaux avantages est l’amélioration immédiate des performances, par rapport à du code C standard. Vous pouvez en outre vérifier et profiler votre code avec une simulation processor-in-the-loop (PIL).
Avec DSP System Toolbox et Filter Design HDL Coder dans MATLAB, vous pouvez concevoir des filtres numériques et générer du code VHDL® et Verilog® efficace, synthétisable et portable pour l’implémentation dans des FPGA ou ASIC. Vous pouvez aussi créer automatiquement des test benches VHDL et Verilog pour simuler, tester et valider le code généré.
En utilisant DSP System Toolbox et HDL Coder, vous pouvez générer du code VHDL et Verilog synthétisable et lisible pour votre design système. Pour une utilisation et une performance optimisées des ressources FPGA/ASIC, vous pouvez envisager d'utiliser des blocs issus de DSP HDL Toolbox.