Le codeur OTAN LPC 10

 

 

    Ce codeur est un standard défini pour convertir un signal vocal analogique en un signal numérique grâce à un codage type LPC (Linear Predictive Coding). Le premier objectif de ce standard était de faciliter l'interopérabilité des systèmes de communications gouvernementales qui utilisaient un débit de 2400 bit/s pour les signaux vocaux.

    La première partie de ce codeur consistait en l'échantillonnage du signal de parole à 8kHz. Cet échantillonnage était évidemment précédé d'un filtrage par respect du théorème de Shannon. Typiquement, ce filtre était un passe-bande qui offrait une plage de fréquences allant de 100 à 3600Hz. Toutes cette première partie, que ne l'on distingue pas sur la figure suivante, ne sera pas à implémenter sous Matlab car on supposera que les échantillons à coder seront déjà dans le format désiré.

    Le schéma suivant montre le fonctionnement de l'ensemble codeur/décodeur LPC 10.

 

 

    La partie supérieure du schéma est le sujet de ce projet. C'est la partie effectuant le codage du signal de parole. Elle est constituée de deux actions : l'analyse spectrale et la détection du fondamental. Ces actions seront appliquées typiquement sur des fenêtres coulissantes de 30ms. L'analyse spectrale se fera grâce à une analyse LPC d'ordre 10. Après codage, les coefficients résultants de cette analyse LPC seront communiqués à un filtre de synthèse permettant de recréer l'enveloppe spectrale approchée (approximation des coefficients pour le codage) du signal. Nous n'implémenterons pas ici le codage binaire, mais il faut savoir qu'à chaque approximation des coefficients correspond un code binaire. La détection du fondamental se fera via un algorithme  de détection relativement simple, les résultats seront transmis après codage à un générateur d'impulsions périodiques recréant les pitchs locaux du signal de parole. Le décodeur est donc un organe de synthèse, ce qui signifie que le signal de sortie ne sera qu'un signal approché du signal d'entrée. Cela est essentiellement dû à l'approximation au niveau du codage du pitch et des coefficients, nous verrons cela lors de l'implémentation du codage sous Matlab.

 

 

 

 

 

_____________________________________________________________________________________________________

Projet Multimédia - Codeur LPC 10 - Implémentation sous Matlab