Side lobes reduction after FFT

Started by lmoshe 7 years ago8 replieslatest reply 7 years ago1227 views


I'm using kaiser window for side lobes reduction. 
The known trade off is between side lobe attenuation versus wider main lobe.
I found something that is optimal for my system, but in cases that the signal is very strong, the side lobes are above the noise level and might be detected as real targets.

My question is if there is a common method or algorithm  that "identify" the side lobs bins in frequency and discriminate them? 

Intuitively my guess is that if we know the window type, and using the fact that side lobes behavior is  monotonous decreasing in energy, we could identify and discriminate them.


[ - ]
Reply by fred_harrisJanuary 19, 2018

Hello Imosh,

standard response to high spectral side-lobes is to increase "beta", the time bandwidth product of the Kaiser window... doing so of course increases the main lobe width. If the data is stationary we can decrease main lobe width by performing a longer transform df, the main lobe width is approximately (fs/N_fft)*(atten(dB)/22).. can see at atten increases, the buy back is transform length... actually N_fft should be N_window which we use interchangeably when we select window length to match transform length.

A clever compromise is to increase window length but not increase transform length.. can do this with a polyphase (or folded) window... say window length is 2*N we can apply window to 2N data samples, circularly fold the window adding first half of the windowed data to the second half and then take N point transform... get best of both worlds..(providing signal length permits the longer window)

see attached paper


[ - ]
Reply by SlartibartfastJanuary 19, 2018

Under some conditions you can discern sidelobes from main lobes, but this generally means that that signal has to be made up of isolated tone(s).   Since this is often not true, then you're either going to have to do additional processing (e.g., successive interference cancellation techniques or the funky windowing adjustments that fred mentions), or just trade more sidelobe suppression for a further compromise in main-lobe width by adjusting the existing window.

Nothing comes for free, it seems, and the cost of the additional processing vs the performance degradation from a window with a slightly wider main lobe is the usual tradeoff.

[ - ]
Reply by Rick LyonsJanuary 19, 2018

Hi fred.

As always, your paper is very interesting and the figures therein are simply terrific! In case anyone's interested, an alternate description of that time-folding spectral leakage reduction scheme can be found at:


[ - ]
Reply by fred_harrisJanuary 19, 2018

Hi Rick,

always nice to reach out and touch you (old phone company advertisement)...

I always enjoy your contributions too!


[ - ]
Reply by sami_aldalahmahJanuary 19, 2018

Very informative paper.

[ - ]
Reply by oliviertJanuary 19, 2018

It's some kind of deconvolution algorithm.

You identify the main peak, and then you remove from the FFT result everything that is related to this peak.

One processing example would be to identify time parameters of the alarm, and then generate a time series using this parameters, apply your window, compute the FFT and substract it from the initial FFT output before continuing with the second highest alarm.

[ - ]
Reply by fred_harrisJanuary 19, 2018

editing out undesired high sidelobes is a process called excision... it is a messy process that is often applied in frequency domain to remove tonal jammers in time domain. It can be done but when it is you have to remove the whole signal.. main lobe and all side lobe components..  can't remove single big spectral samples because the big one you will find she has a family of sidelobes that have to leave with her... if you remove one sample you are injecting  frequency domain impulse which injects tones in the time domain.. you have to take the main lobe block of frequencies that have the window shape used to get into the frequency domain.  see attached paper


[ - ]
Reply by fred_harrisJanuary 19, 2018


download the attached matlab script to see effect of 2-to-1 fold and 4-to-1 fold of a 2N and a 4N point window into an N-point transform.