В этом примере показано, как вычислить и визуализировать силу сигнала между передатчиком и несколькими приемниками. Визуализация включает карту покрытия области и окрашенные линии связи. Пример также показывает выбор направленной антенны для того, чтобы достигнуть линии связи с определенным местоположением.
% 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
свойство. В качестве альтернативы откройте средство выбора формирования изображений карты в Средстве просмотра Сайта путем нажатия второй кнопки справа. Выберите "OpenStreetMap", чтобы видеть улицы и метки на карте. Вращайте представление, чтобы показать служебную перспективу.
viewer.Basemap = "openstreetmap";
Отобразите карту покрытия. Карта покрытия показывает географическую область, где приемник получит хороший прием, который является, где переданная сила сигнала соответствует или превышает приемник "s чувствительность. Переданная сила сигнала в степени (dBm) вычисляется с помощью модели распространения свободного пространства, которая игнорирует ландшафт, препятствия и атмосферные эффекты. В результате карта покрытия показывает идеализированную зону охвата в отсутствие любых ухудшений потери на пути вне потери свободного пространства.
coverage(tx,"freespace", ... "SignalStrengths",rxSensitivity)
Постройте линии связи на карте. Красные ссылки появляются, где приемник находится вне зоны покрытия, и зеленые ссылки появляются, где приемник в зоне покрытия. Соединитесь по линиям можно кликнуть, чтобы отобразить статистику ссылки. Чтобы контрастировать цвета зоны покрытия и успешных ссылок, задайте цвет успешных ссылок как темно-зеленый.
sc = [0 0.3 0]; link(rxs,tx,"freespace","SuccessColor",sc)
Обновите карту покрытия, и соединяется, чтобы включать потерю на пути, подлежащую выплате литься дождем. Обратите внимание на то, что Бостон, MA больше не в зоне покрытия.
coverage(tx,"rain","SignalStrengths", rxSensitivity) link(rxs,tx,"rain","SuccessColor",sc)
Дипольный передатчик антенны приводит к нескольким сайтам приемника за пределами зоны покрытия, включая приемник в Бостоне, MA. Теперь примите, что требование передатчика должно достигнуть линии связи с Бостоном. Задайте направленную антенну, которая может увеличить усиление антенны в том направлении.
% 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","SuccessColor",sc)
Когда одна сила сигнала задана, карта покрытия зеленая для зоны обслуживания. Задайте несколько сильных мест сигнала, чтобы сгенерировать карту покрытия с контурами для различных уровней сигнала.
% Define signal strengths from sensitivity to -60 dB sigStrengths = rxSensitivity:5:-60; % Update coverage map coverage(tx,"rain","SignalStrengths",sigStrengths)
txsite
| rxsite
| siteviewer