Cortex-M0 and FFT Integration

Problem Statement: Processing the array with sound samples through FFT on Cortex M0

I am using the ARM CMSIS DSP Library for the Cortex-M0, using following command

data_length = 256;

  float32_t sample_data[data_length*2];

  int16_t   data_temp[] = {-163, -181, -206, -194, -167, -119, -46, 20, 84, 139, 195, 223, 221, 190, 135, 96, 32, -34, -95, -179, -205, -201, -174, -129, -70, -4, 60, 119, 169, 204, 222, 220, 196, 145, 88, 23, -42, -102, -171, -187, -203, -190, -147, -92, -29, 37, 108, 166, 197, 219, 221, 201, 162, 109, 14, -61, -117, -174, -192, -202, -192, -153, -101, -40, 25, 86, 140, 183, 211, 219, 208, 176, 127, 68, 4, -69, -124, -176, -192, -197, -159, -121, -62, 1, 63, 120, 167, 204, 216, 201, 152, 98, 37, -27, -86, -136, -183, -194, -195, -175, -137, -84, -23, 51, 108, 156, 192, 211, 212, 191, 153, 100, 39, -24, -83, -133, -184, -195, -193, -172, -132, -78, -17, 45, 102, 150, 187, 206, 208, 189, 152, 91, 31, -31, -89, -138, -186, -193, -194, -175, -136, -84, -24, 38, 95, 150, 185, 205, 191, 159, 111, 54, -8, -78, -129, -190, -197, -182, -149, -100, -41, 20, 88, 150, 190, 200, 187, 162, 118, 62, 1, -59, -113, -157, -194, -200, -206, -194, -167, -119, -46, 20, 84, 139, 195, 223, 221, 190, 135, 96, 32, -34, -95, -179, -205, -206, -194, -167, -119, -46, 20, 84, 139, 195, 223, 221, 190, 135, 96, 32, -34, -95, -179, -205, -206, -194, -167, -119, -46, 20, 84, 139, 195, 223, 221, 190, 135, 96, 32, -34, -95, -179, -205, -206, -194, -167, -119, -46, 20, 84, 139, 195, 223, 221, 190, 135, 96, 32, -34, -95, -179, -205, -206, -194, -167, -192 };

  // Assign the value here

  // odd samples are complex values, set each to zero

  for (z = 0; z < data_length; z++) {

  sample_data[z*2] = data_temp[z];

  sample_data[z*2+1] = 0.0;

  }

  // Actual FFT processing with ARM optimized library function

  // FFT is done in-place, sample_data will contain the results

  arm_cfft_f32(&arm_cfft_sR_f32_len256, sample_data, 0, 1);  // no inverse, do bit reverse

However, when I try to execute it on the microcontroller the arm_cfft_f32 function calls

arm_cfft_radix8by4_f32  ( (arm_cfft_instance_f32 *) S, p1);

where S is arm_cfft_sR_f32_len256, and p1 is  sample_data,

however, it got hanged in the function, and does not give back results.

I am currently using LPC114/333 MCU Settings.

Need your advise, specially if you have an experience of running this FFT library on Cortex-M0, Thank you

Parents Reply Children
No data
More questions in this forum