pub struct Ft8Codec;Expand description
FT8 channel encoder/decoder.
Implementations§
Source§impl Ft8Codec
impl Ft8Codec
Sourcepub fn encode(payload: &Ft8Bits) -> Ft8Frame
pub fn encode(payload: &Ft8Bits) -> Ft8Frame
Encode a 77-bit payload into an Ft8Frame of 58 Gray-coded tone indices.
Steps: payload → CRC-14 appended → LDPC(174,91) → Gray code → 58 tones.
Sourcepub fn decode_hard(frame: &Ft8Frame) -> Option<Ft8Bits>
pub fn decode_hard(frame: &Ft8Frame) -> Option<Ft8Bits>
Decode an Ft8Frame using hard decisions.
Applies inverse Gray code, treats each bit as a ±10 LLR, runs LDPC, then verifies the CRC. Returns the 77-bit payload on success.
Sourcepub fn decode_soft(llr: &[f32; 174]) -> Option<Ft8Bits>
pub fn decode_soft(llr: &[f32; 174]) -> Option<Ft8Bits>
Decode using soft LLR values produced by a sync/correlator stage.
llrs — 174 floats, LLR = log(P(bit=0)/P(bit=1)), positive ⇒ likely 0.
Sourcepub fn frame_to_llr_hard(frame: &Ft8Frame) -> [f32; 174]
pub fn frame_to_llr_hard(frame: &Ft8Frame) -> [f32; 174]
Convert an Ft8Frame (hard tone decisions) into 174 LLRs (±10.0).
Auto Trait Implementations§
impl Freeze for Ft8Codec
impl RefUnwindSafe for Ft8Codec
impl Send for Ft8Codec
impl Sync for Ft8Codec
impl Unpin for Ft8Codec
impl UnsafeUnpin for Ft8Codec
impl UnwindSafe for Ft8Codec
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more