Моделирование искусственных вистлеров в среде PyСharm
- Авторы: Марченко Л.С.1,2, Паровик Р.И.2
-
Учреждения:
- Научно-исследовательский геотехнологический центр Дальневосточного отделения Российской академии наук
- Институт космофизических исследований и распространения радиоволн Дальневосточного отделения Российской академии наук
- Выпуск: Том 26, № 5 (2024)
- Страницы: 53-63
- Раздел: Компьютерное моделирование и автоматизация проектирования
- URL: https://ogarev-online.ru/1991-6639/article/view/274263
- DOI: https://doi.org/10.35330/1991-6639-2024-26-5-53-63
- EDN: https://elibrary.ru/GCNACT
- ID: 274263
Цитировать
Полный текст
Аннотация
В работе был предложен алгоритм компьютерного моделирования искусственного сигнала свистящего атмосферика (вистлера) на языке Python в среде PyCharm 2024.1. Алгоритм опирается на физическую и математическую модели распространения вистлера. С помощью предложенного алгоритма можно моделировать частоту вистлера в зависимости от длительности сигнала, коэффициента дисперсии и частоты дискретизации. В алгоритме реализована возможность построения амплитудной характеристики сигнала, а также его спектрограммы. Модель искусственного сигнала вистлера может быть использована при разработке методики распознавания вистлера в режиме реального времени.
Ключевые слова
Полный текст
Введение
Вистлеры (свисты) – это плазменные волны очень низкой частоты, возникающие в атмосфере Земли при грозовых разрядах. Они являются частью более широкого класса явлений, называемых атмосфериками, которые представляют собой низкочастотные электромагнитные волны, распространяющиеся в естественном волноводе, образованном ионосферой Земли и ее поверхностью. Свое название «свистящие атмосферики» вистлеры получили из-за характерного звука, который они производят при преобразовании в звуковые волны. Их частота обычно находится в диапазоне очень низких частот (ОНЧ) [1–13].
Вистлеры играют важную роль в изучении состояния плазмосферы Земли. Они служат естественными индикаторами состояния ионосферы и магнитосферы, позволяя ученым получать информацию о плотности электронов и других параметрах верхних слоев атмосферы, являются индикаторами для прогнозирования космической погоды. Вистлеры обладают рядом уникальных характеристик, включая круговую поляризацию и способность распространяться вдоль силовых линий магнитного поля Земли.
Впервые вистлеры были обнаружены еще в конце XIX века на телеграфных линиях связи, когда для быстрой передачи сообщений между операторами различных телеграфных станций на одной станции включали микрофон, а на другой – телефон, где вместе с голосом оператора и шумом угольного микрофона в наушниках были слышны необычные короткие свисты. Следующий этап в приеме «свистящих атмосфериков» наступил, когда в мире стали широко использовать радиосвязь. Отсутствие в эфире фона переменного тока способствовало приему слабых сигналов «свистящих атмосфериков». Теория вистлеров была сформирована в 50-х годах 20 века, основные положения которой отражены в классических работах [1–3]. Эта теория далее получила широкое развитие в работах различных ученых, как зарубежных [4–8], так и российских.
Большой интерес среди ученых ИКИР ДВО РАН представляют задача выявления связи вистлеров с грозовыми разрядами [9], в том числе со спрайтами [13], амплитудная модуляция вистлера [10], задача распознавания вистлеров в реальном времени [11], которая до конца так и не была решена.
В настоящей работе предлагается компьютерный алгоритм для моделирования искусственного вистлера, который был реализован на языке Python в среде PyCharm 2024.1. С помощью предложенного алгоритма и средств среды PyCharm 2024.1 проводится визуализация результатов моделирования: строятся амплитудно-частотные характеристики сигнала.
Физическая модель
Экспериментально регистрируемые вистлеры разделяют на короткие и длинные. Короткие свисты генерируются в магнитно-сопряженной точке на другом конце земного шара, длинные свисты генерируются в той же точке, в которой осуществляется их прием, но совершают путь до магнитно-сопряженной точки и обратно (рис. 1).
Рис. 1. Расчетные траектории вистлеров (сплошные кривые) и силовые линии геомагнитного поля (пунктирные линии) из работы [1]
Fig. 1. Calculated whistler trajectories (solid curves) and geomagnetic field lines (dashed lines) from [1]
На рис. 1 представлены расчетные траектории вистлеров, где видно, что частота вистлера со временем падает. Ключевую роль здесь играет дисперсия – более высокочастотные компоненты вистлера распространяются быстрее, чем низкочастотные. Это свойство определяет форму сигнала.
Замечание 1. Будем считать в настоящей работе, что свойство дисперсии является главной составляющей физической модели вистлера.
Построим на основе физической модели математическую модель вистлера.
Математическая модель
Рассмотрим следующую задачу:
(1)
где – частота вистлера, или Гц; – текущее время, ; – начальное время, – время существования вистлера, а – частота, которая ей соответствует.
Замечание 2. Отметим, что задача (1) представляет собой задачу Коши, для которой в силу линейности модельного уравнения существует ее единственное решение [14].
Замечание 3. Уравнение (1) является модельным и учитывает основные особенности распространения вистлера: 1) изменение частоты вистлера, т.е. производная, обратно пропорциональная времени, коэффициент пропорциональности 2; 2) высокочастотные компоненты вистлера распространяются быстрее, чем низкочастотные.
Покажем, что модельное уравнение (1) описывает закон понижения принимаемой частоты вистлера в зависимости от времени .
Действительно, модельное уравнение (1) в силу его линейности является уравнением с разделяющимися переменными [14]. Тогда с учетом начального условия (1) после интегрирования мы получаем следующее решение:
(2)
где представляет собой коэффициент дисперсии, .
Решение (2) описывает закон изменения частоты вистлера от времени, который указывает на то, что при увеличении времени происходит более быстрое понижение частоты.
Замечание 4. Впервые соотношение (2) было установлено экспериментально в работе [1] с помощью анализа большого числа спектрограмм вистлеров в диапазоне частот кГц, в котором отчетливо проявляются дисперсионные свойства ионизированного газа [3].
Замечание 5. Коэффициент дисперсии характеризует степень дисперсии вистлера и зависит от свойств среды его распространения. В общем случае может быть функцией и зависеть от характеристик среды, например, от электронной концентрации или концентрации свободных электронов в ионизированном слое F2 ионосферы. Коэффициент дисперсии также зависит от времени суток и сезона и различается для длинных вистлеров , а для коротких вистлеров [3].
Замечание 6. Коэффициент дисперсии обычно определяют по тангенсу угла наклона прямой, построенной в координатах , исходя из экспериментальных данных [3]. Для этого соотношение (2) перепишем в виде и далее возведем правую и левые части в минус первую степень, получим:
. (3)
Далее строится прямая по координатам и ищется тангенс угла наклона этой прямой (рис. 2)
Рис. 2. Схематичное описание методики согласно работе [3]
Fig. 2. Schematic description of the methodology according to the work [3]
Необходимо отметить, что согласно рис. 2 коэффициент может быть получен по формуле
.
Однако в свою очередь можно заметить: из формулы (3) следует, что . Последнее указывает на адекватность предложенной математической модели (1).
В настоящей работе мы смоделируем два случая при различных коэффициентах дисперсии, значения которых выберем согласно Замечанию 4.
Компьютерная модель
Закон (2) мы будем использовать для построения алгоритма для компьютерного моделирования искусственного вистлера. В качестве среды разработки выберем PyCharm 2024.1 с языком программирования Python [16].
PyCharm – это интегрированная среда разработки (JetBrains IDE), специально созданная для программирования на языке Python [15]. Основные возможности среды определяются следующими моментами: интеллектуальное автодополнение кода, отладка кода, рефакторинг, навигация по коду, поддержка систем контроля версий (Git, SVN и др.), встроенный терминал, интеграция с различными фреймворками (Django, Flask и др.), кросс-платформенность.
Python – это высокоуровневый язык программирования, имеет обширную стандартную библиотеку, которая предоставляет инструменты для многих общих задач программирования и визуализации.
Алгоритм моделирования искусственного вистлера представлен в виде блок-схемы на рис. 3.
Рис. 3. Блок-схема алгоритма построения искусственного сигнала вистлера
Fig. 3. Block diagram of the algorithm for constructing an artificial whistler signal
Основные этапы заключаются в подключении соответствующих математических библиотек numpy, scipy, а также библиотеки для визуализации matplotlib. Далее определяются временная ось и функция для генерации искусственного вистлера на основе соотношения (2). Чтобы данные были приближены к реальным, добавляется в генерацию вистлера случайный шум, который имеет нормальное распределение с нулевым средним и стандартным отклонением 0.1. Далее проводится визуализация искусственного сигнала во временной области, а также строится спектрограмма частот с помощью команды signal.spectrogram из библиотеки scipy.
Приведем в качестве примера код программы на языке Python.
Пример кода алгоритма на языке Python
import numpy as np
import matplotlib.pyplot as plt
from scipy import signal
# Параметры модели
Dis = 220 # Коэффициент дисперсии,
f_min = 1000 # Минимальная частота, Гц
f_max = 8000 # Максимальная частота, Гц
t_max = 3 # Максимальное время, с
fs = 50000 # Частота дискретизации, Гц
# Создание временной оси
t = np.linspace(0.001, t_max, int(fs * t_max))
# Функция для генерации свистящего атмосферика
def generate_whistler(t, Dis):
f = (Dis ** 2)/(t ** 2) # закон (2)
phase = 2 * np.pi * f * t
return np.sin(phase)
# Генерация свистящего атмосферика
whistler = generate_whistler(t, Dis)
# Добавление шума
noise = np.random.normal(0, 2, len(t))
signal_with_noise = whistler + noise
# Визуализация результатов
plt.figure(figsize=(12, 8))
# Временная область
plt.subplot(2, 1, 1)
plt.plot(t, signal_with_noise)
plt.title('Сигнал искусственного вистлера во временной области')
plt.xlabel('Время (с)')
plt.ylabel('Амплитуда')
# Частотно-временная область (спектрограмма)
plt.subplot(2, 1, 2)
f, t_spec, Sxx = signal.spectrogram(signal_with_noise, fs)
plt.pcolormesh(t_spec, f, 10 * np.log10(Sxx), shading='gouraud')
plt.title('Спектрограмма искусственного вистлера')
plt.xlabel('Время (с)')
plt.ylabel('Частота (Гц)')
plt.ylim(f_min, f_max)
plt.colorbar(label='Мощность (дБ)')
plt.tight_layout()
plt.show()
Результаты моделирования
Приведем некоторые результаты моделирования искусственного вистлера в зависимости от различных значений коэффициента дисперсии (рис. 4, 5).
Рис. 4. Визуализация искусственного вистлера при D=50 c1/2.
Fig. 4. Visualization of an artificial whistler D=50 c1/2 .
Рис. 5. Визуализация искусственного вистлера при D=100 c1/2.
Fig. 5. Visualization of an artificial whistler D=100 c1/2
На рис. 4 и 5 приведена визуализация компьютерного моделирования искусственного вистлера при различных значениях коэффициента дисперсии. Значения основных параметров были выбраны: кГц, кГц, частота дискретизации кГц, длительность сигнала c. Эти значения соответствуют реальным значениям, полученным с помощью пеленгатора ИКИР ДВО РАН.
Рис. 4 и 5 показывают, что коэффициент дисперсии влияет на форму сигнала: чем его значения больше, тем медленнее происходит затухание частоты, что согласуется с законом (2).
Заключение
В настоящей работе мы предложили алгоритм компьютерного моделирования искусственного вистлера на основе физико-математической модели, который был реализован на языке Python в среде PyCharm 2024.1. Искусственные вистлеры можно использовать в качестве сопоставления с реальными вистлерами, регистрируемыми пеленгатором, с целью решения задачи их распознавания в реальном времени.
Необходимо отметить, что в статье впервые была приведена математическая модель вистлера (1), основанная на линейном дифференциальном уравнении первого порядка с непостоянными коэффициентами. Здесь определенный интерес представляет сопоставление значений коэффициента дисперсии (2), полученных по модели (1), со значениями, полученными экспериментальным способом (3). Такая задача позволит уточнить параметры модели (1).
Другое продолжение исследований может быть связано с обобщением модели (1), которое, включает, например, зависимость коэффициента дисперсии от электронной концентрации в ионосфере.
Об авторах
Людмила Сергеевна Марченко
Научно-исследовательский геотехнологический центр Дальневосточного отделения Российской академии наук; Институт космофизических исследований и распространения радиоволн Дальневосточного отделения Российской академии наук
Email: marchenko@ikir.ru
ORCID iD: 0000-0003-3634-2443
SPIN-код: 8988-7994
ведущий специалист ученого секретариата; аспирант
Россия, 683002, г. Петропавловск-Камчатский, ул. Северо-Восточное шоссе, 30; 684034, Камчатский край, Елизовский район, с. Паратунка, ул. Мирная, 7Роман Иванович Паровик
Институт космофизических исследований и распространения радиоволн Дальневосточного отделения Российской академии наук
Автор, ответственный за переписку.
Email: parovik@ikir.ru
ORCID iD: 0000-0002-1576-1860
SPIN-код: 4295-6894
д-р физ.-мат. наук, доцент, профессор ДВО РАН, вед. науч. сотр. лаборатории моделирования физических процессов
Россия, 684034, Камчатский край, Елизовский район, с. Паратунка, ул. Мирная, 7Список литературы
- Storey L. R. O. An investigation of whistling atmospherics // Philosophical Transactions of the Royal Society of London. Series A, Mathematical and Physical Sciences. 1953. Vol. 246. No. 908. Pp. 113–141.
- Гершман Б. Н., Коробков Ю. С. К теории распространения свистящих атмосфериков // Известия вузов. Серия Радиофизика. 1958. Т. 1. № 2. С. 51–58.
- Гершман Б. Н., Угаров В. А. Распространение и генерация низкочастотных электромагнитных волн в верхней атмосфере // Успехи физических наук. 1960. Т. 72. № 2. С. 235–271.
- Lichtenberger J., Ferencz C., Bodnár L. et al. Automatic whistler detector and analyzer system: Automatic whistler detector // Geophys. Res. 2008. Vol. 113.
- Koronczay D., Lichtenberger J., Clilverd M. A. et al. The source regions of whistlers // Journal of Geophysical Research: Space-Physics, 2019. Vol. 124, Pp. 5082–5096.
- Li W., Shen X.-C., Menietti J. D. et al. Global distribution of whistler mode waves in Jovian inner magnetosphere // Geophysical Research Letters. 2020. Vol. 47. No. 15. DOI: 10.1029/ 2020GL088198
- Morris P.J., Bohdan A., Weidl M. S. et al. Pre-acceleration in the electron foreshock. II. oblique whistler waves // The Astrophysical Journal. 2023. Vol. 944. No. 1. Id. 13. 12 p. doi: 10.3847/1538-4357/acaec8
- Sonwalkar V. S., Reddy A. Specularly reflected whistler: A low-latitude channel to couple lightning energy to the magnetosphere // Science Advances. 2024. Vol. 10. No. 33. eado2657. doi: 10.1126/sciadv.ado2657
- Чернева Н. В., Водинчар Г. М., Сивоконь В. П. и др. Корреляционный анализ потоков свистящих атмосфериков и грозовых разрядов // Вестник КРАУНЦ. Физико-математические науки. 2013. Т. 7. № 2. С. 59–67. doi: 10.18454/2079-6641-2013-7-2-59-67
- Сивоконь В. П., Богданов В. В., Дружин Г. И. и др. Модуляция вистлеров // Геомагнетизм и аэрономия. 2014. Т. 54. № 6. С. 851–851. doi: 10.7868/S0016794014060182
- Малыш Е. А. Алгоритм для автоматического распознавания свистящих атмосфериков в режиме реального времени // Вестник КРАУНЦ. Физико-математические науки. 2015. № 2(11). С. 82–87. doi: 10.18454/2079-6641-2015-11-2-82-87
- Кичигин Г. Н. Структура нелинейных вистлеров, движущихся в плазме под углом к магнитному полю // Солнечно-земная физика. 2018. Т. 4. № 1. С. 28–32. DOI: 10.12737/ szf-41201803
- Малкин Е. И., Казаков Е. А., Санников Д. В и др. Статистическая связь между вистлерами и спрайтами по данным AWDANET и WWLLN // Вестник КРАУНЦ. Физико-математические науки. 2022. Т. 41. № 4. С. 178–190. doi: 10.26117/2079-6641-2022-41-4-178-190
- Аксенов А. П. Дифференциальные уравнения в 2 ч. I часть. М.: Юрайт, 2021. 241 с.
- Bruce M. Van Horn II, Nguyen Q. Hands-on application development with PyCharm: Build applications like a Pro with the ultimate Python development tool. Packt Publishing Ltd.: Birmingham. UK, 2023.
- Shaw Z. A. Learn Python the hard way. Addison-Wesley Professional, 2024. 352 p.
Дополнительные файлы
