Electronics">
Tercera Práctica Final
Tercera Práctica Final
Tercera Práctica Final
INTEGRANTE:
AREQUIPA – 2015
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
>> fs=11025;
>> y=wavrecord(10*fs,fs);
>> sound(y,fs)
>> wavwrite(y,fs,'ejemplo.wav')
>> N=length(y)
ans =
110250
55125
5. Graficar la señal en el tiempo y el espectro en frecuencias
Señal en el tiempo
1
0.8
0.6
0.4
0.2
Amplitud
-0.2
-0.4
-0.6
-0.8
-1
1000 1500 2000 2500 3000 3500 4000 4500 5000
Tiempo
Señal en Frecuencia
1000
800
Amplitud
600
400
200
0
0 500 1000 1500 2000 2500 3000 3500 4000 4500 5000
Frecuencia
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
SEÑAL ORIGINAL
1
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 2 4 6 8 10 12
4
x 10
a=0.1,R=1000
1.5
0.5
-0.5
-1
-1.5
0 2 4 6 8 10 12
4
x 10
a=0.6,R=2000
1.5
0.5
-0.5
-1
-1.5
0 2 4 6 8 10 12
4
x 10
a=0.7,R=3000
2
1.5
0.5
-0.5
-1
-1.5
-2
0 2 4 6 8 10 12
4
x 10
a=0.5,R=1000
1.5
0.5
-0.5
-1
-1.5
0 2 4 6 8 10 12
4
x 10
a=0.3,R=6000
1.5
0.5
-0.5
-1
-1.5
0 2 4 6 8 10 12
4
x 10
a=10,R=6000
15
10
-5
-10
-15
0 2 4 6 8 10 12
4
x 10
8. Aplique un filtro pasabajos de orden 30 con frecuencia de corte 0.20 (1/5 de Fs) y ganancia
0.4
0.4
0.3
0.2
0.1
-0.1
-0.2
-0.3
-0.4
-0.5
0 2 4 6 8 10 12
4
x 10
>> Untitled3 El sonido se escucha más bajo porque al reducirle la ganancia del
gLP = sonido , este baja y con el filtro pasa bajos solo dejamos pasar los
0.4000 sonidos de baja frecuencia atenuando los de alta frecuencia
9. Aplique un filtro pasabanda de orden 30 con frecuencias de corte 0.20 y 0.5 y ganancia 1.5
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
0 2 4 6 8 10 12
4
x 10
>> pasabanda En este caso el tiempo de duración del sonido es mas corto debido a que el
ancho de la frecuencia de este es corto wn1=[.20, .05] y también se escucha
menores a 0.2 y atenuando las señales mayores a 0.5
10. Aplique un filtro pasaaltos de orden 30 con frecuencias de corte 0.5 y ganancia 1.5
0.4
0.3
0.2
0.1
-0.1
-0.2
-0.3
-0.4
0 2 4 6 8 10 12
4
x 10
>> pasaaltos
El sonido es mas bajo por solo deja pasar las frecuencias más altas y al atenuar todas las demás el
sonido se reduce
0.8
0.6
0.4
0.2
-0.2
-0.4
-0.6
-0.8
-1
0 2 4 6 8 10 12
4
x 10
Aquí está la unión de todas la graficas también se puede comprobar en el audio previamente ya
cargado
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');
40
Amplitud
30
20
10
0
-6 -4 -2 0 2 4 6
Frecuencia 4
x 10
Señal en Frecuencia Pasa Banda
150
100
Amplitud
50
0
-6 -4 -2 0 2 4 6
Frecuencia 4
x 10
Señal en Frecuencia Pasa Bajos
500
400
Amplitud
300
200
100
0
-6 -4 -2 0 2 4 6
Frecuencia 4
x 10
Señal en Frecuencia Completa
500
400
Amplitud
300
200
100
0
-6 -4 -2 0 2 4 6
Frecuencia 4
x 10
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;
N=length(y)
b=rand(N,1);
P=1.11111;
fi=2*pi*rand(N,1);
r=sqrt(-2*P*log(1-b));
ruido=r.*cos(fi);
yruido =y+ruido;
sound(yruido)
El ruido se escucha como un sonido de estática entre más grande sea P el ruido se ira
escuchando mucho mas
xlabel('Tiempo');
ylabel('Amplitud');
title('Señal con ruido');
espectro1=abs(fftshift(fft(yruido)));
[menor pri]=sort(espectro1); %Ordena el espectro de menor a mayor
if 2*fi==N %Detector de Frecuencias medias de sonido
fd1=-fi;
fd2=fi-1;
else 2*fi>N
fd1=1-fi;
fd2=fi-1;
end
P=0.00001
Señal en el tiempo
1
0.8
0.6
0.4
0.2
Amplitud
0
-0.2
-0.4
-0.6
-0.8
-1
1000 1500 2000 2500 3000 3500 4000 4500 5000
Tiempo
0.5
Amplitud
-0.5
-1
-1.5
0 2 4 6 8 10 12
Tiempo 4
x 10
P=1.111111
Señal en el tiempo
1
0.8
0.6
0.4
0.2
Amplitud
-0.2
-0.4
-0.6
-0.8
-1
1000 1500 2000 2500 3000 3500 4000 4500 5000
Tiempo
2
Amplitud
-2
-4
-6
0 2 4 6 8 10 12
Tiempo 4
x 10
15. Grafique el espectro en frecuencia de la señal original y la señal con ruido, comente
Aquí podemos ver como cambia la señal original sin ruido con la señal ruidosa el espectro tiene una
variacion muy grande ya que el ruido que esta en la segunda señal esta con un P=1.100001 lo que
hace que el ruido sea muy fuerte y casi inperseptible la señal original
CONCLUSIONES
• El comando wavrecord es muy importante para el procesamiento de audio ya que con ello
podemos hacer nuestras grabaciones y guardarlas para luego poder manipularlas además es
muy sencillo de usar.
• El comando wavreades muy practicoy fácil de usar ya que con ello podemos leer sonidos
guardados o externos al matlab de los cuales podemos extraer sus parámetros.
• Manipular los audios en Matlab es muy sencillo ya que podemos crear efectos como la
reverberación o el filtrado.
• En esta práctica vimos como la potencia en el ruido puede ocasionar la pérdida total del
audio original o al menos una distorsión en ella.