pub struct DecodeResult {
pub message77: [u8; 77],
pub freq_hz: f32,
pub dt_sec: f32,
pub hard_errors: u32,
pub sync_score: f32,
pub pass: u8,
pub sync_cv: f32,
pub snr_db: f32,
}Expand description
One successfully decoded FT8 message.
Fields§
§message77: [u8; 77]Decoded message: 77 bits packed as bytes (LSB first within each byte).
freq_hz: f32Carrier frequency (Hz)
dt_sec: f32Time offset from the nominal 0.5 s start (seconds)
hard_errors: u32Number of hard-decision errors in the final codeword
sync_score: f32Sync quality score from fine sync
pass: u8Which LLR variant decoded successfully (0=llra, 1=llrb, 2=llrc, 3=llrd)
sync_cv: f32Coefficient of variation of the three Costas-array powers (score_a/b/c).
Near zero for a stable channel; elevated (> 0.3) when QSB or strong
time-varying fading is present. Used by decode_frame_subtract to
apply partial subtraction gain when the amplitude estimate is unreliable.
snr_db: f32WSJT-X compatible SNR estimate (dB).
Computed from decoded tone power vs. opposite-tone noise power:
10 log10(xsig/xnoi − 1) − 27 dB. Floor is −24 dB (same as WSJT-X).
Trait Implementations§
Source§impl Clone for DecodeResult
impl Clone for DecodeResult
Source§fn clone(&self) -> DecodeResult
fn clone(&self) -> DecodeResult
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreAuto Trait Implementations§
impl Freeze for DecodeResult
impl RefUnwindSafe for DecodeResult
impl Send for DecodeResult
impl Sync for DecodeResult
impl Unpin for DecodeResult
impl UnsafeUnpin for DecodeResult
impl UnwindSafe for DecodeResult
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
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self>
fn into_either(self, into_left: bool) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self>
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more