There is more effective method for decision of your problem. Try to use some non-linear filter in time domain before calculating of FFT. Median filter is simple and effective filter for reducing impulse noise (Median_filter). You can use simplest version with size of 3.
UPDATE
It is answer to comment of zimbra314.
Strange constraint. It is easy to reduce impulse noise in time-domain, but not in frequency-domain. But, is it your homework? If so I can give you a hint. Please do FFT of delta function. See to amplitude and phase of this spectrum. The amplitude spectrum of delta function has very simple form and there are a lot of high-frequency components. Your signal is band-limited, so there are not any high-frequency components. So you can easy estimate a amplitude spectrum of your noise . As you know, FFT of sum of 2 function ($x+\eta$) is sum of FFT of this signals. So you can calculate amplitude of $X$ very easy by subtraction amplitude spectrum of noise from $\hat{X}$
Is it possible to estimate phase spectrum of delta function. See phase for different values of shift of delta function... I think you will find method of estimation of phase spectrum yourself.
UPDATE 2
Spectrum of delta function ($\eta(n)= R\delta (n-l)$) is quite simple and well known. Spectrum of your band limiting signal $x$ does not have any high-frequency components. So high frequency components of spectrum of ($x+\eta$) equals to high frequency components spectrum of $\eta$. Algorithm is:
- calculate $\hat{X}=FFT(\hat{x})$
- estimate parameters of spectrum delta function $\eta$ from high-frequency part of $\hat{X}$
- calculate estimating spectrum $\Theta$ by using parameters from step 2
- calculate estimation of ${X}=\hat{X} - \Theta$