Anda di halaman 1dari 3

UCSM-PPIE

PROCESAMIENTO DIGITAL DE SEÑALES


TERCERA PRÁCTICA DE LABORATORIO
PROCESAMIENTO DE SEÑALES DE AUDIO

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

II. ACTIVIDADES

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;
>> y=wavrecord(10*fs,fs);
>> sound(y,fs)
>> wavwrite(y,fs,'ejemplo.wav')

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


>>[y fs]=wavread('ejemplo.wav'); %y vector donde se carga el sonido; fs frecuencia de muestreo

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

4. Definir la mitad del número de muestras


>> fl=round(N/2)

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

>> subplot(2,1,1); %Grafica de Sonido en el tiempo.


>> plot(y,'r');axis([1000,5000,-1,1]);xlabel('Tiempo');ylabel('Amplitud');title('Señal en el tiempo');
>> espectro=abs(fftshift(fft(y)));
>> [menor pri]=sort(espectro); %Ordena el espectro de menor a mayor
>> if 2*fl==N %Detector de Frecuencias medias de sonido
fd1=-fl;
fd2=fl-1;
else 2*fl>n
fd1=1-fl;
fd2=fl-1;
end
>> subplot(2,1,2); %Grafica de espectro de señal
>> plot(fd1:1:fd2,espectro);axis([0,5000,0,menor(n)]);xlabel('Frecuencia');ylabel('Amplitud');
title('Señal en Frecuencia');
>> sound(y,fs);

6. Generar el efecto de reverberación


>> a=0.5; %Magnitud de la reverberacion
>> R=5000; %Numero de muestras para el efecto
>> x=zeros(size(y));
>> for i=1:1:R+1
x(i) = y(i); %vector de efecto
end
>> for i=R+1:1:n
x(i)= y(i)+ a*y(i-R); %sonido mas efecto
end;
>> sound(x,fs);
>> end

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

8. Aplique un filtro pasabajos de orden 30 con frecuencia de corte 0.20 (1/5 de Fs) y ganancia
0.4
>> Wn = .20; %Frecuencia de Corte. 0 N = 30; %Grado del filtro
>> LP = fir1(N,Wn); %filtro pasa bajos
>> gLP = 0.4
>> y1 = conv(LP,y); %convolucion señal y filtro
>> fre=round(length(y1)/2);
>> if 2*fre==length(y1)%Detector de Frecuencias medias de sonido
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)

9. Aplique un filtro pasabanda de orden 30 con frecuencias de corte 0.20 y 0.5 y ganancia 1.5
>> Wn1 = [.20, .50]; %Frecuencias de corte
>> BP = fir1(N,Wn1); %Filtro Pasa bandas
>> gBP = 1.5;
>> y2 = conv(BP,y); %convolucion señal y filtro
>> yB= gBP * y2; %Señal por filtro pasa banda
>> espectrobanda=abs(fftshift(fft(yB)));%frecuencias
>> sound(yB,fs)

10. Aplique un filtro pasaaltos de orden 30 con frecuencias de corte 0.5 y ganancia 1.5
>> Wn2 = .50; %Frecuencia de corte
>> HP = fir1(N,Wn2,'high');%filtro pasa altas
>> gHP = 1.5;
>> 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)

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


>> yD = yA + yB + yC; %Suma de señales filtradas
>> espectrotodo=abs(fftshift(fft(yD)));
>> sound(yD,fs)

12. Muestre los espectros en frecuencia de los filtros aplicados y de la señal original
>> subplot(4,1,1)
>> plot(fd3:fd4,espectroaltas);xlabel('Frecuencia');ylabel('Amplitud');
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');

13. Adicione ruido blanco gaussiano a la señal original y reprodúzcala nuevamente


% y el vector de señal, N el número de muestras, P potencia del ruido
>>b=rand(N,1);
>>fi=2*pi*rand(N,1)
>>r=sqrt(-2*P*log(1-b)
>>ruido=r*cos(fi)
>>yruido=y+ruido

14. Grafique la señal original y la señal con ruido en el tiempo, comente

15. Grafique el espectro en frecuencia de la señal original y la señal con ruido, comente

CONCLUSIONES

Emita al menos cinco conclusiones sobre las operaciones implementadas

Anda mungkin juga menyukai