Этот пример показывает, как визуализировать изменяющийся шаблон и карту покрытия антенной решетки, когда это сканирует развертку углов. Антенная решетка создается с помощью Antenna Toolbox™ и Phased Array System Toolbox™. Массив разработан, чтобы быть направленным и изойти в xy-плоскости, чтобы сгенерировать максимальную зону обслуживания в географическом азимуте. Передатчик и сайты получателя созданы и показаны на карте, и шаблон и карта покрытия отображены, когда антенная решетка управляется.
Используйте Antenna Toolbox, чтобы разработать поддержанный отражателем дипольный элемент антенны. Разработайте элемент и его возбудитель для 10 ГГц, и задайте наклон к прямому излучению в xy-плоскости, которая соответствует географическому азимуту.
% Design reflector-backed dipole antenna element fq = 10e9; % 10 GHz myelement = design(reflector,fq); myelement.Exciter = design(myelement.Exciter,fq); % Tilt antenna element to radiate in xy-plane, with boresight along x-axis myelement.Tilt = 90; myelement.TiltAxis = 'y'; myelement.Exciter.Tilt = 90; myelement.Exciter.TiltAxis = 'y';
Используйте Phased Array System Toolbox, чтобы создать 7 7 прямоугольный массив из элемента антенны. Задайте массив, нормальный к прямому излучению в направлении оси X.
% Create 7-by-7 antenna array nrow = 7; ncol = 7; myarray = phased.URA('Size',[nrow ncol],'Element',myelement); % Define element spacing to be half-wavelength at 10 GHz, and specify % array plane as yz-plane, which directs radiation in x-axis direction lambda = physconst('lightspeed')/fq; drow = lambda/2; dcol = lambda/2; myarray.ElementSpacing = [drow dcol]; myarray.ArrayNormal = 'x'; % Display radiation pattern f = figure; az = -180:1:180; el = -90:1:90; pattern(myarray,fq,az,el)
Создайте ретранслятор в Вашингтонском Памятнике в Вашингтоне, округ Колумбия с помощью антенной решетки. Настройки по частоте передатчика частота проекта антенны и выходная мощность передатчика составляют 1 Вт. Установите высоту антенны на 169 м, которая является высотой памятника.
tx = txsite('Name','Washington Monument',... 'Latitude',38.88949, ... 'Longitude',-77.03523, ... 'Antenna',myarray,... 'AntennaHeight',169', ... 'TransmitterFrequency',fq,... 'TransmitterPower',1);
Средство просмотра Стартовой площадки и показывает ретранслятор, который сосредотачивает представление в Вашингтонском Памятнике. Карта по умолчанию показывает спутниковые снимки, и маркер сайта показывают на высоте антенны сайта.
if isvalid(f) close(f) end viewer = siteviewer; show(tx)
Визуализируйте ориентацию антенны путем показа диаграммы направленности в Средстве просмотра Сайта.
pattern(tx);
Выберите маркер сайта, чтобы просмотреть цветную легенду шаблона.
Создайте массив сайтов получателя в области Вашингтона, округ Колумбия. Они используются в качестве маркеров места для интересных сайтов, чтобы оценить покрытие ретранслятора.
% Define names for receiver sites rxNames = {... 'Brentwood Hamilton Field', ... 'Nationals Park', ... 'Union Station', ... 'Georgetown University', ... 'Arlington Cemetery'}; % Define coordinates for receiver sites rxLocations = [... 38.9080 -76.9958; ... 38.8731 -77.0075; ... 38.8976 -77.0062; ... 38.9076 -77.0722; ... 38.8783 -77.0685]; % Create array of receiver sites. Each receiver has a sensitivity of -75 dBm. rxs = rxsite('Name',rxNames, ... 'Latitude',rxLocations(:,1), ... 'Longitude',rxLocations(:,2), ... 'ReceiverSensitivity',-75);
Покажите сайты получателя на карте.
show(rxs)
Установите формирование изображений карты с помощью свойства Basemap
. Также откройте средство выбора формирования изображений карты в Средстве просмотра Сайта путем нажатия второй кнопки справа. Выберите "Streets", чтобы видеть улицы и метки на карте.
viewer.Basemap = "streets";
Отсканируйте луч антенны путем применения заострения для области значений углов. Для каждого угла обновите диаграмму направленности в Средстве просмотра Сайта. Этот подход сканирования луча производит различные шаблоны, чем физическое вращение антенны, как мог быть достигнут установкой AntennaAngle
ретранслятора. Этот шаг используется, чтобы подтвердить ориентацию основного луча антенны.
% Get the starting array taper startTaper = myarray.Taper; % Define angles over which to perform sweep azsweep = -30:10:30; % Set up tapering window and steering vector N = nrow*ncol; nbar = 5; sll = -20; sltaper = taylorwin(N,nbar,sll)'; steeringVector = phased.SteeringVector('SensorArray',myarray); % Sweep the angles and show the antenna pattern for each for az = azsweep sv = steeringVector(fq,[az; 0]); myarray.Taper = sltaper.*sv'; % Update the radiation pattern. Use a larger size so the the pattern is visible among the antenna sites. pattern(tx, 'Size', 2500,'Transparency',1); end
Задайте три уровня силы сигнала и соответствующие цвета, чтобы отобразиться на карте покрытия. Каждый цвет видим, где полученная степень для мобильного получателя встречает соответствующей силе сигнала. Полученная степень включает общую степень, переданную от прямоугольной антенной решетки.
Ориентация по умолчанию ретранслятора указывает ось X антенны на восток, так, чтобы было направление максимального покрытия.
% Reset the taper to the starting taper myarray.Taper = startTaper; % Define signal strength levels (dBm) and corresponding colors strongSignal = -65; mediumSignal = -70; weakSignal = -75; sigstrengths = [strongSignal mediumSignal weakSignal]; sigcolors = {'red' 'yellow' 'green'}; % Show the tx pattern pattern(tx,'Size',500) % Display coverage map out to 6 km maxRange = 6000; coverage(tx, ... 'SignalStrengths',sigstrengths, ... 'Colors',sigcolors, ... 'MaxRange',maxRange)
Карта покрытия не показывает покрытия в ретрансляторе и нескольких карманах покрытия вдоль направления опорного направления перед основной зоной охвата. Диаграмма направленности обеспечивает понимание карты покрытия путем показа как проекты электростанции антенны на местоположения карты вокруг передатчика.
Отсканируйте луч антенны путем применения заострения для области значений углов. Для каждого угла обновите карту покрытия. Этот метод beamscanning является тем же методом, используемым выше. Итоговая карта включает два интересных сайта получателя в зоне обслуживания.
% Repeat the sweep but show the pattern and coverage map for az = azsweep % Calculate and assign taper from steering vector sv = steeringVector(fq,[az; 0]); myarray.Taper = sltaper.*sv'; % Update the tx pattern pattern(tx,'Size',500) % Update coverage map coverage(tx, ... 'SignalStrengths',sigstrengths, ... 'Colors',sigcolors, ... 'MaxRange',maxRange) end