TRAITEMENT DU SIGNAL FILTRAGE - Freetsi.ljf.free.fr/ATS/docs/Info/TP/TP7/TD7-Filtrage.pdf · 2017....
Transcript of TRAITEMENT DU SIGNAL FILTRAGE - Freetsi.ljf.free.fr/ATS/docs/Info/TP/TP7/TD7-Filtrage.pdf · 2017....
-
TRAITEMENT DU SIGNALFILTRAGE
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 1/21
-
SommaireA. _____________________________________________________________Objectif global! 4
A.1.Mise en situation 4
A.2.Démarches de résolution 4
B. _________________________________________________________Notions préalables! 5
B.1.Matrices 5B.1.1. Opérations sur matriceB.1.2. Résolution de système linéaire
B.2.Graphiques 2D 6B.2.1. Lecture du fichier de mesureB.2.2. Affichage de la courbe expérimentale
B.3.Ecriture du script 7
C. __________________________________________________________Filtrage du signal! 8
C.1.Problématique 8
C.2.Présentation du filtre 8C.2.1. Comportement du filtreC.2.2. Influence de la constante de tempsC.2.3. Implantation informatique du filtre
C.3.Calcul du signal filtré et de la valeur finale 10C.3.1. Ecriture de la fonction calculant les valeurs du signal filtréC.3.2. Ecriture de la fonction calculant la valeur finale
C.4.Tracé des 2 figures 13C.4.1. Tracé d’une figure avec plusieurs graphiquesC.4.2. Tracé de la courbe du signal filtré
C.5.Validation de l’hypothèse de l’ordre du système 15C.5.1. Principe de validationC.5.2. Extraction des valeurs logarithmiques du signalC.5.3. Coefficients de la droite de régression linéaireC.5.4. Tracé du logarithme du signal et de la droite de régression
C.6.Conclusion 18
D. _________________________________________________________________Annexes! 19
D.1.Matrices 19D.1.1. Création d’une matriceD.1.2. Matrices particulièresD.1.3. Opérations sur les matrices
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Sommaire Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 2/21
-
D.2.Graphiques 2D 20D.2.1. Commande plot2dD.2.2. Options complémentaire
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Sommaire Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 3/21
-
A. Objectif global
A.1. Mise en situationL’ambition de ce TD, sur 2 séances, est d’identifier les paramètres d’un système asservi du 1er ordre par
analyse de sa réponse indicielle.
Vous avez à votre disposition le fichier de mesures expérimentales :
L’allure de cette réponse indicielle semble indiquer que le système est du 1er ordre (forme exponentielle, tangente à l’origine non horizontale, pas de dépassement). Nous chercherons donc à identifier :
•son gain
•sa constante de temps
Le signal mesuré est toutefois fortement «bruité», et il nous faudra au préalable filtrer ce signal afin de le rendre plus propre et exploitable
Les mesures sont enregistrées dans le fichier «signal.csv» à l’adresse :
http://tsi.ljf.free.fr//ATS/docs/Info/TP/TP7/signal.csv
A.2. Démarches de résolution
Nous aurons besoin au préalable d’aborder quelques notions sur :
• la calcul matriciel
• la création de fonctions
• le filtrage numérique
• l’affichage de courbes
Puis nous utiliserons ces notions afin de créer des fonctions qui auront pour but :
1. de filtrer le signal
2. de trouver l’asymptote du signal
3. de déterminer la tangente à l'origine par régression linéaire
Enfin, les résultats seront affichés.
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Notions préalables Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 4/21
http://tsi.ljf.free.fr//ATS/docs/Info/TP/TP7/signal.csvhttp://tsi.ljf.free.fr//ATS/docs/Info/TP/TP7/signal.csvhttp://tsi.ljf.free.fr//ATS/docs/Info/TP/TP7/signal.csvhttp://tsi.ljf.free.fr//ATS/docs/Info/TP/TP7/signal.csvmailto:[email protected]:[email protected]
-
B. Notions préalablesCréez un répertoire TP7 dans vos documents, et enregistrez-y le fichier «signal.csv»
Ouvrez Scilab, et placez-vous dans le répertoire TP créé
B.1. Matrices
B.1.1. Opérations sur matrice
Créer sur Scilab les matrice suivante : A = 1 2 3 45 6 7 8
⎡
⎣⎢
⎤
⎦⎥ , B =
2 46 8
⎡
⎣⎢
⎤
⎦⎥
En vous aidant de l’annexe, effectuer les opérations suivantes :
➢ Transposition : C = T A
➢ Produit : D = BA
➢ Inversion : E = B−1
Construire les matrices F =
1 2 3 45 6 7 81 2 3 45 6 7 8
⎡
⎣
⎢⎢⎢⎢
⎤
⎦
⎥⎥⎥⎥
= AA
⎡
⎣⎢
⎤
⎦⎥ et G =
2 46 8
2 46 8
⎡
⎣⎢
⎤
⎦⎥ = B B⎡⎣
⎤⎦
Effectuer le produit terme à terme de A et de G : H = A ⋅G
B.1.2. Résolution de système linéaire
On souhaite résoudre le système linéaire suivant :
2x − y + 3z = 1x + 2z = −2−2x + y + z = 0
⎧
⎨⎪
⎩⎪
Matriciellement, cette équation s’écrit AX = B avec A =2 −1 31 0 2−2 1 1
⎡
⎣
⎢⎢⎢
⎤
⎦
⎥⎥⎥
et B =120
⎡
⎣
⎢⎢⎢
⎤
⎦
⎥⎥⎥
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Notions préalables Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 5/21
-
Il faut donc résoudre X = A−1B , après s’être assuré que la matrice A est inversible
Calculer le déterminant de A, puis résoudre ce système sous Matlab
Vérifier que X est solution de l’équation
det(A)
A=[2 -1 3;1 0 2;-2 1 1];
B=[1;-2;0];
X=A\B
B.2. Graphiques 2D
B.2.1. Lecture du fichier de mesure
A l’aide de l’éditeur de texte Windows, ouvrir le fichier «signal.csv». Quelle est sa structure (Nombre de colonnes, en-tête, séparateur de données, format de la virgule) ?
La lecture sous Scilab du fichier de mesures s’obtient par la commande csvRead (syntaxe à l’adresse https://help.scilab.org/docs/5.4.1/fr_FR/csvRead.html)
Ecrire dans la console Scilab la commande qui permet de lire le fichier, en précisant sa structure et en ignorant l’en-tête. Le résultat de l’import sera stocké dans la variable mesure.
! mesure = csvRead('signal.csv', ';', ',', [], [], [], [], 1);
Quel est la nature de cette variable ?
Cette variable contient les valeurs de temps et de sortie.
Extraire de cette variable un vecteur colonne temps qui contiendra l’ensemble des valeurs de temps, et un vecteur colonne signal_brut qui contiendra l’ensemble des relevés de sortie
temps=mesure(:,1);
! signal_brut=mesure(:,2);
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Notions préalables Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 6/21
https://help.scilab.org/docs/5.4.1/fr_FR/csvRead.htmlhttps://help.scilab.org/docs/5.4.1/fr_FR/csvRead.htmlhttps://help.scilab.org/docs/5.4.1/fr_FR/csvRead.htmlhttps://help.scilab.org/docs/5.4.1/fr_FR/csvRead.htmlmailto:[email protected]:[email protected]
-
B.2.2. Affichage de la courbe expérimentale
On cherche dans cette partie à afficher la courbe expérimentale dont les abscisses sont maintenant contenues dans votre variable temps, et les ordonnées dans votre variable sortie.
En vous aidant de l’annexe relative au tracé de courbes (fonction plot2d), écrire dans la console les fonctions permettant d’élaborer un graphique qui tracera cette courbe, avec les contraintes suivantes :
* la courbe doit être bleue
* la figure doit faire apparaître :
• la légende «Signal mesuré»
• un titre «Acquisition capteur»
• le label «Temps (s)» pour l’axe des abscisses, et «Signal (V)» pour l’axes des ordonnées
B.2. Ecriture du script
Une ébauche de script est fourni : fichier TD7_Etudiants.sce
Ouvrir ce fichier dans l’éditeur SciNotes. Il est découpé en plusieurs parties, dont vous pouvez à présent en remplir certaines.
Ecrire les instructions des parties suivantes, en reprenant les études précédentes :
• Partie 2 : Chargement du fichier de mesures signal.csv dans une variable mesure
• Partie 3 : Extraction des vecteurs colonne temps et signal_brut
• Partie 4 : Affichage de la courbe signal_brut fonction de temps
Enregistrer ce fichier en ajoutant votre nom au nom de fichier.
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Notions préalables Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 7/21
-
C. Filtrage du signal
C.1. Problématique
Le signal issu du capteur est fortement bruité :
Afin de pouvoir exploiter ce signal, il faut au préalable le filtrer afin d’éliminer les signaux parasites.
Ces signaux sont manifestement à fréquence élevée. Il faut donc concevoir un filtre qui ne laisserait passer que les signaux de faible fréquence, et supprimerait les signaux de fréquence élevée : il s’agit du filtre passe-bas.
C.2. Présentation du filtre
Nous allons étudier un filtre du 1er ordre, dont la fonction de transfert s’écrit H (p) =Sf (p)E(p)
= 11+τ p
où
Sf (p) désigne le signal filtré dans le domaine symbolique, E(p) le signal d’entrée brut et τ la constante de temps du filtre.
C.2.1. Comportement du filtre
Ouvrir dans une fenêtre xcos le modèle Filtre passe bas1.zcos
La simulation montre l’influence du filtre sur des signaux sinusoïdaux d’amplitude 1, et de fréquences différentes.
Lancer la simulation
Quelle influence le filtre a-t-il sur l’amplitude du signal ?
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Filtrage du signal Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 8/21
-
Ce filtre du 1er ordre est appelé filtre passe-bas : il n’influence pas l‘amplitude des basses fréquences, mais atténue fortement l’amplitude des hautes fréquence.
Nous verrons en S2I que la fréquence à laquelle l’amplitude commence à être atténuée, appelée fréquence de coupure fc , est égale à fc = 1/τ
C.2.2. Influence de la constante de temps
Ouvrir à présent le modèle Filtre passe bas2.zcos
La simulation montre l’influence de la constante de temps du filtre sur un signal fortement bruité.
Lancer la simulation
Quelle influence la constante de temps a-t-elle sur le signal ?
C.2.3. Implantation informatique du filtre
Nous allons donc filtrer le signal issu du capteur avec un filtre passe-bas du 1er ordre, de gain 1 et de constante de temps 0,5s :
H (p) =Sf (p)E(p)
= 11+ 0,5p
Dans le domaine temporel, cette fonction traduit l’équation différentielle du 1er ordre suivante :
s f (t)+ 0,5ds f (t)dt
= e(t)
Or le signal est échantillonné à une fréquence de 200 Hz (le fichier du signal montre que l’intervalle entre 2 points de mesure, donc la période d’échantillonnage, est égal à 5 ms).
Avec un signal échantillonné avec la période d’échantillonnage Te , une dérivée est évaluée par l’expression suivante :
ds f (t)dt
⎤⎦⎥t=ti
→s f (ti +Te )− s f (ti )
Te
L’équation différentielle qui traduit le comportement du signal filtré devient alors :
s f (ti )+ 0,5s f (ti +Te )− s f (ti )
Te= e(ti )
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Filtrage du signal Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 9/21
-
C.3. Calcul du signal filtré et de la valeur finale
C.3.1. Ecriture de la fonction calculant les valeurs du signal filtré
Nous allons à présent écrire une fonction qui sera appelée dans le script. Une fonction est une liste d’instructions qui sera stockée dans une librairie locale, pour ensuite être appelée dans un script.
Sous Scilab, les fonctions sont déclarées avec l’instruction function et se terminent par l’instruction endfunction. Ces fonctions peuvent retourner une ou plusieurs variables. S’il y en a plusieurs, elles sont alors retournéees dans un tableau.
Exemple :
Création de la fonction
function [x, y]=Nom_de_fonction(a, b)
x=a+b
y=a−b
endfunction
function [x, y]=Nom_de_fonction(a, b)
x=a+b
y=a−b
endfunction
Appel de la fonction
[t,u]=Nom_de_fonction(3,2) [t,u]=Nom_de_fonction(3,2)
Compléter l’algorithme page suivante qui traduit l’équation différentielle du filtre : à partir d’un vecteur colonne mesure, et en fonction d’une période d’échantillonnage Te et de la constante de temps tau, fournit en sortie un vecteur colonne s
Ouvrir ensuite le fichier Fonctions.sci, qui comporte les ébauches des fonctions que vous serez amené à utiliser dans votre script.
En vous aidant de l’algorithme précédemment établi, compléter les instructions de la «Fonction 1 : Sortie du filtre passe-bas».
Enregistrer le fichier .sci
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Filtrage du signal Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 10/21
-
Lire TeLire tau
Fonctionfiltre(mesure,Te,tau)
Lire la taille du fichier mesure
i=1
Fin
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Filtrage du signal Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 11/21
-
C.3.2. Ecriture de la fonction calculant la valeur finale
La fonction s_finale=Sinfiny(s) a pour objectif de calculer la valeur de l’asymptote d’un signal.
Le principe consiste à calculer la moyenne des n dernières valeurs qui n’évoluent plus à 2% près
Les blocs d’instruction de cette fonction sont les suivants :
Lire la taille du vecteur n : Nb
Lire la dernière valeur de ce vecteur : s_f
i=Nb
Tant que s(i)− s_ fs_ f
< 0.02
i=i-1
Fin
s_finale=moyenne de s(i)
A l’aide de ces blocs d’instruction, compléter les instructions de la «Fonction 2 : Recherche de la valeur finale».
Enregistrer le fichier .sci
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Filtrage du signal Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 12/21
-
C.4. Tracé des 2 figures
C.4.1. Tracé d’une figure avec plusieurs graphiques
A la fin de ce TD, vous aurez construit 4 courbes :
Il faut donc indiquer la position relative de chaque graphe, un utilisant subplot(mnp) où m est le nombre de lignes, n le nombre de colonnes, et p le numéro de figure.
Ecrire dans votre script .sce la commande subplot(221) avant les lignes d’instruction qui ont permis de construire le graphe des mesures brutes au B.2 de ce TD .
Lancer le script et vérifier l’affichage du graphe
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Filtrage du signal Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 13/21
-
C.4.2. Tracé de la courbe du signal filtré
En seconde position (2e ligne et 2e colonne), nous allons tracer le graphe qui superposera en vert les mesures brutes, et en rouge le signal filtré.
En partie 5 du fichier TD7_Etudiant.sce, écrire l’instruction faire appel à la fonction filtre(mesure, te, tau) pour construire la variable signal_filtre, en précisant la période d’échantillonnage et la constante de temps τ = 0,5 s :
signal_filtre=filtre(signal, 0.05, 0.5);
Il faut à présent afficher un second graphique sur lequel nous tracerons 3 courbes :
• les valeurs brutes du vecteur signal_brut (en vert)
• Les valeurs filtrées du vecteur signal_filtre (en rouge)
• la droite correspondant à la valeur finale s_f
Toujours dans la partie 5 du fichier de script .sce, et sans oublier d’indiquer la position de ce second graphique avec l’instruction suplot(222), écrire la liste d’instructions permettant de tracer ces trois courbes.
La légende indiquera «mesures brutes» et «mesures filtrées». Le titre sera «Mesures brutes et filtrées».
L’axe des abscisses aura le label «Temps (s)» et l’axe des ordonnées «Signal (V)» :
subplot(222)
s_f=Sinfiny(signal_filtre)
(Tracé des valeurs brutes et filtrées)
plot2d([temps(1),temps($)},[s_f,s_f])
(légende)
(titre)
(label X)
(label Y)
Enregistrer et tester le programme
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Filtrage du signal Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 14/21
-
C.5. Validation de l’hypothèse de l’ordre du système
C.5.1. Principe de validation
Au vu de l’allure de la réponse indicielle, nous avons fait dès le départ l’hypothèse d’un système du 1 er ordre.
Nous devons à présent valider cette hypothèse avant de calculer le gain et la constante de temps correspondant.
Si le système est du premier ordre, alors le signal doit vérifier l’expression générale suivante :
s(t) = s f 1− e− tτ⎛
⎝⎜⎞⎠⎟
Cette équation peut s’écrire, en passant par le logarithme :
ln s f − s(t)( ) = ln(s f )− tτPar conséquent, si le système est effectivment du 1er ordre, alors la courbe s(t) tracée en échelle
logarithmique doit être une droite.
S’il s’agit bien d’une droite, alors sa pente vaut − 1τ
et l’ordonnée à l’origine ln(s f )
C.5.2. Extraction des valeurs logarithmiques du signal
Afin de s’assurer de n’avoir que des valeurs positives pour s f − s(t) , nous en ferons l’étude que pour des valeurs de signal inférieures à 90% de la valeur finale
La fonction S_log=Slog(s) est donnée. Cette fonction extrait sous forme de vecteur colonne le logarithme des valeurs qui restent inférieures ou égales à 90% de la valeur finale calculée grâce à la fonction Sinfiniy
Il faudra donc dans le script faire appel à cette fonction pour construire un vecteur signal_log :
signal_log=Slog(signal_filtre)
Ecrire cette instruction dans la partie 6 du script .sce
Il faut à présent vérifier que les points de ce vecteur définissent effectivement une droite. Dans l'affirmative nous pourrons alors valider l'hypothèse d’un système du 1er ordre, et calculer sa constante de temps.
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Filtrage du signal Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 15/21
-
C.5.3. Coefficients de la droite de régression linéaire
Nous allons créer une fonction regression(x,y) qui aura pour objectif de calculer la pente a et l’ordonnée à l’origine b de la droite qui passe au mieux par le nuage de points (t,S_log(t)).
On rappelle ci-dessous les formules permettant de déterminer les coefficients a et b de la droite de régression linéaire passant par n points :
a =n xi .yi
i∑ − xi
i∑ . yi
i∑
n xi2
i∑ − xi
i∑⎛⎝⎜
⎞⎠⎟
2 b =1n
yii∑ − a.1n xii∑ = yi − a.xi
On donne les blocs d’instruction de la fonction regression(x,y) qui permettront de calculer ces coefficients :
Déterminer la taille du vecteur x : n
Sommer terme à terme les composantes de x et de y : Sxy
Sommer les composantes de x : Sx
Sommer les composantes de y : Sy
Calculer a
Calculer b
En vous appuyant sur ce bloc d’instructions, compléter alors dans le fichier Fonctions.sci la fonction «Fonction 4 : Coefficients de la droite de régression linéaire»
C.5.4. Tracé du logarithme du signal et de la droite de régression
Le script .sce doit maintenant afficher le nuage de points et la droite de régression linéaire.
Les instructions suivantes sont ) placer dans la partie 6 du script
signal_log=Slog(signal_filtre) Réponse en échelle logarithmique
[nb_ele, c]=size(signal_log) Détermination du nombre d’éléments
t=temps(1:nb_ele) Construction d’un nouveau vecteur colonne de temps
[a,b]=regression(t,signal_log) Appel de votre fonction regression
subplot(223) Définition de la sous-zone de graphique
plot2d(t,[signal_log,a*t+b]) Construction des courbes (signal log et droite)
legende1="$\log(s_\infty-s(t))$" Affichage des légendes et textes
legende2="$a\cdot t + b$"
format(5)
tta=string(-1/a)
ttb=string(b)
textetau="$\tau=-\frac{1}{a}=$"
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Filtrage du signal Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 16/21
-
texte1=textetau
xstring(0.1,-0.4,texte1)
xstring(0.5,-0.4,tta)
texte2="b="+ttb
xstring(0.1,-0.6,texte2)
legend([legende1,legende2])
tt_tau="$\tau$"
tt_titre="détermination de"+ tt_tau
title(tt_titre)
xlabel(legende1)
ylabel("y")
Ecrire ces instructions.
Enregistrer et lancer le programme
Conclure sur la validité de l’hypothèse d’un système du 1er ordre
Quelle est la valeur de la constante de temps de ce système ?
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Filtrage du signal Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 17/21
-
C.6. Conclusion
Il nous reste pour finir à construire la courbe correspondant au modèle du 1er ordre, afin de déterminer ses éléments caractéristiques (valeur finale, temps de réponse)
Il s’agit dans un 4e et dernier graphique de tracer pour les 800 premières valeurs de temps
•la courbe du modèle théorique s(t) = s f 1− e
− tτ⎛
⎝⎜⎞⎠⎟
• la courbe du signal filtré
• l’asymptote
• la zone ±5% de l’asymptote
• la tangente à l’origine
• le temps de réponse
subplot(224)
t2=temps(1:800)
t800=t2($)
(construction de la variable modele)
tau=-1/a
(Affichage du modèle et du signal filtré)
(Affichage de la droite 0,95s_f et de la droite 1,05s_f)
(Affichage de la droite s_f)
(Affichage de la droite du temps de réponse, passant par les points 3τ ,0( ) et 3τ ,0.95s_ f( ) )
(Affichage de la tangente, passant par les points 0,0( ) et τ , s_ f( ) )(Titre : «Modèle du 1er ordre et signal filtré»)
(Label X : «Temps (s)»»)
(label Y : «Signal (V)» )»
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Filtrage du signal Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 18/21
-
D. AnnexesUn formulaire synthétique des fonctions de Scilab est disponible sur la page de Marc Derumaux :
http://marc.derumaux.free.fr/formulaire.html
D.1. Matrices
D.1.1. Création d’une matrice
On souhaite définir la matrice 1 2 34 5 6
⎡
⎣⎢
⎤
⎦⎥ ;
Sous Scilab, cette matrice s’écrira : A=[1 2 3;3 4 6] ou A=[1,2,3;3,4,6]
Les termes d’une ligne sont séparés d’une virgule ou d’un espace, la fin d’une ligne est identifiée par un point-virgule
D.1.2. Matrices particulières
Vecteur colonne : V=[1;2;3]
Vecteur ligne : V=[1 2 3]
Vecteur ligne composé de valeurs régulièrement espacées :
* incrément imposé : V=1:2:10
! ! V = 1. 3. 5. 7. 9.
! * Nombre d’intervalles imposé : V=linspace(1,10,3)
! ! V = 1. 5.5 10.
Matrice identité : eye(2,3)
Matrice composée exclusivement de ‘1’ : ones(2,3)
Matrice composée exclusivement de ‘0’ : zeros(2,3)
D.1.3. Opérations sur les matrices
Taille d’une matrice : size(A)
Transposition : ! ! B=A’ (apostrophe)
Produit : C=B*A
Inverse : B=inv(A)
Résolution A.X=B : X=A\B
Opérations terme à terme A.*B A./B A.^B
Déterminant : det(A)
Vecteur propre : spec(A)
Trace : trace(A)
Somme des éléments : sum(A)
Moyenne des éléments : mean(A)
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Annexes Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 19/21
http://marc.derumaux.free.fr/formulaire.htmlhttp://marc.derumaux.free.fr/formulaire.htmlmailto:[email protected]:[email protected]
-
D.2. Graphiques 2D
D.2.1. Commande plot2d
La commande générique pour tracer des figures 2d est (voir la syntaxe détaillée (syntaxe à l’adresse https://help.scilab.org/docs/5.4.1/fr_FR/plot2d.html) :
plot2d([logflag,][x,],y[,style[,strf[,leg[,rect[,nax]]]]])
➢ logflag : échelle linéaire ou logarithmique (‘nn’, ‘nl’, ‘nl’,’ll’). Par défaut linéaire ‘nn’
➢ x : vecteur ou matrice contenant les valeurs des abscisses. Dans le cas d’une matrice,
chaque colonne représente une courbe différente
➢ y : vecteur ou matrice contenant les valeurs des ordonnées. Dans le cas d’une matrice,
chaque colonne représente une courbe différente
➢ style : vecteur contenant les paramètres de style pour chaque courbe. Si positif, il s’agit
d’une ligne pour laquelle on définit une couleur, si négatif il s’agit de points pour dont
on définit la nature
➢ strf : chaîne de 3 caractères ‘xyz’ définissant l’affichage des axes. Voir sur l’‘aide
l’influence des valeurs de x, y et z. Par défaut ‘081’.
➢ leg : chaîne de caractéres définissant le nom de la légende. Cette légende est toujours
positionnée sous l’axe des abscisses
➢ nax :
vecteur-ligne de 4 entiers définissant les marquages sur les axes
Exemple
-->teta=[0:.05:2*%pi]';
-->plot2d('nl',teta,[exp(sin(teta)) exp(cos(2*teta))],style=[12 -1],leg="sin(teta) cos(2teta)")
D.2.2. Options complémentaire
Ces options complémentaires sont des instructions à définir après avoir tracé le graphique
D.2.2.1. Afficher une légende
legend([‘string1’;...;‘stringi’],pos=[j],box=[%bool])
! ➢ ‘stringi’ : chaîne de caractéres définissant le nom de la légende de l ième courbe
! ➢ j : entier définissant la position de la légende
! ➢ %bool : variable %T ou %F définissant si la légende doit être encadrée
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Annexes Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 20/21
https://help.scilab.org/docs/5.4.1/fr_FR/plot2d.htmlhttps://help.scilab.org/docs/5.4.1/fr_FR/plot2d.htmlhttps://help.scilab.org/docs/5.4.1/fr_FR/plot2d.htmlhttps://help.scilab.org/docs/5.4.1/fr_FR/plot2d.htmlmailto:[email protected]:[email protected]
-
D.2.2.2. Afficher un titre
title(‘titre’,)
!
Les propriétés optionnelles (police de caractère, couleur, fond, ...) sont à définir dans . Voir l’aide pour le détail
D.2.2.3. Label des axes
xlabel([axis_handle], label, [property_name, property_value,...])
ylabel([axis_handle], label, [property_name, property_value,...])
zlabel([axis_handle], label, [property_name, property_value,...])
INFORMATIQUE
TRAITEMENT DU SIGNAL - FILTRAGE COURS
Annexes Edition 1 - 07/11/2017
Lycée Jules Ferry - 06400 Cannes [email protected] 21/21
mailto:[email protected]:[email protected]