Introduction à Scilab. Guy Lamarque

Documents pareils
ÉdIteur officiel et fournisseur de ServIceS professionnels du LogIcIeL open Source ScILab

INTRODUCTION A L ELECTRONIQUE NUMERIQUE ECHANTILLONNAGE ET QUANTIFICATION I. ARCHITECTURE DE L ELECRONIQUE NUMERIQUE

Introduction à MATLAB R


LABO 5 ET 6 TRAITEMENT DE SIGNAL SOUS SIMULINK

Projet audio. Analyse des Signaux ELE2700

Évaluation et implémentation des langages

Manuel d utilisation 26 juin Tâche à effectuer : écrire un algorithme 2

Cours Informatique Master STEP

Traitement du signal avec Scilab : la transformée de Fourier discrète

Calcul Formel et Numérique, Partie I

Mini_guide_Isis.pdf le 23/09/2001 Page 1/14

3.2. Matlab/Simulink Généralités


Calculer avec Sage. Revision : 417 du 1 er juillet 2010

TABLE DES MATIÈRES 1. DÉMARRER ISIS 2 2. SAISIE D UN SCHÉMA 3 & ' " ( ) '*+ ", ##) # " -. /0 " 1 2 " 3. SIMULATION 7 " - 4.

Projet de Traitement du Signal Segmentation d images SAR

Calcul Scientifique avec 3

Présentation du logiciel

Cours 7 : Utilisation de modules sous python

Transmission d informations sur le réseau électrique

TD1 Signaux, énergie et puissance, signaux aléatoires

1 Démarrer L écran Isis La boite à outils Mode principal Mode gadget Mode graphique...

Mini_guide_Isis_v6.doc le 10/02/2005 Page 1/15

Systèmes de transmission

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Programmation C. Apprendre à développer des programmes simples dans le langage C

Intérêt du découpage en sous-bandes pour l analyse spectrale

Excel. Identification. Informations sur vos besoins et objectifs. Notions fondamentales. Fiche de validation des besoins en formation Bureautique

OPTION SCIENCES BELLE-ISLE-EN-TERRE

ÉCOLE POLYTECHNIQUE DE MONTRÉAL. Département de Génie Électrique. La technologie de TEXAS INSTRUMENTS DSP pour le cours Analyse des Signaux ELE2700

Outils pour les réseaux de neurones et contenu du CD-Rom

Cours d algorithmique pour la classe de 2nde

Traitement du signal avec Scilab : transmission numérique en bande de base

Echantillonnage Non uniforme

MÉTHODES NUMERIQUES. Cours. Licence de Physique Année Universitaire : Licence Chimie, parcours Physique. Semestre S3

Recherche De Coalescences Binaires Étalonnage Du Détecteur

ENDNOTE X2 SOMMAIRE. 1. La bibliothèque EndNote 1.1. Créer une nouvelle bibliothèque 1.2. Ouvrir une bibliothèque EndNote 1.3. Fermer une bibliothèque

Guide d installation CLX.PayMaker Office (3PC)

Aide - mémoire gnuplot 4.0

Rappels sur les suites - Algorithme

Note de cadrage du PEPI MACS Mathématiques Appliquées & Calcul Scientifique

TP Modulation Démodulation BPSK

Travaux Pratiques de Commande par ordinateur 1 TRAVAUX PRATIQUES

Probabilités. Rappel : trois exemples. Exemple 2 : On dispose d un dé truqué. On sait que : p(1) = p(2) =1/6 ; p(3) = 1/3 p(4) = p(5) =1/12

8563A. SPECTRUM ANALYZER 9 khz GHz ANALYSEUR DE SPECTRE

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Découverte du tableur CellSheet

Grandes lignes ASTRÉE. Logiciels critiques. Outils de certification classiques. Inspection manuelle. Definition. Test

EES : Engineering Equation Solver Fiche récapitulative - Marie-Sophie Cabot

Maîtrise universitaire ès sciences en mathématiques

ArtemiS 12 HEAD Data Portal 2.0 HEAD Recorder

Séance 0 : Linux + Octave : le compromis idéal

Corrigé des TD 1 à 5

L analyse boursière avec Scilab

Préparation à l examen EFA en Macro

Éléments d informatique Cours 3 La programmation structurée en langage C L instruction de contrôle if

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

ET 24 : Modèle de comportement d un système Boucles de programmation avec Labview.

Sélection du contrôleur

Conception de réseaux de télécommunications : optimisation et expérimentations

White Paper - Livre Blanc

I Stabilité, Commandabilité et Observabilité Introduction Un exemple emprunté à la robotique Le plan Problème...

L informatique en BCPST

TP 1 Introduction à Matlab Février 2009

ACQUISITION ANALYSE PRÉSENTATION

Programmes des classes préparatoires aux Grandes Ecoles

INITIATION AU LANGAGE C SUR PIC DE MICROSHIP

Cours 1 : La compilation

Information. BASES LITTERAIRES Etre capable de répondre à une question du type «la valeur trouvée respecte t-elle le cahier des charges?

TP: Représentation des signaux binaires. 1 Simulation d un message binaire - Codage en ligne

Pourquoi l apprentissage?

1. Structure d'un programme FORTRAN 95

Université du Québec à Chicoutimi. Département d informatique et de mathématique. Plan de cours. Titre : Élément de programmation.

Calcul Formel et Numérique, Partie I

Premiers pas avec Mathematica

LABO PROJET : IMPLEMENTATION D UN MODEM ADSL SOUS MATLAB

MAÎTRISE DE L ENVIRONNEMENT WINDOWS VISTA

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Exercices Alternatifs. Quelqu un aurait-il vu passer un polynôme?

Expérience 3 Formats de signalisation binaire

AUVRAY Clément (168187) HOMBERGER Alexandre (186897) GLADE. Langages, outils et méthodes pour la programmation avancée Page 1 sur 12

Telecommunication modulation numérique

BTS Groupement A. Mathématiques Session Spécialités CIRA, IRIS, Systèmes électroniques, TPIL

J AUVRAY Systèmes Electroniques TRANSMISSION DES SIGNAUX NUMERIQUES : SIGNAUX EN BANDE DE BASE

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Algorithmes pour la planification de mouvements en robotique non-holonome

3. SPÉCIFICATIONS DU LOGICIEL. de l'expression des besoins à la conception. Spécifications fonctionnelles Analyse fonctionnelle et méthodes

Jade. Projet Intelligence Artificielle «Devine à quoi je pense»

Master of Science en mathématiques

Introduction à l informatique en BCPST

Dan Istrate. Directeur de thèse : Eric Castelli Co-Directeur : Laurent Besacier

Exemple d acquisition automatique de mesures sur une maquette de contrôle actif de vibrations

Mathcad Ces capacités font de Mathcad l outil de calcul technique le plus utilisé au monde.

Chapitre I Notions de base et outils de travail

Objet du document. Version document : 1.00

Programme Pédagogique National du DUT «Réseaux et Télécommunications» Présentation de la formation

Installation Client (licence réseau) de IBM SPSS Modeler 14.2

1 Description générale de VISFIELD

Transcription:

Introduction à Scilab Guy Lamarque

Pourquoi j ai utilisé Scilab? Je devais illustrer un cours de traitement du signal et j avais plusieurs solutions : Utiliser le Visual C++ Je connais le langage. J ai eu peur que les problèmes informatiques ne masquent les problèmes de traitement du signal. Utiliser MATLAB Je devais apprendre ce langage Je ne pouvais pas préparer mes cours dans mon bureau car il n y avait plus de licence disponible J ai décidé de télécharger, d installer et d apprendre Scilab Je ne suis pas un spécialiste de Scilab et encore moins de MATLAB puisque je ne connais pas MATLAB 2

Pourquoi j ai utilisé Scilab? Pour ceux qui connaissent MATLAB, Scilab est, a priori, un clone gratuit. Scilab est un logiciel libre distribué avec son code source. L utilisateur peut le recompiler et donc le personnaliser. Scilab a été développé par des chercheurs de l INRIA et l ENPC dans un environnement UNIX pour: Des applications industrielles. Des travaux de recherche. 3

Pourquoi j ai utilisé Scilab? Scilab est un langage portable : Unix Windows MacOs Scilab est aussi un langage de programmation puisque la librairie Scilab contient presque 100000 lignes de code de fonctions écrites en Scilab. C est un langage qui conduit à des programmes compacts et lisibles. Scilab comporte un langage de programmation et un interpréteur. 4

Scilab Scilab est un système ouvert, l utilisateur peut développer ses propres applications en langage Scilab. La syntaxe de Scilab est identique à Matlab pour tout ce qui concerne les manipulations sur les vecteurs et les matrices. Scilab contient des centaines de fonctions préprogrammées pour résoudre des problèmes mathématiques spécifiques. Toutes les fonctions ne sont pas écrites en scilab. Les fonctions très élémentaires et les fonctions pour lesquelles la vitesse d exécution est un facteur crucial sont codées en C ou en fortran. 5

Exemples de boîtes à outils Scilab Analyse fractale. Analyse numérique. Calcul parallèle. Commande. Graphes. Optimisation. Statistique. Traitement du signal. etc 6

Calcul numérique Résolution de systèmes linéaires. Calcul de valeurs propres et de vecteurs propres. Décomposition en valeurs singulières. Résolution d équations différentielles. Optimisation. Résolution d équations non linéaires. Génération de nombres aléatoires. Primitives d algèbre linéaire. 7

Exemple : Boîte à outils traitement du signal Diagramme de bode Transformées DFT (Discrete Fourier Transform) FFT (Fast Fourier Transform) Transformée en Z Conception de filtres FIR (Finite Impulse Response) filter Méthode des fenêtres Remez IIR (Infinite Impulse response) filter Filtres analogique (Butterworth, Chebyshev, elliptic) 8

Exemple : Boîte à outils traitement du signal Analyse spectrale Périodogramme Corrélogramme Maximum d entropy Algorithme de Levinson Filtrage optimal Filtre de Kalman Filtre de Wiener Représentation temps fréquence 9

Scicos C est l analogue de Simulink de Matlab L application Scicos est une boîte à outils dont l éditeur graphique est entièrement écrit en Scilab. Cette application est une interface blocdiagramme pour la simulation de systèmes dynamiques interconnectés. C est un outil très utilisé en milieu industriel (par exemple à EDF) pour simuler des systèmes complexes. 10

Exemples de contributions ANN : Conception de réseaux de neuronnes. FABBRI : Fonctions graphiques de haut niveau pour l imagerie. FISLABFuzzy : Commande à logique floue. FRACLAB : manipulation de fractales. FREEFEM : éléments finis 2D. GENFILT : Code assembleur pour l implémentation de filtre IIR. IMAGE : Lecture et écriture d images de différents formats. POLYTOOL : Manipulation de polynômes. TELECOM : simulation des chaînes de transmission numérique de télécommunications. etc 11

Premier niveau d utilisation En premier lieu Scilab peut s utiliser comme une calculatrice capable : D effectuer des opérations sur des vecteurs et des matrices de réels et de complexes. De visualiser graphiquement des courbes et des surfaces. 12

Fenêtre principale de Scilab On crée un vecteur On recherche le maximum On trie les éléments Il est très facile d examiner les variables 13

Deuxième niveau d utilisation Très rapidement on trouve plus simple d écrire des programme en scilab : Scripte Le langage Scilab contient : Des opérations conditionnelles (if then else elseif). Des boucles (while, for). 14

Fenêtre «éditeur de scriptes» 15

Les graphiques sous Scilab Le graphique de Scilab est basé sur des primitives graphiques dont la syntaxe d appel est souvent complexe en raison des nombreux paramètres d appel. Pour réaliser des graphiques très sophistiqués la lecture de l aide en ligne est indispensable. Une méthode simple consiste à s inspirer des nombreux exemples disponibles. En revanche, il est très simple de faire un graphique si on se contente des paramètres par défaut. 16

Exemple de graphique sous Scilab ne = 128 ; n = 4 ; x = [0:ne] * 2*%pi/n ; signal = cos (x) ; xbasc() ; plot2d (x,signal) ; 17

Insérer un graphique Scilab dans un document «word» 18

Exemple de graphique sous Scilab ne = 128 ; n = 1 ; x = [0:ne] * 2*%pi/n ; signal = cos (x) ; xbasc() ; plot2d3 (x,signal) ; 19

Créer un histogramme sous Scilab nc = 256 ; n = 8192 ; signal = rand (1,n,'normal') ; xbasc() ; histplot (nc,signal,style=2) ; Nombre de classes Nombre d échantillons Signal aléatoire Tracé d un histogramme 20

Créer un histogramme sous Scilab 21

«Boîte de saisie» Scilab permet de développer des applications interactives complètes. Scilab propose des boîtes de dialogues programmables. Exemple : Boîte de saisie periode = x_dialog (["nombre de periodes"],"4"); 22

«Menu» Exemple : Boîte à choix multiples ns=x_choose(['cosinus';'random'],['choix du signal'],'fin') 23

Exemple de traitement du signal : Génération d une somme de sinusoïdes bruitées N = 128 ; x = linspace(0,n-1,n) ; signal1 = cos (x*2*%pi*4/n) ; signal2 = cos (x*2*%pi*13/n) ; signal3 = cos (x*2*%pi*40/n) ; signal = signal1 + signal2 + signal3 ; bruit = rand(1,n) ; signal_bruit = signal + 0.5 - bruit ; 24

Spectre d une somme de sinusoïdes bruitées fourier = fft (signal_bruit,-1) ; module = abs (fourier) ; 25

Filtre passe bas (FIR) Nombre de coefficients Type de filtre Fréquence de coupure [wft,wfm,fr]=wfir('lp',25,[.1 0],'kr',[5.6 0]); Paramètres de la fenêtre Type de fenêtre Grille des fréquences Réponse en fréquence du filtre Coefficients du filtre 26

Filtre passe bas (FIR) 27

Sites à visiter Scilab home page site officiel : http://www.scilab.org/ Scilab à l ENPC (École Nationale des Ponts et Chaussées) : http://cermics.enpc.fr/scilab_new/site/ Articles traitants des possibilités de Scilab: http://www.saphir-control.fr/articles/ 28

Bibliographie «Une introduction à Scilab version 0.999», Bruno Pinçon «Scilab : une introduction version 1.0» J. Ph. Chancelier 2004 29