При приеме сверхдлинноволновых сигналов часто возникает проблема в распознавании наличия слабого сигнала, которого почти не видно на спектрограмме-"водопаде", которая строится популярной у любителей сверхдлинных волн программой Spectrum Lab.
Я решил использовать тот факт, что спектр помех случаен, что позволит, накапливая результаты наблюдений, распознать наличие слабого полезного сигнала. При этом я предполагаю, что анализируемый радиосигнал подается на вход звуковой карты компьютера с выхода предварительного усилителя.
Скрипт-анализатор спектра
Код скрипта vlf.m для математического пакета MATLAB я разместил в репозитарии на GitHub:
https://github.com/Dreamy16101976/VLF_MATLAB
Частота оцифровки (в герцах) задается жестко заданным в скрипте параметром Fs (желательно, чтобы звуковая карта позволяла использовать частоту не ниже 96 кГц).
При запуске скрипта запрашиваются:
- нижняя частота среза ФВЧ (по умолчанию 6000 Гц)
![сверхдлинные волны](https://acdc.foxylab.com/sites/default/files/vlf_matlab_f.png)
- интервал для анализа спектра dt (по умолчанию 20 мс)
![VLF/ELF](https://acdc.foxylab.com/sites/default/files/vlf_matlab_dt.png)
- число анализируемых интервалов N (по умолчанию 5000)
![very low frequency](https://acdc.foxylab.com/sites/default/files/vlf_matlab_n.png)
- нижняя частота интервала для построения спектрограммы
- верхняя частота интервала для построения спектрограммы
Скрипт непрерывно производит анализ спектра и записывает результаты в текстовые и png-файлы (с именем вида YYYYMMDDHHMMSS.xxx) с картинками спектра.
Для прерывания работы скрипта необходимо нажать сочетание клавиш CTRL-C в командном окне MATLAB или окне консоли, в котором выполняется скомпилированное приложение.
Компиляция скрипта
Скрипт можно компилировать в исполняемый exe-файл посредством команды:
mcc -mv -o vlf vlf.m
Для распространения полученного приложения необходимы:
- исполнимый файл vlf.exe
- архив vlf.ctf
- инсталлятор MCRInstaller.exe (MATLAB Component Runtime 7.7 installer for Windows)
Результаты работы скрипта
Вот такие результаты я получил при запуске скрипта с параметрами dt=500 и N=1800:
(антенна ориентирована в направлении "северо-восток - юго-запад")
![VLF сверхдлинные волны](/sites/default/files/vlf_matlab_171208_sw.png)
А вот соответствующая спектрограмма-"водопад":
![VLF сверхдлинные волны](/sites/default/files/vlf_matlab_sp_171208_sw.png)
1 - 18,3 кГц
2 - 18,9 кГц
3 - 19,6 кГц
4 - помеха
5 - 20,3 кГц
6 - 20,9 кГц
7 - 22,1 кГц
8 - 23,4 кГц
9 - 24,0 кГц
Скрипт для мониторинга
Для облегчения мониторинга сигнала выбранной СДВ-радиостанции я разработал скрипт vlf_mon.m (на основе скрипта vlf.m) для MATLAB и разместил его в репозитарии на GitHub:
https://github.com/Dreamy16101976/vlfmon
Скрипт запрашивает размер интервала (dt) для анализа спектра, число интервалов (N) и наблюдаемую частоту (f):
![мониторинг сверхдлинных волн](/sites/default/files/vlf_mon_f.png)
Он непрерывно выполняет измерения:
![VLF мониторинг](/sites/default/files/vlf_mon.png)
Результаты записываются в текстовый файл:
f = 22100 Hz
dt = 500 msec
N = 1800
Level: 80u
Time: 16.12.2017 21:25
Level: 86u
Time: 16.12.2017 21:43
Level: 93u
Time: 16.12.2017 22:01
..........................
Компиляция скрипта
Скрипт можно компилировать в исполняемый exe-файл посредством команды:
mcc -mv -o vlf_mon vlf_mon.m
Для распространения полученного приложения необходимы:
- исполнимый файл vlf_mon.exe
- архив vlf_mon.ctf
- инсталлятор MCRInstaller.exe (MATLAB Component Runtime 7.7 installer for Windows)
Исследование прохождения сверхдлинных радиоволн
Для изучения условий распространения сверхдлинных радиоволн я выбрал сигнал частотой 22,1 кГц. Он излучается британской станцией (позывной GQD), расположенной в Skelton (N 54° 43' 54.48" W 002° 52' 58.92") на большом расстоянии от Гомеля (места приема сигнала).
Сначала я использовал мой скрипт-анализатор спектра и вручную измерял соответствующие уровни сигнала на спектрограммах.
Я провел 9 декабря 2017 года замеры уровня сигнала станции GQD с интервалом 1-2 часа, начиная примерно с 16 часов местного времени
(закат в день измерения наступил примерно через час после начала наблюдений):
t, ч |
0 |
1 |
2 |
3 |
4 |
5 |
7 |
9 |
уровень, x10-4 |
0,34 |
0,31 |
0,31 |
0,56 |
0,72 |
0,81 |
0,95 |
1,04 |
Графически изменение уровня сигнала при наступлении темного времени суток имеет вид:
![VLF 22100 прохождение радиоволн](/sites/default/files/vlf_171209_21100_graph.png)
Как видно, уровень сигнала в светлое время суток намного слабее, чем ночью.
Вот так можно показать это изменение наглядно:
![VLF 22100 прохождение радиоволн](/sites/default/files/vlf_171209_22100_matlab.png)
![VLF 22100 прохождение радиоволн](/sites/default/files/vlf_171209_22100.png)
(слева - бледная полоска сигнала станции на спектрограмме, справа - сильный сигнал в темное время суток)
Это различие объясняется различными условиями прохождения радиоволн в разное время суток. Подробно я описал причину этого здесь.
Вот соответствующие примеры двух спектрограмм (слева - в дневное время, справа - в ночное время):
![VLF спектрограмма](/sites/default/files/vlf_daynight_sp.png)
13 декабря я сделал серию измерений утром, начиная с 8:15 (восход Солнца наступил в 9:00).
T, чч:мм |
08:33 |
08:51 |
09:09 |
09:26 |
09:44 |
10:02 |
11:14 |
11:32 |
уровень, x10-4 |
0,74 |
0,76 |
0,61 |
0,37 |
0,25 |
0,25 |
0,26 |
0,30 |
![прохождение сверхдлинных радиоволн](/sites/default/files/vlf_171213_22100.png)
18 декабря я сделал измерения от предрассветного времени до заката с интервалом в один час:
T, чч:мм |
07:17 |
08:17 |
09:18 |
10:17 |
11:18 |
12:17 |
13:19 |
14:17 |
15:25 |
16:19 |
17:19 |
уровень, x10-4 |
0,78 |
0,74 |
0,53 |
0,27 |
0,26 |
0,32 |
0,30 |
0,29 |
0,30 |
0,30 |
0,30 |
![VLF мониторинг](/sites/default/files/vlf_22100_171218.png)
Эти измерения совпали с предыдущими - в дневное время уровень сигнала незначительно отличается от 0,30x10-4.
Продолжение следует