diff options
| author | Reiner Herrmann <reiner@reiner-h.de> | 2017-04-09 17:48:31 +0200 |
|---|---|---|
| committer | Reiner Herrmann <reiner@reiner-h.de> | 2017-04-09 17:48:31 +0200 |
| commit | 9bfa962b91f77b2925f8164c63676cc14baae4dd (patch) | |
| tree | 456d6f3567dd8b2e55f658765cec6168d35641a7 | |
| parent | eb25b7fdeeceb1d6797ea5728d656c3d2dd7ea18 (diff) | |
Filter out noise which was amplified by HPS
| -rw-r--r-- | tuner.c | 5 |
1 files changed, 5 insertions, 0 deletions
@@ -14,6 +14,7 @@ #define FFT_SIZE (1<<13) #define ACCURACY 2.0 // Hz +#define NOISE_FLOOR 30 #define FFT_INDEX_TO_FREQ(i) ((float)i * SAMPLE_RATE / FFT_SIZE) @@ -128,6 +129,10 @@ static void calculate_magnitudes() /* +1 because out[0] is DC result */ magnitudes[i] = cabs(fft_out[i+1]); + if (magnitudes[i] < NOISE_FLOOR) { + magnitudes[i] = 0.0; + } + /* also find highest magnitude for later informational output */ if (magnitudes[i] > magnitudes[max_i]) { max_i = i; |
