Modulation d'impulsion codée

Un article de Wikipédia, l'encyclopédie libre.
Aller à : navigation, rechercher
Cet article ne cite pas suffisamment ses sources (mai 2012).

Si vous disposez d'ouvrages ou d'articles de référence ou si vous connaissez des sites web de qualité traitant du thème abordé ici, merci de compléter l'article en donnant les références utiles à sa vérifiabilité et en les liant à la section « Notes et références » (modifier l'article, comment ajouter mes sources ?).

Page d'aide sur l'homonymie Pour les articles homonymes, voir PCM.

La modulation par impulsion et codage ou MIC, (en anglais Pulse Code Modulation), généralement abrégé en PCM est une représentation numérique d'un signal électrique résultant d'un processus de numérisation. Le signal est d'abord échantillonné, puis chaque échantillon est quantifié indépendamment des autres échantillons, et chacune des valeurs quantifiées est convertie en un code numérique[1].

La modulation par impulsion et codage est toujours la première phase de la numérisation d'un signal électrique analogique. Le traitement indépendant de chaque échantillon implique qu'il n'y a ni chiffrement, ni compression de données.

On trouve des fichiers de données MIC (PCM) bruts notamment dans les applications audio. Dans les télécommunications (RTC ou VoIP), ce sont des flux : on transmet les blocs d'échantillons à la file, sans préciser le début ni la fin. Dans les systèmes stéréophoniques ou multicanaux, les blocs d'échantillons correspondant à chaque canal sont multiplexés. Les fichiers WAV, AIFF et BWF indiquent dans leur en-tête le type de codage des données. Le plus souvent, les données audio sont des bouts (chunks) en modulation par impulsion et codage multiplexés échantillon par échantillon.

Généralités[modifier | modifier le code]

La représentation en modulation d'impulsion codée d'un signal se décompose en trois opérations : échantillonnage, quantification, codage.

Échantillonnage[modifier | modifier le code]

Article détaillé : Échantillonnage (signal).
Échantillonnage et quantification d'un signal analogique (en rouge) par un PCM sur 4 bits

L'échantillonnage consiste en une représentation d'un signal par un prélèvement de sa grandeur, généralement à intervalles de temps réguliers[2].

Le théorème d'échantillonnage de Nyquist-Shannon stipule que les fréquences plus hautes que la moitié de la fréquence d'échantillonnage ne peuvent pas être reconstruites. La fréquence d'échantillonnage se définit comme l'inverse de la durée entre deux échantillons successifs.

Quantification[modifier | modifier le code]

Article détaillé : Quantification (signal).

La quantification convertit une valeur prise dans un ensemble continu en une autre, correspondant à un nombre fini d'intervalles de valeurs possibles[3].

Dans les applications musicales, et quand le signal numérique doit être traité, la quantification est linéaire. Quelle que soit la finesse des intervalles, il y a toujours une différence entre la valeur analogique et la valeur quantifiée. Quand cette différence est supérieure au bruit de fond, elle est corrélée au signal et se perçoit comme une forme de distorsion. Pour l'éviter, on ajoute artificiellement du bruit au signal, dans un procédé connu surtout sous son nom anglais de dither.

En téléphonie, on utilise généralement des échelles logarithmiques, afin de réduire la quantité de données à transmettre. Le codage par défaut sur un DS0 est du 8 bits logarithmique à 8 kHz, soit du μ-law PCM (Amérique du Nord, Japon) ou du a-law PCM (Europe et la majeure partie du reste du monde). Ces systèmes quantifient le signal selon une courbe logarithmique, chaque échantillon linéaire sur 13 ou 14 bits étant requantifié à une valeur sur 8 bits. Ce système est décrit par la norme internationale G.711, qui est encore aujourd'hui la norme la plus utilisée en téléphonie fixe.

Codage[modifier | modifier le code]

Le codage fait correspondre à chaque intervalle de quantification un code unique[4]

Le plus souvent, ce code est un nombre binaire ; plusieurs types de code binaire sont d'usage courant, selon qu'on envisage le signal par rapport à la valeur extrême, sans signe, ou bien à sa valeur médiane, en positif ou en négatif, et dans ce cas, soit avec un bit de signe, soit en complément à 2n.

Tant pour la transmission des codes que pour leur enregistrement magnétique ou optique, il est préférable qu'il n'y ait pas de longues séquences de 1 ou de 0. Ces séquences rendent difficile la reconstitution d'un signal d'horloge à partir des transitions. Le codage dans lequel les codes faits entièrement de zéros ou de uns correspondent à des valeurs extrêmes sont de ce point de vue plus favorables en général en audio, ces valeurs se produisant rarement.

Si la composante continue du signal par modulation d'impulsion codée n'est pas nulle, elle risque de polariser les circuits d'un détecteur hors de sa plage de fonctionnement. Pour faire tendre la tension moyenne vers zéro, le codage peut équilibrer le nombre de 0 et de 1 dans chaque code d'échantillon.

La modulation d'impulsion peut ainsi utiliser le codage Manchester, qui évite les périodes à niveau constant au prix d'un doublement de la fréquence. Avec un peu plus d'économie, la modulation 8 bits sur 14 bits, utilisée dans le disque compact assure qu'il y a un nombre pair entre deux et dix de zéros par bloc de quatorze bits représentant chaque octet. Ces codages adaptés à l'enregistrement ou à la transmission des données se ramènent facilement à un tableau de valeurs binaires.

Télécommunications[modifier | modifier le code]

Compression des données[modifier | modifier le code]

Lorsque le coût des circuits est important et qu'une diminution de la qualité du son est envisageable, il peut s'avérer utile de comprimer le signal de parole. On utilise alors des méthodes basées sur la détection des corrélations entre les échantillons. Les procédés les plus anciens, utilisés en téléphonie, examinent uniquement le niveau du signal.

Si le codage considère plus d'un échantillon, il ne s'agit plus de Modulation d'Impulsion Codée (PCM).

Modulation delta

La modulation différentielle (ou delta) d'impulsion-code (DPCM), à l'inverse de la modulation linéaire LPCM, code les valeurs PCM comme différences entre la valeur courante et la valeur précédente[5]. Pour l'audio, ce type de codage réduit le nombre de bits exigé de 25 % environ par rapport au PCM[réf. souhaitée].

Adaptive Differential Pulse Code Modulation

Pour plus de réduction, au prix de plus de traitement, on utilise un algorithme d'ADPCM pour placer une série de 14 bits PCM linéaire (ou 8 bits en loi µ ou A) dans 4 bits ADPCM. Chaque section de signal PCM est transmise avec un en-tête qui indique la table de correspondance à utiliser. De cette façon, on double presque la capacité de la ligne. Le standard G.726 décrit les détails du procédé. Plus tard, quand on a constaté qu'on pouvait encore augmenter les taux de compression, des normes supplémentaires ont été publiées.

Certaines des techniques ADPCM sont utilisées dans des communications de voix sur réseau IP (VoIP)[réf. souhaitée].

Adaptative Multi Rate
Articles détaillés : Adaptive Multi Rate et G.722.2.

En téléphonie mobile, on utilise des codecs avec compression (AMR ou AMR-WB). Il n'y a pas de flux MIC/PCM entre les appareils.

Codage des données[modifier | modifier le code]

La modulation d'impulsion peut utiliser le codage RZ (retour à zéro) ou le codage NRZ (non retour à zéro). Pour qu'un système NRZ soit synchronisé, en utilisant seulement l'information émise, il ne doit pas y avoir de longues séquences de symboles identiques, comme de longues séquences de 1 ou de 0. Pour les systèmes binaires PCM, la densité des 1 est un critère important (ones-density en anglais).

On contrôle souvent cette densité à l'aide de techniques de pré-codage telles que le codage RLL (Run Length Limited). Le code PCM est étendu en un code légèrement plus long garantissant une limitation du nombre de 1 avant la modulation du signal et son envoi dans le canal de transmission. Dans d'autres cas, on ajoute des bits supplémentaires (de synchronisation) dans le flux, ce qui garantit d'avoir au moins quelques transitions entre les symboles.

Une autre technique employée pour contrôler la densité de 1 est l'utilisation d'un polynôme embrouilleur. Cela a tendance à transformer les données brutes en un flux pseudo-aléatoire. Cependant le flux de départ peut être totalement récupéré en inversant l'effet du polynôme. Quand on utilise cette technique, de longues séries de 1 ou de 0 peuvent encore exister, mais sont considérées assez peu probables pour pouvoir être négligées ou à tout le moins tolérées.

Il peut arriver que la composante continue du signal modulé (courant continu, ou courant moyen) ne soit pas nulle. Puisque cette composante continue risque de polariser les circuits d'un détecteur hors de sa plage de fonctionnement, on prend des mesures spéciales de compensation en temps réel et l'on modifie au besoin les codes émis pour faire tendre la tension moyenne vers zéro si nécessaire.

Plusieurs de ces codes sont des codes bipolaires, où les impulsions peuvent être positives, négatives ou nulles. Typiquement, les impulsions différentes de zéro alternent entre des tensions positives et négatives. On peut toutefois transgresser ces règles afin de produire des symboles spéciaux utilisés pour la synchronisation ou d'autres buts particuliers.

Histoire[modifier | modifier le code]

Le brevet de cette technologie a été déposé en 1937[réf. souhaitée]. La première transmission de parole par MIC a été réalisée avec l'équipement de codage de voix SIGSALY utilisé pour les communications alliées de haut niveau pendant la Seconde Guerre mondiale.

Voir aussi[modifier | modifier le code]

Bibliographie[modifier | modifier le code]

  • (en) John Watkinson, The MPEG Handbook, Focal Press,‎ , 2e éd., 435 p. (ISBN 9780-240-80578-8), p. 38-67.

Articles connexes[modifier | modifier le code]

Liens externes[modifier | modifier le code]

Notes et références[modifier | modifier le code]