Go Down

Topic: Arduino DUE and FFT Analyzer (Read 940 times) previous topic - next topic

Andreas1984

Hello,

I want to build an spectrum analyzer.

I have found this link:

https://www.arduino.cc/en/Reference/FFTAnalyzerAvailable

I have already ordered the Invensense's ICS43432 I2S microphone.

However I have no Arduino/Genuino Zero at hand, I have an Arduino DUE, which should be also good in terms of performance...

Is it possible?

How do the pins change as given in the sketch for the Zero?

Thanks,

Kr,

Andreas

ard_newbie


maria90

https://macsbug.wordpress.com/2015/01/29/splitradixrealp-fft-analyzer-of-arduino-due/
// FFT ------------------------------------------------------------------------------
   uint16_t indx_a = flag -1;
   uint16_t indx_b = 0;
   time_start = micros();
   for ( uint16_t i = 0, k = (NWAVE / FFT_SIZE); i < FFT_SIZE; i++ ){
      uint16_t windw = Hamming[i * k];
      f_r = mult_shft12((inp[indx_a][indx_b++] - dc_offset), windw);
   }
   time_hamng  = micros() - time_start;
   time_start = micros();
   radix.rev_bin( f_r, FFT_SIZE);
   time_revbn  = micros() - time_start;
   time_start = micros();
   radix.fft_split_radix_real( f_r, LOG2_FFT);
   time_radix  = micros() - time_start;
   time_start = micros();
   radix.gain_Reset( f_r, LOG2_FFT -1);
   time_gainr  = micros() - time_start;
   time_start = micros();
   radix.get_Magnit1( f_r, out1);
   time_sqrtl  = micros() - time_start;
   time_start = micros();
   radix.get_Magnit2( f_r, out2);
   time_sqrtl2  = micros() - time_start;
how ı plotting to Magnit1 and magnit2 on serial plotter

Go Up