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

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

Создание спирали

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

% 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])

См. также

|