Chapitre 3 DSP
Chapitre 3 DSP
Chapitre 3 DSP
𝑉 = −𝑏 𝑛−1 𝑆 + ∑ 𝑎𝑖 𝑏 𝑖
𝑖=−𝑚
Cette méthode consiste à diviser par ‘b’ autant de fois que cela est nécessaire pour obtenir un
quotient nul. Ensuite on écrit les restes successifs dans l’ordre inverse de celui dans lequel ils
ont été obtenus. Pour la partie fractionnaire on multiplie par b la partie fractionnaire si le
résultat est un nombre plus grand ou égal à b-1 on garde la valeur sinon le résultat
intermédiaire est nul.
Partie entière : (𝑉)10 = 𝟏𝟎 ; (𝑉)2 = 1010
10 2
0 5 2
1 2 2
0 1 2
1 0
S an-2 . . . a0 a-1 . . . a -m
Exemple :
Soit le nombre V = 10.4. Sur 16 bits, le format optimal est donné par :
n = round(log2(v) + 0.5) +1 = round ( 3.3785+0.5)+1 = 4+1 = 5
m = 16 − 5 = 11
(V)2 = 01010011001101001
La valeur décimale reconstituée vaut :
Vr =10.4004
La différence entre la valeur décimale à convertie et la valeur décimale reconstituée est
donnée par la relation :
Δq = | Vr – V | = 10.4004 –10.4 = 0.0004
Avec Matlab :
>> q = quantizer('fixed', 'Ceiling', 'Saturate', [16 5]);
>> num2bin(q, 10.4);
ans = 0101001100110100
>> bin2num(q,'0101001100110100')
ans = 10.4004
2.2. REPRESENTATION EN VIRGULE FLOTTANTE
Le standard IEEE 754 pour les nombres en virgules flottantes en simple précision est de 32 bits.
Le premier bit S (le plus à gauche) représente le signe, les 8 bits suivants (E0-E7) l’exposant et les
23 derniers (F9-F31) la représentation fractionnaire du nombre en format 0.23, appelé mantisse.
S E0 . . . E7 F9 . . . F31
Exposant Mantisse
La valeur V représentée par le mot codé en 32 bits peut être déterminé de la manière suivante :
E = 255 , F≠0 𝑉 = 𝑁𝑎𝑁
E = 255, F=0, S=1 𝑉 = −∞
E = 255, F=0 ,S=0 𝑉 = +∞
0 < E < 255 𝑉 = (−1)𝑆 2(𝐸−127) ⋅ (1. 𝐹)
E = 0 , F≠0 𝑉 = (−1)𝑆 2(𝐸−126) ⋅ (0. 𝐹)