Se connecter
Se connecter

ou
Créer un compte

ou

Les logiciels de traitement du signal (comme: matlab octave scilab ...)

  • 23 réponses
  • 6 participants
  • 13 179 vues
  • 8 followers
Sujet de la discussion Les logiciels de traitement du signal (comme: matlab octave scilab ...)
Le but est d'en discuter les fonctionnalités, les avantages inconvénients etc...
Afficher le sujet de la discussion
21
SciLab est une très bonne alternative à MatLab mais l'environnement de MatLab est tout de même plus agréable (et qu'en on y passe des mois entiers, ça compte), l'outil évolue également plus vite, les bugs sont corrigés plus vite. Certaines grosses fonctions d'optimisation tournent plus vite également. Le service support est au top.

Bref, le minimum à attendre lorsque que l'on casse la tirelire par rapport à un outil gratuit.
A noter qu'il y a des licences a prix réduits pour les étudiants, etc.


Mathematica c'est sympa pour le calcul formel mais pour le calcul numérique je trouve ça un peu trop limite, lent et consommateur de ressource. Je n'utilise la version Alpha en ligne que quand j'ai la flemme de calculer une intégrale, par exemple... Je n'ai pas essayé d'en tirer plus.


Je développe et teste mes algo avec MatlLab donc, jusqu'à la gestion des quantifications. Je développe parfois en C, C++. Je suis en train de me mettre au C# ; l'environnement (gratuit) de Microsoft facilite pas mal les choses.
Des fonctions d'interfaces permettent d'intégrer des .dll compilées ou des assemblies assez facilement dans MatLab.
Je m'en sers pour remplacer les fonctions que j'ai développées sous MatLab, parfois uniquement pour que ça tourne plus vite, le plus souvent pour réaliser l'intégration de l'ensemble de l'architecture :
- Je ponds l'architecture sur papier et MatLab ;
- Je mets au point les algo et fonctions techniques sous MatLab ;
- J'intègre les effets des quantifications toujours sous MatLab en fonction de la cible finale (passer de double float à single, ou des type int pour border les erreurs de calcul) ;
- Une fois que tout est ok, j'implémente les fonctions en C, C++ ou C# au fur et à mesure et je les intègre dans le simulateur réalisé sous MatLab.

Cette hybridation code MatLab / fonction en C, C++, etc. permet d'utiliser l'architecture développée sous MatLab comme un banc de test et de réaliser tous les tests unitaires d'une fonction assez facilement.
Une fois que toutes les fonctions sont implémentées en C &co, il ne reste plus qu'à gérer l'intégration de l'ensemble dans le langage cible sans mauvaise surprise, du moins très peu.

Je bosse aussi sur des FPGA en procédant de manière similaire... Pour l'intégration c'est bien sûr moins pratique. En général je me contente de filer des vecteurs de tests à l'équipe qui développe en VHDL pour qu'ils testent leurs blocs de façon unitaire avec leurs outils de simulation avant l'intégration sur cible.


Dans les deux cas l'effort se porte donc d'avantage sur MatLab en allant tout simuler au bit près, mais l'environnement est plus souple et moins contraignant qu'en bossant directement sur la cible techno ; au global on gagne du temps et ça évite des aller-retour entre ceux qui pondent les algo et ceux qui les implémentent (deux métiers à part entière).
Ça évite aussi certains travers de signaleux qui mettent au point le super algo de la mort qui tue mais qui ne marche plus dès qu'il est soumis à une quantif moins bonne que la double précision, ou l'usine à gaz qui ne tournera jamais sur la cible.


Je ne l'ai jamais testé mais l'on m'a dit (faut toujours se méfier de on) qu'il est possible d'intégrer des dll sous SciLab mais que c'était un peu plus contraint. Ça reste possible.


Je ne connais Python que de nom. C'est quoi l'intérêt de Python par rapport à MatLab (autre que le prix) ? Je pose la question parce que faire des math et du traitement du signal ça me passionne, apprendre un langage m'ennuie terriblement. :-p
Est-ce que l'on retrouve des bibliothèques de fonctions d'algo num bien foutues ?
22
bonne année aussi les ieuvs
23
Citation :
Je ne connais Python que de nom. C'est quoi l'intérêt de Python par rapport à MatLab (autre que le prix) ? Je pose la question parce que faire des math et du traitement du signal ça me passionne, apprendre un langage m'ennuie terriblement.


En plus du prix
[*] Un Langage super beau (ca c'est objectif ;))[newline][*] Un apprentissage rapide pour la communauté venant de Matlab (même noyau basé sur Lapack pour numpy)[newline][*] Une communauté énorme qui continue à se developper (Python reste très utilisé dans les domaines du web, notamment grace à son framework Django)[newline][*] Des outils de génération de documentations top (Sphinx)[newline][*] Portabilité[newline][*] Approche objet possible[newline]
Avec les librairies Numpy/Scipy /Matplotlib, tu te retrouves avec un truc un peu similaire à Matlab.

Pour les scientifiques, je conseille l'installation d'https://store.continuum.io/cshop/anaconda/. Cette distribution de Python possède un paquet de librairies super pratiques.


[ Dernière édition du message le 05/01/2015 à 17:43:16 ]

24
Ok, merci pour les infos.