¿Qué tiene de malo simplemente tomar la transformada de Fourier de una señal, establecer los componentes de frecuencia no deseados en cero y luego realizar una transformada de Fourier inversa para obtener la señal filtrada?
¿Qué tiene de malo simplemente tomar la transformada de Fourier de una señal, establecer los componentes de frecuencia no deseados en cero y luego realizar una transformada de Fourier inversa para obtener la señal filtrada?
La razón principal es que la FFT es un algoritmo orientado a bloques. Se dividen las muestras en bloques de, por ejemplo, 1024 puntos para ejecutar el algoritmo.
La transformada de Fourier supone que la señal es periódica, en el sentido de que se supone que el bloque de muestras se repetirá para siempre, tanto antes como después del bloque dado. En otras palabras, se supone que la última muestra en el bloque va seguida de otra copia de la primera muestra en el bloque, y viceversa.
Si solo haces un FFT y luego un IFFT, esta suposición no tiene ninguna consecuencia. Sin embargo, si modifica los datos de dominio de frecuencia en el medio, la continuidad de la forma de onda en los extremos del bloque ya no está garantizada, y obtendrá artefactos horribles, principalmente en las frecuencias relacionadas con la tasa de bloqueo.
Su descripción de un filtro sinc que es usado por algunos dispositivos analógicos convertidores ADC: enlace
Parece que la razón para no hacer un filtro de bloque ideal es el esfuerzo computacional y el tiempo requerido. En algunas aplicaciones, el tiempo para calcular esto sería un retraso inaceptable en la ruta de la señal. Tengo poca experiencia, pero parece que el filtro ideal suele ser tan bueno como un filtro FIR más pequeño que es computacionalmente barato y rápido.
Lea otras preguntas en las etiquetas filter