Techniques de Codage par Forme d’ondes
Systèmes de modulation
PCM, DPCM, ADPCM, DM et ADM
Prof. Zouhair GUENNOUN
zouhair@[Link]
06-[Link]
Filière Réseaux & Télécommunications - RTC
PLAN
• Introduction
• Modulation par impulsions codées - PCM
• Modulation par impulsions codées
différentielle - DPCM
• Modulation delta - DM
Techniques de Quantification 2
Introduction
• De nature, la majorité de l’information est de
type analogique : voix, image, télémesure … .
• Cependant, l’information sous forme numérique
est plus facile à manipuler, traiter, communiquer
et stocker.
• D’où la nécessité d’étudier les méthodes
efficientes de conversion de signaux analogiques
en séquences numériques.
Techniques de Quantification 3
Introduction
• Quantification (compression de données avec
pertes) où la source analogique est quantifiée
en un nombre fini de niveaux.
• Lors de ce processus, quelques distorsions
sont inévitables d’où la perte de l’information
(détérioration de sa qualité) qu’on ne peut pas
restaurer (processus irréversible).
Techniques de Quantification 4
Introduction
• Les techniques générales de conversion A/N qui font partie
de cette classe sont telles que:
– la modulation par impulsions codées (MIC/PCM – Pulse Code
Modulation),
• la quantification uniforme,
• la quantification non-uniforme, et
• la quantification vectorielle.
– la modulation PCM différentielle (DPCM),
– la modulation Delta (DM),
• La limite fondamentale des performances de cette classe
de techniques de compression est donnée par la limite
Débit-Distorsion.
Techniques de Quantification 5
PLAN
• Introduction
• Modulation par impulsions codées - PCM
– PCM uniforme
• Quantification scalaire uniforme
– PCM non uniforme
• Quantification scalaire non uniforme
– Quantification vectorielle
• Modulation par impulsions codées différentielle - DPCM
• Modulation delta - DM
Techniques de Quantification 6
Modulation PCM
• En modulation par impulsions codées (MIC ou
PCM – Pulse-Code Modulation), un signal
analogique est d’abord échantillonné à un taux
supérieur à la fréquence de Nyquist, puis les
échantillons sont quantifiés.
– On suppose que:
• le signal analogique soit distribué sur un intervalle
[-xmax, xmax],
• le nombre d’intervalles de quantification soit assez grand.
• Les niveaux de quantification peuvent être équidistants ou
non (cas de la quantification uniforme et non uniforme).
Techniques de Quantification 7
Quantification
• En général, les techniques de quantification
peuvent être classées en quantification
scalaire et vectorielle.
– En quantification scalaire, chaque symbole de la
source est quantifié individuellement,
– En quantification vectorielle, des blocs de
symboles seront quantifiés simultanément.
Techniques de Quantification 9
Quantification
• Les quantificateurs scalaires peuvent être classés
en quantificateurs uniformes et non-uniformes.
– En quantification uniforme, les régions de
quantification sont choisies de manière à avoir des
largeurs égales ;
– En quantification non uniforme, les largeurs des
régions de quantification sont variables.
• Il est clair que les quantificateurs non-uniformes
sont meilleurs que les quantificateurs uniformes.
Techniques de Quantification 10
Quantification scalaire
• Intervalles de quantification, Ri :
En quantification scalaire, la portée de la variable
aléatoire X est divisée en N régions non
chevauchées Ri, (1iN),
• Niveaux de quantification, 𝑥𝑖 :
Dans chaque région un seul point sera choisi
pour représenter cet intervalle.
– Toutes les valeurs de la variable aléatoire qui tombent
dans cette région Ri seront quantifiées au iième niveau
de quantification, dénoté par 𝑥𝑖 .
𝑥𝜖ℛ𝑖 ⇔ 𝑄 𝑥 = 𝑥𝑖 𝑥𝑖 𝜖ℛ𝑖
Techniques de Quantification 11
Quantification Scalaire
• La moyenne carrée de l’erreur de quantification
est : 𝑁
𝐷= 𝑥 − 𝑥𝑖 2 𝑓𝑋 𝑥 𝑑𝑥
𝑖=1 ℛ𝑖
– fX(x) : fonction de densité de probabilité de la variable
aléatoire source.
• Le rapport signal sur bruit de quantification
(SNRQ) est définit par :
𝐸 𝑋2
𝑆𝑁𝑅𝑄|𝑑𝐵 = 10𝑙𝑜𝑔10
𝐷
Techniques de Quantification 12
Quantification Uniforme
• En quantification uniforme, toutes les régions de
quantification, à l’exception de la première et de la dernière,
c.à.d. R1 et RN, possèdent une largeur égale, notée ; ainsi :
– La conception d’un quantificateur uniforme consiste donc à
déterminer a et .
– Ayant ces valeurs, les valeurs des niveaux de quantification et des
distorsions qui en résultent peuvent facilement être déterminés.
Techniques de Quantification 13
Quantification Uniforme
• On peut montrer que le niveau optimal de quantification
dans chaque intervalle de quantification est le centre de cet
intervalle.
ℛ𝑖
𝑥𝑓𝑋 𝑥 𝑑𝑥
𝑥𝑖 = 𝐸 𝑋|𝑋𝜖ℛ𝑖 = 1≤𝑖≤𝑁
𝑓
ℛ𝑖 𝑋
𝑥 𝑑𝑥
• Dans certains cas, il est convenable de choisir les niveaux
de quantification comme les milieux des intervalles de
quantification, c.à.d. à la distance de /2 des bornes des
intervalles de quantification.
Techniques de Quantification 14
Quantificateur uniforme pour N=6 (on note ici que a+2=0)
Modern Communication Systems using MATLAB® (Proakis, Salehi, & Bauch). © 2013 Cengage Learning Engineering.
Techniques de Quantification 15
Fonction de quantification pour N=7 (on note qu’ici: x^4=0)
Modern Communication Systems using MATLAB® (Proakis, Salehi, & Bauch). © 2013 Cengage Learning Engineering.
Techniques de Quantification 16
Quantification Uniforme
• Pour les fonctions de densité de probabilité
symétriques, le problème devient plus simple :
𝑎𝑖−1 , 𝑎𝑖 , 1≤𝑖<𝑁
ℛ𝑖 =
𝑎𝑁−1 , 𝑎𝑁 𝑖=𝑁
𝑎0 = −∞
𝑎𝑖 = 𝑖 − 𝑁 2 ∆ 1 ≤ 𝑖 < 𝑁
𝑎𝑁 = ∞
– Dans ce cas, un seul paramètre sera choisit, , pour
minimiser la distorsion.
Techniques de Quantification 17
Quantification Uniforme
• Si le nombre de niveaux de quantification est pair:
– Bornes : 0, , 2, …, (N/2-1).
– Niveaux de quantification : /2, 3/2, …, (N-1)./2
• Si le nombre de niveaux de quantification est impair:
– Bornes : /2, 3/2, …, (N-2)./2
– Niveaux de quantification : 0, , 2, …, (N-1)/2.
Techniques de Quantification 18
Quantification Uniforme - Procédure
• Pour quantifier uniformément un signal, on définit:
Max X Min X
N 1
– où X est le signal à quantifier, et N est le nombre de
niveaux de quantification.
• Procédure de quantification uniforme de pas :
– Soustraire Min(X) de la valeur de l’échantillon puis diviser
le résultat par .
– Arrondir le résultat à l’entier le plus proche.
– Multiplier le résultat arrondi par et ajouter Min(X) pour
convertir le résultat à l’échelle d’origine.
Number Representation and Waveform
19
Quantization
PCM uniforme
• En PCM uniforme, l’intervalle de largeur 2xmax est
divisé en N sous-intervalles égaux, chacun de
largeur =2xmax/N.
– Si N est assez grand, la fonction de densité dans
chaque sous-intervalle peut être supposée comme
uniforme, de distorsion résultante: D=²/12.
– Si N est une puissance de 2 (N=2b), alors b bits sont
nécessaires pour représenter chaque niveau.
– La largeur de bande du signal analogique étant W, si
l’échantillonnage est effectué à la fréquence de
Nyquist (ici 2W), alors la largeur de bande nécessaire
à la transmission du signal PCM est d’au moins bW.
Techniques de Quantification 20
PCM Uniforme
• La distorsion sera donnée par :
∆2 𝑥𝑚𝑎𝑥
2 2
𝑥𝑚𝑎𝑥
𝐷= = 2
=
12 3𝑁 3 × 4𝑏
• Si la puissance du signal analogique est E[X²], le
rapport signal-bruit de quantification est donné
par : 2
𝑋 2
𝑏
𝑋 2
𝑏 2
𝑆𝑁𝑅𝑄 = 3𝑁 2 =3×4 2 =3×4 𝑋
𝑥𝑚𝑎𝑥 𝑥𝑚𝑎𝑥
– 𝑋 : représente le signal normalisé définit par X/xmax.
La valeur du SNRQ en décibels est :
𝑆𝑁𝑅𝑄|𝑑𝐵 = 4.8 + 6𝑏 + 𝑋 2 |𝑑𝐵
Techniques de Quantification 22
PCM Uniforme
• La méthode de codage utilisée est celle dite
naturelle :
– le niveau le plus faible est codé par une séquence
de b zéros,
– le niveau le plus élevé est codé par une séquence
de b uns, et
– les niveaux intermédiaires seront codés par des
valeurs croissantes.
Techniques de Quantification 23
PCM uniforme pour un signal sinusoïdal utilisant 4, 8 et 16 niveaux.
Les SNRQ résultants sont de 12.62dB, 18.90dB et 25.13dB.
Techniques de Quantification 24
Erreur de quantification pour 16 niveaux de quantification –
SNRQ = 17.61dB
Techniques de Quantification 25
Erreur de quantification dans une PCM uniforme avec 64 niveaux de
quantification – SNRQ = 29.64dB
Techniques de Quantification 26
Erreur de quantification pour 128 niveaux de quantification –
SNRQ = 35.56dB
Techniques de Quantification 27
• Write a Matlab function Y = Uquant(X,N)
which will uniformly quantize an input array X
(either a vector or a matrix) to N discrete
levels.
• Load the audio files [Link] and [Link].
• Use Uquant function to quantize each of
these signals to 7, 4, 2 and 1 bits/sample.
Number Representation and Waveform
28
Quantization
• Listen to the original and quantized signals and
answer the following questions:
– For each signal, describe the change in quality as the
number of b/sample is reduced?
– For each signal, is there a point at which the signal
quality deteriorates drastically?
– At what point (if any) does it become
incomprehensible?
– Which signal’s quality deteriorates faster as the
number of levels decreases?
– Do you think 4 b/sample is acceptable for telephone
systems? ... 2 b/sample?
Audio Waveform Quantization 29
• Use subplot to plot in the same figure, the
four quantized speech signals over the index
range 7201:7400.
• Generate a similar figure for the music signal,
using the same indices.
– Make sure to use orient tall before printing these
out.
Audio Waveform Quantization 30
Quantized signals for nb=1, 2, 4, & 7
Audio Waveform Quantization 31
Analyse de l’erreur de quantification
• Les méthodes les plus efficaces de l’analyse de l’erreur
de quantification sont de type stochastique.
• Pour appliquer ces méthodes, on a besoin d’avoir une
connaissance claire des propriétés statistiques du
signal erreur. Par exemple,
– Peut-on supposer que le signal erreur est un bruit blanc?
– Peut-on supposer qu’il est non-corrélé au signal quantifié?
• Ces deux hypothèses restent valables tant que les
intervalles de quantification restent petits comparés
aux variations dans le signal d’un échantillon à l’autre.
Audio Waveform Quantization 32
• Compute the error signal for the quantized speech for 7, 4, 2 and 1
b/sample.
When the spacing, , between quantization levels is sufficiently small,
a common statistical model for the error is a uniform distribution from
−/2 to /2.
• Use the command hist(E,20) to generate 20-bin histograms for each
of the four error signals. Use subplot to place the four histograms in
the same figure.
– How does the number of quantization levels seem to affect the shape
of the distribution?
– Explain why the error histograms you obtain might not be uniform?
Audio Waveform Quantization 33
Quantization error for nb=1, 2, 4, & 7
Audio Waveform Quantization 34
• To examine correlation properties of the error signal:
– First compute and plot an estimate of the autocorrelation function for
each of the four error signals using:
>> [r,lags] = xcorr(E,200,’unbiased’);
>> plot(lags,r)
– Compute and plot an estimate of the cross-correlation function
between the quantized speech Y and each error signal E using
>> [c,lags] = xcorr(E,Y,200,’unbiased’);
>> plot(lags,c)
• Is the autocorrelation influenced by the number of
quantization levels? Do samples in the error signal appear to
be correlated with each other?
Audio Waveform Quantization 35
Correlation functions for nb=1, 2, 4, & 7
Audio Waveform Quantization 36
Cross-correlation functions for nb=1, 2, 4, & 7
Audio Waveform Quantization 37
Rapport Signal sur Bruit
• Une manière pour mesurer la qualité d’un
signal quantifié est par le rapport des
puissances Signal-sur-Bruit (SNRQ).
– Le PSNR est définit par le rapport de la puissance
du signal quantifié à celle de l’erreur de
quantification.
SNRQ = PY/PE
– Généralement, un SNRQ élevé implique un signal
peu bruité.
Audio Waveform Quantization 38
• La puissance d’un signal échantillonné, x(n),
est définie par:
1 L 2
Px x n
L n 1
– Où L est la longueur de x(n).
Audio Waveform Quantization 39
• Dans l’évaluation des algorithmes de
quantification (ou de compression), on utilise
souvent la courbe “débit-distorsion”.
– Cette courbe trace la distorsion du signal en fonction
du débit binaire.
– Ici, la distorsion est mesurée par 1/SNRQ, et on
détermine le débit binaire à partir du nombre de
niveaux de quantification et du taux
d ’échantillonnage.
• Par exemple, si le taux d’échantillonnage est 8000 éch./sec,
et qu’on utilise 7 bits/éch., le débit binaire sera de 56
kbits/sec (kbps).
Audio Waveform Quantization 40
• Compute the SNRQ for the four quantized speech signals
from the previous section.
• Assuming that the speech is sampled at 8kHz, plot the rate
distortion curve using 1/SNRQ as the measure of distortion.
• Generate this curve by computing the SNRQ for 7, 6, 5,..., 1
bits/sample.
• Make sure the axes of the graph are in terms of distortion
and bit rate.
Audio Waveform Quantization 41
Distortion & SNRQ vs Binary Rate
Audio Waveform Quantization 42
PCM non uniforme
• En PCM non uniforme, le signal d’entrée est d’abord passé
à travers un élément non linéaire pour réduire sa portée
dynamique, et la sortie est appliquée à un système PCM
uniforme.
• Au récepteur, la sortie est passée à travers un élément non
linéaire inverse à celui utilisé à l’émetteur.
• L’effet global est équivalent à un système PCM avec un
espacement non uniforme entre les niveaux.
• Pour la transmission de signaux de parole, on utilise soit la
loi µ soit la loi A.
Techniques de Quantification 43
PCM non-Uniforme
• La loi µ est définie par la relation :
– x : signal normalisé à l’entrée, et
– µ : paramètre de non-linéarité fixé à 255 dans le standard
de compression µ.
• L’inverse de la loi µ est donnée par :
Techniques de Quantification 44
Compresseur loi-µ
Modern Communication Systems using MATLAB® (Proakis, Salehi, & Bauch). © 2013 Cengage Learning Engineering.
Techniques de Quantification 45
Erreur de quantification et relation entrée-sortie pour une PCM de loi-µ
à 16 niveaux – SNRQ = 13.89dB
Techniques de Quantification 46
Erreur de quantification et relation entrée-sortie pour une PCM de loi-µ
à 64 niveaux – SNRQ = 25.15dB
Techniques de Quantification 47
Erreur de quantification et relation entrée-sortie pour une PCM de loi-µ
à 128 niveaux – SNRQ = 31.12dB
Techniques de Quantification 48
Loi de compression A
• Standard Européen (A = 87.56).
– Loi de compression:
– Loi de compression inverse:
Techniques de Quantification 49
Erreur de quantification et relation entrée-sortie pour une PCM de loi-A
à 16 niveaux – SNRQ = 14.79dB
Techniques de Quantification 56
Erreur de quantification et relation entrée-sortie pour une PCM de loi-A
à 64 niveaux – SNRQ = 25.55dB
Techniques de Quantification 57
Erreur de quantification et relation entrée-sortie pour une PCM de loi-A
à 128 niveaux – SNRQ = 33.38dB
Techniques de Quantification 58
Quantification non-uniforme
• Le quantificateur non-uniforme est conçu de
manière à minimiser la moyenne carré de l’erreur.
• En quantification non uniforme, la longueur des
régions de quantification n’est pas la même.
Techniques de Quantification 59
• Ce quantificateur détermine les niveaux de
quantification basés sur la fonction de densité de
probabilité, f(x), des échantillons et sur le nombre de
niveaux désirés, N.
• Il minimise la moyenne carré de l’erreur entre le signal
original et le signal quantifié:
N
qk x 2 f x dx
xk 1
xk
– Où: k 1
qk : keme niveau de quantification, et
xk : borne inférieure de qk.
Audio Waveform Quantization 60
• L’ erreur dépend à la fois de qk et de xk.
– (A noter que pour une distribution Gaussienne,
x1 = −, et xN+1 = .)
• Pour minimiser par rapport à qk,
on annule la dérivée première /qk= 0
et qu’on résout par rapport à qk: xf x dx
x
k 1
qk
xk
f x dx
xk 1
xk
Audio Waveform Quantization 61
• De plus, on aura besoin des bornes des
intervalles de quantification, xk.
Résoudre /qk= 0 conduit à: qk 1 qk
xk
2
• Ceci exprime que:
– Chaque borne finie se trouve au milieu de deux
niveaux de quantification adjacents, et
– Chaque niveau de quantification est au “centre” de sa
région.
Audio Waveform Quantization 62
Exemple
• Cette figure montre un quantificateur à cinq niveaux
pour un signal avec une distribution Gaussienne.
– A Noter que les niveaux sont plus proches les uns des
autres dans les zones à forte probabilité.
Audio Waveform Quantization 63
• On utilisera Matlab pour calculer un quantificateur optimal,
et on comparera ses performances avec celles du
quantificateur uniforme.
xf x dx
xk 1
• Vu qu’on ne connait pas à priori la fonction
de densité de probabilité du signal à quantifier, qk x
x k
f x dx
k 1
on ne pourrait pas utiliser une telle équation
x
pour calculer les niveaux de quantification optimaux. k
• Une procédure d’optimisation numérique sera utilisée sur
un ensemble d’échantillons d’entrainement (training set)
pour calculer les niveaux de quantification et les bornes qui
conduiront à la plus faible erreur pour un tel ensemble.
Audio Waveform Quantization 65
• Matlab possède une fonction prédéfinie appelée lloyds
qui calcule cette optimisation. Sa syntaxe est:
>> [partition, codebook] = lloyds(training_set, initial_codebook);
– Cette fonction nécessite deux paramètres.
• L’ensemble des échantillons d’entrainement, à partir desquels une
estimation de la fonction de densité de probabilité sera réalisée.
• Un vecteur contenant une estimation initiale des niveaux de
quantification optimaux.
– Elle calcule et retourne:
• Les bornes optimales calculées (la “partition”), et
• Les nivaux de quantification (le “codebook”).
Audio Waveform Quantization 66
• Tant que cet algorithme minimise l’erreur par rapport aux niveaux
de quantification, il est nécessaire de fournir une estimation initiale
adéquate du codebook pour assurer un résultat valable.
• Si le codebook initial est assez « loin » de la solution optimale, il est
possible que l’optimisation sera piégée dans un minimum local, et
le codebook résultant sera peu performant.
• Une bonne estimation, pourrait être obtenue à partir de
l’estimation de la forme de la fonction de la densité de probabilité
de l’ensemble d’entrainement en utilisant un histogramme.
– L’idée est de pouvoir diviser l’histogramme en des zones égales et
choisir les niveaux de quantification comme les centres de chacun de
ces segments.
Audio Waveform Quantization 67
• First plot a 40-bin histogram of this speech signal using
hist(speech,40), and make an initial guess of the four optimal
quantization levels.
• Print out the histogram. Then use the lloyds function to compute an
optimal 4-level codebook using [Link] as the training set.
• Once the optimal codebook is obtained, use the codebook and
partition vectors to quantize the speech signal.
– This may be done with a for loop and if statements.
• Then compute the error signal and PSNR.
• On the histogram plot, mark where the optimal quantization levels
fall along the x-axis.
Audio Waveform Quantization 68
Audio Waveform Quantization 69
PSNR1 = 0.4177 &,PSNR1m = 5.5983
Audio Waveform Quantization 70
Audio Waveform Quantization 71
PSNR2 = 0.7633 & PSNR2m = 7.5103
Audio Waveform Quantization 72
• Compare the PSNR and sound quality of the
uniform- and Max-quantized signals.
• If the speech signal was uniformly distributed,
would the two quantizers be the same?
Explain your answer.
Audio Waveform Quantization 73
Quantification vectorielle
• En quantification scalaire, chaque sortie de la
source discrète dans le temps est quantifiée
séparément, puis encodée.
• Si on prend le cas d’un quantificateur à quatre
niveaux, on utilisera 2 bits par échantillon.
Techniques de Quantification 74
Quantification scalaire à quatre niveaux
Modern Communication Systems using MATLAB® (Proakis, Salehi, & Bauch). © 2013 Cengage Learning Engineering.
Techniques de Quantification 75
Quantification Vectorielle
• Si on considère deux
échantillons de la source
à chaque instant et qu’on
interprète ces deux
échantillons comme un
point dans un plan, le
quantificateur scalaire
partitionnera le plan Modern Communication Systems using MATLAB® (Proakis, Salehi, & Bauch). ©
2013 Cengage Learning Engineering.
entier en 16 régions de Quantification scalaire à quatre niveaux
quantification. appliquée à deux échantillons à la fois
Techniques de Quantification 76
Quantification Vectorielle
• Les régions dans cet espace à deux dimensions
sont de forme rectangulaire.
• Si on permet des régions de formes quelconques
dans l’espace à deux dimensions, on sera capable
d’obtenir de meilleurs résultats.
• Si on prend trois échantillons à la fois qu’on
essaie de quantifier l’espace à trois dimensions
en 64 régions, on aurait moins de distorsion avec
toujours le même nombre de bits par échantillon.
Techniques de Quantification 77
Quantification Vectorielle
• L’idée de la quantification vectorielle est de prendre
des blocs d’échantillons de longueur n à la sortie de la
source discrète, et de concevoir un quantificateur dans
l’espace euclidien à n dimensions.
• Supposons que les régions de quantification dans
l’espace à n dimensions sont dénotées par Ri, 1iK.
Ces K régions partitionnent l’espace en entier. Chaque
bloc à la sortie de la source, de longueur n, est dénoté
par xn, et si x Ri, il sera quantifié par Q(x)= 𝑥𝑖 .
Techniques de Quantification 78
Quantification Vectorielle
• Si n=2 avec K valeurs quantifiées, logK bits sont
suffisants pour représenter ces valeurs.
– Ceci veut dire qu’on utilise logK bits pour n
échantillons soit R=logK/n bits par échantillon
(K = 2(nR)).
• Le vecteur de quantification optimal de
dimension n et de K niveaux de quantification est
celui qui choisit les régions Ri et les valeurs
quantifiées 𝑥𝑖 tel que la distorsion résultante est
minimisée.
Techniques de Quantification 79
Vecteur de quantification à deux dimensions avec 3 bits par échantillons
(64 régions de quantification)
Modern Communication Systems using MATLAB® (Proakis, Salehi, & Bauch). © 2013 Cengage Learning Engineering.
Techniques de Quantification 80
Quantification Vectorielle
• En appliquant la même procédure que dans le cas
du quantificateur scalaire, on obtient les critères
suivants pour la conception d’un vecteur de
quantification optimal :
1. La Région Ri est l’ensemble des points dans l’espace à
n dimensions qui sont proches de 𝑥𝑖 que de tout
autre 𝑥𝑗 , pour tout ji.
2. 𝑥𝑖 est le centroide de la région Ri.
Techniques de Quantification 81
Quantification Vectorielle
• Une approche pratique pour concevoir des
quantificateurs vecteurs optimums est basée sur
la même approche que dans le cas scalaire.
• On commence à partir d’un ensemble donné de
régions de quantification, on dérive les vecteurs
quantifiés optimums pour ces régions utilisant le
critère 2, puis on répartie l’espace en utilisant le
premier critère et on recommence par des va-et-
vient jusqu’à ce que la distorsion devient
négligeable.
Techniques de Quantification 82
Quantification Vectorielle
• Lorsqu’au lieu de la fonction de densité de probabilité,
on dispose d’une longue séquence d’entrainement, une
méthode similaire est utilisée pour la conception de
quantificateurs vecteurs optimums appelée
l’algorithme de Lloyd généralisé, l’algorithme K-means,
ou l’algorithme LBG (Linde-Buzo-Gray).
• Soit la séquence d’entrainement {xi}i=1N, où xin.
L’algorithme LBG pour concevoir un quantificateur
vectoriel de dimension n avec K vecteurs de
quantification et un taux de R=logK/n peut être
résumé comme suit :
Techniques de Quantification 83
Quantification Vectorielle
1. Choisir K vecteurs de quantification
arbitraire, {𝑥𝑘 }k=1K, chacun de dimension n.
2. Partitionner les vecteurs dans la séquence
d’entrainement en sous-ensembles, {Rk}k=1K,
où chaque sous-ensemble est l’ensemble des
vecteurs d’entrainement qui sont les plus
proches de 𝑥𝑘 .
Techniques de Quantification 84
Quantification Vectorielle
3. Mettre à jour les vecteurs de quantification par
les centroïdes des Rk. En notant le nombre de
vecteurs d’entrainement dans Rk par |Rk|, on
trouve la mise à jour des vecteurs de
quantification par :
4. Calculer la distorsion. Si elle n’a pas changée
substantiellement de la dernière étape, s’arrêter
sinon aller à l’étape 2.
Techniques de Quantification 85
Simulation du vecteur de quantification pour une source Gaussienne avec
k=2 à des débits R = 0.5, 1, 1.5, 2, 2.5 et 3
Modern Communication Systems using MATLAB® (Proakis, Salehi, & Bauch). © 2013 Cengage Learning Engineering.
Techniques de Quantification 86
Simulation du vecteur de quantification pour une source Gauss-Markov
(=0.9) avec k= 2 à des débits R = 0.5, 1, 1.5, 2, et 2.5
Techniques de Quantification 87
Modern Communication Systems using MATLAB® (Proakis, Salehi, & Bauch). © 2013 Cengage Learning Engineering.
PLAN
• Introduction
• Modulation par impulsions codées - PCM
• Modulation par impulsions codées différentielle -
DPCM
– Modulation DPCM adaptative
• Modulation delta - DM
Techniques de Quantification 88
Modulation PCM différentielle
• Dans le système PCM, après avoir
échantillonné le signal information, chaque
échantillon est quantifié indépendamment en
utilisant un quantificateur scalaire sans tenir
compte de la corrélation éventuelle entre les
échantillons successifs.
– Ceci veut dire que les échantillons précédents
contiennent quelques informations sur le prochain
échantillon.
Techniques de Quantification 89
Modulation DPCM
• Dans sa forme la plus simple, système PCM différentiel
(DPCM), la différence entre deux échantillons adjacents est
quantifiée.
• Du fait que les échantillons adjacents sont très corrélés,
leurs différences possèdent de faibles variations :
– pour atteindre un certain niveau de performance, moins de
niveaux de quantification, soit moins de bits, sont nécessaires
pour les quantifier.
– le système DPCM peut atteindre des niveaux de performance à
un taux binaire moindre que dans le cas du PCM.
Techniques de Quantification 90
Un simple encodeur-décodeur DPCM
Modern Communication Systems using MATLAB® (Proakis, Salehi, & Bauch). © 2013 Cengage Learning Engineering.
Techniques de Quantification 99
Modulation DPCM
• L’entrée du quantificateur n’est pas Xn-Xn-1
mais plutôt Yn=Xn–𝒀′𝒏−𝟏 ,
– 𝒀′𝒏−𝟏 est très proche de Xn-1, ce choix permet de
prévenir l’accumulation du bruit de quantification.
• L’entrée du quantificateur, Yn, est quantifiée
par un quantificateur scalaire (uniforme ou
non) pour produire la sortie quantifiée 𝒀𝒏 .
Techniques de Quantification 100
Modulation DPCM
• En utilisant les relations : Yn=Xn–𝒀′𝒏−𝟏 et 𝒀′𝒏 =𝒀𝒏 + 𝒀′𝒏−𝟏
• L’erreur de quantification entre l’entrée et la sortie du
quantificateur est : 𝒀𝒏 -Yn = 𝒀𝒏 − Xn–𝒀′𝒏−𝟏 = 𝒀′𝒏 − Xn
• Du côté récepteur, nous avons : 𝑿𝒏 = 𝒀𝒏 + 𝑿𝒏−𝟏
Techniques de Quantification 101
Modulation DPCM
• Si les conditions initiales de 𝑿𝒏 et de 𝒀′𝒏 sont
choisies être les mêmes (𝒀′−𝟏 = 𝑿−𝟏 = 0), 𝑿𝒏 et
𝒀′𝒏 seront égales ; ainsi : 𝒀𝒏 − Yn = 𝑿𝒏 − Xn
• Un tel codage différentiel permet de réduire le
débit dans le cas d’un signal parole de 64kbps à
32kbps tout en maintenant les mêmes
performances.
Techniques de Quantification 102
Techniques de Quantification 103
Techniques de Quantification 104
Erreur de quantification du PCM uniforme N = 256 (SNRQ = 34.4dB)
Techniques de Quantification 105
Erreur de quantification du PCM à loi-µ N = 256 (SNRQ = 37.8dB)
Techniques de Quantification 106
Erreur de quantification utilisant le DPCM N = 256 (SNRQ = 52.8dB)
Techniques de Quantification 107
ADPCM
• En général, la puissance d’un signal vocal varie
doucement avec le temps.
• Les encodeurs PCM et DPCM sont conçus sur la
base que la puissance du signal vocal est
constante et le quantificateur est ainsi fixe.
• L’efficacité et la performance de ces encodeurs
peuvent être améliorées en les adaptant à la
variation lente de la puissance du signal vocal.
Techniques de Quantification 108
ADPCM
• Les quantificateurs adaptatifs peuvent être classifiés
en direct et à contre-réaction.
• Un quantificateur adaptatif direct ajuste son pas
pour chaque échantillon, basé sur la variance du
signal d’entrée.
• La variance estimée du signal
basée sur une l’estimateur
à fenêtre coulissante est:
• Le pas est :
Techniques de Quantification 109
ADPCM
• Dans ce cas, il est nécessaire de transmettre (n+1) vers le
décodeur afin de reconstruire le signal.
• Un quantificateur adaptatif à contre-réaction emploie la sortie
du quantificateur dans l’ajustement du pas. En particulier, on
peut mettre à jour le pas par:
– Où (n) dépend de la sortie du quantificateur précédente
– Dans l’exemple qui suit, un quantificateur à 3 bits ajuste récursivement
le pas par: (n+1) = M(n)(n) où M(n) est un facteur de multiplication
dont la valeur dépend du niveau de quantification de l’échantillon s(n),
et (n) est le pas utilisé pour le traitement de s(n).
Techniques de Quantification 110
Exemple de quantificateur avec un pas adaptatif
Techniques de Quantification 111
Facteurs de multiplication pour l’ajustement de la taille
du pas adaptatif
Techniques de Quantification 112
ADPCM
• Dans le cas DPCM, les coefficients du prédicteur
changent périodiquement pour refléter la variation
des statistiques du signal vocal.
• Les équations linéaires restent d’application, sauf
que la fonction d’auto-corrélation rss(m) de s(n)
change avec le temps.
Techniques de Quantification 113
Schéma bloc du standard ADPCM 32kbps
Techniques de Quantification 114
Interface ADPCM au système PCM
• L’encodeur ADPCM convertit le signal PCM 8 bits
compressé en un signal PCM 14 bits non compressé
pour produire un signal différence sur 4 bits.
Techniques de Quantification 115
• Le prédicteur adaptatif calcule une moyenne
pondérée des six dernières valeurs différences
déquantifiées et des deux dernières valeurs
prédites.
• Ce prédicteur est principalement un filtre à 2
pôles et 6 zéros gouverné par l’équation aux
différence
• Les coefficients sont mis à jour à chaque nouveau
échantillon.
Techniques de Quantification 116
PLAN
• Introduction
• Modulation par impulsions codées – PCM
• Modulation par impulsions codées différentielle -
DPCM
• Modulation Delta - DM
– Modulation delta adaptative
Techniques de Quantification 118
Modulation Delta
• La modulation delta (DM) est une version
simplifiée de la modulation DPCM.
• En modulation delta, le quantificateur est un
quantificateur à 1 bit (soit deux niveaux) avec
les amplitudes .
Techniques de Quantification 119
Modulation Delta
Modern Communication Systems using MATLAB® (Proakis, Salehi, & Bauch). © 2013 Cengage Learning Engineering.
Techniques de Quantification 123
Modulation Delta
• En modulation delta, un seul bit par échantillon est utilisé,
de telle sorte que l’erreur de quantification va être élevée
sauf si la portée dynamique de Yn est très faible.
– Ceci veut dire de l’autre côté que Xn et Xn-1 soient très corrélés
(possèdent un coefficient de corrélation très élevé).
• Pour obtenir un coefficient de corrélation très élevé entre
Xn et Xn-1, il faudrait échantillonner à des taux très élevés
par rapport au taux de Nyquist, mais vu qu’on n’utilise
qu’un bit par échantillon, le nombre total de bits par
seconde reste faible par rapport au cas du système PCM.
Techniques de Quantification 124
Modulation Delta
• Un avantage principal de la modulation delta est sa
structure très simplifiée. Du côté récepteur, la relation pour
reconstruire le signal est : 𝑿𝒏 = 𝒀𝒏 + 𝑿𝒏−𝟏
• En supposant des conditions initiales nulles,
on obtient : 𝑿𝒏 = 𝒏𝒊=𝟎 𝒀𝒊
– Ce qui veut dire qu’on peut obtenir 𝑿𝒏 par simple accumulation
des 𝒀𝒏 .
– Si les valeurs échantillonnées sont représentées par des
impulsions, l’accumulateur sera un simple intégrateur, ce qui
simplifie le schéma bloc du système DM.
Techniques de Quantification 125
Modulation delta avec intégrateurs
Modern Communication Systems using MATLAB® (Proakis, Salehi, & Bauch). © 2013 Cengage Learning Engineering.
Techniques de Quantification 126
Modulation Delta
• Le pas est un paramètre très important dans la
conception d’un système DM :
– de grandes valeurs de permettent au modulateur de
suivre les variations rapides du signal d’entrée, mais au
même moment elles causeront de grandes valeurs de
l’erreur de quantification (bruit granulaire) quand le signal
d’entrée varie très lentement.
Modern Communication Systems using MATLAB® (Proakis, Salehi, & Bauch). © 2013 Cengage Learning Engineering.
Techniques de Quantification 127
Modulation Delta
• Le pas est un paramètre très important dans la
conception d’un système DM :
– De faibles valeurs de ne permettent pas au modulateur
de suivre les variations rapides du signal d’entrée (ça prend
un temps important pour suivre la variation du signal)
donnant lieu à une erreur de quantification excessive
durant cette période (distorsion de surcharge de pente –
slope overload distortion).
Modern Communication Systems using MATLAB® (Proakis, Salehi, & Bauch). © 2013 Cengage Learning Engineering.
Techniques de Quantification 130
Modulation Delta Adaptative
• Une solution pratique pour remédier aux problèmes
rencontrés dans le système DM est de changer la
valeur du pas en fonction de la variation du signal
d’entrée:
– utiliser une valeur du pas élevée lors d’une variation rapide
du signal d’entrée pour éviter la distorsion de surcharge de
pente
– utiliser une petite valeur du pas lorsque la variation du
signal d’entrée est faible pour éviter le bruit granulaire.
Modern Communication Systems using MATLAB® (Proakis, Salehi, & Bauch). © 2013 Cengage Learning Engineering.
Techniques de Quantification 132
Modulation Delta Adaptative
• Pour changer de manière adaptative la valeur du pas, il
faudrait disposer d’un mécanisme qui permettrait de
reconnaitre et d’identifier les variations faibles et
rapides des pentes à l’entrée.
– Si la pente est faible, alors la sortie du quantificateur 𝒀 va
alterner entre et -, dans ce cas c’est le bruit granulaire
qui est la source principale d’erreur.
– Dans Le cas d’une surcharge de pente, la sortie ne peut
suivre la variation rapide du signal d’entrée et la sortie du
quantificateur sera une succession soit de ’s ou de -’s.
Techniques de Quantification 137
Modulation Delta Adaptative
• On peut voir que le signe de deux 𝒀𝒏 successifs est un bon critère
pour changer le pas. Si les deux sorties successives sont de même
signe, la valeur du pas doit être augmentée, si elles sont de signes
opposés, la valeur du pas doit être réduite.
• Une méthode de variation du pas est donnée : Δ𝑛 = Δ𝑛−1 𝐾 𝜖𝑛 ×𝜖𝑛−1
– Où n est la sortie du quantificateur avant multiplicateur par le pas et
K une constante supérieure à 1.
– Il a été montré que dans la plage de 20-60kbps, avec un K=1.5, la
performance du système DM adaptatif est de 5-10dB meilleur que
dans le cas non adaptatif lorsqu’on les applique à des sources de
parole.
Techniques de Quantification 138
Erreur de quantification dans les cas DM avec un taux 4 fois plus rapide
(SNRQ = 6.94dB) et DPCM 16 niveaux (SNRQ = 28.52dB)
Techniques de Quantification 139
Erreur de quantification dans les cas DM adaptatif (SNRQ = 13.2dB)
Techniques de Quantification 140