Files
dsd-fme/src
xdab 9232d66fcb Frame Sync: Replace per-symbol full sort with single-pass top-5 selection
The frame sync hunt loop sorted the entire symbol amplitude window
(lbuf2, t_max entries) with qsort on every iteration only to read
three ranked values off each end. Replace the copy + qsort with a
single O(n) pass maintaining the five smallest and five largest
values in two fixed 5-slot arrays, reading the exact same ranks.

Rank equivalence: lmn[] ascending = sorted[0..], lmx[] descending =
sorted[..t_max-1], so both the short (t_max < 13) and long rank
formulas map 1:1. The now-unused lbuf2 scratch buffer is removed.

Decode output verified byte-identical (timestamps stripped) against
DMR, dPMR, D-Star and YSF sample captures, including runs with a
10 second no-carrier lead-in.
2026-09-21 20:48:33 +02:00
..
2025-03-17 17:22:22 -04:00
2025-03-17 16:38:04 -04:00
2025-05-29 15:55:27 -04:00
2025-03-17 16:38:04 -04:00
2022-03-06 18:30:29 -05:00
2025-04-27 21:42:09 -04:00
2025-03-17 16:38:04 -04:00
2026-01-30 17:52:07 -05:00
2026-01-04 20:31:30 -05:00
2026-05-20 05:25:38 -04:00
2025-03-17 16:38:04 -04:00
2026-01-31 15:40:35 -05:00
2025-03-17 16:38:04 -04:00
2025-03-17 16:38:04 -04:00
2023-07-31 20:01:11 -04:00
2025-03-17 16:38:04 -04:00
2015-08-06 12:25:30 -04:00
2015-08-06 12:25:30 -04:00
2025-11-16 14:30:52 -05:00
2026-05-20 05:25:38 -04:00
2026-01-30 17:52:07 -05:00
2025-03-17 16:38:04 -04:00
2025-12-12 21:51:37 -05:00
2025-03-17 16:38:04 -04:00
2022-09-17 11:44:45 -04:00
2025-05-12 21:41:20 -04:00
2025-05-12 21:41:20 -04:00
2025-05-12 21:41:20 -04:00
2025-03-17 16:38:04 -04:00
2025-05-12 21:41:20 -04:00
2025-05-12 21:41:20 -04:00
2025-05-15 16:42:21 -04:00
2022-02-10 16:56:37 -05:00
2025-03-17 16:38:04 -04:00
2025-03-17 16:38:04 -04:00
2026-09-01 13:29:55 -04:00
2026-09-01 13:29:55 -04:00
2026-01-30 17:52:07 -05:00
2026-01-30 17:52:07 -05:00