From 64417f3ab782ec4d25674f44b798d804ada85521 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Hamal=20Dvo=C5=99=C3=A1k?= Date: Wed, 24 Jan 2024 23:51:36 +0100 Subject: [PATCH] Avoid randomness in LO and bias for better SNR MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Signed-off-by: Jan Hamal Dvořák --- src/main.c | 10 +++------- 1 file changed, 3 insertions(+), 7 deletions(-) diff --git a/src/main.c b/src/main.c index 16caaf8..303d9e7 100644 --- a/src/main.c +++ b/src/main.c @@ -77,7 +77,6 @@ static void bias_init(int in_pin, int out_pin) gpio_disable_pulls(in_pin); gpio_disable_pulls(out_pin); - pio_gpio_init(pio1, in_pin); pio_gpio_init(pio1, out_pin); gpio_set_input_hysteresis_enabled(in_pin, false); @@ -105,7 +104,7 @@ static void bias_init(int in_pin, int out_pin) sm_config_set_out_pins(&pc, out_pin, 1); sm_config_set_set_pins(&pc, out_pin, 1); sm_config_set_wrap(&pc, 0, 0); - sm_config_set_clkdiv_int_frac(&pc, 1, 127); + sm_config_set_clkdiv_int_frac(&pc, 1, 0); pio_sm_init(pio1, 0, 0, &pc); pio_sm_set_consecutive_pindirs(pio1, 0, out_pin, 1, GPIO_OUT); @@ -116,7 +115,6 @@ static void bias_init(int in_pin, int out_pin) static void watch_init(int in_pin) { gpio_disable_pulls(in_pin); - pio_gpio_init(pio1, in_pin); gpio_set_input_hysteresis_enabled(in_pin, false); @@ -270,13 +268,11 @@ static float lo_freq_init(float req_freq) unsigned bcos = 0; for (int j = 0; j < 32; j++) { - int nudge = rand() % step - step / 2; - - bcos |= (acos + nudge) >> 31; + bcos |= acos >> 31; bcos <<= 1; acos += step; - bsin |= (asin + nudge) >> 31; + bsin |= asin >> 31; bsin <<= 1; asin += step; }