exponenta event banner

Визуализация карты напряженности поля антенны на Земле

В этом примере показано, как вычислить напряженность поля антенны на плоской земле и отобразить ее на карте.

Создать спираль

Используйте спираль по умолчанию и поверните ее на 90 градусов так, чтобы большая часть поля находилась вдоль плоскости XY, т.е. на поверхности Земли.

f0 = 2.4e9;
ant = helix('Tilt',-90);
f = figure;
show(ant)
view(-220,30)

Расчет электрического поля в различных точках пространства

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

z = -15;
x = (-250:4:250)*1e3;
y = (-100:4:400)*1e3;

[X,Y] = meshgrid(x,y);
numpoints = length(x)*length(y);
points = [X(:)'; Y(:)'; z*ones(1,numel(X))];

E = EHfields(ant,f0,points); % Units: V/m

Расчет величины электрического поля

Вычислите величину электрического поля.

Emag = zeros(1,numpoints);
for m=1:numpoints
    Emag(m) = norm(E(:,m)/sqrt(2));
end
Emag = 20*log10(reshape(Emag,length(y),length(x))); % Units: dBV/m
Emag = Emag + 120; % Units: dBuV/m

Постройте график электрического поля

Постройте график величины электрического поля как функции расстояния x и y.

d_min = min(Emag(:));
d_max = max(Emag(:));
del = (d_max-d_min)/12;
d_vec = round(d_min:del:d_max);

if isvalid(f)
    close(f)
end
figure
contourf(X*1e-3,Y*1e-3,Emag,d_vec,'showtext','on')
title('Field Strength (dB\muV/m) on flat Earth (1V tx)')
xlabel('lateral (km)')
ylabel('boresight (km)')
c = colorbar; 
set(get(c,'title'),'string','dB\muV/m')

Определение местоположения передатчика с антенной

Укажите местоположение и ориентацию антенны. Назначьте местоположение 42 градуса к северу и 73 градуса к западу, а также высоту антенны 15 метров. Сориентируйте антенну по направлению к юго-западу под углом -150 градусов (или, что эквивалентно, + 210 градусов), измеренным против часовой стрелки с востока.

lat =  42;
lon = -73;
h = 15;
az = -150;

Поскольку антенна указывает вдоль локальной оси Y (а не оси X), вычтите 90 градусов, чтобы определить поворот локальной системы относительно xEast-yNorth. (Это угол к локальной оси X от xEast, измеренный против часовой стрелки.)

xyrot = wrapTo180(az - 90);

Определите узел передатчика с антенной и ориентацией, определенными выше.

tx = txsite('Name','Antenna Site', ...
    'Latitude',lat, ...
    'Longitude',lon, ...
    'Antenna',ant, ...
    'AntennaHeight',h, ...
    'AntennaAngle',xyrot, ...
    'TransmitterFrequency',f0);

Расчет мощности передатчика

Вычислите среднеквадратичное значение мощности, соответствующее вычислению EHfields антенны, и установите в качестве мощности передатчика.

Z = impedance(tx.Antenna,tx.TransmitterFrequency);
If = feedCurrent(tx.Antenna,tx.TransmitterFrequency);
Irms = norm(If)/sqrt(2);
Ptx = real(Z)*(Irms)^2;
tx.TransmitterPower = Ptx;

Отображение карты покрытия электрического поля с одним контуром

Отображение маркера участка датчика на карте и отображение зоны покрытия. Укажите мощность сигнала 9 дБуВ/м для отображения одного контура электрического поля. Укажите модель распространения как «свободное пространство» для моделирования идеализированного распространения волн в свободном пространстве, которое игнорирует препятствия из-за кривизны Земли или местности.

% Launch Site Viewer with no terrain
viewer = siteviewer("Terrain", "none");

% Plot coverage
coverage(tx,'freespace', ...
    'Type','efield', ...
    'SignalStrengths',9)

Настройка средства просмотра сайтов

Установка изображения карты с помощью Basemap собственность. Либо откройте средство выбора изображений карты в средстве просмотра сайтов, нажав вторую кнопку справа. Выберите «Топографический» для просмотра топографии и меток на карте.

viewer.Basemap = 'topographic';

Отображение карты покрытия электрического поля с несколькими горизонталями

Укажите несколько уровней сигнала для отображения нескольких контуров электрического поля.

sigStrengths = [9 14 19 24 29 36];
coverage(tx,'freespace', ...
    'Type','efield', ...
    'SignalStrengths',sigStrengths, ...
    'Colormap','parula', ...
    'ColorLimits',[9 36])

См. также

|