You are on page 1of 4

SIMULACIÓN DE UN VOCODER LPC-10

Gallegos Álava Abel Isaías.

Abstract—El objetivo de este documento es presentar los


principales componentes de un vo-coder de predicción Lineal
(LPC) de orden 10, sus principales ventajas y desventajas, tamaños
de ventana con algoritmo Hamming. Se ha realizado la simulación
en Matlab de este sistema comparando diferentes rangos de valores
de recepción para obtener una reconstrucción de la señal favorable
a la percepción del oído humano.

Index Terms— Vocoder, LPC, cuantización, Hamming.

Figura 1. Diagrama de la envolvente de una señal de voz con sus tres


formantes.
I. INTRODUCTION Fuente: Alberto Alonso Hernández

P or décadas se ha realizado la transmisión de voz sobre canales


menores o iguales a 4 KHz con una limitada calidad pero suficiente
para el entendimiento humano. Ahora la transmisión de voz sobre
Dentro de los parámetros fundamentales para el estudio de la voz se
tienen los siguientes:
banda ancha ha empezado a ofrecer varios servicios tales como la
transmisión de sonidos permitiendo tener muchas ventajas que corren  Frecuencia fundamental, también denominada pitch. Se la
llama frecuencia fundamental ya que es la que se observa con
sobre aplicaciones de software móviles. Para la transmisión de audio a
mayor energía dentro del espectro de frecuencias.
través de banda ancha se necesita funciones de codificación y compresión
que se requieren para asegurar la calidad de la transmisión y recepción  Energía de ruido normalizada (NNE - Nomalized Noise
del mismo. Se aplican técnicas que tienen que ver con el estudio Energy). Se calcula como la ganancia en decibelios entre la
avanzado de los parámetros psico-acústicos de la voz como estimación y energía del ruido y la energía total de la señal.
predicción de coeficientes lineales así como la medida de calidad de voz
(MOS), el diagnóstico de atributos tales como el ruido sobre el canal,  Relación Armónico/Ruido (HNR - Harmonic to Noise Ratio),
adicional de las distintas técnicas de modulación y multiplexación de Esta medida realiza la comparación entre la energía acústica de
datos digitales. [1] los armónicos con la energía del ruido presente en la señal.

II. LA VOZ, PARAMETROS PRINCIPALES  Coeficientes cepstrales en escala de frecuencia MEL -


MFCC Mel-Frequency Cepstral Coefficients. Esta medida
tiene por objeto aplicar la transformada de Fourier a la señal
Toda señal de voz es tratada como una secuencia continua en un original y luego escalar el espectro de potencia a un espectro
tiempo determinado y tratada como una función acústica. Las señales de del tipo mel frequency. adicional el logaritmo de este espectro
voz son cuasi periódicas ya que se caracterizan por ser no estacionarias y sirve para calcular su inversa de Fourier. De esta manera se
con variaciones lentas en el tiempo, duración entre 5 y 30 ms. Cada obtienen los coeficientes cepstrales de mel frequency o
MFCCs.
trama de voz puede ser sonora, no sonora o silencio. En la figura 1 se
puede observar la caracterización de los primeros tres formantes de la
 Relación excitación glótica - Ruido (GNE - Glottal to Noise
voz. Excitación ratio, se basa en los pulsos glóticos resultantes de la
colisión de los pliegues vocales que conllevan a una excitación
Los sonidos sonoros poseen una frecuencia fundamental o llamada pitch, sincrónica en el espectro de frecuencia.
la cual tiene una secuencia de armónicos en frecuencia producidos por las
cuerdas vocales. El tracto vocal modifica la señal de excitación
provocando frecuencias formantes es decir los picos de la envolvente de III. VO-CODERS (CODIFICADORES DE VOZ)
la señal de voz que representan las frecuencias de resonancia del tracto
vocal. Dichos parámetros son muy importantes en el proceso de
La compresión de la señal de voz es la compactación de los datos más
codificación, compresión y transmisión de la voz.
relevantes de la misma. Dicha compresión se la realiza a sus parámetros
de entrada, los mismos que se estudian a nivel de tiempo y frecuencia.

Los Vo-coders son esquemas de parámetros digitalizados los cuales usan


ciertas propiedades de la voz humana emitidas en general por los labios y
que son producidas en el tracto vocal a través de la presión del aire. [2]
Los codificadores de voz son empleados en la transmisión digital para IV. CODIFICADOR LPC-10 A 2.4 KBIT/S
detectar y corregir errores y para generar un menor coste en dicho
proceso. Considerando la figura 2 donde x(n) es la señal original de voz, y(n) es la
señal de salida del filtro de análisis, 𝑦 ^ (𝑛) es la entrada al filtro de
La técnica de codificación más simple es la modulación por código de síntesis y 𝑥 ^ (𝑛) es la señal de voz reconstruida.
pulso (PCM). En base a ella se constituyó la primera recomendación
ITUT, la G.711, que especifica las claves de 8 bits que se obtienen de la
codificación logarítmica (siguiendo las leyes A y μ) de canales
telefónicos digitalizados, con una frecuencia de muestreo de 8 kHz y una
resolución de 8 bits por muestra. Siendo la tasa de datos de 64 kbit/s. El
codificador consiste simplemente en un cuantizador de las amplitudes de
las muestras. Esta técnica se introdujo en los años 70 en la red de
telefonía de larga distancia. Una señal de voz codificada a 64 kbit/s
usando la técnica PCM logarítmica se considera que no está comprimida
y a menudo se usa como referencia para comparaciones. Una técnica
convencional de codificación es la ADPCM (Adaptive Differencial Pulse
Code Modulation) trabajando a 32 kbit/s. La calidad percibida en estos
esquemas de codificación es denomina a menudo calidad ‘toll’ o calidad
telefónica.
Figura 2. Diagrama generalizado de un codificador de voz LPC
Existen métodos de codificación de voz que reducen la redundancia y Fuente: Nicolas Moreau, Tools for Signal Compression: Applications to
eliminan información irrelevante de la señal alcanzando altas calidades de Speech and Audio Coding
compresión de voz con tasas de bit bajas. Normalmente la codificación
por predicción lineal (LPC) es la más usada para modelar la señal de voz, El codificador LPC-10 calcula un filtro según la fórmula siguiente:
misma que presenta tasas de bit entre 16 kbit/s y 32 kbit/s. Para tasas
menores de entre 4 kbit/s y 16 kbit/s se usa la codificación por predicción 𝐴(𝑧) = 1 + 𝑎1 𝑧 −1 + 𝑎2 𝑧 −2 + … . +𝑎𝑝 𝑧 −𝑝 (1)
lineal basada en el análisis por síntesis y sirve para aumentar la eficiencia
en la cuantización de la señal de voz. Un esquema de cuantización de Desde la señal original y luego determina la entrada al filtro de síntesis tal
mayores prestaciones es el conocido como CELP (Code Excited Linear que la calidad de la señal reconstruida sea la mejor posible, respetando al
Prediction), basado en la codificación mediante análisis por síntesis y que mismo tiempo la tasa de bits de 2.4 Kbit/s. Este codificador usa tramas de
fue introducido en 1985. Los codificadores CELP utilizan tablas de aproximadamente 20 ms y asume que la señal es estacionaria en este
códigos vectoriales para codificar la señal excitación. [3] determinado tiempo.

TASA DE BIT La determinación de los coeficientes del filtro está basado en la teoría de
predicción lineal, recordando que la potencia del error de predicción
puede ser expresada como una función de coeficientes de filtro predictivo
Varios codificadores trabajan a una tasa de bit fija, independientemente
y de la función de auto-covarianza 𝑟𝑥 (𝑘)del proceso 𝑋(𝑛) en la forma:
de las características de la señal de entrada, pero a la hora de compartir el
canal con otro tipo de información es mejor hacer codificadores de tasa
variable. Para aplicaciones que usan simultáneamente voz y datos se 𝜎𝑌2 = 𝜎𝑋2 + 2𝑟 𝑡 𝑎 + 𝑎𝑡 ℝ𝑎 (2)
puede optar por usar un esquema de compresión de silencios como parte
del estándar del código. Dónde:
𝑎1
RETRASO 𝑎 = [ ⋮ ] (3)
𝑎𝑝
𝑟𝑥(1)
Uno de los aspectos de diseño más importantes a la hora de implementar
la voz es minimizar el retraso de extremo a extremo. El retraso es 𝑟 = [ ⋮ ] (4)
inherente a las redes de voz y es causado por el número de factores 𝑟𝑥(𝑝)
diferentes que intervienen en ellas.
𝑟𝑥(0) … 𝑟𝑥(𝑝−1)
COMPLEJIDAD ℝ=[ ⋮ ⋱ ⋮ ] (5)
𝑟𝑥(𝑝−1) … 𝑟𝑥(0)
Se caracterizan por lo general porque corren sobre hardware específico,
por lo que para distintos tipos de procesadores digitales de señales (DSP) Escribiendo la derivada de 𝜎𝑌2 relativa al vector 𝑎 es igual a un vector
se requiere mayores recursos en hardware. [12] nulo, por lo que se obtiene las ecuaciones normales:

CALIDAD ℝ𝑎𝑜𝑝𝑡 = −𝑟 (6)


Y la mínima potencia:
Una de las cosas más importantes es de que calidad se escucha la señal
codificada en presencia de condiciones ideales (señal de voz limpia, sin (𝜎𝑌2 )𝑚𝑖𝑛 = 𝜎𝑋2 + 𝑟 𝑡 𝑎𝑜𝑝𝑡 (7)
errores de transmisión y una única codificación). Cada códec proporciona
una cierta calidad de voz. La calidad de la voz transmitida es una En la práctica la función de auto-covarianza necesita ser estimada,
respuesta subjetiva del oyente. estadísticamente la función
𝑟𝑥(𝑘) = 𝔼{𝑋(𝑛)𝑋(𝑛 − 𝑘)} (8) V. RESULTADOS DE SIMULACIÓN DEL SISTEMA

Es reemplazada por la media empírica: CODIFICADOR

1 Para ingresar los datos al codificador se lee la información original a


𝑟̂ 𝑥(𝑘) = ∑𝑁−1
𝑛=𝑘 𝑥(𝑛)𝑥(𝑛 − 𝑘) (9)
𝑁 partir de un archivo de voz. En la figura 3 se puede observar la función en
relación al tiempo.
Recordar que en el caso particular los límites de sumatoria que solo el
dato que se encuentra en el intervalo [0, N-1], que se debe al hecho de
que estos límites se obtuvieron sobre una propiedad práctica muy
importante, asegurando la estabilidad del filtro de síntesis. Una vez
determinada, estos coeficientes pueden ser cuantizados, luego el código
de palabra que permite la reconstrucción de los coeficientes del filtro de
síntesis en el receptor deben ser transmitidos. [4]

TASA DE DATOS

Por cada 20 ms los siguientes parámetros son transmitidos:


 Los coeficientes para el filtro A(z). En el codificador LPC-10, Figura 4. Señal de voz de entrada.
P=10, teniendo aproximadamente 3 o 4 bits de código por Fuente: Autor del documento
coeficiente, se encuentra una tasa de datos de 1.8 Kbit/s.
 La potencia 𝜎𝑌2 en el caso de un sonido sin voz o de igual manera
Luego de ingresar el archivo de voz se realiza el proceso de segmentación
para el coeficiente α en el caso de un sonido con voz cuyo costos
a través de una ventana Hamming de 240 típica para señales de este tipo.
son 50x60=300 Bits/s (para cubrir 50dB en pasos de 1dB).
 La distinción voz/no voz, es 50 bits/s.
 Finalmente el período fundamental es 350 bits/s.

Sumando todos los anteriores parámetros da un total de 2.5 kbit/s como


tasa de datos, lo cual concuerda en la tasa del codificador LPC-10.

SEGMENTACIÓN

El aplicar segmentación a los datos ingresados asegura que en cada


ventana se calcule los coeficientes de predicción lineal necesarios para
reconstruir la señal. Esta ventana depende de la frecuencia de muestreo
con la que se procese la señal original. La ventana más frecuente utilizada
para los cálculos en LPC es la de Hamming, con un valor de 240. Figura 5. Señal de voz a través de una ventana Hamming
Fuente: Autor del documento
CUANTIZADOR
Al aplicar la función lpc para determinar los coeficientes del filtro de
predicción lineal se puede observar dichos coeficientes en el siguiente
“La cuantificación y transmisión de los parámetros LP debe hacerse
gráfico.
asegurando tanto la estabilidad del filtro de síntesis (para evitar generar
ruidos de alta intensidad en el receptor), como la facilidad en la
interpolación entre parámetros de tramas consecutivas (que permite
aumentar la naturalidad de la voz decodificada). Ambas condiciones se
obtienen recurriendo al uso de parámetros LP equivalentes, como son los
Logaritmos de las Relaciones de Área (LAR) ó los Pares de Línea
Espectrales (Line- Spectrum Frecuencias, LSF). Son estos últimos, los
coeficientes LSF, los que se utilizan en todos los estándares posteriores al
GSM 6.10 (Full Rate, FR), ya que aportan ventajas algorítmicas claras
para ser cuantizados vectorialmente y, de esta forma, permiten reducir la
tasa binaria necesaria para su transmisión, sin introducir degradaciones
perceptibles en la voz decodificada.” [3]
Figura 6. Coeficientes LPC
Los coeficientes de filtro de predicción lineal (LP), aj, j = 1,…,10 se Fuente: Autor del documento
convierten para los efectos de cuantificación e interpolación en
coeficientes de pares del espectro lineal (LSP). Al aplicar el codificador se tienen parámetros muy importantes como el
PITCH al cual se lo puede verificar en la siguiente figura.
Referencias

[1] Chichester. Advances in Digital Speech Transmission. s.l. : John Wiley


& Sons, 2008.
[2] Garg, Vijay. The Morgan Kaufmann Series in Networking : Wireless
Communications & Networking : an introduction. Burlington : US:
Morgan Kaufmann, 2010.
[3] Hernández, Alberto Alonso. Estudio y simulación de un codificador de
voz basado en la recomendación G.729 de la ITU-T. Sevilla :
Universidad de Sevilla, 2005. G.729.
[4] Moreau, Nicolas. Tools for Signal Compression : Applications to Speech
and Audio Coding. Hoboken : US: Wiley-ISTE, 2013.
[5] Mitra Sanjiti., “Digital signal processing: a computer-based
Figura 7. Pitch approach”, 2nd edition, McGraw-Hill, Companies, Inc., USA 2001.
Fuente: Autor del documento [6] Lin,Kun-Shan, “Signal processing Aplications with the TMS32
DECODIFICADOR Family Vol. 1”, Digital Signal Processing Semiconductor group
Texas Instrument, Pretince Hall, 1987.
Para realizar la decodificación se la realiza a través de la señal del [7] Proakis John G., Manolakis Dimitris G., “Tratamiento digital de
tracto vocal utilizando sus coeficientes de media y su energía a través de señales”, 3a edición, Pretince Hall, Inc., España 1988.
la relación que existe entre esta y el ruido. A partir de esto se calcula las [8] Hidalgo Rame, José Luis, “Diseño de un ecualizador digital con el
amplitudes y fases que concatenadas formaran la excitación de la señal. A procesador TMS320C50”, UDLAP, 1995.
partir del mismo se sintetiza dichos parámetros para obtener una señal [9] Andrew S. Tanenbaum, “Redes de computadoras”, 4ta edición, Pearson
muy parecida a la voz original. Pretince Hall, Mexico, 2003.
[10] Mendes, L.L.; Baldini, R. 2005. Uma Abordagem sobre Diversidade
de Transmissão para Redes WLAN. Revista Cientifica Periódica
INATELTelecomunicações. Vol. 8, N° 2. Dezembro.
[11] RIERA SALÍS, J. M., Sistema de Radiodifusión,
Radiocomunicaciones (4º- Plan 94). Mayo 2001. Publicaciones
Universitarias o revistas:
[12] Rincón Pasaye, José Juan, “Procesamiento Digital de Señales”,
Facultad de Ingeniería Eléctrica, Universidad Michoacana de San
Nicolás De Hidalgo, Junio de 2009.
[13] Dr. Martínez Castillo, Geovanni, “ IE-0527 Ingeniería de
Comunicaciones”, Folleto de clase, II semestre 2010.

Figura 8. Comparación de la Señal de voz de entrada y salida.


Fuente: Autor del documento
. Biografía

Abel Isaías Gallegos Álava, 11 de


VI. CONCLUSIONES Agosto de 1983, Santo Domingo de los
Colorados, 33 años, Ingeniero en
En la simulación se pudo recuperar la señal original con un grado de Electrónica y Computación. Analista de
distorsión provocado por errores de compresión que al oído humano son Operación y Mantenimiento de la
indiferentes. Corporación Nacional de
Telecomunicaciones y Docente a tiempo
Debido a la codificación y decodificación siempre se van a presentar Parcial de la Universidad Regional
errores, se tienen que combinar distintos tipos de técnicas de transmisión
y recepción, así como se sugiere que para la modulación y demodulación
Autónoma de los Andes “UNIANDES”
se utilicen las de tipo cuadratura con multiplexación OFDM. extensión Santo Domingo, maestrante de Sistemas de
Telecomunicaciones de la ESPOCH.
El uso de la segmentación permite trabajar de una forma más ordenada y
teniendo como resultados para cada segmento los coeficientes de
predicción lineal.

Desde el punto de vista del diseñador una mayor complejidad conlleva un


mayor coste y una mayor necesidad de consumo de potencia. Para
aplicaciones portátiles, un mayor consumo de potencia implica la
reducción del tiempo entre recargas, lo que significaría mayor coste y
peso. De aquí la importancia de la complejidad del codificador.