Sunteți pe pagina 1din 9

UNIVERSIDAD NACIONAL DE SAN

AGUSTIN

AREA DE PRODUCCION Y SERVICIOS


Escuela Profesional de Ingeniería de
Telecomunicaciones

LABORATORIO DE TRATAMIENTO DE VOZ CON


MATLAB

Docente: Ing. Ebert San Roman Castillo


Curso: Fundamentos de Imagen y Sonido
Nombre: Lazo Taype, Henry Luis
CUI: 20160782
AREQUIPA - PERÚ
2018

Escuela Profesional de Ingeniería de Telecomunicaciones


TRATAMIENTO DE VOZ CON MATLAB

Cuestionario previo

¿Describa brevemente los siguiente tipos de filtros, Filtro Pasabajos, Filtro Pasaaltos,
Filtro Rechazabanda y filtro Pasabanda?
 Filtro Pasabajos: Son aquellos que introducen muy poca atenuación a las
frecuencias que son menores que una determinada, llamada frecuencia de corte.
Las frecuencias que son mayores que la de corte son atenuadas fuertemente.
 Filtro Pasaaltos: Este tipo de filtro atenúa levemente las frecuencias que son
mayores que la frecuencia de corte e introducen mucha atenuación a las que son
menores que dicha frecuencia.
 Filtro Rechazabanda: Este filtro elimina en su salida todas las señales que
tengan una frecuencia comprendida entre una frecuencia de corte inferior y otra
de corte superior. Por tanto, estos filtros eliminan una banda completa de
frecuencias de las introducidas en su entrada.
 Filtro Pasabanda: En este filtro existen dos frecuencias de corte, una inferior y
otra superior. Este filtro sólo atenúa grandemente las señales cuya frecuencia sea
menor que la frecuencia de corte inferior o aquellas de frecuencia superior a la
frecuencia de corte superior. por tanto, sólo permiten el paso de un rango o banda
de frecuencias sin atenuar.

¿Cómo se realiza un filtro digital?


En primer lugar se parte de las especificaciones y, basándose en éstas, se elige el tipo de
filtro. En este ejemplo se parte de un filtro digital que anule las frecuencias menores a
5Hz y la de 50Hz y que no altere al resto, la frecuencia de muestreo será 1000Hz, además
se quiere fase lineal.
Con estas especificaciones se elige un filtro FIR. El diseño se puede hacer manualmente o
con la ayuda de un ordenador.

Escuela Profesional de Ingeniería de Telecomunicaciones


Actividades

1. Actividad: Adquisición de Data en Matlab

A)

 Creación de la función para almacenar el audio

function Grab_datos(p) %Función para empezar la grabación por 5 segundos


recObj = audiorecorder(44100, 8, 1);
get(recObj)

disp('Iniciando la grabación…')
recordblocking(recObj, 5);
disp('Fin de la grabacion…');

play(recObj); %Reproduciendo la grabación


myRecording = getaudiodata(recObj); %Almacenando los datos

%Ponemos audiowrite en vez de wavwrite, ya que fue eliminado en las últimas versiones
audiowrite('pz.wav',myRecording,44100)
audioplayer(myRecording,44100)

%mr = myrecording, para almacenar la lectura del audio


mr = audioread('pz.wav');
x = length(mr);
plot(myRecording)

B)

 Se creara la señal (DATA) para añadir a la señal original

Fs = 44100; %frecuencia de muestreo


T = 1/Fs; %tiempo de muestreo
L = x; %longitud de la señal

Escuela Profesional de Ingeniería de Telecomunicaciones


t = (0:L-1)*T; %vector tiempo
y = 0.7*sin(2*pi*15000*t);
y = y';
data1 = mr + y; %mr = myrecording(grabacion)

 Escuchamos la señal creada

audioplayer(data1,44100)
mr = mr*100;
data = mr+y;

 Transformada de Fourier de la señal grabada(MyRecording)

FT = 2^nextpow2(L);
Y = fft(mr,FT)/L;
f = Fs/2*linspace(0,1,FT/2);

 Transformada de Fourier de la señal(DATA)

FT = 2^nextpow2(L);
Y1 = fft(data,FT)/L;

 Grafica de la señal del audio grabado

subplot(2,2,1);
plot(t,mr);
title('Señal del Audio Grabado(MyRecording)')
xlabel('Tiempo')
ylabel('Amplitud')

 Grafica de la señal DATA

subplot(2,2,3);
plot(t,data1);
title('Señal(DATA)')
xlabel('Tiempo')
ylabel('Amplitud')

 Grafica de la Transformada de Fourier de la señal del audio grabado


(MyRecording)

subplot(2,2,2);
plot(f,2*abs(Y(1:FT/2)))
title('Transformada de Fourier del audio grabado')
xlabel('Frecuencia')
ylabel('Amplitud')

Escuela Profesional de Ingeniería de Telecomunicaciones


 Grafica de la Transformada de Fourier de la señal del audio grabado con
la señal(DATA)

subplot(2,2,4);
plot(f,2*abs(Y1(1:FT/2)))
title('Transformada de Fourier del audio con la señal (DATA)')
xlabel('Frecuencia')
ylabel('Amplitud')

Preguntas:

a. ¿Explicar qué ocurre si se reproduce data a una frecuencia superior o inferior a la


grabada?
wavplay(data,22000)
wavplay(data,16000)

La lectura del audio sería más lenta o más rápida. Además, que la frecuencia
fundamental no debe ser superior a la frecuencia máxima de muestreo se produciría
superposición de señales.

b. ¿Busque en la ayuda el comando wavread, para que sirve?

Escuela Profesional de Ingeniería de Telecomunicaciones


Esta función MATLAB lee los datos del archivo llamado nombre de archivo y devuelve los
datos muestreados, y una frecuencia de muestreo para esos datos, Fs. Sin embargo, pero
este código ha sido reemplazado en las últimas versiones de Matlab por audioread.

2. Actividad: Filtros en Matlab

1. Diseño de un filtro pasabajos para limpiar nuestro sistema de Voz corrupto

a. Grafique su señal de voz adquirida en el espectro de frecuencia. Utilice


el comando fft().
audio = audioread('pz.wav');
Fs = 4400;
L = length(audio);
NFFT = 2^nextpow2(L);
Y = fft(audio, NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);
plot(f, 2*abs(Y(1:NFFT/2+1)))
title('Espectro de la Frecuencia de la señal de voz')
xlabel('Frecuencia')
ylabel('Señal')

b. Grafique su señal de voz distorsionada en el espectro de frecuencia.


Que diferencias existen con el espectro de frecuencias del paso a.

audio = data;
Fs = 4400;
L = length(audio);
NFFT = 2^nextpow2(L);
Y = fft(audio, NFFT)/L;
f = Fs/2*linspace(0,1,NFFT/2+1);

Escuela Profesional de Ingeniería de Telecomunicaciones


plot(f, 2*abs(Y(1:NFFT/2+1)))
title('Espectro de la Frecuencia de la voz Distorsionada)')
xlabel('Frecuencia')
ylabel('Señal')

c. Diseñe un filtro paso bajo Chevysheb con las siguientes características:

• Atenuación (o rizado) máximo en la banda de paso: 1 dB


• Atenuación (o rizado) mínimo en la banda atenuada: 40 dB
• Frecuencia de final de la banda de paso: 9000 Hz
• Frecuencia de inicio de la banda atenuada: 10000 Hz
• La frecuencia de simulación a utilizar es 70000 Hz

 Iniciamos poniendo valores a los rizados y frecuencias

Wp = 2*9000/70000;
Ws = 2*10000/70000;
Rp = 1;
Rs = 40;
[n,Wn] = cheb1ord(Wp,Ws,Rp,Rs);
[b,a] = cheby1(n,Wn,Wp);

fo = 0;
ff = 34000;
f = fo:0.1:ff;
H = freqz(b,a,f,70000);
plot(f,abs(H));
title('Filtro Chevysheb')

Escuela Profesional de Ingeniería de Telecomunicaciones


d. Qué orden de filtro sale y cuáles son los coeficientes del filtro?

e. Grafique la función de trasferencia del filtro

%se obtiene la funcion de aproximacion


gcheb = tf(b,a)
hcheb = 1/gcheb;
w = [Ws,Wp];
[mag] = bode(hcheb,w);
magdB = 20*log10(mag)
[sosch,g] = tf2sos(b,a);
bodemag(hcheb);
title('Funcion de transferencia (BODE)')

Escuela Profesional de Ingeniería de Telecomunicaciones


Referencias

http://rubensm.com/representar-el-espectro-frecuencial-de-un-archivo-audio-con-
matlab/
http://www.cartagena99.com/recursos/alumnos/apuntes/Teoria_Tema_3a.pdf

Escuela Profesional de Ingeniería de Telecomunicaciones

S-ar putea să vă placă și