Визуализируйте полевую карту силы антенны на земле

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

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

Используйте спираль по умолчанию и вращайте ее 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 dBuV/m, чтобы отобразить один контур электрического поля. Задайте модель распространения как 'свободное пространство' к модели идеализированное распространение волны в свободном пространстве.

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

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

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

Установите формирование изображений карты с помощью Basemap свойство. В качестве альтернативы откройте средство выбора формирования изображений карты в Средстве просмотра Сайта путем нажатия второй кнопки справа. Выберите "OpenStreetMap", чтобы видеть улицы и метки на карте.

viewer.Basemap = 'openstreetmap';

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

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

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

Для просмотра документации необходимо авторизоваться на сайте