10240 samplerate-2048samplesQ15_1.xlsx
Hi,
Please help me to get the relation between the input to FFT function and its output. i use arm_rfft_q15(); to perform FFT.
below are the details
To do vibration analysis, i am using an accelerometer(analog output) which is interfaced to "MSP432" micro controller.
ARM CMSIS DSP library is used to perform a 2048 point Real FFT. The accelerometer's output range is (0 to 1.8 volts) and resolution of MSP432's ADC is 14bit.
I have taken the 2048 readings from accelerometer @ sampling rate 10240 samples/sec@ 3000Hz sine signal. I perform real FFT (Q15) for 2048 samples (which is ADC count itself i am not converting it into acceleration value). In the
output of FFT i calculate the magnitude for 1024 points in the FFT output data. When i plot the magnitude data i am able to see a peak at the spectral line corresponding to 3000Hz.
# How can i show the output i.e. magnitude data in terms of 'g' units. Please help me to understand the relation between input and output.
My requirement is to convert the the acceleration values in time domain to frequency domain.
Please refer to the spread sheet "10240 samplerate-2048samplesQ15_1.xlsx".
Below is the partial code from my application
/****************************************************************?
#define MAX_COUNT 2048
typedef int16_t q15_t;
arm_rfft_instance_q15 Rfft_instance;
uint16_t x_axis_count[MAX_COUNT];
q15_t x_axis_fft_opbuff1[MAX_COUNT*2];
status = arm_rfft_init_q15(&Rfft_instance,MAX_COUNT,0,1);
while(1)
{
memset(x_axis_count,0,MAX_COUNT);
ADC_start_sampling(1); // ADC takes 2048 samples from accelerometer
arm_cmplx_mag_q15((q15_t *)x_axis_fft_opbuff1,(q15_t *)x_axis_count,MAX_COUNT/2); // calculation of MAGNITUDE
}
/*********************************************************************************************/