В этом примере показано, как вычислить напряженность поля антенны на плоской земле и отобразить его на карте.
Используйте спираль по умолчанию и поверните ее на 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])
Чтение, визуализация и запись файлов антенны MSI Planet | Визуализация карты покрытия антенны и ссылок связи