Está en la página 1de 10

Informe final N°2 Señales y Sistemas

FACULTAD DE INGENIERIA ELECTRONICA, ELECTRICA Y DE


TELECOMUNICACIONES

CURSO: LABORATORIO DE SEÑALES Y SISTEMAS

TEMA: TRATAMIENTO DE SEÑALES DE AUDIO

PROFESOR: Ing. Wilbert Chávez Irazábal

INFORME: FINAL N°: 2

ALUMNO : - BARRAZA CCACCYA , ROMEL NIKOLAS COD: 13190144

FECHA : Junio del 2018

Ing. Wilbert Chavez FIEE - UNMSM


Informe final N°2 Señales y Sistemas

INFORME FINAL N°2

TRATAMIENTO DE SEÑALES DE AUDIO

I. OBJETIVOS:

 El objetivo de esta práctica es capturar una señal de audio en formato *.WAV o *.MP3,
manipular la señal de audio para luego visualizarlo.

II. MATERIAL Y EQUIPOS:

1 Ordenador de Mesa
1 Tarjeta reproductora de sonido
El alumno debe traer unos auriculares similares a los de un reproductor portátil
Todos los ordenadores deben estar equipados con Octave o Matlab

III. PROCEDIMIENTO:
1.- Grabar su voz en un archivo por un tiempo de 10 segundos, utilizando el programa
MATLAB u OCTAVE y reproducirlo el sonido.
Para el presente informe se utilizo el programa MATLAB versión R2009a. Lo primero que
realizamos es el código para poder realizar la grabación, mediante un micrófono, se utilizo el
siguiente código:

function [senal_salida,senal_grabada] = grabacion(duracion)


%Parametros de salida; senal_salida->objeto
%senal_grabada -> señal de de audio
%Parametros de entrada; duracion-> tiempo para grabar en segundos

fs=44100; %f. muestreo


senal_salida=audiorecorder(fs,16,1);%Creacion del objeto de grabacion
msgbox('Empezando Grabacion',' Grabadora '); %Mensaje de informacion
recordblocking(senal_salida,15);%Grabacion del sonido
msgbox('Terminando Grabacion',' Grabadora ');%Mensaje de informacion
%Paso los valores del objeto a una señal
senal_grabada=getaudiodata(senal_salida, 'single');
%Grabamos y guardamos la señal
wavwrite(senal_grabada,fs,uiputfile({'*.wav'},'Guardar como'));
end

Ing. Wilbert Chavez FIEE - UNMSM


Informe final N°2 Señales y Sistemas

El audio se grabo dando click en el botón “empezando grabación”

Luego para finalizar le damos click al botón”” y lo guardamos en la carpeta Matlab.

El archivo guardado se llama “goodbye.wav”, el audio posee el formato wav.

Ing. Wilbert Chavez FIEE - UNMSM


Informe final N°2 Señales y Sistemas

2.- Leer el archivo guardado y mostrarlo en la pantalla del ordenador.


Para poder mostrar el audio y reproducirlo, debemos utilizar los comandos de Matlab:
-wavread: para que pueda leer el audio
-sound (x) : para que pueda sonar en la PC.
-plot (x) : para mostrar la grafica del sonido en pantalla. El código seria así:

clc, clear all , close all


[x,fs,nbits]=wavread('goodbye.wav.wav');
sound(x,44100); %para que suene el audio

figure(1)
subplot(211)
plot(x);

Tener en cuenta que para que el código funcione, hemos de grabar nuestro código en la misma
carpeta que grabamos el audio, esto es para que lo reconozca perfectamente, Tal como se
muestra en la imagen.

Ing. Wilbert Chavez FIEE - UNMSM


Informe final N°2 Señales y Sistemas

3.- El archivo guardado mostrar su espectro en función de la frecuencia y su histograma.

-Para mostrar el histograma se utilizó el comando:

Hist(x)

-Para mostrar el espectro en función de la frecuencia ,utilizaremos el comando transformada


rápida de Fourier:

-FFT (fast Fourier transform)

Luego el código utilizado es:

subplot(212)
hist(x); %para mostrar el histograma
grid on
title('histograma');

m=fft(x)
figure(2)
plot(abs(m)); % para mostrar el espectro de frecuencia
grid on;
title('espectro del eco en función de la frecuencia');
xlabel('frecuencia(Hz)');
ylabel('Amplitud')

Ing. Wilbert Chavez FIEE - UNMSM


Informe final N°2 Señales y Sistemas

4.- Introducir eco a la señal grabada, visualizar y oír el eco introducido.

Para poder realizar el eco del audio wav , utilizaremos el comando:

Conv(x) , donde se juntara la señal de audio , con el eco del valor deseado.

El código es el siguiente:

close all; clear all; clc;


[y,Fs]=wavread('goodbye.wav.wav');
h=[1,zeros(1,0.4*Fs),0.6,zeros(1,0.3*Fs),0.3];
plot(h)
title('impulse response');
echo=conv(y(:,1),h);
figure(1)
subplot(311)
plot(y)
title('sound input');
subplot(312)
plot(echo)
title('echo output');
sound(echo,Fs); % para hacer el sonido del eco

Ing. Wilbert Chavez FIEE - UNMSM


Informe final N°2 Señales y Sistemas

6.- La señal guardada con eco mostrar su espectro en función de la frecuencia y su


histograma.

-Para mostrar el histograma se utilizó el comando:

Hist(x)

-Para mostrar el espectro en función de la frecuencia ,utilizaremos el comando transformada


rápida de Fourier:

-FFT (Fast Fourier transform)

Luego el código utilizado es:

Ing. Wilbert Chavez FIEE - UNMSM


Informe final N°2 Señales y Sistemas

figure(2)
hist(echo) % para hacer el histograma
title('histograma');

Fs = 16000;
L = length(echo);
NFFT = 2^nextpow2(L);
Y = fft(echo, NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
figure(3)
plot(f, 2*abs(Y(1:NFFT/2+1))); % para hacer el espectro de frecuencia
grid on;
title('espectro del eco en funcion de la frecuencia');
xlabel('frecuencia(Hz)');
ylabel('Amplitud')

Ing. Wilbert Chavez FIEE - UNMSM


Informe final N°2 Señales y Sistemas

Como se nota en el código que utilizamos, solo se muestra la parte positiva, ya que no hay
frecuencias negativas. Esto se logro utilizando el comando abs(x) que indica el valor absoluto de
la función.

Ing. Wilbert Chavez FIEE - UNMSM


Informe final N°2 Señales y Sistemas

7.- Conclusiones:

- A través del laboratorio me he podido dar cuenta que MATLAB es una poderosa herramienta
para modelar ecuaciones matemáticas y esta mejor estructurado que el octave.

-El tratamiento de señales es muy importante en el área de las telecomunicaciones.

-El espectro de frecuencia viene a ser el uso mas extensivo que se le da a la transformada de
Fourier, para el análisis de señales.

-En cuanto a la programación, MATLAB es sumamente simple y amigable, debido a su lenguaje


de alto nivel.

BIBLIOGRAFÍA:

 http://docplayer.es/2699241-Manual-basico-de-Matlab.html

 http://www.ie.itcr.ac.cr/marin/lic/el3212/Libro/Tema3.pdf

 http://webserver.dmt.upm.es/media/files/cursomo.pdf

 http://softin.info/tag/matlab/

 https://es.slideshare.net/elagus123/seales-de-tiempo-continuo-y-discreto-matlab

2018

Ing. Wilbert Chavez FIEE - UNMSM

También podría gustarte