Documentos de Académico
Documentos de Profesional
Documentos de Cultura
CARRERA DE:
INGENIERÍA ELECTRÓNICA EN AUTOMATIZACIÓN Y CONTROL
REPORTE N°2
FECHA: 2019-04-17
QUITO-ECUADOR
Índice
1. Objetivos.............................................................................................................................2
2. Objetivos específicos...........................................................................................................3
3. Procedimiento.....................................................................................................................3
3.1. Síntesis de señales de voz (vocales)............................................................................3
3.2. Sistema LTI “Moving Average”..............................................................................11
4. Análisis de resultados.......................................................................................................13
5. Conclusiones.....................................................................................................................14
6. Recomendaciones.............................................................................................................14
7.1. Síntesis de señales de voz (vocales)..........................................................................15
2
1. Objetivos
2. Objetivos específicos
Obtener el espectro de una señal de audio empleando herramientas y
comandos de MATLAB.
Realizar el histograma de la señal completa, de una vocal y una
consonante.
Extraer información de la señal de audio original para formar una señal
que permita escuchar las vocales.
Graficar la señal de entrada y la señal después de haberla filtrado
mediante el Moving Average.
3. Procedimiento
3.1. Síntesis de señales de voz (vocales)
Para poder leer una señal de audio en MATLAB se utilizó el comando
“audioread”, el cual al proporcionar una señal de audio en formato .wav esta nos
devuelve una matriz que contiene la información de la señal y la frecuencia de
muestreo de dicha señal.
3
FIGURA 2. ESPECTRO DE LA SEÑAL DE AUDIO INGRESADA
Para facilitar el análisis de la señal de audio se procedió a formar un nuevo
vector, el cual contiene la información más importante de la señal original. Se
creó el vector “Senal” el cual contiene los datos del vector “y” desde la posición
6255 hasta la posición 15550, para obtener este rango se empleó de cursor de
datos, y de igual manera de la señal original se procedió a graficar su espectro.
4
FIGURA 5. CÓDIGO PARA OBTENER EL HISTOGRAMA DE LA SEÑAL
5
FIGURA 9. HISTOGRAMA DE UNA CONSONANTE
El audio analizado tiene en su señal las cinco vocales, utilizando el cursor de
datos en la señal de audio se obtuvo los rangos en los cuales se encuentran las
vocales. Después de extraer esta información del vector “senal” se procedió a
obtener la gráfica del espectro y el histograma de cada una de las vocales en el
audio.
Vocal A: 5849 - 6668
Vocal E: 288 - 656
Vocal I: 2755 - 3131
Vocal O: 7488 - 8562
Vocal U: 4251 - 5039
6
FIGURA 11. CÓDIGO PARA EL OBTENER EL HISTOGRAMA DE LA VOCAL O Y U
7
FIGURA 14. HISTOGRAMA DE LA VOCAL I
9
El periodo por fitch va ser igual a:
Tm=Ts∗¿ Muestras
Tm=90.7 x 10−6∗80
Tm=7.26 mS
10
x ( t )=sin ( 2 πft )+ N (t)
Evidentemente, se trata de una señal sinusoidal y la frecuencia va a ser de
500Hz.
En donde N(t) es el ruido de la señal entrante.
La Frecuencia de muestreo para este laboratorio es:
F S=32000 ( Hz)
1
T S= ( s)
32000
El siguiente paso es convertir a la señal en una señal discreta con un
determinado número de muestras para lo cual se utiliza:
t=n∗T s
ruido=0.25∗randn (1 ,501)
11
FIGURA 23. SEÑAL SINUSOIDAL CON RUIDO.
4. Análisis de resultados
El proceso de digitalización de señales mediante MATLAB permite analizar de
forma más adecuada el espectro de una señal analógica de audio, de tal manera
que permite hacer más visible las características de los sonidos vocálicos y no
vocálicos.
Al observar el histograma de cada una de las vocales y consonante se puede
determinar que la distribución más ajustable al histograma es una distribución
gaussiana. Al platear cada una se las señales de las vocales se puede observar
que su forma de onda es cuasiperiodica y es única para cada vocal.
Por otro lado, MATLAB permite manipular la información de una señal
digitalizada, es así que se obtuvo la señal de audio AEIOU, la cual al momento
de reproducirla y hacer variar la frecuencia de muestreo, se puede escuchar más
aguda o grave.
El Moving Average resulta ser un filtro pasa bajos. Al introducir una señal con
ruido se espera que tenga variedad en su forma y amplitud por lo cual al
aplicarle un Moving Average corrige en cierta manera este aspecto y es muy útil
para limpiar señales que se pueden encontrar en la realidad.
12
FIGURA 25. MOVING AVERAGE.
5. Conclusiones
Mediante el sistema de cómputo numérico MATLAB se obtuvo el
espectro de la señal de audio ESTIMULADOR grabado en formato wav
compatible con MATLAB. Empleando el comando “plot” se obtuvo las
gráficas del espectro de la señal ingresada.
Empleando el cursor de datos en la gráfica de la señal original se obtuvo
las posiciones en las cuales se obtienen información de las vocales y una
consonante. Una vez obtenida esta información se empleó el comando
histogram de MATLAB con el cual se obtuvo el respectivo histograma
para cada una de las vocales y una consonante.
Para formar la señal de audio AEIOU se realizó el proceso de extracción
de los fitch de información de cada una de las vocales de la señal
original, después de realizar la normalización de cada uno de los fitch se
concateno 137 veces de tal manera que nos asegure que la señal dure un
segundo para cada una de la vocales. Finalmente con el comando sound
se escuchó el audio y al hacer variar la frecuencia de muestreo la señal se
audio se escucha más aguda o más fuerte.
El Moving Average funciona como un filtro pasabajos de cualquier señal
entrante y resulta ser muy útil para limpiar señales que se podrían
encontrar en la realidad.
6. Recomendaciones
Utilizar señales de audio en formato .wav para evitar error de
compatibilidad con MATLAB.
Utilizar el comando movavg de Matlab para simplificar el algoritmo.
7. Códigos
13
7.1. Síntesis de señales de voz (vocales)
clear all
close all
[y,Fs]=audioread('D:\ESCRITORIO\RENNY\5.Quinto
Semestre\PDS\Comandos Digitalizados/estimulador.wav');
plot(y)
title('Espectro de Audio')
figure
senal=y(6255:15550,1);
plot(senal)
title('Espectro de la señal pura')
figure
histogram(senal,20)
title('Histograma de la señal completa')
figure
vocal=senal(283:655);
histogram(vocal,20);
title('Histograma de una vocal')
figure
consonante=senal(1083:1409);
histogram(consonante,20)
title('Histograma de una consonante')
%Histogramas de las vocales de la señal
figure
subplot(2,1,1)
plot(senal(5849:6668,1))
title('Espectro de la señal A')
subplot(2,1,2)
histogram(senal(5849:6668,1),20)
title('Histograma de la vocal A')
figure
subplot(2,1,1)
plot(senal(288:656,1))
title('Espectro de la señal E')
subplot(2,1,2)
histogram(senal(288:656,1),20)
title('Histograma de la vocal E')
figure
subplot(2,1,1)
plot(senal(2785:3131,1))
title('Espectro de la señal I')
subplot(2,1,2)
histogram(senal(2785:3131,1),20)
title('Histograma de la vocal I')
figure
subplot(2,1,1)
plot(senal(7488:8562,1))
title('Espectro de la señal O')
subplot(2,1,2)
histogram(senal(7488:8562,1),20)
title('Histograma de la vocal O')
figure
subplot(2,1,1)
plot(senal(4251:5039,1))
title('Espectro de la señal U')
subplot(2,1,2)
histogram(senal(4251:5039,1),20)
title('Histograma de la vocal U')
%Fitch de las vocales
fitchA=senal(6153:6256,1);
14
fitchE=senal(377:468,1);
fitchI=senal(2935:3027,1);
fitchO=senal(8064:8160,1);
fitchU=senal(4441:4538,1);
%normalizando
NA=fitchA/0.5656;
NE=fitchE/0.4053;
NI=fitchI/0.2711;
NO=fitchO/0.5241;
NU=fitchU/0.4487;
% formando
A=NA';
E=NE';
I=NI';
O=NO';
U=NU';
for i=1:136
A=[A NA'];
E=[E NE'];
I=[I NI'];
O=[O NO'];
U=[U NU'];
end
AEIOU=[A E I O U];
AEIOU=AEIOU';
sound(AEIOU,Fs)
15