Avelar & Romero - Cambio de La Frecuencia de Muestreo
Transcript of Avelar & Romero - Cambio de La Frecuencia de Muestreo
Cambio de la Frecuenciade Muestreo Omar X. Avelar & Diego I. Romero
PROCESAMIENTO DIGITAL DE SEÑALES (ESI05AA) Instituto Tecnológico y de Estudios Superiores de Occidente (ITESO) Departamento de Electrónica, Sistemas e Informática (DESI)
SINTESIS
Se trabajara con una señal de audio a una frecuencia de mues-treo a la cual se le aplicara un filtro pasa-bajas y sera diezmada para así tener una nueva señal de audio. En el proceso de esto se observara el comportamiento en las respuestas en frecuencia y se discutirán las diferencias.
INTRODUCCION
Existen varias ventajas en sustituir circuitos analógicos por algo-ritmos digitales. En el caso de la conversión de una señal analógi-ca en una digital se puede utilizar la técnica de muestrear la se-ñal a una tasa superior a la deseada y, posteriormente, utilizar procesamiento digital de señales para reducir la frecuencia de muestreo. La ventaja de esta técnica radica en que se puede re-currir a un filtro anti-solapamiento de bajo orden y bajo costo y posteriormente modificar la señal de manera que sólo permanez-can los datos deseados.
En esta práctica vamos a digitalizar una señal de voz usando una frecuencia de muestreo de 48 KHz y, recurriendo al procesamien-to digital de señales, la modificaremos en una señal con frecuen-cia de muestreo de 8 KHz.
DESARROLLO
1. Graba en la computadora una señal de voz (5 segundos de au-dio es suficiente) utilizando una frecuencia de muestreo de 48 KHz (sonido monoaural). Utiliza esta señal como la entrada x[n] del sistema mostrado en la figura 1.
2. Gráfica la señal en Matlabu Octave. Primero, como si se tratara de una señal analógica (llámale xa t e indica en la gráfica su
duración en segundos) y luego, como una señal discreta x [n ] (indica en la gráfica su longitud en muestras).
3. Utiliza la transformada discreta de Fourier (DFT por sus siglas en inglés) para graficar la magnitud de la transformada de Fou-rier de xa t y x [n ] . Cuida que la información del eje de la frecuencia tenga sentido en cada gráfica (usa Ω para la señal analógica y para la señal discreta). ω
4. Calcula la señal x [n ] vía la convolución de x [n ] con el
filtro pasa-bajas hLP [n ] . Este filtro está disponible en el archi-vo ‘filtro.mat’ en la página Moodle del curso.
5. Grafica la magnitud de la respuesta en frecuencia
∣H LP ejω ∣ del filtro pasa-bajas y comprueba que su frecuen-cia de corte c corresponda a la señalada en la figura 1. ω
6. Grafica x [n ] así como la magnitud de la transformada de
Fourier de x [n ] (cuida el eje de la frecuencia).
7. Obtén y gráfica la señal xd [n ] = x [6n ] .
8. Gráfica la magnitud de la transformada de Fourier de
xd [n ] (cuida el eje de la frecuencia). ¿Por qué es distinta la magnitud de esta transformada de Fourier?
9. Escucha y compara las señales x [n ] y xd [n ] .
10. Elabora un reporte donde incluyas todos los pasos anteriores. Agrega comentarios y conclusiones.
Tema: Procesamiento Digital de Señales – Pag. 1 of 6Guadalajara, México // lun 20 de abril de 2009.
Fig. 1: Sistema general para reducir la frecuencia de muestreo por un factor de 6.
ITESO Cambio de la Frecuencia de MuestreoInstituto Tecnológico y de Estudios Superiores de Occidente (ITESO),Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090. Por: Omar X. Avelar & Diego I. RomeroDepartamento de Electrónica, Sistemas e Informática (DESI).
DESARROLLO
Ya teniendo el archivo de voz en formato PCM de 48 KHz y 8 Bits, podemos cargarla en GNU Octave / MATLAB y visualizarla (Fig. 2) [ el programa se encuentra al final del reporte en la sección de anexos ].
Fig. 2: mostrando 8 segundos de nuestra señal ( xa t ).
Fig. 3 muestra la señal muestreada ( x [n ] ) con una f s de 48,000 Hz; por lo que la gráfica termina con una n = 384000.
Aplicando la transformada rápida de Fourier (FFT), podemos apreciar sus respuestas en frecuencia.
Podemos ver que los componentes mas dominantes se encuen-tran por debajo de aproximadamente 3000 Hz en la señal análo-ga (Fig. 4).
Por lo que de manera análoga se puede ver en la respuesta dis-
creta (Fig. 5) como 2= f s , por lo que cada 14
en el eje
de la gráfica se traduce a 1909 Hz y se puede ver que la mayo-ría de los componentes se encuentran entre 0 y 4000 Hz, aproxi-madamente.
Tema: Procesamiento Digital de Señales – Pag. 2 of 6Guadalajara, México // lun 20 de abril de 2009.
Fig. 2: Señal de audio en tiempo continuo.
Fig. 3: Señal muestreada discretamente.
Fig. 4: Analog frequency spectrum.
Fig. 5: Espectro en frecuencia discreto.
ITESO Cambio de la Frecuencia de MuestreoInstituto Tecnológico y de Estudios Superiores de Occidente (ITESO),Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090. Por: Omar X. Avelar & Diego I. RomeroDepartamento de Electrónica, Sistemas e Informática (DESI).
Cargando el archivo filtro.mat para importar hLP [n ] y grafi-
cando la respuesta en frecuencia ( ∣H LP ejω ∣ ), tenemos lo siguiente
Claramente se puede ver que le frecuencia de corte se encuen-
tra en c=±6
al analizar la gráfica.
Aplicando este filtro a la señal de audio, nos queda de la siguien-te manera (Fig. 7), donde es difícil de percibir los cambios he-chos por el filtro.
Al analizar la respuesta en frecuencia (Fig. 8) de la señal post-fil-trada ( x [n ] ), podemos ver que claramente elimino todos los
componentes ∣ c∣6
,
La Fig. 9 presenta una visualización de lo sucedido al aplicarle el filtro a nuestra señal (la visualización es en el dominio de la fre-cuencia para que se pueda multiplicar valor con valor).
Tema: Procesamiento Digital de Señales – Pag. 3 of 6Guadalajara, México // lun 20 de abril de 2009.
Fig. 6: Espectro del filtro pasabajas.
Fig. 7: Señal de audio despues del pasabajas.
Fig. 8: Espectro de la señal filtrada.
Fig. 9: Señal siendo filtrada.
ITESO Cambio de la Frecuencia de MuestreoInstituto Tecnológico y de Estudios Superiores de Occidente (ITESO),Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090. Por: Omar X. Avelar & Diego I. RomeroDepartamento de Electrónica, Sistemas e Informática (DESI).
Siguiendo el diagrama de bloques de la figura 1, el siguiente paso es hacer xd [n ] = x [6n ] , lo que indica que vamos a tomar una muestra por cada 6 y así reducir el numero de mues-tras.
Podemos ver que nuestro numero de muestras disminuyo en una
razón de 6, por lo que N muestras= f s tiempondiezmado
, por lo que
en este caso en particular corresponde a una reducción de muestras a 64,000.
Por ultimo, analizaremos el espectro en frecuencia de esta señal
xd [n ] , donde 2=8000[Hz ] .
Explicando el proceso de manera cualitativa se puede decir lo si-guiente:
1. Fue muestreada una señal de audio a 48,000 Hz por lo que su frecuencia de Nyquist es de 24,000 Hz.
2. Se le aplico un filtro, el cual era un sexto de la frecuencia de Nyquist, dejando solo frecuencias hasta 4,000 Hz.
3. Se redujo la frecuencia de muestreo a un sexto de la original, quedándonos en 8,000 Hz y así por el teorema de Nyquist poder seguir sin distorsión señales de hasta 4,000 Hz.
4. Nos quedamos con una señal de audio con una frecuencia de muestreo de 8,000 Hz que se parece mucho a la original.
Tema: Procesamiento Digital de Señales – Pag. 4 of 6Guadalajara, México // lun 20 de abril de 2009.
Fig. 10: Señal de audio diezmada.Fig. 11: Espectro en frecuencia de la señal procesada.
ITESO Cambio de la Frecuencia de MuestreoInstituto Tecnológico y de Estudios Superiores de Occidente (ITESO),Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090. Por: Omar X. Avelar & Diego I. RomeroDepartamento de Electrónica, Sistemas e Informática (DESI).
CONCLUSIONES
Es muy interesante trabajar con audio en GNU Octave / MATLAB, porque al verlos meramente como arreglos se pueden procesar de muchas maneras, así como aplicar filtros muy selectivos y es-pecializados requeridas para ciertas aplicaciones sin necesidad de ser limitado por utilidades ya existentes de edición de audio.
Al cambiar la frecuencia de muestreo debemos de preocuparnos por limitar el ancho de banda de nuestra señal para descartar in-formación y no provocar distorsión al sobrepasar la frecuencia de Nyquist.
Al obtener la salida de audio ya procesado se noto una gran per-dida de información en frecuencias altas como lo eran platillos de batería y ciertos tonos de guitarra. Pero el archivo de salida resulto ser de menor tamaño al reducir la frecuencia de mues-treo a 8 KHz.
Tema: Procesamiento Digital de Señales – Pag. 5 of 6Guadalajara, México // lun 20 de abril de 2009.
ITESO Cambio de la Frecuencia de MuestreoInstituto Tecnológico y de Estudios Superiores de Occidente (ITESO),Periférico Sur Manuel Gómez Morín 8585, Tlaquepaque, Jalisco, México, C.P. 45090. Por: Omar X. Avelar & Diego I. RomeroDepartamento de Electrónica, Sistemas e Informática (DESI).
ANEXOS
% Changing the sampling frequency
% by using discrete time digital
% processing.
%
% Omar X. Avelar & Diego I. Romero.
% March 3rd, 2009.
load filter.mat # hLP is a lp filter
sound_length = 8; # Desired length to truncate file
fs = 48000; # Sampling frequency
# in seconds
x = wavread("sound_file.wav"); # Loads the sound file
# Plot axis variables
t = linspace(0,sound_length,sound_length*fs);
n = linspace(0,sound_length*fs,sound_length*2000);
# Analog signal
plot(t,x(1:sound_length*fs));
ylabel("Amplitude");xlabel("Time [s]");
print -dpng "Plots/1_Analog_Signal.png";
# Discrete signal
stem(n,x(1:fs/2000:sound_length*fs));
ylabel("Amplitude");xlabel("Sample [n]");
print -dpng "Plots/2_Discrete_Signal.png";
# Fourier transforms
Xc = fft(x,power(2,ceil(log2(length(x)*sound_length))));
Xd = fft(x);
Xd = fftshift(Xd);
omega_d = linspace(-pi,pi,length(Xd));
omega_c = linspace(0,fs/2,fs*sound_length/8);
# Analog Spectrum
plot(omega_c,abs(Xc(1:8:fs*sound_length)));
ylabel("Magnitude");xlabel("Frequency [Hz]");
print -dpng "Plots/3_Analog_FFT.png";
# Discrete Spectrum
stem(omega_d,abs(Xd));
ylabel("Magnitude");xlabel('Frequency {\omega}');
print -dpng "Plots/4_Discrete_FFT.png";
# Lowpass filter response
HLP = fft(hLP);
HLP = fftshift(HLP);
omega_d = linspace(-pi,pi,length(HLP));
stem(omega_d,abs(HLP));
ylabel("Magnitude");xlabel('Frequency {\omega}');
print -dpng "Plots/5_H_lowpass_FFT.png";
# Filtering the audio signal
x_filtered = conv(x,hLP);
stem(n,x_filtered(1:fs/2000:sound_length*fs));
ylabel("Amplitude");xlabel("Sample [n]");
print -dpng "Plots/6_Filtered_Discrete_Signal.png";
# Fourier transform of the filtered signal
X_filtered = fft(x_filtered);
X_filtered = fftshift(X_filtered);
omega_d = linspace(-pi,pi,length(X_filtered));
stem(omega_d,abs(X_filtered));
ylabel("Magnitude");xlabel('Frequency {\omega}');
print -dpng "Plots/7_Filtered_FFT.png";
# Downsampling the signal
for n=1:(length(x_filtered)/6)
xd_filtered(n) = x_filtered(6*n);
endfor
stem(xd_filtered(1:fs*sound_length/6));
ylabel("Amplitude");xlabel("Sample [n]");
print -dpng "Plots/8_Filtered_&_Downsampled.png";
# Fourier transform of the downsampled signal
Xd_filtered = fft(xd_filtered);
Xd_filtered = fftshift(Xd_filtered);
omega_d = linspace(-pi,pi,length(Xd_filtered));
stem(omega_d,abs(Xd_filtered));
ylabel("Magnitude");xlabel('Frequency {\omega}');
print -dpng "Plots/9_Filtered_&_Downsampled_FFT.png";
# Saves the resampled audio as file
xd_filtered = transpose(xd_filtered);
wavwrite(xd_filtered,8000,16,"sound_out.wav");
Tema: Procesamiento Digital de Señales – Pag. 6 of 6Guadalajara, México // lun 20 de abril de 2009.