Les logiciels de traitement du signal (comme: matlab octave scilab ...)
- 23 réponses
- 6 participants
- 13 438 vues
- 8 followers
Dr Pouet
Dr Pouet
Matlab est le logiciel le plus connu pour ça, mais c'est payant et super riche, donc à priori surdimensionné pour mes besoins.
Mahtematica est moins adapté et aussi surdimensionné ; par contre l'outil gratuit (ou pas cher sur iphone) : Alpha de Wolfram semble assez sympa.
Je pensais me mettre à Gnu Octave un de ces quatres...
Je viens de découvrir l'existence de Scilab à l'instant (cité par Danguit), qui a l'air intéressant.
J'en profite pour mettre un lien vers la page wikipedia en rapport :
https://fr.wikipedia.org/wiki/MATLAB#Alternatives
Vos avis et retours d'expérience ?
Dr Pouet
Par contre ce n'est pas orienté "traitement du signal". Mais comme c'est fourni avec l'OS, ça peut être bien pratique.
Danguit
Dans le cadre des outils logiciels gratuits ou pas chers...
J'ai utilisé Matlab dans le cadre du travail mais à la maison, comme je ne veux pas de version piratée, j'ai trouvé Scilab, gratuit, moins performant certes (notamment du point de vue des librairies) mais qui permet de faire pas mal de choses. La syntaxe est proche de celle de Matlab et il y a des routines de traduction plus ou moins performantes. Je m'en suis servi par exemple pour jouer avec la synthèse FM ou déterminer des temps de propagation (Edit : et de tester la méthode de mesure de réponse impulsionnelle ESS). Il intègre également Xcos, un équivalent de Simulink (en moins bien).
Du temps du Palm, il y avait Lyme, petit clone de Matlab.
Pour faire des essais rapides et surtout écouter le résultat, il y a Goldwave qui possède un évaluateur d'expression permettant de générer des formes relativement complexes, même avec la version d'évaluation. Je suis moins fana d'Audacity mais il m'arrive de l'utiliser.
Ce n'est pas toujours su, mais Excel (ou scalc) possède pas mal de fonctions scientifiques (complexes, FFT, etc.), la possibilité d'écrirer des macros en VB et un solveur. Il y a une dizaine d'années, j'avais développé une méthode de TS sur Excel, simplement pour montrer à mes petits camarades qu'il n'y avait pas que Matlab ou LabWindows et C ou C++ dans la vie. C'est un peu lent mais ça marche.
Autre outil bien utile, le simulateur, par exemple PSpice ou LTSpice. Chacun a ses petits plus.
Depuis peu, j'ai "investi" dans AudioTester qui permet d'utiliser une carte son pour faire des mesures de transmission, impédance, distorsion, etc. Encore un peu instable, mais pas mal quand même.
Et je ne parlerai pas de la calculette ni du calcul mental, tous deux pourtant bien utiles.
En jonglant avec tous ces outils (copier-coller, transfert de fichiers txt ou wav, etc.), on arrive à résoudre pas mal de problèmes.
[ Dernière édition du message le 23/04/2011 à 13:45:14 ]
plutonak
1 - python : langage (compilateur ?) libre et ouvert dans la tradition matlab (commandes simples) mais pas nécessairement orienté "matrices et vecteurs" https://www.python.org/
2 - AudioSculpt de l'IRCAM https://forumnet.ircam.fr/691.html (je ne sais pas s'il est libre n'y ouvert)
3 - OpenMusic de l'Ircam https://forumnet.ircam.fr/697.html pas vraiment dédié à l'analyse spectrale mais il est sans doute possible de programmer ses propres boites.
voilà ce qui me passe par l'esprit en ce moment
[ Dernière édition du message le 22/04/2011 à 22:59:16 ]
Danguit
[ Dernière édition du message le 23/04/2011 à 14:24:52 ]
numa
python/numpy/scipy +1
plutonak
Danguit
Tout le monde ou presque possède Excel ou scalc, donc échanger ou distribuer des feuilles de calcul se fait sans problème.
Des logiciels comme Scilab ou Goldwave s'installent automatiquement, donc par n'importe qui, et l'utilisation en est très simple.
Avec python dont je ne conteste pas les qualités, on entre dans un monde différent, plus informatique, et donc moins à la portée du pékin moyen (du moins c'est mon avis).
Je préfère donc souvent utiliser un outil un peu moins performant que d'autres, mais à la portée du plus grand nombre. Et il faut dire aussi qu'il y a un moment (ou un âge ?) où l'on n'est plus trop attiré par la programmation.
Dr Pouet
Avec python dont je ne conteste pas les qualités, on entre dans un monde différent
Oui : le but de ce sujet est de discuter des logiciels de traitement du signal plutôt que de langages de programmation.
scilab +1 (en plus c'est multi plateformes)
Côté Mac OS X, seule la dernière version (snow leopard) est supportée. Ce qui fait que je n'ai pas encore pu essayer...
(idem pour PSpice ou un autre logiciel de simulation de circuits)
Danguit, tu disais qu'on peut écouter des sons qu'on aurait calculé avec scilab ?
Danguit
Danguit, tu disais qu'on peut écouter des sons qu'on aurait calculé avec scilab ?
// Ecoute
playsnd(triangsin,fs);
//********************
[ Dernière édition du message le 23/04/2011 à 20:41:15 ]
numa
https://help.scilab.org/docs/5.3.1/fr_FR/wavwrite.html
[ Dernière édition du message le 23/04/2011 à 21:07:47 ]
Danguit
Et en quelques minutes j'ai pu entendre le son de guitare (il a juste fallu mettre en commentaire les instructions 'disp').
Edit :
En fait cela ne correspond pas à ce que je cherche, mais c'est un autre problème !
[ Dernière édition du message le 24/04/2011 à 10:08:57 ]
Dr Pouet
L'adresse : https://www.wolframalpha.com
Voir la courbe et faire entendre l'addition de 2 sinusoïdes :
https://www.wolframalpha.com/input/?i=play+%28sin%28440*2*pi*t%29%2Bsin%28880*2*pi*t%29%29
Choc
Je risque de manquer d'objectivité car j'ai débuté sous matlab, je continue sous Matlab et il est probable que j'y sois encore dans 10 ans.
Matlab, c'est un outil super puissant. Il demande un certain temps (euphemisme) d'apprentissage mais après c'est l'éclate totale. Avec une bonne maitrise du soft, on peut implementer des recherches présentées dans des grands journaux scientifiques(genre IEEE transactions on Signal processing) en moins d'une ou deux heures chrono.
Après effectivement, c'est un outils cher..Il existe des alternatives gratuites genre Octave ou Scilab que je n'ai jamais eu l'occasion de tester. Toutefois les echos sur ces softs (notamment Scilab) sont excellents.
Concernant Mathematica, j'ai eu l'occassion de l'utiliser mais plutot pour faire du calcul formel (j'essayai d'obtenir des simplifications mathématiques que ne me sautaient pas aux yeux).
Site personnel: https://www.enib.fr/~choqueuse/
[ Dernière édition du message le 25/04/2011 à 09:52:11 ]
Dr Pouet
Salut Choc, ça fait plaisir de te voir passer. Ça faisait longtemps, non ?
plutonak
@Choc: Je risque de manquer d'objectivité car j'ai débuté sous matlab, je continue sous Matlab et il est probable que j'y sois encore dans 10 ans.
Tu as raison, ça sent l'addiction
Choc
Dr Pouet>Yes, j'ai toujours quelques pulsions nostalgiques qui me font passer ici
Plutonak> Pour matloub, je crois que j'ai atteint le point de non-retour. Je ne pourrais pas me separer de ce soft
Site personnel: https://www.enib.fr/~choqueuse/
Choc
Du coup, pour les expérimentations, je suis à 100% pour du python/ numpy !
Site personnel: https://www.enib.fr/~choqueuse/
Dr Pouet
EraTom
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.
Est-ce que l'on retrouve des bibliothèques de fonctions d'algo num bien foutues ?
Choc
Site personnel: https://www.enib.fr/~choqueuse/
Choc
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
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.
Site personnel: https://www.enib.fr/~choqueuse/
[ Dernière édition du message le 05/01/2015 à 17:43:16 ]
EraTom
- < Liste des sujets
- Charte

