15.10.2026 Технический разбор RU

Практикум ionozond: дисперсия, ячейки ионограммы и сутки на трассе — в моделях, которые можно двигать

Интерактивные модели к документу о наклонных ЛЧМ-ионограммах: дисперсия групповой задержки и предельная полоса, способы её измерить, ошибка момента старта, длина БПФ и форма ячейки, расписание станций, суточный ход и вертикальное зондирование. Статический сайт на двух языках без библиотек, полный текст документа в виде вики и проверки моделей на Python, которые нашли ошибки в самом документе.

Никита Конкин

Проект Репозиторий Открыть практикум
Языковые версии: RU EN

У консоли ionozond есть документ «Oblique Chirp Ionograms» — о том, как образуется ЛЧМ-ионограмма, что значат её следы и где картинка может обмануть. Документ подробный, но статичный: формула показывает зависимость, а не то, как она ведёт себя при другой частоте или другой полосе. Практикум — это семь моделей к его частям, в которых параметры двигаются ползунками, а графики пересчитываются сразу.

Практикум — статический сайт на русском и английском. Ни сборки, ни сервера, ни внешних библиотек: обычные скрипты, графики нарисованы вручную в SVG. Его можно открыть двойным щелчком по index.html или онлайн — сайт публикуется из ветки main через GitHub Actions, а в подвале указан опубликованный коммит и его дата.

Дисперсия на ионограмме

Главная модель посвящена дисперсии групповой задержки (GDD) — наклону следа на ионограмме, dτ/df. От него зависит, какую полосу трасса пропускает без искажений: в пределах полосы сигнала задержка меняется, и импульс на выходе расплывается.

График задержки 8,9–9,6 мс от частоты 7,5–32,5 МГц: след моды 2F около 9,4–9,5 мс до 18 МГц, нижний луч моды 1F от 8,95 мс, поднимающийся к МНЧ 26 МГц, где он смыкается с верхним лучом; вертикальная полоса сигнала на 22 МГц с точкой и касательной
Модельная ионограмма трассы Кипр — Йошкар-Ола: сигнал 250 кГц на 22 МГц при максимальной наблюдаемой частоте (МНЧ) 26 МГц. Штриховая линия — касательная к следу, её наклон и есть GDD.

Модель опирается на измерения с этой трассы. Закон GDD = 7,5·(1/√(1 − f/МНЧ) − 1) мкс/МГц — медиана 19 033 оценок наклона по 583 сеансам 4–9 февраля 2026 года. Коэффициент b подогнан к медианам 19 интервалов f/МНЧ от 0,5 до 0,975 с весами по числу оценок: b = 7,52 при R² = 0,975; без весов или с началом подгонки на 0,6–0,8 МНЧ получается 7,4–7,6. Страница прямо говорит, что это параметр модели одной трассы, а не универсальная постоянная, и что межквартильный разброс — около ±50 %.

График предельной полосы в логарифмическом масштабе от 2 кГц до 2 МГц в зависимости от f/МНЧ от 0,5 до 1: кривая закона спадает от 600 до 100 кГц, кружки — медианы измерений с разбросом, точка сигнала 250 кГц на 0,85 МНЧ лежит в области «корректор не нужен»; штриховые линии 48 кГц и 3 кГц
Предельная полоса вдоль всего следа: закон и медианы измерений с квартилями.
Огибающая импульса от −11 до +11 мкс: кривая после трассы почти совпадает со штриховой кривой без дисперсии; в легенде «пик 0,0 дБ, ширина ×1,02»
Импульс после трассы: при такой полосе он почти не меняется.

Из GDD следует оценка предельной полосы B_max ≈ 1/√GDD. Практикум трактует её как осторожную границу, а не обрыв: проверка на Python показывает, что при GDD·B² = 1 импульс теряет лишь 0,06 дБ, а заметно портится только около 5 — теряет 1,5 дБ и расширяется в 1,6 раза. Для широкополосной КВ-связи с полосой 48 кГц корректор на этой трассе не нужен почти до самой МНЧ.

На той же странице можно включить компенсатор в приёмнике — всепропускающий фильтр с групповой задержкой −GDD_оц·(f − f_ц), где оценка GDD берётся с ошибкой, заданной ползунком. При МНЧ 26 МГц и сигнале на 0,85 МНЧ предельная полоса растёт с 293 кГц до 1,45 МГц при точной оценке, до 710 кГц при ошибке +2 мкс/МГц, какая остаётся после усреднения нескольких сеансов, и до 448 кГц при ошибке +5, как у одного сеанса. Под карточками раскрывается расчёт по шагам с текущими числами страницы, и там, где строка вычитает два напечатанных значения, результат — их разность, так что арифметику можно проверить. Последнее изменение: центр сигнала можно закрепить на 0,85 МНЧ, и тогда при движении МНЧ он следует за ней.

Как измерять, синхронизация и расписание

Три страницы разбирают, откуда берутся числа на ионограмме.

  • Как измерять GDD. Наклон задержки или кривизна фазы в окне 1 МГц — на 300 реализациях. На этой трассе фазовый метод проигрывает: при замираниях с частотой 0,37 Гц фаза блуждает за те 10 секунд, что проходит окно в 1 МГц, и парабола принимает это блуждание за дисперсию. По одному сеансу ошибка метода по задержке — около ±4 мкс/МГц, по фазе — ±6–7. Модель сверена с полной обработкой синтетических записей во всех четырёх вариантах с расхождением не больше 15 %.
  • Ошибка chirptime. Куда уходит эхо при ошибке момента старта или скорости перестройки: 1 мс сдвига — это 300 км группового пути, 0,2 с — край интервала однозначности, а ошибка на чётное число секунд попадает в нуль дециматора.
  • Расписание станций. Планировщик ionozond шаг за шагом: ближайший старт не раньше чем через 3 секунды, пропуски станций, когда приёмник занят, и пересчёт rep:offset в chirptime.

Длина БПФ и ячейка

Ячейка ионограммы — k·N/f_ПЧ по частоте на f_ПЧ/(k·N) по задержке, где k — скорость перестройки, N — длина БПФ. Их произведение всегда равно единице, поэтому длина БПФ выбирает не точность, а баланс между частотой и задержкой. Новый раздел раскрывает один столбец у «носа» следа 1F — там, где нижний и верхний лучи сходятся.

Спектр столбца на 28,902 МГц по задержке 9,05–9,40 мс и разностной частоте −4540…−4700 Гц: три пика — X-мода около 9,08 мс, нижний луч около 9,10 мс и верхний луч около 9,30 мс; шаг по задержке 4,88 мкс; под графиком формулы Δf_b = 2,44 Гц, Δτ = 4,88 мкс, Δf = 205 кГц и Δf·Δτ = 1
Спектр одного столбца у «носа» следа: отсчёты БПФ, непрерывный спектр с окном Ханна и задержки лучей. Внизу — расчёт ячейки.

Проверка check_cells.py повторяет раздел полной обработкой: синтетическая запись, БПФ и функция удаления мелких объектов из самой консоли. Результат тот же, что на странице: при 500 кГц/с БПФ на 16 384 точки стирает след, а на 4096 — сохраняет.

Сутки и вертикальное зондирование

Карта B_max по частоте 7,5–32,5 МГц и времени 00:00–24:00 UTC: днём область под МНЧ поднимается до 30–32 МГц, ночью опускается к 12 МГц; цвет показывает полосу от больше 500 до меньше 100 кГц, у самой МНЧ полоса узкая; линии МНЧ и 0,85 МНЧ, выбранная частота 18 МГц и момент 12:00
Модельные сутки на трассе в тёмной теме: предельная полоса по частоте и времени. Штриховка — выше МНЧ, где моды 1F нет.

Страница «Сутки» показывает суточный ход МНЧ и карту предельной полосы по частоте и времени — для наклонной трассы и для вертикального зондирования. Модельные сутки — это схема, и страница об этом говорит; вместо них можно загрузить настоящие сутки из архива — JSON готовит скрипт tools/export_daily.py.

Ионограмма вертикального зондирования: действующая высота от 90 до 800 км по частоте 1–14 МГц; след слоя E до критической частоты 2,8 МГц, затем след слоя F2 с минимумом около 250 км, уходящий вверх у критической частоты 9,5 МГц; штриховая линия — истинная высота; полоса сигнала 50 кГц на 8 МГц
Вертикальное зондирование: ионограмма h′(f) по модельному профилю слоёв E и F2. Ближе к критическим частотам действующая высота растёт, а с ней и GDD.

Вертикальный ионозонд в модели повторяет станцию из расписания ionozond: 50 кГц/с, 1–14 МГц. Та же ионосфера пересчитывается на наклонную трассу по закону секанса, и получившийся GDD сравнивается с законом из измерений. Проверка на Python сходится с аналитической формулой для одного слоя с точностью 0,02 км, а дневной слой F2 со слабым слоем E воспроизводит медианы от 0,6 до 0,96 МНЧ с точностью 2–3 мкс/МГц.

Вики и глоссарий

Полный текст документа доступен в практикуме как вики — на английском и в русском переводе. Скрипт сборки делит документ на текстовые блоки по их позициям в исходнике, поэтому разметка и рисунки переносятся без изменений, а русская версия подставляет перевод каждого блока. Сейчас блоков 623, непереведённых нет. Под каждой частью стоят ссылки на модели, которые её иллюстрируют.

Глоссарий описывает 16 терминов: GDD, МНЧ и ННЧ, ДЧХ, моды 1F/2F/3F, O и X, foF2, ЛЧМ, БПФ, ПЧ, гетеродин, ОСШ, chirptime, rep:offset, GPSDO и NTP. В тексте всех страниц первое упоминание термина подчёркнуто пунктиром; наведение или нажатие открывает короткое пояснение со ссылками на часть документа и на глоссарий.

У вики оказалась неожиданная роль — проверять сам документ. Работа над моделями нашла места, которым противоречат собственные таблицы и формулы документа. Сначала практикум исправлял их при сборке, не трогая исходник: расстояние между модами, выбор длины БПФ, ошибку GDD по одному сеансу. Затем исправления перенесли в сам документ. Сборка остановилась на них — исправляемого текста больше не было, — и поправки из практикума удалили.

Проверка моделей

Каждая модель проверена независимо, скриптами на Python из tools/validate/. Проверки показывают и границы применимости. От 0,61 до 0,96 МНЧ закон GDD лежит внутри межквартильного разброса измерений, но при 0,99 МНЧ он вдвое круче медианы, поэтому вблизи МНЧ страницы берут измеренную медиану 36,5 мкс/МГц. Закон измерен при МНЧ 18–32 МГц; ночью страницы продолжают его пропорционально 1/МНЧ и предупреждают об этом. Модельные сутки, форма следов и порог в разделе о ячейках — схемы, а не измерения, и это оговорено на каждой странице.

Тема оформления переключается тремя кнопками: как в системе, светлая и тёмная. Все цвета графиков заданы переменными CSS, поэтому переключение не требует перерисовки, а цвет компенсатора подобран так, чтобы отличаться от основного и при нарушенном цветовосприятии.

Выводы

  1. Модель к документу полезна тогда, когда её числа взяты с той же трассы и проверены независимо: закон GDD подогнан к 19 033 оценкам, а модели сверены с полной обработкой.
  2. Каждая модель должна называть свои границы: вблизи МНЧ закон вдвое расходится с медианой, ночью он экстраполирован, а модельные сутки — схема.
  3. Интерактивная версия документа проверяет сам документ: работа над моделями нашла противоречия в тексте, и исправления ушли в исходник.
  4. Статический сайт без сборки и библиотек открывается с диска и не устаревает вместе с зависимостями.

Доступность

Исходный код и проверки моделей открыты, сайт работает онлайн и с диска.

Теги

ионосфера ЛЧМ-зондирование javascript svg визуализация обучение

Другие обновления по проекту