I am using the EVAL-AD7276SDZ-ND and corresponding EVAL-SDP-CB1Z-ND boards.
I am trying to analyze data from the the board using Matlab however I am unable to get the correct FFT.
I did a measurement and on the AD7276 software, the following FFT was made:
I also saved the sample data. However when I put the data into Matlab and use the following code to recreate the same FFT
data = importdata('AD7276Data');
L = size(data,1);
steps = 2^12; %Its a 12 bit adc
data2 = 2*data/steps-1;
datafft = fft(data2,L)/(L);
data3 = 2*abs(datafft(1:(L/2+1)));
I get the following plot:
As you can see, the main signal is spread across its nearby bins. However this cannot be an issue of the signal frequency not falling into a bin since the AD7276 software shows the correct FFT.
Upon further analysis, I found there is a phase error, or possibly jitter in the data samples that may be causing the signal frequency to seemingly shift in the Matlab anaylsis.
I did many measurements, all seem to have this phenomena.
Please give me some suggestions in getting the proper FFT with Matlab using the sample data from the AD7276 software.
I also attached the sample data