pub struct MultiChannelOpts {
pub band_lo_hz: f32,
pub band_hi_hz: f32,
pub coarse_step_hz: f32,
pub nms_radius_hz: f32,
pub peak_rel_threshold: f32,
}Expand description
Configuration for decode_multichannel and
measure_slot_energies.
On a shared SSB channel (e.g., 430.090 MHz USB) carrying multiple uvpacket users in the audio passband, this struct describes the search window and the coarse-grid step used to scan for preamble peaks.
Fields§
§band_lo_hz: f32Low edge of the search band (Hz). Typical SSB: 300 Hz to clear the analog HPF.
band_hi_hz: f32High edge of the search band (Hz). Typical SSB: 2700 Hz for a 2.4 kHz passband.
coarse_step_hz: f32Coarse-grid step (Hz). 25 Hz matches the AFC search.
nms_radius_hz: f32Frequency-axis NMS radius (Hz). Peaks closer than this in frequency are merged. 600 Hz = half slot spacing for the typical 1200 Hz slot grid.
peak_rel_threshold: f32Magnitude threshold for the preamble correlator, expressed as a fraction of the global maximum across the scan. 0.5 picks any local peak ≥ 50 % of the strongest.
Trait Implementations§
Source§impl Clone for MultiChannelOpts
impl Clone for MultiChannelOpts
Source§fn clone(&self) -> MultiChannelOpts
fn clone(&self) -> MultiChannelOpts
1.0.0 · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for MultiChannelOpts
impl Debug for MultiChannelOpts
Source§impl Default for MultiChannelOpts
impl Default for MultiChannelOpts
impl Copy for MultiChannelOpts
Auto Trait Implementations§
impl Freeze for MultiChannelOpts
impl RefUnwindSafe for MultiChannelOpts
impl Send for MultiChannelOpts
impl Sync for MultiChannelOpts
impl Unpin for MultiChannelOpts
impl UnsafeUnpin for MultiChannelOpts
impl UnwindSafe for MultiChannelOpts
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