0% ont trouvé ce document utile (0 vote)
2K vues5 pages

Caractéristiques des DSPs en Hexadécimal

Ce document contient des exercices sur la représentation de nombres en virgule fixe et flottante, ainsi que sur les opérations arithmétiques et l'erreur de quantification associées à ce format de nombres. Les exercices portent notamment sur la conversion entre formats décimaux et binaires, et l'arrondissement lié à la quantification.

Transféré par

mohamed
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd
0% ont trouvé ce document utile (0 vote)
2K vues5 pages

Caractéristiques des DSPs en Hexadécimal

Ce document contient des exercices sur la représentation de nombres en virgule fixe et flottante, ainsi que sur les opérations arithmétiques et l'erreur de quantification associées à ce format de nombres. Les exercices portent notamment sur la conversion entre formats décimaux et binaires, et l'arrondissement lié à la quantification.

Transféré par

mohamed
Copyright
© © All Rights Reserved
Nous prenons très au sérieux les droits relatifs au contenu. Si vous pensez qu’il s’agit de votre contenu, signalez une atteinte au droit d’auteur ici.
Formats disponibles
Téléchargez aux formats DOC, PDF, TXT ou lisez en ligne sur Scribd

Correction TD Caractéristiques des DSPs

Exercice 1

Représenter les nombres suivants 16 bits hexadécimal (avec le préfix 0x) sous le format
(1.15).

Nombre Format (1.15) =(N.M) tel que N+M =16 bits


hexadécimal Un DSP à virgule fixe par défaut, il est de format (1.15) et signé
Signé càd le bit de poids fort est négatif
0x7FFF (7FFF)16 = (0.111 1111 1111 1111)2
= 0*(-2)0+ 1*(2)-1+ 1*(2)-2+ 1*(2)-3+ 1*(2)-4+ 1*(2)-5+ 1*(2)-6+ 1*(2)-7+ 1*(2)-8+
1*(2)-9+ 1*(2)-10+ 1*(2)-11+ 1*(2)-12+ 1*(2)-13+ 1*(2)-14+ 1*(2)-15
= 0.999969482421875

0x8000 (8000)16 = (1.000 0000 0000 0000)2


= 1*(-2)0+ 0*(2)-1+ 0*(2)-2+ 0*(2)-3+ 0*(2)-4+ 0*(2)-5+ 0*(2)-6+ 0*(2)-7+ 0*(2)-8+
0*(2)-9+ 0*(2)-10+ 0*(2)-11+ 0*(2)-12+ 0*(2)-13+ 0*(2)-14+ 0*(2)-15
= -1
0x1234

0xABCD (ABCD)16 = (1.010 1011 1100 1101)2


1*(-2)0+ 0*(2)-1+ 1*(2)-2+ 0*(2)-3+ 1*(2)-4+ 0*(2)-5+ 1*(2)-6+ 1*(2)-7+ 1*(2)-8+
1*(2)-9+ 0*(2)-10+ 0*(2)-11+ 1*(2)-12+ 1*(2)-13+ 0*(2)-14+ 1*(2)-15
= -1+ ¼+1/16+1/64+1/128+1/256+1/512+1/4096+1/8192+1/32768
0x5566

Exercice 2

a) Additionner ces deux nombres flottants 0.5 × 22 et 0.6 × 21.


Etape1 : ajuster les exposants le plus petit avec le plus grand
Le nombre le plus petit est 0.6 × 2 1 et doit être ajuster 0.6 × 2 1 = 0.6 × 21*21*2-1 = 0.6*2-1
*21*21 = 0.3 * 22. Les deux nombres peut être ajustés
Etape 2 : additionner les mantisses : 0.5+0.3
Etape 3 : exposant commun est égal à 2
La valeur finale d’addition de deux nombres virgules flottantes est 0.8 × 22. La mentisse
est 0.8 et l’exposent est 2.

b) Multiplier ces deux nombres flottants 0.5 × 22 et 0.6 × 21.


Multiplier 0.5 × 22 par 0.6 × 21.
Etape1 : multiplier les mantisses
La mentisse 0.5 est multiplié par 0.6 pour obtenir 0.3. 0.5*0.6 = 0.3
Etape 2 : additionner les exposants 22+1 = 23
Les exposants sont additionnés (2 + 1=3).
Le résultat est 0.3 × 23.

c) Normaliser le nombre 16.25 = 10000.01 × 20


Mohamed Anouar Ben Messaoud 1
La normalisation revient à faire la mantisse sous forme (1.M) . Pour ceci on a besoin de
décaler à gauche ou à droite le point de base et donc ajouter ce décalage dans l’exposant.
16.25 = 10000.01 × 20 = 1.000001 × 20+4
J’ai décalé le point de base de 4 vers la gauche donc j’ajoute ce que j’ai décalé à l’exposant
Après normalisation : 1.000001 × 24 = 1*20*24+1*2-6*24 = 24+2-2 = 1 6+0.25 = 16.25

Exercice 3

LE CODEC audio AD1836 offre 24 bits, 96 kHz de capacité d'audio à canaux multiples
audio. Il a un intervalle dynamique de 105 dB. Un système audio numérique a 20 dB
d'amplitude et emploie 16 bits ou 32 bits dans le DSP Blackfin comme montré dans la figure.

Figure : Comparaison du Codec AD1836 avec différents longueurs

Pour un codeur/décodeur AD1836 de 24 bits, il faut sélectionner le DSP à virgule flottante


de 32 bits. Car l’intervalle dynamique du codec est 105 dB par contre le DSP à virgule fixe
n’offre pas cet intervalle. IL a plutôt un intervalle de 96 dB.
Par contre le DSP à virgule flottante, il a un intervalle dynamique de 192 dB donc il recouvre
l’intervalle d’amplitude du codec et il reste 92 dB de plus qui est équivalent à 14 bits (extra
bits). C’est-à-dire on a pour chaque bit 6 dB.

Exercice 4 : L’erreur de quantification

Soit le nombre π= 3.14159265358979. Sur 16 bits,

Exprimer le nombre π en mode fractionnaire avec la meilleure résolution possible en


appliquant la formule : N = round(log2(x)+0.5) +1.
Déterminer l’erreur absolue de quantification de π

N = round(log2(π)+0.5) +1 = round(1.644) +1=2+1 =3


M = 16-3 = 13
Meilleur format (3.13)
Soit le nombre π= 3.14159265358979. Sur 16 bits, le format optimal est donné par :
n==3
m = 16 − 3 = 13
− Partie entière :
3:2=1⇒1
Mohamed Anouar Ben Messaoud 2
1 : 2 = 0 (il reste 1) ⇒ 1
Avant le point de base : 011 = 3
− Partie fractionnaire :
0. 14159265358979 × 2 = 0.28318530717959 ⇒ 0
0.28318530717959 × 2 = 0.56637061435917 ⇒ 0
0.56637061435917 × 2 = 1.13274122871834 ⇒ 1
0.13274122871834 × 2 = 0.26548245743669 ⇒ 0
0.26548245743669 × 2 = 0.53096491487338 ⇒ 0
0.53096491487338 × 2 = 1.06192982974676 ⇒ 1
0.06192982974676 × 2 = 0.12385965949352 ⇒ 0
0.12385965949352 × 2 = 0.24771931898704 ⇒ 0
0.24771931898704 × 2 = 0.49543863797408 ⇒ 0
0.49543863797408 × 2 = 0.99087727594815 ⇒ 0
0.99087727594815 × 2 = 1.98175455189630 ⇒ 1
0. 98175455189630 × 2 = 1.96350910379260 ⇒ 1
0.96350910379260 × 2 = 1.92701820758520 ⇒ 1
Finalement :
π Base2→ π = 011.0010010000111 2
0010010000111= 0.14140762975863

Don la valeur obtenue avec le format (3.13) est


La valeur décimale reconstituée vaut
πreconstitué = (011.0010010000111)2 = 3.14147949218750
Erreur absolue de quantification = valeur donnée –valeur obtenu avec le format
La différence (erreur en valeur absolue) entre valeur décimale à convertir et valeur
décimale reconstituée est donnée par la relation
Δ = πdonnée -πreconstitué = 1.131614022931160 ⋅10-4
Exercice 5
Ecrire 0.5, -0.5, 0.7 et 0.8 en Hexadecimal avec le format (1.15)

R0.H = 0x4000; //0.5 in 1.15 format car 0.5=0.100000000000000


R2.L = 0xc000; //-0.5 in 1.15 format car -0.5 =1.100000000000000

Ecrire 0.7 en Hexadecimal avec le format (1.15)


Partie entière avant le point de base
0
Partie fractionnaire sur 15 bits
0.7*2 =1.41
0.4*2 =0.8 0
0.8*2=1.61
0.6*2=1.2 1
0.2*2=0.40
0.4*2 =0.8 0
0.8*2=1.6=>1
0.6*2=1.2 1

Mohamed Anouar Ben Messaoud 3


0.2*2=0.40
0.4*2 =0.8 0
0.8*2=1.6=>1
0.6*2=1.2 1
0.2*2=0.40
0.4*2 =0.8 0
0.8*2=1.6=>1
0.6*2=1.2 1

101100110011001
1011001100110011=1/2+1/8+1/16+1/128+1/256+1/2048+1/4096+1/32768+1/65536 =
0.6999969482421875
101 1 001 1 001 1 0011 = B333

0. 101100110011001
0101 1001 1001 1001
On doit faire l’arrondissement pour avoir le 0.7 au lieu de 0.6999969482421875

0101 1001 1001 1001 = 5999



0101 1001 1001 1010 =599A
D’où
R3.L = 0x599A; //0.7 in 1.15 format

Ecrire 0.8 en Hexadecimal avec le format (1.15)


Partie entière avant le point de base
0
Partie fractionnaire sur 15 bits :
0.8*2=1.61
0.6*2=1.2 1
0.2*2=0.4=0
0.4*2 =0.8 0
0.8*2=1.6=>1
0.6*2=1.2 1
0.2*2=0.40
0.4*2 =0.8 0
0.8*2=1.6=>1
0.6*2=1.2 1
0.2*2=0.40
0.4*2 =0.8 0
0.8*2=1.6=>1
0.6*2=1.2 1
0.2*2=0.4 1
Partie fractionnaire : 110011001100111
0.8=0. 110011001100111
0110 0110 0110 0111
On doit faire l’arrondissement pour avoir le 0.8
0110 0110 0110 0111 devient 0110 0110 0110 0110
Mohamed Anouar Ben Messaoud 4
D’où en Hexa on aura 6666
R3.H = 0x6666; //0.8 in 1.15 format

Mohamed Anouar Ben Messaoud 5

Vous aimerez peut-être aussi