Vous êtes sur la page 1sur 8

T P de Traitement de Signal AII21& AII22

PLAN DU TP N°2

TITRE DU TP :

REALISATION DES OPERATIONS ARITHMETIQUES SUR DES


MATRICES PAR DSP ET MATLAB

OBJECTIFS :

A la fin de la séance de travaux pratiques l'étudiant doit être capable de :

Comprendre le programme de l’application;


Stoker les valeurs de deux matrices dans les cases mémoire spécifiées par le
programme ;
Restaurer les résultats de traitement des cases mémoire spécifiées par le
programme ;
Comparer les résultats théoriques par rapport aux résultats pratiques ;
Appliquer les opérations arithmétiques sur les matrices par Matlab.

PRE-REQUIS :

Notions de base sur :


Multiplication des matrices ;
Code Explorer ;
Matlab.

Sondes Abdelmouleh 19
T P de Traitement de Signal AII21& AII22

TP N°2: REALISATION DES OPERATIONS ARITHMETIQUES


SUR
DES MATRICES PAR DSP ET MATLAB

OBJECTIF GENERAL :

Réaliser des opérations arithmétiques sur des matrices par DSP et MATLAB.

OBJECTIFS SPECIFIQUES ELEMENTS DE CONTENU MOYEN DUREE

L'étudiant sera capable de : Maquette de 90 mn


Traitement de
- Charger le programme de 1. Procédure de chargement ;
signal ;
fonctionnement de la
multiplication de matrice du Ordinateur ;
logiciel Code explorer; 2. Procédure de fonctionnement ; saisi
Logiciel Code
- Comprendre le programme des valeurs des matrices dans les cases
Explorer.
mémoires spécifiées par le
de l’application; programme ;

-Restaurer les résultats de 3. Lecture des résultats de


traitement et les comparer par multiplication à partir des cases
rapport aux résultats théoriques. mémoires spécifique et comparaison
avec les résultats théoriques.

L'étudiant sera capable de : 1. Procédure de chargement de matlab. Ordinateur ; 90 mn


-Appliquer les opérations 2. Connaissance des opérateurs Logiciel
arithmétiques sur les arithmétiques en Matlab ; ; Matlab.

matrices par Matlab. 3. Connaissance de quelques matrices


spécifiques ;
4. Réalisation du transposé, addition et
multiplication des matrices.

Sondes Abdelmouleh 20
T P de Traitement de Signal AII21& AII22

Travaux Pratiques N°2 :

REALISATION DES OPERATIONS ARITHMETIQUES


SUR DES MATRICES PAR DSP ET MATLAB

Objectif :
L’objectif de ce TP est de réaliser des opérations mathématiques ; multiplication de deux matrices ;
par la maquette DSP et par application du logiciel MATLAB.

I. Rappel théorique
I.1 Définition
La matrice est utilisée pour manipuler des données de dimension deux, comme des signaux image.
Le produit de deux matrices est l’opération de la multiplication et de la somme sur les éléments.
I.2. Exemple
Considérant deux matrices de dimension 3x3 :
 1 4 7  1 4 7 
A=  2 5 8  et B=  2 5 8 
 3 6 9   3 6 9 
Calcul manuel

Le produit A.B de ces deux matrices est une matrice qui se calcule de la manière suivante :

 1 4 7  147   1 . 1+ 4 . 2 + 7 . 3 1 . 4 + 4 . 5 + 7 . 6 1 . 7 + 4 . 8 + 7 . 9 
A.B =  2 5 8  x  2 5 8  =  2 . 1+ 5 . 2 + 8 . 3 2 . 4 + 5 . 5 + 8 . 6 2 . 7 + 5 . 8 + 8 . 9 
 3 6 9  369   3 . 1+ 6 . 2 + 9 . 3 3 . 4 + 6 . 5 + 9 . 6 3 . 7 + 6 . 8 + 9 . 9 

Calcul par la maquette DSP

Le produit A.B peut être écrit de la manière suivante :

Pij = ∑ ARi * BCj .


ARi représente la ligne de la matrice A, BCj la colonne de B et i = j de 1 jusqu’ à 3.

Sondes Abdelmouleh 21
T P de Traitement de Signal AII21& AII22

Il y a trois opérations de multiplications qui sont exigées pour chaque nombre de i :


P11= AR1 * BC1 , P12 = AR1*BC2 et P13 = AR1* BC3 .
Le programme « MATMUL.ASM » donné ci dessous indique les opérations de la multiplication
des matrices.
Soit le programme suivant donné par le programmeur:

XN word 1,4, 7,2, 5, 8, 3, 6, 9 ;


word 0,0,0,0,0,0,0 ;
YN word 1,2,3,4,5,6,7,8,9;

P1= 1*1 +4*2 +7*3 , P2 = 1*4 +4*5 + 7*6, P3 =1*7 + 4*8 +7*9;
P4= 2*1 +5*2 +8*3 , P5=2*4+5*5+8*6 , P6 = 2*7+5*8+8*9;
P7= 3*1+6*2+9*3 , P8=3*4+6*5+9*6 , P9 =3*7+6*8 +9*9

II . Partie pratique
II.1. Matériels utilisés

- Maquette : L’unité CIC-520 ;


- Ordinateur ;
- Câble de communication entre PC et maquette.

II.2. Manipulation
1. Connecter l’ordinateur à la maquette de traitement de signal « CIC-520 » ;
2. Charger le programme «matmul.obj » du logiciel C54x Code Explorer selon le chemin
suivant :
C:\dskplus\demos\mathtst\matmul.obj.
3. Le produit de deux matrices sera stocké dans la partie mémoire d’adresse 021A.
Cliquer sur View de la barre d’outil ;
Choisir Memory ;
Entrer la nouvelle adresse choisie pour stocker le résultat et qui est: 021A.
4. Entrer les valeurs de chaque matrice selon l’ordre donné dans le programme de la partie
théorique : les valeurs de la première matrice (prise horizontalement) dans XN d’adresse 200 et
la deuxième matrice (prise verticalement) dans YN.

Sondes Abdelmouleh 22
T P de Traitement de Signal AII21& AII22

5. Exemple :
 1 4 7  1 4 7 
A=  2 5 8  et B=  2 5 8 
 3 6 9   3 6 9 

0x0200 : XN
0x0200 : 0001 0004 0007 0002 0005 0008 0003 0006 0009 0000 0000 0000 0000
0x020D : 0000 0000 0000
0x0210 : YN
0x0210 : 0001 0002 0003 0004 0005 0006 0007 0008 0009 0000 0000 0000 0000
0x021D: 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000 0000

Adresse :21A

6. Exécuter puis arrêter le programme en appuyant sur RUN puis sur HALT.
Le résultat sera stocké dans la case mémoire d’adresse 021A.
7. Recharger le programme de nouveau pour effacer les résultats de l’exemple précédent.
8. Donner les résultats du produit des matrices suivantes en Hexadécimal (pratiquement) et les
comparer avec les résultats théoriques.

 2 3 5   3 2 1 
a- C= 2 2 1  et D=  1 2 1 
  
 3 1 1   3 4 2 

 2 2 1 1 4 2 
b- E= 1 1 4  et F=  2 2 1 
   
 3 3 1   3 2 2 

 1 2 1   2 4 2 
c- G= 4 1 1  et H=  1 5 1 
   
 2 2 4   3 1 1 

 1 1 2   2 4 1 
d- I= 1 1 2  et J= 1 3 1 
   
 2 3 1   1 1 1 

Sondes Abdelmouleh 23
T P de Traitement de Signal AII21& AII22

III. Simulation par MATLAB


III. 1. Génération des matrices
Une matrice est un ensemble de lignes comportant toutes le même nombre de colonnes.
III.1.1. Création des matrices par énumération des éléments
>> m1 = [1 2 3 ; 4 5 6 ; 7 8 9] %on sépare les lignes par des points-virgules.
m1 =
1 2 3
4 5 6
7 8 9

III.1.2. Autre méthodes de Création de matrices


On peut écrire une matrice d’une autre manière comme indique l’exemple suivant.
Exemple:
>> m2 = [1:1:3 ; 11:1:13]
m2 =
1 2 3
11 12 13

III.1.3. Transposition
L’opérateur apostrophe utilisé pour créer un vecteur colonne est en fait l’opérateur transposition:
Exemple:
>> m2’

ans =
1 11
2 12
3 13
III.1.4. Opérations scalaires-matrices
Une telle opération agit sur chaque élément de la matrice:
>> m2’ * 10 % multiplication de m2’par 10.

ans =
10 110
20 120
30 130

Remarque :
De même on peut calculer 4*m2 ; m2-10 et m2/4.

III.1.5. Opérations entre matrices


III.1.5.1. Multiplication
>> m1 % rappelons la définition de m1.
m1 =
1 2 3
4 5 6
7 8 9

>> m2 % rappelons la définition de m2.

Sondes Abdelmouleh 24
T P de Traitement de Signal AII21& AII22

m2 =
1 2 3
11 12 13

>> m1 * m2’ % le produit matriciel n’est possible que lorsque les


dimensions sont cohérentes.
ans =

14 74
32 182
50 290

III.1.6. Matrices particulières

>> ones(3)

ans =
1 1 1
1 1 1
1 1 1

>> zeros(2,5)
ans =
0 0 0 0 0
0 0 0 0 0

>> eye(4)
ans =
1 0 0 0
0 1 0 0
0 0 1 0
0 0 0 1

>> diag([1 : 4])

ans =
1 0 0 0
0 2 0 0
0 0 3 0
0 0 0 4

>> rand(1,7) % nombres aléatoires entre 0 et 1


ans =
0.9355 0.9169 0.4103 0.8936 0.0579 0.3529 0.8132

III. 2 . Travail demandé


1- Démarrer le logiciel MATLAB, en cliquant sur son icône au bureau ;

Sondes Abdelmouleh 25
T P de Traitement de Signal AII21& AII22

2- Ouvrir une nouvelle fenêtre MATLAB pour commencer le travail et pour pouvoir le
sauvegarder ;
3- Soit les matrices de la question 7 de la partie pratique :

3-1- Générer chaque matrice ;

3-2- Générer la transposée de chaque matrice ;

3-3- Calculer le produit de deux matrices de 7-a ,7-b , 7-c et 7-d .

4- Soit les matrices suivantes :


S = diag([1 : 5]) et R = diag([2 : 6])
4-1 Générer les matrices S et R et leur transposées ;

4-2 Déterminer le produit de S et R ;

5- Soit la matrice I= [1 0 0 ; 0 1 0 ; 0 0 1]

Générer cette matrice et déterminer le produit C*I ;

6- Déterminer les matrices particulières :

L=[1 0 0 ; 0 6 0 ; 0 0 2] ; M =[ 0 0 0 0 ; 0 0 0 0 ; 0 0 0 0] et N =[1 1 ;1 1 ;1 1] .

Sondes Abdelmouleh 26