aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorReiner Herrmann <reiner@reiner-h.de>2017-04-09 17:48:31 +0200
committerReiner Herrmann <reiner@reiner-h.de>2017-04-09 17:48:31 +0200
commit9bfa962b91f77b2925f8164c63676cc14baae4dd (patch)
tree456d6f3567dd8b2e55f658765cec6168d35641a7
parenteb25b7fdeeceb1d6797ea5728d656c3d2dd7ea18 (diff)
Filter out noise which was amplified by HPS
-rw-r--r--tuner.c5
1 files changed, 5 insertions, 0 deletions
diff --git a/tuner.c b/tuner.c
index ec2ebb9..d2defcb 100644
--- a/tuner.c
+++ b/tuner.c
@@ -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;