Tarea 5 Procesamiento de Señales Gabriel Moreira
Tarea 5 Procesamiento de Señales Gabriel Moreira
Tarea 5 Procesamiento de Señales Gabriel Moreira
Fecha: 05-07-2017
Tema: Análisis de Audio
Asignatura Datos del alumno Fecha
Apellidos: Moreira Vélez
Procesamiento de
Señales, Sonido e 05/07/2017
Imágenes Digitales Nombre: José Gabriel
Actividades
Frequency
100 200
50 100
0 0
0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1
Time Time
150 300
Frequency
Frequency
100 200
50 100
0 0
0.2 0.4 0.6 0.8 1 0.2 0.4 0.6 0.8 1
Time Time
150 300
Frequency
Frequency
100 200
50 100
0 0
0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8 1
Time Time
o ¿Puede ver los tonos en todos los espectrogramas? Si no fuera así, indique por
qué.
o ¿Qué espectrograma tiene un mejor compromiso entre la resolución frecuencial y
la espacial?
Entrega
Si tenemos una señal sinusoidal con información a transmitir con frecuencia fi:
Asumiendo que tenemos una señal xi(t) con fi=3Hz y queremos transmitirla por dos
portadoras xp1(t) a fp1=30Hz xp2(t) a fp2=180Hz, obtendremos las señales moduladas
xt1(t) y xt2(t). Genera en un intervalo de un segundo con frecuencia de muestreo
fs=800 muestras/seg e índice de modulación m=5, las señales xi(t), xp1(t), xp2(t), xt1(t)
y xt2(t) y represéntelas con subplot (5 filas x 1 columna).
fs=800;
m=5;
inct=1/fs;
t=[0:inct:1-inct];
xi=cos(2*pi*3*t);
xp1=cos(2*pi*30*t);
xp2=cos(2*pi*180*t);
xt1=cos(2*pi*30*t+m*xi);
xt2=cos(2*pi*180*t+m*xi);
subplot(511), plot(t,xi);
subplot(512), plot(t,xp1);
subplot(513), plot(t,xp2);
subplot(514), plot(t,xt1);
subplot(515), plot(t,xt2);
1
0
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
1
0
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
1
0
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
1
0
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
1
0
-1
0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1
Entrega
400 400
Frequency
Frequency
200 200
0 0
0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8
Time Time
400 400
Frequency
Frequency
200 200
0 0
0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8
Time Time
400 400
Frequency
Frequency
200 200
0 0
0.2 0.4 0.6 0.8 0.2 0.4 0.6 0.8
Time Time
Entrega
Utiliza el comando wavread() para cargar este audio y represéntalo con specgram
usando una ventana de N=256 muestras. Genera el espectrograma de la señal para
estimar la frecuencia del tono F0.
>>[y,Fo,bits]=wavread('censurado.wav');
>>sound(y,Fo)
>> specgram(y,256,Fo)
Donde x es la señal a quitar al tono, F0 la frecuencia del tono que queremos eliminar,
BW en ancho de banda a filtrar y Fs la frecuencia de muestreo.
[x,Fo,bits]=wavread('censurado.wav');
%Aquí se puede cargar el audio.
sound(x,Fo)
%Aquí lo escuchamos.
m=length(x)
y=quita_tono(x,Fo,bits,m);
m2=length(y)
subplot(211) ,specgram(x, 2^nextpow2(window),Fo, window, window-step);
subplot(212) ,specgram(y, 2^nextpow2(window),8000, window, window-step);
sound(y,Fo)
Entrega
Carga los ficheros de sonido con wavread en las señales x1(t) y x2(t) y represéntalas
con subplot. Ten en cuenta que las muestras en el eje temporal estarán separadas
por t=ts=1/fs (inct).
[y2,fs1,bits2]=wavread('siren_original.wav');
sound(y2,fs1)
[y4,fs2,bits4]=wavread('siren_doppler.wav');
sound(y4,fs2)
[M,I]=max(abs(xj1))
M = 0.34839
I = 181394
[M2,I2]=max(abs(xj2))
M2 = 0.34283
I2 = 75605
f1=I*i3
f2=I2*i4
f1 = 4.2630e+004
f2 = 1.7420e+004
f11=I*M
f22=I2*M2
f11 = 6.3196e+004
f22 = 2.5920e+004
Ten en cuenta que la sirena con efecto Doppler de nuestro ejemplo tendrá dos
frecuencias principales: una para cuando se acerca y otra para cuando se aleja. Para
los cálculos posteriores utiliza la frecuencia que el comando max haya encontrado
como la que tiene más ocurrencias.
f1 = 4.2630e+004
f2 = 1.7420e+004
f11 = 6.3196e+004
f22 = 2.5920e+004
Indica cuál es la diferencia entre las frecuencias. Asumiendo que emisor y receptor
están en una línea recta, que el receptor no se mueve y que la velocidad del sonido es
340 m/seg, usa esta diferencia de frecuencias para determinar la velocidad de la
sirena (en km/h).
f1 = 4.2630e+004
f2 = 1.7420e+004
f11 = 6.3196e+004
f22 = 2.5920e+004
Entrega