Categories: Python

radiation-pattern-measurement/

Ранее в статье Используем спутники для проведения QSO на УКВ упоминалась покупная антенна волновой канал с тремя элементами на 145 МГц и пятью элементами на 435 МГц. Из инструкции к антенне мы можем почерпнуть информацию об ее усилении и диаграмме направленности. Но можно ли проверить, что антенна действительно обладает заявленными свойствами? Вдруг она была собрана неправильно, повреждена во время эксплуатации, или производитель попросту нас дурит? Оказывается, что проверить можно, и сделать это не так уж трудно.

Для эксперимента был использован анализатор спектра Rigol DSA815-TG , некоторое количество кабелей RG58, приемная антенна-диполь RTL-SDR Blog Multipurpose Antenna, самодельный петлевой диполь и испытуемая антенна Уда-Яги. Если нет анализатора спектра, можно воспользоваться рацией на 145 МГц и RTL-SDR . Также для задачи сгодится NanoVNA . Я предпочел использовать анализатор спектра по соображениям удобства. Тестирование производилось только на 145 МГц. С другими частотами, само собой разумеется, принцип будет тот же.

Приемная антенна была установлена на высоте около трех метров от земли в горизонтальной поляризации и настроена по антенному анализатору . Последний не обязательно нужен для эксперимента, но с ним вы получите более точные результаты. Если антенного анализатора нет, вместо него можно использовать анализатор спектра с КСВ-мостом или RTL-SDR с генератором шума и направленным ответвителем . Приемная антенна была подключена к входу анализатора спектра.

Петлевой диполь был установлен на той же высоте примерно в 15 метрах от приемной антенны. В общем случае расстояние между антеннами должно составлять по крайней мере несколько λ. Эта антенна была подключена к выходу следящего генератора. На анализаторе спектра видим следующее:

Желтый график соответствует ситуации, когда антенны смотрят прямо друг на друга, пурпурный — когда петлевой диполь отвернут на 45°, а бирюзовый — когда антенны стоят перпендикулярно друг другу. Как нам известно, петлевой диполь имеет такое же усиление, что и обычный диполь. Следовательно, -36.85 dB соответствуют усилению 0 dBd или 2.15 dBi. С тем же успехом можно использовать обычный диполь или любую другу антенну с известным усилением. «Калибровочная» антенна нужна только для перевода показаний анализатора спектра в dBi.

Снимаем петлевой диполь и ставим на его место волновой канал. Вращаем его в горизонтальной плоскости и записываем показания для разных углов. Я решил сделать 36 измерений с шагом около 10°. Это, пожалуй, минимальный шаг, при котором антенну еще можно более-менее точно поворачивать на глаз.

Что нам теперь делать с этими данными? Для начала вычислим усиление в dBi для угла 0°. У меня оно получилось:

>>> 36.85-31.42+2.15
7.58

Производитель обещает 9.5 dBi, но это в свободном пространстве. Модель антенны в cocoaNEC подсказывает, что в трех метрах от средней земли диаграмма направленности выглядит как-то так:

При этом усиление под углами 2-3° как раз составляет около 7.7 dBi. Вроде, сходится.

Для графического представления собранных данных и сравнения их с моделью были использованы Python и Matplotlib :

#!/usr/bin/env python3 -u
# vim: set ai et ts=4 sw=4:

from math import pi
import matplotlib . pyplot as plt
import csv

def load_data ( fname ) :
xs , ys = [ ] , [ ]
with open ( fname , newline = » ) as f:
for row in csv . reader ( f , delimiter = ‘,’ , quotechar = ‘»‘ ) :
xs + = [ 2 *pi* float ( row [ 0 ] ) / 360 ]
ys + = [ float ( row [ 1 ] ) ]
max_y = max ( ys )
ys = [ y — max_y for y in ys ]
return xs , ys

xs , ys = load_data ( ‘data/raw-data.csv’ )
model_xs , model_ys = load_data ( ‘data/model-data.csv’ )

dpi = 80
fig = plt. figure ( dpi = dpi , figsize = ( 512 / dpi , 384 / dpi ) )

ax = plt. subplot ( 111 , projection = ‘polar’ )
ax. set_theta_offset ( 2 *pi* 90 / 360 )
ax. plot ( xs , ys , linestyle = ‘solid’ , linewidth = 3 )
ax. plot ( model_xs , model_ys , linestyle = ‘dashed’ , color = ‘red’ )
ax. set_rmax ( 0 )
ax. set_rticks ( [ 6 *i for i in range ( 0 , 7 ) ] )
ax. set_yticklabels ( [ » ] + [ str ( 6 *i ) for i in range ( 1 , 7 ) ] )
ax. set_rlabel_position ( 0 )
ax. set_thetagrids ( range ( 0 , 360 , 15 ) )
ax. set_theta_direction ( 1 )
ax. grid ( True )

fig. savefig ( ‘measured-vs-model.png’ )

Скрипт выдает такую картинку:

Синяя сплошная линия — это результаты измерений, а красная пунктирная — результаты моделирования в cocoaNEC. Синий график, конечно, вышел кривоватым. Это объясняется тем, что измерения проводились на дачном участке, где имеются посторонние металлические предметы. Что куда отражается и в какой фазе складывается, предсказать невозможно.

С учетом вышесказанного, измерения очень даже неплохо сошлись с теорией. Результаты можно существенно улучшить, если производить измерения в чистом поле. А если обзавестись поворотным устройством, обеспечивающим точность поворота хотя бы 5°, то наверняка удастся разглядеть на ДН и боковые лепестки.

Такой вот занимательный эксперимент получился. Сырые данные, а также все использованные модели и скрипты, вы найдете в этом репозитории на GitHub .

Дополнение: Вас также может заинтересовать пост Моделирование антенн на Python при помощи PyNEC .

admin

Recent Posts

Консоль удаленного рабочего стола(rdp console)

Клиент удаленного рабочего стола (rdp) предоставляет нам возможность войти на сервер терминалов через консоль. Что…

2 месяца ago

Настройка сети в VMware Workstation

В VMware Workstation есть несколько способов настройки сети гостевой машины: 1) Bridged networking 2) Network…

2 месяца ago

Логи брандмауэра Windows

Встроенный брандмауэр Windows может не только остановить нежелательный трафик на вашем пороге, но и может…

2 месяца ago

Правильный способ отключения IPv6

Вопреки распространенному мнению, отключить IPv6 в Windows Vista и Server 2008 это не просто снять…

2 месяца ago

Ключи реестра Windows, отвечающие за параметры экранной заставки

Параметры экранной заставки для текущего пользователя можно править из системного реестра, для чего: Запустите редактор…

2 месяца ago

Как управлять журналами событий из командной строки

В этой статье расскажу про возможность просмотра журналов событий из командной строки. Эти возможности можно…

2 месяца ago