Está en la página 1de 5

UNIVERSIDAD CATÓLICA DE SANTA MARÍA

ESCUELA PROFESIONAL DE INGENIERÍA ELECTRÓNICA


CÓDIGO :
GUÍA DE LABORATORIO NO 03
ASIGNATURA : PROCESAMIENTO DIGITAL DE SEÑALES
Docente (s):
SEGUNDA FASE
Ing. Henry Christian Zegarra Gago.
PROCESAMIENTO DE SEÑALES DE AUDIO Fecha: 2021.06.15.

Alumno
Grupo

I. OBJETIVOS
 Procesar señales de audio
 Implementar efectos sobre dichas señales

II. ACTIVIDADES
 Al finalizar la practica realice una tabla indicando los comandos utilizados, sintaxis y
preguntas donde fueron aplicadas.
 No olvide aplicar todo lo aprendido hasta ahora.
 En base a las actividades realizadas y sus respuestas, realice sus conclusiones.
II.1 Crear y guardar un archivo de audio *.wav de al menos 30 seg de duración y frecuencia
de muestreo arriba de 11KHz.

>> fs=11025; Borre este código y coloque la


>> t=twavrecord(30*fs,fs); captura de pantalla del programa
implementado en Matlab.
>> sound(y,fs)
>> wavwrite(t,fs,'ejemplo.wav')

II.2 Abra el archivo y cárguelo en un vector y, almacene también fs

Programa Matlab

Vectores creados

II.3 Determinar el número de muestras N usando el comando length.

Programa Malab
II.4 Definir la mitad del número de muestras, redondee el número de muestras usando el
comando round.

Para las siguientes preguntas, considere utilizar el comando subplot para graficar la señal en
el tiempo y frecuencia.

II.5 Graficar la señal en el tiempo y el espectro en frecuencias.


Programa Matlab

Graficando
II.6 Generar el efecto de reverberación
>> a=0.5; %Magnitud de la reverberacion Borre este código y
>> R=5000; %Numero de muestras para el efecto coloque la captura de
>> x=zeros(size(y)); pantalla del programa
>> for i=1:1:R+1 implementado en
x(i) = y(i); %vector de efecto Matlab.
end
>> for i=R+1:1:n
x(i)= y(i)+ a*y(i-R); %sonido más efecto
end;
>> sound(x,fs);

II.7 Repita el paso 6 con al menos dos valores diferentes de a y R, consigne en cada caso
los espectros en frecuencia, compare con el de la señal original, comente los
resultados obtenidos.
Para a =? R = ? Coloque la captura de pantalla del
programa implementado en Matlab.

Para a =? R = ? Coloque la captura de pantalla del


programa implementado en Matlab.

II.8 Aplique un filtro pasabajos de orden 30 con frecuencia de corte 0.20 (1/5 de Fs) y
ganancia 0.4

>> Wn = 0.20; %Frecuencia de Corte. }


Borre este código y coloque la
>> N = 30; %Grado del filtro
captura de pantalla del
>> LP = fir1(N,Wn); %filtro pasa bajos programa implementado en
>> gLP = 0.4; Matlab.
>> y1 = conv(LP,y); % Convolución señal y filtro
>> fre=round(length(y1)/2);
>>% Detector de Frec. medias de sonido
>> if 2*fre==length(y1)
fd3=-fre;
fd4=fre-1;
else 2*fre>length(y1)
fd3=1-fre;
fd4=fre-1;
end
>> yC= gLP * y1; %Señal por filtro pasa baja
>> espectrobajos=abs(fftshift(fft(yC)));%frecuencias
>> sound(yC,fs);

II.9 Aplique un filtro pasabanda de orden 30 con frecuencias de corte 0.20 y 0.5 y
ganancia 1.5. Complete el código, tome como referencia la pregunta 2.8.
>> Wn1 = [0.20, 0.50]; %Frecuencias de corte Borre este código y coloque
>> BP = fir1(N,Wn1); %Filtro Pasa bandas la captura de pantalla del
>> gBP = 1.5; programa implementado en
>> y2 = conv(BP,y); %convolucion señal y filtro Matlab
>> fre=round(length(y2)/2);

II.10 Aplique un filtro pasaaltos de orden 30 con frecuencias de corte 0.5 y ganancia 1.5.
Complete el código, tome como referencia la pregunta 2.8.

>> Wn2 = .50; %Frecuencia de corte Borre este código y coloque la


>> HP = fir1(N,Wn2,'high');%filtro pasa altas captura de pantalla del programa
>> gHP = 1.5; implementado en Matlab
>> y3 = conv(HP,y); %convolucion señal y filtro
>> yA= gHP * y3; %Señal por filtro pasa altas
>> espectroaltas=abs(fftshift(fft(yA)));%frecuencias
>> sound(yA,fs);

II.11 Recupere la señal original a partir de las señales filtradas


>> yD = yA + yB + yC; %Suma de señales filtradas Borre este código y coloque la captura
>> espectrotodo=abs(fftshift(fft(yD))); de pantalla del programa
>> sound(yD,fs); implementado en Matlab
>> fre=round(length(yD)/2

II.12 Muestre los espectros en frecuencia de los filtros aplicados y de la señal original

>> subplot(4,1,1) Borre este código y coloque la captura de


>> plot(fd3:fd4,espectroaltas); pantalla del programa implementado en
>> xlabel('Frecuencia');ylabel('Amplitud'); Matlab
>> title('Señal en Frecuencia Pasa Altas');
>> subplot(4,1,2)
>> plot(fd3:fd4,espectrobanda,'r');
>> xlabel('Frecuencia');ylabel('Amplitud');
>> title('Señal en Frecuencia Pasa Banda');
>> subplot(4,1,3)
>> plot(fd3:fd4,espectrobajos,'k');
>> xlabel('Frecuencia');ylabel('Amplitud');
>> title('Señal en Frecuencia Pasa Bajos');
>> subplot(4,1,4)
>> plot(fd3:fd4,espectrotodo);
>> xlabel('Frecuencia');ylabel('Amplitud')
>>title('Señal en Frecuencia Completa');

II.13 Adicione ruido blanco gaussiano a la señal original y reprodúzcala nuevamente. Para
cada señal:
a. Grafique y comente la señal original y la señal con ruido en el tiempo.
b. Grafique y comente el espectro en frecuencia de la señal original y la señal con
ruido.
>> % y el vector de señal, N el número de muestras Borre este código y coloque la
>> % P potencia del ruido. Considere 2 valores para P captura de pantalla del programa
>> b=rand(length(y),1); implementado en Matlab
>> fi=2*pi*rand(length(y),1)
>> r=sqrt(-2*P*log(1-b)
>> ruido=r.*cos(fi)
>> yruido=y+ruido
>> sound(y,fs);
>> ….
>> espectroruido=abs(fftshift(fft(yruido)));
>> [menor pri]=sort(espectroruido); %Ordena espectro
>> if 2*fl==a % Detector de Frec. medias de sonido
fd1=-fl;
fd2=fl-1;
>> else 2*fl>a
fd1=1-fl;
fd2=fl-1;
end
>>….

III. CONCLUSIONES (Verifique sus respuestas y elabore al menos 4 conclusiones.)

IV. CUESTIONARIO FINAL


IV.1Investigue sobre sistemas LTI filtros ideales y represente graficamente los cuatro tipo de
filtros básicos.
IV.2Investigue sobre diseño de filtros como se puede convertir un filtro pasa bajos en uno
pasa altos. Fundamente su respuesta.

También podría gustarte