物理層&mac層の マルチレイヤシミュレーションと …...2 go-back-n...

43
1 © 2014 The MathWorks, Inc. 物理層&MAC層の マルチレイヤシミュレーションとコード生成 MathWorks Japan アプリケーションエンジニアリング部 シニアアプリケーションエンジニア 田中明美

Upload: others

Post on 12-Jan-2020

0 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

1© 2014 The MathWorks, Inc.

物理層&MAC層のマルチレイヤシミュレーションとコード生成

MathWorks Japan

アプリケーションエンジニアリング部

シニアアプリケーションエンジニア

田中明美

Page 2: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

2

Go-Back-N (クロスレイヤモデル)

BER/PER特性の確認

Bitレベルで雑音を加えているため、PERだけでなく、BERも評価可能

Page 3: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

3

Go-Back-N

振る舞い

送信側 受信側

Frame1

Frame2

Frame3

Frame4

Frame5

Frame6

Frame5

Frame6

ACK1

ACK2

ACK3

ACK4

未到達

timeout

ウィンドウサイズ

往復遅延時間

Page 4: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

4

Go-Back-N (クロスレイヤモデル)

フレーム生成

1

OUT

IN OUT

Set Attribute

IN OUT

Sequence Number

OUT

Frame Generator

1

OUT

parity bitPKT_IN1

Set Parity Bit

IN1

IN2

IN3

OUT

Packet Generator

TRAILER

Generate Trailers

PAYLOAD

Generate Payloads

HEADER

Generate Headers

MACモデル

PHY/MAC クロスレイヤモデル

ヘッダ、ペイロード、トレイラ等、実際のフレーム構成をふまえてattribute情報を付加

各entityに付加するattribute情報は、シーケンシャル番号のみ

Page 5: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

5

Go-Back-N (クロスレイヤモデル)

物理層付加

以下のattributeを取りだす seqNum(シーケンシャル番号) Payload(ペイロード) Parity Bit(CRCパリティ)

Page 6: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

6

Go-Back-N (クロスレイヤモデル)

物理層付加

取り出したattribute “Payload”,

“Parity Bit”について、以下のPHYレイヤ処理を行う

BCH符号/復号 BPSK変復調 白色雑音付加

Page 7: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

7

アジェンダ

Simulink®シミュレーション環境

Stateflow®とは?

Stateflow®からのコード生成

SimEvents®とは?

アプリケーション例(CSMA/CD)

まとめ

Page 8: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

8

アジェンダ

Simulink®シミュレーション環境

Stateflow®とは?

Stateflow®からのコード生成

SimEvents®とは?

アプリケーション例(CSMA/CD)

まとめ

Page 9: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

9

Simulink環境

SimulinkDiscrete

Event

(SimEvents)

パケットメモリ処理

Decision

Logic

(Stateflow)

シーケンス処理例外処理条件判定

Time-Driven Dynamics

(Simulink

DSP System Toolbox

Communications System

Toolbox

Phased Array System

Toolbox)

基本環境変復調エラー訂正チャネルビームフォーミング到来方向推定スペアナ表示

Frequency-Driven

(SimRF)

ミキサアンプLNA

マルチドメイン/マルチレイヤのシミュレーションCコード/HDLコード生成

Code Generation

(Simulink Coder

Embedded Coder

HDL Coder)

CコードHDLコード

LTE System Toolbox

Page 10: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

10

アジェンダ

Simulink®シミュレーション環境

Stateflow®とは?

Stateflow®からのコード生成

SimEvents®とは?

アプリケーション例(CSMA/CD)

まとめ

Page 11: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

11

Stateflowとは?

状態遷移図・状態遷移表・フローチャート機能を提供

Simulinkとシームレスに連携(Simulinkが必要)

階層化、並列化、関数化、時相論理に対応

コード生成、モデル検証等各種オプション機能に対応

上位階層

下位階層

Stateflow

Page 12: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

12

主な機能

フローチャート 状態遷移図 状態遷移表

処理の流れで

ロジックを表現

状態の移り変わりで

ロジックを表現状態遷移図の表形式

Page 13: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

13

Stateflow ブロック

エントリの方法

状態遷移図

状態遷移表

真理値表

ドラッグ&ドロップでモデルに配置

Page 14: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

14

Stateflow エディタ オブジェクトパレット

上から順に

ズーム

表示範囲のフィッティング

状態

分岐点(コネクティブジャンクション)

遷移線(トランジション)

ボックス

Simulink関数

グラフィカル関数

MATLAB関数

真理値表

ヒストリージャンクション

Page 15: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

15

状態のハイライト、MATLAB関数のコール

現在の状態がハイライトされどの状態に繊維しているか確認可能

MATLAB関数をチャートからコール

Page 16: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

16

HUNTSYNC_FLG<=‘0’

LOSTSYNC_FLG<=‘1’

SYNCSYNC_FLG<=‘1’

FOUNDSYNC_FLG<=‘0’COUNT=FRAME

andCODE_HIT=‘0’

COUNT=FRAMEand

CODE_HIT=‘1’

COUNT=FRAMEand

CODE_HIT=‘0’

COUNT=FRAMEand

CODE_HIT=‘0’

COUNT=FRAMEand

CODE_HIT=‘1’

CODE_HIT=‘1’

Stateflowの活用例フレーム同期信号検出

DATAI

SYNC_FLG

FP

同じ機能のHDLコード完成まで2時間(モデリング 0.5h 検証 1.5h)

DATAO

参考文献CQ出版社 DesignWave BooksHDL サンプル記述集 まねして身につけるディジタル回路設計

Page 17: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

17

アジェンダ

Simulink®シミュレーション環境

Stateflow®とは?

Stateflow®からのコード生成

SimEvents®とは?

アプリケーション例(CSMA/CD)

まとめ

Page 18: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

18

Simulink/StateflowからのCコード生成

Page 19: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

19

Simulink/StateflowからのHDLコード生成

Page 20: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

20

アジェンダ

Simulink®シミュレーション環境

Stateflow®とは?

Stateflow®からのコード生成

SimEvents®とは?

アプリケーション例(CSMA/CD)

まとめ

Page 21: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

21

SimEventsとは?

エンティティとは?サーバーとは?

パケット処理

Page 22: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

22

ケンドール記号

22

D / D / 1

SimEvents標準デモ

到着間隔の分布

サービス時間の分布

サーバの数

D : 一定分布

M : ランダム分布

G : 一般分布

Page 23: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

23

15分 8分

10分 9分

1 2

3

2 3

3

5分 4分

15分

4

10分

1

Server A

エンティティの到着する間隔: ランダム

サービス時間: ランダム

サーバの数: 1待ち状態が発生

イベント

ランダム時間

サービス時間ランダム時間

エンティティの到着

サービス時間

待ち状態

M/M/1 [到着分布/サービス分布/サービス窓口数」

ケンドールの記号

2 4

Page 24: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

24

Precision Time Protocol とは?

出典:http://ja.wikipedia.org/wiki/Time_Protocol#PTP.28Precision_Time_Protocol.29

Page 25: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

25

Precision Time Protocol とは?プロトコルメッセージ

Master Clock Sync

Master Clock Delay Response

Slave Clock Delay Request

少なくても1台のMasterと1台のSlaveが必要

タイムスタンプの位置One-step clock

Two-step clock

4種類のタイムスタンプT1:Masterが同期メッセージを送信した時間T2:Slaveが同期メッセージを受信した時間T3:SlaveからDelay Requestメッセージを送信した時間T4:MasterがDelay Responseメッセージを受信した時間

Master Clock Slave Clock

T1,Sync

Sync follow up

T4

Delay Response

T2

T3

Delay Request

Page 26: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

26

Precision Time Protocol Systemのモデリング

Master Channel Slave

Page 27: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

27

Master

SlaveへT1を含むパケット送信

Slaveからのパケット受信

Slaveへ返信

Page 28: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

28

Channel

MasterからSlaveへ

MasterからSlaveへ

Slave からMasterへ

Page 29: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

29

Slave

Masterへパケット送信

Page 30: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

30

シミュレーション結果

片方向遅延 黄: 瞬間遅延 青: 平均遅延

遅延時間(Master to Slave)

遅延時間(Slave to Master)

Page 31: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

31

アジェンダ

Simulink®シミュレーション環境

Stateflow®とは?

Stateflow®からのコード生成

SimEvents®とは?

アプリケーション例(CSMA/CD)

まとめ

Page 32: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

32

CSMA/CDの概要

信号が流れていないか確認

信号がなければ伝送開始

信号を検出送信を待つ

信号がなければ伝送開始

同時に送信したため衝突

双方ランダム時間待って再送

バックオフは15回繰り返し、16回目にフレーム破棄

Page 33: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

33

CSMA/CD

33

☆3台の端末によるCSMA/CDアルゴリズムのモデル(10Mbps)

☆端末(Entity生成、MAC、接続点)とケーブルにより構成

MACEntity生成

ケーブル長による遅延

端末

Page 34: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

3434

Backoff (Stateflow)

CSMA/CD

CSMA/CD

Page 35: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

3535

①親サブシステムのInfinite Server(Chanel State)内にあるentityの数を入力(I_states)

②I_statesの値が0→1の時、Server内に一つだけパケットがあると判断

→ st端子に0を出力(Collisionなし)

③I_statesの値が1→2の時、st端子に1を出力(Collisionあり)

① ②③

CSMA/CD

Page 36: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

36

CSMA/CD

36

collision検出

Backkoff時間を計算

Page 37: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

37

CSMA/CD

10Mb/s

パケットは可変長(64~1500byte)

パラメータ設定

Page 38: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

38

CSMA/CD

38

パケット長情報を

attributeとして

伝送

パケット生成レート情報を、entity生成時間に設定

マスクパラメータの受け渡し

Page 39: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

39

CSMA/CD

送出されたパケット数

検出されたコリジョン数

チャネル使用率スループット

Application(B)のパケットレート:200

チャネル使用率スループット

Application(B)のパケットレート:100

Page 40: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

40

まとめ

物理層だけでなくMAC層のモデリング

物理層&MAC層のマルチレイヤモデリング

CSMA/CA,CSMA/CDなどを意識したサンプルモデル

独自のプロトコルの検討

仕様から直感的に理解できるモデリング

コード生成->実装まで幅広いフェーズをカバー

– ツールのトレーニング

– コンサルティングサービス

通信系システム設計、シミュレーションに便利なオプションとサービスをご利用いただけます。

Page 41: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

41

デモブースのご案内

アナログ・デジタル設計からハードウェア実装

© 2014 The MathWorks, Inc. MATLAB and Simulink are registered trademarks of The MathWorks, Inc.

See www.mathworks.com/trademarks for a list of additional trademarks. Other product or brand names

may be trademarks or registered trademarks of their respective holders.

展示ブースデモダイジェスト

Page 42: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

42

ワークショップ(体験型)

2014年12月2日

実際にMATLABを使用して簡単なモデル作成とBER測定までのワークフローをご体験頂けます

詳細はこちらからhttps://go2.mathworks.com/communications-workshop-sem-jp-58863?s_iid=evsem_sem_event_bod

Page 43: 物理層&MAC層の マルチレイヤシミュレーションと …...2 Go-Back-N (クロスレイヤモデル) BER/PER特性の確認 Bitレベルで雑音を加えているため、

43

ご聴講ありがとうございました!

© 2014 The MathWorks, Inc. MATLAB and Simulink are registered

trademarks of The MathWorks, Inc. See www.mathworks.com/trademarks for

a list of additional trademarks. Other product or brand names may be

trademarks or registered trademarks of their respective holders.