108
N° d’ordre : 06/ SII /TCO Année universitaire : 2006-2007 UNIVERSITE D’ANTANANARIVO --------------------------- ECOLE SUPERIEURE POLYTECHNIQUE --------------------------- DEPARTEMENT TELECOMMUNICATION MEMOIRE DE FIN D’ETUDES en vue de l’obtention du DIPLOME d’INGENIEUR Spécialité : Télécommunications Option : Signaux - Images et Informations par : RATSIMBAZAFY Samoela Fitahianjanahary LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE CODAGE EN GPRS Soutenu le 11 Décembre 2007 devant la commission d’Examen composée de : Président : M. ANDRIAMIASY Zidora Examinateurs : M. RAMORASATA Joseph Raphaël M. RAKOTOMIRAHO Soloniaina M. RAZAFINDRADINA Henri Bruno Directeur de mémoire : M. RAKOTOMALALA Mamy Alain

LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

  • Upload
    others

  • View
    6

  • Download
    0

Embed Size (px)

Citation preview

Page 1: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

N° d’ordre : 06/ SII /TCO Année universitaire : 2006-2007

UNIVERSITE D’ANTANANARIVO

--------------------------- ECOLE SUPERIEURE POLYTECHNIQUE

--------------------------- DEPARTEMENT TELECOMMUNICATION

MEMOIRE DE FIN D’ETUDES

en vue de l’obtention

du DIPLOME d’INGENIEUR

Spécialité : Télécommunications

Option : Signaux - Images et Informations

par : RATSIMBAZAFY Samoela Fitahianjanahary

LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE CODAGE EN GPRS

Soutenu le 11 Décembre 2007 devant la commission d’Examen composée de : Président : M. ANDRIAMIASY Zidora Examinateurs :

M. RAMORASATA Joseph Raphaël

M. RAKOTOMIRAHO Soloniaina

M. RAZAFINDRADINA Henri Bruno

Directeur de mémoire :

M. RAKOTOMALALA Mamy Alain

Page 2: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …
Page 3: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

N° d’ordre : 06/ SII /TCO Année universitaire : 2006-2007

UNIVERSITE D’ANTANANARIVO

--------------------------- ECOLE SUPERIEURE POLYTECHNIQUE

--------------------------- DEPARTEMENT TELECOMMUNICATION

MEMOIRE DE FIN D’ETUDES

en vue de l’obtention

du DIPLOME d’INGENIEUR

Spécialité : Télécommunications

Option : Signaux - Images et Informations

par : RATSIMBAZAFY Samoela Fitahianjanahary

LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE CODAGE EN GPRS

Soutenu le 11 Décembre 2007 devant la commission d’Examen composée de : Président : M. ANDRIAMIASY Zidora Examinateurs :

M. RAMORASATA Joseph Raphaël

M. RAKOTOMIRAHO Soloniaina

M. RAZAFINDRADINA Henri Bruno

Directeur de mémoire :

M. RAKOTOMALALA Mamy Alain

Page 4: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

REMERCIEMENTS

Je rends grâce à Dieu pour sa bonté, de m’avoir donné la force et la santé durant la

réalisation de ce mémoire.

Je tiens également à adresser mes vifs remerciements aux personnes suivantes sans qui ce

travail de mémoire n’aurait pas pu être réalisé :

Monsieur RAMANANTSIZEHENA Pascal , Professeur, Directeur de l’Ecole Supérieure

Polytechnique d’Antananarivo;

Monsieur RANDRIAMITANTSOA Paul Auguste , Professeur, Chef du Département

Télécommunication à l’ESPA;

Monsieur ANDRIAMIASY Zidora, Maître de conférences, pour l’honneur qu’il me fait

en acceptant de présider le jury de ce mémoire ;

Monsieur RAKOTOMALALA Mamy Alain , Assistant, Enseignant-Chercheur au sein du

Département Télécommunication à l’ESPA, Directeur de ce mémoire qui malgré ses lourdes

responsabilités m’a toujours prodigué ses conseils. Je tiens à lui adresser toute ma gratitude ;

Monsieur, RAKOTOMIRAHO Soloniaina , Professeur, Enseignant-Chercheur au sein du

Département Electronique à l’ESPA, membre du Jury ;

Monsieur RAMORASATA Joseph Raphaël, Assistant, Enseignant-Chercheur au sein du

Département Télécommunication à l’ESPA, membre du Jury ;

Monsieur, RAZAFINDRADINA Henri Bruno , Assistant, Enseignant-Chercheur au sein

du Département Télécommunication à l’ESPA, membre du Jury ;

Je n’oublierai pas ma famille pour leurs soutiens bienveillants et leurs encouragements,

pour ce mémoire, comme en toutes circonstances.

Plus particulièrement, à mes parents pour leurs sacrifices durant ces longues années afin que je

puisse arriver a ce niveau et pour tous ceux qui ont contribué de près ou de loin a l’élaboration de

ce mémoire.

Page 5: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

AVANT PROPOS

Cette étude présente l’application du codage de source et codage de canal dans les réseaux

de téléphonie mobile. D’où le titre de ce mémoire : « LE CODAGE DE LA PAROLE EN GSM

ET LES SCHEMAS DE CODAGE EN GPRS ».

Le long de cet ouvrage, les différentes techniques utilisées pour faire le codage de la voix

seront mises en perspectives. Ensuite, les différents types de codage de canal proposés par le

réseau GPRS seront développés avant de terminer avec une simulation sous Matlab des différents

de codeur de parole.

Nous souhaiterons alors que ce projet vous apporterait quelques explications sur les

diverses techniques de compression de la parole utilisées dans le monde de télécommunication

numérique, et sur la théorie du codage de canal.

Page 6: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

i

TABLE DES MATIERES

TABLE DE MATIERES……………………………………………………………………........ .........i

NOTATIONS……………………………………………………………………………… …………...v

CHAPITRE 1: GENERALITES SUR LE CODAGE DE LA PAROLE……………………… …. 3

1.1. Bande d’audition ....................................................................................................................................... 3

1.2. Classification des méthodes de compression ............................................................................................. 3

1.2.1. Compression sans perte ......................................................................................................................... 3

1.2.2. Compression avec pertes ....................................................................................................................... 4

1.3. Bande passante du signal à coder ............................................................................................................. 4

1.3.1. Bande étroite .......................................................................................................................................... 4

1.3.2. Bande élargie .......................................................................................................................................... 5

1.3.3. Bande large ............................................................................................................................................. 5

1.4. Numérisation du son ................................................................................................................................. 5

1.4.1. Echantillonnage ...................................................................................................................................... 6

1.4.2. Quantification ........................................................................................................................................ 8

1.4.3. Codage .................................................................................................................................................... 8

1.5. La technique de Modulation par Impulsion et Codage (MIC) ................................................................ 8

1.5.1. Principe ................................................................................................................................................... 8

1.5.2. Problème avec codage MIC ................................................................................................................... 9

1.6. Techniques de codage ..............................................................................................................................10

1.6.1. Les codages temporels ......................................................................................................................... 10

1.6.1.1. Les codages MIC.......................................................................................................................................... 10

1.6.1.2. Les codages Differential Pulse Code Modulation (DPCM) et Adaptive DPCM (ADPCM) ...................... 11

1.6.2. Les codages paramétriques ................................................................................................................. 11

1.6.3. Les codages hybrides ........................................................................................................................... 12

1.7. Critères relatifs au codage .......................................................................................................................13

1.7.1. Débit de transmission .......................................................................................................................... 13

1.7.2. Qualité de la parole .............................................................................................................................. 13

1.7.3. Complexité de calcul et implémentation ............................................................................................ 14

1.7.4. Robustesse face aux erreurs ................................................................................................................ 15

1.7.5. Délai de codage ..................................................................................................................................... 15

CHAPITRE 2: LE CODAGE DE LA PAROLE DANS LE GSM…………………………… ….. 16

2.1. Introduction ................................................................................................................................................16

2.2. Nécessite du codage de parole dans le GSM ...........................................................................................16

2.3. Les différents types de codeurs de parole GSM .......................................................................................17

Page 7: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

ii

2.3.1. Codeur de parole Plein Débit ou Full Rate (FR) ............................................................................... 18

2.3.2. Codeur de parole demi-débit ou Half Rate (HR) .............................................................................. 18

2.3.3. Codeurs de parole Enhanced Full Rate (EFR) .................................................................................. 18

2.4. Compromis du codage source ..................................................................................................................18

2.5. Caractéristiques d’un signal vocal ...........................................................................................................19

2.5.1. Production de la voix ........................................................................................................................... 19

2.5.2. Sons voisés ou non voisés ..................................................................................................................... 20

2.5.3. Fréquence vocale .................................................................................................................................. 21

2.5.4. Les formants ......................................................................................................................................... 22

2.6. Segmentation du signal de parole ............................................................................................................22

2.7. Modélisation de la parole .........................................................................................................................23

2.8. Codage prédictif et modélisation du signal d’excitation .........................................................................24

2.8.1. Codage Prédictif Linéaire LPC .......................................................................................................... 24

2.8.1.1. Principe ........................................................................................................................................................ 24

2.8.1.2. Détermination des coefficients du filtre ...................................................................................................... 24

2.8.1.3. Codeur LPC à excitation par signal résiduel .............................................................................................. 26

2.8.2. Prédiction à long terme ....................................................................................................................... 27

2.8.2.1. Introduction ................................................................................................................................................. 27

2.8.2.2. Principe ........................................................................................................................................................ 27

2.8.2.3. Détermination de la valeur du pitch ............................................................................................................ 27

2.8.3. Signal d’excitation................................................................................................................................ 29

2.8.4. Le codeur LPC10e ............................................................................................................................... 29

2.9. Le codeur GSM FR ..................................................................................................................................31

2.9.1. Principe de base ................................................................................................................................... 31

2.9.2. La préaccentuation (pré-processing) .................................................................................................. 32

2.9.3. Analyse LPC ......................................................................................................................................... 33

2.9.3.1.Analyse à court terme ................................................................................................................................... 33

2.9.3.2. Détermination de coefficients LAR ............................................................................................................. 33

2.9.4. Analyse LTP ......................................................................................................................................... 34

2.9.5. Codage RPE ......................................................................................................................................... 35

2.9.6. Quantification ...................................................................................................................................... 35

2.9.7. Décodage ............................................................................................................................................... 38

2.9.7.1. Reconstruction du signal résiduel à court terme ........................................................................................ 38

2.9.7.2. Filtrage du signal résiduel ........................................................................................................................... 38

2.9.8. Comparaison du codeur RPE-LTP avec le codeur MIC .................................................................. 39

CHAPITRE 3: LES SCHEMAS DE CODAGE EN GPRS……………………………………… 40

3.1. Introduction ................................................................................................................................................40

3.2. Nécessité du GPRS ...................................................................................................................................40

3.3. Dépendance entre le réseau GSM et le réseau GPRS ..............................................................................41

Page 8: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

iii

3.4. Principales caractéristiques du GPRS .....................................................................................................42

3.5. Structure du réseau GPRS .......................................................................................................................42

3.6. Composants d’un réseau GPRS ...............................................................................................................43

3.6.1. Le sous-système de station de base (BSS) .......................................................................................... 43

3.6.2. Le SGSN ............................................................................................................................................... 44

3.6.3. Le GGSN............................................................................................................................................... 44

3.7. Pile protocolaire GPRS ............................................................................................................................44

3.7.1. Présentation .......................................................................................................................................... 44

3.7.2. Les couches de la pile protocolaire ..................................................................................................... 45

3.7.2.1. Couche physique .......................................................................................................................................... 45

3.7.2.2. Couche MAC................................................................................................................................................ 46

3.7.2.3. Couche LLC ................................................................................................................................................. 46

3.7.2.4. La couche SubNetwork Dependent Convergence Protocol (SNDCP)....................................................... 46

3.7.2.5. La couche Base Station System GPRS Protocol (BSSGP) ........................................................................ 46

3.7.2.6. La couche GTP ........................................................................................................................................... 46

3.8. Canal radio GPRS ....................................................................................................................................47

3.8.1. Time slot (TS) ....................................................................................................................................... 47

3.8.2. Transformations des paquets .............................................................................................................. 48

3.8.3. Le codage canal, une protection contre les erreurs ........................................................................... 49

3.9. Principes du codage canal .......................................................................................................................49

3.9.1. Codage convolutionnel ........................................................................................................................ 50

3.9.1.1. Principe ........................................................................................................................................................ 50

3.9.1.2. Caractéristiques d’un codeur convolutionnel ............................................................................................. 51

3.9.1.3. Capacité de correction d’un code convolutif ............................................................................................... 51

3.9.1.4. Avantage et inconvénient ............................................................................................................................. 51

3.9.1.5. Exemple........................................................................................................................................................ 52

3.9.2. Le poinçonnage .................................................................................................................................... 53

3.10. Les Schémas de Codage utilisés dans le système GPRS ........................................................................53

3.10.1. Principes ............................................................................................................................................. 53

3.10.2. Les caractéristiques du codage convolutionnel ............................................................................... 54

3.10.3. Schéma de Codage CS-1 .................................................................................................................... 55

3.10.4. Schéma de Codage CS-2 .................................................................................................................... 56

3.10.5. Schéma de codage CS-3 ..................................................................................................................... 57

3.10.6. Schéma de Codage CS-4 .................................................................................................................... 58

3.11. Choix du Schéma de Codage .................................................................................................................59

CHAPITRE 4: IMPLEMENTATION SOUS MATLAB DU CODEUR RPE-LTP………… …. 62

4.1. Introduction ................................................................................................................................................62

4.2. Fonctions spéciales utilisées dans notre simulation .................................................................................62

4.2.1. Wavread................................................................................................................................................ 62

Page 9: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

iv

4.2.2. Wavwrite .............................................................................................................................................. 63

4.2.3. Sound .................................................................................................................................................... 63

4.2.4. Filter ...................................................................................................................................................... 63

4.2.5. Uencode ................................................................................................................................................. 63

4.2.6. Udecode ................................................................................................................................................. 64

4.2.7. Levinson ................................................................................................................................................ 64

4.3. Présentation du logiciel ..............................................................................................................................64

4.3.1. Ecran de départ .................................................................................................................................... 64

4.3.2. Menu principal ..................................................................................................................................... 65

4.3.3. Fenêtre de simulation MIC ................................................................................................................. 65

4.3.4. Fenêtre de simulation du codeur paramétrique à deux sources ...................................................... 66

4.3.5. Fenêtre de simulation du codeur LPC excité par le signal résiduel................................................. 67

4.3.6. Fenêtre de simulation du codeur RPE-LTP ...................................................................................... 68

4.4. Manipulation du logiciel ............................................................................................................................69

4.4.1. Simulation MIC.................................................................................................................................... 69

4.4.2. Simulation du codeur paramétrique à deux sources......................................................................... 71

4.4.2.1. Signification des diverses champs de saisies ............................................................................................... 71

4.4.2.2. Manipulation ............................................................................................................................................... 71

4.4.3. Simulation du codeur LPC à excitation résiduel ............................................................................... 74

4.4.3.1. Signification des diverses champs de saisies ............................................................................................... 74

4.4.3.2. Manipulation ............................................................................................................................................... 74

4.4.4. Simulation du codeur RPE-LTP ......................................................................................................... 76

4.4.4.1. Principe ........................................................................................................................................................ 76

4.4.4.2. Les valeurs caractéristiques ......................................................................................................................... 76

4.4.4.3. Manipulation ............................................................................................................................................... 77

CONCLUSION GENERALE…………………………………………………………………………81

ANNEXE 1…………………………………………………………………………………………….82

ANNEXE 2.............................................................................................................................................84

ANNEXE 3…………………………………………………………………………………………….86

BIBLIOGRAPHIE...………………………………………………………………………........ ...........93

Page 10: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

v

NOTATION

ai : Coefficients du filtre LPC (Dénominateur)

e(n) : Erreur de résiduelle LPC

f : Erreur quadratique moyenne

i : Indice

p : Ordre du filtre

pi : Pitch

q : Pas de quantification

rss(k) : Fonction d’autocorrélation

s(n) : Signal segmenté en LPC

wk : Coefficient LSP

ACELP : Algebraic CELP

ADPCM : Adaptive DPCM

ATM : Asynchronous Transfert Mode Hierarchy

AUC : Authentification Center

A(z) : Inverse de H(z)

B : Bande passante

BCS : Bloc Check Sequence

BH : Bloc Header

BSC : Base Station Controller

BSS : Base Station Subsystem

BSSGP : Base Station System GPRS Protocol

BTS : Base Transceiver Station

CELP : Code Excited Linear Prediction

CRC : Cyclic Redundancy Check

CS : Coding Scheme

D : Débit

DPCM : Differential PCM

ELTP : Erreur résiduelle LTP

EFR : Enhanced FR

Page 11: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

vi

Fe : Fréquence d’échantillonnage

Fmax : Fréquence maximale du signal analogique

Fo : Fréquence fondamentale

FCS : Frame Check Sequence

FH : Frame Header

FR : Full Rate

G : Gain

GGSN : Gateway GPRS Support Nodes

GMM : GPRS Mobility Management

GPRS : General Packet Radio Service

GSM : Global System for Mobile Communications

GTP : GPRS Tunneling Protocol

HLR : Home Local Register

HR : Half Rate

H(z) : Fonction de transfert du filtre LPC

IP : Internet Protocol

ISDN : Integrated Services Digital Network

K : Eléments binaires présents à l’entrée du codeur convolutionnel

LAR : Log Area Ratio

LLC : Logical Link Control

LPC : Linear Prediction Coder

LSP : Line Spectre Pair

LTP : Long Term Prediction

MAC : Medium Access Control

MIC : Modulation par Impulsions et Codage

MOS : Mean Opinion Score

MPE : Multi-Pulse Excitation

MS : Mobile Station

MSC : Mobile Switching Center

N : Eléments binaires présents en sortie du codeur convolutionnel

PCU : Packet Control Unit

PH : Packet Header

Page 12: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

vii

PLL : Physical Link subLayer

P(z) : Fonction de transfert du filtre LTP

QoS : Quality of Service

R : Taux de codage (Rendement du code)

RAM : Random Access Memory

RFL : Radio Frequency subLayer

RLC : Radio Link Control

RNIS : Réseau Numérique à Integration de Service

RPE : Regular Pulse Excitation

RTC : Réseau Téléphonique Commuté

SGSN : Service GPRS Support Nodes

SM : Session Management

SNDCP : SubNetwork Dependent Convergence Protocol

S(t) : Signal original analogique

S*(t) : Signal échantillonné

Te : Période d’échantillonnage

TCP : Transmission Control Protocol

TDMA : Time Division Multiple Access

TS : Time slot

UDP : User Datagram Protocol

UIT : Union Internationale des Télécommunications

VLR : Visitor Location Register

VSELP : Vector Sum Excited Linear Prediction

: Gain LTP

: Impulsion de Dirac

: Mémoire d’état du codeur

: Polynômes générateur du codage convolutionnel

Ш(t) : Peigne de Dirac

Page 13: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

1

INTRODUCTION GENERALE

Les communications numériques présentent une grande diversité de caractéristiques, en

termes de nature des informations, de volumes des données, d’exigences en temps réel,

d’exigences en taux d’erreur, d’exigences en pertes d’information pour ne citer que les plus

importantes. Par ailleurs les canaux de transmission étant de capacité limitée et devant être

accessible au plus grand nombre d’utilisateurs, une compression importante du volume des

données est en général indispensable. Les techniques de compression ont beaucoup progressé

depuis une décennie, et continuent à progresser afin de prendre en compte toutes la diversité des

exigences citées plus haut. Selon la nature des informations véhiculées (texte, image fixe, image

animée, son, contenus mixtes, …) et également compte tenu de la nature du réseau de transport et

de la technologie d’accès les besoins ne sont pas les mêmes.

Sur les réseaux mobiles, en particulier le réseau Global System for Mobile

Communications (GSM), la voix est le service qui mobilise de loin le plus de trafic. La croissance

rapide du trafic sur le réseau GSM nécessite donc une technique permettant de réduire le volume

de l’information transitant sur les canaux : c’est le codage de la parole. Le but du codage de la

parole est donc d’assurer que les signaux vocaux à transmettre occupent le moins de bande

possible que cela ne soit au détriment de la qualité sonore.

Le codage de la parole consiste donc à comprimer le signal de parole avant de le

transmettre. Il réduit ainsi le nombre de bits requis pour sa présentation numérique, tout en gardant

un niveau de qualité acceptable à la sortie du décodeur. Il permet ainsi une meilleure exploitation

des ressources disponibles, tant au niveau utilisateur qu’au niveau réseau.

Mais une des principales caractéristiques des canaux radios tient au fait qu’ils peuvent

subir des grandes dégradations sans que cela soit visible. Et lorsque l’on dépasse un certain seuil,

la rupture est brutale et totale. Les canaux radios dégradent donc les informations émises. Ces

dégradations s’expliquent par plusieurs raisons : un signal de réception faible, des interférences

entre canaux correspondants, des distorsions résiduelles dues aux trajets multiples et des décalages

Doppler dus à la vitesse de l’usager. Pour protéger donc l’information, on adopte donc une

Page 14: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

2

technique qui permet d’assurer autant que possible une transmission sans erreurs : c’est le codage

de canal. Pour cela on rajoute de la redondance au signal.

L’objet du codage canal est de mettre en forme le message binaire à transmettre dans le

canal de manière à pouvoir détecter et éventuellement corriger les erreurs introduites lors de sa

transmission. Le principe est d’introduire une redondance dans le message issu du codeur source.

Une erreur de transmission sera détectée si une séquence interdite est reçue en sortie du canal.

Cette erreur pourra éventuellement être corrigée en recherchant la séquence admissible la plus

proche de la séquence reçue.

Ce mémoire qui s’intitule « LE CODAGE DE LA PAROLE EN GSM ET LES

SCHEMAS DE CODAGE EN GPRS » nous montre l’application du codage source dans le réseau

GSM mettant en évidence le codage de la parole, et nous permet de voir le cas pratique du

codage canal dans le réseau General Packet Radio Service (GPRS). En premier lieu, le principe du

codage de la parole sera expliqué. Ensuite, la technique utilisée pour faire le codage de la parole

dans le réseau GSM sera mise en évidence. Le troisième chapitre nous proposera les différents

types de codage canal utilisés dans le réseau GPRS. Le dernier chapitre nous montrera

l’implémentation sous Matlab du codeur de parole utilisé dans le réseau GSM. Ce mémoire

comprendra 4 chapitres :

• GENERALITES SUR LE CODAGE DE LA PAROLE : qui rappelle les différentes

techniques de compression de la parole ainsi que les classifications des méthodes de compression ;

• LE CODAGE DE LA PAROLE DANS GSM : expliquant le principe du codage de la

parole implémenté dans le réseau GSM ;

• LES SCHEMAS DE CODAGE EN GPRS : qui vise à montrer la différence et le point

commun existant entre les 4 schémas de codage (CS) utilisés dans le réseau GPRS ;

• IMPLEMENTATION SOUS MATLAB DU CODEUR REGULAR PULSE

EXCITATION-LONG TERM PREDICTION (RPE-LTP) : consistant à simuler le codeur RPE-

LTP vu dans le deuxième chapitre en utilisant le logiciel MATLAB version « 7 ».

Page 15: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

3

CHAPITRE 1: GENERALITES SUR LE CODAGE DE LA PAROLE

L’accroissement des demandes au niveau des réseaux de communications numériques a

provoqué d’importantes recherches. Des méthodes de traitements du signal sont apparues dans le

but de réduire le nombre de bits nécessaires à la représentation du signal de parole et à la

transmission des informations tout en maintenant un niveau de qualité suffisant et une complexité.

Le but du codage de la parole est de transformer un signal vocal en général analogique, en

un signal numérique d’un débit et d’une qualité donnés. Le débit binaire du signal numérisé est

alors égal au produit de la fréquence d’échantillonnage par le nombre d’éléments binaires

nécessaire à la représentation de toutes les valeurs discrètes du signal. Pour réduire ce débit, des

algorithmes vont permettre de supprimer les redondances inutiles du signal.

1.1. Bande d’audition [1]

L’oreille ne peut pas percevoir que certains sons. La bande d’audition est comprise entre

les fréquences 20 Hz et 20000 Hz. En pratique une telle largeur de bande n’est conservée que pour

un codage de très haute fidélité.

Selon la nature du signal à coder, on filtre le signal en sélectionnant soit la bande

téléphonique, suffisante pour la parole, soit une bande plus large pour traiter des sons plus

complexes.

1.2. Classification des méthodes de compression [2] [3] [4]

Il existe deux types de compression

• La compression sans perte

• La compression avec perte

1.2.1. Compression sans perte

Dans le cas de la compression sans perte, le signal décodé est identique au signal original.

L’avantage de cette technique est qu’il n’introduit aucune perte de qualité même après plusieurs

étapes de codage décodage. Les méthodes utilisées dans ce type de compression procèdent

Page 16: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

4

seulement à une réduction de la redondance. A cause du critère de fidélité strict, le codage ne peut

pas réduire le débit autant que les codeurs avec pertes. La compression sans perte a donc des

performances de compression limitées.

1.2.2. Compression avec pertes

Elle engendre une perte ou une altération de l’information. Le signal de parole reconstruit

étant donc dégradé par rapport à l’original. Elle consiste dans un premier temps à supprimer, par

filtrage, toutes les fréquences que l’oreille ne peut pas entendre, puis à procéder à la réduction de

redondance.

Suite à la suppression d’information, il n’est plus possible de reconstituer le signal original

avec exactitude. Le signal reconstruit ne pourra plus reprendre donc sa qualité originale. Il y a eu

suppression de l’information de manière irréversible. Ce type de compression possède des

performances de compression importantes.

1.3. Bande passante du signal à coder [1] [5] [6]

1.3.1. Bande étroite

La bande étroite ou la bande téléphonique correspond à la plage de fréquences 300Hz-

3400Hz. Cette bande est utilisée par la téléphonie et concerne essentiellement les signaux de

parole. Elle permet de garantir la conservation de l’intelligibilité du langage ainsi les paramètres

propres au locuteur.

Une transmission de parole en bande étroite est en mesure de communiquer fidèlement les

phénomènes voisés et de donner une impression de bruit pour les phénomènes non voisés.

L’intelligibilité correspond à la possibilité d’établir un sens au message transmis avec

l’ensemble des phénomènes du message.

Mais la bande étroite ne permet pas de transmettre l’intégralité des fréquences présentes

dans un signal de parole. Par exemple, il est très difficile de différencier un « s » d’un « f »

prononcé seul, lors d’une conversation téléphonique.

Page 17: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

5

1.3.2. Bande élargie

La transmission en bande élargie correspond à l’élargissement de la bande passante utilisée

pour la transmission du signal de parole. En effet, la bande passante utilisée en téléphonie va de

300Hz à 3400Hz, or la bande élargie permet la transmission de la voix de 50Hz jusqu’à 7000Hz.

La compression de la parole en bande élargie permet une importante amélioration de la qualité, en

particulier au niveau de la restitution des composantes vocales graves et aigues de sorte que la

netteté de la parole, son caractère naturel et son intelligibilité sont considérablement améliorés par

rapport à la compression de la parole en bande étroite.

1.3.3. Bande large

La bande large appelée aussi bande High-Fidelity (Hi-Fi) occupe la plage de fréquences

20Hz - 20KHz. Cette bande est utilisée dans les systèmes permettant de transmettre le son avec

haute fidélité. Les codeurs de musique utilisent cette bande de fréquence car cette dernière

permet de transmettre les composantes basses fréquences et les hautes fréquences constituantes la

musique. La figure 1.01 résume les différentes bandes de fréquences utilisées dans le codage de la

parole.

Figure 1.01 : Bande de fréquence audio (Hz)

1.4. Numérisation du son [7] [8] [9] [10] [11]

Le principe de la numérisation reste identique quel que soit la nature du signal d’origine

(audio, vidéo, …). La numérisation des signaux s’explique pour plusieurs raisons. De fait, un

ordinateur travaille exclusivement avec les données numériques. En outre, on traitera plus

facilement des signaux numériques. Grâce aux processeurs de traitement de signal modernes,

traiter un signal numérique est aussi facile. Enfin, pour le stockage et la reproduction, les signaux

Page 18: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

6

numériques offrent une meilleure résistance au bruit, ce qui ne se traduit pas une augmentation du

rapport signal à bruit. Ainsi, il est plus facile de régénérer un signal numérique d’un signal

analogique.

La numérisation du signal audio analogique est la première étape dans l’opération de

codage numérique du son. Elle s’effectue en trois étapes :

• échantillonnage

• quantification

• codage

Ainsi la figure 1.02 résume les différentes étapes pour faire la numérisation d’un signa analogique.

Figure 1.02 : Numérisation d’un signal parole

1.4.1. Echantillonnage

Il consiste à prélever, à des instants précis, les valeurs prises par le signal audio. On obtient

ainsi un ensemble de valeurs discrètes. Les prélèvements se font généralement à des intervalles de

temps constants. Cet intervalle de temps est alors appelé période d’échantillonnage et est souvent

noté Te. Son inverse Fe est appelé fréquence d’échantillonnage. A la sortie de l’échantillonneur,

on a le signal :

)()()( ∑+∞

−∞=

∗ −=n

nTettStS δ (1.01)

Où Te : Période d’échantillonnage

S(t) : Signal original

δ(t) : Impulsion de Dirac

Page 19: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

7

).(.1

)(.1

).()(* tSTe

nTe

t

TetStS

n

=−= ∑+∞

−∞=

δ Ш )1

(Te (1.02)

Où Ш (t) la peigne de Dirac

Figure 1.03: Phase d’échantillonnage

D’après le théorème de Shannon, la fréquence d’échantillonnage assurant un non

repliement de spectre doit être supérieure ou égale à deux fois de la fréquence maximale maxF du

signal analogique.

max2FFe ≥ (1.03)

Pour le signal audio qui est caractérisé par un spectre s’étalant de 20 Hz à 20 kHz,

nécessitant une fréquence d’échantillonnage supérieure à 40 kHz. La réduction de cette bande,

notamment dans le cas signal de parole, autorise l’utilisation d’une fréquence d’échantillonnage

réduite comme indique le tableau suivant :

Spectre du signal Fréquence d’échantillonnage

Bande téléphonique [300 ; 3400 Hz] 8 kHz

Bande élargie [50 ; 7000 Hz] 16 kHz-22 kHz

Bande large [20 ; 20000 Hz] 44,1 kHz -48 kHz

Tableau 1.01 : Valeurs standards de fréquences d’échantillonnages

Page 20: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

8

1.4.2. Quantification

Elle est effectuée à la suite de l’échantillonnage et consiste à faire une approximation des

valeurs des échantillons par des nombres choisis dans un ensemble fini. La gamme dynamique du

signal d’entrée est décomposée en q intervalles juxtaposés. Toutes les valeurs d’une plage d’entrée

k donne une même sortie x(k).

La quantification introduit une perte d’information. C’est pour cela qu’on dit que tous les

codeurs du signal de parole et audio font partie de codeur avec pertes. Du fait de la perte

d’information introduite par la quantification, il est nécessaire d’évaluer sa performance. Cela se

fait en calculant le rapport signal sur bruit. Le bruit étant la différence entre le signal quantifié et le

signal original.

La quantification est donc une opération consistant à représenter les amplitudes des

échantillons par une valeur choisie parmi un ensemble fini. Outre la nécessité de la quantification

pour numériser les données, elle est aussi un moyen de compression.

La quantification se décline en 3 variantes : la quantification scalaire, la quantification

prédictive et la quantification vectorielle.

1.4.3. Codage

Le codage est la dernière opération pour numériser un signal après la quantification des

échantillons. Il attribue une valeur numérique à un échantillon. L’information change de nature, la

grandeur physique devient une valeur logique. Avec la technique numérique, un système

transporte les éléments binaires constituants le signal numérisé et non plus les variations

d’amplitude d’un signal.

1.5. La technique de Modulation par Impulsion et Codage (MIC) [7] [12]

1.5.1. Principe

C’est l’algorithme de codage utilisé pour coder la voix dans le réseau téléphonique

commuté (RTC) et le réseau numérique à intégration de service (RNIS). Ce système de codage

correspond à la norme G.711 de l’union international de télécommunication (UIT).

Page 21: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

9

La bande de fréquence utilisée dans ce type de codage est la bande étroite. On applique

donc au signal de parole de départ un filtre passe- bande qui restreint l’espace de fréquence

attribué à la transmission du signal sur cette liaison.

Etant donné la bande de fréquence utilisée dans le codage MIC, on échantillonne le signal

analogique à la fréquence d’échantillonnage kHzFe 8= . Le théorème de Shannon est donc bien

respecté.

La quantification des échantillons est faite par une valeur de 8 bits. Le débit binaire sera

donc 64 Kbits/s.

Etant donné que la numérisation assigne un nombre binaire spécifique à chaque amplitude

du signal, et qu’il n’existe que 256 amplitudes pour la numérisation à 8 bits, il est probable que le

nombre assigné ne correspond pas exactement à la valeur réelle du signal. Ce qui provoque donc

une dégradation du signal après la numérisation.

1.5.2. Problème avec codage MIC

La transmission numérique nécessite plus de bande passante que celle de la transmission

analogique. D’après la formule de Shannon, le débit maximal Dmax possible que l’on peut émettre

sur une bande passante B est donné par la formule suivante :

)1(log. 2max B

SBD += (1.04)

avec B

S rapport signal sur bruit.

Pour la voix humaine, la fréquence minimale HzF 300min = et la fréquence maximale

HzF 3400max = donc KHzFFB 31003003400minmax =−=−= et soit un milieu dont le rapport

10=B

SdB, donc

sKbitsD /10)101(log3100 2max ≈+×=

Page 22: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

10

Il faut donc comprimer le débit 64 Kbits/s du codage MIC à une valeur autour de 10Kbits/s

pour rendre égal la transmission analogique du point de vue bande passante sinon la qualité de la

voix sera affectée.

Vu le nombre croissant des utilisateurs de bande radio surtout dans la téléphonie mobile,

réduire la bande passante s’avère donc une importance capitale afin d’accroître la capacité du

système.

1.6. Techniques de codage [5] [12]

De nombreux travaux relatifs aux algorithmes de codage tendent à maximiser le

compromis entre l’efficacité, le coût et la transmission des systèmes de communication en

fonction des débits disponibles. Les techniques de codage numérique adaptent donc leur débit de

transmission aux capacités de canal.

Les algorithmes de codage de parole peuvent être divisés en 3 classes distinctes :

• Les codages temporels ou formes d’onde

• Les codages paramétriques

• Les codages hybrides

1.6.1. Les codages temporels

Les codages temporels utilisent des techniques de codage qui cherchent avant tout à

préserver l’allure temporelle ou la forme d’onde du signal de parole. Le signal reconstruit avec ce

type de codage converge vers le signal original. La qualité du signal synthétisé obtenue est

excellente pour un débit relativement élevé.

Selon la méthode de quantification utilisée, nous pouvons distinguer deux types de

codage : le codage MIC simple et le codage différentiel.

1.6.1.1. Les codages MIC

C’est l’algorithme de codage utilisé pour coder la voix dans le réseau RTC et le réseau

RNIS. Ces types de codage qui reposent exclusivement sur le théorème d’échantillonnage de

Shannon et une quantification, sont apparus dans les années 60. Comme nous l’avons déjà vu, ces

types de codage reviennent à échantillonner le signal de parole à une fréquence d’échantillonnage

Page 23: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

11

8 kHz et opérer une quantification sur 8 bits du signal de parole dans la bande de fréquence 300

et 3400 Hz. Ce système de codage correspond à la norme G.711 de l’UIT et à un débit de

64 Kbits/s. Il est à noter qu’il n’y a pas de compression pour ces types de codage

1.6.1.1. Les codages Differential Pulse Code Modulation (DPCM) et Adaptive DPCM (ADPCM)

Le codage DPCM utilise la technique du codage MIC, mais au lieu de coder les

échantillons eux-mêmes, on encode la différence entre un échantillon et une prédiction de celui-ci,

ce qui nécessite un plus petit nombre de bits. Généralement, la prédiction de l’échantillon est

simplement la valeur précédemment prise. Il existe des variantes de codage DPCM permettant des

débits binaires de 16,24 et 40 Kbits/s, mais la qualité de parole se dégrade très vite quand le débit

chute à 16 Kbits/s.

Le codage ADPCM est une amélioration du DPCM. Ce type de codage code les

échantillons de manière différentielle avec une composante estimée par extrapolation des valeurs

intervenues précédemment. Cette technique émerge au début des années 80 et permet de réduire le

débit considérablement par rapport au codage MIC sans détériorer la qualité de parole. ADPCM

est la technique la plus utilisée aujourd’hui pour la compression de la parole. Elle offre un débit

allant de 16 Kbits/s à 40 Kbits/s, avec une bonne qualité.

1.6.2. Les codages paramétriques

Ces types de codage, basés sur des connaissances théoriques de production de parole, vont

permettre des transmissions à moyen et bas débit, c’est-à-dire de débit compris entre 5 et

16 Kbits/s. La technique paramétrique consiste à modéliser sous forme simplifiée à l’aide des

paramètres les plus pertinents du signal de parole à la source, et de les transmettre sous forme

numérique au récepteur qui se charge de reconstituer un signal proche du signal initial. Cette

technique ne conserve pas la forme temporelle du signal. Les performances des codeurs

paramétriques, également connus sous le nom de vocodeurs dépendent de la précision des

modèles de production de parole. Ces codeurs ont été conçus pour des applications à bas débit et

sont principalement prévus pour maintenir l’intelligibilité du signal vocal.

La plupart des codeurs paramétriques sont basés sur le codage prédictif linéaire ou Linear

Prediction Coder: LPC, détaillé plus tard dans le chapitre suivant. La qualité de cette classe de

codeurs est limitée par la reconstruction synthétique du signal. Cependant, ces codeurs

Page 24: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

12

fournissent, à faibles débits, des performances supérieures à celles des codeurs temporels. Un

codage efficace peut être actuellement réalisé à des débits inférieurs à 2 Kbits/s avec des

vocodeurs basés sur l’analyse LPC.

La figure 1.04 nous compare la performance du codeur temporel et celle du codeur

paramétrique.

Figure 1.04 : Performances des codeurs temporels et paramétriques

1.6.3. Les codages hybrides

L’utilisation des techniques temporelles conduit à une excellente qualité de parole mais

induit un débit assez élevé. La fréquence d’échantillonnage étant fixée, la réduction de débit des

codeurs temporels fait chuter rapidement la qualité d’écoute pour des débits inférieurs à 16Kbits/s.

Une meilleure qualité pourra être observée pour des vocodeurs jusqu’à des débits de 4 Kbits/s.

Mais ses applications restent réduites à cause d’une complexité accrue. Les codeurs hybrident

utilisent de façon complémentaire les avantages des méthodes temporelle et paramétrique, ce qui

permet un codage de parole de bonne qualité à débits moyens. Ces codeurs sont basés sur des

techniques de codage temporel auxquelles des modèles de production de parole sont associés pour

améliorer leur efficacité. Cependant, ce type de codage nécessitera des coûts de calculs plus

importants. Tous les codeurs hybrides s’appuient, eux aussi, sur analyse LPC pour obtenir les

Page 25: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

13

modèles de synthèse de parole. Les deux techniques paramétrique et temporelle modélisent

respectivement le conduit vocal et le signal d’erreur résiduel. En 1982, Atal et Remde utilisent le

principe d’analyse par synthèse et modélisent le signal d’erreur à partir d’excitations multi-

impulsionnelle. Ce n’est qu’en 1985, qu’Atal et Schroeder définissent le codeur Code Excited

Linear Prediction (CELP), qui détermine une forme d’onde optimale du signal d’erreur en utilisant

l’analyse par synthèse.

Le codeur RPE-LTP utilisé dans le réseau GSM fait partie de la famille du codeur

paramétrique.

1.7. Critères relatifs au codage [5] [13]

Des différents critères sont couramment utilisés pour juger et classer les méthodes de

codage. Une liste non exhaustive d’attributs, considérés dans tout système de codage de parole, est

présentée par la suite. D’autres critères peuvent être importants, selon le type d’applications, tels

que la détection d’activité de parole ou la reconnaissance vocale.

1.7.1. Débit de transmission

Le débit de transmission détermine le nombre de bits par seconde alloué au codeur pour la

représentation de l’information. L’objectif d’un algorithme de codage est de réduire ce débit en

maintenant la bonne qualité du signal. La largeur de bande disponible dans le système de

communication détermine la limite supérieure du débit envisageable du codeur de parole. Lors de

la conception d’un système de codage, un choix sera effectué parmi les codeurs à débit de

transmission fixe ou variable.

1.7.2. Qualité de la parole

Une considération importante dans tout codage de parole est la qualité du signal

reconstruit. Les recherches sur les différents types de codage essaient toujours de trouver un bon

compromis entre la qualité du signal de parole restitué et le débit de transmission. Pour un débit

fixé, le critère de qualité pourra alors être employé pour évaluer un système de codage. Deux types

de mesures, objective et subjective, peuvent permettre l’évaluation de la qualité de la parole.

• La qualité de restitution peut être déterminée par des tests d’écoute du signal de la parole,

codé et décodé dans les conditions désirées, où des auditeurs jugeront, subjectivement, de

Page 26: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

14

la qualité globale et de l’intelligibilité de la parole. Pour ce genre d’étude, un grand nombre

de personnes est nécessaire pour effectuer une analyse statistique de leur opinion moyenne.

La note moyenne d’opinion appelée Mean Opinion Score (MOS) est établie de manière

standardisée suivant cinq catégories :

Note Qualité de parole

1 Mauvais

2 Médiocre

3 Moyen assez bon

4 Bon

5 Excellent

Tableau 1.02 : la qualité de parole en MOS

• Les mesures objectives utilisent des fonctions ou des critères mathématiques pour

comparer les formes d’onde codées et originales telles que des mesures de distorsion ou de

gain. Certaines mesures donnent des informations utiles selon le type de codage testé.

Idéalement, les mesures objectives recoupent les résultats obtenus par notre perception

subjective de la parole. Toutefois, les tests subjectifs et objectifs peuvent produire des

résultats légèrement différents.

1.7.3. Complexité de calcul et implémentation

Baisser le débit de transmission en maintenant une bonne qualité du signal se fait

généralement au détriment de la complexité des algorithmes mis en place. Dans toutes les

applications de codage et décodage de la parole, une exécution temps réels sur Digital Signal

Processing (DSP) est exigée. Ces processeurs étant limités au niveau de leur mémoire Random

Access Memory (RAM) et de leur vitesse : Million d’Instruction Par Seconde (MIPS), les

algorithmes de codage ne doivent pas être trop complexes et leurs exigences ne doivent pas

dépasser les capacités des DSP. Jusqu’à la fin des années 80, beaucoup d’algorithmes de codage

de parole n’étaient pas implantables en temps réel, à cause du manque de DSP suffisamment

Page 27: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

15

puissant. Ces processeurs existent maintenant, toutefois beaucoup d’algorithmes poussent déjà

leurs possibilités à la limite. De plus, la réduction de la complexité des algorithmes de codage

permet une consommation d’énergie inférieure. La recherche d’algorithmes efficaces de faible

complexité est une activité très importante pour réduire les besoins en puissance et les coûts

d’implantation.

1.7.4. Robustesse face aux erreurs

Dans certaines applications, la robustesse au bruit de fond et ou aux distorsions de canal est

essentielle. Un codeur de parole devra maintenir ses performances malgré un environnement

bruyant. Le bruit de fond entraînant une plus ou moins grande distorsion de la parole, les

techniques de traitement de signal employées pour extraire les paramètres de modélisation

peuvent échouer lorsque le niveau de bruit est élevé. Différentes stratégies devront alors être

utilisées dans les algorithmes de codage pour compenser les erreurs possibles dues au bruit et

conserver la qualité du signal reconstruit.

1.7.5. Délai de codage

Le délai de codage est très important dans les transmissions en temps réel. Le délai global est

engendré par le temps de traitement du codage et du décodage mais aussi par le délai de

transmission qui dépend du canal utilisé et les différents temps d’attente liés à l’application

choisie. De ce temps de restitution du signal dépendra la qualité d’écoute de la communication.

Page 28: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

16

CHAPITRE 2: LE CODAGE DE LA PAROLE DANS LE GSM

2.1. Introduction

Contrairement aux techniques utilisées par le codage MIC qui permet d’obtenir une

excellente qualité de signal reconstruit, mais a généralement un taux de compression associé

faible, une autre technique radicalement différente fait son apparition se reposant sur un modèle

de production de parole et permettant de réduire considérablement le débit.

Pour coder le signal de parole, cette technique utilise des filtres plus quelques autres

composants pour synthétiser le signal de parole. Les paramètres de la synthèse sont alors codés

pour la transmission.

Les codeurs exploitant cette technique permettent d’obtenir une bonne qualité de signal

reconstruit avec un taux de compression élevé.

Pour le réseau GSM, la norme retenue pour le codage de parole part de cette approche.

2.2. Nécessite du codage de parole dans le GSM [14] [15]

Etant donné le nombre des utilisateurs de bande radio qui ne cesse d’augmenter, en

particulier dans la téléphonie mobile, le codage MIC est donc non économique. De plus, il est

nécessaire de prévoir des bits supplémentaires pour le codage du canal afin de protéger les

informations contre les erreurs.

Dans le cas du GSM, on a choisi d’échantillonner le signal vocal à 8 KHz et de coder sur

13 bits, ce qui nous donne un débit de base de 104 Kbits/s.

Ce débit sera pratiquement doublé suite à l’introduction indispensable de :

• codes correcteurs d’erreurs permettant de réparer à l’arrivée les erreurs de transmission qui

ont pu s’introduire à la suite d’aléas de propagation ou de parasites.

• algorithmes de cryptage assurant une certaine confidentialité des communications

Sachant qu’un mobile partage le canal avec 7 autres mobiles, le signal numérique doit

subir une compression temporelle, ce qui a pour conséquence un débit 8 fois plus grand soit

environ 1,66Mbits/s.

Page 29: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

17

Une porteuse modulée par un signal numérique de débit D occupe au minimum une bande

de largeur D, ce qui déborde très largement du canal attribué à une liaison GSM qui a une largeur

de 200 KHz.

La figure 2.01 montre la bande passante occupée par un signal de parole ne subissant pas

une compression.

Figure 2.01: Emission du signal non traité conduit à un encombrement spectral excessif

C’est la raison pour laquelle on a développé pour le GSM des systèmes de codage de la

voix particulier permettant de réduire le débit de base de 104 Kbits/s à un débit ayant une valeur

inférieure à 16 Kbits/s : c’est le rôle du vocodeur ou codec.

2.3. Les différents types de codeurs de parole GSM [16]

Les codeurs de parole compriment le signal de parole avant de le transmettre, ils réduisent

ainsi le nombre de bits requis pour sa représentation numérique, tout en gardant un niveau de

qualité acceptable à la sortie du décodeur. Ils permettent ainsi une meilleure exploitation des

ressources disponibles, tant au niveau utilisateur qu’au niveau réseau.

Les codeurs temporels comme le codeur MIC, DPCM, et ADPCM sont des codeurs qui

permettent d’avoir un signal reconstruit ayant une bonne qualité. Mais pour un débit inférieur à

16Kbits/s, le signal de parole reconstruit à partir de ces codeurs dégrade très vite. Il est utile de

chercher une autre technique permettant d’avoir un signal de parole qui possède un débit inférieur

à 16 Kbits et une qualité plus proche à celle obtenue avec les codeurs temporels.

De nombreux algorithmes de codage ont été normalisés depuis quelques années pour les

systèmes de communication afin d’optimiser l’utilisation des ressources radio. On retient

notamment le GSM plein débit, demi-débit et le GSM plein débit amélioré. Ces codeurs disposent

donc d’un signal de parole en entrée codé sur 13 bits, à une fréquence d’échantillonnage de

Page 30: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

18

8KHz. Le codage s’effectue paquet par paquet. Nous allons définir ces principaux codeurs de

parole selon leur ordre d’apparition.

2.3.1. Codeur de parole Plein Débit ou Full Rate (FR)

Le codeur plein débit à été standardisé en 1988. Il appartient à la classe des codeurs de

prédiction linéaire RPE-LTP.

A l’entrée du codeur, une trame de 160 échantillons est encodée en bloc de 260 bits à un

débit de 13 Kbits/s. Le décodeur ordonne les séquences de 260 bits en bloc de 160 échantillons.

Le canal GSM plein débit peut supporter un trafic de 22,8 Kbits/s.

2.3.2. Codeur de parole demi-débit ou Half Rate (HR)

Le codeur demi-débit a été établi afin de contrer l’augmentation du nombre d’utilisateurs.

C’est un codeur VSELP standardisé en 1995 par Motorola et ayant un débit de 5,6 Kbits/s. Le

canal supporte un trafic de 11,4 Kbits/s conformément au fait de doubler la capacité du système.

Ainsi, 5,8 Kbits/s sont utilisés en gestion d’erreurs. Le niveau de qualité du signal de parole en

sortie est comparable au codeur plein débit.

2.3.3. Codeurs de parole Enhanced Full Rate (EFR)

Ce codeur plein débit amélioré fut standardisé en 1996 par Nokia dans l’intention de

proposer une alternative au codeur plein débit. Il apporte une certaine amélioration de la qualité

par rapport aux codeurs FR et HR. Le codeur EFR utilise 12,2 Kbits/s pour le codage de la parole

et 10,6 Kbits/s pour la gestion d’erreur. Le codage de la parole suit un modèle ACELP.

2.4. Compromis du codage source [17]

On a déjà vu que la réduction du débit binaire entraîne, le plus souvent, une distorsion avec

le signal reconstruit. Le premier compromis auquel le codeur source doit satisfaire est donc un

compromis entre le débit et distorsion. Cependant d’autres critères interviennent également dans

ce compromis. Ainsi, comme toutes les communications radiomobiles, les principales contraintes

pour le codeur de parole dans le réseau GSM sont les suivantes :

Page 31: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

19

• Débit binaire faible, c’est-à-dire inférieur à 16 Kbits/s afin de minimiser l’occupation

spectrale. L’efficacité spectrale est en effet primordiale en raison des restrictions sur le

plan des fréquences radio.

• Qualité subjective de la parole le plus proche possible de la qualité téléphonique standard.

• Délai faible afin de permettre une communication 2 voies.

• Robustesse aux erreurs de transmission, ce qui est particulièrement important pour les

transmissions radiomobiles qui introduisent des erreurs paquets.

Ces contraintes ont orientés le choix pour le réseau GSM vers ces 3 familles de codeurs

prédictifs. Dans cette section nous n’allons aborder que le codeur de parole FR. Avant d’aborder

précisément ce codeur, nous étudions l’élément clé sur lequel il est basé, c’est-à-dire la

modélisation par prédiction linéaire.

2.5. Caractéristiques d’un signal vocal [5]

En raison des caractéristiques du conduit vocal humain, le signal de parole est fortement

redondant. Ces redondances permettent aux algorithmes de codage de comprimer le signal en

enlevant l’information non pertinente contenue dans le signal. La connaissance du système vocal

et des propriétés du signal de parole sont essentielles pour concevoir des codeurs efficaces. Les

propriétés du système auditif humain peuvent également être exploitées pour améliorer la qualité

perceptuelle du signal codé.

Avant d’aborder plus précisément dans le principe du codage de parole, quelques

caractéristiques du signal vocal sont présentées.

2.5.1. Production de la voix

Le signal vocal est engendré par l’appareil phonatoire avant d’être émis puis détecté par un

auditeur. A la perception, l’oreille analyse ce signal et transmet au cerveau les informations

nécessaires à son interprétation. La figure 2.02 présente le système vocal qui se compose d’une

soufflerie constituée par le poumon et le conduit trachéo-bronchique, du larynx et du conduit

vocal formé par le pharynx ainsi que les cavités buccales et nasales. La parole est généralement

produite par expiration de l’air à travers la glotte et le conduit vocal. L’air venant des poumons est

modulé par vibrations des cordes vocales et par déformation du conduit. Ce système phonatoire

permet le processus de production de la parole qui comporte trois étapes principales :

Page 32: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

20

• La génération d’une énergie ventilatoire qui mettra en mouvement oscillatoire les cordes

vocales.

• Les vibrations des cordes vocales qui donneront naissance à des sons voisés.

• L’articulatoire qui sera réalisée dans les cavités supra-glottiques formées par le conduit

vocal et les fosses nasales.

Figure 2.02 : Système phonatoire

Le signal de parole étant un signal réel, continu, d’énergie finie et non stationnaire, les

caractéristiques du signal de parole et du conduit vocal évoluent dans le temps. Les positions du

système phonatoire agissent comme une opération de filtrage, en augmentant certaines fréquences

tout en atténuant d’autres. Ces composantes son déplacées pour former différents bruits.

2.5.2. Sons voisés ou non voisés

La parole est composée de vague de pression acoustique crées par le flux d’air, qui

provient des poumons, à travers le conduit vocal. Les cordes vocales dans le larynx se ferment

quasi-périodiquement pour interrompre ce flux. Malgré sa structure complexe, un signal de parole

non stationnaire, tantôt périodique, tantôt aléatoire voire impulsionnel, peut être répertorié, par

simplification, par sa périodicité et son énergie. Une décomposition simplifiée d’un signal de

parole fait ressortir deux types de sons, voisé ou non voisés.

Page 33: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

21

• Les sons voisés, tels que des voyelles, sont produits par le passage de l’air des poumons à

travers la trachée qui met en vibration les cordes vocales. Ce mode, qui représente 80% du

temps de phonation, est caractérisé en général par une quasi-périodicité et une énergie

élevée.

• Les sons non voisés, comme des consonnes, sont obtenus par resserrement du conduit

vocal, et sont habituellement d’énergie inférieure aux sons voisés. Les cordes vocales sont

écartées et n’entrent pas en vibration. Les consonnes sont un exemple de son non voisé,

apériodique. Ces sons sont considérés comme ayant les mêmes caractéristiques que le

bruit.

La figure 2.03 montre les représentations spectrales de sons voisé ou non. Les formants

sont plus marqués dans la représentation du son voisé alors que le spectre du son non voisé est

beaucoup plus plat.

Figure 2.03: Différence de spectre entre des sons voisé et non voisé

2.5.3. Fréquence vocale

La figure 2.04 représente dans le domaine temporel une trame de parole voisée, prononcée

par un homme, échantillonnée à 8 kHz. Ce signal a été filtré par un filtre passe-bande

[300,3400] Hz, avant échantillonnage.

Page 34: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

22

Figure 2.04: exemple d’un signal de parole voisée

On peut remarquer une certaine périodicité dans le signal due à la vibration des cordes

vocales sous l’effet du passage de l’air à travers la glotte. Leur fréquence de vibration est appelée

fréquence fondamentale F0 ou hauteur de voix. Le nombre pi d’échantillons, appelé pitch,

contenus dans l’intervalle entre deux écartements successifs des cordes vocales, peut être exprimé

par :

o

ei F

Fp = (2.01)

Où Fe est la fréquence d’échantillonnage. La fréquence fondamentale varie en fonction de

chaque individu. En général, la variation s’étend de 80 à 200 Hz pour une voix masculine, de 150

à 450 Hz pour une voix féminine et de 200 à 600Hz pour une voix d’enfant.

2.5.4. Les formants

Le flux laryngé étant modulé par un résonateur pharyngo-buccal, le conduit modifie la

distribution de l’énergie du spectre de la source vocale et présente plusieurs fréquences de

résonance. Il en résulte plusieurs zones de fréquences renforcées appelées formants. Les formants

correspondent donc aux piques dans l’amplitude spectrale dus aux résonances du conduit vocal.

2.6. Segmentation du signal de parole [5]

Les caractéristiques du filtre du conduit vocal et de la parole évoluent avec le temps, un

signal vocal est non stationnaire. Or les caractéristiques spectrales du signal de parole doivent

évoluer très peu pendant l’analyse. Le signal étant généralement considéré comme quasi-

stationnaire sur de faibles périodes comprises entre 5 et 20 ms, une segmentation est effectuée par

Page 35: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

23

déplacement d’une fenêtre d’analyse sur signal numérisé. Chaque segment de parole

échantillonnée est appelé trame.

2.7. Modélisation de la parole [5]

Pour réduire le débit tout en conservant une qualité suffisante ou pour améliorer la qualité

pour un débit imposé, il faut chercher les paramètres pertinents qui constituent le signal de parole.

Pour cela un modèle simplifié du système phonatoire ne retenant que les paramètres les plus

significatifs du signal est recherché. Dans une grande majorité de codeurs, la production de parole

est modélisée par une opération de filtrage, où une source sonore excite un filtre censé représenter

le conduit vocal. Physiologiquement la source et le filtre ne sont pas séparés. Cependant, ils seront

considérés comme tels lors de l’analyse des signaux de parole. Une modélisation précise du

conduit vocal et de la source d’excitation est nécessaire pour produire respectivement un signal

intelligible et naturel. Des études menées dans le but de définir un modèle produisant un signal

proche du signal de parole ont permis de décrire un modèle de production linéaire.

Figure 2.05: Synthèse de parole à 2 états d’excitation

Un signal d’excitation et la modélisation du conduit vocal permettent donc de caractériser

la génération de la voix. Le modèle du conduit vocal H(z) est excité par un signal glottal discret

U(z) pour produire un signal de parole S(z) :

S (z)=H (z)U (z) (2.02)

La figure 2.05 nous montre que le signal est modélisé par la sortie d’un filtre excité par un

train d’impulsions périodiques pour les sons voisés et un bruit blanc pour les sons non voisés .

Page 36: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

24

2.8. Codage prédictif et modélisation du signal d’excitation [17] [18] [19] [20] [21] [22]

2.8.1. Codage Prédictif Linéaire LPC

2.8.1.1. Principe

Comme nous l’avons vu, un signal de parole réel est produit par le passage, à travers le

filtre que constitue notre conduit vocal, d’un signal d’excitation crée par les poumons et les

cordes vocales, ce même signal de parole peut être modélisé par le passage d’un signal

d’excitation numérique à travers un filtre numérique récursif. Le signal d’excitation sera tantôt

une suite d’impulsions numérique qui serviront à simuler les impulsions de débit créées par les

cordes vocales, tantôt un bruit numérique qui reproduira le souffle poussé par les poumons.

Au lieu de transmettre alors le signal réel de parole, on transmet les paramètres du modèle

LPC. Ces paramètres sont tout simplement :

• la période du train d’impulsions pour les sons voisés seulement

• le type d’excitation, voisé ou non

• le gain ou la sonorité

• les coefficients du filtre

2.8.1.2. Détermination des coefficients du filtre

2.8.1.2.1. Méthode d’autocorrélation

Le filtre LPC est donné par

p

p zazazazA −−− ++++

=....1

1)(

22

11

(2.03)

L’ordre p du filtre est généralement choisi de façon à représenter un formant par une paire

de pôles. En effet, le formant caractérise l’intelligibilité du son. La parole présente trois ou quatre

formants dans la bande téléphonique [300-3400] Hz qui sont importants soit pour la synthèse de la

parole soit par la perception. Il est nécessaire donc que la valeur du paramètre p soit supérieure ou

égale à 8.

Page 37: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

25

Dans notre cas de calcul, prenons p =10, s(n) est donc prédit à partir de s(n-1),s(n-2),

s(n-3),s(n-4),s(n-5),s(n-6),s(n-7),s(n-8),s(n-9) et s(n-10).

L’erreur de prédiction e(n) est donnée par :

)()()(10

1

insansnei

i −−= ∑=

(2.04)

Les 10 paramètres LPC(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10) s’obtiennent en minimisant

l’erreur quadratique moyenne :

)(1 1

0

2 neN

fN

n∑

=

= (2.05)

Où N est le nombre d’échantillons de la parole dans une trame

En utilisant le calcul de standard, nous prendrons les dérivées de f rapport à ai et l’égaliser à 0.

Nous avons maintenant 10 équations linéaires à 10 inconnus :

=

10

3

2

1

.

..

)0(...)7()8()9(

.......

.......

)7(...)0()1()2(

)8(...)1()0()1(

)9(...)2()1()0(

)10(

.

.

.

)2(

)1(

a

a

a

a

rrrr

rrrr

rrrr

rrrr

r

r

r

ssssssss

ssssssss

ssssssss

ssssssss

ss

ss

ss

La matrice qu’on a est une matrice de Toelpitz, c’est-à-dire que la matrice est symétrique

et tous les éléments de la diagonale sont égaux. Cette matrice s’inverse facilement. On obtient

ainsi les coefficients ia :

=

)10(

.

.

)3(

)2(

)1(

.

)0(...)7()8()9(

.......

.......

)7(...)0()1()2(

)8(...)1()0()1(

)9(...)2()1()0(

.

.

1

10

3

2

1

ss

ss

ss

ss

ssssssss

ssssssss

ssssssss

ssssssss

r

r

r

r

rrrr

rrrr

rrrr

rrrr

a

a

a

a

(2.06)

Page 38: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

26

Où :

∑−−

=

+=1

0

)()(1

)(mn

nss nsmns

Nkr (2.07)

)(krss est la fonction d’autocorrélation de la suite s(n).

Les coefficients ia obtenus sont les coefficients de la fonction de transfert du filtre LPC.

Ces coefficients sont appelés aussi : coefficients de réflexion.

2.8.1.2.2. Autres méthodes

D’autres méthodes existent pour le calcul des coefficients du filtre. Les deux principales

sont la méthode de la covariance et la méthode de Burg. Ces méthodes utilisent des principes

légèrement différents de ceux utilisés dans la méthode par autocorrélation. Néanmoins toutes ces

méthodes utilisent la méthode des moindres carrés pour déterminer les coefficients du filtre. C’est

à partir de ce point que la méthode de calcul change.

2.8.1.3. Codeur LPC à excitation par signal résiduel

Après avoir calculé les coefficients ia du filtre LPC, on peut trouver la valeur de e(n) à

partir de l’équation (2.4). e(n) est dite « prédiction résiduelle » ou « signal d’erreur résiduel». Elle

représente la partie de la parole qui n’a pas été prédite par la combinaison linéaire des précédents

échantillons.

Pour le codeur LPC à excitation par signal résiduel, le signal d’erreur résiduel e(n) est

transmis au récepteur pour exciter le filtre de synthèse LPC. On ne cherche pas donc à modéliser

l’erreur en un train d’impulsion ou en un bruit blanc, on transmet ce signal d’erreur intégralement.

On peut alors gagner de la place par rapport au signal de départ en codant le signal d’erreur sur

beaucoup moins de bits que le signal de départ. Les paramètres à transmettre pour chaque trame

sont donc les coefficients de réflexion et le signal résiduel. En général, le signal d’erreur est codé

chacun sur 2 bits seulement. Cet algorithme à excitation par résiduel permet d’obtenir un taux de

compression de 8, ce qui est respectable.

Page 39: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

27

2.8.2. Prédiction à long terme

2.8.2.1. Introduction

Lors de l’analyse LPC, le filtre enlève les redondances des échantillons proches du signal

de parole. Cependant, les trames de parole voisée contiennent une corrélation qui reste présente

dans le signal résiduel à court terme. Nous savons bien aussi que les segments voisés étant les plus

importants pour la perception globale d’un signal de parole. Dans ce cas, le signal de parole

reconstruit garde une qualité mécanique. Le signal d’excitation demandera donc une évaluation

plus précise pour obtenir une parole synthétisée plus naturelle. Pour palier à cette lacune, la

plupart des codeurs combinent la prédiction à court terme avec la prédiction à long terme qui

prendra en compte la corrélation entre les échantillons éloignés.

2.8.2.2. Principe

La mise en œuvre d’une prédiction à long terme LTP, lors d’un codage par prédiction

linéaire, est un moyen efficace de représenter la périodicité du signal de parole. Cette analyse n’a

pas d’effet sur des trames de parole non voisée qui n’ont pas de structure harmonique. En effet,

elle a pour but de modéliser les vibrations des cordes vocales produisant les sons voisés qui

possèdent des corrélations à long terme et se traduisent au niveau du signal de parole par une

fréquence fondamentale Fo, représentée par un nombre d’échantillons pi, appelé pitch

(relation 2.1). La modélisation de la corrélation à long terme du signal e (n) est similaire à celle

employée à court terme de la parole s(n). Cette fois le signal d’entrée à analyser est désormais le

résidu de prédiction à court terme e(n).

2.8.2.3. Détermination de la valeur du pitch

L’estimation du pitch est un des problèmes les plus difficiles de l’analyse de la parole. Elle

est également un des plus importants, car l’oreille est plus sensible aux changements de fréquence

Fo qu’à n’importe quel autre paramètre. Le pitch modélise la période fondamentale du signal et

représente le nombre d’échantillons de retard qu’il est nécessaire de prendre pour retrouver une

portion de signal similaire. La redondance à long terme peut être modélisée en utilisant un filtre

linéaire P(z) du premier ordre.

Le filtre d’analyse de pitch est donné par :

Page 40: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

28

ipzzP −−= β1)( (2.08)

Où β est le coefficient de prédiction et ip le délai du prédicteur. Le délai ip correspond au pitch

estimé et β indique le niveau de voisement associé. Ils s’obtiennent en minimisant l’erreur de

prédiction :

(2.09)

Où )(new est le résidu de prédiction à court-terme e(n), pondéré par une fenêtre d’analyse. En

dérivant LTPE par rapport àβ , on obtient :

∑∞

∞−

∞−

−=

)(

)()()(

2iw

iww

i

pne

pnenepβ

(2.10)

Puis on remplace β par sa nouvelle valeur pour calculer ip :

∑∑ ∞

∞−

∞−∞

∞− −

−−=

)(

)()(

)()(2

2

2

iw

iww

wiLTP

pne

pnene

nepE

(2.11)

On considère souvent comme constant le numérateur de cette expression. L’estimation du

délai ip se limite alors à la recherche du maximum de l’autocorrélation de )(new . En pratique, le

pitch de la parole n’est pas forcément un multiple de la période d’échantillonnage. On utilise alors

un délai ip avec une résolution fractionnaire, en le décomposant en une composante entière et une

composante fractionnelle.

Le gain β peut être très élevé, ce qui rend instable le schéma en boucle ouverte. Aussi, le

prédicteur )(zP est toujours implanté en boucle fermée. Le critère d’erreur doit donc être modifié

pour intégrer le signal d’excitation reconstruit )(ˆ ne :

[ ]2

)()(∑∞

∞−

−−= iwwLTP pneneE β

Page 41: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

29

[ ]2

)(ˆ)(∑∞

∞−

−−= iwwLTP pneneE β (2.12)

Les paramètres du prédicteur à long-terme P(z) sont généralement estimés sur des sous-

trames de 5ms, c’est-à-dire 40 échantillons à 8kHz. Une motivation du calcul par sous-trames vient

du critère d’erreur quadratique moyenne utilisé, ce critère est mal adapté au pitch puisqu’une

faible variation du pitch peut se traduire par une variance très forte de l’erreur.

2.8.3. Signal d’excitation

Comme nous l’avons déjà vu, on peut modéliser le conduit vocal sous la forme d’un filtre

linéaire à laquelle on applique le signal d’entrée qui n’est autre que le signal d’excitation, généré

par les cordes vocales ou bien dans le cas des sons non voisés par un bruit. La modélisation de ce

signal d’excitation est un domaine qui fait l’objet de nombreuses recherches et c’est le plus

souvent par leur modélisation de l’excitation que les codeurs qui sont basés sur la prédiction

linéaire LPC se différencient. Il faut souligner aussi que la parole reconstituée dépend

considérablement sur la méthode dont on modélise le signal d’excitation. Différentes techniques

efficaces ont été proposées pour représenter le signal d’excitation comme par exemple, le codage

Multi Pulse Excitation (MPE) ou Regular Pulse Excitation (RPE) qui fournit à la parole une

bonne qualité avec une complexité raisonnable pour un débit autour de 10 Kbits/s. Dans ce

codage, les impulsions peuvent prendre des amplitudes et être situées à des positions arbitraires.

La forme d’onde d’excitation est obtenue en optimisant les positions et les amplitudes d’un

nombre fixe d’impulsions par trame. Pour le codeur de parole utilisé par le GSM, il combine la

méthode RPE et LTP pour modéliser le signal d’excitation.

2.8.4. Le codeur LPC10e

Le codeur LPC10e est une norme fédérale basée sur la prédiction linéaire. Elle décrit un

algorithme qui rend un discours intelligible avec un débit à 2,4kbits/s. Dans ce type de codeur,

les coefficients du filtre d’analyse LPC sont au nombre de 10.

Après la détermination de coefficients du filtre, on détermine si le signal résiduel issu du

filtre LPC est de type voisé ou non voisé.

Page 42: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

30

En plus des coefficients du filtre, au lieu de transmettre l’intégralité du signal d’erreur sur

le canal, on peut ne transmettre que les paramètres du modèle voisé ou non voisé. Du fait de cette

classification du signal d’erreur, en deux catégories très simples, il est possible de modéliser celui-

ci avec très peu d’informations, pour pouvoir le reconstituer après transmission et garder une

qualité respectable. Un gain G est à transmettre avec les paramètres cités ci-dessus

Ces paramètres sont calculés une fois par trame ayant une durée de 20ms, il y a donc 50

trames par seconde.

Une fois le pitch, le gain et les coefficients calculés pour chaque trame, on les quantifie et

les transmet sur le canal de manière à ce qu’ils prennent le moins de place possible.

Pour le codeur LPC10e, les paramètres à transmettre sont quantifiés comme suit :

Paramètres Notation de paramètre Nombre de bits

LPC ak 34

Gain G 7

Voisé/non voisé & période V/UV, pi 7

Total 48

Tableau 2.01: Nombres de bits attribués à chaque paramètre

Le débit pour ce type de codeur est donc égale à :

sbitsms

bitsD /2400

20

48 ==

(2.13)

Si on compare la bande passante occupée par le signal comprimé à celle du signal original

ayant un débit 64 Kbits/s, le gain en bande passante est concluant. Le taux de compression est

donc : 26,7.

Les 34 bits utilisés pour les paramètres LPC sont attribués comme suit :

Page 43: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

31

LPC Nombre de bits

w1 3

w2 4

w3 4

w4 4

w5 4

w6 3

w7 3

w8 3

w9 3

w10 3

Total 34

Tableau 2.02: Nombres de bit attribués pour les paramètres LPC

A partir des paramètres transmis, on peut ensuite reconstituer très simplement le signal

vocal. Selon que le son est voisé ou non, on génère un train d’impulsion à la fréquence du pitch

que l’on multiplie par le gain ou un bruit blanc. La source ainsi formée traverse ensuite le filtre

LPC pour reconstituer finalement le signal vocal de départ. Notons que le résultat obtenu avec ce

type de codeur n’est pas meilleur que celui obtenu par le codeur à excitation par signal résiduel.

2.9. Le codeur GSM FR [5] [14] [17] [20] [23] [24] [25] [26]

2.9.1. Principe de base

Ce codeur est régi par la recommandation GSM 06.10. Il est du type RPE-LTP. Lorsqu’on

parle dans le microphone d’un mobile GSM, ce codeur découpe la voix numérisée en tranches de

durée 20 ms appelées trames, soit 160 échantillons codés sur 13 bits avec une fréquence

d’échantillonnage 8 KHz. Pour chacune de ces trames de signal, il modélise le conduit vocal sous

la forme de filtres numériques en cascade : filtre d’analyse à court terme et filtre d’analyse à long

terme caractérisés chacun par leur algorithme, et détermine le signal d’excitation RPE défini par

son amplitude et sa fréquence qu’il faut mettre à l’entrée des filtres précédents pour reconstituer le

signal de parole. Le codeur va donc remplacer les échantillons du signal vocal par les paramètres

Page 44: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

32

des 2 filtres et du signal d’excitation, et ce sont les paramètres qui seront transmis à travers le

canal de transmission.

A chaque trame de 20ms correspond à 260 bits à la sortie du codeur, soit un débit de

13Kbits/s. Le codeur GSM FR est donc assez performant puisqu’il permet de conserver une

qualité satisfaisante du message vocal en réduisant par un facteur 8 la quantité de données binaires

nécessaires à la transmission de ce message.

La figure 2.06 illustre les étapes effectuées par le codeur RPE-LTP pour effectuer le

codage de la parole :

Figure 2.06: Schéma du codeur RPE-LTP

2.9.2. La préaccentuation (pré-processing)

Il serait plus logique de parler de la préaccentuation avant de parler de l’analyse LPC

puisqu’elle la précède.

La préaccentuation consiste à faire passer les tranches signal dans un filtre passe haut du

premier ordre, de transmittance :

Page 45: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

33

Le but de cette opération est de diminuer l’influence des basses fréquences du signal et, par là,

d’augmenter la précision de l’analyse LPC. En effet, ce filtrage va diminuer la hauteur relative

entre les formants et le reste du spectre, il va « aplatir » le spectre. Cela permet au filtre LPC

d’avoir une réponse en fréquence qui collera mieux à l’enveloppe du spectre puisque les variations

entre les spectres sont moindres.

2.9.3. Analyse LPC

2.9.3.1. Analyse à court terme

La fonction de transfert du filtre LPC du codeur RPE-LTP est de l’ordre 8. Sa fonction de

transfert a donc la forme suivante :

Ces 8 coefficients sont obtenus par la méthode d’autocorrélation (Cf. 2.8.1.2.1). Ils sont calculés

toutes les trames de parole de 20 ms constituées de 160 échantillons. Après avoir déterminé ces

coefficients de réflexion, ceux-ci sont transformés en coefficients LAR et puis quantifiés sur 36

bits.

2.9.3.2. Détermination de coefficients LAR

Les coefficients de réflexion modélisent aux mieux le conduit vocal. Leur valeur absolue

est choisie inférieure à l’unité pour que la condition de stabilité du filtre de prédiction soit toujours

respectée. Des travaux montrent que les coefficients proche de bornes -1 et +1 sont les plus

importants. Ces coefficients doivent être quantifiés finement pour tenir compte du fait que la

réponse en fréquence du filtre devient très sensible à la moindre erreur. Cette observation a

conduit à adopter l’échelle LAR définie par :

−+

=m

m

a

amLAR

1

1log)( (2.16)

Où am est le m-ième coefficient de réflexion du filtre LPC.

Page 46: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

34

Les coefficients LAR sont donc utilisés pour représenter les coefficients de réflexion pour

la transmission à travers le canal. Ce changement d’échelle améliore nettement l’intelligibilité du

signal décodé car ils sont moins sensibles à la quantification linéaire que les coefficients LPC.

Les coefficients LAR peuvent être reconvertis en coefficients de réflexion par l’équation

suivante :

)(

)(

1

1mLAR

mLAR

me

ea

−+= (2.17)

Ces coefficients LAR sont ceux utilisés par le codeur GSM RPE-LTP.

2.9.4. Analyse LTP

L’algorithme de prédiction à long terme travaille sur des sous-trames de 5ms constitués de

40 échantillons de signal résiduel issu de la prédiction à court terme. Elle consiste donc à trouver

une ressemblance entre la sous-trame courante et les 3 sous-trames passées. Le décalage temporel

entre la séquence courante et les séquences passées est calculé par corrélation. Ce décalage est

appelé pitch. Le pitch modélise alors la période fondamentale du signal et représente le nombre

d’échantillons de retard qu’il est nécessaire de prendre pour retrouver une portion du signal

similaire. La prédiction LTP symbolise ainsi la mémoire du système. Comme nous l’avons déjà

vu, l’analyse LTP peut être modélisée en utilisant un filtre linéaire du premier ordre. Dans le

domaine temporel, le filtre d’analyse LTP soustrait un échantillon de parole retardé d’un délai

estimé à partir des échantillons de la trame courante. Dans le domaine fréquentiel, il enlève la

structure harmonique du signal d’entrée. Le signal résiduel fourni par ce filtre a pour expression :

)()()( ires pnsnsne −−= β (2.18)

Le pitch pi et le gain β à appliquer pour retrouver le signal sont donc les deux

paramètres de prédiction à long terme. Le gain est calculé par la division de la corrélation

maximale par l’énergie du signal résiduel reconstitué.

Page 47: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

35

2.9.5. Codage RPE

Le codage RPE est la technique utilisée pour coder le signal résiduel issu du filtre LTP.

Cette technique consiste à diviser la trame de 160 échantillons composant le signal résiduel en 4

sous-trames constituées de 40 échantillons chacune. Chaque sous-trame est décomposée à son

tour en 3 « tracks » dont leurs contenues sont entrelacées comme suit :

• Le premier « track » contient les {1, 4,7,…, 37,40)-ième échantillons

• Le deuxième « track » contient les {2, 5,8,…, 35,38}-ième échantillons

• Le troisième « track » contient les {3, 6,9,…, 36,39}-ième échantillons

Chaque « track » est donc composé de 13 échantillons. Un seul « track » possédant

l’énergie maximale par rapport à celles de deux autres « tracks » est conservé. Ce choix qui est

représenté par le paramètre grille RPE est transmis grâce à deux bits.

La séquence de 40 échantillons est donc amputée des deux tiers. Un échantillon sur trois

est alors conservé. Le modèle RPE est formé ainsi 13 impulsions régulièrement espacées tous les 3

échantillons. Ces 13 échantillons sont transmis sur 3 bits chacun. Un gain général sur 6 bits

est aussi transmis. Pour le codage RPE, trois paramètres sont donc utilisés : grille RPE, les

amplitudes de 13 échantillons et le gain général. Ces paramètres qui représentent le signal

d’excitation sont réactualisés toutes les 5 ms.

2.9.6. Quantification

Une fois que les paramètres pour chaque trame sont calculés, il s’agit de les quantifier et de

les transmettre sur le canal de manière à ce qu’ils prennent le moins de place possible. La qualité

du signal à la réception va dépendre au nombre de bits alloués pour chaque paramètre. Il est à

noter que ce sont les coefficients du modèle LPC qui sont le plus sensible à la quantification. En

effet, si ceux-ci ne sont pas restitués assez précisément après la quantification, le filtre LPC risque

de devenir instable et le signal de diverger assez rapidement lors de la reconstitution d’une trame.

La perte de qualité est alors totale puisque les valeurs sont toutes tronquées à 1 sur l’ensemble de

la trame. Il faut donc régler minutieusement le nombre de bits sur lesquels chaque coefficient va

être codé. En général les coefficients sont codés avec un nombre de bits décroissants par rapport à

leur ordre et ceci dans une progression logarithmique. C’est pour cela que les 36 bits alloués aux

coefficients LAR dans le réseau GSM sont repartis comme suit :

Page 48: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

36

LAR Nombre de bits

LAR1 6

LAR2 6

LAR3 5

LAR4 5

LAR5 4

LAR6 4

LAR7 3

LAR8 3

Total 36

Tableau 2.03 : Nombre de bits alloués à chaque paramètre LAR

Le débit binaire pour l’analyse LPC est donc :

sKbitsms

bitsDLPC /8.1

20

36 ==

(2.19)

Le pitch est peu sensible au pas de quantification puisqu’il varie peu au cours du signal, il

peut donc être aisément codé sur 7 bits ; au pire une erreur de quantification introduit un saut de

fréquence un peu brutal mais qui reste assez voisin de la bonne fréquence et qui n’est pas fatal

pour la compréhension du signal. Un pitch constant peut créer au pire une voix robotique. Le gain

associé au pitch ne varie pas beaucoup au cours d’un signal, il suffit donc de le quantifier 2 bits

pour garder une qualité correcte.

Paramètres LTP Nombre de bits

Pitch 7

Gain 2

Total 9

Tableau 2.04 : Nombre de bits alloués aux paramètres LTP

Le débit binaire pour l’analyse LTP est donc :

Page 49: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

37

sKbitsms

bitsDLTP /8.1

5

9 ==

(2.20)

Pour les paramètres RPE, les échantillons RPE sont codés chacun sur 3 bits puisque ces

échantillons varient moins au cours du temps, tandis que le gain est quantifié sur 6 bits. Le « grille

RPE » est codé sur 2 bits car il n’y a que 3 valeurs possibles : 1, 2,3.

Paramètres RPE Nombre de bits

13 échantillons 39

Gain 6

Grille RPE 2

Total 47

Tableau 2.05 : Nombre de bits alloués aux paramètres RPE

Le débit binaire pour le codage RPE est donc :

sKbitsms

bitsDRPE /4.9

5

)6239( =++=

(2.21)

En résumé, l’ensemble des paramètres RPE-LTP définissant 1 jeu de coefficients du filtre

LPC, les 4 jeux de coefficients du filtre LTP et les 4 séquences de 5 ms d’excitation RPE associés

sont représentés sur un total de 260 bits et transmis toutes les 20 ms. Ceci correspond alors à un

débit de 13 Kbits/s.

sKbitsKbitssKbitssKbitsDDDD RPELTPLPC /134.9/8.1/8.1 =++=++= (2.22)

Paramètres Par sous trame Total par trame

8 coefficients LAR 36

Gain β (filtre LTP) 2 8

Pitch pi (filtre LTP) 7 28

Gain général 6 24

Grille RPE 2 8

13 amplitudes 39 156

Total 260

Tableau 2.06 : Allocation des bits par trame de 20 ms

Page 50: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

38

2.9.7. Décodage

La structure du décodeur RPE-LTP est représentée par la figure 2.07 :

Figure 2.07: Schéma du décodeur RPE-LTP

L’opération de décodage comprend 2 parties :

• La reconstruction du signal résiduel à court terme, et

• Le filtrage de ce signal résiduel en utilisant le filtre de synthèse à court terme pour

synthétiser la parole.

2.9.7.1. Reconstruction du signal résiduel à court terme

Le décodeur RPE reçoit les paramètres RPE : les 13 échantillons, le gain associé et le grille

RPE. Il essaie de reconstruire les 40 échantillons de chaque sous trame à partir de ces paramètres.

Les échantillons ainsi reconstruits sont soumis au filtre de synthèse à long terme qui tient compte

les séquences de trames reconstituées et les paramètres LTP : gain β et le pitch pi pour reconstruire

le signal résiduel à court terme. Le résultat obtenu fait partie des séquences observées pour les

prochaines prédictions.

2.9.7.2. Filtrage du signal résiduel

La deuxième étape consiste à filtrer le signal résiduel à court terme par un filtre de

synthèse à court terme censé de représenter le conduit vocal et, dont la fonction de transfert est

fonction des coefficients de réflexion. Ces coefficients sont obtenus à partir de coefficients LAR.

Page 51: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

39

Le signal résiduel LPC composé de 160 échantillons (4 sous trames de 5 ms) est reçu à

l’entrée du filtre de synthèse LPC pour reconstruire le signal original. Le résultat obtenu est

soumis à son tour à une opération de post-processing qui consiste à filtrer la trame de parole

obtenue par un filtre ayant une fonction de transfert inverse de celle de l’opération préaccentuation

se trouvant dans le système du codage.

2.9.8. Comparaison du codeur RPE-LTP avec le codeur MIC

Le tableau suivant regroupe les caractéristiques en termes de débit, de qualité de parole en

MOS, de complexité de réalisation et de retard de codage/décodage :

Codeur Norme Débit(Kbits/s) Qualité de

parole

(MOS)

Retard

codage/décodage

(ms)

Complexité

MIPS

RPE-LTP GSM 06.10 13 3.6 50 2,5

MIC G.711 64 4,2 0,125 0,1

Tableau 2.07 : Comparaison entre le codeur RPE-LTP et MIC

Le codeur RPE-LTP fournit un débit 5 fois moins important que celui du codeur MIC. Le

gain en bande passante est donc considérable. Mais ce codeur introduit un retard de transmission

plus significatif à cause de la complexité de l’algorithme mise en œuvre. Néanmoins, la qualité de

parole obtenue est proche de celle du codeur MIC. L’implantation en temps réel du codeur RPE-

LTP est rendu possible grâce à l’existence des processeurs très puissants capables d’exécuter

plusieurs millions de calcul par seconde.

Page 52: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

40

CHAPITRE 3: LES SCHEMAS DE CODAGE EN GPRS

3.1. Introduction

Avec le développement d’Internet, réseau à commutation par paquets, les terminaux

mobiles reposant sur le service GSM ne pouvaient y accéder qu’avec de faibles débits de 9,6

Kbits/s et par la commutation en mode circuit.

En effet, pour accéder à ce réseau, il faut ouvrir un circuit de bout en bout, monopolisant

un canal radio entre le terminal mobile et la station de base durant toute la session. Or les canaux

radio ne permettent de transmettre qu’un faible débit, ce qui rallonge le temps de téléchargement

des pages Web et donc la durée des communications. D’où l’intérêt de ne plus monopoliser le

canal radio.

Ainsi, avec le service GPRS, ces données sont transmises par paquets et comme les canaux

radio bénéficient du multiplexage statistique, ces paquets sont transmis avec un débit plus élevé

atteignant 171,2 Kbits/s, ce qui diminue ainsi le temps de téléchargement des pages Web.

En effet, GPRS est le premier protocole à commutation par paquets dans le monde de

l’Internet mobile, et grâce à lui, les applications de l’Internet vont pouvoir se développer.

3.2. Nécessité du GPRS [27]

Le GPRS s’inspire des usages devenus courants d’Internet : lors de la consultation de

pages Web, une session peut durer plusieurs dizaines de minutes alors que les données ne sont

réellement transmises que pendant quelques secondes, lors du téléchargement des pages. Le trafic

de données ainsi engendré est donc très sporadique, contrairement à celui de la voix, par exemple.

La figure 3.01 nous montre comment se déroule une session web :

Figure 3.01: Caractéristique d’une session Web

Page 53: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

41

Dans ce type d’utilisation, les problèmes suivants peuvent se poser dans un réseau à

commutation de circuits tel que le GSM :

• Monopolisation des ressources : un certain nombre de ressources sont monopolisées dans

tout le réseau pour un seul utilisateur et pendant toute la durée de sa session, alors que ces

ressources ne sont qu’épisodiquement réellement utilisées. Il y a donc gaspillage des

ressources, notamment des ressources radio, rare et chères, non utilisées à cent pour cent

de leur capacité.

• Coûts de communications. : basée sur le temps de connexion de l’utilisateur, le coût des

communications tend à s’alourdir sensiblement du fait à la fois du téléchargement des

données à relativement faible débit et du temps de lecture des pages d’information.

• Interconnexion lourde : avec les réseaux de paquet externes et donc avec Internet, la

transmission de données en mode circuit nécessite des éléments d’adaptation spécifiques à

la frontière du réseau de l’opérateur.

Le GPRS résout ces problèmes en définissant une architecture de réseau à commutation de

paquets, qui permet de n’allouer des ressources à un utilisateur qu’au coup par coup, lorsqu’il a

réellement des données à émettre ou à recevoir, et non durant toute la durée de sa connexion, ainsi

de facturer les communications au volume de données échangées et non à la durée de connexion.

De plus, le GPRS introduit de la flexibilité dans le choix du type de protection des données,

offrant ainsi une plus grande variété de débits.

3.3. Dépendance entre le réseau GSM et le réseau GPRS [28]

Le GPRS spécifie donc une technique de transmission de données en commutation de

paquets, permettant ainsi de ne pas mobiliser de canal de communication, et donc autorisant une

tarification plus souple pour l’utilisateur.

Outre cet avantage non négligeable, GPRS permet d’atteindre un débit théorique maximal

de 171,2 Kbits/s, ce qui correspond à débit d’environ 115 Kbits/s pour l’utilisateur final des

conditions optimales.

Cependant, il ne faut pas oublier que GPRS s’appuie sur le réseau GSM, ils se complètent

alors tous les deux.

Page 54: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

42

En effet, l’architecture GSM fournit les services voix, tandis que l’architecture GPRS

fournit les services de données par paquets avec un débit élevé.

3.4. Principales caractéristiques du GPRS [28]

La norme GPRS spécifie un nouveau service de support de transmission de données en

mode paquets.

Il permet notamment de transporter des données utilisateur et des données de signalisation

en optimisant les ressources radios de façons dynamiques, et qui connaît les avantages suivants :

• Fournir une connexion permanente indispensable pour les transmissions de données

• Ne pas nécessiter de connexion préalable entre les deux correspondants, ce qui réduit le

temps d’établissement de la communication.

• Offrir une tarification possible au volume, au débit, et non plus à la durée

Cependant, GPRS utilise une partie de l’architecture mise en place par GSM, c’est-à-dire que

GPRS utilise les mêmes équipements pour communiquer avec le terminal au niveau radio, c’est-à-

dire la station de base, et utilise les mêmes fréquences.

GPRS peut utiliser plusieurs times slots sur une seule trame pour transporter les données. Il

utilise ces times slots de façon dynamique et peut donc justifier d’un débit beaucoup plus

important que GSM.

Egalement combiné à l’usage de plusieurs time slots, GPRS définit quatre schémas de

codage : CS-1, CS-2, CS-3 et CS-4, chacun d’entre eux fournissant un niveau de correction

d’erreur différent et une bande passante effective différente sur le même canal radio.

3.5. Structure du réseau GPRS [29]

Le système GPRS est un réseau à commutation de paquets partiellement basé sur le réseau

GSM : il utilise le même réseau d’accès radio, mais son épine dorsale est constituée de Service

GPRS Support Nodes (SGSN) communiquant par le protocole Internet Protocol (IP) au travers du

réseau de transport.

Pour la signalisation, un SGSN est l’équivalence d’un MSC. Il communique avec les

entités du réseau GSM.

Page 55: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

43

Le réseau GPRS est connecté aux réseaux de données par des passerelles Gateway GPRS Support

Nodes (GGSN).

Figure 3.02 : Structure d’un réseau GPRS

3.6. Composants d’un réseau GPRS [29]

3.6.1. Le sous-système de station de base (BSS)

Le sous-système de station de base du réseau GSM, composé des stations de base BTS et

des contrôleurs de station de base BSC, et complété par une extension appelée Packet

Control Unit (PCU) dont les fonctions sont :

• La gestion des ressources radio au moyen des protocoles Radio Link Control (RLC) et

Medium Access Control (MAC).

• La formation et la transmission des trames contenant les paquets GPRS

Il peut y avoir une PCU par BTS ou une PCU par BSC. Le deuxième cas est représenté sur la

figure 3.03 ci-dessous :

Page 56: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

44

Figure 3.03 : Extension des stations de base par une PCU

3.6.2. Le SGSN

Le SGSN est l’équivalent d’un commutateur MSC dans lequel la station mobile est en

visite. Les rôles du SGSN sont les suivants :

• Il dessert les stations mobiles d’une certaine région

• Il assure les fonctions de mobilité des stations mobiles :

- Attache / détache les stations mobiles du réseau

- Localisation des stations mobiles

- Paging des stations mobiles

• Il crypte et décrypte les données de ou pour la station mobile

• Il comprime les données au moyen du protocole V.42bis

• Il assure des fonctions de routage et de gestion du trafic

• Il collecte des données pour la facturation

3.6.3. Le GGSN

Le GGSN est un routeur connectant le réseau GPRS et un réseau externe de commutation

par paquets comme le réseau IP ou le réseau X.25. Il sert de passerelle entre les SGSN du réseau

GPRS et les autres réseaux de données. Il échange donc de signalisation avec les SGSN.

3.7. Pile protocolaire GPRS [27][28]

3.7.1. Présentation

La figure 3.04 renvoie la pile protocolaire entre le terminal mobile (MS) et le GGSN.

Page 57: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

45

En effet, pour établir une voie de communication entre le terminal mobile et le GGSN, on utilise 2

protocoles :

• Le protocole LLC : entre le terminal et le SGSN

• Le protocole GPRS Tunneling Protocol (GTP) : entre le SGSN et le GGSN, GTP

s’appuyant soit sur le protocole Transmission Control Protocol (TCP), soit par le protocole

User Datagram Protocol (UDP).

Figure 3.04 : Pile protocolaire dans le plan de données

3.7.2. Les couches de la pile protocolaire

3.7.2.1. Couche physique

La couche physique gère les canaux physiques et est responsable des opérations de

modulation, démodulation, codage, décodage, synchronisation, mesure, etc. Elle est similaire à

celle du GSM, avec néanmoins quelques extensions.

Cette couche physique se subdivise en deux sous-couches : la couche Radio Frequency

subLayer (RFL) et la couche Physical Link Layer (PLL), et s’occupe du codage du canal, point

que nous développerons plus tard.

Page 58: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

46

3.7.2.2. Couche MAC

La couche MAC gère l’accès à la ressource radio tandis que la couche RLC est responsable

de la segmentation et du réassemblage des paquets de la couche Logical Link Control (LLC). La

couche RLC peut en outre fournir un transport fiable entre le mobile et la station de base.

3.7.2.3. Couche LLC

La couche LLC offre une liaison fiable et cryptée entre le mobile et le SGSN. Deux modes

d’opération existent : un mode acquitté et un mode non acquitté. Dans le premier cas, un champ

dit Cyclic Redundacy Check (CRC) permet de détecter les erreurs de transmission, et des

retransmissions peuvent être demandées selon une stratégie de retransmission sélective. Dans le

mode non acquitté, le CRC peut permettre d’éliminer les trames erronées, mais ce n’est pas

obligatoire.

3.7.2.4. La couche SubNetwork Dependent Convergence Protocol (SNDCP)

La couche SNDCP s’étend entre le mobile et le SGSN. Il permet d’adapter les

protocoles des couches supérieures aux protocoles spécifiques du GPRS. Il permet d’adapter

n’importe quel protocole réseau existant, tel qu’IP, X.25. Il peut appliquer des méthodes de

compression pour diminuer la taille des paquets à transmettre sur l’interface air et économiser

ainsi les ressources radio.

3.7.2.5. La couche Base Station System GPRS Protocol (BSSGP)

La couche BSSGP transporte les informations de routage et de la qualité de service (QoS)

entre le BSS et le SGSN. Il ne fournit pas de contrôle ni de détection d’erreur. La connexion entre

le BSS et le SGSN en GPRS est fondée sur relais de trames. Du côté du réseau fixe, le réseau

reliant les différents SGSN et GGSN de l’opérateur est un réseau IP.

3.7.2.6. La couche GTP

La couche GTP encapsule les flux utilisateur entre le GGSN et le SGSN de manière

transparente. Il utilise soit TCP, soit UDP, en fonction de la QoS.

Page 59: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

47

3.8. Canal radio GPRS [28]

Nous allons maintenant nous intéresser au canal radio, et comment transmettre les paquets

3.8.1. Time slot (TS)

En effet, en GPRS, on peut obtenir des vitesses supérieures à celles de GSM, grâce à

l’utilisation du multiplexage temporel TDMA.

Une trame TDMA est composée de 8 times slots qui en sont les éléments élémentaires. Le

contenu d’un TS est détaillé sur la figure 3.05 :

Figure 3.05: Détail d’un time slot

Comme nous pouvons le voir, un time slot est composé de plusieurs parties :

• en-tête

• en-queue

• burst : élément du signal transmis. C’est dans cet élément que se trouvent les données. Il

est divisé en deux sous parties, ceci sert pour l’entrelacement des trames.

• séquence d’apprentissage : suite d’éléments binaires possédant des caractéristiques

particulières d’autocorrélation. Elle permet au récepteur de se synchroniser sur l’émetteur

et d’analyser la qualité du signal reçu.

• période de garde : utilisée pour éviter les chevauchements entre les slots.

Ainsi, une trame TDMA peut contenir jusqu’au 8 time slot selon le type de codage choisi.

Page 60: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

48

3.8.2. Transformations des paquets

Pour transmettre des paquets sur le canal radio, le terminal fonctionnant en mode GPRS

doit les transformer en bursts, qui seront alors multiplexés sur des canaux physiques appelé Packet

Data Channel (PDCH). La figure 3.06 montre les différentes étapes de cette transformation :

Figure 3.06 : Transformation des paquets

• La couche réseau fournit un paquet à la couche inférieure SNDCP.

• La couche SNDCP segmente le paquet et ajoute un en-tête à chaque segment. Les

segments obtenus ne doivent pas dépasser 1200 octets et sont fournis à la couche LLC.

• La couche LLC ajoute un en-tête, et un champ de contrôle d’erreurs à chaque segment,

puis transmet les trames ainsi formées à la couche RLC/MAC.

• La couche RLC/MAC découpe chaque trame reçue en blocs après avoir ajouté un en-tête,

un champ de contrôle d’erreur et un champ de bits traînée à chaque morceau, puis transmet

les blocs à la couche physique. Enfin, c’est elle qui contrôle l’accès aux canaux en

réalisant le multiplexage temporel TDMA.

Page 61: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

49

• La couche PLL réalise alors, pour chaque bloc, un codage canal CS-1 à CS-4 que nous

allons mentionner dans la suite, afin de réaliser des blocs encodés de longueur fixée à 456

bits, qui doivent être placés dans des trames TDMA

3.8.3. Le codage canal, une protection contre les erreurs

La couche physique se subdivise en deux sous couches : la RFL et la PLL, comme nous

l’avons vu précédemment.

Le codage du canal est effectué par la couche PLL, et on va s’intéresser au principe du

codage. La couche PLL réalise un codage convolutionnel avec poinçonnage. La figure 3.07

montre les différentes étapes effectuées lors du codage convolutionnel.

Figure 3.07 : Codage convolutionnel

Ainsi, pour coder les i bits du segment RLC/MAC, c’est-à-dire la charge utile du bloc, on

utilise un codage convolutif (n, k). Selon rapidité de modulation, de la taille du segment RLC et du

taux n/k souhaité, on utilisera l’un de quatre codages CS : CS-1, CS-2, CS-3 et CS4.

Avant d’expliquer le principe de ces 4 codages CS, on va s’intéresser d’abord aux

principes de codage canal en général.

3.9. Principes du codage canal [17][29][30]

Le canal radio dégrade fortement le signal émis par plusieurs raisons :

• Un signal de réception faible

• Des interférences entre canaux correspondants

• Des distorsions résiduelles dues aux trajets multiples

• Des décalages temporels dus à la vitesse de l’usager.

Page 62: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

50

L’objet du codage canal est donc de mettre en forme le message binaire à transmettre dans

le canal de manière à pouvoir détecter et éventuellement corriger les erreurs introduites lors de sa

transmission. Il doit donc assurer autant que possible une transmission sans erreurs. Pour cela on

rajoute de la redondance au signal. Cela peut se faire de deux manières :

• Par codage de bloc

• Par codage convolutionnel

Le récepteur qui détecte une erreur peut les traiter de différentes manières :

• Par correction automatique

• Par retransmission

• Uniquement en éliminant le bloc erroné et en laissant les protocoles supérieurs traiter les

problèmes.

Ces deux types de codage de canal peuvent être utilisés ensemble pour bien protéger

l’information contre les erreurs éventuelles durant la transmission radioélectrique. Mais pour

orienter notre étude vers le système de codage CS du GPRS, on va s’intéresser uniquement sur le

principe du codage convolutionnel.

3.9.1. Codage convolutionnel

3.9.1.1. Principe

Si l’on garde bit à bit le signal, aucun lien ne les relie. Chaque bit est rigoureusement

indépendant. L’idée du codage convolutionnel est donc de lier un bit à un plusieurs bits précédents

de sorte à pouvoir retrouver sa valeur en cas de problème. Le codage convolutionnel utilise un

effet mémoire sur les blocs de K éléments binaires présentés à l’entrée du codeur pour produire

chaque bloc de N éléments binaires en sortie. Ceci permet notamment le codage à flot continu en

choisissant des blocs d’entrée de longueur unité (K=1).

La figure 3.08 illustre le principe d’un codeur convolutif. Les éléments binaires

d’informations en entrée du codeur sont décalés, au sein d’un registre à décalage, le codeur

produit en sortie un bloc de N éléments binaires. Les N éléments binaires d’un symbole sont

obtenus par combinaisons linéaires des éléments binaires d’informations du bloc m1 en entrée

ainsi que des (D-1) blocs précédemment mémorisés.

Page 63: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

51

Figure 3.08 : Principe d’un codeur convolutif

En pratique, on prend K=1, N=2 et les combinaisons linéaires s’effectuent par l’opérateur

« OU EXCLUSIF».

3.9.1.2. Caractéristiques d’un codeur convolutionnel

La structure d’un codeur convolutionnel est caractérisée par :

• Le taux de codage ou le rendement du code défini par R=K/N

• La taille du registre à décalage dite : longueur de contrainte D

• La mémoire d’état du codeur qui stocke )1( −= DNν les éléments binaires d’information

précédemment entrés.

3.9.1.3. Capacité de correction d’un code convolutif

Les capacités de correction d’un code convolutif sont limitées, en particulier en ce qui

concerne les erreurs groupées. Elles dépendent du rendement R et de la longueur de contrainte D.

ainsi, un code convolutif ne peut corriger les paquets d’erreurs de longueur supérieure à N(D-1).

3.9.1.4. Avantage et inconvénient

Ce code convolutif va permettre de retrouver la valeur la plus probable d’un bit en

observant les bits précédemment reçus. Mais ce codeur permet de doubler le débit du train de

transport de données de TS. Ce qui diminuera donc le débit utile aux utilisateurs finaux.

Page 64: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

52

3.9.1.5. Exemple

Soit un codeur convolutif représenté par la figure 3.09 :

Figure 3.09: exemple d’un codeur convolutif

Sur la figure, on a :

• K=1

• N=2

• D=3

Les expressions de sorties peuvent être déterminées par la méthode suivante : selon

qu’elles sont utilisées ou pas, les sorties du registre sont affectées d’un 1 ou d’un 0 ; le nombre

binaire ainsi obtenu, dans l’ordre poids plus forts entrée vers sortie du registre, est noté en décimal

pour spécifier le code de sortie. Dans notre exemple, la première sortie est obtenue par les

combinaisons de 3 registres tandis que la deuxième sortie par les combinaisons du premier et

troisième registre, ainsi les deux sorties sont notées respectivement par :

• [ ] 27 1111 xx ++==σ

• [ ] 25 1101 x+==σ

Les deux sorties en parallèle 5σ et 7σ sont ensuite configurées en série pour avoir le mot

de code. Le bit sera donc doublé. Les bits successifs sont comparés 2 par 2, ce qui introduit une

corrélation entre les sorties, soit un effet mémoire sur les (D-1) voisins.

Page 65: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

53

Ce codeur convolutif ayant N=2 et D=3 ne pourra donc corriger des séquences d’erreurs

de longueur supérieure à 4 bits. Celui-ci a donc des capacités de correction très limitées.

3.9.2. Le poinçonnage

Le rendement du codeur convolutif en général est de ½, 1 bit d’entrée, 2 bits de sortie. Le

poinçonnage consiste à améliorer ce rendement en ne transmettant pas certains bits sortant du

codeur convolutif. Si trois bits se présentent en entrée du codeur, on va retrouver 6 en sortie mais

on ne transmettra que 4. Le rendement sera alors de ¾.

Nombre de bit en entrée

Nombre de bit en sortie

Nombre de bit transmis

Taux de codage

1 2 2 1/2

2 4 3 2/3

3 6 4 3/4

5 10 6 5/6

7 14 8 7/8

Tableau 3.01: Poinçonnage

Bien sûr, ce poinçonnage crée des erreurs puisque l’on ne transmet pas tous les bits. En

réception, on remplace ces bits par zéros. De part la robustesse et la nature du code convolutif

choisi, on retrouve la valeur la plus probable.

On peut maintenant donc revenir aux principes de 4 Schémas de Codage utilisés dans l’interface

radio du GPRS.

3.10. Les Schémas de Codage utilisés dans le système GPRS [27][31]

3.10.1. Principes

Un utilisateur GPRS peut utiliser plusieurs TS simultanément. Mais le nombre de time

slots qu’un utilisateur peut avoir ne dépasse pas le nombre 8. Une fois donc que le nombre de

Page 66: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

54

time slots affectés à un utilisateur est fixé, le débit numérique va dépendre du degré de protection

des données transmises, c’est le choix du Schéma de Codage.

Quatre niveaux de codage convolutionnel CS-1, CS-2, CS-3 et CS-4 sont disponibles,

suivant la qualité de liaison souhaitée et le taux de brouillage existant dans la cellule.

Chaque Schéma de codage effectue les séquences d’opérations suivantes :

• Ajout d’un champ BH qui permet de donner l’état des times slots et attribue, lors descente

des informations vers le mobile, les times slots la remontée d’information. Ce champ doit

être lisible pour tous les mobiles présents dans la zone pour qu’ils sachent quels sont les

times slots disponibles.

• Ajout d’un champ BCS qui est un champ de contrôle de la trame envoyée. Il permet donc

de détecter et d’éventuelle corriger les erreurs apparues pendant la transmission radio.

• Ajout de Stealing bits ou bits d’en-queue qui permettent une resynchronisation sans perte

de trame en cas de perte d’un nombre de bit égal au maximum au nombre de Stealing bits.

Un ou plusieurs bits peuvent être perdu à cause d’un retard dans la transmission ou d’un

handover.

Toutes ces opérations sont effectuées bloc par bloc, et la taille du bloc et de ces 3 champs

dépendent du Schéma de Codage utilisé.

Après ces opérations, une opération de codage convolutionnel est effectuée pour les Schémas de

Codage CS-1, CS-2 et CS-3, qui est un codage de canal puissant pour les communications mobiles

sans fil.

3.10.2. Les caractéristiques du codage convolutionnel

Comme on a déjà vu, La performance du codage convolutionnel dépend de deux

paramètres : le taux de codage R et la longueur du contrainte D. En GPRS, les valeurs de ces

paramètres sont :

• R=1/2

• D=5

Comme R=1/2, alors N=2. On peut donc chercher la capacité de correction de ce codeur

convolutif, et elle est donnée par la formule :

Page 67: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

55

8)15(2)1( =−=−= DNν

Le codeur convolutif utilisé ne pourra donc corriger des séquences d’erreurs de longueur

supérieure à 8 bits. Pour éviter cet inconvénient, on utilise la technique d’entrelacement

permettant séparer les erreurs pour pouvoir les corriger plus facilement.

3.10.3. Schéma de Codage CS-1

Lors du codage CS-1, la couche PLL de la couche physique reçoit un segment de données

de longueur 181 bits venant de la couche RLC/MAC. La couche PLL ajoute 3 champs à ce

segment de données :

• Un BCS de 40 bits.

• Un BH de 3 bits

• Un Stealing bits de 4 bits

On a alors un segment de données de longueur : (181+40+3+4)= 228 bits. Ainsi, les données

groupées en bloc de 228 bits sont envoyées au codeur convolutionnel.

Le codeur convolutionnel est type ½, c’est-à-dire de rendement 0,5. Il va ajouter alors un

bit de redondance pour chaque bit de données. Pour chaque bloc de 228 bits, on transmet : 228*2=

456 bits.

Le codeur donne alors 456 bits. Puisque la longueur de données tombe bien à 456 bits, le

bloc de données ne subira pas donc de poinçonnage. La figure 3.10 résume le principe du Codage

CS-1

Figure 3.10 : Principe du codage CS-1

Page 68: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

56

Le codage CS-1 correspond à une protection maximale des données. Le codage

convolutionnel fait alors passer le bloc de 181 à 456 bits, ce qui donne :

• 181 bits transmis sur 4 bursts dans 4 trames consécutives

• Durée totale : 4*4,62 ms=18,5 ms

• Débit résultant brut : D= 181/18,5= 9,8 Kbits/s

• Débit résultant net : D= 9,05 Kbits/s si on enlève les bits d’en-tête et de contrôle

3.10.4. Schéma de Codage CS-2

Pour le codage CS-2, la longueur du segment de données provenant de la couche

RLC/MAC est 268 bits. Il va ajouter à ce bloc de données :

• Un BCS de 16 bits

• Un BH de 6 bits

• Un Stealing bits de 4 bits

La longueur du bloc de données devient donc : (268+16+6+4)= 294 bits.

Le codeur convolutionnel de type ½ reçoit donc à son entrée un segment de données de

longueur 294 bits. A la sortie du codeur, on a donc un bloc encodé dont la longueur est de : 2*294

bits = 588 bits.

Puisque la longueur du bloc de données obtenue dépasse bien 456 bits. Pour obtenir une

longueur de 456 bits comme pour la parole, on effectue une opération de poinçonnage on va alors

supprimer 132 bits, choisis de manière bien définie, qui seront réinsérés avec erreur à la réception.

Ces erreurs seront corrigées en même temps que les erreurs de transmission. Ce procédé ne fait

que diminuer un peu l’immunité aux erreurs de transmission. Le taux de codage après le

poinçonnage serait donc : R=2/3. Si deux bits se présentent en entrée du codeur, on va retrouver

4 en sortie mais on ne transmettra que 4.

La figure 3.11 permet alors de résumer les différentes étapes effectuées par le codage

CS-2.

Page 69: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

57

Figure 3.11 : Principe du codage CS-2

Le codage convolutionnel CS-2 fait passer le bloc de 268 bits à 456 bits, ce qui donne :

• 268 bits transmis sur 4 bursts dans 4 trames consécutives

• Durée totale : 4*4,62 ms=18,5 ms

• Débit résultant brut : D= 268/18,5= 14,5 Kbits/s

• Débit résultant net : D= 13,4 Kbits/s si on enlève les bits d’en-tête et de contrôle.

3.10.5. Schéma de codage CS-3

La longueur du segment de données venant de la couche RLC/MAC est 312 bits pour le

codage CS-3. Les 3 champs ajoutés à ce segment de données sont :

• Un BCS de 16 bits

• Un BH de 6 bits

• Un Stealing bits de 4 bits

La longueur du segment de données devient donc : (312+16+6+4) = 338 bits. Ce segment

de données va subir un codage convolutionnel de type ½ comme ceux du CS-1 et CS-2. A la

sortie du codeur, on a un bloc de données de longueur 676 bits. Une opération de poinçonnage est

donc nécessaire pour ramener la longueur du bloc de données à 456 bits. 220 bits seront donc

Page 70: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

58

supprimés d’une manière bien définie pour pouvoir les réinsérer à la réception. Le taux de codage

devient donc R=3/4. D’où la figure 3.12 qui montre le principe du codage CS-3.

Figure 3.12: Principe du codage CS-3

Le codage convolutionnel CS-3 fait passer le bloc de 312 bits à 456 bits, ce qui donne :

• 312 bits transmis sur 4 bursts dans 4 trames consécutives

• Durée totale : 4*4,62 ms=18,5 ms

• Débit résultant brut : D= 312/18,5= 16,7 Kbits/s

• Débit résultant net : D= 15,6 Kbits/s si on enlève les bits d’en-tête et de contrôle.

3.10.6. Schéma de Codage CS-4

Lors du codage CS-4, aucun codage convolutionnel n’est réalisé. Il reçoit un segment de

données de longueur 428 bits de la couche RLC/MAC, puis ajoute 2 champs à ce segment de

données :

• Un BCS de 16 bits

• Un BH de 12 bits

Page 71: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

59

Pour le codage CS-4, le champ Stealing bits n’est pas donc présent. La longueur du bloc

après l’ajout de ces deux champs sera donc : (428+16+12)=456 bits. On peut donc résumer le

principe du codage CS-4 par la figure 3.13 :

Figure 3.13 : Principe du codage CS-4

Le débit obtenu avec le codage CS-4 est donc :

• Débit résultant brut : D=428/18, 5=23,1 Kbits/s

• Débit résultant net : D=21,4 Kbits/s

Ce type de codage ne garantit donc aucune protection de données contre les erreurs de

transmission. Il ne peut donc être utilisé que lorsque la liaison radio est excellente

3.11. Choix du Schéma de Codage [28]

Les caractéristiques de quatre Schémas de Codage qu’on vient d’expliquer peuvent être

donc résumées comme suit :

Page 72: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

60

Codage

CS

Taux

de

codage

Longueur

du bloc

RLC/MAC

BCS BH Stealing

bits

Bloc

encodé

Poinçonnage Débit

Kbits/s

CS-1 1/2 181 40 3 4 456 0 9,05

CS-2 2/3 268 16 6 4 588 132 13,4

CS-3 3/4 312 16 6 4 676 220 15,6

CS-4 1 428 16 12 0 456 0 21,4

Tableau 3.02: Caractéristiques de Schémas de Codage

Chaque codage est un compromis entre débit et efficacité du procédé de correction

d’erreurs : plus un format de codage garantit une correction plus importante, plus son débit

instantané est faible. En effet, la taille des paquets radio est de 456 bits, donc pour augmenter le

nombre de bits utilisés pour la protection contre les erreurs, le nombre de bits d’information doit

donc diminuer.

La station de base peut choisir l’un de l’autre de ces niveaux de protection en fonction du

taux d’erreur ou brouillage observé dans la cellule et de la qualité souhaitée par l’utilisateur. La

figure 3.14 fait la comparaison en termes de débit et de protection de données entre les 4 CS.

Figure 3.14 : Les 4 niveaux de protection de données

Page 73: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

61

Au niveau d’une cellule, la station de base optimise aussi le taux de codage en fonction de

l’éloignement de l’utilisateur et réservera le mode CS-1 le plus protégé pour les utilisateurs situés

en limite de cellule.

Figure 3.15 : Modulation de la protection en fonction de l’éloignement

La figure 3.15 montre que le codage CS-4 n’est donc toutefois possible que si la liaison

radio est excellente, c’est-à-dire il y a une vue directe entre l’utilisateur et la station de base.

Le débit maximal pour chaque type de CS est donc obtenu par l’utilisation de 8 slots d’une trame

TDMA.

CS-1 (Kbits/s) CS-2 (Kbits/s) CS-3 (Kbits/s) CS-4 (Kbits/s)

1 slots 9,05 13,4 15,6 21,4

8 slots 72,4 107,2 124,8 171,2

Tableau 3.03 : Comparatif entre les différents types de codage

Le débit maximal correspond donc à l’utilisation de tous les slots et sans corrections

d’erreurs, autant dire que cela restera un débit théorique et non un débit qu’obtiendra l’utilisateur.

De plus, au niveau application, le débit est plus faible du fait des entêtes entre chaque couche. En

tenant compte donc des interférences existants dans une cellule et des entêtes entre chaque couche,

le débit maximal en pratique n’est égal qu’à 115 Kbits/s.

Page 74: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

62

CHAPITRE 4: IMPLEMENTATION SOUS MATLAB DU CODEUR RPE-LTP

4.1. Introduction

MATLAB est une abréviation de Matrix LABoratory. Il était destiné à faciliter l’accès au

logiciel matriciel développé dans les projets LINPACK et EISPACK.MATLAB est un

environnement puissant, complet et facile à utiliser destiné au calcul scientifique. Il apporte aux

ingénieurs, chercheurs et à tout scientifique un système interactif intégrant calcul numérique et

visualisation. C'est un environnement performant, ouvert et programmable qui permet de

remarquables gains de productivité et de créativité. MATLAB est un environnement complet,

ouvert et extensible pour le calcul et la visualisation. Il dispose de plusieurs centaines (voire

milliers, selon les versions et les modules optionnels autour du noyau Matlab) de fonctions

mathématiques, scientifiques et techniques. L'approche matricielle de MATLAB permet de traiter

les données sans aucune limitation de taille et de réaliser des calculs numériques et symboliques

de façon fiable et rapide. Grâce aux fonctions graphiques de MATLAB, il devient très facile de

modifier interactivement les différents paramètres des graphiques pour les adapter selon nos

souhaits. En complément du noyau de calcul MATLAB, l'environnement comprend des modules

optionnels qui sont parfaitement intégrés à l'ensemble :

• une vaste gamme de bibliothèques de fonctions spécialisées (Toolboxes)

• Simulink, un environnement puissant de modélisation basée sur les schémas blocs et de

simulation de systèmes linéaires et non linéaires.

• simulation de systèmes dynamiques linéaires et non linéaires

• Des bibliothèques de blocs Simulink spécialisés (Blocksets)

• Un ensemble d'outils intégrés dédiés au Traitement du Signal : le DSP Workshop.

4.2. Fonctions spéciales utilisées dans notre simulation

4.2.1. Wavread

La fonction « wavread » permet de lire un fichier audio d’extension .wav. Les valeurs

retournées par cette fonction sont la suivantes : les valeurs des échantillons, la fréquence

d’échantillonnage et le nombre de bits.

Syntaxe : [echantillon, fe, bits] = wavread (‘nom du fichier’)

Page 75: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

63

4.2.2. Wavwrite

La fonction « wavwrite » crée un fichier audio dont l’extension .wav. Elle reçoit comme

paramètres d’entrées les valeurs des échantillons, la fréquence d’échantillonnage et le nombre de

bits ainsi que le nom du fichier audio à créer.

Syntaxe : wavwrite (echantillon, fe, bits, ‘nom du fichier’)

Remarque : le paramètre bits doit prendre l’une des 4 valeurs suivantes : 8, 16, 24,32.

4.2.3. Sound

Cette fonction permet d’écouter un son via d’un haut parleur branché à l’ordinateur.

Syntaxe : sound (echantillon, fe, bits)

Remarque : Les valeurs des échantillons doivent être comprises entre -1 et +1. Les valeurs en

dehors de ces bornes sont clippées.

4.2.4. Filter

La fonction « filter » est utilisée pour le calcul de la réponse d’un filtre numérique ayant

une fonction transfert donnée.

Syntaxe : sortie=filter(a,b,echantillon)

Remarque : a et b désignent respectivement le numérateur et le dénominateur de la fonction de

transfert représentant le filtre, echantillon contient les données à filtrer.

4.2.5. Uencode

Cette fonction permet de faire la quantification et le codage des données avant de les faire

transmettre sur le canal de transmission.

Syntaxe : y=uencode(u,n,v)

Remarque : u représente les données à quantifier, n indique le nombre de bits pour coder chaque

valeur constituant les données, et v est la valeur maximale trouvée dans les échantillons.

Page 76: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

64

4.2.6. Udecode

C’est la fonction inverse de la fonction « uencode ». Elle permet donc de faire le décodage.

Syntaxe : y=udecode (u,n,v)

4.2.7. Levinson

Cette fonction permet de calculer les coefficients du filtre LPC qui minimisent l’erreur

quadratique. Elle retourne donc les coefficients du filtre.

Syntaxe : coeff=levinson (co, nb_coeff)

Remarque : co désigne les coefficients d’autocorrélation et nb_coeff le nombre de coefficients.

4.3. Présentation du logiciel

4.3.1. Ecran de départ

Figure 4.01 : Fenêtre d’accueil

La fenêtre d’accueil montrée par la figure 4.01 dispose 2 boutons :

• Continuer : permettant d’aller dans le menu principal

• Quitter : permettant de quitter le logiciel

Page 77: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

65

4.3.2. Menu principal

Comme indique la figure 4.02, la fenêtre de menu principal contient 4 boutons:

• Codeur MIC : pour lancer la simulation du codage MIC

• Codeur paramétrique à deux sources : Pour simuler le codage paramétrique à deux

sources

• Codeur LPC à excitation par signal résiduel : Pour simuler le codage LPC à excitation

par signal résiduel

• Codeur RPE – LTP : Pour simuler le codage RPE-LTP utilisé en réseau GSM

Figure 4.02 : Fenêtre principal du logiciel

4.3.3. Fenêtre de simulation MIC

En cliquant sur le bouton « Codeur MIC », une fenêtre représentée par la figure 4.03 se montre :

Page 78: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

66

Figure 4.03 : Fenetre simulation pour MIC

La fenêtre comporte 2 parties principales :

• La première partie contient les paramétres du signal original à coder.

• La deuxiéme partie permet d’inserer les parmètres à modifier et visualiser les

résultats obenus.

4.3.4. Fenêtre de simulation du codeur paramétrique à deux sources

En faisant un clic sur le bouton associé à ce type de codage, la fenêtre de simulation

représentée par la figure 4.04 apparaît :

Page 79: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

67

Figure 4.04 : Fenetre de simulation pour le codage paramétrique à deux sources

4.3.5. Fenêtre de simulation du codeur LPC excité par le signal résiduel

Cette fenêtre s’obtient en cliquant sur le bouton correspondant sur la fenêtre du menu principal.

Elle contient 3 parties distinctes :

• La partie qui va contenir le nom du fichier son à coder et ses paramètres initiales.

• La partie dans laquelle les différentes valeurs de paramètres du codage sont insérées.

• La partie qui permet de visualiser les résultats obtenus.

Page 80: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

68

Figure 4.05 : Fenêtre pour simulation du codeur LPC à excitation par signal résiduel

4.3.6. Fenêtre de simulation du codeur RPE-LTP

En cliquant sur le bouton « Codeur RPE-LTP », on a une fenêtre qui représente le schéma

synoptique de la simulation du codeur RPE-LTP, ensuite en cliquant sur le bouton « Codage » ,

on obtient une fenêtre affichant le schéma synoptique du codage, et en cliquant de nouveau sur le

bouton « continuer », une fenêtre contenant le synoptique du décodage apparaît, et en cliquant sur

le bouton « continuer » de cette dernière fenêtre, on aura la fenêtre de simulation du codeur RPE-

LTP représentée par la figure 4.06. La fenêtre comporte aussi 3 zones.

Page 81: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

69

Figure 4.06 : Fenêtre de simulation pour le codeur RPE-LTP

4.4. Manipulation du logiciel

4.4.1. Simulation MIC

Un signal vocal est caractérisé par les deux paramètres suivants : la fréquence

d’échantillonnage et le nombre de bits pour coder chaque échantillon. Le débit binaire s’obtient

donc à partir de ces deux paramètres.

Dans le codage MIC, la fréquence d’échantillonnage est égale à 8 KHz et le nombre de bits

est égal à 8. Ce qui donne un débit de 64 Kbits/s. La qualité du signal obtenue est acceptable mais

il occupe une bande passante très large. Pour diminuer alors ce débit, il faut diminuer la fréquence

et/ou le nombre de bits. Mais vu la contrainte de Shannon, on ne peut plus diminuer la fréquence

d’échantillonnage. Il faut jouer donc avec le nombre de bits.

Page 82: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

70

Effectuons alors la manipulation :

• Cliquez sur le bouton « Parcourir » pour choisir le son à traiter.

• Cliquez après sur le bouton « Valider » se trouvant dans le panel « caractéristiques du

signal orignal » pour visualiser les caractéristiques du signal.

• Le bouton « Ecouter » permet d’écouter le son original.

• Pour visualiser l’allure temporelle ou le spectre du signal, choisissez sur le popupmenu

« allure temporelle » ou « spectre », puis cliquez sur le bouton « Visualiser ».

• Changeons ainsi le nombre de bits pour quantifier chaque échantillon à 24 et laissons la

fréquence d’échantillonnage à 8000 Khz. On peut ensuite faire la comparaison en cliquant

sur le bouton « Valider » du panel « Paramètres modifiées ».

Figure 4.07 : Affichage de valeurs caractéristiques du fichier hello.wav

Résultats : on a un débit 192 Kbits/s. La qualité du signal obtenue est plus améliorée par rapport à

celle de l’original.

Page 83: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

71

4.4.2. Simulation du codeur paramétrique à deux sources

4.4.2.1. Signification des diverses champs de saisies

Les champs qui nous intéressent sont les champs qui se trouvent dans le panel « Paramètres du

codage ».

• nbr_coeff : donne le nombre de coefficients du filtre.

• taille_grande_fenetre : donne la durée de la trame sur laquelle sont calculés les

coefficients du filtre et le critère voisé ou non voisé ainsi que le gain.

• taille_petite_fenetre : donne la durée entre chaque trame. On fait donc une trame toutes les

‘ taille_petite_fenetre’ ms, calculée sur ‘taille_grande_fenetre’ ms. Il faut souligner que la

‘ taille_grande_fenetre’ doit toujours être supérieure ou égale à la‘taille_petite_fenetre’.

• quantification_coeff : Nombre de bits pour coder les coefficients LPC.

• quantification_pitch : Nombre de bits pour coder le pitch.

• quantification_gain : Nombre de bits pour coder le gain.

Les valeurs des autres champs sont déduites à partir de ces champs.

4.4.2.2. Manipulation

Après avoir choisi le fichier son à coder, insérons des valeurs dans les zones de saisies qui

se trouvent dans le panel « Paramètres du codage ».

Données :

• Signal à coder : Hello.wav

• Nombre de coefficients du filtre LPC : 10

• Taille de la grande fenêtre : 10

• Taille de la petite fenêtre : 5

• Nombre de bits pour quantifier chaque coefficient : 10

• Nombre de bits pour quantifier chaque pitch : 8

• Nombre de bits pour coder chaque gain : 6

Toutes ses valeurs sont indiquées sur la figure 4.08:

Page 84: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

72

Figure 4.08 : Fenêtre de simulation du codage paramétrique à deux sources

Résultats : Débit= 2.8Kbits/s, ce qui nous donne un taux de compression égal à 22.8. La qualité du

signal est affectée : phrase peu compréhensible à cause de l’apparition des effets de chuchotement.

La perte de qualité vient de la modélisation de la source en un modèle à deux types. C’est pour

cela que ce type de codage n’est utilisé que dans le domaine militaire.

Remarques : Il est obligatoire que la taille de la grande fenêtre soit inférieure ou égale à 20 ms

pour que la qualité du signal ne soit pas affectée. En effet, le signal vocal est considéré comme

quasi stationnaire dans cet intervalle de temps. Il est à noter aussi que le nombre de coefficients

du filtre doit être compris entre 8 et 16. Une valeur en dehors cet intervalle entraine une

dégradation de la prédiction.

Page 85: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

73

Les allures temporelles et fréquentielles du son original et celles du son décodés sont représentées

respectivement sur la figure 4.09 et la figure 4.10 :

Figure 4.09: Allures temporelles du son original et son reconstitué

Figure 4.10 : Spectres du son original et son reconstitué

Page 86: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

74

Résultats : L’allure temporelle du signal reconstruit est très différente à celle du son original, mais

son spectre suit l’allure spectrale du signal orignal.

4.4.3. Simulation du codeur LPC à excitation résiduel

4.4.3.1. Signification des diverses champs de saisies

Dans ce type de codage, les paramètres à transmettre sont les suivants : les coefficients du filtre et

le signal résiduel issu de l’analyse LPC. Les valeurs qu’on doit connaître avant le codage sont

donc les suivantes :

• nbr_coeff : donne le nombre de coefficients du filtre.

• taille_grande_fenetre : donne la durée de la trame sur laquelle sont calculés les

coefficients du filtre et le critère voisé ou non voisé ainsi que le gain.

• taille_petite_fenetre : donne la durée entre chaque trame. On fait donc une trame toutes les

‘ taille_petite_fenetre’ ms, calculée sur ‘taille_grande_fenetre’ ms. il faut souligner que la

‘ taille_grande_fenetre’ doit toujours être supérieure ou égale à la‘taille_petite_fenetre’.

• quantification_coeff : Nombre de bits pour coder les coefficients LPC.

• quantification_epsilon : le nombre de bits pour coder chaque échantillon du signal

résiduel.

4.4.3.2. Manipulation

Données : fichier ecole.wav ayant une fréquence d’échantillonnage Fe=8Khz et nombre de bits

pour coder chaque échantillon égal à 16. Fixons le nombre de coefficients du filtre à 10 et codons

chacun par 10 bits. Chaque échantillon du signal résiduel est codé sur 2 bits seulement. La taille

de la grande fenêtre est égale 20 ms et celle de la petite fenêtre 10ms.

Résultats : Débit = 3,22431 Kbits /s. On a une qualité du son acceptable, la phrase est

compréhensible et le locuteur est reconnaissable. L’algorithme LPC à excitation par signal

résiduel donne une meilleure qualité par rapport que celui du codage paramétrique à deux sources.

Remarque : Même si ce type de codeur donne une meilleure qualité du son synthétisé que celle du

codage paramétrique à deux sources, cette qualité n’est pas encore satisfaisante à cause de la

représentation simpliste du signal d’excitation.

Page 87: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

75

Figure 4.11 : Fenêtre de simulation du codage LPC à excitation par signal résiduel

La figure 4.12 et 4.13 peuvent être obtenues en cliquant respectivement sur leur bouton

correspondant dans la fenêtre de simulation.

Figure 4.12 : Allures temporelles du son original et du son reconstitué

Page 88: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

76

Figure 4.13 : Spectres du son original et du son reconstitué

L’allure temporelle du signal reconstruit est très différente à celle du son original, mais son

spectre suit l’allure spectrale du signal orignal.

4.4.4. Simulation du codeur RPE-LTP

4.4.4.1. Principe

Ce type de codeur reprend la méthode utilisée par le codeur LPC à excitation par signal résiduel.

Mai il tient compte la corrélation à long terme existant entre les trames et utilise une autre

méthode pour modéliser le signal résiduel.

3 types de paramètres sont donc à considérer :

• Le paramètre LPC : Les coefficients LPC.

• Les paramètres LTP : La valeur du pitch et le gain associé.

• Les paramètres RPE : Les échantillons RPE, le gain RPE et le grille RPE.

4.4.4.2. Les valeurs caractéristiques

Pour le codeur RPE-LTP :

Page 89: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

77

• La longueur de la trame est : 20 ms, ce qui implique une sous trame de longueur 5 ms.

• La fréquence d’échantillonnage est 8 Khz.

• La trame est donc composée de 160 échantillons, tandis que la sous trame 40 échantillons

chacune.

• Les 8 coefficients LPC sont quantifiés sur 36 bits

• Le pitch est codé sur 7 bits tandis que le gain sur 2 bits

• Les 13 échantillons sont codés sur 39 bits : 3 bits/échantillons, le gain RPE sur 6 bits est la

grille RPE sur 2 bits.

Ces valeurs permettent d’avoir un débit égal à :

sKbitsms

bitsD /13

20

))2639(4)27(436( =+++++=

Pour un signal dont le débit original est égal à 64 Kbits/s, le taux de compression est égal donc à

4,9.

4.4.4.3. Manipulation

Données : fichier son : « hello.wav ».

En cliquant sur le bouton « Valider », on obtiendra la valeur de la fréquence d’échantillonnage, le

nombre de bits pour quantifier chaque échantillon et ainsi la valeur du débit.

• Fe = 8000 Hz

• N=8bits

• Débit=64 Kbits/s

Ensuite, on clique sur le bouton « Coder ». Ce bouton permet de faire le codage du signal vocal la

norme RPE-LTP. Les valeurs obtenues avant et après le codage sont toutes affichées sur la fenêtre

d’action. On peut aussi remarquer que tous les boutons se trouvant sur le panel « Résultats » sont

tous devenus actifs. On obtient ainsi une fenêtre représentée par la figure 4.14 :

Page 90: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

78

Figure 4.14 : Fenêtre de simulation de RPE-LTP

On peut ainsi consulter les informations concernant chaque sous trame en regardant la zone

de texte se trouvant dans le panel « Valeur de paramètres LPC et LTP pour chaque sous

trame » et en cliquant sur le popupmenu « Numéro de la sous trame ». Par exemple pour la sous

trame n°1, voici les informations qui la concernent :

• C’est une trame non voisée

• Les valeurs de 8 coefficients LPC sont : a1=0.16314, a2=0.25803, a3=0.50839,

a4=0.26847, a5=0.21466, a6=0.26433, a7=0.077361 et a8=0.00814689.

• Pitch= 0Hz et gain=1

Il suffit de choisir le numéro de la sous trame voulue pour voir les valeurs de ses

paramètres. On peut aussi vérifier qu’une trame est voisée ou non voisée en regardant l’évolution

du pitch. :

Page 91: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

79

• Si la valeur du pitch est égale à 0 alors la sous trame est non voisée.

• Sinon la trame est voisée.

Figure 4.15 : Evolution du pitch

En cliquant sur le bouton « allure du son original et son décodé » ou sur le bouton

« spectres du son original et son décodé », on obtiendra l’une des deux figures 4.16 ou 4.17 :

Figure 4.16 : Allures temporelles du son original et son décodé

Page 92: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

80

Figure 4.17 : Spectres du son original et son reconstitué

Résultats : La qualité du signal décodé est acceptable : la phrase est compréhensible et le locuteur

est reconnaissable. Le codeur RPE-LTP permet d’avoir un signal dont la qualité est supérieure à

celui du codeur paramétrique à deux sources et celui du codeur à excitation résiduelle.

Page 93: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

81

CONCLUSION GENERALE

L’introduction des services de télécommunication entièrement numériques a motivé

l’intérêt du codage de parole. Ce dernier permet la réduction de débit de transmission du signal et

des communications dans des canaux à largeur de bande limitée. La largeur de bande d’une

transmission devra être minimisée tout en préservant la qualité du signal vocal reconstruit et en

répondant aux autres exigences liées aux applications.

Etant donné que le débit binaire délivré par le codage MIC est 64 Kbits/s, il est donc

impossible de l’utiliser dans la radiotéléphonie mobile numérique car il occupe une large bande

passante. Le but du codage de parole est donc de diminuer cette bande tout en gardant une qualité

de parole reconstruite plus proche possible de celle du téléphone fixe.

Après de nombreux essais avec différents types de codeurs, et en tenant compte de

conditions différentes (langage, niveaux, bruits, …) la méthode retenue par le GSM est RPE/LPC

combinée avec la technique de LTP. Ce codeur permet de ramener le débit de la voix à 13 Kbits/s.

Mais ce réseau GSM n’est pas adapté au transfert de données. En effet, il ne propose

qu’un débit de 9,6 Kbits/s qui est très peu pour les applications multimédia actuelles (transfert des

fichiers, d’images, de vidéos, accès à internet). De plus la facturation est effectuée à la durée car le

mode circuit est utilisé. D’où la naissance du réseau GPRS qui permet non seulement, un débit

bien plus important, 171 Kbits/s théoriques au maximum, ce qui se traduit dans la pratique par un

débit comparable à celui d’un accès modem RTC à 56 Kbits/s.

Le GPRS utilise 4 schémas de codage qui protègent plus ou moins les données contre

d’éventuelles perturbations. Ceci est effectué par une augmentation ou diminution de la

redondance au niveau de la couche physique. Le choix du codage est principalement basé sur la

distance et la qualité de la liaison radio entre le mobile et la station de base.

Le monde des télécommunications est une course permanente aux nouveaux services qui

entraine de nouveaux abonnés. Ces nouveaux services que proposent les opérateurs augmentent

les besoins de transferts de données ce qui implique le développement de réseaux adaptés. C’est

pour cela que de nouvelles technologies de téléphonie mobile apparaissent, disposant plus

grandes capacités de transferts de données.

Page 94: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

82

ANNEXE 1

Les principales caractéristiques du GSM

La norme GSM prévoit que la téléphonie mobile par GSM occupe deux bandes de

fréquences aux alentours de 900 MHz :

• La bande de fréquence 890- 915 MHz pour les communications montantes.

• La bande de fréquence 935- 960 MHz pour les communications descendantes.

Comme chaque canal fréquentiel utilisé pour une communication a une largeur de

200KHz, cela laisse la place pour 124 paires de canaux fréquentiel à repartir entre les différents

opérateurs.

Le réseau GSM combine la technique AMRF et la technique AMRT pour partager la bande

de fréquence disponible aux utilisateurs.

Le tableau suivant montre les caractéristiques générales des réseaux à technologie GSM :

Canal montant 890-915 [MHz]

Canal descendant 935-960 [MHz]

Mode d’accès AMRF /AMRT

Largeur d’un canal 200 [kHz]

Ecart duplex 45 [Mhz]

Nombre de canaux par sens 124

Nombre d’intervalles de temps par trame AMRT 8

Type de transmission numérique

Débit total par canal 270 [kb/s]

Rayon des cellules 0.35 – 30 [km]

Débit maximal de transmission de données 9.6 (kb/s]

Type de modulation GMSK

Type de codage RPE-LTP

Tableau A.01 : Les principales caractéristiques du réseau GSM

Page 95: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

83

Architecture du réseau GSM

Le réseau GSM se compose de trois parties séparées par des interfaces normalisées : La

station mobile (MS), le sous-système radio (BSS) et le sous-système réseau (NSS).

Figure A.01 : Architecture du réseau GSM

La station de base (BTS) est l’interface entre le téléphone mobile et le reste du réseau. Elle

assure la couverture radioélectrique d’une cellule du réseau.

Le contrôleur de stations de base (BSC) qui gère la coordination entre les stations de base.

Le commutateur du réseau (MSC) est l’entité qui est responsable de l’acheminement des

communications dans le réseau et assure également l’interconnexion entre le réseau de téléphone

cellulaire et le réseau fixe traditionnel.

L’enregistreur de localisation de visiteur (VLR) est une base de données dans laquelle les

abonnés de passage dans le réseau sont inscrits.

L’enregistreur de localisation nominale (HLR) est une base de données centrale contenant

toutes les informations administratives relatives aux abonnés d’un réseau donné.

Le centre d’authentification des abonnés (AUC) est une base de données sécurisée où les

codes confidentiels des abonnés sont contrôlés.

Page 96: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

84

ANNEXE 2

Les codes détecteurs et correcteurs d’erreurs

Lors des communications radio, des erreurs peuvent se produire et pourraient dégrader

fortement les informations émises. Pour protéger alors les informations contre ses erreurs, on

utilise la technique de codage de canal.

Le récepteur qui détecte une erreur peut les traiter de différents manières :

• par correction automatique au moyen d’un code correcteur d’erreurs

• par retransmission

• uniquement en éliminant le bloc erroné et en laissant les protocoles supérieurs

traiter le problème.

Pour la transmission en temps réel, les délais imposés interdisent la retransmission d’un

bloc erroné.

Distinction entre détection et correction d’erreur

Pour la détection d’erreur, le décodeur détecte que le bloc de bit à traiter est erroné. Tandis

que pour la correction d’erreur, le décodeur détecte la ou les erreurs et les corrige.

Capacité de détection et de correction d’erreur

La capacité de détection et de correction des codes dépend de la quantité des informations

et de la qualité des informations de redondance produites.

L’enjeu est donc de rajouter le moins de redondance possible tout en ayant la capacité de

détection et de correction la plus grande.

Impact de l’utilisation des codes correcteurs

L’utilisation des codes correcteurs réduit le débit de données utiles, c’est-à-dire le débit des

bits non codés. Si k est le mot d’information et n le mot de code, alors le débit utile se définit par :

Page 97: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

85

Les codes en blocs linéaires

Le code en bloc est un ensemble de vecteurs de longueur n appelé mots de code. Les

composantes d’un mot de code appartiennent à un alphabet à q symboles. Si q =2, alors les mots

de code sont constitués de 0 et 1. Si q=3, alors les mots de code sont constitués de 0, 1,2.

Un code C (n, k) permet d’associer 2k mots de code de n bits aux 2k mots de données de k

bits.

La distance de Hamming se définit par le nombre d’éléments différents entre les deux

mots. La distance minimale dmin d’un code est la distance de Hamming entre deux mots de code.

Les codes systématiques, les codes à répétition et les codes cycliques sont des familles de

code en blocs linéaires. Les codes cycliques sont utilisés de manière quasi-universelle dans les

réseaux pour détecter des erreurs de transmission.

Les codes convolutionnels ou codes convolutifs

Le principe de codes convolutionnels s’explique sur le fait que chaque bloc n bits en sortie

du codeur dépend des K blocs de k bits précédents. Chaque bloc de k bits en entrée donne un bloc

de n bits en sortie.

Un tel codeur est constitué par un registre de Kk étages qui mémorise les K blocs de k bits

d’information, une logique combinatoire qui calcule les blocs de n bits et un convertisseur

parallèle/série.

Page 98: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

86

ANNEXE 3

Programmes principaux d’implémentation du codeur RPE-LTP

Menu principal : fichier « Menu.m »

gui_Singleton = 1;

gui_State = struct('gui_Name', mfilename, ...

'gui_Singleton', gui_Singleton, ...

'gui_OpeningFcn', @menu_OpeningFcn, ...

'gui_OutputFcn', @menu_OutputFcn, ...

'gui_LayoutFcn', [] , ...

'gui_Callback', []);

if nargin && ischar(varargin{1})

gui_State.gui_Callback = str2func(varargin{1});

end

if nargout

[varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});

else

gui_mainfcn(gui_State, varargin{:});

end

function menu_OpeningFcn(hObject, eventdata, handles, varargin)

handles.output = hObject;

guidata(hObject, handles);

function varargout = menu_OutputFcn(hObject, eventdata, handles)

varargout{1} = handles.output;

% Bouton effectuant le lancement de la simulation du codeur MIC

function mic_Callback(hObject, eventdata, handles)

codage_mic % Bouton effectuant le lancement de la simulation du codeur LPC

function lpc_Callback(hObject, eventdata, handles)

codagelpc2source

% Bouton effectuant le lancement de la simulation du codeur LPC à excitation par signal

résiduel

function residu_Callback(hObject, eventdata, handles)

Page 99: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

87

clear all

codagelpcresiduel1

% Bouton effectuant le lancement de la simulation du codeur RPE-LTP

function gsm_Callback(hObject, eventdata, handles)

clear all

schemas

function precedent_Callback(hObject, eventdata, handles)

close

accueil

% Bouton pour quitter la simulation

function quitter_Callback(hObject, eventdata, handles)

close

Fonction principale du codeur RPE – LTP : fichier « GSM_speechencoder »

function GSM_speechencoder(fichier_source,fichier_destinataire);

global signal

[signal,fe,nbits]=wavread(fichier_source);

if max(signal)>0.9

signal=signal*0.9;

end

% calcul le nombre d'échantillons

nb_echantillon=length(signal);

% nombre de coefficients pour le filtre LPC

nbr_coeff=8;

% génération des paramètres représentant le signal

global tab_coeffi

[tab_coeffi,tab_pitch,tab_gain,gain_rpe,grille_rpe,tab_residu_rpe]=analyse_GSM(signal,fe);

% quantification des paramètres

[tab_coeff_quant,tab_pitch_quant,tab_gain_quant,gain_rpe_quant,grille_rpe_quant,tab_residu

_rpe_quant,tab_coeff_max,tab_residu_rpe_max,tab_pitch_max,gain_max,gain_rpe_max,grill

e_rpe_max,pas_coeff]=quantification(tab_coeffi,tab_pitch,tab_gain,gain_rpe,grille_rpe,tab_re

sidu_rpe);

Page 100: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

88

% reconstitution des paramètres

global tab_pitch1

[tab_coeff1,tab_pitch1,tab_gain1,gain_rpe1,grille_rpe1,tab_residu_rpe1]=decode(tab_coeff_quant

,tab_pitch_quant,tab_gain_quant,gain_rpe_quant,grille_rpe_quant,tab_residu_rpe_quant,tab_coeff

_max,tab_residu_rpe_max,tab_pitch_max,gain_max,gain_rpe_max,grille_rpe_max,pas_coeff);

% restauration du signal

[signal_sortie]=synthese_GSM(tab_coeff1,tab_pitch1,tab_gain1,gain_rpe1,grille_rpe1,tab_residu_

rpe,160,0,fe);

clc

Fonction d’analyse LPC : fichier « analyse_GSM.m »

function[tab_coeff,tab_pitch,tab_gain,gain_rpe,grille_rpe,tab_residu_rpe]=analyse_GSM(signal,fe);

signal=filter([1 -0.95],[1],signal);

dim_signal=length(signal);

index=0;

global tab_epsilon tab_coeff

for i=1:160:dim_signal-160

index=index+1;

[tab_coeff(index,:),epsilon]=analyse_LPC(signal,i,i+160,fe,8);

tab_epsilon(:,index)=epsilon;

end

a=size(tab_epsilon);

index=1;

global tab_epsilon1

for j=1:a(2)

for i=1:a(1)

tab_epsilon1(index)=tab_epsilon(i,j);

index=index+1;

end

Page 101: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

89

end

index=0;

global tab_pitch tab_gain

for i=1:40:dim_signal-40

index=index+1;

tab_pitch(index)=analyse_LTP(tab_epsilon1,i,40+i,1,160,fe,1);

end

index1=1;

for i=1:length(tab_pitch)

[tab_gain(i),residu_LTP]=analyse_LTP1(tab_pitch(i),tab_epsilon1,fe,i);

tab_residu_LTP(:,index1)=residu_LTP;

index1=index1+1;

end

a1=size(tab_residu_LTP);

index2=1;

global tab_residu_LTP1

for j=1:a1(2)

for i=1:a1(1)

tab_residu_LTP1(index2)=tab_residu_LTP(i,j);

index2=index2+1;

end

end

k=0;

for i=1:40:length(tab_residu_LTP1)-40

if i==1

residu_temp=tab_residu_LTP1(1:40);

else

residu_temp=tab_residu_LTP1(i:i+40);

end

k=k+1;

[residu_rpe,gain_rpe(k),grille_rpe(k)]=analyse_rpe(residu_temp);

tab_residu_rpe(:,k)=10000*residu_rpe;end

Page 102: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

90

fonction d’analyse LTP : fichier « analyse_ltp.m »

function pitch =analyse_LTP(signal,start,finish,pitch1,pitch2,fe,methode);

signal_deux=signal(start:finish);

if methode==1

correlation=xcorr(signal_deux);

[B,I]=sort(correlation);

num=length(I);

if B(num-1)>1/4*B(num)

pitch=fe/abs(I(num)-I(num-1));

if(pitch > 6000)

pitch = fe/abs(I(num) - I(num-2));

end

else

pitch=0;

end

if (pitch>600)

pitch=0;

end

else

for p=pitch1:pitch2

sum=0;

for i=start:finish

if ((i-p)>0)

sum=sum+(signal(i)*signal(i-p));

end

end

sum=sum/(finish-start);

corr_circ(p+1)=sum;

end

[a,b]=max(corr_circ);

pitch=fe/b;

end

fonction d’analyse rpe : fichier « analyse_rpe »

Page 103: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

91

function [residu_rpe,gain_rpe,grille_rpe]=analyse_rpe(residu_ltp);

residu=residu_ltp;

for j=1:3

k=1;

for i=j:3:36+j

ech(j,k)=residu(i);

k=k+1;

end

end

track1=ech(1,:);

track2=ech(2,:);

track3=ech(3,:);

sum_energie1=sum(track1.^2)/13;

sum_energie2=sum(track2.^2)/13;

sum_energie3=sum(track3.^2)/13;

if sum_energie1>=sum_energie2

if sum_energie1>=sum_energie3

% residu_rpe=track1/sum_energie1;

residu_rpe=track1;

% gain_rpe=sum_energie1;

gain_rpe=1;

grille_rpe=1;

else

% residu_rpe=track3/sum_energie3;

residu_rpe=track3;

% gain_rpe=sum_energie3;

gain_rpe=1;

grille_rpe=3;

end

else

if sum_energie2>=sum_energie3

% residu_rpe=track2/sum_energie2;

residu_rpe=track2;

% gain_rpe=sum_energie2;

Page 104: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

92

gain_rpe=1;

grille_rpe=2;

else

% residu_rpe=track3/sum_energie3;

residu_rpe=track3;

% gain_rpe=sum_energie3;

gain_rpe=1;

grille_rpe=3;

end

end

Page 105: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

93

BIBLIOGRAPHIE

[1] R. Trilling, Codage large bande de la parole par encapsulation du codeur ITU G.729,

Canada, Août 1998.

[2] G. Mercier, C. Roux, G. Martineau, Technologies du multimédias, France, Janv. 2003.

[3] G. Mercier, G. Gatrieux, Majeure Multimédia, ENST Bretagne.

[4] http://theangelmax.free.fr/compression/principale.html.

[5] G. Madre, Application de la transformée en nombre entier à l’étude et au développement

d’un codeur de parole pour transmission sur réseau IP, Thèse pour obtenir le grade de Docteur de

l’université de Bretagne occidentale, Londres, 2004.

[6] http://www.rennes.supelec.fr/ren/perso/pleray/audio/audio.0.htm.

[7] P. Lecoy, Technologie des Télécoms, Hermes, 1995.

[8] G. Pujolle, Les Réseaux, Eyrolles, 1998.

[9] M. Bellanger, Traitement Numérique du Signal, Masson, 1990.

[10] G. Blanchet, J. Prado, Méthodes Numériques pour le Traitement du Signal, Masson 1990.

[11] M. A. RAKOTOMALALA, Traitement Numérique d’Images, Cours 4ème année, Dép. Tél.-

ESPA., A.U. :2005-2006.

[12] Groupe d’Experts- Aspects Techniques, Téléphonie sur IP, UIT, Document IP-Tel (7-F),

8-10 Octobre 2001.

[13] A.S. Spanias, “Speech Coding: A Tutorial Revieco”, Proceedings of the IEEE, vol.82,

n°10, pp.1541-1582, October 1994.

[14] http://www.ta-formation.com/acrobat-lib/gsm.pdf.

Page 106: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

94

[15] http://www.ulk.ac.be/students/bep/files/gsm1.3.pdf.

[16] E. Amélie, G. Hervé, P. Julien, VAD/DTX : Techniques de base et intérêts pratiques, Esme

Sudria, Octobre 2007.

[17] C. Veaux, Etude de traitements en réception pour l’amélioration de la qualité de la

parole : Application au GSM, Thèse pour obtenir le grade de Docteur de l’ENST, Janvier 2005.

[18] A. Spanias, Getting Familiar with Speech Processing, Fall, 2002.

[19] R.Sproat, J.Olive, Text-to-Speech Synthesis, CRC press, IEEE press, 1999.

[20] F. Patin, A. Violette, Vocodeur paramétrique à deux sources, Supelec, 2005.

[21] B. Kleijin, K.K. Paliwal, Speech Coding and Synthesis, Elsevier Science, 1995.

[22] http://www.data-compression.com/speech.html.

[23] http://www.cem2.Univ-montp2.fr/~moreau/cours/codage_audio.pdf.

[24] http://www.etsi.org.

[25] http://scgwww.epfl.ech/courses.

[26] http://www-sop.inria.fr.

[27] http://www.lets.africa-web.org/cours/Reseaux/Chap5_R_Mobiles_GPRS_EDGE.pdf.

[28] C. Clement, J. M. Garcia, R. Julien, Le GPRS, DESS TNI- Administration et Sécurité des

Réseaux, Année : 2004-2005.

[29] J. Tisal, Le Réseau GSM, L’évolution GPRS : une étape vers UMTS, Dunod, 1999.

[30] P. Samuel, L’Internet par Satellite, DESS Application des Réseaux et de la Télématique,

Septembre 2003.

[31] http://web.uct.ac.za/depts/commnetwork/eee5025/note/eee525-05-124.pdf.

Page 107: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

PAGE DE RENSEIGNEMENTS

Nom : RATSIMBAZAFY

Prénoms : Samoela Fitahianjanahary

Adresse de l’auteur : Lot ID 21 Isaha

FIANARANTSOA 301

Madagascar

Tél: 0324195268/0330315614

E-mail: [email protected]

Titre du mémoire : « LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE

CODAGE EN GPRS »

Nombres de pages : 94

Nombre de figure : 44

Nombre de tableaux : 13

Mots clés : Compression– Source – Canal – Coefficient de réflexion – Prédiction à court terme –

Prédiction à long terme – Son voisé – Son non voisé – Schémas de codage – GSM – GPRS –

Commutation de circuit – Commutation de paquet – Protocole – Poinçonnage.

Directeur de mémoire : Mr. RAKOTOMALALA Mamy Alain

Page 108: LE CODAGE DE LA PAROLE EN GSM ET LES SCHEMAS DE …

RESUME

Le codage de la parole est essentiel dans les efforts pour obtenir un usage plus efficace des

réseaux de télécommunication numériques, en particulier les réseaux cellulaires, et pour réduire la

mémoire nécessaire dans les systèmes de stockage de la parole. La volonté d'avoir une

représentation numérique de la parole à faible débit n'est pas souvent compatible avec la demande

d'une reconstruction de la parole de haute qualité. Pour le réseau GSM, on a adopté le codage

RPE-LTP pour coder la parole. Mais le réseau GSM qui est spécialement conçu pour faire la

transmission vocal n’est pas adapté à la transmission de données. D’où la naissance du réseau

GPRS qui s’appuie sur directement sur le réseau GSM et, offrant un débit théorique allant jusqu’à

171 Kbits/s. Pour atteindre alors ce débit, GPRS définit 4 niveaux de codage canal et fonctionne

en mode paquet.

ABSTRACT

Speech coding is important in the effort to make more efficient use of digital

telecommunication networks, particularly wireless systems, and to reduce the memory

requirements in speech storage systems. The desire for a low-rate digital representation of speech

is often contrary to the demand for a high quality speech reconstruction. For GSM network, RPE-

LTP coder is adopted to code the speech signal. But this GSM network which is especially

conceived to make the transmission vocal is not adapted to the data transmission. From where

GPRS network offering a bit rate going up to 171 Kbps appeared for resolving this problem. This

network is directly based on GSM network. To reach this bit rate then, GPRS defines 4 levels of

coding channel and functions in packet mode.