Você está na página 1de 3

1.

Grabar desde MatLab la frase Procesamiento Digital de Seales Paso 3 con


su voz en un archivo de audio .wav y una frecuencia de muestreo de 44100Hz,
apoyarse en la funcin wavrecord() o audiorecorder() dependiendo de la versin
de Matlab. Reproducir la seal y guardarla en la carpeta de trabajo de MatLab con
el nombre voz.wav. Graficar la seal en el dominio del tiempo y su espectro.
%Grabacion
recObj = audiorecorder(44100, 16, 2);
disp('Grabando...')
recordblocking(recObj, 5);
disp('Finde la grabacion');
%Reproduccion
play(recObj);
myRecording = getaudiodata(recObj);
%Grafica
plot(myRecording);
%Guardar grabacion
wavwrite(myRecording, 44100, 'voz.wav');

2. Investigar la forma de agregar eco a la seal de voz, reproducir la seal


resultante y guardarla en la carpeta de trabajo bajo el nombre eco.wav. Graficar la
seal en el dominio del tiempo y su espectro.
%Con la seal ya grabada
[lunch,fs2]=audioread('voz.wav');
out=lunch; % Estableci un nuevo array, mismo tamao que uno viejo.
N=1000; % retardo
for n=N+1:length(lunch)
out(n)=.7*out(n-N)+lunch(n); % eco recursivo
end
soundsc(out,fs2) % eco
%Grafica
plot(out);
%Guardar grabacin
wavwrite(out, 44100, 'eco.wav');

3. Investigar la forma para remover el eco, reproducir la seal resultante y


guardarla en la carpeta de trabajo de MatLab bajo el nombre sin_eco.wav,
graficarla en el dominio del tiempo y graficar su espectro.
%Con la seal ya grabada
[lunch,fs2] = audioread('eco.wav');
eco = lunch; % Estableci un nuevo array, mismo tamao que uno viejo.
N = 1000; % Retraso
sineco(1:N) = eco(1:N); % Comparacion de Muestras
for i=N+1:length(eco)
sineco(i)=eco(i)-.75*sineco(i-N); % Filtro Inverso
end
subplot(211)
plot(eco); % Plot seal con Eco
title('SEAL CON ECO');
subplot(212)
plot(sineco); % Plot seal sin eco
title('SEAL SIN ECO');
soundsc(sineco); % Escuchar seal sin eco
audiowrite('sin_eco.wav',sineco,fs2);

Você também pode gostar