pub struct TrackingLoopScenario {Show 29 fields
pub pll_bandwidth_hz: f64,
pub dll_bandwidth_hz: f64,
pub predetection_integration_s: f64,
pub correlator_spacing_chips: f64,
pub carrier_allowance_deg: f64,
pub code_allowance_chips: Option<f64>,
pub pullin_bandwidth_ratio: f64,
pub drop_confirm_epochs: usize,
pub relock_confirm_epochs: usize,
pub doppler_rate_hz_per_s: f64,
pub code_slew_chips_per_s: f64,
pub cn0_high_dbhz: f64,
pub cn0_low_dbhz: f64,
pub ramp_duration_s: f64,
pub jitter_table_cn0_dbhz: Vec<f64>,
pub jammer_power_dbw: f64,
pub jammer_gain_dbi: f64,
pub rx_gain_toward_jammer_db: f64,
pub rx_gain_toward_sat_db: f64,
pub signal_power_dbw: f64,
pub temp_k: f64,
pub freq_hz: f64,
pub chip_rate_hz: f64,
pub jammer_type: String,
pub q_override: Option<f64>,
pub denial_js_threshold_db: f64,
pub capture_js_threshold_db: f64,
pub spoof_code_slew_chips_per_s: Vec<f64>,
pub spoof_doppler_rate_hz_per_s: Vec<f64>,
}Expand description
A tracking-loop loss-of-lock scenario. Every field is defaulted, so a body of only
kind = "tracking-loop" reproduces the reference configuration.
Fields§
§pll_bandwidth_hz: f64Carrier (Costas) loop one-sided noise bandwidth (Hz).
dll_bandwidth_hz: f64Code (DLL) loop one-sided noise bandwidth (Hz).
predetection_integration_s: f64Predetection coherent integration time (s).
correlator_spacing_chips: f64Early-to-late correlator spacing (chips).
carrier_allowance_deg: f64Carrier 3σ + θ_e allowance (degrees); the 45° three-sigma form of the 15° rule.
code_allowance_chips: Option<f64>Code 3σ + lag allowance (chips). Absent ⇒ half the correlator spacing, the
discriminator’s linear half-range.
pullin_bandwidth_ratio: f64Bandwidth multiplier applied when re-pulling-in after a loss of lock. This is what makes the re-lock threshold higher than the drop threshold.
drop_confirm_epochs: usizeConsecutive sub-threshold epochs required before lock is declared lost.
relock_confirm_epochs: usizeConsecutive above-threshold epochs required before lock is re-declared.
doppler_rate_hz_per_s: f64Carrier Doppler rate the loop must follow while tracking (Hz/s).
code_slew_chips_per_s: f64Code slew the loop must follow while tracking (chips/s).
cn0_high_dbhz: f64C/N₀ the profile starts and ends at (dB-Hz).
cn0_low_dbhz: f64C/N₀ at the bottom of the profile (dB-Hz).
ramp_duration_s: f64Duration of each leg of the down-then-up C/N₀ ramp (s).
jitter_table_cn0_dbhz: Vec<f64>C/N₀ values the jitter table is tabulated at (dB-Hz).
jammer_power_dbw: f64Jammer transmit power (dBW).
jammer_gain_dbi: f64Jammer antenna gain toward the victim (dBi).
rx_gain_toward_jammer_db: f64Receive-antenna gain toward the jammer (dB).
rx_gain_toward_sat_db: f64Receive-antenna gain toward the satellite (dB).
signal_power_dbw: f64Isotropic received signal power (dBW).
temp_k: f64Receiver system noise temperature (K).
freq_hz: f64Carrier frequency (Hz).
chip_rate_hz: f64Spreading-code chip rate (chips/s).
jammer_type: StringJammer spectrum class fed to q_factor: broadband, narrowband/cw, swept.
q_override: Option<f64>Override the spectral-separation coefficient Q.
denial_js_threshold_db: f64The existing power-ratio denial criterion (dB of J/S). Reported unchanged.
capture_js_threshold_db: f64The existing power-ratio spoof-capture criterion (dB of J/S).
spoof_code_slew_chips_per_s: Vec<f64>Code slew axis of the spoof pull-in map (chips/s).
spoof_doppler_rate_hz_per_s: Vec<f64>Carrier Doppler rate axis of the spoof pull-in map (Hz/s).
Implementations§
Source§impl TrackingLoopScenario
impl TrackingLoopScenario
Sourcepub fn loop_config(&self) -> LoopConfig
pub fn loop_config(&self) -> LoopConfig
The resolved loop geometry, with the code allowance defaulted to half the spacing.
Sourcepub fn denial_link(&self) -> DenialLink
pub fn denial_link(&self) -> DenialLink
The jammer link the two denial radii are evaluated on.