• Aucun résultat trouvé

1 Manipulations sur les vecteurs indices

N/A
N/A
Protected

Academic year: 2022

Partager "1 Manipulations sur les vecteurs indices"

Copied!
3
0
0

Texte intégral

(1)

Initiation ` a Matlab et Octave (en autonomie)

Damien ROQUE

<[email protected]>

8 avril 2013

Afin de faciliter la prise en main de l’environnement de simulation, les binˆomes doivent effectuer cette premi`ere s´eance de travaux pratiques en autonomie. Un compte rendu sera r´edig´e et fera l’objet d’une

´

evaluation.

Compte tenu du nombre limit´e de licencesMatlab au sein de l’ENSIMAG, il est recommand´e de travailler sur le logiciel libreOctave dont le langage de programmation est similaire. Ce logiciel est install´e par d´efaut sur le serveur telesun.imag.fr ou sur la distribution Ensilinux. Les ´el`eves peuvent aussi utiliser leurs ordinateurs personnels `a condition de s’assurer d’une configuration semblable `a celle des machines de l’´ecole.

Le d´ebutant sousMatlab est invit´e `a se munir du Guide d’introduction `a Matlab et Octave1. En parti- culier, il est indispensable de savoir rechercher des fonctions et d’acc´eder `a leur documentation.

La simulation num´erique est utilis´ee dans de nombreux domaines de l’ing´enierie. Dans le cas particulier du traitement du signal, il est n´ecessaire d’avoir conscience des limitations suivantes. Alors qu’un signal analogique x(t) d´epend d’une variable t continue (t ∈ R), un signal discret x[k] d´epend d’une variable k discontinue (k∈Z). De plus, lorsquex[k] prend un nombre fini de valeurs, il est qualifi´e de signal num´erique.

Seule cette classe de signaux se prˆete aux traitements informatiques.

SousMatlab, un signal num´eriquex[k] de dur´ee finie peut se repr´esenter sous la forme d’un vecteur ligne.

Une telle repr´esentation est toutefois incompl`ete car elle ne contient aucune information sur la position des ´echantillons. Il est alors n´ecessaire d’introduire un vecteur indice. Prenons l’exemple d’un signal quelconque x[k] d´efini sur l’intervalle [−2; 4] ; il se d´efinit et s’affiche de la mani`ere suivante.

k=[−2 −1 0 1 2 3 4 ] ; x =[0 1 2 1 0 3 5 ] ; stem( k , x ) ;

La description du vecteur indice est souvent triviale, dans la mesure o`u elle peut s’obtenir `a l’aide d’une suite num´erique. L’affichage du signalxindic´e parkimplique que ces deux vecteurs soient de mˆeme longueur.

1. Disponible surhttps://intranet.ensimag.fr/KIOSK/Matieres/4MMSTN/Ressources/guide_matlab_octave.pdf

1

(2)

1 Manipulations sur les vecteurs indices

Nous approfondissons dans un premier temps les manipulations des vecteurs indice. Ces derniers peuvent ˆ

etre vus comme des fonctions lin´eaires discr`etes ou des suites num´eriques. Les r´eponses aux quatre questions suivantes doivent pr´esenter des extraits code source pertinents.

Question 1

Cr´eer le vecteur indicevect1d´ecrivant l’intervalle de -20 `a 20 avec un pas ´egal `a 0,01.

Question 2

A partir de` vect1, cr´eer le vecteur indice vect2comportant toutes les valeurs positives devect1.

Question 3

A partir de` vect1, cr´eer le vecteur indice vect3 d´ecrivant l’intervalle de -20 `a 20 avec un pas ´egal `a 0,1 (d´ecimation par facteur 10).

Question 4

A partir de` vect1, cr´eer le vecteur indice vect4d´ecrivant l’intervalle de -40 `a 40 avec un pas ´egal `a 0,01 (concat´enation).

2 Analyse de complexit´ e

Nous souhaitons construire un signal num´erique de la forme x[k] =ei2πkλ avecλ= 0,01 et 0≤k≤1000.

Principalement deux m´ethodes existent pour cr´eer un tel signal. La premi`ere emploie une boucle et la seconde utilise une fonction d’un vecteur indice.

Question 5

Cr´eer dans une variableX1le signalx[k] `a l’aide d’une boucleforen calculant un ´echantillon par it´eration.

Afficher dans la mˆeme figure graphique la partie r´eelle et imaginaire dex[k]. Commenter.

Question 6

Cr´eer dans une variableX2le mˆeme signalx[k], sans utiliser de boucle, en d´efinissant le vecteur indice k.

V´erifier que l’on retrouve bien le mˆeme signal qu’avec la m´ethode pr´ec´edente.

Question 7

Utiliser les fonctions tic et toc pour mesurer le temps de calcul n´ecessaire `a la cr´eation de X1 et X2.

Commenter.

3 Dissection d’une fonction

La fonction suivante permet de cr´eer un signal myst´erieux. Les param`etres de la fonction sont conditionn´es parn1< n0< n2avecni∈Z.

function [ x , n ] = f o n c t i o n m y s t e r e ( n0 , n1 , n2 ) n=[ n1 : n2 ] ;

x = [ ( n−n0 ) ==0];

Question 8

Mettre en œuvre lafonctionmystere? D´ecrire pr´ecis´ement les ´etapes de son ex´ecution.

2

(3)

Question 9

A l’aide de la` fonctionmystere, cr´eer un vecteur indice d´ecrivant l’intervalle de 1 `a 256 avec un pas unitaire.

Pr´esenter le code source utilis´e. Trouver une alternative plus simple pour r´esoudre le mˆeme probl`eme.

4 Repr´ esentation d’un signal pseudo-analogique

Bien queMatlabsoit incapable de repr´esenter des signaux analogiques, il est possible d’utiliser des techniques d’affichage qui donnent l’illusion d’une continuit´e entre des points faiblement espac´es d’un signal num´erique (sur´echantillonnage et interpolation lin´eaire). En simulation num´erique, ces signaux sont parfois appel´es signaux `a temps pseudo-continu ousignaux pseudo-analogique.

Soit le signal analogique suivant :

s(t) =Acos(2πν0t) avec A= 2 V etν0= 200 Hz.

Le signal `a temps pseudo-continu bas´e surs(t) reste en toute rigueur discret. Il se note donc s[l] avecl∈Q tel que |ln−ln−1| ≈ 0, n ∈ Z. Rappelons que les vecteurs de Matlab sont exclusivement indic´es par des entiers naturel non-nuls, il faut donc g´en´erer explicitement le vecteur indice pour la plupart des signaux `a temps pseudo-continu.

Question 10

Cr´eer un vecteur indice appropri´e puis construire le signal `a temps pseudo-continus[l] avecMatlab sur 10 p´eriodes. Le nombre de points sera choisi de telle sorte que le signal soit suffisammentlisse lors d’une visualisation avec la fonctionplot. Donner le code source et faire apparaˆıtre des grandeurs physiques sur les axes du graphique (Volt pour l’amplitude, secondes pour le temps).

5 Filtrage num´ erique

Soit la fonction ´echelon unit´eu[k] d´efinie par :

u[k−k0] =

1 sik≥k0

0 sik < k0. avec {k, k0} ∈Z Nous souhaitons filtrer un signalx[k] de type porte de largeurM, d´efini par :

x[k] =u[k]−u[k−M] avec k∈ZetM ∈N.

La r´eponse impulsionnelleh[k] du filtre est ´egalement une porte de largeurN d´efinie par : h[k] =u[k]−u[k−N] avec k∈ZetN ∈N.

Rappelons la d´efinition du produit de convolution discret :

y[k] =

+∞

X

l=−∞

h[l]x[k−l].

Question 11

Calculer la sortie du filtrey[k] pourM = 30 etN = 10. Si besoin, s’aider d’un graphique pour comprendre le raisonnement.

En prenant un signal de longueurM = 30 ainsi qu’une r´eponse impulsionnelle `aN = 10, effectuer le filtrage en utilisant la fonctionconv. Repr´esenter ensuite dans la mˆeme fenˆetrex[k],h[k] ety[k] `a l’aide desubplot.

Question 12

Quel est le support dey[k] (l’exprimer en fonction du support de x[k] eth[k]) ?

3

Références

Documents relatifs

On termine par un exemple non lin´eaire, que Maple ne sait pas r´esoudre sym- boliquement (“avec une jolie formule”), mais pour lequel il peut donner une approximation num´erique de

Ecrire une fonction Matlab pour calculer la solution de A~u = f ~ `a l’aide la m´ethode de Cholesky, en utilisant la fonction chol.. On peut par exemple, dans le fichier

Si tel n’est pas le cas, il est int´eressant de r´ealiser la factorisation de la matrice en ques- tion a priori, puis d’utiliser cette factorisation pour r´esoudre tr`es rapidement

Dans sa forme analogique, un signal électrique (tension ou courant) peut être continu (si l’amplitude est constante sur un intervalle de temps donné) ou variable (si l’amplitude

• D´eriv´ee de la somme, du produit, du quotient de deux

Donner un contre-exemple au th´eor`eme sur l’image d’un segment par une fonction continue, dans le cas o` u f est une fonction continue sur un intervalle non vide de R qui n’est pas

´etant donn´ee une courbe suffisamment r´eguli`ere s(t), notre objectif est de l’approximer par une courbe G 2 compos´ee de segments T-quartiques, de sorte que le calcul des

Placer dans le diagramme un microphone (Acquérir un son dans la bibliothèque Entrée) ainsi qu’un haut-parleur (Jouer WFM dans la bibliothèque Sortie)?. Dans la face avant, placer