propagationData

Создайте данные о распространении RF из измерений

Описание

Используйте propagationData возразите, чтобы импортировать и визуализировать определенные геолокацию данные о распространении. Данные об измерении могут быть данными о потере на пути, измерениями силы сигнала, сигналом к шумовому отношению (ОСШ) данные или сотовая информация.

Создание

Описание

pd = propagationData(filename) создает объект данных распространения путем чтения данных из файла, заданного filename.

pd = propagationData(table) создает контейнерный объект данных о распространении из объекта таблицы, заданного table.

пример

pd = propagationData(latitude,longitude,varname,varvalue) создает контейнерный объект данных о распространении с помощью latitude и longitude координаты с данными, заданными с помощью varname и varvalue.

пример

pd = propagationData(___,Name,Value) свойства наборов с помощью одной или нескольких пар "имя-значение". Заключите каждое имя свойства в кавычки.

Входные параметры

развернуть все

Имя файла, содержащего данные о распространении в виде вектора символов или строкового скаляра. Файл должен быть в текущем каталоге, в директории на пути MATLAB, или быть задан с помощью полного или относительного пути. Файл должен быть совместим с readtable функция. Вызовите readtable функционируйте, если индивидуально настраиваемые параметры требуются, чтобы импортировать файл и затем передавать table возразите против propagationData объект.

Данные о распространении в файле должны иметь одну переменную, соответствующую значениям широты, одна переменная, соответствующая значениям долготы и по крайней мере одному переменному содержащий числовые данные.

Типы данных: string | char

Таблица, содержащая данные о распространении в виде объекта таблицы.

Данные о распространении в файле должны иметь одну переменную, соответствующую значениям широты, одна переменная, соответствующая значениям долготы и по крайней мере одному переменному содержащий числовые данные.

Типы данных: table

Значения координаты широты в виде вектора в десятичных градусах со ссылкой на модель WGS-84 эллипсоида Земли. Координаты широты должны быть в области значений [-90 90].

Типы данных: double

Значения координаты долготы в виде вектора в десятичных градусах со ссылкой на эллипсоид земли. модель WGS-84.

Типы данных: double

Имя переменной в виде вектора символов или строкового скаляра. Это имя переменной должно соответствовать переменной с числовыми данными кроме широты или долготы. Имя переменной и соответствующие значения хранятся как столбец в объекте таблицы Свойства данных.

Типы данных: string | char

Значения переменных в виде числового вектора. Числовые векторы должны быть одного размера с широтой и долготой. Имя переменной и соответствующие значения хранятся как столбец в объекте таблицы Свойства данных.

Типы данных: double

Выходные аргументы

развернуть все

Данные о распространении, возвращенные как propagationData объект.

Свойства

развернуть все

Данные о распространении называют в виде вектора символов или строкового скаляра.

Пример: 'Name','propdata'

Пример: pd.Name = 'propdata'

Типы данных: char | string

Это свойство доступно только для чтения.

Таблица данных распространения в виде скалярного объекта таблицы, содержащего столбец, соответствующий координатам широты, столбец, соответствующий координатам долготы и одному или нескольким столбцам, соответствующим связанным данным о распространении.

Типы данных: table

Имя переменной данных, чтобы построить в виде вектора символов или строкового скаляра, соответствующего имени переменной в Data таблица раньше создавала контейнерный объект данных о распространении. Имя переменной должно соответствовать переменной с числовыми данными и не может соответствовать переменным широты или долготы. Значением по умолчанию для этого свойства является имя первого имени переменной числовых данных в Data таблица, которая не является переменной широты или долготы.

Типы данных: char | string

Функции объекта

plotОтобразите данные о распространении RF в Средстве просмотра Сайта
contourОтобразите контурную карту данных о распространении RF в Средстве просмотра Сайта
locationКоординаты данных о распространении RF
getDataVariableПолучите значения переменной данных
interpИнтерполируйте данные о распространении RF

Примеры

свернуть все

Средство просмотра Стартовой площадки с basemaps и файлами создания для Манхэттена. Для получения дополнительной информации о osm файле, см. [1].

viewer = siteviewer("Basemap","streets_dark",...
        "Buildings","manhattan.osm");

Покажите ретранслятор на создании.

tx = txsite("Latitude",40.7107,...
        "Longitude",-74.0114,...
        "AntennaHeight",80);
show(tx)

Создайте сайты приемника вдоль соседних улиц.

latitude = [linspace(40.7088, 40.71416, 50), ...
        linspace(40.71416, 40.715505, 25), ...
        linspace(40.715505, 40.7133, 25), ...
        linspace(40.7133, 40.7143, 25)]';
longitude = [linspace(-74.0108, -74.00627, 50), ...
        linspace(-74.00627 ,-74.0092, 25), ...
        linspace(-74.0092, -74.0110, 25), ...
        linspace(-74.0110, -74.0132, 25)]';
rxs = rxsite("Latitude", latitude, "Longitude", longitude);

Вычислите силу сигнала в каждом местоположении приемника.

signalStrength = sigstrength(rxs, tx)';

Создайте propagationData возразите, чтобы содержать вычисленные данные о силе сигнала.

tbl = table(latitude, longitude, signalStrength);
pd = propagationData(tbl);

Отобразите данные о силе сигнала на графике по карте как окрашенные точками.

legendTitle = "Signal" + newline + "Strength" + newline + "(dB)";
plot(pd, "LegendTitle", legendTitle, "Colormap", parula);

Приложение

[1] osm файл загружается с https://www.openstreetmap.org, который обеспечивает доступ к полученным толпой данным о карте во всем мире. Данные лицензируются под Открытыми Данными палата общин Открытая Лицензия Базы данных (ODbL), https://opendatacommons.org/licenses/odbl/.

Задайте названия и местоположение сайтов вокруг Бостона.

names = ["Fenway Park","Faneuil Hall","Bunker Hill Monument"];
lats = [42.3467,42.3598,42.3763];
lons = [-71.0972,-71.0545,-71.0611];

Создайте массив ретрансляторов.

txs = txsite("Name",names,...
       "Latitude",lats,...
       "Longitude",lons, ...
       "TransmitterFrequency",2.5e9);
show(txs)   

Создайте сигнал к интерференции плюс шумовое отношение (SINR) карта, где источник сигнала для каждого местоположения выбран как ретранслятор с самым сильным сигналом.

sv1 = siteviewer("Name","SINR map");
sinr(txs,"MaxRange",5000)

Возвратите данные о распространении SINR.

pd = sinr(txs,"MaxRange",5000);
[sinrDb,lats,lons] = getDataVariable(pd,"SINR"); 

Вычислите способность с помощью Шенноновской-Hartley теоремы.

bw = 1e6; % Bandwidth is 1 MHz
sinrRatio = 10.^(sinrDb./10); % Convert from dB to power ratio
capacity = bw*log2(1+sinrRatio)/1e6; % Unit: Mbps

Создайте новые данные о распространении для способности, сопоставляют и отображают контурный график.

pdCapacity = propagationData(lats,lons,"Capacity",capacity);
sv2 = siteviewer("Name","Capacity map");
legendTitle = "Capacity" + newline + "(Mbps)";
contour(pdCapacity,"LegendTitle",legendTitle);

Смотрите также

| | |

Введенный в R2020a