Sie sind auf Seite 1von 9

Universidad Autónoma de Zacatecas

Unidad Académica de Ingeniería Eléctrica

Ingeniería en Comunicaciones y Electrónica

Eléctrica Ingeniería en Comunicaciones y Electrónica Procesamiento Digital de Voz Ing. Ernesto García Domínguez

Procesamiento Digital de Voz

Ing. Ernesto García Domínguez

Práctica 3 “Análisis de Ventana”

Alumno:

Víctor Manuel González Villagrana

Zacatecas, Zacatecas, México

22-Febrero-2012

Introducción .

En el procesamiento digital de señales puede ser mas útil analizar solo una porción de la señal de interés para poder obtener los parámetros mas importantes con una mayor validez. A su vez en el procesamiento digital de voz se hace esto mediante tramas sonoras, donde una trama tiene una duración aproximada de 20- 30ms en donde se dice que los parámetros mas importantes de la voz permanecen invariantes y por tanto se tiene una gran confiabilidad de los datos.

Existen también otras formas de analizar simplemente un fragmento de la señal, y esto se hace mediante una función llamada ventana. Las cuales son funciones usadas frecuentemente en el procesamiento de señales, para evitar discontinuidades al principio y al final de los bloques analizados.

Una ventana se utiliza cuando solo una porción de la señal es de interés para el análisis, y la longitud de la ventana será preestablecida por aquél que vaya a hacer el análisis de la señal. Una señal tiene que ser de tiempo finito; además, un calculo solo es posible a partir de un numero finito de puntos. Y para poder observar una señal en un tiempo finito la multiplicamos por la función ventana.

La utilización de una ventana cambia el espectro en frecuencia de la señal. Es importante saber que existen distintos t ipos de ventanas, cada una para diseñada para distinto tipos de requerimientos de la señal. En está práctica se hará uso de las 2 ventanas mas importantes dentro del procesamiento digital de voz, y son: Ventana Rectangular y Ventana Hamming.

Objetivos.

- Elaborar un algoritmo para obtener una ventana rectangular y otro para una ventana tipo hamming.

- Hacer el análisis con ambas ventanas para una señal sinusoidal y para un sonido vocalizado (vocal).

- Elaborar un código que despliegue un menú don de se pueda escoger el tipo de ventana y el tipo de señal a analizar.

Desarrollo y Resultados.

El análisis se hizo para 4 diferentes caso, de los cuales se obtuvieron los siguientes resultados:

1er. Caso “Ventana Rectangular con Señal Sinu soidal”

Caso “Ventana Rectangular con Señ al Sinu soidal” Figura 3 - 1 Análisis con la ventana

Figura 3 - 1 Análisis con la ventana rec tangular para una señal sinusoidal .

2do. Caso “Ventana Rectangular con Señal de Voz”

2do. Caso “Ventana Rectangular con Señal de Voz” Figura 3 - 2 Análisis con la ventana

Figura 3 - 2 Análisis con la ventana rectangular para una señal de voz (Vocal ‘a’).

3er. Caso “Ventana Hamming para una Señal Sinusoidal ”

3er. Caso “Ventana Hamming para una Señal Sinusoidal ” Figura 3 - 3 Análisis con la

Figura 3 - 3 Análisis con la ventana hamming para una señal Sinusoidal .

4to. Caso “Ventana Hamming para una Señal de Voz”

4to. Caso “Ventana Hamming para una Señal de Voz” Figura 3 - 4 Análisis con la

Figura 3 - 4 Análisis con la ventana hamming para una señal de voz (Vocal ‘a’).

Conclusiones.

El uso de ventanas es muy importante dentro del procesamiento digital de voz, ya que nos ayuda a eliminar muchas componentes indeseadas como el ruido, creo que esta práctica me deja mucho aprendizaje ya que el uso de ventanas es algo nuevo para mi.

A pesar de que existen mas técnicas para poder optimizar las señales, el uso de ventanas creo yo que es una de las mejores. Se tuvieron problemitas a la hora de centrar el espectro de frecuencias para que se pudiera apreciar de una forma mas clara como es que se desempeñan las ventanas en frecuencia.

Finalmente, es importante mencionar que aunque no hayamos visto mas tipos de ventanas, con estas dos fue suficiente al menos para entender el funcionamiento de las ventanas aplicada a una señal ya sea de voz o sinusoidal.

Se debe mencionar que para hacer el análisis con señales de voz, se tomo solamente una trama sonora de 20ms para obtener un confiabilidad de los datos, ya que como sabemos dentro de una trama sonora los parámetros mas importantes de la voz permanecen constantes.

Anexos

Programa en MatLab para la práctica de Ventanas.

%Ventanas Temporales %Elaborado por Victor Gonzalez

N=160;

Fs=8000;

%Frecuencia de Muestreo

TT=0.020;

%Tiempo de Trama

NMT=Fs*TT; %Numero de Muestras por Trama

tv=menu('Elige ventana','Rectangular','Hamming');

switch(tv) case 1, %Ventana Rectangular

ventana=ones(1,NMT);

case 2, %Ventana Hamming

n=0:NMT-1;

ventana=0.54-0.46*cos(2*pi*n/(NMT-1));

end

%Tipo de Senal ts=menu('Tipo de Senal','Sinusoidal','Voz');

switch(ts) case 1, %Senal Sinusoidal

f=400;

t=0:1/Fs:(20e-3)-1/Fs;

x=sin(2*pi*f*t);

case 2, %Senal de Voz voz=wavread('C:\PDV\a'); %Utilizando una trama para optimizar el

analisis

x=voz(10000:10159);

t=0:1/Fs:(159/8000);

x=x';

end

figure;

subplot(3,2,1);

plot(t,x); title('Señal de entrada (Sinusoidal/Voz)'); xlabel('Tiempo'); ylabel('Amplitud'); grid on

subplot(3,2,3);

stem(t(1:length(ventana)),ventana);

title('Ventana(Rectangular/Hamming)'); xlabel('Tiempo'); ylabel('Amplitud'); grid on

%Ponderacion en tiempo sp=x.*(ventana);

subplot(3,2,5);

plot(t,sp); title('Respuesta de la señal al aplicar la ventana'); xlabel('Tiempo'); ylabel('Amplitud'); grid on

%Analisis en Frecuencia de la Senal

es=abs(fft(x,512));

es=fftshift(es);

frec=(Fs*(0:255)/512);

%Analisis en frecuencia de la ventana

ev=abs(fft(ventana,512));

ev=fftshift(ev);

frec=(Fs*(0:255)/512);

%frecaux=[-frec(length(frec):-1:2) frec ] %La frecaux comentada tambien es una forma de centrar el espectro de %frecuencia.

frecaux=-4000:8000/511:4000;

%Grafica del espectro de la senal

subplot(3,2,2);

plot(frecaux,es); title('Espectro de señal de entrada(Sinusoidal/Voz)'); xlabel('Frecuencia (Hz)'); ylabel('Magnitud'); grid on

%Grafica del espectro de la ventana

subplot(3,2,4);

plot(frecaux,ev);

title('Espectro de la ventana(Rectangular/Hamming)'); xlabel('Frecuencia (Hz)'); ylabel('Magnitud'); grid on

%Ponderacion de espectros sp=es.*(ev);

subplot(3,2,6);

plot(frecaux,sp); title('Respuesta de la señal al aplicar la ventana'); xlabel('Frecuencia (Hz)'); ylabel('Magnitud'); grid on