tracking-loop (scenarietype)
Scenarietype i motoren v0.40.0, familie Jamming, spoofing og spektret. Vejledende: analyseoutput fra et forsknings- og ingeniørværktøj, ikke typegodkendt navigationsudstyr og ikke en sikkerhedskritisk tjeneste (safety-of-life). Hver mærkat her er motorens eller verifikationsmatrixens; en type er MODELLED, medmindre matrixen siger andet (hvordan en mærkat opnås: afsnittet Evidens i README).
Hvad det gør#
Tab af lås i sporingssløjfen: C/N0 -> lås/oplåsning MED HYSTERESE, den tid det tager at miste låsen, og spoof-indtrækning som funktion af kode- og bærebølge-offset-RATE. Motorens eksisterende kriterier for nægtelse og overtagelse er forhold på modtaget effekt (en jammer nægter ved J/S = 30 dB, en spoofer overtager ved 3 dB); et reelt tab af lås er ikke et effektforhold, det er der, hvor en sløjfes jitter plus dynamiske belastning forlader dens sporingstærskelbudget. Rapporterer (1) bærebølge- (Costas) og kode- (ikke-kohærent early/late) 1-sigma termisk jitter mod C/N0, kvadreringstab inkluderet, mod de angivne regler 3sigma_PLL + theta_e <= 45 deg (15-gradersreglen i tre-sigma-form) og 3sigma_DLL + rampeforsinkelse <= d/2 chips; (2) tærsklerne for tab og genindfangning af C/N0 med den bindende sløjfe angivet, genindfangningstærsklen AFLEDT af den bredere båndbredde, en modtager genindtrækker ved, frem for blot påstået, så hysteresebredden skal ligge mellem 5log10(ratio) og 10log10(ratio) dB; (3) den erklærede tid til tab af lås fra en låsdetektor med to tærskler og bekræftelsesophold, drevet over en C/N0-rampe, rapporteret adskilt fra den fysiske faseundslippelsestid (Viterbis middeltid mellem cycle slips, i log10 s, fordi den spænder over hundredvis af dekader); (4) grænser for spoof-indtrækning — den største kodeslew og bærebølge-Dopplerrate, et offers sløjfer kan følge, med et kort over begge akser, fordi en spoofer, der slewer hurtigere end disse, ikke overtager sløjfen, men løber fra den; og (5) NÆGTELSESRADIUSEN, som sløjfedynamikken medfører, rapporteret SAMMEN MED den eksisterende effektforholdsradius, aldrig i stedet for den, med deres fortegnsbehæftede forskel som et eget navngivet felt (denial_radius_delta_km) og en definition ved siden af. Hvert udsendt numerisk felt har en enhed og en proveniensklasse. VALIDATED lukkede former: udtrykkene for bærebølge- og kodejitter, sløjfefilterreduktionen sqrt(2B_nT) og første ordens rampeforsinkelse er krydskontrolleret mod motorens egen sdr-korrelator, trinvist kørt på seedet syntetisk IF — en anden vej til de samme tal — til henholdsvis 0,6 %, 3,7 % og 0,17 %, og den modificerede Bessel I0 bag cycle-slip-tiden mod standardtabellerede værdier til 1e-7. Den nedre gyldighedsgrænse er hævdet, ikke blot angivet: under ~32 dB-Hz ved 1 ms mættes den reelle atan-diskriminator mod sit +-pi/2-område og måler mindre jitter end enhver lineær teori. MODELLED: sløjfebåndbredder, integrationstid, korrelatorafstand, indtrækningsbåndbreddeforhold, bekræftelsesophold, jammereffekt og antenneforstærkninger er repræsentative båndtal, ikke et datablad. IKKE modelleret: oscillator- (Allan-deviation) og vibrationsjitter, begrænsning af front-end-båndbredde, multipath, AGC-dynamik, tab ved databittransitioner, ekstern støtte og enhver halvcyklus-korrektion af Costas-cycle-slip-formlen. Under sløjfedynamik har spoof-overtagelse slet ingen radius — den bindende begrænsning er offset-raten, ikke effekten — så dette felt er null med en begrundelse frem for et opdigtet tal. Ikke et certificeret produkt til modtagerydeevne.
Én kørsel af scenarios/tracking-loop.toml opsummeres som: tracking-loop: B_pll 10,0 Hz / B_dll 1,0 Hz, T 1 ms, d 0,50 chip -> drop 25,4744 dB-Hz (carrier binds), relock 27,4413 dB-Hz, hysteresis 1,9669 dB | loss of lock declared 39,101 s into the ramp | denial radius threshold(J/S 30 dB) 127,413 km vs loop dynamics 53,1694 km, delta -74.2438 km | spoof pull-in <= 0,966 chip/s code and 41,45 Hz/s carrier (MODELLED loop, VALIDATED closed forms)
Input#
Fra skemaet (kshana kinds --json):
- Påkrævede felter: ingen
- Valgfrie felter:
pll_bandwidth_hz,dll_bandwidth_hz,predetection_integration_s,correlator_spacing_chips,carrier_allowance_deg,code_allowance_chips,pullin_bandwidth_ratio,drop_confirm_epochs,relock_confirm_epochs,doppler_rate_hz_per_s,code_slew_chips_per_s,cn0_high_dbhz,cn0_low_dbhz,ramp_duration_s,jitter_table_cn0_dbhz,jammer_power_dbw,jammer_gain_dbi,rx_gain_toward_jammer_db,rx_gain_toward_sat_db,signal_power_dbw,temp_k,freq_hz,chip_rate_hz,jammer_type,q_override,denial_js_threshold_db,capture_js_threshold_db,spoof_code_slew_chips_per_s,spoof_doppler_rate_hz_per_s
Eksemplet scenarios/tracking-loop.toml angiver blandt andet:
| Felt | Værdi | Enhed |
|---|---|---|
capture_js_threshold_db |
3 | dB |
carrier_allowance_deg |
45 | deg |
chip_rate_hz |
1023000 | Hz |
cn0_high_dbhz |
45 | dB-Hz |
cn0_low_dbhz |
15 | dB-Hz |
code_slew_chips_per_s |
0 | chip/s |
correlator_spacing_chips |
0.5 | chip |
denial_js_threshold_db |
30 | dB |
dll_bandwidth_hz |
1 | Hz |
doppler_rate_hz_per_s |
0 | Hz/s |
drop_confirm_epochs |
50 | antal |
freq_hz |
1575420000 | Hz |
Kør den#
kshana scenarios/tracking-loop.toml
Hvad den giver#
De skalare resultater af den kørsel, med de enheder, motoren angiver:
| Resultat | Værdi | Enhed |
|---|---|---|
denial.capture_js_threshold_db |
3 | dB |
denial.capture_radius_loop_dynamics_km |
ingen værdi | km |
denial.capture_radius_threshold_km |
2852.426643 | km |
denial.capture_radius_threshold_status |
omsluttet | tekst |
denial.denial_cn0_at_threshold_radius_dbhz |
32.864222 | dB-Hz |
denial.denial_js_delta_db |
7.591059 | dB |
denial.denial_js_loop_db |
37.591059 | dB |
denial.denial_js_threshold_db |
30 | dB |
denial.denial_radius_delta_km |
-74.243845 | km |
denial.denial_radius_loop_dynamics_km |
53.169373 | km |
Resultatbetegnelse (motorens): MIXED — VALIDATED lukkede sløjfeformer, MODELLED sløjfekonfiguration. Udtrykkene for termisk jitter i bærebølge og kode, sløjfefilterreduktionen sqrt(2B_nT) og første ordens rampeforsinkelse er krydskontrolleret mod motorens egen sdr-korrelator, trinvist kørt på seedet syntetisk IF (en anden vej
Evidens#
MODELLED: rækkerne i verifikationsmatrixen, der nævner denne type.
- MODELLED Rapporten
lunar-jamminghviler ikke længere sin nægtelseskontur på ét enkelt skalartal. - MODELLED Tab af lås beregnet ud fra sløjfedynamik i stedet for et effektforhold: bærebølge- (Costas) og kode- (ikke-kohærent early/late) 1σ termisk jitter mod C/N₀ med kvadreringstabet, mod de angivne regler 3σ_PLL + θ_e ≤ 45° og 3σ_DLL + rampeforsinkelse
De rækker, som kørslen selv afprøvede, med den uafhængige reference, som matrixen giver hver (de offentlige kilder er nævnt dér):
- MODELLED Deterministisk, scenarie-hashet, SBOM + gates med golden-filer på tværs af platforme. Uafhængig reference (ExternalDataset): SBOM'ens validering mod det officielle CycloneDX 1,5 JSON-skema (+ gyldige SPDX-identifikatorer) — en ekstern publiceret standard, nul valideringsfejl over hele afhængighedsgrafen; den del, der gælder FoM-determinisme / byte-reproducerbarhed, er fortsat et fastlåst selvkonsistenstjek, så rækken forbliver MODELLED
- PARTNER Ikke leveret — Kshana modellerer signalydelse, ikke nyttelast- eller antennehardware. Uafhængig reference (NoneKind): ingen: en disciplin, som partneren ejer, uden modul og uden test, af design
- MODELLED Tab af lås beregnet ud fra sløjfedynamik i stedet for et effektforhold: bærebølge- (Costas) og kode- (ikke-kohærent early/late) 1σ termisk jitter mod C/N₀ med kv. Uafhængig reference (ReferenceImpl): Motorens egen sdr-korrelator (sdr::correlate / synth_if / CaCode), trinvist kørt på seedet syntetisk IF ved en kalibreret C/N₀ — en separat kodevej, der når de samme tal ved numerisk korrelation af samplet IQ frem for ved et algebraisk jitterudtryk, så den er en anden vej og ikke en gentagelse — plus standardtabellerede værdier af den modificerede Bessel I₀ for cycle-slip-leddet. Sløjfeteori ifølge Kaplan & Hegar
Begrænsninger#
Hvad kørslens egen rapport siger ikke er modelleret eller ikke er valideret:
- MIXED — VALIDATED lukkede sløjfeformer, MODELLED sløjfekonfiguration. Udtrykkene for termisk jitter i bærebølge og kode, sløjfefilterreduktionen sqrt(2B_nT) og første ordens rampeforsinkelse er krydskontrolleret mod motorens egen sdr-korrelator, trinvist kørt på seedet syntetisk IF (en anden vej til de samme tal), og den modificerede Bessel I0 mod standardtabellerede værdier. MODELLED: sløjfebåndbredder, integ (resultat
label) - MODELLED: sløjfebåndbredder, integrationstid, korrelatorafstand, indtrækningsbåndbreddeforhold, bekræftelsesophold, jammereffekt og antenneforstærkninger er repræsentative båndtal, ikke et datablad. (typekatalog (
kshana kinds --json)) - IKKE modelleret: oscillator- (Allan-deviation) og vibrationsjitter, begrænsning af front-end-båndbredde, multipath, AGC-dynamik, tab ved databittransitioner, ekstern støtte og enhver halvcyklus-korrektion af Costas-cycle-slip-formlen. (typekatalog (
kshana kinds --json)) - Hver sløjfeparameter nedenfor er et MODELLED repræsentativt båndtal, ikke et datablad. (kommentar i scenariefilen, linje 22)
- --- sløjfegeometri ----------------------------------------------------------------- En 10 Hz Costas-bærebølgesløjfe og en 1 Hz bærebølgestøttet kodesløjfe, 1 ms kohærent integration (én C/A-koneperiode, så der antages ingen databitsynkronisering), smal 0,5 chip-korrelator. (kommentar i scenariefilen, linje 25 til 28)
- Reproducerbarhed og softwarekvalitetssikring er MODELLED, ikke valideret: en delpåstand kontrolleres eksternt, men hele funktionen sammensættes af modellerede dele, så funktionen forbliver modelleret. (verifikationsmatrix (docs/MODELLED-RATIONALE.md))
- Tab af lås i sporingssløjfen og spoof-indtrækning under interferens er MODELLED, ikke valideret: kontrolleret mod en separat implementering i samme kodebase — uafhængig af enheden under test, men ikke eksternt autoritativ. (verifikationsmatrix (docs/MODELLED-RATIONALE.md))
Se også#
- Familieside: Jamming, spoofing og spektret
- Alle typer: KINDS.md