Main Content

propagationData

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

説明

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

作成

説明

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

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

pd = propagationData(latitude,longitude,varname,varvalue) は、varname および varvalue で指定されたデータをもつ latitude 座標と longitude 座標を使用して、伝播データ コンテナー オブジェクトを作成します。

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

入力引数

すべて展開する

伝播データを含むファイルの名前。文字ベクトルまたは string スカラーとして指定します。ファイルは現在のディレクトリまたは MATLAB パス上のディレクトリになければならないか、絶対パスまたは相対パスを使用して指定されなければなりません。ファイルは関数 readtable と互換性がなければなりません。ファイルをインポートしてから table オブジェクトを propagationData オブジェクトに渡すためにカスタマイズされたパラメーターが必要な場合は、関数 readtable を呼び出します。

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

データ型: string | char

伝播データを含む table。table オブジェクトとして指定します。

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

データ型: table

緯度座標値。地球の楕円体モデル WGS-84 を基準として 10 進数の度単位のベクトルとして指定します。緯度座標は範囲 [-90 90] 内でなければなりません。

データ型: double

経度座標値。地球の楕円体モデル WGS-84 を基準として 10 進数の度単位のベクトルとして指定します。

データ型: double

変数名。文字ベクトルまたは string スカラーとして指定します。この変数名は緯度または経度以外の数値データをもつ変数に対応していなければなりません。変数名とそれに対応する値はデータ プロパティ table オブジェクトの列として格納されます。

データ型: string | char

変数の値。数値ベクトルとして指定します。数値ベクトルは緯度および経度と同じサイズでなければなりません。変数名と対応する値はデータ プロパティ table オブジェクトの列として格納されます。

データ型: double

出力引数

すべて展開する

伝播データ。propagationData オブジェクトとして返されます。

プロパティ

すべて展開する

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

例: 'Name','propdata'

例: pd.Name = 'propdata'

データ型: char | string

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

伝播データ table。緯度座標に対応する列、経度座標に対応する列、および関連する伝播データに対応する 1 つ以上の列が含まれるスカラー table オブジェクトとして指定します。

データ型: table

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

データ型: char | string

オブジェクト関数

plotサイト ビューアーで RF 伝播データを表示
contourサイト ビューアーで RF 伝播データの等高線マップを表示
locationRF 伝播データの座標
getDataVariableデータ変数値の取得
interpRF 伝播データの内挿

すべて折りたたむ

Manhattan のベースマップおよび建物ファイルを使用してサイト ビューアーを起動します。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 からダウンロードされたものです。このデータは 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 で導入