![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
A program to automatically tune a guitar. Written by Justin Reidhead and Steven Swenson
Dependencies: FFT FrequencyFinder Motor NewTextLCD PinDetect mbed strings
Diff: FrequencyFinder/FrequencyFinder.cpp
- Revision:
- 9:2a211133e79a
- Parent:
- 8:651fbf5ae98a
- Child:
- 10:4566e8aeb3ae
--- a/FrequencyFinder/FrequencyFinder.cpp Fri Apr 20 21:27:55 2012 +0000 +++ b/FrequencyFinder/FrequencyFinder.cpp Tue Apr 24 20:43:25 2012 +0000 @@ -2,7 +2,7 @@ using namespace std; -FrequencyFinder::FrequencyFinder(PinName input) : _signal_in(input), _dc_offset(p18){ +FrequencyFinder::FrequencyFinder(PinName input) : _signal_in(input), _dc_offset(p18) { index=0; peak=0; frequency_final=0; @@ -19,7 +19,7 @@ wait(1); ticker.detach(); - vRealFFT(signal_array-1,size); + copy_data(); take_abs(); @@ -32,7 +32,7 @@ void FrequencyFinder::get_data() { if (index<size) { - signal_array[index]=_signal_in.read();//-0.5); + signal_array[index]=_signal_in.read()-0.5; index++; } } @@ -94,4 +94,10 @@ for (int w=0; w<size; w++) { signal_array[w]=0; } +} + +void FrequencyFinder::copy_data() { + for (int i=0; i<size/2; i++) { + signal_array[i+(size/2)]=signal_array[i]; + } } \ No newline at end of file