orion-sdr 0.0.72

Composable SDR/DSP block library targeting HF-to-EHF: analog and single-carrier digital modes, FT8/FT4, PSK31, OFDM/COFDM, and DVB-T/NB-DVB-T, with Python bindings.
Documentation
// Copyright (c) 2026 G & R Associates LLC
// SPDX-License-Identifier: MIT OR Apache-2.0

// src/sync/mod.rs
//
// Frame synchronisation for FT8 and FT4.
//
// Provides:
//   - `ft8_sync` — search an IQ buffer for FT8 frames, return soft LLRs
//   - `ft4_sync` — search an IQ buffer for FT4 frames, return soft LLRs
//   - `Ft8SyncResult` / `Ft4SyncResult` — per-candidate decode inputs
//   - `Waterfall` / `compute_waterfall` — low-level spectrogram (exposed for testing)
//   - `Candidate` — sync candidate (time_sym, freq_bin, score)

pub mod costas;
pub mod dvb_t_gi_sync;
pub mod ft4_sync;
pub mod ft8_sync;
pub mod ofdm_sync;
pub mod psk31_sync;
pub mod waterfall;

pub use costas::Candidate;
pub use dvb_t_gi_sync::{
    GiSyncConfig, GiSyncResult, IntegerCfoResult, dvb_t_gi_refine, dvb_t_gi_refine_with,
    dvb_t_gi_sync, dvb_t_gi_sync_with, dvb_t_integer_cfo,
};
pub use ft4_sync::{Ft4SyncResult, ft4_sync};
pub use ft8_sync::{Ft8SyncResult, ft8_sync};
pub use ofdm_sync::{
    OfdmPreamble, OfdmSyncResult, TrainingSymbol, earliest_accepted, generate_ofdm_preamble,
    ofdm_sync,
};
pub use psk31_sync::{Psk31SyncResult, psk31_sync};
pub use waterfall::{Waterfall, compute_waterfall};