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