Ura
Dependencies: CMSIS_DSP_401 mbed
Diff: main.cpp
- Revision:
- 6:0de27f5ec409
- Parent:
- 5:173ae8477ae1
- Child:
- 7:a4cff60f035b
--- a/main.cpp Tue Nov 11 16:41:53 2014 +0000 +++ b/main.cpp Tue Nov 18 17:21:07 2014 +0000 @@ -18,10 +18,11 @@ AnalogIn center(A3); int SAMPLE_RATE_HZ = 40000; // Sample rate of the audio in hertz. -//const int FFT_SIZE = 16; // Size of the FFT. -const int FFT_SIZE = 1024; // Size of the FFT. +const int FFT_SIZE = 16; // Size of the FFT. -const static arm_cfft_instance_f32 *S; +const static arm_cfft_instance_f32 *S1; +const static arm_cfft_instance_f32 *S2; +const static arm_cfft_instance_f32 *S3; //static arm_cfft_radix2_instance_f32 *S; Ticker samplingTimer; float samples[FFT_SIZE*2]; @@ -75,31 +76,49 @@ switch (FFT_SIZE) { case 16: - S = & arm_cfft_sR_f32_len16; + S1 = & arm_cfft_sR_f32_len16; + S2 = & arm_cfft_sR_f32_len16; + S3 = & arm_cfft_sR_f32_len16; break; case 32: - S = & arm_cfft_sR_f32_len32; + S1 = & arm_cfft_sR_f32_len32; + S2 = & arm_cfft_sR_f32_len32; + S3 = & arm_cfft_sR_f32_len32; break; case 64: - S = & arm_cfft_sR_f32_len64; + S1 = & arm_cfft_sR_f32_len64; + S2 = & arm_cfft_sR_f32_len64; + S3 = & arm_cfft_sR_f32_len64; break; case 128: - S = & arm_cfft_sR_f32_len128; + S1 = & arm_cfft_sR_f32_len128; + S2 = & arm_cfft_sR_f32_len128; + S3 = & arm_cfft_sR_f32_len128; break; case 256: - S = & arm_cfft_sR_f32_len256; + S1 = & arm_cfft_sR_f32_len256; + S2 = & arm_cfft_sR_f32_len256; + S3 = & arm_cfft_sR_f32_len256; break; case 512: - S = & arm_cfft_sR_f32_len512; + S1 = & arm_cfft_sR_f32_len512; + S2 = & arm_cfft_sR_f32_len512; + S3 = & arm_cfft_sR_f32_len512; break; case 1024: - S = & arm_cfft_sR_f32_len1024; + S1 = & arm_cfft_sR_f32_len1024; + S2 = & arm_cfft_sR_f32_len1024; + S3 = & arm_cfft_sR_f32_len1024; break; case 2048: - S = & arm_cfft_sR_f32_len2048; + S1 = & arm_cfft_sR_f32_len2048; + S2 = & arm_cfft_sR_f32_len2048; + S3 = & arm_cfft_sR_f32_len2048; break; case 4096: - S = & arm_cfft_sR_f32_len4096; + S1 = & arm_cfft_sR_f32_len4096; + S2 = & arm_cfft_sR_f32_len4096; + S3 = & arm_cfft_sR_f32_len4096; break; } float maxValue = 0.0f; @@ -120,9 +139,9 @@ { // Run FFT on sample data. //arm_cfft_radix2_f32(arm_cfft_radix2_instance_f32*S, samples); - arm_cfft_f32(S, samples, 0, 1); - arm_cfft_f32(S, samples2, 0, 1); - arm_cfft_f32(S, samples3, 0, 1); + arm_cfft_f32(S1, samples, 0, 1); + arm_cfft_f32(S2, samples2, 0, 1); + arm_cfft_f32(S3, samples3, 0, 1); samples[0]=0; samples2[0]=0; samples3[0]=0; @@ -146,7 +165,9 @@ arm_max_f32(magnitudes3, FFT_SIZE, &maxValue3, &testIndex3); pc.printf(" MAX value at magnitudes 1[%d] : %+8.2f\r\n", testIndex, maxValue);//Я НЯШКА А АНЯ ВЛАСЮК КОЗА:DDDDDDDDDDDDD pc.printf(" MAX value at magnitudes 2[%d] : %+8.2f\r\n", testIndex2, maxValue2); - pc.printf(" MAX value at magnitudes 3[%d] : %+8.2f\r\n", testIndex3, maxValue3); + pc.printf(" MAX value at magnitudes 3[%d] : %+8.2f\r\n", testIndex2, maxValue3); + // Wait for user confirmation to restart audio sampling. + //pc.getc(); double delta_t = 0; if ((testIndex < testIndex2) and (testIndex < testIndex3) and (testIndex2 < testIndex3)) @@ -164,11 +185,8 @@ double fi = asin(330*delta_t/0.33); pc.printf(" Angle is : %+8.2f\r\n", fi); - // Wait for user confirmation to restart audio sampling. - //pc.getc(); wait(1); samplingBegin(); } } -} - +} \ No newline at end of file