メインコンテンツ

propagationData

測定値から RF 伝播データを作成

説明

propagationData オブジェクトを使用して、ジオロケートされた伝播データをインポートおよび可視化します。測定データはパス損失データ、信号強度の測定値、S/N 比 (SNR) データ、またはセルラー情報にすることができます。

作成

説明

pd = propagationData(filename) は、指定されたファイルからデータを読み取って、伝播データ オブジェクトを作成します。

pd = propagationData(table) は、指定された table から伝播データ オブジェクトを作成します。

pd = propagationData(lat,lon,varname,varvalue) は、指定された地理座標と指定された測定データから伝播データ オブジェクトを作成します。

pd = propagationData(___,Name=Value) は、名前と値の引数を 1 つ以上使用してプロパティを設定します。

入力引数

すべて展開する

伝播データを含むファイルの名前。文字ベクトルまたは string スカラーとして指定します。ファイルは現在のディレクトリまたは MATLAB® パス上のディレクトリになければならないか、絶対パスまたは相対パスを使用して指定されなければなりません。

ファイルは関数 readtable と互換性がなければなりません。ファイルをインポートするためにカスタマイズされたパラメーターが必要な場合は、readtable 関数を使用してデータを table に読み取り、その table を propagationData 関数に渡します。

ファイル内の伝播データには、緯度値に対応する 1 つの変数、経度値に対応する 1 つの変数、数値データを含む 1 つ以上の変数が必要です。

データ型: string | char

伝播データを含む table。この table には、緯度値に対応する 1 つの変数、経度値に対応する 1 つの変数、数値データを含む 1 つ以上の変数がなければなりません。

データ型: table

緯度座標 (度単位)。範囲 [–90, 90] の要素をもつベクトルとして指定します。この関数は、座標が WGS84 準拠楕円体を基準にしていると想定しています。

データ型: double

経度座標 (度単位)。ベクトルとして指定します。この関数は、座標が WGS84 準拠楕円体を基準にしていると想定しています。

データ型: double

変数名。文字ベクトルまたは string スカラーとして指定します。この変数名は、(緯度または経度以外の) 数値データをもつ変数に対応していなければなりません。変数名とそれに対応する値は、Data に格納された table に変数として格納されます。

データ型: string | char

変数の値。数値ベクトルとして指定します。varvalue のサイズは lat および lon のサイズと一致しなければなりません。変数名とそれに対応する値は、Data に格納された table に変数として格納されます。

データ型: double

プロパティ

すべて展開する

伝播データの名前。文字ベクトルまたは string スカラーとして指定します。

データ型: char | string

この プロパティ は読み取り専用です。

伝播データ table。緯度座標に対応する変数、経度座標に対応する変数、および関連する伝播データに対応する 1 つ以上の変数が含まれる table として指定します。

データ型: table

プロットするデータ変数の名前。伝播データ オブジェクトの作成に使用される Data table の変数名に対応する文字ベクトルまたは string スカラーとして指定します。変数名は数値データをもつ変数に対応していなければならず、緯度変数または経度変数に対応することはできません。このプロパティの既定値は、Data table に含まれる最初の数値データ変数 (緯度変数や経度変数ではない) の名前です。

データ型: char | string

オブジェクト関数

plotサイト ビューアーで RF 伝播データを表示
contourDisplay contour map of RF propagation data in Site Viewer
locationRF 伝播データの座標
getDataVariableデータ変数値の取得
interpInterpolate RF propagation data

すべて折りたたむ

Manhattan のベースマップおよび建物ファイルを使用してサイト ビューアーを起動します。OpenStreetMap® ファイルの詳細については、[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] OpenStreetMap ファイルは、クラウドソーシングによる世界中の地図データへのアクセスを提供する https://www.openstreetmap.org からダウンロードされたものです。このデータは Open Data Commons Open Database License (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"); 

シャノン・ハートレーの定理を使用して容量を計算します。

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 で導入