Modeling artificial whistlers in PyСharm
- Authors: Marchenko L.S.1,2, Parovik R.I.2
-
Affiliations:
- Scientific Research Geotechnological Centre Far Eastern Branch of the Russian Academy of Sciences
- Institute of Cosmophysical Research and Radio Wave Propagation Far Eastern Branch of the Russian Academy of Sciences
- Issue: Vol 26, No 5 (2024)
- Pages: 53-63
- Section: Computer modeling and design automation
- 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
Cite item
Full Text
Abstract
The work proposed an algorithm for modeling an artificial whistler signal in Python in the PyCharm environment. The algorithm is based on physical and mathematical models of whistler propagation. The proposed algorithm can be used to model signal characteristics, duration, maximum and minimum frequency, and sampling frequency. The algorithm implements the ability to construct the amplitude characteristic of the signal, as well as construct its spectrogram. The model of the artificial whistler signal can be used to solve the problem of whistler recognition in real time.
Full Text
Введение
Вистлеры (свисты) – это плазменные волны очень низкой частоты, возникающие в атмосфере Земли при грозовых разрядах. Они являются частью более широкого класса явлений, называемых атмосфериками, которые представляют собой низкочастотные электромагнитные волны, распространяющиеся в естественном волноводе, образованном ионосферой Земли и ее поверхностью. Свое название «свистящие атмосферики» вистлеры получили из-за характерного звука, который они производят при преобразовании в звуковые волны. Их частота обычно находится в диапазоне очень низких частот (ОНЧ) [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), которое, включает, например, зависимость коэффициента дисперсии от электронной концентрации в ионосфере.
About the authors
Lyudmila S. Marchenko
Scientific Research Geotechnological CentreFar Eastern Branch of the Russian Academy of Sciences; Institute of Cosmophysical Research and Radio Wave Propagation Far Eastern Branch of the Russian Academy of Sciences
Email: marchenko@ikir.ru
ORCID iD: 0000-0003-3634-2443
SPIN-code: 8988-7994
Leading Specialist of the Scientific Secretariat; Postgraduate Student
Russian Federation, 683002, Petropavlovsk-Kamchatsky, 30 Severo-Vostochnoye highway; 684034, Kamchatka, Elizovsky District, Paratunka, 7 Mirnaya streetRoman I. Parovik
Institute of Cosmophysical Research and Radio Wave Propagation Far Eastern Branch of the Russian Academy of Sciences
Author for correspondence.
Email: parovik@ikir.ru
ORCID iD: 0000-0002-1576-1860
SPIN-code: 4295-6894
Doctor of Physical and Mathematical Sciences, Associate Professor, Professor of the Far Eastern Branch of the Russian Academy of Sciences, Leading Researcher, Laboratory of Modeling of Physical Processes
Russian Federation, 684034, Kamchatka, Elizovsky District, Paratunka, 7 Mirnaya streetReferences
- 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.
- Gershman B.N., Korobkov Yu.S. On the theory of propagation of whistling atmospherics. Izvestiya Vuzov. Radiofizika. 1958. Vol. 1. No. 2. Pp. 51–58. (In Russian)
- Gershman B.N., Ugarov V.A. Propagation and generation of low-frequency electromagnetic waves in the upper atmosphere. Uspekhi Fizicheskikh Nauk. 1960. Vol. 72. No. 2. Pp. 235–271. (In Russian)
- 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
- Cherneva N.V., Vodinchar G.M., Sivokon V.P. et al. Correlation analysis of fluxes of whistling atmospherics and lightning discharges. Vestnik KRAUNC. Fiziko-Matematiсeskie Nauki. 2013. Vol. 7. No. 2. Pp. 59–67. doi: 10.18454/2079-6641-2013-7-2-59-67. (In Russian)
- Sivokon V.P., Bogdanov V.V., Druzhin G.I. et al. Whistler modulation. Geomagnetizm i Aeronomiya. 2014. Vol. 54. No. 6. Pp. 851–851. doi: 10.7868/S0016794014060182. (In Russian)
- Malysh E.A. Algorithm for automatic recognition of whistling atmospherics in real time. Vestnik KRAUNC. Fiziko-Matematiсeskie Nauki. 2015. No. 2(11). Pp. 82–87. DOI: 10.18454/ 2079-6641-2015-11-2-82-87. (In Russian)
- Kichigin G.N. Structure of nonlinear whistlers moving through plasma at an angle to the magnetic field. Solar-Terrestrial Physics. 2018. Vol. 4. No. 1. Pp. 28–32. DOI: 10.12737/ szf-41201803. (In Russian)
- Malkin E.I., Kazakov E.A., Sannikov D.V. et al. Statistical relationship between whistlers and sprites according to AWDANET and WWLLN. Vestnik KRAUNC. Fiziko-Matematiсeskie Nauki. 2022. Vol. 41. No. 4. Pp. 178–190. (In Russian)
- Aksenov A.P. Differential equations in 2 parts. I part. Moscow: Yurait, 2021. 241 p. (In Russian)
- 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.
Supplementary files
