Está en la página 1de 14

Análisis espectral usando MATLAB

Dr. José Guadalupe Torres Morales


Objetivos de Trabajo

Ingresar Archivos de sonido:

• Procesar archivos de sonido (particularmente señales de voz) en formatos


.wap (formato de sonido WAVE de Microsoft) el espacio de trabajo de
Matlab, mediante recordblocking.

• Emplear MATLAB para representar señales de voz en el dominio del tiempo


(formas de onda) y en el dominio de la frecuencia (espectro), mediante el
comando plot.

• Utilizar la función fft para obtener los componentes frecuenciales de las


muestras.

• Utilizar la función ifft para obtener la voz original.

• Utilizar la GUI Window Designer para aplicar ventanas al procesamiento


Objetivos de Trabajo
Como se menciono en los objetivos del trabajo, utilizaremos el software MATLAB, mediante
la introducción de comandos para obtener diversas propiedades de las señales creadas y así
comparar las diferencias entre ambas.

El Software MATLAB nos permitirá:

• Cargar el Archivo de Audio: x=getaudiodata(mivoz);


• Graficar en el dominio del tiempo: plot(x)
• Hallar la transformada rápida de Fourier: y=fft(x); y devolver la señal con ifft
• Hallar la potencia de la señal : A=y.*conj(y);
• Graficar el espectro de Frecuencias : f=(100:3000);
• GUI Window Designer

Al graficar el espectro de frecuencias (luego de calcular la fft), se debe determinar un rango


de frecuencias, en este caso entre 100 y 3000 debido a que es el rango promedio de
frecuencias en las cuales los ondas sonoras son perfectamente audibles
Desarrollo del tema

 Con la ayuda del MATLAB llevaremos a cabo el análisis espectral de


LA VOZ HUMANA y si pueden de una NOTA MUSICAL.

 Se deberán analizar la frecuencia espectral sin aplicar ventanas.

 Se deberán analizar la frecuencia espectral con la aplicación de


ventanas.

 Retornar a la señal original con la ifft en ambos casos


Análisis de la voz humana
 Generación de archivo mivoz.wav

 Atributos, aunque con los programas a continuación se pueden dar otros atributos

 8Khz
 16 bits
 Mono
Forma sencilla para grabar y reproducir a la vez, se muestra un programa
para grabar 5 segundos

Atributos: 44100 KHz, 16 Bits, dual

Atributos: 8 KHz, 16 Bits, Mono %grabador


Fs = 44100 ;
%grabando nBits = 16 ;
mivoz=audiorecorder; nChannels = 2 ;
disp('inicio de grabación') ID = -1; % dispositivo de entrada de audio
recordblocking(mivoz,5) mivoz = audiorecorder(Fs,nBits,nChannels,ID);
disp('fin de grabación') disp('Start speaking.')
play(mivoz); recordblocking(mivoz,5);
x=getaudiodata(mivoz); disp('End of Recording.');
plot(x) play(mivoz);
x=getaudiodata(mivoz);
plot(x)
Análisis de una voz

Los comandos a usar para el análisis espectral de las muestras adquiridas con el
programa anterior son

• y=fft(x); % transformada rápida de Fourier.

• A=y.*conj(y); % potencia de la señal.

• f=(100:3000); % espectro de frecuencia.

• figure

• plot(f,A(1:2901)); % gráfica en el dominio de la frecuencia.


Análisis en el dominio del tiempo de voz
Análisis en el dominio de la frecuencia de la
adquirida por cualquiera de los dos programas,
muestra
uno se muestrea a 8000 y el otro a 44100

T=2.5s BW=2615-500
BW=2115 Hz
Análisis en el dominio de la frecuencia

La mayor potencia se observa a 800Hz


Aplique una ventana con el apoyo de la GUI Window Designer, seleccione la
que desee:
Analice una nota musical o un tramo de una melodía

 Generación de archivo

https://la.mathworks.com/videos/signal-processing-
Recomendable revisar link → with-matlab-96587.html
Sin ventana Ventana Triangular
Recomendable revisar este link

https://es.mathworks.com/videos/signal-processing-with-matlab-96587.html
La verdadera sabiduría esta en reconocer la
propia ignorancia.

Sócrates

También podría gustarte