F
~ ~ farah_r
Guest
Hi All,
Tengo este pequeño archivo de audio que está dañado por una señal de interferencia desconocida que tiene que ser filtrados.
Me carga el archivo en Matlab y se encontró que la frecuencia de muestreo es de 44,1 ... Luego trazan su FFT y encontró dos picos en el y - 21,99 kHz ... Entonces, me di cuenta que tengo que diseñar un filtro para eliminar el la interferencia en esta frecuencia.
En primer lugar, diseñó un filtro notch IIR con corte en 21.99k y se filtra la señal de sonido a través de este filtro con el comando de filtros, pero mi archivo de sonido empeorado en lugar de mejorar.
Entonces diseñó un filtro de paso bajo, pero los resultados fueron igual de mal.No tengo idea de lo que estoy haciendo mal.
A continuación se muestra el código que utiliza y los 3 filtros diseñé.He trazado la respuesta de frecuencia de los tres filtros y encontraron que los filtros tienen el corte correcto fuera de frec., Paso banda, y así sucesivamente ... así, no puede haber nada malo con los filtros que se me ocurre, (
¿Podría alguien decirme por favor qué estoy haciendo mal?Lo único que puedo pensar ahora es que mi conclusión de que la señal de interferencia en 21,99 kHz que está mal?Si ese es el caso, entonces ¿cómo puedo averiguar lo que la banda de interferencia de cargar el archivo en Matlab y el trazado es FFT?Estoy perdido aquí, (
Gracias,
Farah.
PS I se adjunta el archivo de audio dañado en la extensión zip añadido ... es un archivo de audio WAV, si eso ayuda ...
código de Matlab:
[y, fs] = wavread ( 'corrupt_audio.wav');% de carga del archivo en Matlab
soundsc (y, fs)
Y = fft ;% FFT de la señal de
f =-fs / 2: fs / (longitud (Y) -1): fs / 2;% de la escala de frecuencia
figura
plot (f, abs (Y));
% NOTCH FILTER
wo = 21.99e3 / (fs / 2); peso corporal = 0,6;% con corte a 21,99 kHz
[b, a] = iirnotch (wo, BW);
zplane (b, a);% polo-cero parcela
fvtool (b, a);% Respuesta en frecuencia de filtro de
= filtered_audio filtro (B, A, y);% de filtrado de la señal
norm_audio = filtered_audio / max (abs (filtered_audio));
norm = fft (norm_audio);% FFT de la señal filtrada
f1 =-fs / 2: fs / (longitud (norma) -1): fs / 2;% de la escala de frecuencia
figura
parcela (f1, abs (norma));
soundsc (norma, fs)
% IIR Butterworth LPF
p = [-0.3360346 i * 0,3737106,-0.3360346-i * 0,3737106];% postes de filtro de
z =- 1 i * 1e-50; ceros% de filtro
[b, a] = zp2tf (z, p, 1);% la conversión de los polos y ceros a la transferencia de la función de filtro
zplane (b, a);
fvtool (b, a);
IIR Butterworth% NOTCH FILTER
p = [-0.3360346 i * 0,3737106,-0.3360346-i * 0,3737106];% postes de filtro de
z =- 1 i * 1e-50; ceros% de filtro
[b, a] = zp2tf (z, p, 1);% la conversión de los polos y ceros a la transferencia de la función de filtro
zplane (b, a);
fvtool (b, a);
Tengo este pequeño archivo de audio que está dañado por una señal de interferencia desconocida que tiene que ser filtrados.
Me carga el archivo en Matlab y se encontró que la frecuencia de muestreo es de 44,1 ... Luego trazan su FFT y encontró dos picos en el y - 21,99 kHz ... Entonces, me di cuenta que tengo que diseñar un filtro para eliminar el la interferencia en esta frecuencia.
En primer lugar, diseñó un filtro notch IIR con corte en 21.99k y se filtra la señal de sonido a través de este filtro con el comando de filtros, pero mi archivo de sonido empeorado en lugar de mejorar.
Entonces diseñó un filtro de paso bajo, pero los resultados fueron igual de mal.No tengo idea de lo que estoy haciendo mal.
A continuación se muestra el código que utiliza y los 3 filtros diseñé.He trazado la respuesta de frecuencia de los tres filtros y encontraron que los filtros tienen el corte correcto fuera de frec., Paso banda, y así sucesivamente ... así, no puede haber nada malo con los filtros que se me ocurre, (
¿Podría alguien decirme por favor qué estoy haciendo mal?Lo único que puedo pensar ahora es que mi conclusión de que la señal de interferencia en 21,99 kHz que está mal?Si ese es el caso, entonces ¿cómo puedo averiguar lo que la banda de interferencia de cargar el archivo en Matlab y el trazado es FFT?Estoy perdido aquí, (
Gracias,
Farah.
PS I se adjunta el archivo de audio dañado en la extensión zip añadido ... es un archivo de audio WAV, si eso ayuda ...
código de Matlab:
[y, fs] = wavread ( 'corrupt_audio.wav');% de carga del archivo en Matlab
soundsc (y, fs)
Y = fft ;% FFT de la señal de
f =-fs / 2: fs / (longitud (Y) -1): fs / 2;% de la escala de frecuencia
figura
plot (f, abs (Y));
% NOTCH FILTER
wo = 21.99e3 / (fs / 2); peso corporal = 0,6;% con corte a 21,99 kHz
[b, a] = iirnotch (wo, BW);
zplane (b, a);% polo-cero parcela
fvtool (b, a);% Respuesta en frecuencia de filtro de
= filtered_audio filtro (B, A, y);% de filtrado de la señal
norm_audio = filtered_audio / max (abs (filtered_audio));
norm = fft (norm_audio);% FFT de la señal filtrada
f1 =-fs / 2: fs / (longitud (norma) -1): fs / 2;% de la escala de frecuencia
figura
parcela (f1, abs (norma));
soundsc (norma, fs)
% IIR Butterworth LPF
p = [-0.3360346 i * 0,3737106,-0.3360346-i * 0,3737106];% postes de filtro de
z =- 1 i * 1e-50; ceros% de filtro
[b, a] = zp2tf (z, p, 1);% la conversión de los polos y ceros a la transferencia de la función de filtro
zplane (b, a);
fvtool (b, a);
IIR Butterworth% NOTCH FILTER
p = [-0.3360346 i * 0,3737106,-0.3360346-i * 0,3737106];% postes de filtro de
z =- 1 i * 1e-50; ceros% de filtro
[b, a] = zp2tf (z, p, 1);% la conversión de los polos y ceros a la transferencia de la función de filtro
zplane (b, a);
fvtool (b, a);