Se connecter
Se connecter

ou
Créer un compte

ou
FR
EN

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

  • 23 réponses
  • 6 participants
  • 13 438 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...
2
Ça fait un moment que je me dis que ce serait bien de me procurer de quoi faire des tests, des essais... par exemple pour de la synthèse additive ou série de fourrier, ou alors pour expliquer des trucs sur le filtres ou des principes d’échantillonnage.

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 ?
3
Fourni gratuitement avec Mac OS X, et caché dans le répertoire "utilitaires", il y a Grapher qui semble très puissant pour tracer toutes sortes de courbes. Il y a un menu exemple qui permet de se rendre compte des possibilités... c'est assez impressionnant.

Par contre ce n'est pas orienté "traitement du signal". Mais comme c'est fourni avec l'OS, ça peut être bien pratique.
4
Bonjour,

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.

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (G. Courteline)

[ Dernière édition du message le 23/04/2011 à 13:45:14 ]

5
bonjour, sinon, peut-être faudrait-il voir du côté de :

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 ]

6
J'ai un peu utilisé Python, plus orienté programmation (à mon avis), mais j'ai été rebuté par l'environnement (à l'époque, pb avec windows, modules et distributions plus ou moins compatibles) et la syntaxe (si je me souviens bien l'indentation a une signification) ; de plus, il semblait y avoir un problème de gestion mémoire pour les gros fichiers image&son, contrairement à Matlab. En revanche il me semble que c'était plus performant pour la réalisation d'IHM.

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (G. Courteline)

[ Dernière édition du message le 23/04/2011 à 14:24:52 ]

7
scilab +1 (en plus c'est multi plateformes)
python/numpy/scipy +1
8
je programme un peu en python (sous linux) et je n'ai jamais eu de gros problème. Il y a une belle communauté derrière ce langage qui est voué à évoluer sans cesse, je crois, plus en lien avec les demandes des utilisateurs que ce propose Matlab, probablement.
9
Tout dépend également de la facilité des échanges, notamment avec les non-initiés et/ou non-informaticiens.
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.

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (G. Courteline)

10
Citation :
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.


Citation :
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 ?
11
Citation :
Danguit, tu disais qu'on peut écouter des sons qu'on aurait calculé avec scilab ?
Tout simplement, par exemple le signal triangulaire avec phase aléatoire calculé précédemment (Edit : dans l'autre sujet !) :
// Ecoute
playsnd(triangsin,fs);
//********************

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (G. Courteline)

[ Dernière édition du message le 23/04/2011 à 20:41:15 ]

12
voui, scilab permet aussi de lire et d'écrire des fichiers wav :
https://help.scilab.org/docs/5.3.1/fr_FR/wavwrite.html

[ Dernière édition du message le 23/04/2011 à 21:07:47 ]

13
Je viens de tester la conversion de fichiers Matlab vers Scilab : je cherchais un modèle de son de guitare et j'ai trouvé un script d'application de l'algorithme de Karplus Strong en Matlab.
Et en quelques minutes j'ai pu entendre le son de guitare (il a juste fallu mettre en commentaire les instructions 'disp').
Edit :
x
Hors sujet :
En fait cela ne correspond pas à ce que je cherche, mais c'est un autre problème !

Passer pour un idiot aux yeux d'un imbécile est une volupté de fin gourmet. (G. Courteline)

[ Dernière édition du message le 24/04/2011 à 10:08:57 ]

14
On peut faire pas mal de choses avec Wolfram | Alpha. il s'agit d'une sorte de moteur de recherche pour des infos scientifiques ou chiffrées. C'est aussi une "calculatrice" très puissante, basée sur le fameux logiciel Mathematica, et qui sait donc faire énormément de choses, même en calcul formel.

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

15
Hello à tous :boire:,

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).

[ Dernière édition du message le 25/04/2011 à 09:52:11 ]

16
x
Hors sujet :
Salut Choc, ça fait plaisir de te voir passer. Ça faisait longtemps, non ?
17
Citation :
@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 :) il est temps de changer pour Python !
18
x
Hors sujet :
Dr Pouet>:boire: Yes, j'ai toujours quelques pulsions nostalgiques qui me font passer ici


x
Hors sujet :
Plutonak> Pour matloub, je crois que j'ai atteint le point de non-retour. Je ne pourrais pas me separer de ce soft :oops:
19
Pour répondre a Plutonak, tu avais raison...j ai opéré un Switch vers Python...Je ne regrette absolument pas Matlab...

Du coup, pour les expérimentations, je suis à 100% pour du python/ numpy !
20
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.