Why is it a bad idea to filter by zeroing out FFT bins?
$\begingroup$
It's very easy to filter a signal by performing an FFT on it, zeroing out some of the bins, and then performing an IFFT. For instance:
t = linspace(0, 1, 256, endpoint=False)
x = sin(2 * pi * 3 * t) + cos(2 * pi * 100 * t)
X = fft(x)
X[64:192] = 0
y = ifft(X)
The high frequency component is completely removed by this "brickwall" FFT filter.
But I've heard this is not a good method to use.
Why is it generally a bad idea?
Are there circumstances in which it's an ok or good choice?
$\begingroup$