Files
mayhem-firmware/firmware/baseband
Arne Luehrs 569bcaad22 Epirb afc wide capture (#3213)
* EPIRB RX: widen AFC capture range to +/-5 kHz

The AFC estimate was only applied after carrier lock, so carrier
acquisition ran on raw phase deltas and could only tolerate offsets of
a few hundred Hz before the 0.6/0.7/1.6 rad detection thresholds (on
the 12-sample accumulator) broke down.

Track the carrier offset continuously in the IDLE state with a
first-order loop (AFC_TRACK_ALPHA), so the de-biased accumulator
self-centers for any offset within the discriminator Nyquist (~24 kHz)
*before* the thresholds run. ALPHA = 0.005 pulls a +/-5 kHz offset
under the 0.6 rad lock threshold in ~11 ms, well inside the 160 ms
preamble / 80 ms stability window. The IDLE rise-detect threshold is
also made symmetric (fabsf) now that the bias is removed.

Also add the missing <cstdint> include to test_convert.cpp so the
application_test suite compiles under the current toolchain.

Verified: baseband_epirb_rx.elf builds (flash 53%, RAM 12%) and
baseband_test passes.
2026-06-11 11:01:54 +02:00
..
2026-02-24 11:23:41 +01:00
2026-05-21 17:48:53 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2024-03-19 15:30:05 -05:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2025-05-11 20:24:52 +02:00
2025-05-11 20:24:52 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2026-05-12 12:45:02 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2026-05-13 14:53:54 +02:00
2025-12-14 11:26:21 +01:00
2023-05-19 08:16:05 +12:00
2023-06-07 11:25:35 +02:00
2024-07-08 11:11:12 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2026-02-24 11:23:41 +01:00
2025-08-11 07:42:58 +02:00
2026-06-11 11:01:54 +02:00
2026-06-11 11:01:54 +02:00
2025-08-27 06:37:57 +00:00
2023-05-19 08:16:05 +12:00
2023-08-02 21:59:26 +02:00
2023-08-02 21:59:26 +02:00
2025-08-27 06:37:57 +00:00
2025-05-19 19:16:28 +02:00
2026-02-24 11:23:41 +01:00
2026-01-30 17:18:13 +01:00
2026-01-30 17:18:13 +01:00
2025-05-11 20:24:52 +02:00
2025-12-14 11:26:21 +01:00
2025-12-21 11:21:55 +01:00
2025-12-21 11:21:55 +01:00
2023-05-19 08:16:05 +12:00
2026-02-16 14:34:55 +01:00
2026-02-16 14:34:55 +01:00
2026-02-16 14:34:55 +01:00
2026-02-16 14:34:55 +01:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2026-02-06 17:20:14 +01:00
2026-02-06 17:20:14 +01:00
2024-10-17 10:22:01 +02:00
2025-12-21 11:21:55 +01:00
2024-10-17 10:22:01 +02:00
2024-10-17 10:22:01 +02:00
2025-03-18 18:31:40 -05:00
2023-08-21 10:17:23 +02:00
2023-05-19 08:16:05 +12:00
2026-04-07 19:42:21 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2024-03-19 10:53:55 +01:00
2023-08-21 10:17:23 +02:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00
2023-05-19 08:16:05 +12:00