Important changes to repositories hosted on mbed.com
Mbed hosted mercurial repositories are deprecated and are due to be permanently deleted in July 2026.
To keep a copy of this software download the repository Zip archive or clone locally using Mercurial.
It is also possible to export all your personal repositories from the account settings page.
Dependencies: mbed-dsp
Fork of mbed-os-example-blinky by
main.cpp@66:866bf1606317, 2017-04-10 (annotated)
- Committer:
- KlaraBengtsson
- Date:
- Mon Apr 10 14:07:43 2017 +0000
- Revision:
- 66:866bf1606317
- Parent:
- 64:92745a08320c
- Child:
- 67:8de1eb1c4974
K
Who changed what in which revision?
User | Revision | Line number | New 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" |
deeza | 44:7f2c1e8d0761 | 4 | |
KlaraBengtsson | 66:866bf1606317 | 5 | |
KlaraBengtsson | 66:866bf1606317 | 6 | q15 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 | 66:866bf1606317 | 7 | q15 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 | 66:866bf1606317 | 8 | q31 finalData[]; |
KlaraBengtsson | 66:866bf1606317 | 9 | int len1 = length(testData1); |
KlaraBengtsson | 66:866bf1606317 | 10 | int len2 = length(testData2); |
KlaraBengtsson | 66:866bf1606317 | 11 | q15 *p1 = &testData1(0); |
KlaraBengtsson | 66:866bf1606317 | 12 | q15 *p2 = &testData2(0); |
KlaraBengtsson | 66:866bf1606317 | 13 | q15 *p3 = &finalData(0); |
KlaraBengtsson | 66:866bf1606317 | 14 | |
KlaraBengtsson | 66:866bf1606317 | 15 | arm_correlate_q15(pi,len1,p2,len2,p3); |
KlaraBengtsson | 66:866bf1606317 | 16 | |
KlaraBengtsson | 66:866bf1606317 | 17 | |
KlaraBengtsson | 66:866bf1606317 | 18 | /* |
deeza | 55:360b5bcdf9a7 | 19 | const int FFT_SIZE = 32; |
deeza | 55:360b5bcdf9a7 | 20 | int sampleCounter; |
KlaraBengtsson | 58:afa7b146b6bf | 21 | float samples[FFT_SIZE*2]; |
KlaraBengtsson | 58:afa7b146b6bf | 22 | float magnitudes[FFT_SIZE]; |
KlaraBengtsson | 64:92745a08320c | 23 | const static arm_cfft_instance_f32 *S; |
KlaraBengtsson | 64:92745a08320c | 24 | |
deeza | 59:2cd4e73320cb | 25 | //int SAMPLE_RATE_HZ = 10000; |
deeza | 59:2cd4e73320cb | 26 | |
KlaraBengtsson | 62:1e5508bb8f16 | 27 | 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 | 28 | |
deeza | 54:fd99c80c68da | 29 | void samplingBegin(){ |
deeza | 55:360b5bcdf9a7 | 30 | sampleCounter = 0; |
deeza | 59:2cd4e73320cb | 31 | //sätt hårdvaru inställningar här om det behövs |
deeza | 54:fd99c80c68da | 32 | } |
deeza | 54:fd99c80c68da | 33 | |
deeza | 55:360b5bcdf9a7 | 34 | void samplingCallback() { |
deeza | 59:2cd4e73320cb | 35 | //läs data |
deeza | 60:a83a5a34050b | 36 | samples[sampleCounter] = testData[sampleCounter]; |
deeza | 55:360b5bcdf9a7 | 37 | // sätter imaginär till 0 |
deeza | 55:360b5bcdf9a7 | 38 | samples[sampleCounter + 1] = 0.0; |
deeza | 55:360b5bcdf9a7 | 39 | sampleCounter += 2; |
deeza | 55:360b5bcdf9a7 | 40 | if (sampleCounter >= FFT_SIZE *2 ) { |
deeza | 55:360b5bcdf9a7 | 41 | //här är sampling klar, buffert är full |
KlaraBengtsson | 63:f2972bba6f01 | 42 | //skriv hårdvaru kod här |
KlaraBengtsson | 63:f2972bba6f01 | 43 | } |
deeza | 55:360b5bcdf9a7 | 44 | } |
deeza | 55:360b5bcdf9a7 | 45 | |
deeza | 54:fd99c80c68da | 46 | bool samplingIsDone() { |
deeza | 59:2cd4e73320cb | 47 | return (sampleCounter >= FFT_SIZE*2); |
deeza | 54:fd99c80c68da | 48 | } |
deeza | 54:fd99c80c68da | 49 | |
Jonathan Austin |
1:846c97078558 | 50 | // main() runs in its own thread in the OS |
KlaraBengtsson | 57:d15ff81fbeeb | 51 | int main() { |
KlaraBengtsson | 57:d15ff81fbeeb | 52 | |
KlaraBengtsson | 64:92745a08320c | 53 | samplingBegin(); |
KlaraBengtsson | 57:d15ff81fbeeb | 54 | |
KlaraBengtsson | 64:92745a08320c | 55 | S = & arm_cfft_sR_f32_len32; |
KlaraBengtsson | 57:d15ff81fbeeb | 56 | |
KlaraBengtsson | 57:d15ff81fbeeb | 57 | |
KlaraBengtsson | 57:d15ff81fbeeb | 58 | |
KlaraBengtsson | 64:92745a08320c | 59 | while(1) { |
KlaraBengtsson | 64:92745a08320c | 60 | if(samplingIsDone()){ |
KlaraBengtsson | 64:92745a08320c | 61 | arm_cfft_f32(S,samples,0,1); |
KlaraBengtsson | 64:92745a08320c | 62 | arm_cmplx_mag_f32(samples,magnitudes,FFT_SIZE); |
KlaraBengtsson | 64:92745a08320c | 63 | samplingBegin(); |
KlaraBengtsson | 64:92745a08320c | 64 | } |
KlaraBengtsson | 64:92745a08320c | 65 | |
KlaraBengtsson | 57:d15ff81fbeeb | 66 | } |
KlaraBengtsson | 66:866bf1606317 | 67 | } |
KlaraBengtsson | 66:866bf1606317 | 68 | */ |