From e92587b5223e0ae61a2543f71c3615a6be34af11 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jan=20Hamal=20Dvo=C5=99=C3=A1k?= Date: Fri, 23 Feb 2024 11:19:28 +0100 Subject: [PATCH] Remove DC bias --- src/main.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/src/main.c b/src/main.c index 92694e1..f79084e 100644 --- a/src/main.c +++ b/src/main.c @@ -538,6 +538,8 @@ static void rf_rx(void) uint32_t prev_transfers = dma_hw->ch[dma_ch_in_cos].transfer_count; unsigned pos = 0; + int dcI = 0, dcQ = 0; + while (true) { if (multicore_fifo_rvalid()) { multicore_fifo_pop_blocking(); @@ -571,6 +573,12 @@ static void rf_rx(void) int I = cos_neg - cos_pos; int Q = sin_neg - sin_pos; + dcI = (dcI * 255 + I * 256) >> 8; + dcQ = (dcQ * 255 + Q * 256) >> 8; + + I -= dcI >> 8; + Q -= dcQ >> 8; + *blockptr++ = I; *blockptr++ = Q; }