Post Go back to editing

ADXL357 Frequency Issue

I'm testing ADXL357 evaluation board with a 159Hz 1G shaker. The amplitude looks right, but the 1x frequency after FFT is always between 156-157Hz instead of 159Hz. I have tried both reading FIFO and XYZ data register with DRDY pin interrupt. The results were similar. I measured the execution time of my data collection function, it was constant and always slightly shorter than calculated. If I calculate frequency based on execution time instead of directly taking the set value of ADXL357, the 1x frequency will be corrected to 159Hz.

For example, I have attached a set of 4096 data points taken when ADXL357 ODR was set to 2000Hz. Calculated 1x frequency is 156.74Hz. Execution time measured is 2.016s. 

What could be the issue? How do I fix it? Thanks

adxl357 data.rtf

  • Hi HXie975,

    Have you tried probing the DRDY and CS pins of the ADXL during operation? This can help give you an overview of how fast is the SPI transaction relative to the DRDY pulse. What controller are you using to acquire the data? Based on the data you sent, the equivalent sampling rate should be 2022.6Hz to get the peak at around 159Hz which is higher than the 2000Hz setting.

    You could also try measuring data at different ODR's to see if the problem is persistent across different ODR settings. It might give a hint on whether the problem is on the sensor side or on the data acquisition / microcontroller side.