MEMOIRE DE FIN D`ETUDES en vue de l`obtention du DIPLOME d

Transcription

MEMOIRE DE FIN D`ETUDES en vue de l`obtention du DIPLOME d
N° d’ordre : 02/RC
Année Universitaire 2001-2002
UNIVERSITE D’ANTANANARIVO
ECOLE SUPERIEURE POLYTECHNIQUE
DEPARTEMENT TELECOMMUNICATIONS
MEMOIRE DE FIN D’ETUDES
en vue de l’obtention
du DIPLOME d’INGENIEUR
Spécialité : Télécommunications
Option : Radiocommunication
par : RAJAONA THAINA Rija Harisandy
C V S D et R E L P
Appliquées
à la
Radiocommunication mobile
Soutenu le 18 Août 2003 devant la Commission d’Examen composée de :
Président :
M.ANDRIAMIASY Zidora
Examinateurs :
Mme RANDRIANARIVONY Hanitra
M. RATSIHOARANA Constant
M. BOTO Andrianandrasana J. E.
Directeur de mémoire :
M. RAKOTOMALALA Mamy Alain
REMERCIEMENTS
A Jéhovah Dieu, le Souverain Suprême de l’Univers, le Dieu Tout-Puissant qui est la
source de « tout beau don et de tout présent parfait » selon ce qui est écrit dans la Bible en
Jacques 1 :17.
Ce mémoire de fin d’études a été le résultat des formations que j’ai acquises au sein de
l’ESPA en particulier le Département Télécommunications. Ainsi j’adresse mes remerciements les
plus sincères à toutes les personnes qui ont participé de près ou de loin à sa réalisation. En
particulier :
Monsieur
RANDRIAMITANTSOA
Paul
Auguste,
Chef
de
Département
Télécommunications qui a bien voulu donner son accord pour que ce mémoire puisse être
présenté,
Monsieur ANDRIAMIASY Zidora, Enseignant à l’ESPA pour l’honneur qu’il nous fait en
acceptant la présidence de cette soutenance,
Madame et Messieurs les Membres de Jury :
-
Mme RANDRIANARIVONY Hanitra
-
Mr RATSIHOARANA Constant
-
Mr BOTO Andrianandrasana J. E.
qui ont accepté sans hésitation de faire reconnaissance de mon mémoire et de juger ce travail,
Monsieur RAKOTOMALALA Mamy Alain, Enseignant et Encadreur de ce mémoire qui a
donné le meilleur de lui même pour me guider, conseiller et soutenir tout au long de ce travail,
L’Ensemble des Corps Enseignants de l’ESPA en particulier le Département
Télécommunications et le Département Electronique,
Mes très chers Parents pour leur soutien tant morale que matériel,
Les membres de ma famille, les proches et les amis pour leurs aides et soutiens,
Toutes les sociétés qui ont accepté de nous fournir des informations pour l’accomplissement
du projet.
TABLE DES MATIERES
INTRODUCTION
1
Première partie: ETUDE THEORIQUE
CHAPITRE I - RADIOCOMMUNICATIONS MOBILES NUMERIQUES
4
I.1 - Domaines d’applications .................................................................................................................................... 4
I.2 - Structure générale de la radio mobile numérique ............................................................................................. 4
I.2.1 – Source de message numérique ..................................................................................................................... 5
I.2.2 – Codage de source .......................................................................................................................................... 5
I.2.3 – Codage de canal ............................................................................................................................................ 5
I.2.4 – L’émetteur..................................................................................................................................................... 6
I.2.5 – Canal de transmission .................................................................................................................................. 6
I.2.6 – Le récepteur .................................................................................................................................................. 6
I.3 - Systèmes de communication avec les mobiles ................................................................................................... 6
I.3.1- Système monocentre ...................................................................................................................................... 6
I.3.2- Système multicentre ....................................................................................................................................... 7
I.3.3- Réseaux cellulaires ........................................................................................................................................ 8
I.4 –Techniques d’accès ............................................................................................................................................. 8
I.4.1 – Accès multiple à répartition de fréquence ................................................................................................. 8
I.4.2 – Accès multiple à répartition du temps ....................................................................................................... 9
I.4.3 – Accès multiple à répartition en codes ........................................................................................................ 9
I.5 - Particularités de la propagation ........................................................................................................................ 10
I.6 – Le problème de la bande passante ................................................................................................................... 11
I.6.1 – La modulation par impulsions et codage .................................................................................................. 11
I.6.1.1 – Echantillonnage ……………………………………………………………………………………………………………..11
I.6.1.2 – Quantification ………………………………………………………………………………………………………………..13
I.6.1.3 – Codage ………………………………………………………………………………………………………………………...13
I.6.2 – Problème avec le codage MIC ................................................................................................................... 14
CHAPITRE II - MODULATION DELTA A PREDICTEUR ADAPTATIF
16
II.1 – Quantification différentielle ........................................................................................................................... 16
II.1.1– Le codeur ................................................................................................................................................... 16
II.1.2– Le décodeur ............................................................................................................................................... 18
II.2 – La modulation delta ...................................................................................................................................... 19
II.2.1 - Schéma bloc .............................................................................................................................................. 19
II.2.2 – Problèmes rencontrés en DM .................................................................................................................. 21
i
II.2.2.1 – Saturation de pente …………………………………………………………………………………………………………21
II.2.2.2 – Bruit granulaire……………………………………………………………………………………………………………..22
II.3 – Modulation delta à prédicteur adaptatif ........................................................................................................ 23
II.3.1 – Principe ...................................................................................................................................................... 23
II.3.2 – Bloc diagramme de CVSD ....................................................................................................................... 23
II.3.2.1 – Quantification………………………………………………………………………………………………………………24
II.3.2.2 – Registre à décalage………………………………………………………………………………………………………..24
II.3.2.3 – Algorithme de surcharge…………………………………………………………………………………………………..24
II.3.2.4 – Filtre syllabique………………………………………………………………………………………………………...…24
II.3.2.5 – Modulation d’amplitude par impulsions ………………………………………………………………………………..25
II.3.3 – Allure des signaux en CVSD ................................................................................................................... 25
II.3.4– Mean Opinion Score ................................................................................................................................. 25
II.4 - Exemple CVSD ................................................................................................................................................ 26
II.5 - Applications de CVSD...................................................................................................................................... 28
II.5.1– Bluetooth..................................................................................................................................................... 28
II.5.1.1 – Généralités……………………………………………………………………………………………………………………28
II.5.1.2 – Utilisations……………………………………………………………………………………………………………………29
II.5.1.3 – Transmission du son dans le système Bluetooth…………………………………………………………………………29
II.5.2 - Land Mobile Radio .................................................................................................................................... 30
II.5.3 – Autres utilisations ..................................................................................................................................... 30
II.6 - Résumé ............................................................................................................................................................. 30
CHAPITRE III - PREDICTION LINEAIRE A EXCITATION RESIDUELLE
31
III.1 – Introduction ................................................................................................................................................... 31
III.2 – La voix humaine ........................................................................................................................................... 31
III.2.1 – La production de la parole ..................................................................................................................... 31
III.2.2 – Caractéristiques de la voix...................................................................................................................... 32
III.3 – Synthèse de la parole .................................................................................................................................... 34
III.3.1 – Principe .................................................................................................................................................... 34
III.3.2 – Filtre en treillis ....................................................................................................................................... 35
III.4 – Codage à prédiction linéaire ......................................................................................................................... 36
III.4.1 – Principe .................................................................................................................................................... 36
III.4.2 – Analyse et synthèse de la voix ................................................................................................................. 36
III.4.3 – Calcul des coefficients du filtre .............................................................................................................. 37
III.4.4 – Estimation de la valeur de l’excitation résiduelle ................................................................................. 38
III.4.5 – Transmission des paramètres LPC ........................................................................................................ 39
III.5 – La prédiction linéaire à excitation résiduelle ............................................................................................... 40
III.5.1 – La prédiction résiduelle .......................................................................................................................... 40
III.5.2 – Structure de RELP .................................................................................................................................. 40
III.5.3 – Exemple .................................................................................................................................................... 41
ii
III.6 – Application .................................................................................................................................................... 43
III.6.1 – Caractéristiques ....................................................................................................................................... 43
III.6.2 – Structure de réseau GSM ....................................................................................................................... 43
III.6.2.1 – Station mobile………………………………………………………………………………………………………………44
III.6.2.2 - Sous-système radio…………………………………………………………………………………………………………44
III.6.2.3 - Sous-système réseau………………………………………………………………………………………………………..44
III.6.2.4-RTCP-RNIS……………………………………………………………………………………………………………………45
Deuxième partie: SIMULATION SOUS MATLAB
CHAPITRE I – PRESENTATION DU LOGICIEL
47
I.1 - Introduction ....................................................................................................................................................... 47
I.2 – Fonctions spéciales utilisées dans notre simulation ........................................................................................ 47
I.2.1 - wavread ........................................................................................................................................................ 47
I.2.2 - wavwrite ....................................................................................................................................................... 47
I.2.3 - sound ............................................................................................................................................................ 48
I.2.4 – fft .................................................................................................................................................................. 48
I.2.5 – filter ............................................................................................................................................................. 49
I.3 – Présentation du logiciel .................................................................................................................................... 49
I.3.1 – Ecran de départ .......................................................................................................................................... 49
I.3.2 – Menu principal ........................................................................................................................................... 50
I.4.3 – Fenêtre de simulation MIC ........................................................................................................................ 50
I.3.4 – Fenêtre de simulation CVSD ..................................................................................................................... 51
I.3.5 – Fenêtre de simulation RELP ..................................................................................................................... 51
I.3.6 – Fenêtre de simulation d’un signal sinusoïdal ........................................................................................... 52
CHAPITRE II – MANIPULATION DU LOGICIEL
53
II.1 – Lancement du logiciel ..................................................................................................................................... 53
II.2 – Les diverses zones sur la fenêtre ..................................................................................................................... 53
II.3 – Simulation MIC ............................................................................................................................................... 54
II.3.1 – Manipulation 1 .......................................................................................................................................... 54
II.3.2 – Manipulation 2 .......................................................................................................................................... 54
II.3.3 – Manipulation 3 .......................................................................................................................................... 56
II.4 – Simulation CVSD ............................................................................................................................................ 56
II.4.1 – Manipulation 1 .......................................................................................................................................... 56
II.4.2 – Manipulation 2 .......................................................................................................................................... 58
II.4.3 – Manipulation 3 .......................................................................................................................................... 59
II.5 - Simulation RELP ............................................................................................................................................. 60
II.5.1 – Manipulation 1 .......................................................................................................................................... 60
II.5.2 – Manipulation 2 .......................................................................................................................................... 61
iii
II.6 – Résumé ............................................................................................................................................................ 64
CONCLUSION
65
Annexe 1 - Transformée en Z ................................................................................................................................... 67
Annexe 2 - Filtres numériques ................................................................................................................................. 70
Annexe 3 - Syntaxes des fonctions utilisées en Matlab ............................................................................................ 73
Annexe 4 - Programmation....................................................................................................................................... 76
BIBLIOGRAPHIE
86
iv
NOTATIONS
ai : coefficient du filtre (numérateur)
bi : coefficient du filtre (dénumérateur)
c(n) : sortie numérique
d(n) : différence entre deux échantillons
e(n) : erreur résiduelle
f : fréquence
i : indice
q : pas de quantification
r ss(m) : fonction d’autocorelation
s(n) : signal segmenté en RELP
x(t) : signal d’entrée
x(n) : signal d’entrée échantillonné
x p(n) : signal d’entrée prédit
A(x) : inverse de la transmittance H(z)
B : bande passante
C : vitesse de l’onde
D : débit binaire
E[X] : erreur quadratique moyenne
Fe : fréquence d’échantillonnage
F(z) : transformée en Z
G : gain d’un amplificateur
H(z) : transmittance
N : nombre de bit
PE : partie entière
V : vitesse relative du récepteur par rapport à l’émetteur
δ : pas de quantification
δ(t) : impulsion de Dirac
ε : bruit de quantification
µ : paramètre de compression
∆ : delta
∆f : variation de fréquence
Ш(t) : peigne de Dirac
AMRC : Accès multiple à répartition en codes
AMRF : Accès multiple à répartition de fréquence
AMRT : Accès multiple à répartition du temps
AUC: Authentification Center
BSC : Base Station Controller
BTS : Base Transceiver Station
Codec : codeur-décodeur
CNA : convertisseur numérique analogique
CVSD : Continuously Variable Slope Delta Modulation
2
DM : Delta Modulation
FPB : Filtre Passe-Bas
GFSK : Gaussian Frequency Shift Keying
GMSK : Gaussian Minimum Shift Keying
GSM : Global System for Mobile communication
HLR : Home Local Register
LPC : Linear Predictor Coder
MA : Modulation d’Amplitude
MAI : Modulation d’Amplitude par Impulsions
MIC : Modulation par impulsions et codage
MOS : Mean Opinion Score
MSC : Mobile Switching Center
PC : Personnal Computer
PPP : Point to Point Protocol
QPSK : Quadruple Phase Shift Keying
RELP : Residual Excited Linear Predictor
RIF : Réponse Impulsionnelle Finie
RII : Réponse Impulsionnelle Infinie
RNIS : Réseau Nmérique à Intégration de Service
RTCP : Réseau Téléphonique Commuté Public
SIG : Special Interest Group
SSGA : Sous-Système de Gestion et d’Acheminement
UHF : Ultra-High Frequency
VHF : Very-High Frequency
VLR : Visitor Local Register
2D : dimension 2
3D : dimension 3
S/B : rapport signal sur bruit
3
INTRODUCTION
Au fondement même des télécommunications se trouve l’idée de transformer un signal
pour pouvoir en assurer la transmission. Ainsi le signal vocal, qui occupe une bande de fréquence
de 300 Hz à 3400 KHz et qui est transmis via des variations de pression grâce à l’élasticité de
l’air, a une portée réduite à quelques mètres. Le principe de la radiotéléphonie est de transformer
ce signal en un signal électromagnétique porté par une onde qui peut aller loin sur un support
approprié (espace), puis de reconstruire le signal vocal à l’arrivée par décodage du signal
électromagnétique. Le codage du signal vocal sur des réseaux télécoms, s’est d’abord fait en
utilisant un procédé qui, tout en le transformant pour pouvoir le transporter, reproduit la forme
même du signal que l’on veut communiquer. On parle alors de la transmission analogique.
Cependant le développement des outils informatiques a banalisé les équipements
numériques dont le coût a baissé rapidement. Il est possible de coder un signal vocal sous la forme
d’une suite de bits, la technique la plus courante associant au circuit téléphonique un débit
numérique de 64 Kbits/s. Avec les techniques de transmission numérique, on ne cherche plus à
transmettre un signal analogue à celui que l’on veut reproduire, on traduit tout signal en une suite
de
bits. Choisie pour diverses raisons, cette évolution technique a provoqué de profondes
modifications dans les télécommunications. Malgré les avantages apportés par cette technique (
qualité de transmission , confidentialité,…), la transmission numérique présente toutefois quelques
inconvénients surtout en radiocommunication. Ce projet de mémoire qui s’intitule « CVSD et
RELP – Appliquées à la radiocommunication mobile » propose quelques solutions permettant
d’éliminer ce désagrément. Le chapitre I de la partie théorique est consacré à la
radiocommunication mobile, il donne d’une part sa description et d’autres part le problème
constaté lors de la numérisation du signal vocal à transmettre.
1
Pour remédier à cet inconvénient, le codage de la voix essaie de diminuer le débit binaire
de 64 Kbits/s à un débit le plus bas possible. Le chapitre II décrit un exemple de ce codage : la
CVSD (Continuously Variable Slope Delta Modulation) . Elle est une variante de ce que l’on
appelle « codeur de la forme d’onde » ,qui permettra d’obtenir un débit de 16 Kbits/s.
L’exploitation des propriétés de la production de la parole humaine conduit à l’apparition de
codage nommé « codeur de source ». Ce codeur sera associé avec le codeur de la forme d’onde
pour obtenir une bonne qualité de compression. C’est l’objet du chapitre III qui présente le RELP
(Residual Excited Linear Predictor) comme étant sa variante.
La deuxième partie du mémoire présente la simulation de la CVSD et de la RELP avec le
logiciel Matlab.
2
Première partie
ETUDE THEORIQUE
3
Chapitre I - RADIOCOMMUNICATIONS MOBILES NUMERIQUES
Les communications radioélectriques sont le seul support permettant de communiquer avec
les mobiles (véhicules ou individus équipés d’appareils portatifs), même si leur position est
inconnue. Elles se sont mises en place très tôt avec les navires et les avions, et connaissent
actuellement
un fort développement avec les automobiles et les piétons, grâce aux réseaux
cellulaires et les techniques numériques.
I.1 - Domaines d’applications [1][2][3]
Les applications de la radiocommunication mobile, qui intéressent le domaine militaire,
jouent aussi un rôle important dans la vie civile et s’imposent de jour en jour dans les secteurs les
plus variés. En effet, les forces armées l’utilisent soit pour des raisons économiques soit pour
assurer certains services particuliers : liaison
de
service
entre les navires et
la côte,
communications au sol sur les aérodromes, distribution de carburant, maintenance, …
Pour assurer la coordination de leurs travaux, maintenir l’ordre, et surtout pour les urgences, les
institutions suivantes
se servent de la radio : la gendarmerie, la police, les pompiers, les
secouristes, les services médicaux et de sécurité, les entreprises de transport, la douane, …
La communication radio concerne aussi le grand public du fait que la technologie sans fil peut
s’interfacer avec le réseau filaire. On parle ici de la téléphonie mobile, très répandue depuis la
naissance de la norme GSM.
I.2 - Structure générale de la radio mobile numérique [3][4]
Source de
message
numérique
Codeur
de
source
Codeur
de
canal
Emetteur
Destinataire
Décodeur
de
source
Décodeur
de
canal
Récepteur
Figure 1.1 : Schéma synoptique d’une radio mobile numérique
4
I.2.1 – Source de message numérique
Généralement, l’information à transmettre (la voix par exemple) est
une
information
analogique donc il faut la numériser . C’est le rôle du bloc Source de message numérique. La
numérisation d’un message se fait en échantillonnant le message analogique puis en quantifiant le
message obtenu. Chaque échantillon quantifié est ensuite codé sur n-éléments binaires appelés
« bit ».
Source de
message
analogique
Echantillonnage
Quantification
Codage binaire
Messages
numériques
Figure 1.2 : Numérisation d’un signal
I.2.2 – Codage de source
Le codeur de source élimine les éléments binaires peu significatifs pour augmenter la
compacité des signaux, cette partie fait l’objet de ce projet de mémoire. Le message est alors sous
forme consigné et constitué par des suites d’éléments binaires indépendants. Après numérisation
et codage de source, la source de message numérique est caractérisée par son débit binaire D
défini par le nombre d’éléments binaires émis par unité de temps.
I.2.3 – Codage de canal
Le codage de canal dite aussi codage correcteur et/ou détecteur d’erreur est une fonction
spécifique des transmissions numériques. Il permet d’accroître la sécurité de la transmission en
présence de bruit. Le codeur de canal insère dans le message des éléments binaires dits de
redondance, adéquatement structurés, suivant une loi donnée. Dans certains cas, ce bloc effectue
aussi l’opération de cryptage pour assurer la confidentialité de la communication.
Le décodage de canal qui connaît la loi de codage de canal utilisée en émission vérifie si cette loi
est toujours respectée en réception. Exemple de code : le code de parité.
5
I.2.4 – L’émetteur
La suite des données obtenue sera acheminée dans l’étage émetteur qui effectuera la
modulation. La modulation consiste à associer à chaque mot de n éléments binaires issu du
message un signal si (t). Il y a aussi l’opération de changement de fréquences qui permet de
centrer le signal modulé autour d’une fréquence f o allouée.
A la réception, le signal reçu est reconstitué pour obtenir le message numérique
original et le convertit en signal analogique.
I.2.5 – Canal de transmission
Pour la radio mobile une bande de fréquence B est allouée à la transmission. Cette bande
est centrée autour d’une fréquence fo, la transmission est donc sur onde porteuse. Le milieu de
transmission est l’espace libre.
I.2.6 – Le récepteur
Le rôle du récepteur est de reconstituer le plus fidèle possible le signal original. Le
démodulateur permet de ramener le signal en bande de base. On trouve aussi le décodeur de canal,
le décodeur de source puis le destinataire
I.3 - Systèmes de communication avec les mobiles [5]
I.3.1- Système monocentre
fo
Mobiles
f1
Emetteur-récepteur
Figure 1.3 : Système monocentre
6
Le système utilise une fréquence unique pendant la durée de liaison, conservée malgré le
déplacement du mobile. Cette fréquence est attribué à l’utilisateur, par le réseau, de façon
exclusive et pour toute la durée de la communication. Ceci limite la zone de couverture et
nécessite des émetteurs de puissance élevée.
I.3.2- Système multicentre
Zone de couverture
Emetteur-récepteur
f
f
Mobile en cours de déplacement
SSGA
Figure 1.4 : Système multicentre
Dans les années 70 est apparu le système multicentre comportant plusieurs émetteursrécepteurs fixes de puissance plus faible, permettant d’étendre la zone de couverture. Le mobile
conserve sa fréquence lors de passage d’un émetteur à l’autre ; la gestion du système en est
simplifiée, mais la fréquence est utilisée avec une très mauvaise efficacité, et ces systèmes ont été
vite saturés.
7
I.3.3- Réseaux cellulaires
F1
F2
F2
F6
F4
F3
F4
F3
F7
F5
F5
F1
Figure 1.5 : Disposition des cellules d’un réseau cellulaire
Dans ces réseaux, le territoire à couvrir est divisé en cellules hexagonales comportant
chacune 7 relais émetteurs-récepteurs, couvrant chacun une zone de 10-20 km de rayon, et
utilisant chacun ses propres fréquences. Ces fréquences peuvent être réutilisées dans la cellule
voisine, pour d ‘autres communications. La diminution de la taille des cellules augmente la
possibilité de réutilisation des fréquences et donc les nombres de canaux disponibles. Elle permet
de diminuer la puissance des émetteurs embarqués, puis la mise au point des systèmes portables.
La caractéristique essentielle des systèmes cellulaires est le maintien de la communication avec
changement de fréquences lors des changements de cellule (hand-over).
I.4 –Techniques d’accès [3] [5]
Si deux mobiles émettent en même temps, l’antenne ne pourra en général capter qu’un des
deux messages, au plus. Il faut donc une technique d’accès pour sérialiser les arrivées du messages
sur l’antenne. Cette technique consiste à diviser d’une façon statique une ressource rare suivant
une séquence invariable pour la partager entre plusieurs utilisateurs.
I.4.1 – Accès multiple à répartition de fréquence ( AMRF )
Cette technique partage les bandes de fréquence disponible pour chaque sens de
communication. Chacune des sous bandes de fréquence constitue un canal physique de
communication radio.
mobile1
f1
mobile2
f2
…………… mobile n
8
fn
Bande passante
1
2
3
4
5
Temps
Figure 1.6 : Accès multiple à répartition de fréquence
I.4.2 – Accès multiple à répartition du temps (AMRT)
La ressource à partager est le temps. On attribue à chaque mobile une portion de temps
nommé IT ou Intervalle de temps. Ces mobiles utilisent la même fréquence.
mobile1
IT1
mobile2
IT 2
…………… mobile n
IT n
Bande passante
1
2
3
4
5
Temps
Figure 1.7 : Technique d’accès AMRT
I.4.3 – Accès multiple à répartition en codes (AMRC)
C’est une technique d’étalement de spectre. Un utilisateur se voit affecter suivant son code
des fractions de la bande passante sur la largeur totale de la bande disponible.
9
Bande passante
1
2
3
4
5
2
3
4
5
1
3
4
5
1
2
4
5
1
2
3
5
1
2
3
4
Temps
Figure 1.8 : Accès multiple à répartition en codes
I.5 - Particularités de la propagation
Les liaisons avec les mobiles utilisent des bandes de fréquence présentes dans tout le spectre,
depuis quelques dizaines de kHz jusqu’au hyperfréquences, en cas d’utilisation de satellites. On
retrouve donc les caractéristiques de propagation de ces fréquences, avec des particularités dues
au fait que l’élément communiquant est le mobile :
-
portée limitée par la taille et la puissance réduite des émetteurs surtout pour les
équipements portables ou embarqués à bord de voitures.
-
qualité de canal de transmission variant très fortement dans le temps avec le déplacement
du mobile, et sujette à de nombreuses perturbations : présence d’obstacles créant des zones
d’ombre, mais aussi difractant ou réfléchissant les ondes, créant ainsi des trajets multiples
et des évanouissements ; difficulté d’éviter les brouilleurs ou les parasites industriels.
-
effet Doppler : c’est la variation de la fréquence f d’une onde lorsque la source et le
récepteur sont mobiles l’un par rapport à l’autre. cette variation vaut :
∆f = f .
V
C
(1.1)
avec V vitesse relative du récepteur par rapport à l’émetteur
C vitesse de l’onde (300.000 km/s)
10
Du fait de la réutilisation des fréquences, un risque de brouillage apparaît en cas de
condition exceptionnelle de propagation. Il existe également un risque d’intermodulation avec une
émission à une autre fréquence, mais de puissance suffisamment élevée pour provoquer des
mélanges de fréquences par non linéarité. Enfin si un émetteur ne respecte pas sa fréquence
nominale avec suffisamment de précision, il peut venir brouiller les canaux voisins.
Afin de remédier à ces difficultés, les nouveaux systèmes numériques font
systématiquement appel à l’égalisation adaptative et au codage correcteur d’erreurs. ils utilisent
également le cryptage, pour garantir la confidentialité des transmissions et des compressions de
données à la source, pour réduire l’encombrement spectral.
I.6 – Le problème de la bande passante [5]
I.6.1 – La modulation par impulsions et codage
En téléphonie classique, c'est-à-dire dans le RNIS on utilise la modulation par impulsions
et codage conforme à la recommandation G711 pour la transmission de la parole. Le codage MIC
est une méthode de numérisation de la voix téléphonique . Trois opérations successives doivent
être réalisées pour arriver à cette numérisation :
Source
analogique
-
l’échantillonnage
-
la quantification
-
et le codage
Codage
Echantillonnage
Quantification
binaire
Message
binaire
Figure 1.9 : Les étapes du codage MIC
I.6.1.1 – Echantillonnage [5] [6] [7]
C’est l’opération qui consiste à prélever périodiquement un échantillon du signal à coder. A
la sortie du bloc échantillonneur, on a le signal :
+∞
S (t ) = S (t )∑ δ (t − nTe)
∗
−∞
11
(1.2)
avec Te pas d’échantillonnage ,
S(t) signal à échantillonner
et δ(t) l’impulsion de Dirac
1
1 +∞
t
1
S (t ) = S (t ). . ∑ δ ( − n) = .S (t ). Ш ( )
Te n= −∞ Te
Te
Te
*
(1.3)
où Ш (t) la peigne de Dirac
Figure 1.10 : La phase d’ échantillonnage
D’après le théorème de Shannon (Claude Elwood), la fréquence maximale Fmax du signal à
échantillonner doit rester inférieure à la moitié de la fréquence d’ échantillonnage
F max ≤
Fe
1
=
2
2Te
(1.4)
La fréquence maximale d’un signal vocal est de 3400 Hz , l’ échantillonnage a lieu toutes
les 125 µs, ce qui nous donne la valeur de
Fe = 8000 Hz = 8 KHz . L’étage qui suit l’
échantillonnage est la quantification.
12
I.6.1.2 – Quantification [5] [6]
La quantification est l’approximation de chaque valeur de signal s(t) par un multiple entier
d’une quantité élémentaire q , appelée « pas de quantification ». En effet, on découpe le domaine
de variation des amplitudes en un certain nombre de plage de même valeur q .
Figure 1.11 : La quantification d’un signal échantillonné
Le choix de pas de quantification se porte sur la condition suivante : Am étant l’amplitude
maximale du signal d’entrée
q≤
1
2 Am
(1.5)
I.6.1.3 – Codage [6]
Le codage consiste à donner une valeur numérique aux échantillons qui ont été
obtenus
lors de la première et la deuxième phase. Il existe diverses façons d'établir la correspondance entre
l'ensemble des amplitudes quantifiés et l' ensemble des nombres binaires qui doivent les
représenter.
Les signaux à coder ayant des amplitudes en général positives et négatives ,les représentations
préférées sont celles qui conservent l'information de signe. Les plus courantes pour le codage sont
les suivantes:
- signe et valeur absolue
- complément à 1
13
Nombre
Signe et valeur absolue
Complément à 1
+3
011
011
+2
010
010
+1
001
001
0
000
000
-1
101
110
-2
110
101
-3
111
100
Tableau 1.1 : Représentation binaire sur 3 bits
Notons que le codage MIC utilise 8 bits pour la représentation binaire. Donc le débit binaire sera
D = 8 × 8000 = 64000bits / s = 64 Kbits / s
I.6.2 – Problème avec le codage MIC
La transmission numérique nécessite plus de bande passante que celle en 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 :
D max = B. log 2 (1 +
avec
S
)
B
(1.6)
S
rapport signal sur bruit.
B
Pour la voix humaine, la fréquence minimale Fmin = 300 Hz et la fréquence maximale
Fmax = 3400 Hz donc B = Fmax − Fmin = 3400 − 300 = 3100 KHz et soit un milieu dont le rapport
S
= 10 dB, donc
B
Dmax = 3100 × log 2 (1 + 10)
Dmax ≈ 10Kbits / s
14
Il faut donc compresser le débit 64 Kbits/s du codage MIC à une valeur autour de
10Kbits/s pour rendre égale 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 d’une importance capitale afin d’accroître la capacité du système.
Pour cela, on utilise simultanément les trois techniques suivantes :
-
pratiquer une modulation multiniveaux. Par exemple, la modulation QPSK peut transmettre
deux bits d’information dans chaque symbole. Ceci réduit le nombre de symboles qu’il est
nécessaire de transmettre de 50% par rapport à un système de modulation à 2 niveaux et
ainsi réduit la bande passante requise à la moitié.
-
utiliser la technique d’accès multiple comme l’ AMRF (Accès multiple à répartition de
fréquence) ou l’AMRT (Accès multiple à répartition du temps) ou l’AMRC (Accès
multiple à répartition de code).
-
le codage de la voix essaie d’exploiter les propriétés de la voix humaine et de l’écoute.
Ainsi comme nous le verrons dans ce présent mémoire, cette technique permet de réduire
de façon étonnante la largeur de bande nécessaire à la transmission.
15
Chapitre II - MODULATION DELTA A PREDICTEUR ADAPTATIF
ou CONTINUOUSLY VARIABLE SLOPE DELTA MODULATION
La CVSD est une technique de quantification différentielle de la forme d’onde. Elle utilise
deux niveaux de quantifications. L’amélioration de la modulation delta avec la technique
adaptative de quantification donne naissance au codeur CVSD.
Source de
message
numérique
Codeur
CVSD
Décodeur
Destinataire
CVSD
Codeur
de
canal
Emetteur
Décodeur
de
canal
Récepteur
Figure 2.1 : Chaîne de transmission numérique contenant un codec CVSD
II.1 – Quantification différentielle[8][9][10]
La quantification différentielle est une technique de codage où la différence entre le présent
échantillon et la valeur prédite pour le prochain échantillon est quantifiée. En effet, elle essaie
d’exploiter le fait qu’avec des signaux d’acoustique la valeur d’un échantillon peut être
légèrement prévue par la valeur des échantillons précédents. Donné un certain nombre
d’échantillon, les algorithmes de cette section calculeront une prévision de la prochaine valeur
prélevée. Ils stockeront alors seulement la différence entre cette valeur prévue et la valeur réelle.
Cette valeur n’est habituellement pas très grande et peut donc être stockée avec un petit nombre
de bits que la valeur prélevée réelle, ayant pour résultat la compression.
II.1.1– Le codeur [6][8]
Q convertit le signal de différence
pour la transmission et Q
–1
d (n) = x(n) − x p (n) en une représentation binaire utile
fait l’opération inverse. Notons que le codeur possède un décodeur
16
local dans la boucle de rétroaction. L’élément crucial du quantification différentielle est le filtre de
prédiction P(z). La sortie xp (n) de P(z) est la somme des précédents signaux échantillonnés
xP (n) =
P
∑a
k =1
k
xQ ( n − k )
(2.1)
x(n) est un signal échantillonné
p ordre du filtre de prédiction
a k coefficient
x p (n) sortie du filtre P(z)
xQ (n) entrée du filtre P(z),
x p (n)
x Q (n)
d Q (n)
Figure 2.2 : Schéma synoptique du codeur de la quantification différentielle
En appliquant la transformée en Z de (1.1), la fonction de transfert du filtre de prédiction sera :
p
X P ( z)
P( z ) =
= ∑ ak z −k
X Q ( z ) k =0
On a aussi :
X P ( z) X p ( z) d Q ( z)
P( z )
=
.
=
.Q −1 ( z )
C ( z ) d Q ( z ) c( z ) 1 − P( z )
17
(2.2 )
P( z )
X P ( z)
=
Q ( z )[1 − P( z )]
C ( z)
(2.3)
Le schéma synoptique du codeur devient :
x (n)
d (n)
c (n)
Q
+
-
x P (n)
P( z )
Q[1 − P ( z )]
et sa fonction de transfert deviendra :
H ( z) =
Q( z )
P( z )Q ( z )
1+
Q( z )[1 − P( z )]
H ( z ) = Q ( z )[1 − P ( z )]
(2.4 )
II.1.2– Le décodeur [6][8]
c (n)
Q-1
d Q D (n)
+
x Q D (n)
+
x P D (n)
P(z)
Figure 2.3 : Schéma synoptique du décodeur de la quantification différentielle
18
En utilisant la propriété des schémas fonctionnels, nous obtenons :
c(n)
1
1 − P( z )
Q-1
xQD(n)
Et la fonction de transfert du décodeur est :
H D ( z) =
X QD ( z )
C ( z)
=
1
Q ( z )[1 − P ( z )]
( 2.5 )
Pour avoir le meilleur résultat de codage, un bon filtre de prédiction P(z) devrait minimiser
le signal de différence d(n), c’est la base même de la quantification différentielle. Dans la plupart
des algorithmes de la modulation delta l’ordre du filtre de prédiction est mis à 1.
II.2 – La modulation delta (DM) [8] [11] [12]
La modulation delta est une quantification
différentielle qui utilise deux niveaux de
quantification, donc représentée par un bit. En utilisant un seul bit pour représenter chaque
échantillon, on a une forte réduction de débit. Donc le débit binaire a le même valeur que la
fréquence d’échantillonnage.
II.2.1 - Schéma bloc [ 8 ] [ 13 ] [ 12 ]
Le filtre de prédiction P (z) est de premier ordre :
P ( z ) = az −1
(2.6)
Et le quantificateur Q a deux niveaux. La fonction de transfert entre d
Q
(n) et x p (n) peut être
exprimée ainsi :
X P ( z)
az −1
=
DQ ( z ) 1 − az −1
( 2.7)
19
et au décodeur,
xQD ( z )
d QD ( z )
=
1
1 − az −1
(2.8)
En pratique, la valeur a<1 est préférable. Q fonctionne comme un comparateur :
-
si d (n) > 0
bit transmis c (n) = 1
-
si d (n) ≤ 0
bit transmis
c (n) = 0
Codeur
Décodeur
dQD(n)
xp(n)
xQD (n)
xQDF (n)
xPD (n)
dQ(n)
Figure 2.4 : Schéma bloc de la modulation delta
Q-1 convertit les niveaux logiques en valeur nommé « delta dQ(n) » comme le montre le
tableau suivant :
Signe de d(n)
c(n)
dQ(n)
-
0
-∆
+
1
+∆
Tableau 2.1: Signe de d(n) avec les niveaux logiques correspondants et le delta
20
A la réception, le décodeur incrémente q(t) d’un pas ∆ si c(n)=1 et le décodeur décrémente
q(t) de ∆ si c(n)=0. Il poursuit effectivement le signal analogique avec une approximation de
l’ordre d’un pas.
Donc le signal reconstitué xQD(n) est un signal en escalier qui ne peut que varier de +∆ ou –
∆ à chaque instant d’échantillonnage nTe. Ces déformations disparaissent après le filtre passe-bas.
II.2.2 – Problèmes rencontrés en DM [12]
La DM est très simple à réaliser et permet de réduire considérablement le débit binaire
donc la bande passante occupée.
Comme il s’agit de transmettre qu’un seul bit,
D = 1.Fe = Fe
(2.9)
Malgré cet avantage, il présente toutefois deux types d’erreurs intrinsèques.
II.2.2.1 – Saturation de pente [ 8 ] [ 13 ] [ 12 ]
x(t)
xp(n)
t
Saturation de pente
Figure 2.5 : Saturation de pente dans le DM
21
Si le signal a son amplitude qui s’élève ou s’abaisse de plus d’un pas pour un laps de temps
déterminé, le codeur à DM n’arrive plus à le suivre.
Ce phénomène apparaît lorsque :
x ( n) − x p ( n) > ∆
dx (t ) ∆
> = ∆.Fe
dt
Te
soit
(2.10)
Augmenter la valeur de ∆ peut amoindrir l’effet de saturation de pente mais crée un nouveau
problème : le bruit granulaire.
II.2.2.2 – Bruit granulaire [ 8 ] [ 13 ] [ 12 ]
x(t)
Xp(n)
t
bruit granulaire
Figure 2.6 : Bruit granulaire dans le DM
Avec un grand pas ∆, les signaux de basse amplitude ne sont plus quantifiés
correctement. Il y a erreur de quantification.
Une façon de résoudre ces deux problèmes est de choisir une fréquence d’échantillonnage élevé
de 5 voire 10 fois supérieure que le minimum donné par le théorème de Shannon (Fe).
Autre possibilité, appliquer la technique adaptative au codeur DM en ajustant la dimension
du pas de quantification ∆. De la sorte, on réduit les deux phénomènes sans augmenter le débit.
22
II.3 – Modulation delta à prédicteur adaptatif [13][14]
II.3.1 – Principe
Le premier algorithme CVSD a été proposé par Greefkes et Riemens en 1970. L’idée de
base de la CVSD est de d’opérer avec une taille de pas ∆ qui s’adaptait aux variations de signal.
Cet algorithme essaie de diminuer la valeur de ∆ si le signal est à basse amplitude et d’augmenter
cette valeur pour un signal d’entrée à variation rapide. Généralement, cette variation de ∆ dépend
essentiellement de c(n), c(n − 1), c(n − 2) et c(n − 3) .
II.3.2 – Bloc diagramme de CVSD [7] [14]
c(n)
Figure 2.7 : Schéma bloc du codeur et décodeur CVSD
23
II.3.2.1 – Quantification
Après avoir fait la différence entre l’échantillon du signal original et le signal reconstitué,
le bloc Q effectue la quantification :
- si
d ( n ) = x ( n) − x p ( n) > 0
alors
c( n) = 1
- si
d ( n ) = x ( n) − x p ( n) ≤ 0
alors
c( n) = 0
c(n) est la sortie du codeur CVSD.
II.3.2.2 – Registre à décalage
Le registre à décalage mémorise les 3 bits suivants c(n), c(n − 1) et c(n − 2) et envoie ces
trois données numériques vers le bloc suivant.
II.3.2.3 – Algorithme de surcharge
L’algorithme de surcharge opère sur les bits vus en dessus, il comporte des portes logiques
( inverseur, additionneur et multiplicateur) et détecte si les 3 bits sont identiques ou non.
Voici les opérations qu’il va effectuer :
-
inverser c (n), c (n-1) et c (n-2)
⇒
c (n),c (n−1) et c (n−2)
-
multiplier c (n), c (n-1) et c (n-2)
⇒
c(n).c(n−1).c(n−2)
-
multiplier c (n),c (n−1) et c (n−2)
⇒
c (n).c (n−1).c (n−2)
-
additionner c (n).c (n-1).c (n-2) et c (n).c (n−1).c (n−2)
A la sortie de ce bloc on aura alors c (n).c (n−1).c (n−2)+c(n).c(n−1).c(n−2) . Donc si la sortie
est 1 alors il y a 3 successions de bits identiques et si on a 0 les 3 bits sont différents.
II.3.2.4 – Filtre syllabique
C’est un intégrateur de constante de temps τ = 5ms , sa sortie dépend de la valeur de la
sortie de l’algorithme de surcharge X = c (n).c (n − 1).c (n − 2) + c(n).c(n − 1).c(n − 2) .
−t
- si X = 0 sa sortie croît exponentiellement de
eτ
−t
- si X = 1 sa sortie décroît exponentiellement de
24
eτ
II.3.2.5 – Modulation d’amplitude par impulsions (MAI)
Le MAI possède deux entrées : la sortie du filtre syllabique et c(n). La sortie du filtre
syllabique détermine l’amplitude du signal de sortie et son signe dépend de c(n).
- si c(n) = 0
signe négatif
- si c(n) = 1
signe positif
II.3.3 – Allure des signaux en CVSD [13]
Xp(n)
Xp(n)
X(t)
t
Figure 2.8 : Signaux présents dans le CVSD
La saturation de pente et le bruit granulaire se réduisent en CVSD.
II.3.4– Mean Opinion Score (MOS)
La qualité du codage de la voix dont la CVSD est habituellement mesurée en termes de
points moyens d’ opinion ou MOS. C’est une valeur comprise entre 1 et 5.
La CVSD se comporte bien en présence des erreurs binaires. Cette robustesse aux erreurs
( canal bruyant) fait de la CVSD une solution idéale dans l’application en radio mobile.
25
Nombre
Qualité
5
Excellente : dialogue entre deux personnes
4
Bonne : qualité téléphonique
3
Assez bonne : compréhensible mais qualité pas très bonne
2
Médiocre : mots compréhensibles mais le locuteur pas reconnaissable
1
Mauvaise : mots incompréhensibles et locuteur pas reconnaissable
Tableau 2.2 : Caractéristiques de MOS
Figure 2.9 : Comportement de la CVSD face aux erreurs
II.4 - Exemple CVSD
Prenons par exemple un signal sinusoïdal de fréquence 50 Hz : x(t) = 0.5sin(2π.50t). Si on
échantillonne ce signal à 2 KHz, on a les valeurs des échantillons suivantes :
x (n) = 0.5 sin(2π . 50 . n . 1/2000)
Prenons
∆max = 1/12 = 0,0863
∆min = 1/18 = 0,0556
26
Soient c(n) la sortie du codeur CVSD et x p (n) la valeur prédite de x(n) donc
Pour c(n) et signe:
n
x(n)
c(n)=1, signe +
si x(n) − x p (n + 1) > 0
c(n)=0, signe -
si x(n) − x p (n + 1) ≤ 0
c(n)
signe
succession de 3 bits
identiques
x p ( n + 1) = x p ( n ) + ( signe .∆ )
0
0
1
+
Non
0.0556
1
0.0782
1
+
Non
0.1112
2
0.1545
1
+
Oui (changement de
∆min en ∆max)
0.1975
3
0.2270
1
+
Oui (changement de
∆max en 2.∆max)
0.3701
4
0.2939
0
-
Non
0.2838
5
0.3536
1
+
Non
0.3701
6
0.4045
1
+
Non
0.4564
7
0.4455
0
-
Non
0.3701
8
0.4755
1
+
Non
0.4564
9
0.4938
1
+
Non
0.5427
10
0.5
0
-
Non
0.4564
11
0.4938
1
+
Non
0.5427
12
0.4755
0
-
Non
0.4564
13
0.4455
0
-
Non
0.3701
14
0.4045
0
-
Oui (changement de
∆max en ∆min)
0.3145
15
0.3536
1
+
Non
0.2589
Tableau 2.3 : Valeur des principaux signaux en CVSD
27
La figure 2.10 donne la représentation graphique des signaux mis en jeu du premier échantillon
jusqu’au douzième échantillon ( n = 12 ). Remarquez le changement de la valeur de ∆ en n = 5 .
xp(n)
n
Figure 2.10 : Variation de ∆ en CVSD
On constate que chaque échantillon est représenté par un bit c(n), donc le débit binaire sera
obtenu ainsi :
D = Fe .N = Fe
puisque N = 1
D = 2 Kbits / s
Le débit binaire dépend uniquement de la fréquence d’échantillonnage Fe .
II.5 - Applications de CVSD
II.5.1– Bluetooth[15]
II.5.1.1 – Généralités
Le groupe SIG formé de Nokia, Ericsson, IBM, Toshiba et Intel élabore le projet
Bluetooth. Le principe de la technologie Bluetooth est de constituer un miniréseau sans fil dès lors
que deux équipements sous tension se situent à proximité l’un de l’autre. Exemple : téléphone
mobile GSM, PC card, oreillette,…L’équipement qui prend la parole en premier devient le poste
28
maître, tandis que le second adopte le statut d’esclave, tout comme les autres appareils qui
peuvent se rattacher au picoréseau ainsi constitué.
Les caractéristiques du Bluetooth sont :
- liaison avec 200 appareils dont 8 actifs et les autres en veille
- débit total de 1 Mbits/s
- connexion sans fil utilisant une bande fréquence 2,4-2,4835 GHz
- portée 10-100 m
- 79 fréquences radios utilisées tour à tour
- accès au réseau Internet et Ethernet par le protocole PPP
II.5.1.2 – Utilisations
- connexion au réseau d’entreprise
- transmission de son entre un téléphone GSM et un télévision
- sécurité domestique : ouverture d’une porte ou d’un garage piloté par un puce Bluetooth
inséré dans un organiseur électronique ou un téléphone GSM
- l’électronique automobile
- la mise à jour des données : synchroniser des données entre un PC, un portable ou un
organiseur de poche
- transfert de photographie d’un appareil photo numérique vers un téléphone GSM qui les
enverra ensuite sur internet
II.5.1.3 – Transmission du son dans le système Bluetooth
Signal échantillonné
à 64 KHz
Signal décodé
CVSD
codeur
Mémoire
tampon
Modulation
CVSD
décodeur
Mémoire
tampon
Démodulation
GFSK
GFSK
Figure 2.11 : Schéma synoptique de la transmission de la voix
29
II.5.2 - Land Mobile Radio[8]
C’est un émetteur-récepteur numérique travaillant dans les bandes VHF et UHF. Le LMR
est utilisé dans la communication privée et surtout pour la sécurité publique .
Figure 2.12 : Schéma synoptique de LMR
II.5.3 – Autres utilisations[8]
La défense américaine utilise aussi des appareils contenant un CVSD codec tel le MilStd-188-113 ( 16 kbits/s et 32 kbits/s) et Federal Standard 1023 ( 12 kbits/s ).
II.6 - Résumé
La CVSD a beaucoup d’avantages lui permettant d’être utilisée en codage numérique de la
parole. Elle emploie l’algorithme de quantification différentielle adaptative avec un codage de 1
bit et un filtre de prédiction du premier ordre.
Le seul bit à transmettre élimine la complexité du circuit à concevoir. La robustesse du
codeur en présence d’erreur rend l’algorithme de détection et de correction d’erreur inutile. De
plus, l’algorithme CVSD entier et les filtres peuvent être intégrés dans un seul boîtier.
Finalement, la CVSD peut opérer sur une grande gamme de débit- 16 à 64 Kbits/s. A 16
Kbits/s la qualité sonore n’est pas particulièrement bonne mais elle est cependant intelligible.
Entre 24 et 48 Kbits/s, le système est tout à fait acceptable. Le codeur CVSD travaillant en
dessus de 48 Kbits/s offre une excellente qualité de transmission.
30
Chapitre III - PREDICTION LINEAIRE A EXCITATION RESIDUELLE
ou RESIDUAL EXCITED LINEAR PREDICTOR
III.1 – Introduction
Les modulations étudiées jusqu'ici se préoccupent essentiellement de transmettre un signal,
sans se préoccuper outre mesure de la nature de la parole. Les modulations différentielles
permettent une exploitation des propriétés statistiques de la parole (prépondérance des basses
fréquences), mais ne permettent qu'un gain médiocre relativement à la modulation par impulsion
et codage.
Les procédés basés sur la synthèse de la parole partent d'une autre hypothèse : l'appareil
phonatoire humain peut être représenté par un système linéaire arbitrairement complexe, excité par
un signal déterminé. Il suffit de déterminer les coefficients du système linéaire, et le signal
d'excitation le plus approprié pour parvenir à une approximation valable du signal original, qui est
un signal de parole.
S'il est possible de modéliser ainsi l'appareil phonatoire humain, il suffit en principe de ne
transmettre que la série de coefficients que l'on a calculé, ainsi que le type du signal d'excitation,
et de laisser au récepteur le soin de synthétiser le message original.
Etant une version améliorée du codage par prédiction linéaire ( LPC ), le RELP tire profit de
cette technique.
III.2 – La voix humaine [ 16] [ 17]
III.2.1 – La production de la parole
L'appareil respiratoire fournit l'énergie nécessaire lorsque l'air est expiré par la trachéeartère. Au sommet de celle-ci se trouve le larynx où la pression de l'air est modulée avant d'être
expulsé par le conduit vocal qui s'étend du pharynx jusqu'aux lèvres. Le larynx est un ensemble de
muscles et de cartilages mobiles qui entourent une cavité située à la partie supérieure de la trachée.
Les cordes vocales sont en fait deux lèvres symétriques placées en travers du larynx ; ces lèvres
peuvent fermer complètement le larynx et, en s'écartant, déterminer une ouverture triangulaire
31
appelée glotte. L'air y passe librement pendant la respiration, pendant la voix chuchotée, et aussi
pendant la phonation des sons sourds ou non voisés.
Figure 3.1 : La production de la parole humaine
Les sons voisés résultent au contraire d'une vibration périodique des cordes vocales; des
impulsions périodiques de pression sont ainsi appliquées au conduit vocal qui est un ensemble de
cavités situées entre la glotte et les lèvres. Il peut être considéré comme une succession de tubes
ou cavités acoustiques de sections diverses. Les sons voisés résultent donc de l'excitation du
conduit vocal par des impulsions périodiques de pression liées aux oscillations des cordes vocales.
III.2.2 – Caractéristiques de la voix [18] [17] [20]
La voix humaine constitue un vecteur d’information analogique primordiale dans les
communications humaines directes ou indirectes à travers un système de télécommunications.
La voix est une phénomène aléatoire non stationnaire et discontinue dans le temps. Il peut
cependant être décomposé en une suite de sons élémentaires appelée phonèmes. Il existe deux
sortes de phonèmes :
-
le son voisé par exemple les voyelles
-
et le son non voisé comme s ou f
32
Le son voisé est quasi périodique dans le temps et a une spectre de raies harmonique d’une
fondamentale. Le son non voisé est aléatoire et occupe une large bande.
Figure 3.2 : Structure temporelle et fréquentielle du son voisé
Figure 3.3 : Structure temporelle et fréquentielle du son non voisé
La bande de fréquences occupée par la voix humaine se trouve entre 20 à 20000 Hz mais
seul les fréquences autour de 300 à 3400 Hz sont les plus importantes
L’énergie produite par un son voisé est supérieure à celui de la parole non voisée. Le
spectre du son voisé est caractérisé par ses formants c’est à dire les harmoniques principales.
La quasi-periodicité de la voix fait apparaître la structure harmonique du fine, causée par
la vibration du corde vocal. Dans la figure 3.4, le premier pic du spectre est la fréquence
fondamentale :plus haute pour les femmes et plus basse pour les hommes. Les conduits vocaux
33
sont formés de pharynx et de la cavité buccale. Ces conduits vocaux interagissant avec la source
sonore provoquent la structure du formant. Le formant caractérise l’intelligibilité du son. Les trois
premiers formants se trouvant en dessous de 3 KHz sont importants soit pour la synthèse de la
parole soit pour la perception.
Figure 3.4 : Structure harmonique des formants
III.3 – Synthèse de la parole [ 20 ] [21] [22]
III.3.1 – Principe
Il est possible de modéliser la voix humaine comme une source sonore et un filtre
représentant sous forme abstraite les passages du nez ou de la bouche. La parole voisée est
produite par un générateur d’impulsions périodiques. Une source de bruit aléatoire excite le canal
dans le cas d’un son non voisé. Les caractéristiques du filtre étaient variables, correspondant aux
différentes positions de l’articulation. Le filtre est de type filtre en treillis d’ordre 10. Sa réponse
en fréquence essaye d’imiter la structure de l’enveloppe spectrale de la voix.
Figure 3.5 : Modélisation de la voix humaine
34
III.3.2 – Filtre en treillis [2]
Les filtres en treillis apparaissent dans les études d’analyse et de synthèse de la parole,
pour la simulation des conduits vocaux.
xM(n)
x2(n)
x1(n)
y(n)
km
k2
k1
km
k2
k1
z -1
uM(n)
z -1
z -1
u2(n)
u1(n)
Figure 3.6 : Structure d’un filtre en treillis
Les suites x1(n) et y(n) sont liées par les relations suivantes :
y (n) = x1 (n) − k1 y (n − 1)
u1 (n) = k1 y (n) + y (n − 1)
De même on peut écrire :
x1 (n) = x 2 (n) − k 2 u1 (n − 1)
u 2 (n) = k 2 x1 (n) + u1 (n − 1)
Par itération, il apparaît que xM(n), uM(n) et y(n) sont liées par :
M
y (n) = xM (n) − ∑ bi y(n − i)
i =1
u ( n) =
M −i
∑b
i=0
M −i
(3.1)
y (n − i ) + y (n − M )
Il en résulte la fonction de transfert HM(z) telle que :
H M ( z) =
1
M
1 + ∑ bi z − i
i =1
35
=
1
A( z )
(3.2)
III.4 – Codage à prédiction linéaire [17] [16] [20]
III.4.1 – Principe
Au lieu de transmettre le signal réel à l’entrée, le signal était mesuré, un modèle
mathématique construit et c’est les paramètres et les coefficients des équations de ce modèle qui
étaient transmis. Un codeur LPC doit d’abord déterminé si l’échantillon de parole est voisé ou non
voisé. S’il est non voisé on connecte une source de bruit qui sert d’excitation. S’il est voisé, la
hauteur du son est extraite. Les coefficients du filtrage sont déterminés en les incluant dans une
boucle de rétroaction pour les comparer avec l’échantillon de parole entrant jusqu’à ce que
l’erreur, la différence entre la parole modélisée et l’échantillon original, soit minimisée.
La seul information qui sera transmise est :
-
le type d’excitation, voisé ou non voisé ;
-
la hauteur, pour l’excitation voisé ;
-
le gain ou sonorité ;
-
les coefficients du filtre.
Un codeur de source peut ainsi être construit pour produire de la voix intelligible à des bas
taux de bits.
III.4.2 – Analyse et synthèse de la voix
s(n)
Coefficients
A(z)
H(z)
Excitation
Analyse
parole
synthétique
Synthèse
Figure 3.7 : Structure d’un codeur et décodeur à prédiction linéaire
Dans le codeur, un bloc d’environ 20 ms de parole est emmagasiné et analysé afin de
déterminer les coefficients de prédiction ai . La parole est alors passée à travers le filtre inverse
36
( A( z ) =
1
) afin d’obtenir l’erreur résiduelle e(n). Grâce à celle-ci, il est possible de
H ( z)
déterminer le pitch du signal. L’erreur de prédiction est analysée afin de déterminer si le son est
voisé ou non. Cette information est envoyée au récepteur ainsi que les coefficients de prédiction
du filtre.
Au récepteur, le filtre H(z) synthétise la voix avec l’aide des coefficients ai et le signal
d’excitation e(n). On obtient donc un signal synthétique de la parole.
III.4.3 – Calcul des coefficients du filtre
Le LPC prédit la suite des données s(n) utilisant 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).
Cela est possible grâce à l’erreur de prédiction e(n) :
10
e(n) = s(n) − ∑ ai s(n − i )
(3.3)
i =1
On peut déterminer les coefficients ai du filtre de prédiction pour minimiser l’erreur
quadratique moyenne :
[
]
1
E e ( n) =
N0
2
N 0 −1
∑ e ( n)
2
(3.4)
n =0
Les coefficients du filtre de prédiction peuvent être calculés en faisant intervertir les
éléments de la fonction d’autocorélation rss (m) de la suite s(n) :
1
rss (m) =
N
N − m −1
∑ s (n + m ) s ( n)
(3.5)
n=0
m = 0,1,2,3,4,5,6,7,8,9,10
N nombre d’échantillon de la parole dans une trame (256 ou 160)
37
Il vient :
 rss (1)  rss (0) rss (1) rss (2) . . .
 r (2)   r (1) r (0) r (1) . . .
ss
ss
 ss
  ss
 .  rss (2) rss (1) rss (0) . . .

=
.
.
. . .
 .   .
 .   .
.
.
. . .

 
rss (10)  rss (9) rss (8) rss (7) . . .
rss (9)   a1 
rss (8)   a 2 
rss (7)  a 3 
. 
.  . 
.  . 
 
rss (0)  a10 
Donc
 a1  rss (0) rss (1) rss (2) . . .
 a   r (1) r (0) r (1) . . .
ss
ss
 2   ss
 a 3  rss (2) rss (1) rss (0) . . .
 =
.
.
. . .
 .   .
 .   .
.
.
. . .
  
a10   rss (9) rss (8) rss (7) . . .
−1
rss (9)   rss (1) 
rss (8)   rss (2) 
rss (7)  rss (3) 
 .

.   . 
.   . 
 

rss (0)  rss (10)
(3.6)
Le filtre ainsi obtenu, qui a pour fonction de transfert H(z) telle que :
H ( z) =
1
10
(3.7)
1 + ∑ ai Z − i
i =1
minimise la puissance de l’erreur de prédiction e(n).
III.4.4 – Estimation de la valeur de l’excitation résiduelle
Après avoir calculé les coefficients a i du filtre, on peut trouver la valeur de e(n) à partir de
l’équation ci-dessous :
10
e(n) = s(n) − ∑ ai s(n − i )
i =1
(3.8)
e(n) est appelée « prédiction résiduelle ». 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.
38
III.4.5 – Transmission des paramètres LPC[17][22]
Paramètres
Voisé ou non voisé
Nombre de bits
1
Période de pitch
6
a1
5
a2
5
a3
5
a4
5
a5
4
a6
4
a7
4
a8
4
a9
3
a 10
2
Gain
5
Synchronisation
1
TOTAL
54
Tableau 3.1 : Nombre de bits attribués à chaque paramètres
Le nombre total de bits pour transmettre les paramètres LPC est au nombre de 54.
Rappelons que la fréquence d’échantillonnage du signal à l’entrée du codeur LPC est Fe = 8 KHz .
Ce signal échantillonné est divisé en 180 segments. Le codeur LPC analyse un à un chaque
segment ainsi le débit binaire obtenu est :
D = 54.
8000
= 2,4kbits / s
180
(3.9)
Le LPC fonctionne à des bas taux de bits. Malheureusement, la qualité obtenue n’est pas
convenable. La parole reste intelligible mais de sonorité mécanique et distord profondément
la voix de locuteur. Pour l’améliorer on peut combiner la LPC avec le codage de la forme d’onde.
39
III.5 – La prédiction linéaire à excitation résiduelle [9] [17] [21]
III.5.1 – La prédiction résiduelle
Figure 3.8 : Obtention de la prédiction résiduelle et reconstitution de la parole s(n)
Il est très clair, d'après la figure précédente, que le signal d'excitation idéal n'est autre que
10
l'erreur de prédiction e(n) = s(n) − ∑ ai s(n − i) . On remarque que ce signal est plus ou moins
i =1
uniforme dans toute la bande de fréquence qui nous intéresse. L'idée des codeurs RELP est de
transmettre une petite partie de l'erreur de prédiction, le récepteur pourra ainsi entièrement
reconstruire le signal d'erreur.
III.5.2 – Structure de RELP
e(n)
Analyse
LPC
paramètres
FPB
1KHz
Codeur
DM
Q
Figure 3.9 : Codeur RELP
40
Multiplexeur
s(n)
e(n)
Décodeur
DM
Demultiplexeur
s(n)
Synthèse
LPC
paramètres
Q -1
Figure 3.10 : Décodeur RELP
L'erreur de prédiction est passée à travers un filtre passe-bas qui coupe à environ 1 kHz. La
sortie de ce filtre est quantifiée par une méthode de codage de l'onde pour être transmis en même
temps que les paramètres LPC. Dans le récepteur, l'erreur de prédiction est reconstruite en copiant
la bande de base du signal dans les autres bandes du spectre à considérer. Les codeurs RELP sont
d'habitude utilisés pour fournir une bonne qualité de voix à un débit d'environ 9,6 Kbits/s.
III.5.3 – Exemple
Prenons par exemple un signal sinusoïdal de fréquence 1KHz : s (t ) = 0,5 sin(2π .1000t ) .
Si on échantillonne ce signal à 8KHz, on a les valeurs des échantillons suivantes :
s (n) = 0,5 sin(2π .1000.
n
)
8000
Ce signal sera divisé en bloc de 20 ms donc pour Fe = 8 KHz il y aura :
N = 8000 × 0,02 = 160 échantillons.
D’après l’équation (3.6) telle que
 a1  rss (0) rss (1) rss (2) . . .
 a   r (1) r (0) r (1) . . .
ss
ss
 2   ss
 a 3  rss (2) rss (1) rss (0) . . .
 =
.
.
. . .
 .   .
 .   .
.
.
. . .
  
a10   rss (9) rss (8) rss (7) . . .
41
−1
rss (9)   rss (1) 
rss (8)   rss (2) 
rss (7)  rss (3) 
 .

.   . 
.   . 
 

rss (0)  rss (10)
On peut dresser le tableau ci-dessous pour le calcul des 10 coefficients du filtre.
Coefficients
a1
a2
a3
a4
a5
Valeurs
-1,6300
1,3167
-0,0773
0,0082
-0,0038
Coefficients
a6
a7
a8
a9
a10
Valeurs
-0,0036
0,0017
-0,0055
0,1737
-0,2245
La prédiction résiduelle est calculée d’après la relation suivante : e(n) = s(n) −
10
∑ a s (n − i )
i =1
i
Prenons delta = 0,1
c(n)=1, signe + si x(n) − x p (n + 1) > 0
Pour c(n) et signe:
c(n)=0, signe - si x(n) − x p (n + 1) ≤ 0
n
s(n)
e(n)
c(n)
Signe
x p (n + 1) = x p (n) + ( signe.delta )
0
0
0
0
+
0,0667
1
0,3534
0,7068
1
+
0,1334
2
0,4999
-0,1721
0
-
0,0667
3
0,3539
0,0086
0
-
0
4
0,0008
0,1097
0
-
-0,0667
5
-0,3528
0,1724
1
+
0
6
-0,4999
0,1031
1
+
0,0667
7
-0,3545
-0,0090
1
-
0
8
-0,0016
-0,1148
1
+
0,0667
9
0,3522
-0,1773
0
-
0
10
0,4999
0,0009
1
+
0,0667
11
0,3550
-0,0001
0
-
0
12
0,0023
-0,0001
1
+
0,0667
13
0,4999
-0,0011
0
-
0
14
-0,4999
-0,0014
0
-
-0,0667
17
-0,3556
-0,0009
1
+
0
42
Voici donc les attributions de bits pour le RELP dans un bloc de 20 ms :
- la prédiction résiduelle N1 = nombre d’échantillons = 0,02.Fe ici Fe = 2000Hz alors
N 1 = 40
N 2 = 5 × 10 = 50
- chaque coefficient est codé sur 5 bits donc
Le débit binaire est D = ( N 1 + N 2 )(
1
) = (40 + 50) × 50
0,02
D = 4500bits / s = 4,5 Kbits / s
III.6 – Application [24]
Le codage RELP est utilisé dans le système GSM 1800. Il s’agit donc d’un réseau GSM dont
le rayon d’action des cellules a été réduit pour servir les abonnées dans la région urbaine.
III.6.1 – Caractéristiques
-
Fréquences utilisées : émission 1710-1785 MHz, réception 1805-1880MHz
-
Technique d’accès : AMRT
-
Modulation : GMSK
-
Distance duplex : 95 MHz
-
Bande passante : 75 MHz
-
Débit de transmission : 270 Kbits/s
-
Type de transmission : numérique
-
Nombre de canaux radios par sens : 375
-
Codage voix : RELP 9,6 Kbits/s
III.6.2 – Structure de réseau GSM
Station
mobile
Sous-système
radio
(BTS-BSC)
Sous-système réseau
(MSC/VLRHLR/AUC)
Figure 3.11 : Architecture du réseau GSM
43
RTCP-RNIS
III.6.2.1 – Station mobile
Echantillonnage
Segmentation
et codage RELP
Codage de
canal
Cryptage
Modulation
micro
espace
Décodage
RELP
CNA
Décodage de
canal
Décryptage
Démodulation
Haut-parleur
Figure 3.12 : Architecture du station mobile de GSM 1800
Le poste d’un abonné permet l’accès au réseau, ce terminal est aussi appelé « station
mobile ». Un station mobile est à la fois un poste téléphonique sans fil sophistiqué et un terminal
de données qui transmet et reçoit des messages du réseau.
III.6.2.2 - Sous-système radio
Le sous-système radio contient la BTS et le BSC. La BTS est un groupement d’émetteur et
récepteur fixe, elle échange des messages avec les stations mobiles présentent dans les cellules
qu’elle contrôle. Après la BTS se trouve le contrôleur de station de base nommé BSC. Cet
équipement est d’une part un concentrateur de trafic issu du BTS et d’autre part une passerelle
vers le sous système réseau.
III.6.2.3 - Sous-système réseau
Le commutateur de réseau est le MSC, il interconnecte le réseau GSM avec le réseau
téléphonique. Il est l’interface des bases de données du réseau GSM avec le sous système radio.
La base de données relative au visiteur du réseau ou VLR stocke des informations se
rapportant à des abonnés qui sont en transit et le HLR contient des informations décrivant les
44
abonnées du réseau. Le AUC contient la copie de la clé secrète utilisée pour le chiffrement des
communications, clé qui est également stockée dans la carte SIM de l’abonné.
III.6.2.4-RTCP-RNIS
Le Réseau Téléphonique Commuté Public est conçu pour la transmission analogique de la
parole dans une bande de fréquence de 300 à 3400 Hz. Chaque équipement d’abonné est raccordé
au central téléphonique par une paire de fils de cuivre dite paire téléphonique . La liaison est
établie entre deux abonnées par commutation des circuits. Le RNIS est un réseau de
télécommunications numériques permettant de transmettre la voix, les données et même les
images animées (vidéo).
45
Deuxième partie
SIMULATION sous MATLAB
46
Chapitre I – Présentation du logiciel
I.1 - Introduction
Matlab (de Matrix Laboratory) a été développé par Math Work Inc (USA), c’est un
logiciel de programmation permettant d’effectuer des calculs numériques et de visualisation
destinée aux ingénieurs, scientifiques et chercheurs. Il possède un langage à la fois simple
d’utilisation et puissant.
Matlab intègre des fonctions d’analyse numérique, de calcul matriciel, de traitement de
signal, de visualisation graphique 2D ou 3D. Il peut être ainsi utilisé de façon interactive,
l’utilisateur a la possibilité de réaliser rapidement des calculs sophistiqués et d’en présenter les
résultats sous forme numérique ou graphique. L’utilisateur peut créer sa propre fonction pouvant
être appelée de façon interactive ou par le script. Ces fonctions fournissent un atout inégalable.
Matlab accepte tout éditeur de texte générant un fichier .txt comme outils de saisie de
programme, mais il faut mettre une extension .m au fichier pour indiquer au matlab que c’est un
fichier source.
Matlab fonctionne en mode « runtime », c’est à dire, ne générant pas de programme
autonome ( .exe ) mais nécessitant le lancement du logiciel Matlab pour avoir la possibilité de
faire tourner le programme.
I.2 – Fonctions spéciales utilisées dans notre simulation
I.2.1 - wavread
Cette fonction lie un fichier audio d’extension .wav et retourne les valeurs des
échantillons(entre –1 et 1), la fréquence d’échantillonnage du fichier et le nombre de bit.
Syntaxe
[echantillon, fe, n] = wavread ( ‘nom_ du_fichier’) ;
I.2.2 - wavwrite
La fonction wavwrite crée un fichier audio .wav avec les paramètres d’entrées que l’on a
attribués à ce fonction. Le nombre de bits n doit être au nombre de 8 ou 16.
Syntaxe
wavwrite (echantillon, fe, n, ‘nouveau_nom_du_fichier’) ;
47
I.2.3 - sound
Elle émet un son à la sortie d’un haut-parleur de l’ordinateur. L’échantillon du signal doit
être encadré dans la valeur comprise entre –1 et 1, fe étant la fréquence d’échantillonnage et n le
nombre de bits.
Syntaxe
sound (echantillon, fe, n) ;
Exemple
>> [echantillon, fe, n] = wavread ( ‘hello.wav’) ;
>> wavwrite (echantillon, 8000, 8, ‘hello1.wav’) ;
>> sound ( echantillon, 8000,8 ) ;
echantillon donne les valeurs du signal formant le fichier hello.wav, fe sa fréquence
d’échantillonnage et n le nombre de bits utilisés pour représenter le signal analogique.
La deuxième ligne du programme crée un fichier audio hello1.wav à partir du fichier
hello.wav sauf que la fréquence d’échantillonnage et le nombre de bits ont été modifié
respectivement de 8000 Hz et 8 bits.
Après exécution de la troisième ligne, on peut écouter l’échantillon echantillon à travers le
haut-parleur.
I.2.4 – fft
La fonction fft vient du mot Fast Fourier Transformer ou transformée de Fourier discrète
rapide. Elle permet de calculer la transformée de Fourier discrète et ainsi on pourra obtenir la
densité spectrale de puissance d’un signal numérique.
Calcul de la transformée de Fourier discrète
X ( k ) = TFD[ x(n)] =
1
N
N −1
∑ x(n).e
n =0
N période de x(n)
Syntaxe fft (echantillon)
48
− i 2π
nk
N
I.2.5 – filter
Cette fonction est nécessaire pour le calcul de la réponse d’un filtre numérique de
fonction de transfert :
L
H ( z) =
∑a z
l =0
K
−l
l
1 + ∑ bk z − k
k =1
a l étant les coefficients du numérateur et bk les coefficients du dénominateur.
Syntaxe
sortie = filter (a, b,echantillon)
I.3 – Présentation du logiciel
I.3.1 – Ecran de départ
Figure 1.1 : Fenêtre d’accueil
La fenêtre d’accueil possède trois boutons :
•
Continuer : pour entrer dans le menu principal du logiciel
•
Quitter : quitter définitivement le logiciel
•
Aide : pour diriger l’utilisateur du logiciel
49
I.3.2 – Menu principal
Figure 1.2 : Menu principal du logiciel
I.4.3 – Fenêtre de simulation MIC
Figure 1.3 : Fenêtre pour la simulation MIC
50
I.3.4 – Fenêtre de simulation CVSD
Figure 1.4 : Fenêtre pour la simulation CVSD
I.3.5 – Fenêtre de simulation RELP
Figure 1.5 : Fenêtre pour la simulation RELP
51
I.3.6 – Fenêtre de simulation d’un signal sinusoïdal
Figure 1.6 : Fenêtre pour la simulation d’un signal sinusoïdal
52
Chapitre II – Manipulation du logiciel
II.1 – Lancement du logiciel
- cliquez sur le menu Démarrer de la barre de tâche de Windows
- pointez sur Programmes
- cliquez sur le programme Matlab à ouvrir
- la fenêtre Matlab ouverte, allez dans le répertoire où se trouve les fichiers .m du logiciel.
Par exemple :
- tapez
>> cd c:/simulation ↵
>> accueil↵
II.2 – Les diverses zones sur la fenêtre
Zone d’entrée
de données
Zones des
touches
de fonctions
Zone d’édition
des résultats
Zone
de contrôle
Figure 2.1 : Présentation des diverses zones sur la fenêtre
• Zone de contrôle : contient les boutons de contrôle pour rendre facile la manipulation du
logiciel.
Ils sont :
-
Précédente : pour retourner au menu principal
-
Quitter : pour quitter définitivement le logiciel
-
Aide : pour apporter une aide aux utilisateurs
53
• Zone d’entrée de données : pour y introduire les données requises à la simulation
• Zone des touches de fonctions : pour pouvoir accéder au calcul de débit ou effectuer les
opérations utiles (visualisation, écoute)
- Débit : donne la valeur du débit binaire obtenu durant la compression
- Visualiser : dessine l’allure du signal d’origine et l’allure du signal après traitement
- Ecouter : émet le son du signal compressé dans la haut-parleur
• Zone d’édition des résultats
II.3 – Simulation MIC
II.3.1 – Manipulation 1
Obtention du débit binaire à partir de la fréquence d’échantillonnage Fe et le nombre de bit
N avec l’équation :
D = Fe * N
>> Fe=2000 ;
>>N=8 ;
>>D=Fe*N ;
>>disp(‘D=’,D,’bits/s’)
D = 16000bits / s
Le débit binaire dans la codage MIC dépend de la valeur de la fréquence d’échantillonnage et du
nombre de bits.
II.3.2 – Manipulation 2
Données : fichier hello.wav , fréquence d’échantillonnage Fe = 8 Khz et N=8
Résultats : Débit = 64 Kbits /s
Qualité du son acceptable
Le débit du codage MIC est trop grand donc il faut modifier la fréquence d’échantillonnage et/ou
le nombre de bit pour le réduire.
54
Figure 2.2 : Débit binaire du fichier hello.wav
Allure du signal
1
0.8
0.6
Amplitude en V
0.4
0.2
0
-0.2
-0.4
-0.6
-0.8
-1
0
1000
2000
3000
Temps
4000
Figure 2.3 : Allure du signal hello.wav
55
5000
6000
II.3.3 – Manipulation 3
Données : fichier hello.wav , fréquence d’échantillonnage Fe = 4000KHz et N= 4
Résultats : Débit 16Kbits/s Qualité du son médiocre : phrase peu compréhensible et locuteur non
reconnaissable.
Figure 2.4 : Deuxième manipulation du fichier hello.wav
On ne peut plus diminuer la valeur du débit binaire car la qualité du son sera affectée. Il est
préférable d’utiliser d’autres codages comme le CVSD et le RELP.
II.4 – Simulation CVSD
II.4.1 – Manipulation 1
Données : signal sinusoïdal, fréquence d’échantillonnage Fe=2KHz et N=1, ∆ min = 0,0556 et
∆ max = 0,0863
>>n=1:10
1
2
3
4
5
6
7
8
9
10
>>x=.5*sin(2*3.14*50*n*(1/2000))
Columns 1 through 7 : 0.0782
0.1744
0.2269
0.2938
56
0.3534
0.4044
0.4454
Columns 8 through 10 : 0.4754
0.4938
0.5000
Supposons maintenant qu’initialement c(n) = 0 , signe + et x p (0) = 0 (valeur prédite) avec
l’équation
x p ( n + 1) = x p ( n ) + ( signe .∆ )
et on obtiendra les valeurs de x p (n + 1) . Le fichier
sinuscvsd.m donne le résultat de calcul :
>> sinuscvsd
Columns 1 through 7 : 0
0.0556
0 -0.0556 -0.1112 -0.1668 -0.2224
Columns 8 through 13 : 0.2780 -0.3336 -0.3892 -0.4448 -0.5004 -0.4448
La valeur de c(n) dépend maintenant des cas suivants :
c(n)=1
si
x(n) − x p (n + 1) > 0
c(n)=0
si
x(n) − x p (n + 1) ≤ 0
>>sinuscvsd
Figure2.5 : Suivi d’un signal sinusoïdal avec le codage CVSD
Dans le codage CVSD, chaque échantillon est représenté par un bit c(n) donc le débit binaire
D = Fe , ici Fe = 2000 Hz donc
D = 2000bits / s = 2 Kbits / s
57
II.4.2 – Manipulation 2
Données : fichier
hello.wav dont la fréquence d’échantillonnage Fe = 8 KHz et N= 1,
∆ min = 0,05 et ∆ max = 0,1
Résultats : Débit = 8 Kbits /s
Qualité du son médiocre : phrase incompréhensible et locuteur non reconnaissable.
Figure 2.6 : Débit binaire obtenu avec le codage CVSD
Figure 2.7 : Allure des signaux en CVSD dans la simulation du fichier hello.wav
58
Si le débit est trop bas, la CVSD fournit une mauvaise qualité du son. Il faut donc augmenter la
fréquence d’échantillonnage du signal à traiter.
II.4.3 – Manipulation 3
Données : fichier bye.wav ,
fréquence d’échantillonnage Fe = 22,050 KHz et N= 1, ∆ min = 0,05 et ∆ max = 0,1 .
Résultats : Débit = 22,050 Kbits /s et qualité du son acceptable.
Figure 2.8 : Résultat obtenu avec le fichier bye.wav
Figure 2.9 : Allure des signaux en CVSD dans la simulation du fichier bye1.wav
59
La CVSD donne une bonne qualité de compression mais il y a une limite à respecter.
II.5 - Simulation RELP
II.5.1 – Manipulation 1
Données : signal sinusoïdal s (t ) = 0,5 sin(2π .1000t ) , fréquence d’échantillonnage Fe=8KHz.
On va calculer les coefficients à partir de l’équation suivante :
 a1  rss (0) rss (1) rss (2) . . .
 a   r (1) r (0) r (1) . . .
ss
ss
 2   ss
 a 3  rss (2) rss (1) rss (0) . . .
 =
.
.
. . .
 .   .
 .   .
.
.
. . .
  
a10   rss (9) rss (8) rss (7) . . .
−1
rss (9)   rss (1) 
rss (8)   rss (2) 
rss (7)  rss (3) 
 .

.   . 
.   . 
 

rss (0)  rss (10)
tel que
1
rss (m) =
N
N − m −1
∑ s (n + m ) s ( n)
n=0
10
e(n) = s(n) − ∑ ai s(n − i )
et la prédiction résiduelle
i =1
>>sinusrelp
Voici les coefficients du dénominateur du filtre contenant a1 à a10:
Columns 1 through 7
1.0000 -1.6300
1.3167 -0.0773
0.0082 -0.0038 -0.0036
Columns 8 through 11
0.0017 -0.0055
0.1737 -0.2245
Valeurs de la prédiction résiduelle:
Columns 1 through 7
0.7068 -0.1721
0.0086
0.1097
0.1724
0.1031 -0.0090
Columns 8 through 14
-0.1148 -0.1773
0.0009 -0.0001 -0.0011 -0.0014 -0.0009
Valeurs du codage de la prédiction résiduelle:
0
1
0
0
0
1
1
1
1
0
1
0
1
60
0
0
1
0
1
1
0
1
0
0
II.5.2 – Manipulation 2
Données : fichier hello.wav, dont la fréquence d’échantillonnage Fe = 8 KHz et nombre de bits
par coefficients = 5.
Résultats : Débit = 9,6667 Kbits /s et qualité du son : bonne, phrase compréhensible et locuteur
reconnaissable. Le codage RELP permet d’obtenir un débit très bas avec une qualité de son
acceptable.
Figure 2.10 : Fenêtre de simulation RELP
Signal original
Amplitude en V
0.5
0
-0.5
-1
0
1000
2000
3000
4000
5000
6000
7000
5000
6000
7000
Signal synthétisé
Amplitude en V
1
0.5
0
-0.5
-1
0
1000
2000
3000
4000
Figure 2.11 : Allure des signaux dans la simulation RELP
61
Dans la fenêtre de simulation RELP, on peut visionner les allures de son voisé, son non voisé et
leurs prédictions résiduelles.
Allure du son voisé
Amplitude en V
0.4
0.2
0
-0.2
-0.4
0
50
100
150
200
250
200
250
Prédiction résiduelle
0.1
0
-0.1
-0.2
0
50
100
150
Temps en ms
Figure 2.12 :Son voisé et sa prédiction résiduelle
Allure du son non voisé
Amplitude en V
0.04
0.02
0
-0.02
-0.04
-0.06
0
50
100
150
200
250
200
250
Prédiction résiduelle
0.04
Amplitude en V
Amplitude en V
0.2
0.02
0
-0.02
-0.04
0
50
100
150
Temps en ms
Figure 2.13 : Son non voisé et sa prédiction résiduelle
62
Cette même fenêtre donne les propriétés du son sous forme graphique.
Allure du son voisé
Amplitude en V
0.4
0.2
0
-0.2
-0.4
0
50
100
150
200
250
Réponse en fréquence
Amplitude en dB
20
0
-20
-40
0
500
1000
1500
2000
2500
Fréquence en Hz
3000
3500
4000
Figure 2.14 : Son voisé et sa réponse en fréquence
Allure du son non voisé
Amplitude en V
0.04
0.02
0
-0.02
-0.04
-0.06
0
50
100
150
200
250
Réponse en fréquence
Amplitude en dB
20
0
-20
-40
-60
0
500
1000
1500
2000
2500
Fréquence en Hz
3000
3500
Figure 2.15 : Son non voisé et sa réponse en fréquence
63
4000
II.6 – Résumé
Dans la simulation du codage MIC, le débit binaire dépend à la fois de la fréquence
d’échantillonnage et du nombre de bits de codage. En essayant de le réduire c’est à dire diminuer
la valeur de la fréquence d’échantillonnage ou diminuer le nombre de bits, on constate la
détérioration de la qualité du signal décodé. Le codage CVSD offre un débit plus bas que celui du
codage MIC (22Kbits/s) qui dépend aussi de la fréquence d’échantillonnage. Le codage RELP
offre un débit de 9,6Kbits/s et donne une qualité de son acceptable. Dans la fenêtre de simulation
RELP, on constate les propriétés de la voix :
-le son voisé : amplitude élevée avec une fréquence fondamentale
-le son non voisé de faible amplitude occupe une large bande passante
64
CONCLUSION
L’extension considérable des technologies numériques est de plus en plus présente dans les
systèmes de télécommunications. Cela justifie l’utilisation accrue de la radiotéléphonie mobile
numérique. Cependant la numérisation du signal vocal nécessite une bande passante large pour
obtenir une bonne qualité de transmission.
Le codage MIC délivre un débit binaire de 64 Kbits/s. Ce débit présente un désavantage
car il occupe une large bande passante. En essayant de diminuer ce débit avec la fréquence
d’échantillonnage ou le nombre de bits à coder, la qualité se dégrade. Le codage de la voix essaie
de diminuer cette bande occupée sans altérer la qualité de la transmission en utilisant des
techniques spécifiques de compression. L’utilisation de la quantification différentielle et la
technique prédictive en CVSD diminue le débit à 16 Kbits/s. Les données à la sortie du codeur
sont en série et on peut facilement les synchroniser.
Le codage RELP combine le codage de la forme d’onde avec le codage de source et offre
une bonne compression de 9,6 Kbits/s. D’ailleurs d’autres techniques de codage similaires sont
encore utilisées actuellement. Dans le système GSM 900, le RPE-LTP est utilisé avec un débit de
13,3 Kbits/s.
L’introduction du multimédia (données, images fixes ou animées, musiques) dans la
téléphonie mobile rend cette étude plus intéressante car la compression de signal multimédia
utilise aussi les mêmes techniques.
Enfin nous souhaitons que ce projet soit une aide efficace pour l’étude des autres codeurs
et aussi pour la simulation des systèmes numériques avec le logiciel Matlab.
65
ANNEXES
66
Annexe 1
Transformée en Z
1 – Définition [2] [3]
On appelle « transformée en Z » d’un signal discret causal f (nTe) la fonction de variable
complexe z par :
∞
F ( z ) = Z [ f (nTe)] = ∑ f (nTe).Z − n
n =0
n ∈ N et z ∈ C
∞
F(z) n’existe pas que si la série entière
∑ f (nTe).Z
−n
est convergente.
n =0
L’analyse de système discret peut se faire avec la transformée en z. pour connaître la
réponse en fréquence, il suffit de remplacer z par e
− j 2πfT
.
On peut écrire F ( z ) = Z [ f (nTe )] = Z [ f (t )] = Z [ F ( p )] .
2 – Transformée en z des signaux tests [3]
Fonctions
Transformée en z
Impulsion de Dirac δ (t )
1
Échelon unité u(t)
z
z −1
Rampe at
aTe.z
( z − 1) 2
Signal exponentiel
e − at
z
z − e − aTe
67
3 – Propriétés de la transformée en z [2]
•
Linéarité : Z [a1 f 1 (t ) + a 2 f 2 (t )] = a1 Z [ f 1 (t )] + a 2 Z [ f 2 (t )]
•
Translation temporelle :
Z [ f (t + kTe)] = z k F ( z ) − z k f (0) − ... − zf [(k − 1)Te ]
Z [ f (t − kTe)] = z − k Z [ f (t )]
•
Translation complexe :
Z [ F ( p + a )] = Z [e − at f (t )] = F ( ze aTe )
Z [ F ( p − a )] = Z [e at f (t )] = F ( ze − aTe )
d
n−1
F1 ( z ) avec F1 ( z ) = Z [t f (t )]
dz
•
n
Multiplication par t n : Z [t f (t )] = −Te.z
•
Théorème da la valeur initiale : lim f ( nTe) = lim F ( z )
•
Théorème da la valeur finale : lim f (nTe) = lim (1 − z −1 ) F ( z )
•
Théorème de la sommation : Z [∑ f (nTe)] =
n →0
n →∞
n →∞
n →0
∞
k =0
•
∞
Théorème de Parseval :
∑f
2
(nTe) =
n =0
•
z
F ( z)
z −1
1
z −1 F ( z ) F ( z −1 )dz
∫
2πj
∞
Convolution discrète : si v(k ) = ∑ xi y k −i alors Z [v(k )] = X ( z ).Y ( z )
i =0
•
•
Dérivation par rapport à un paramètre : Z [
∂
∂
f (nTe, m)] =
F ( z , m)
∂m
∂m
a1
a1
a2
a2
Intégration par rapport à un paramètre : Z [ ∫ f (nTe, a )da ] =
∫
F ( z , a )da
4 – Inversion de la transformée en z [2]
Connaissant F(z) on peut déterminer l’original f (nTe ) . La transformée en z inverse n’est
pas unique. Il existe plusieurs méthodes de recherche de l’original.
68
4.1 – Décomposition en éléments simples
On décompose
F ( z)
A
=∑
z
i z − ai
et on obtient ainsi
f (nTe) = ∑ Ai (a i ) nTe
i
4.2 – Division suivant les puissances croissantes de z –1
La valeur de f (nTe ) est le coefficient de z –1 dans le développement en série de F(z) selon
les puissantes croissantes. Il suffit de faire une division suivant les puissances décroissantes en z –1
dont les coefficients correspondent aux valeurs prises par f*(t).
On a alors :
f (nTe) = aδ (t ) + bδ (t − Te) + cδ (t − 2Te) + ...
4.3 – Formule de Cauchy
f (nTe) =
1
z n−1 F ( z )dz
∫
2πj
En appliquant le théorème de résidu f (nTe) = ∑ residu ( z n −1 F ( z ))
pi
Pour le calcul des résidus :
•
Si p i pole simple :
•
Si p i pole d’ordre p :
lim ( z − pi ) z n −1 F ( z )
z → pi
1
dn
{( z − p i ) n z n−1 F ( z )
z → pi ( n − 1)! dz n −1
lim
69
}
Annexe 2
Filtres numériques
1 – Filtres à réponse impulsionnel fini (RIF) [2] [3]
Les RIF sont des systèmes linéaires discrets invariant dans le temps définis par une
équation selon laquelle un nombre de sortie, représentant un échantillon du signal filtré, est
obtenue par sommation pondérée d’un ensemble fini de nombre d ‘entrée représentant les
échantillons du signal à filtrer.
x(n)
y(n)
RIF
Figure A2.1 : Filtre RIF
La suite d’entrée x(n) et la suite de sortie y(n) sont reliés par l’équation suivante :
N −1
y ( n) = ∑ a i x ( n − i )
i =0
Le filtre ainsi défini comporte un nombre fini N de coefficients a i , considéré comme un
système discret ; il a pour réponse à la suite unitaire la suite h(i) telle que :
h(i ) = a i
0 ≤ i ≤ N −1
si
h(i ) = 0
ailleurs
La fonction du transfert du filtre s’écrit :
N −1
H ( f ) = ∑ a i e − j 2πfiT
i =0
N −1
H ( z ) = ∑ a i z −i
i =0
La mise en œuvre des filtres RIF se fait par des circuits qui réalisent les trois opérations
fondamentales que sont la mise en mémoire, la multiplication et l’addition et qui sont agencés
pour fournir à partir de la suite de données x(n) une suite de sortie y(n) conformément à l’équation
de définition du filtre.
70
Figure A2.2 : Exemple de filtre RIF
2 – Filtre à réponse impulsionnel infinie (RII) [2] [3] [13]
Le filtre RII général est un système qui, à la suite de données x(n) fait correspondre la suite
y(n) telle que :
L
K
l =0
k =1
y ( n ) = ∑ a l x ( n − l ) − ∑ bk y ( n − k )
La fonction de transfert en z de ce système s’écrit :
L
H ( z) =
∑a z
l =0
K
−l
l
1 + ∑ bk z − k
k =1
Les filtres RII peuvent être réalisés par des circuits qui effectuent directement les opérations
représentées dans l’expression de leur fonction de transfert.
Figure A2.3 : Exemple de filtre RII
71
3 – Filtre adaptatif [2] [3]
Le filtre adaptatif intervient quand il faut réaliser, simuler un système dont les
caractéristiques évoluent dans le temps. Le principe du filtrage adaptatif est représenté sur la
figure ci- dessous ; il correspond à une opération effectuée sur un signal reçu x(n) pour fournir une
sortie dont la différence avec un signal de référence y(n) est minimisée. Cette minimisation est
obtenue en calculant les coefficients du filtre pour chaque nouvel ensemble de données, référence
et signal reçu.
~
y ( n)
Filtre
programmable
x(n)
y(n) [référence]
-
Algorithme de
mise à jour des
coefficients
Figure A2.4 : Filtre adaptatif
Pour la mise à jour des coefficients, on utilise l’algorithme du gradient défini par l’équation :
a i (n + 1) = a i (n) + δ .e(n + 1) x(n + 1 − i )
avec
0 ≤ i ≤ N −1
δ pas d’adaptation tel que
0<δ <
2
N .σ x
2
σ x 2 puissance du signal reçu
72
Annexe 3
Syntaxes des fonctions utilisées en Matlab
ABS
ABS(X) donne la valeur absolue de la matrice X
AXES
AXES(‘position’,RECT) ouvre une fenêtre avec l’axe spécifié par RECT qui indique les
coordonnées de l’axe par rapport à la fenêtre et les longueurs des axes.
AXIS
AXIS([XMIN XMAX YMIN YMAX]) limite l’echelle des abscisses par XMIN et XMAX celle
de l’axe des ordonnées YMIN et YMAX.
CEIL
CEIL(X) arrondit les éléments aux entiers supérieures à ces éléments
CLOSE
CLOSE(H) ferme la fenêtre de l’objet H
CLOSE ALL ferme toutes les fenêtres graphiques ouvertes
CONV2
CONV2(A ,B) donne la convolution à deux dimensions de deux matrices A et B
FIGURE
FIGURE crée une fenêtre graphique
FIGURE(H) active ou crée le H-ième figure pour contenir les divers instructions de
commandes qui lui succèdent
FINDOBJ
FINDOBJ (‘Nom_propriétés’,’Valeur_propriétés’) cherche un objet specifié par la valeur
d’une propriété
FIND
[I,J] = FIND(X) donne le numéro de colonne et de ligne du matrice X possédant un élément
nul
FIR1
B = FIR1 ( N, fenêtre) conçoit un filtre numérique FIR d’ordre N de dimension fenetre et
retourne les coefficients dans la matrice B
73
FIX
FIX(M , N) donne la partie entière des éléments de la matrice X
FLOOR
FLOOR(X) fait la même fonction que FIX(X)
FOR
FOR variable = début ;incrémentation ; fin
Instr
END
début est la valeur initiale de la boucle
incrémentation définit l’incrémentation de la boucle
fin limite la valeur finale de la boucle
Instr sont les fonctions à effectuer dans la boucle
GCF
GCF active la figure courante
GET
GET(H, ‘Nom_propriétés’) retourne la valeur de la propriétés de l’objet H
IF
IF variable, statement,
END
LENGTH
LENGTH(X) donne la longueur de la matrice X
MAX
MAX(X) retourne la valeur maximale de la matrice X
MIN
MIN(X) retourne la valeur minimale de la matrice X
NARGIN
NARGIN donne le nombre d’arguments d’entrées d’une fonction
74
NUM2STR
NUM2STR convertit le nombre scalaire X en chaîne de caractères
ONES
ONES(N) est une matrice NxN dont les éléments ont tous les valeurs 1
ONES(M,N) est une matrice MxN dont les éléments ont tous les valeurs 1
PLOT
PLOT (X) dessine sur la figure courante la courbe avec l’axe des abscisses l’indice de X et
l’axe des ordonnées la valeur de la matrice X
ROUND
ROUND(X) arrondi les éléments de la matrice X en un entier proche
SET
SET(H, ‘Nom_propriétés1’, ‘Valeur1’, ‘Nom_propriétés2’, ‘Valeur2’, …) met les valeurs
aux multiples propriétés de l’objet H
SIZE
[M, N] = SIZE(X) donne le nombre de lignes M et le nombre de colonnes N de la matrice X
SPRINTF
S = SPRINTF(FORMAT,A,...) écrit les données
75
Annexe 4
Programmation
I – Programmation de l’interface graphique
% variables de couleur
fond = [0 .2 .6];
jaune = [1 1 0];
bleu = [0 .6 1];
bleuc =[ 0.541176470588235 0.952941176470588 0.976470588235294 ];
noir = [0 0 0];
grisc=[.9 .9 .9];
gris=[0.8 0.8 0.8];
blanc=[1 1 1];
orange=[1 202/255 144/255];
%variables de position
debutx=2;
debut3x=2;
debutbt1x=25;
debutbt2x=434;
debutbt3x=128;
debuty=90;
debutbty1=105;
debutbty2=110;
debutbty3=25;
epaisseur=290;
entrebtx=203;
entrebty=40;
%création de la nouvelle figure
close all;
fennew=figure(...
'NumberTitle','off',...
'Name','CVSD',...
'Backingstore','off',...
'Units','normalized',...
'Color',fond);
text1=uicontrol(gcf,...
'Style','text',...
'Position',[210 390 170 25],...
'String','Simulation CVSD',...
'FontSize',14,...
'ForeGroundColor',orange,...
'BackGroundColor',fond);
%création du premier cadre
frame1=uicontrol(gcf,...
'Style','frame',...
'Position',[debutx debuty 170 epaisseur],...
76
'ForeGroundColor',bleuc,...
'BackGroundColor',bleuc);
text2=uicontrol(gcf,...
'Style','text',...
'Position',[debutx+5 340 130 35],...
'String','Nom du fichier',...
'FontSize',9,...
'ForeGroundColor',noir,...
'BackGroundColor',bleuc);
edit1= uicontrol(gcf, ...
'Units','points', ...
'BackgroundColor',blanc, ...
'ListboxTop',0, ...
'Position',[debutx+10 240.75 63.75 18], ...
'Style','edit', ...
'Tag','EditText1');
text3= uicontrol(gcf, ...
'Units','points', ...
'BackgroundColor',bleuc, ...
'ListboxTop',0, ...
'Position',[debutx+75 239.25 25.5 17], ...
'String','.wav', ...
'Style','text', ...
'Tag','StaticText6');
text4= uicontrol(gcf, ...
'Units','points', ...
'BackgroundColor',bleuc, ...
'ListboxTop',0, ...
'Position',[11.25 210 19.5 21], ...
'String','Delta min', ...
'Style','text', ...
'Tag','StaticText4');
text5= uicontrol(gcf, ...
'Units','points', ...
'BackgroundColor',bleuc, ...
'ListboxTop',0, ...
'Position',[10.5 187.5 21.75 20.25], ...
'String','Delta max', ...
'Style','text', ...
'Tag','StaticText5');
edit2= uicontrol(gcf, ...
'Units','points', ...
'BackgroundColor',blanc, ...
'ListboxTop',0, ...
'Position',[41.25 211.5 33 17.25], ...
'Style','edit', ...
'Tag','EditText2');
77
edit3= uicontrol(gcf, ...
'Units','points', ...
'BackgroundColor',blanc, ...
'ListboxTop',0, ...
'Position',[40.5 189.75 34.5 16.5], ...
'Style','edit', ...
'Tag','EditText3');
text6= uicontrol(gcf, ...
'Units','points', ...
'BackgroundColor',bleuc, ...
'ListboxTop',0, ...
'Position',[debutx+16 179.75 75.5 17], ...
'String','Original', ...
'Style','text', ...
'Tag','StaticText6');
bouton1=uicontrol(gcf,...
'Style','push',...
'Position',[debutbt1x debutbty1+(2*entrebty) 100 30],...
'String','Débit',...
'FontSize',11,...
'callback',[...
'[inputsample,fs,bits]=wavread(get(text1),''string''));'...
'fe=num2str(fs);'...
'n=num2str(bits);'...
'affichage(fe,n);']);
bouton2=uicontrol(gcf,...
'Style','push',...
'Position',[debutbt1x debutbty1+(1*entrebty) 100 30],...
'String','Ecouter',...
'FontSize',11,...
'callback',[...
‘[inputsample,fs,bits]=wavread(get(text1),''string''));'...
'sound(inputsample,fs,bits)']);
bouton3=uicontrol(gcf,...
'Style','push',...
'Position',[debutbt1x debutbty1 100 30],...
'String','Visualiser',...
'FontSize',11,...
'callback',[...
‘[inputsample,fs,bits]=wavread(get(text1),''string''));'...
'visual(inputsample);']);
%création du zone d’édition de résultats
editmessage=uicontrol(gcf,...
'Style','list',...
‘Units’,’points’,…
'Enable', 'inactive', ...
78
'Position',[177 debuty 232 epaisseur],...
'ForeGroundColor',[0 0 0],...
'BackGroundColor',blanc,...
'String','',...
'Max',2,...
'Tag','list1');
%éléments du deuxième cadre
frame2=uicontrol(gcf,...
'Style','frame',...
'Position',[60 10 432 70],...
'ForeGroundColor',jaune,...
'BackGroundColor',fond);
bouton4=uicontrol(gcf,...
'Style','push',...
'Position',[debutbt3x debutbty3 100 30],...
'String','<<Précédente',...
'FontSize',12,...
'callback','fenetre2');
bouton5=uicontrol(gcf,...
'Style','push',...
'Position',[debutbt3x+entrebtx debutbty3 100 30],...
'String','Quitter',...
'FontSize',12,...
'callback','close all');
%Troisième cadre et ses éléments
frame3 = uicontrol(gcf, ...
'BackgroundColor',bleuc, ...
'ForegroundColor',bleuc, ...
'ListboxTop',0, ...
'Position',[debutx+232+160 debuty 178 epaisseur], ...
'Style','frame', ...
'Tag','Frame3');
text7= uicontrol(gcf, ...
'Units','points', ...
'BackgroundColor',bleuc, ...
'ListboxTop',0, ...
'Position',[305.25 264.75 100.5 17.75], ...
'String','Modulation delta', ...
'Style','text', ...
'Tag','StaticText3');
bouton6= uicontrol(gcf, ...
‘BackgroundColor',[.75294117647 .75294117647 .75294117647], ...
'ListboxTop',0, ...
'Position',[312 241 80 22.5], ...
'String','Débit', ...
‘Style’,’button’,…
79
'Callback',[...
'[x,f,bits]=wavread(get(text1),''string''));'...
'fe=num2str(f);'...
'n=num2str(1);'...
'affichage(fe,n);']);
bouton7= uicontrol(gcf, ...
'ListboxTop',0, ...
'Position',[312 241-25 80 22.5], ...
'String','Ecouter', ...
‘Style’,’button’,…
'Callback',[...
'[echan,fe,bits]=wavread(get(text1),''string''));'...
'StepSize=str2num(get(text3),''string''));'...
'cn=dm_encoder(echan, StepSize);'...
'[Sa,Sn]=dm_decoder(StepSize,fe, cn);'...
'sound(Sa,fe);']);
bouton8= uicontrol(gcf, ...
'ListboxTop',0, ...
'Position',[312 241-50 80 22.5], ...
'String','Visualiser', ...
‘Style’,’button’,…
'Callback',’visual’]);
text8= uicontrol(gcf, ...
'BackgroundColor',bleuc, ...
'ListboxTop',0, ...
'Position',[306 170.25 96.75 8.25], ...
'String','CVSD', ...
'Style','text', ...
'Tag','StaticText3');
bouton9= uicontrol(gcf, ...
'BackgroundColor',[0.75294117647 0.75294117647 0.75294117647], ...
'ListboxTop',0, ...
'Position',[312 140 80 22.5], ...
'String','Débit', ...
‘Style’,’button’,…
'Callback',[...
'[x,f,bits]=wavread(get(text1),''string''));'...
'fe=num2str(f);'...
'n=num2str(1);'...
‘affichage(fe,n);']);
bouton10= uicontrol(gcf, ...
'Units','points', ...
'ListboxTop',0, ...
'Position',[312 140-25 80 22.5], ...
'String','Ecouter', ...
‘Style’,’button’,…
'Callback','cvsd1',...
‘Tag','Pushbutton6');
80
bouton11= uicontrol(gcf, ...
'Units','points', ...
'ListboxTop',0, ...
'Position',[312 140-50 80 22.5], ...
'String','Visualiser', ...
'Callback','cvsd2',...
'Tag','Pushbutton8');
II- Calcul du débit binaire
Fe=2000 ;
N=8 ;
D=Fe*N ;
disp(‘D=’,D,’bits/s’)
III – Programme sur le codage CVSD avec un signal sinusoïdal
n=1:1000;
disp(n);pause;
x=.5*sin(2*3.14*50*n*(1/2000));
disp(x);
pause;
fs=2000;
bits=8;
disp(fs);
disp(bits);
xlen = length(x);
c=zeros(xlen+2,1);
accum(1) = 0;
c(1)=0;c(2)=1;
deltamax=0.0663;
deltamin=0.0356;
StepSize=deltamin;
for i=1:2
if(x(i)>=accum(i))
e_tilda_n(i)=1;
c(i+2)=1;
else
e_tilda_n(i)=-1;
c(i+2)=0;
end
if (c(i+2)==c(i+1))&(c(i+1)==c(i))
if e_tilda_n(i)>0;
stepsize=deltamax;
accum(i+1) = accum(i) + e_tilda_n(i) * StepSize;
else
stepsize=deltamin;
81
accum(i+1) = accum(i) + e_tilda_n(i) * StepSize;
end
else
accum(i+1) = accum(i) + e_tilda_n(i) * StepSize;
end
end
for i=3:xlen
if(x(i)>=accum(i))
e_tilda_n(i)=1;
c(i+2)=1;
else
e_tilda_n(i)=-1;
c(i+2)=0;
end
if (c(i)==c(i-1))&(c(i)==c(i-2))
if e_tilda_n(i)>0;
stepsize=deltamax;
accum(i+1) = accum(i) + e_tilda_n(i) * StepSize;
else
stepsize=deltamin;
accum(i+1) = accum(i) + e_tilda_n(i) * StepSize;
end
else
accum(i+1) = accum(i) + e_tilda_n(i) * StepSize;
end
end
pause;
disp(c);
%décodage
ts=1/fs;
n=0:ts:ts*(xlen-1);
xlen = length(c);
StepSize=deltamin;
for i=1:2
if (c(i+2)==c(i+1))&(c(i+1)==c(i))
if(c(i)==0)
stepsize=deltamin;
accum(i+1) = accum(i)+StepSize;
else
stepsize=deltamax;
accum(i+1) = accum(i)-StepSize;
end
else
if(c(i)==0)
accum(i+1) = accum(i)+StepSize;
else
accum(i+1) = accum(i)-StepSize;
end
82
end
end
for i=3:xlen
if (c(i)==c(i-1))&(c(i)==c(i-2))
if(c(i)==0)
stepsize=deltamin;
accum(i+1) = accum(i)+StepSize;
else
stepsize=deltamax;
accum(i+1) = accum(i)-StepSize;
end
else
if(c(i)==0)
accum(i+1) = accum(i)+StepSize;
else
accum(i+1) = accum(i)-StepSize;
end
end
end
Sn=accum(2:xlen+1);
Sa=lpf(100, .1, Sn);
pause;
disp(accum);
pause;
sound(x);
pause;
sound(Sa);
figure;
subplot(3,1,1);
plot(x,'r');
title('CVSD (rouge:signal original, vert:sortie décodée, bleu: sortie codée)');
ylabel('amplitude en V');
subplot(3,1,2);
plot(Sa,'g');
ylabel('amplitude en V');
subplot(3,1,3);
plot(c);
IV - Calcul des coefficients et la prédiction résiduelle en RELP
n=1:240;
echan=sin(2*3.14*1000*n*(1/8000));
fs=8000;
bits=8;
N=5;
nx=length(echan);
nwin=length(win);
if (nwin == 1)
83
len = win;
else
len = nwin;
end
stime=echan;
[ar,e,k]=lpcauto(stime,10);
disp('Voici les coefficients du dénominateur du filtre contenant a1 à a10:');
disp('');
disp(ar);
pause;
residu=filter(ar,1,stime);
disp('Valeurs de la prédiction résiduelle:');
disp('');
disp(residu);
%Codage
step=round(ar*(2^N));
arcodee=step/(2^N);
StepSize=1/10;
%encoder
cn=dm_encoder(residu, StepSize);
%decoder
[Sa,Sn]=dm_decoder(StepSize,fs, cn);
sortie=filter(1,arcodee,Sa);
pause;
disp(cn);
V – Programme sur la propriétés de la voix
[echan,fs,n]=wavread('hello1.wav');
win=240;
nx=length(echan);
nwin=length(win);
if (nwin == 1)
len = win;
else
len = nwin;
end
inc = len;
nf = fix((nx-len+inc)/inc);
f=zeros(nf,len);
indf= inc*(0:(nf-1)).';
inds = (1:len);
f(:) =echan(indf(:,ones(1,len))+inds(ones(nf,1),:));
if (nwin > 1)
w = win(:)';
f = f .* w(ones(nf,1),:);
end
84
%Son non voisé
for i=1:240
stime(i)=f(1,i);
end
[ar,e,k]=lpcauto(stime,10);
x=fft(stime);
n=length(stime);
y=abs(x);
index = find(y == 0);
y(index) = 1e-17;
mag = 20*log10(y);
mag = mag(1:n/2);
[X,Y]=size(f);
g = (0:length(mag)-1)*8000/n;
g = g(:);
figure;
subplot(2,1,1);
plot(stime,'r');
ylabel('Amplitude en V');
title('Allure du son non voisé');
subplot(2,1,2);
plot(g,mag);
xlabel('Fréquence en Hz ');
ylabel('Amplitude en dB');
title('Réponse en fréquence');
85
BIBLIOGRAPHIE
[ 1 ] P. Lecoy, Technologie des Télécoms , Hermes, 1995
[2] P. Magne, Technique de l’Ingénieur , E 7 II Télécommunications, 1983
[3] M. A. Rakotomalala, Radiocommunications Mobiles , Cours 5 ème Année, Dép Tél –
E.S.P.A., A.U. : 2001-2002
[4] E. Randriantsiresy, Théorie de la Communication , Cours 4 ème Année, Dép Tél – E.S.P.A.,
A.U. : 2000-2001
[ 5 ] G. Pujolle, Les Réseaux, Eyrolles, 1998
[ 6 ] M. Bellanger, Traitement Numérique du Signal – Théorie et Pratique , Masson, 1990
[ 7 ] G. Blanchet et J. Prado, Méthodes Numériques pour le Traitement du Signal : Exemples et
Programmations , Masson, 1990
[ 8 ] N.S. Jayant et P. Noll, Digital Coding of Waveform : Principles and Appplications to Speech
and Video », Prentice Hall : Englewood Cliffs, 1984
[ 9 ] lumumba.luc.ac.be/jori/thesis/ onlinethesis/chapter4.html
[10] J. C. Bellamy, Digital Telephony , Wiley and Sons : New York, 1982
[ 11 ] R. Ch. Houze, Le Téléphone et les Radiotéléphones ; Fréquences, 1992
[12] R. Steele, Delta Modulation Systems , Pentech Press :London, England, 1975
[13] C. Ratsihoarana, Traitement Numérique du Signal , Cours 4 ème Année, Dép Tél – E.S.P.A.,
A.U. :2000-2001
86
[14] http://www.lancaster.sparta.com/otis/IRIG_Files/IRIG_Appendix-F.htm
[15] L. KATZ, Les Liaisons Bluetooth : un réseau invisible , L’Ordinateur individuel N° 112,
Novembre 2000
[ 16 ] L.R. Rabiner et R.W. Schafer, Digital Processing of Speech Signals , Prentice
Hall :Englewood Cliffs, 1978
[17] A. Spanias, Getting Familiar with Speech Processing , Fall, 2002
[18] J. A. Greefkes et K. Riemens, Code Modulation with Digitally Controlled Companding for
Speech Transmission - Philips Tech. Rev – 1970
[19 ] R. Sproat et J. Olive, Text-to-Speech Synthesis , Digital Signal Processing Handbook, 1999
[20] http://www.tcom.ch/Laboratoires/digivox2000/ chap/chap5/synthese.htm
[21] A. Spanias, Multimedia Signal Processing , Departement of Electrical Engineering : Arizona
State University, 2001
[22] M. Nelson et J. Gailly, Speech Compression , The Data Compression Book, 1995
[ 23 ] G. Calhoum, Radio Cellulaire Numérique , Tec & Doc Lavoisier, 1992
[24] Document ERICSSON, GSM System Survey , Ericsson Radio Systems AB, 1998
87
Renseignements
Nom : RAJAONA THAINA
Prénoms : Rija Harisandy
Adresse de l’auteur: Cité Firaisana n°12 A Ankorondrano – Tana 101 –
Titre :CVSD et RELP Appliquées à la Radiocommunication mobile
Pagination : 87
Figures : 60
Tableaux : 8
Rubriques : Traitement Numérique du Signal
Mots clés : CVSD, RELP, MIC, radiocommunication, codage, débit, quantification, analyse,
synthèse, prédiction, delta, matlab
Directeur de mémoire : M. RAKOTOMALALA Mamy Alain
88
Résumé
Ce rapport présente d’abord la nécessité de réduire le débit binaire du codage MIC de
64Kbits/s dans la radiocommunication numérique afin d’augmenter la capacité du système.
Ensuite pendant la simulation, la CVSD (Continuously Variable Slope Delta Modulation)
qui est un codage de la forme d’onde permet d’obtenir un débit de 16Kbits/s. De plus la RELP
(Residual Excited Linear Predictor) combine le codage de la forme d’onde avec le codage de
source et offre un débit de 9,6 Kbits/s.
Summary
First this report presents the necessity to reduce the bit rate of the PCM in the digital
wireless system so as to increase the capacity of the system.
Then during the simulation, the CVSD (Continuously Variable Slope Delta Modulation)
which is a waveform coding allows the obtention of a 16 Kbits/s bit rate. Besides the RELP
(Residual Excited Linear Predictor) combines the wavefrorm coding with the source coding and
offers a bit rate of 9,6 Kbits/s.
89