47
1 © 2017 The MathWorks, Inc. IEICE SR研究会 実習型チュートリアル ~無線通信の観測から解析まで~ 体験! MATLABを利用した無線信号の解析と可視化 2017911() MathWorks 田中明美 [email protected]

IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

  • Upload
    others

  • View
    0

  • Download
    0

Embed Size (px)

Citation preview

Page 1: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

1© 2017 The MathWorks, Inc.

IEICE SR研究会実習型チュートリアル~無線通信の観測から解析まで~体験! MATLABを利用した無線信号の解析と可視化2017年9月11日(月)

MathWorks

田中明美

[email protected]

Page 2: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

2

アジェンダ

体験の前に・・・

地図上への信号強度表示– ファイル読み込み

– データ前処理

– データ可視化

– レポート生成

計測器で取得したIEEE802.11aの信号解析– Simulinkを使ってみる

– System Object とは?

– plottoolでグラフのカスタマイズ

Page 3: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

3

アジェンダ

体験の前に・・・

地図上への信号強度表示– ファイル読み込み

– データ前処理

– データ可視化

– レポート生成

計測器で取得したIEEE802.11aの信号解析– Simulinkを使ってみる

– System Object とは?

– plottoolでグラフのカスタマイズ

Page 4: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

4

登録メールアドレスに、確認メールが送付されます。メール文中のURLよりアカウントの有効化を行ってください。

MathWorksアカウント : ライセンスがなくても登録可能

https://jp.mathworks.com/mwaccount/register

MATLABのライセンスがなくても登録して頂けます!!

• オンラインでのドキュメント閲覧• 評価ライセンスダウンロード• MATLAB製品版ダウンロード• ライセンス管理• :• :• Etc.

Page 5: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

5

MATLAB入門(日本語)2時間コース無料(アカウント作成のみ必要)

MATLABのツールストリップ(画面上部)から「MATLAB の学習」をクリックまたは「matlab academy」で検索してURLを見つけログイン「MATLAB入門でMATLABを学ぶ」をクリック

WEBブラウザベースのクラウド環境上で、MATLABのプログラミング演習が可能

メリット : MATLAB Academy オンライン(自習システム)が使えます

Page 6: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

6

WebブラウザでMATLAB実行

https://jp.mathworks.com/help/matlab/examples.html#programming-and-data-types

プログラムを変更できます!

Page 7: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

7

本日使用するMATLABの構成と評価ライセンスの構成

バージョンR2017a

MATLAB

Simulink

Signal Processing Toolbox

DSP System Toolbox

Communications System Toolbox

WLAN System Toolbox

Mapping Toolbox

LTE System Toolbox*

Audio System Toolbox*

*は、本セッションの内容には含まれませんが、本日の他のチュートリアルセッションで扱われる内容と親和性が高いので評価ライセンスに含めました

Page 8: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

8

プログラム、資料の説明

MATLAB バージョン R2017aで作成しています。R2017a以外のバージョンでは使い方など異なる場合がございます。

プログラムは虫食いになっていますフォーカスしている関数などをメインに穴埋めして頂く形式でプログラムを用意しています。

穴埋めする箇所は****としておりますので、****書き換えてください。

ポイントの説明 作業して頂く手順

Page 9: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

9

アジェンダ

体験の前に・・・

地図上への信号強度表示(計測器取得想定データを使用)

– ファイル読み込み

– データ前処理

– データ可視化

– レポート生成

IEEE802.11aの信号解析(ローデ・シュワルツさまの計測器で取得したデータを使用)

– Simulinkを使ってみる

– System Object とは?

– plottoolでグラフのカスタマイズ

Page 10: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

10

地図上への信号強度表示ファイルの読込み例(1) : インポートツールでスクリプト自動生成

読み込みたいファイルをダブルクリック -> インポートツール起動

Page 11: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

11

地図上への信号強度表示ファイルの読込み例(1)

必要なデータのみ選択Cntl + row/column

マウスで範囲選択etc.

列ベクトル行列

テーブルデータ etc.

置き換え次を含む列を除外次を含む行を除外

NaN数値 etc.

次を含むインポートできないセル空白を次の値で処理ターゲット文字を入力

データのインポートスクリプトの生成関数の生成

欠損データ

Page 12: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

12

地図上への信号強度表示ファイルの読込み例(1)

自動生成されたスクリプト

自動生成されたファイルを保存

Page 13: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

13

地図上への信号強度表示ファイルの読込み例(2) : 関数を使用する

本セッションではcsvファイル以外にも使用できる

readtableを使用

csvファイルを読込む関数の一例

切り出したい列や行を指定 切り出したいヘッダを指定

データのスタート位置を指定

Page 14: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

14

地図上への信号強度表示データの前処理 : 表示してデータ確認

RSRPの範囲は-140dBm から -44dBm

範囲外の値が含まれる

確認だけであればplotだけでも十分文字列は ‘ ‘ ではさむ

Page 15: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

15

地図上への信号強度表示データの前処理 : NaNに置き換えて補間

外れ値がfillmissingで補間

データにNaNが含まれていてもplotで表示

条件にマッチしたところのデータのみNaNに置き換えられる

Page 16: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

16

地図上への信号強度表示データの前処理 : Cell ID ch2

fillmissingで前の値で補間

Page 17: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

17

地図上への信号強度表示表示範囲の指定

データの範囲がファイルごとに変わる場合は関数min/maxで求めたデータの最小値/最大値から

範囲を決定

Page 18: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

18

地図上への信号強度表示地図データ取得、地図情報取得

データの範囲がファイルごとに変わる場合は関数min/maxで求めたデータの最小値/最大値から

範囲を決定

使用したい地図データのレイヤを指定

ラスタマップとラスタ参照オブジェクト取得

Page 19: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

19

地図上への信号強度表示保存データを使用して地図表示

Worldmapで地図の軸を指定

geoshowで地図表示

Page 20: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

20

地図上への信号強度表示RSRP、カラーバー表示

カラーマップをRSRPのレンジに合わせる

Page 21: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

21

地図上への信号強度表示解析 : Cell ID ch2の変化点 データサイズが変更になる場合には

事前にデータ領域確保

Page 22: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

22

地図上への信号強度表示前処理したデータの保存

tableでテーブルデータに変換後writetableでファイルに保存

readtable同様csv以外のファイルフォーマットにも対応

変数名をヘッダとして保存

Page 23: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

23

地図上への信号強度表示 : WebMapにマーカーを表示

画像の貼り付けも可能

Wmmarkerで地図の表示とマーカーオーバーレイ

Page 24: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

24

地図上への信号強度表示レポート生成

パブリッシュ選択

パブリッシュタブ選択

セクション毎に見出し付きのレポート

Page 25: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

25

アジェンダ

体験の前に・・・

地図上への信号強度表示(計測器取得想定データを使用)

– ファイル読み込み

– データ前処理

– データ可視化

– レポート生成

IEEE802.11aの信号解析(ローデ・シュワルツさまの計測器で取得したデータを使用)

– Simulinkを使ってみる

– System Object とは?

– plottoolでグラフのカスタマイズ

Page 26: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

26

IEEE802.11aの信号解析ローデ・シュワルツさまの計測器で取得したデータ展開

計測器で保存したデータ– ideal11a.iq.tar

– fading_11a_1.iq.tar

計測器メーカー様より提供される変換ファイル– 各計測器メーカー様でmatファイルに変換するプログラムを提供されています

– ローデ・シュワルツ様よりご提供されるIQ & サンプルレート取得関数

– load_iq_tar_file.m

– 使い方

– >> [IdealIQ,SampleRate] = load_iq_tar_file('ideal11a.iq.tar');

Page 27: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

27

IEEE802.11aの信号解析データの確認 Simulinkアイコンクリック

固定ステップに設定された空のモデルを開く

Page 28: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

28

IEEE802.11aの信号解析

Simulinkライブラリブラウザ起動

Page 29: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

29

IEEE802.11aの信号解析Simulink : ブロックの配置

マウスの左ボタンドラッグ&ドロップでブロック配置

Page 30: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

30

IEEE802.11aの信号解析Simulink : ブロックの配置

DSP System Toolbox/

Sources/

Signal From Workspace

DSP System Toolbox/

Sinks/

Spectrum Analyzer

Page 31: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

31

IEEE802.11aの信号解析Simulink : ブロックの結線

接続したいブロックのポート付近でマウスが十字カーソルになったら

もう一方の接続先に左マウスボタンでドラッグ

Page 32: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

32

IEEE802.11aの信号解析Simulink : パラメータ変更 パラメータを変更

Signal : IQ

Sample time : 1/SampleRate

Samples per frame : 1024

Form output after final data value by : Cyclic repetition

ブロックをダブルクリック

Page 33: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

33

IEEE802.11aの信号解析Simulink : シミュレーション実行

シミュレーション実行

解析パネル表示

Page 34: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

34

IEEE802.11aの信号解析System Objects : MATLABコードによるストリーミング処理

従来MATLABコード = バッチ処理はメモリを大量に消費⇒ストリーミング処理

高速にシミュレーションすることが可能

データのバッファリング、状態の管理が容易

固定小数点シミュレーションとCコード生成に幅広く対応

データ

MATLAB

バッチ処理

Memory

ストリーミングデータ

ストリーミング処理

Page 35: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

35

IEEE802.11aの信号解析System Objects のイメージ

Out_A

Out_B

Object_A

Object_B

Object_C

Out_C

Input

Out_A

Out_B

Out_A = step(Object_A, Input);

Out_B = step(Object_B, Out_A);

Out_C = step(Object_C, Out_B);

Page 36: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

36

IEEE802.11aの信号解析System Objects のイメージ

hMod

hAWGN

hDemod

Out_Mod = hMod(Input);

Out_AWGN = hAWGN(Out_Mod);

Out_Demod = hDemod(Out_AWGN);

hMod=

comm.RectangularQAMModulator(64,'BitInput',true);

hAWGN =

comm.AWGNChannel('NoiseMethod',…

'Signal to noise ratio (Eb/No)','EbNo‘,SNR);

hDemod =

comm.RectangularQAMDemodulator(64,...

'BitOutput',true');

Page 37: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

37

802.11aの信号解析System Objects : dsp.SpectrumAnalyzer

Page 38: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

38

802.11aの信号解析System Objects : comm.ConstellationDiagram

Page 39: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

39

802.11aの信号解析物理層データフレーム構成

Frame

Control

Duration

/ID

Address

1

Address

2

Address

3

Sequence

Control

Address

4

QoS

Control

Data FCS

2 bytes 2 bytes 6 bytes 6 bytes 6 bytes 2 bytes 6 bytes 2 bytes 0 -1500

bytes

4 bytes

MPDU(MAC Protocol Data Unit)/PSDU(PLCP Service Data Unit)

MACヘッダ MSDU

(MAC Service Data Unit)

helperNonHTMACHeaderDecode

ヘルパー関数 : MACヘッダのデコード

Page 40: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

40

802.11aの信号解析パケットの構成 : wlanNonHTConfig

Page 41: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

41

802.11aの信号解析WLAN System Toolboxから提供される関数例

Page 42: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

42

802.11aの信号解析検証データ作成 : comm.PNSequence

信号生成のSystem Objectsなので入力信号を設定しない

PN9のデータをQPSKで変調したとの情報から

Page 43: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

43

802.11aの信号解析ビットエラーレート : comm.ErrorRate

受信信号の遅延推定

BER測定

Page 44: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

44

802.11aの信号解析グラフのカスタマイズ : plottool

plottool起動

グラフのカスタマイズ

Page 45: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

45

802.11aの信号解析figure カスタマイズコード自動生成

ファイルメニューコード生成

自動生成された

グラフカスタマイズ用コード

Page 46: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

46

802.11aの信号解析計測データを変更して実行

読込むファイルを変更して実行

[IQ,SampleRate] = load_iq_tar_file('fading_11a_1.iq.tar');

Page 47: IEICE SR研究会 実習型チュートリアル~無線通信の観測から ......hMod hAWGN hDemod Out_Mod = hMod(Input); Out_AWGN = hAWGN(Out_Mod); Out_Demod = hDemod(Out_AWGN);

47

まとめ

IEICE SR研究会実習型チュートリアル~無線通信の観測から解析まで~体験! MATLABを利用した無線信号の解析と可視化

にご参加頂きありがとうございました。

本セッションでご体験頂いた機能はほんの一部で、他にも様々な機能をお使い頂けます。

本セッションの範囲以外でも、ご不明な点などございましたらお気軽にご連絡ください。