Этот пример показывает, как вычислить и визуализировать мощность сигнала между передатчиком и несколькими приемниками. Визуализация включает карту покрытия зоны и цветные ссылки связи. Пример также показывает выбор направленной антенны в порядок достижения ссылки связи с определенным местоположением.
% Define transmitter site at MathWorks (3 Apple Hill Dr, Natick, MA) fq = 6e9; % 6 GHz tx = txsite('Name','MathWorks', ... 'Latitude',42.3001, ... 'Longitude',-71.3504, ... 'Antenna',design(dipole,fq), ... 'AntennaHeight',60, ... % Units: meters 'TransmitterFrequency',fq, ... % Units: Hz 'TransmitterPower',15); % Units: Watts
% Define receiver sites in several surrounding towns and cities rxNames = {... 'Boston, MA','Lexington, MA','Concord, MA','Marlborough, MA', ... 'Hopkinton, MA','Holliston, MA','Foxborough, MA','Quincy, MA'}; rxLocations = [... 42.3601 -71.0589; ... % Boston 42.4430 -71.2290; ... % Lexington 42.4604 -71.3489; ... % Concord 42.3459 -71.5523; ... % Marlborough 42.2287 -71.5226; ... % Hopkinton 42.2001 -71.4245; ... % Holliston 42.0654 -71.2478; ... % Foxborough 42.2529 -71.0023]; % Quincy % Define receiver sensitivity. Sensitivity is the minimum signal strength in % power that is necessary for the receiver to accurately detect the signal. rxSensitivity = -90; % Units: dBm rxs = rxsite('Name',rxNames, ... 'Latitude',rxLocations(:,1), ... 'Longitude',rxLocations(:,2), ... 'Antenna',design(dipole,tx.TransmitterFrequency), ... 'ReceiverSensitivity',rxSensitivity); % Units: dBm
Показать сайты передатчика и приемника на карте. Чтобы отобразить информацию о сайте, можно щелкнуть по маркерам сайта.
viewer = siteviewer; show(tx) show(rxs)
Установите изображения карты с помощью Basemap
свойство. Также откройте средство выбора изображений карты в Средство Просмотра (Antenna Toolbox), нажав вторую кнопку справа. Выберите «OpenStreetMap», чтобы увидеть улицы и метки на карте. Поверните вид, чтобы показать накладную перспективу.
viewer.Basemap = "openstreetmap";
Отобразите карту покрытия. Карта покрытия показывает географическую область, где приемник получит хороший прием, где сила передаваемого сигнала соответствует или превышает чувствительность получателя. Сила передаваемого сигнала в степени (dBm) вычисляется с помощью модели распространения свободного пространства, которая игнорирует рельеф местности, препятствия и атмосферные эффекты. В результате карта покрытия показывает идеализированную зону покрытия в отсутствие каких-либо ослаблений потерь пути помимо потерь свободного пространства.
coverage(tx,'freespace', ... 'SignalStrengths',rxSensitivity)
Постройте коммуникационные ссылки на карте. Красные ссылки появляются там, где приемник находится вне зоны покрытия, и зелёные ссылки появляются там, где приемник находится в зоне покрытия. Ссылка строки можно кликнуть, чтобы отобразить ссылку статистику.
link(rxs,tx,'freespace')
Обновите карту покрытия и ссылки, чтобы включить потерю пути из-за дождя. Обратите внимание, что Boston, MA больше не находится в зоне покрытия.
coverage(tx,'rain','SignalStrengths', rxSensitivity) link(rxs,tx,'rain')
Дипольный передатчик антенны приводит к появлению нескольких участков приемника за пределами зоны покрытия, включая приемник в Бостоне, штат Массачусетс. Теперь примите, что требование передатчика состоит в том, чтобы достичь ссылки связи с Бостоном. Задайте направленную антенну, которая может увеличить коэффициент усиления антенны в этом направлении.
% Define Yagi-Uda antenna designed for transmitter frequency yagiAnt = design(yagiUda,tx.TransmitterFrequency); % Tilt antenna to direct radiation in XY-plane (i.e. geographic azimuth) yagiAnt.Tilt = 90; yagiAnt.TiltAxis = 'y'; f = figure; % Show directivity pattern patternAzimuth(yagiAnt,tx.TransmitterFrequency)
%Close the previous figure if (isvalid(f)) close(f); end
Обновите карту покрытия и ссылки. Бостон сейчас находится в пределах зоны покрытия, но связь, ссылки с приемниками в других направлениях, потеряна.
% Update transmitter antenna tx.Antenna = yagiAnt; % Point main beam toward Boston, MA by assigning azimuth angle between % transmitter location and Boston receiver location tx.AntennaAngle = angle(tx, rxs(1)); % Update visualizations, using 'rain' propagation model coverage(tx,'rain','SignalStrengths',rxSensitivity) link(rxs,tx,'rain')
Когда задан один уровень сигнала, карта покрытия является зеленой для области покрытия. Задайте несколько сильных сторон сигнала, чтобы сгенерировать карту покрытия с контурами для различных уровней сигнала.
% Define signal strengths from sensitivity to -60 dB sigStrengths = rxSensitivity:5:-60; % Update coverage map coverage(tx,'rain','SignalStrengths',sigStrengths)