MATLAB ¿Cómo paso una señal a un filtro de paso bajo en matlab?

0

Estoy teniendo problemas para averiguar cómo pasar una señal a un filtro de paso bajo usando MATLAB.

Me dieron un archivo .wav y sigo las instrucciones sobre cómo eliminar los componentes del ruido de alta frecuencia para que no tomen la Transformada Discreta de Fourier (DFT) de la señal de audio. La idea es que hay un mensaje secreto en el archivo .wav que actualmente está oculto por una gran cantidad de ruido de frecuencia no deseado. Se supone que debo deshacerme de dicho ruido.

Mi script es actualmente como sigue:
[y, Fs] = audioread ('horrible_noise.wav');
y = y (:. 1);
parcela (y) NFFT = longitud (y); % de puntos discretos
Y = fftshift (fft (y, NFFT)); % DFT de la señal de audio
F = ((-1: 2 / NFFT: 1-2 / NFFT) * Fs); % Rango de la frecuencia del archivo de audio
magnitud_Y = abs (Y); % Magnitud de DFT
fase_Y = desenvolver (ángulo (Y)); % Fase de DFT

Se supone que debo trazar la magnitud y la fase y explicar cualquier tendencia en los gráficos.

gráfico (magnitude_Y, F)
gráfico (phase_Y, F)

En este punto, se supone que debo eliminar los componentes de alta frecuencia que no son deseados configurándolos en cero. Lo que aparentemente se hace a través del filtrado de paso bajo. Aquí es donde estoy teniendo problemas. He buscado ayuda en este tema y encontré comandos como el uso de mantequilla, fft, etc. No tengo idea de cómo usar esas funciones y ni siquiera sé si esa es la forma correcta de abordar mi problema.

Nuevamente, me gustaría recibir ayuda para pasar esta señal (DFT) a un filtro de paso bajo para eliminar el ruido no deseado. Gracias.

Señal de audio en cuestión : advertencia, el sonido no está t agradable escuchar Recomendaría bajar su volumen.

    
pregunta Quick

2 respuestas

2

Un filtro FIR con ventana funcionaría bien en este caso. Consulte el siguiente enlace para ver cómo se pueden implementar diferentes órdenes de filtros FIR (para paso bajo, paso de banda y paso alto): enlace

El tipo y grado de ventanas también impactarán fuertemente el diseño de su filtro de paso bajo: enlace

    
respondido por el V-Red
1

Se realiza mucho filtrado en Matlab en el dominio del tiempo, no en el dominio de la frecuencia. Tomar la DFT podría ayudar a mostrarle dónde está su ruido y qué ha hecho su filtro, pero no es necesario.

Utilice la función "filtro" o "FIR" de Matlab. Escriba "filtro de ayuda" en la línea de comandos y haga clic en el enlace a las páginas de documentación que aparecen si necesita más ayuda que esa.

Si tu pregunta real es "¿Cómo puedo eliminar mi archivo de audio con Matlab?", sugiero que lo preguntes en el grupo de DSP.

    
respondido por el Scott Seidman

Lea otras preguntas en las etiquetas