Hi,
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.
Thanks!
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
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.
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:
https://www.embedded.com/design/real-time-and-perf...
Hi Rick,
always nice to reach out and touch you (old phone company advertisement)...
I always enjoy your contributions too!
fred
Very informative paper.
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.
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
Imosh,
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.