Selectively improve the frequency resolution of FFT (DFT) I have a digitally sampled signal(sampling frequency = 4000 Hz) which contains analog frequencies from 0 to 1000 Hz.
I wish to have a frequency resolution of 100 Hz(like 0,100,200,300 Hz .. 1000 Hz) and I have to improve the frequency resolution at the 0 to 100 Hz range by 10 Hz. That is at the frequencies 0,10,20,30,... 100.
So the frequency components I wish to detect are [0,10,20,...,100,200,300,...,1000].
In other words, I want more frequency resolution at the 0-100Hz range and less resolution at 100-1000Hz range.
How this is possible through FFT or related methods.
You can compute any single FFT result bin using a complex Goertzel  algorithm or filter.

Realize however that if you want to compute a number of bins on the order of log N or greater (such as 10 extra bins with 10 Hz bandwidth and spacing), it may be faster to do the full longer FFT and throw away all the extra FFT result bins.

So just compute 2 FFTs of 2 different lengths and ignore all the unwanted results.