Skip to main content

BootstrapIntegrityAlert

Enum BootstrapIntegrityAlert 

Source
pub enum BootstrapIntegrityAlert {
    Clean,
    PsdNonFlat {
        flatness_score: f32,
        threshold: f32,
    },
    MeanShift {
        deviation: f32,
    },
    VarianceShift {
        deviation: f32,
    },
}
Expand description

Outcome of a pre-calibration bootstrap integrity check.

Returned by check_bootstrap_integrity before an admissibility envelope is locked. A non-BootstrapIntegrityAlert::Clean result means the calibration window contains organised structure and should be rejected; the engine must not lock the envelope until a clean window is found.

This directly addresses the “Bootstrap Paradox” panel criticism (paper §L \textit{Pre-emptive Technical Defence}, item 6): if the South China Sea calibration window is already jammed, spectral non-flatness will manifest as a non-zero lag-1 autocorrelation (Wiener-Khinchin) and this alert fires.

§Examples

use dsfb_rf::stationarity::{check_bootstrap_integrity, StationarityConfig, BootstrapIntegrityAlert};
let clean: Vec<f32> = (0..64).map(|i| 0.5 + 0.01 * (i as f32 % 7.0 - 3.0)).collect();
assert_eq!(check_bootstrap_integrity(&clean, &StationarityConfig::default()),
           BootstrapIntegrityAlert::Clean);

Variants§

§

Clean

Calibration window passed all WSS and PSD flatness tests. Safe to lock.

§

PsdNonFlat

PSD flatness test failed: lag-1 autocorrelation exceeded the configured threshold. The window likely contains periodic interference.

Fields

§flatness_score: f32

Measured |lag-1 autocorrelation|.

§threshold: f32

Configured maximum before alert fires.

§

MeanShift

Mean stationarity test failed: the half-window means diverge.

Fields

§deviation: f32

Normalised |mean first_half − mean second_half| / max(|mean|, ε).

§

VarianceShift

Variance stationarity test failed: the half-window variances diverge.

Fields

§deviation: f32

Normalised |var first_half − var second_half| / max(var, ε).

Implementations§

Source§

impl BootstrapIntegrityAlert

Source

pub fn blocks_calibration(self) -> bool

Returns true if this alert blocks calibration lock.

Trait Implementations§

Source§

impl Clone for BootstrapIntegrityAlert

Source§

fn clone(&self) -> BootstrapIntegrityAlert

Returns a duplicate of the value. Read more
1.0.0 · Source§

fn clone_from(&mut self, source: &Self)

Performs copy-assignment from source. Read more
Source§

impl Debug for BootstrapIntegrityAlert

Source§

fn fmt(&self, f: &mut Formatter<'_>) -> Result

Formats the value using the given formatter. Read more
Source§

impl PartialEq for BootstrapIntegrityAlert

Source§

fn eq(&self, other: &BootstrapIntegrityAlert) -> bool

Tests for self and other values to be equal, and is used by ==.
1.0.0 · Source§

fn ne(&self, other: &Rhs) -> bool

Tests for !=. The default implementation is almost always sufficient, and should not be overridden without very good reason.
Source§

impl Copy for BootstrapIntegrityAlert

Source§

impl StructuralPartialEq for BootstrapIntegrityAlert

Auto Trait Implementations§

Blanket Implementations§

Source§

impl<T> Any for T
where T: 'static + ?Sized,

Source§

fn type_id(&self) -> TypeId

Gets the TypeId of self. Read more
Source§

impl<T> Borrow<T> for T
where T: ?Sized,

Source§

fn borrow(&self) -> &T

Immutably borrows from an owned value. Read more
Source§

impl<T> BorrowMut<T> for T
where T: ?Sized,

Source§

fn borrow_mut(&mut self) -> &mut T

Mutably borrows from an owned value. Read more
Source§

impl<T> CloneToUninit for T
where T: Clone,

Source§

unsafe fn clone_to_uninit(&self, dest: *mut u8)

🔬This is a nightly-only experimental API. (clone_to_uninit)
Performs copy-assignment from self to dest. Read more
Source§

impl<T> From<T> for T

Source§

fn from(t: T) -> T

Returns the argument unchanged.

Source§

impl<T, U> Into<U> for T
where U: From<T>,

Source§

fn into(self) -> U

Calls U::from(self).

That is, this conversion is whatever the implementation of From<T> for U chooses to do.

Source§

impl<T, U> TryFrom<U> for T
where U: Into<T>,

Source§

type Error = Infallible

The type returned in the event of a conversion error.
Source§

fn try_from(value: U) -> Result<T, <T as TryFrom<U>>::Error>

Performs the conversion.
Source§

impl<T, U> TryInto<U> for T
where U: TryFrom<T>,

Source§

type Error = <U as TryFrom<T>>::Error

The type returned in the event of a conversion error.
Source§

fn try_into(self) -> Result<U, <U as TryFrom<T>>::Error>

Performs the conversion.