Машинний переклад, не перевірений носієм мови. Еталоном є англійська версія.

Сторінки видів сценаріївРедагувати на GitHubДжерело: docs/kinds/by-kind/tracking-loop.md

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 рушія, прогнаним на синтетичній ПЧ із фіксованим зерном (інший шлях

Діаграма, яку рушій записує для scenarios/tracking-loop.toml, тип tracking-loop

Докази#

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))

Див. також#