Based on description by Raffaele Nutricato who provided this code: In the code, look for:
//____RaffaeleNutricato START MODIFICATION SECTION 1 As I explained in the previous e-mail range oversampling is obtained as convolution of the zero filled signal with a truncated sinc. The loading of the image is performed line by line and consequently the oversampling is performed line by line too. In particular given an input signal: Input signal: xxxx and an oversampling ratio of let's say 3 I first generate a zero-filled copy of the input signal: zero-filled Input signal: x00x00x00x then I convolve the zero-filled Input signal with the interpolation kernel obtaining the output signal: Output signal: x++x++x++x++ where +'s are the new samples.
Bert Kampes implemented the azimuth oversampling. In azimuth a 6 point raised cosine kernel is used. The kernel is normalized. I also normalized the range kernel (typically 16 point sinc).