ns-3上への指向性全二重通信の実装について †directionalfdwifiモジュール †ns-3上で指向性アンテナを用いた無線全二重通信の検証ができるようにdirectionalfdwifiモジュールを実装しました。 directionalfdwifiモジュールとはns-3上への全二重通信の実装に示したfdwifiモジュールを拡張したモジュールです。 directionalfdwifiモジュールでは、中継しながら全二重通信可能なRFD (Relay Full-Duplex)-MACに指向性アンテナを適用しています。directionalfdwifiモジュールを編集することで、ns-3上で指向性アンテナを用いた全二重通信のシミュレーションをすることが可能です。 wifiantenna・orientationモジュール †directionalfdwifiモジュールのアンテナモデルとしてns-3上への指向性通信の実装で示したwifiantennaモジュール、指向性アンテナやノードの方向を表すモデルとしてns-3上への指向性通信の実装で示したorientationモジュールを用いました。 directionalfdwifiのインストール方法 †directionalfdwifiはns-3.20のwifiモジュールを改良して作成したため、ns-3.20のみ動作が保証されています。ここではホームディレクトリにns-3.20がインストールされていると仮定してdirectionalfdwifiの使用方法を記載します。ns-3.20のインストールは、↓を参考にして下さい。 プログラムのダウンロード †まず、git(ns3-directionalfdwifi)からソースコードをダウンロードします。https://github.com/yusuke-sugiyama/ns-3-directionalfdwifiを開くと↓のページが表示されます。 右下のDownload ZIPをクリックすると「ns-3-directionalfdwifi-master.zip」がダウンロードできます。 プログラムの配置方法 †ダウンロードした「ns-3-directionalfdwifi-master.zip」をhomeディレクトリに置いたと仮定して話を進めます。まず、以下のコマンドを利用してzipを解凍します。 unzip ns-3-directionalfdwifi-master.zip すると、「ns-3-directionalfdwifi-master」ディレクトリが生成されるのでcdコマンドでそのディレクトリに移動します。 cd ns-3-directionalfdwifi-master 次に、「ns-3-directionalfdwifi-master/src」の中身をns-3.20の「src」に上書き、「ns-3-directionalfdwifi-master/scratch」の中身ををns-3.20の「scratch」に追加します。 ns-3.20の「scratch」に「directionafdlwifi」フォルダが追加されます。 ns-3.20の「src」に「wifiantenna」・「orientation」フォルダが追加されます。 ns-3.20の「src/wifi」・「src/antenna」の一部のソースファイルが上書きされますのでご注意ください。 cp -r src/* ../ns-allinone-3.20/ns-3.20/src/ cp -r scratch/* ../ns-allinone-3.20/ns-3.20/scratch/ 最後にns-3.20のディレクトリに移動して、「waf」を用いてビルドします。 cd ~/ns-allinone-3.20/ns-3.20/ ./waf configure ./waf これで、プログラムの配置は完了です。 directionalfdwifiのチュートリアル †directionalfdwifiモジュールの ダウンロードからプログラムの配置 を行っていない場合はそちらを先にして下さい。チュートリアルでは、directionalfdwifiモジュールが使用可能であること、ホームディレクトリにns-3.20がインストールされていることとして話を進めていきます。 ns-3.20のインストールは、↓を参考にして下さい。 プログラムの実行方法 †まず、ns-3.20の「scratch/directionalfdwifi」ディレクトリに移動します。 cd ~/ns-allinone-3.20/ns-3.20/scratch/directionalfdwifi/ 以下のコマンドを実行することでデフォルト値でシミュレーションを実行することが可能です。 ./waf --run "directionalfdwifi" ↓の図に実行結果を示します。 プログラムの実行結果確認方法 †まず、ns-3.20の「scratch/directionalfdwifi」ディレクトリに移動します。 cd ~/ns-allinone-3.20/ns-3.20/scratch/directionalfdwifi/ catコマンドを利用してシミュレーションの実行結果を確認できます。 cat ../../data-run-xxxxxxxxxx.sca ※ xxxxxxxxxx には数字が入ります ↓の図に実行結果を示します。 パラメータ
プログラムの詳細 †シミュレーションのパラメータ
アンテナのパラメータ
トポロジ
↓の図にシミュレーションで用いたトポロジを示します。 シミュレーションの終了条件
directionalfdwifiの詳細 †仕様説明 †実装した全二重通信のプロトコルであるRFD-MACに関する論文を載せます。 適用した指向性アンテナのモデルと指向性アンテナの制御について解説したPDFを載せます。 Kenta Tamaki, Yusuke Sugiyama, Ari Raptino H., Masaki Bandai , Shunsuke Saruwatari, Takashi Watanabe, Full Duplex Media Access Control for Wireless Multi-hop Networks, Proceedings of the IEEE 77th Vehicular Technology Conference (IEEE VTC2013-Spring), 2013 玉置 健太,Ari Raptino H.,杉山 佑介,猿渡 俊介,渡辺 尚,無線全二重通信を利用した中継MACプロトコルの評価,電子情報通信学会技術研究報告, vol. 112, no. 405, AN2012-50, pp. 37-42, 2013 新規に追加したファイル †ns-3上への指向性通信の実装と同じです。
変更したファイル †antenna/model/angles.cc (h) †変更点
追加関数
変更関数
wifi/helper/yans-wifi-helper.cc (h) †変更点
追加変数
追加関数
変更関数
wifi/model/mac-low.cc (h) †変更点
追加関数
変更関数
wifi/model/wifi-phy.cc (h) †変更点
追加関数
wifi/model/yans-wifi-phy.cc (h) †変更点
追加変数
追加関数
変更関数
wifi/model/yans-wifi-channel.cc (h) †変更点
変更関数
|