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