Elektronikprojekt Grupp 13 / Mbed OS test_fft_grp13

Dependencies:   mbed-dsp

Fork of mbed-os-example-blinky by Elektronikprojekt Grupp 13

Committer:
KlaraBengtsson
Date:
Mon Apr 10 14:44:03 2017 +0000
Revision:
67:8de1eb1c4974
Parent:
66:866bf1606317
K

Who changed what in which revision?

UserRevisionLine numberNew contents of line
Jonathan Austin 0:2757d7abb7d9 1 #include "mbed.h"
deeza 59:2cd4e73320cb 2 #include "arm_math.h"
deeza 59:2cd4e73320cb 3 #include "arm_const_structs.h"
KlaraBengtsson 67:8de1eb1c4974 4 #include "mbed-dsp.h"
deeza 44:7f2c1e8d0761 5
KlaraBengtsson 66:866bf1606317 6
KlaraBengtsson 67:8de1eb1c4974 7 q31_t testData1[] = {10, 20, 30, 40, 50, 60, 70, 80, 10, 20, 30, 40, 50, 60, 70, 80,10, 20, 30, 40, 50, 60, 70, 80, 10, 20, 30, 40, 50, 60, 70, 80};
KlaraBengtsson 67:8de1eb1c4974 8 q31_t testData2[] = {10, 20, 30, 40, 50, 60, 70, 80, 10, 20, 30, 40, 50, 60, 70, 80,10, 20, 30, 40, 50, 60, 70, 80, 10, 20, 30, 40, 50, 60, 70, 80};
KlaraBengtsson 67:8de1eb1c4974 9 q31_t finalData[];
KlaraBengtsson 66:866bf1606317 10 int len1 = length(testData1);
KlaraBengtsson 66:866bf1606317 11 int len2 = length(testData2);
KlaraBengtsson 67:8de1eb1c4974 12 q31_t *p1 = &testData1(0);
KlaraBengtsson 67:8de1eb1c4974 13 q31_t *p2 = &testData2(0);
KlaraBengtsson 67:8de1eb1c4974 14 q31_t *p3 = &finalData(0);
KlaraBengtsson 67:8de1eb1c4974 15
KlaraBengtsson 66:866bf1606317 16
KlaraBengtsson 67:8de1eb1c4974 17 int main(){
KlaraBengtsson 66:866bf1606317 18
KlaraBengtsson 67:8de1eb1c4974 19 arm_correlate_q31(pi,len1,p2,len2,p3);
KlaraBengtsson 67:8de1eb1c4974 20 }
KlaraBengtsson 66:866bf1606317 21
KlaraBengtsson 66:866bf1606317 22 /*
deeza 55:360b5bcdf9a7 23 const int FFT_SIZE = 32;
deeza 55:360b5bcdf9a7 24 int sampleCounter;
KlaraBengtsson 58:afa7b146b6bf 25 float samples[FFT_SIZE*2];
KlaraBengtsson 58:afa7b146b6bf 26 float magnitudes[FFT_SIZE];
KlaraBengtsson 64:92745a08320c 27 const static arm_cfft_instance_f32 *S;
KlaraBengtsson 64:92745a08320c 28
deeza 59:2cd4e73320cb 29 //int SAMPLE_RATE_HZ = 10000;
deeza 59:2cd4e73320cb 30
KlaraBengtsson 62:1e5508bb8f16 31 float testData[] = {10, 20, 30, 40, 50, 60, 70, 80, 10, 20, 30, 40, 50, 60, 70, 80,10, 20, 30, 40, 50, 60, 70, 80, 10, 20, 30, 40, 50, 60, 70, 80};
deeza 54:fd99c80c68da 32
deeza 54:fd99c80c68da 33 void samplingBegin(){
deeza 55:360b5bcdf9a7 34 sampleCounter = 0;
deeza 59:2cd4e73320cb 35 //sätt hårdvaru inställningar här om det behövs
deeza 54:fd99c80c68da 36 }
deeza 54:fd99c80c68da 37
deeza 55:360b5bcdf9a7 38 void samplingCallback() {
deeza 59:2cd4e73320cb 39 //läs data
deeza 60:a83a5a34050b 40 samples[sampleCounter] = testData[sampleCounter];
deeza 55:360b5bcdf9a7 41 // sätter imaginär till 0
deeza 55:360b5bcdf9a7 42 samples[sampleCounter + 1] = 0.0;
deeza 55:360b5bcdf9a7 43 sampleCounter += 2;
deeza 55:360b5bcdf9a7 44 if (sampleCounter >= FFT_SIZE *2 ) {
deeza 55:360b5bcdf9a7 45 //här är sampling klar, buffert är full
KlaraBengtsson 63:f2972bba6f01 46 //skriv hårdvaru kod här
KlaraBengtsson 63:f2972bba6f01 47 }
deeza 55:360b5bcdf9a7 48 }
deeza 55:360b5bcdf9a7 49
deeza 54:fd99c80c68da 50 bool samplingIsDone() {
deeza 59:2cd4e73320cb 51 return (sampleCounter >= FFT_SIZE*2);
deeza 54:fd99c80c68da 52 }
deeza 54:fd99c80c68da 53
Jonathan Austin 1:846c97078558 54 // main() runs in its own thread in the OS
KlaraBengtsson 57:d15ff81fbeeb 55 int main() {
KlaraBengtsson 57:d15ff81fbeeb 56
KlaraBengtsson 64:92745a08320c 57 samplingBegin();
KlaraBengtsson 57:d15ff81fbeeb 58
KlaraBengtsson 64:92745a08320c 59 S = & arm_cfft_sR_f32_len32;
KlaraBengtsson 57:d15ff81fbeeb 60
KlaraBengtsson 57:d15ff81fbeeb 61
KlaraBengtsson 57:d15ff81fbeeb 62
KlaraBengtsson 64:92745a08320c 63 while(1) {
KlaraBengtsson 64:92745a08320c 64 if(samplingIsDone()){
KlaraBengtsson 64:92745a08320c 65 arm_cfft_f32(S,samples,0,1);
KlaraBengtsson 64:92745a08320c 66 arm_cmplx_mag_f32(samples,magnitudes,FFT_SIZE);
KlaraBengtsson 64:92745a08320c 67 samplingBegin();
KlaraBengtsson 64:92745a08320c 68 }
KlaraBengtsson 64:92745a08320c 69
KlaraBengtsson 57:d15ff81fbeeb 70 }
KlaraBengtsson 66:866bf1606317 71 }
KlaraBengtsson 66:866bf1606317 72 */