

Hann_win = hanning(256)';
f1 = adc_Data.*Hann_win;
fft_2 = fft2(f1);
out_fft2d = abs(fftshift(fft_2));
out_dBFS = 20*log10(out_fft2d);
end
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
Hi Tuan,
The fft2() directly applies a 2D FFT on your data without any intermediate pre-processing step such as windowing. You will have to perform windowing on your 1D FFT data also before performing doppler FFT on the same. This should give you a much better output.
Thanks & regards,
Kaushik
Hi Kaushik,
I used MATLAB above to FFT-2D and have resulted in the Figure below:
Amplitude is in dB (left) in mmwave studio, (right) is my result. How to convert to dB?
I processed FFT-1D correctly.
"You will have to perform windowing on your 1D FFT data also before performing doppler FFT on the same". Do you mean FFT 2-D base on FFT-1D?
Hi Tuan,
It looks like you have already converted your result to dB scale. The figure on the left has power expressed in dBFS scale, which is why you see that difference.
To answer your second question, yes. Your code should look something like this:
fft1D = fft(adcData.*win1D) % -> Dim 1
fft2D = fftshift(fft(fft1D.*win2D)) %-> Dim 2
Regards,
Kaushik
Hi Kaushik,
I performed FFT2D base on FFT 1D, and the result is the same with FFT2 by fft2(). I have a question:
The left figure result from mmwave studio, and the right figure is the result of my process. What is the noise outlier in the red circle?
Hi Tuan,
The observation that you are pointing to occurs when you apply a finite point FFT on a given data. The energy corresponding to the frequency of the peak bin spills over into its surrounding bins as fractional components of frequency cannot be represented on the respective bin. For example. - N point FFT on a signal sampled at Fs yields a spectrum that ranges from 0 to N which directly maps from 0 to Fs where each bin represents the energy of a particular frequency (0, Fs/N, 2Fs/N, 3Fs/N, .... Fs). If your peak frequency cannot directly map to a particular bin, the energy spills over into its neighboring bins.
This effect can be effectively reduced by the application of a window before applying FFT.
Therefore, can you confirm that you have applied a window across the chirps before performing FFT across the 2nd Dimension?
Regards,
Kaushik
Hi Kaushik,
I used the Hanning window:
1D window : multiply "hanning(num ADC sample)" function with adc data(num ADC samples)
2D window: multiply "hanning(num ADC sample)" function with adc data(No.of chirp loops; num ADC samples)
Is this correct?
Hi Tuan,
Please check this
2D window: multiply "hanning(num ADC sample)" function with adc data(No.of chirp loops; num ADC samples)
2D window: multiply "hanning(num chirps)" function with FFT 1D data (No.of chirp loops; num ADC samples)
Regards,
Kaushik