tracking-loop (тип сценарію)
Вид сценарію рушія v0.40.0, родина Глушіння, спуфінг і спектр. Лише консультативно: результат аналізу від дослідницького та інженерного інструмента; це не навігаційне обладнання із затвердженням типу і не послуга забезпечення безпеки життя. Кожна позначка тут — від рушія або матриці верифікації; вид має рівень MODELLED, якщо матриця не каже іншого (як здобувається позначка: розділ «Докази» в README).
Що він робить#
Втрата захоплення петлею стеження: C/N0 -> захоплення/зрив З ГІСТЕРЕЗИСОМ, час втрати захоплення та втягування спуфером як функція ШВИДКОСТІ зміщення коду й несівної. Наявні критерії відмови та захоплення рушія — це співвідношення за прийнятою потужністю (глушник відмовляє при J/S = 30 dB, спуфер захоплює при 3 dB); реальна втрата захоплення не є співвідношенням потужностей, це точка, де джитер петлі плюс динамічне навантаження виходять за бюджет її порога стеження. Подає (1) 1-сигма тепловий джитер несівної (Костас) і коду (некогерентний ранній/пізній) залежно від C/N0, із втратою на піднесення до квадрата, щодо заявлених правил 3sigma_PLL + theta_e <= 45 deg (правило 15 градусів у формі трьох сигм) і 3sigma_DLL + запізнення на лінійному наростанні <= d/2 чіпа; (2) пороги C/N0 зриву та повторного захоплення з названою визначальною петлею, поріг повторного захоплення ВИВЕДЕНИЙ із ширшої смуги, у якій приймач повторно втягується, а не заданий, тож ширина гістерезису має лежати між 5log10(ratio) і 10log10(ratio) dB; (3) заявлений час втрати захоплення детектором захоплення з двома порогами та витримками підтвердження, прогнаний на лінійному наростанні C/N0, поданий окремо від фізичного часу фазового зриву (середній час за Вітербі між проковзуваннями циклу, в log10 s, бо він охоплює сотні порядків); (4) межі втягування спуфером — найбільша швидкість зсуву коду й доплерівська швидкість несівної, за якими можуть стежити петлі жертви, з картою за обома осями, бо спуфер, що зсувається швидше, не захоплює петлю, а випереджає її; і (5) РАДІУС ВІДМОВИ, що випливає з динаміки петлі, поданий ПОРУЧ із наявним радіусом за співвідношенням потужностей, ніколи не замість нього, з їхньою знаковою різницею як окремим іменованим полем (denial_radius_delta_km) і визначенням поруч. Кожне виведене числове поле має одиницю та клас походження. VALIDATED замкнені форми: вирази для джитера несівної та коду, зведення фільтра петлі sqrt(2B_nT) і запізнення першого порядку на лінійному наростанні перехресно перевірено за власним корелятором sdr рушія, прогнаним на синтетичній ПЧ із фіксованим зерном — іншим шляхом до тих самих чисел — до 0,6 %, 3,7 % і 0,17 % відповідно, а модифіковану функцію Бесселя I0, що стоїть за часом проковзування циклу, — за стандартними табличними значеннями до 1e-7. Нижню межу чинності стверджено, а не лише заявлено: нижче ~32 dB-Hz при 1 ms реальний дискримінатор atan насичується в межах свого діапазону +-pi/2 і вимірює менший джитер, ніж будь-яка лінійна теорія. MODELLED: смуги петель, час інтегрування, інтервал між корелятором, відношення смуги втягування, витримки підтвердження, потужність глушника й коефіцієнти підсилення антен — це репрезентативні значення діапазону, а не паспорт. НЕ змодельовано: джитер генератора (девіація Аллана) і вібрації, обмеження смуги входу, багатопроменевість, динаміку AGC, втрату від переходів бітів даних, зовнішню допомогу та будь-яку піваткову поправку до формули проковзування циклу Костаса. За динаміки петлі в спуфера захоплення взагалі немає радіуса — визначальне обмеження — швидкість зміщення, а не потужність, — тож це поле є null із причиною, а не вигаданим числом. Не є сертифікованим продуктом для оцінки характеристик приймача.
Один прогін scenarios/tracking-loop.toml підсумовується так: tracking-loop: B_pll 10,0 Hz / B_dll 1,0 Hz, T 1 ms, d 0,50 чіпа -> зрив 25,4744 dB-Hz (визначальна несівна), повторне захоплення 27,4413 dB-Hz, гістерезис 1,9669 dB | втрату захоплення оголошено через 39,101 s після початку наростання | радіус відмови за порогом (J/S 30 dB) 127,413 km проти динаміки петлі 53,1694 km, різниця -74.2438 km | межа втягування спуфером <= 0,966 чіпа/с коду та 41,45 Hz/s несівної (петля MODELLED, замкнені форми VALIDATED)
Входи#
Зі схеми (kshana kinds --json):
- Обов'язкові поля: немає
- Необов'язкові поля:
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
Приклад scenarios/tracking-loop.toml задає, серед іншого:
| Поле | Значення | Одиниця |
|---|---|---|
capture_js_threshold_db |
3 | dB |
carrier_allowance_deg |
45 | deg |
chip_rate_hz |
1023000 | Гц |
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 | Гц |
doppler_rate_hz_per_s |
0 | Hz/s |
drop_confirm_epochs |
50 | кількість |
freq_hz |
1575420000 | Гц |
Запуск#
kshana scenarios/tracking-loop.toml
Що це дає#
Скалярні результати цього прогону з одиницями, які вказує рушій:
| Результат | Значення | Одиниця |
|---|---|---|
denial.capture_js_threshold_db |
3 | dB |
denial.capture_radius_loop_dynamics_km |
немає значення | km |
denial.capture_radius_threshold_km |
2852.426643 | km |
denial.capture_radius_threshold_status |
з обох боків | text |
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 |
Мітка результату (рушія): MIXED — замкнені форми петлі VALIDATED, конфігурація петлі MODELLED. Вирази для теплового джитера несівної та коду, зведення фільтра петлі sqrt(2B_nT) і запізнення першого порядку на лінійному наростанні перехресно перевірено за власним корелятором sdr рушія, прогнаним на синтетичній ПЧ із фіксованим зерном (інший шлях
Докази#
MODELLED: рядки матриці верифікації, що називають цей різновид.
- MODELLED Звіт
lunar-jammingбільше не спирається для контуру відмови на єдину скалярну величину. - MODELLED Втрата захоплення, обчислена з динаміки петлі замість співвідношення потужностей: 1σ тепловий джитер несівної (Костас) і коду (некогерентний ранній/пізній) залежно від C/N₀ із втратою на піднесення до квадрата, щодо заявлених правил 3σ_PLL + θ_e ≤ 45° і 3σ_DLL + запізнення на лінійному наростанні
Рядки, які задіяв сам прогін, з оракулом, що його дає матриця кожному (публічні джерела названі там):
- MODELLED Детерміновані, хешовані за сценарієм, SBOM + міжплатформні еталонні шлюзи. Оракул (ExternalDataset): відповідність SBOM офіційній схемі JSON CycloneDX 1,5 (+ дійсні ідентифікатори SPDX) — зовнішній опублікований стандарт, нуль помилок валідації на всьому графі залежностей; частина щодо детермінованості FoM / побайтової відтворюваності залишається закріпленою перевіркою самоузгодженості, тому рядок залишається MODELLED
- PARTNER Не надається — Kshana моделює характеристики сигналу, а не корисне навантаження чи антенне обладнання. Оракул (NoneKind): немає: дисципліна, якою володіє партнер, за задумом без модуля і без тесту
- MODELLED Втрата захоплення, обчислена з динаміки петлі замість співвідношення потужностей: 1σ тепловий джитер несівної (Костас) і коду (некогерентний ранній/пізній) залежно від C/N₀ із . Оракул (ReferenceImpl): власний корелятор sdr рушія (sdr::correlate / synth_if / CaCode), прогнаний на синтетичній ПЧ із фіксованим зерном при відкаліброваному C/N₀ — окремий шлях коду, що приходить до тих самих чисел чисельною кореляцією дискретизованих IQ, а не алгебраїчним виразом джитера, тож це інший шлях, а не повторення, — плюс стандартні табличні значення модифікованої функції Бесселя I₀ для члена проковзування циклу. Теорія петель за Kaplan & Hegar
Обмеження#
Що, за власним звітом прогону, не обчислено за моделлю або не перевірено за зовнішнім еталоном:
- MIXED — замкнені форми петлі VALIDATED, конфігурація петлі MODELLED. Вирази для теплового джитера несівної та коду, зведення фільтра петлі sqrt(2B_nT) і запізнення першого порядку на лінійному наростанні перехресно перевірено за власним корелятором sdr рушія, прогнаним на синтетичній ПЧ із фіксованим зерном (інший шлях до тих самих чисел), а модифіковану функцію Бесселя I0 — за стандартними табличними значеннями. MODELLED: смуги петель, інтегр (результат
label) - MODELLED: смуги петель, час інтегрування, інтервал між корелятором, відношення смуги втягування, витримки підтвердження, потужність глушника й коефіцієнти підсилення антен — це репрезентативні значення діапазону, а не паспорт. (каталог типів (
kshana kinds --json)) - НЕ змодельовано: джитер генератора (девіація Аллана) і вібрації, обмеження смуги входу, багатопроменевість, динаміку AGC, втрату від переходів бітів даних, зовнішню допомогу та будь-яку піваткову поправку до формули проковзування циклу Костаса. (каталог типів (
kshana kinds --json)) - Кожен параметр петлі нижче — це репрезентативне значення діапазону MODELLED, а не паспорт. (коментар у файлі сценарію, рядок 22)
- --- геометрія петлі ----------------------------------------------------------------- Петля несівної Костаса 10 Hz і петля коду з допомогою несівної 1 Hz, когерентне інтегрування 1 ms (один період коду C/A, тож синхронізацію бітів даних не припускають), вузький корелятор 0,5 чіпа. (коментар у файлі сценарію, рядки 25–28)
- Відтворюваність і гарантування якості програмного забезпечення — MODELLED, а не перевірено за зовнішнім еталоном: підтвердження частини вимоги перевірено зовні, але вся можливість складається з обчислених за моделлю частин, тому можливість залишається обчисленою за моделлю. (матриця верифікації (docs/MODELLED-RATIONALE.md))
- Втрата захоплення петлею стеження та втягування спуфером за завад має рівень MODELLED, а не незалежно підтверджена: її звірено з окремою реалізацією в цій самій кодовій базі — незалежною від об'єкта перевірки, але не зовнішньо авторитетною. (матриця верифікації (docs/MODELLED-RATIONALE.md))
Див. також#
- Сторінка родини: Глушіння, спуфінг і спектр
- Усі різновиди: KINDS.md