[bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き
-
Upload
rapidradiojp -
Category
Business
-
view
1.195 -
download
34
Transcript of [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
SDRデバイス利用の手引き
2016.04.28 RapidRadioJP
1
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
2
入門SDRデバイス bladeRFの利用方法
Windows MATLAB/Simulink環境版
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
3
• USB 3.0 バスパワー動作のソフトウェア無線機 (送信電力約 6dBm)
• キャリア周波数300MHz~3.8GHzに対応 (トランスバータ使用時 60kHz-300MHz)
• 3MHz~28MHz帯域のアナログフィルタ (LPF) を搭載、信号帯域幅は最大28MHz
• 12bit ADC/DACを搭載しRx/Tx最大40Mspsの直交 (quadrature) サンプリング
• 受信したIQ信号、合成したIQ信号のファイル保存, IQ信号ファイルの再生機能
• 16 ビットDAC を用いて出荷時調整済の38.4MHz +/- 1ppm VCTCXO
• 512KB SRAM 搭載オンボード200MHz ARM9 プロセッサ搭載 (JTAG ポート付)
• オンボード40KLE/115KLE Altera Cyclone 4E FPGA 搭載 (JTAG ポート付)
• 同期用SMBコネクタにより2x2 MIMO構成可能 (最大4x4 MIMOまで拡張可能)
• GPIO, Ethernet 用など拡張可能なモジュラボード設計 1PPS 精度で同期可能
• 低ノイズ、低消費電力アーキテクチャ
Nuand HP (http://www.nuand.com/)
bladeRF SDRの特徴
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
RF Transceiver IC (LMS6002D)
4
Data Sheet: http://www.limemicro.com/download/LMS6002Dr2-DataSheet-1.2r0.pdf
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
ソフトウェアセットアップ
本スライドでは、MATLAB/Simulink & Windows のセットアップを紹介
MATLAB/Simulink & Windows以外はWiki参照 https://github.com/Nuand/bladeRF/wiki
5
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
ソフトウェア環境例
• ユーザプログラム-ドライバ間 I/F – MATLAB/Simulink, GNURadio(GNURadioCompanion), etc.
• 対応OS – Windows, Linux, MacOS に対応
• ファームウェア、ドライバを提供 – ソースコードは公開: https://github.com/Nuand/bladeRF
bla
deR
F
ドライバ
USB3.0 MATLAB/ Simulink
ユーザプログラム
PC
MAT
LAB
I/F
I-Q サンプル
6
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
7
SDRとMATLAB/Simulinkのツールボックス (信号処理および通信)
• Signal Processing Toolbox
– 信号処理、解析およびアルゴリズム開発
• DSP System Toolbox
– 信号処理システムの設計およびシミュレーション
• Communications System Toolbox
– 通信システムの物理層の設計とシミュレーション
• Wavelet Toolbox
– ウェーブレット理論を用いた信号、画像の解析および合成
• RF Toolbox
– RFコンポーネント回路の設計、モデリングおよび解析
• Antenna Toolbox
– Design, analyze, and visualize antenna elements and antenna arrays
• Phased Array System Toolbox
– フェーズド アレイ信号処理システムの設計およびシミュレーション
• LTE System Toolbox
– LTE および LTE-Advanced ワイヤレス通信システムの物理層のシミュレーション
• WLAN System Toolbox
– 無線LAN通信システムの物理層のシミュレーション
MathWorks社Webサイト: http://jp.mathworks.com/products/
推奨
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
インストール手順①
8
対象ファイルをダウンロード Installers bladeRF-win-installer-2015.07.exe
Firmware bladeRF_fw_v1.8.0.img
FPGAImage hostedx40_0.3.4.rbf
ダウンロード先: Installers : https://www.nuand.com/installers.php Firmware : https://www.nuand.com/fx3.php FPGA : https://www.nuand.com/fpga.php
既に、MATLAB/Simulinkがインストールされていると仮定します
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
インストール手順②
9
デフォルト
インストーラーを利用して環境をセットアップ
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
インストール手順③
10
デフォルト
libusb (WinUSB) を選択
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
インストール手順④
11
デフォルト
デフォルト
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
インストール手順⑤
12
チェックする
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
接続と設定①
• 接続確認
1. bladeRFをPCに接続
2. コマンドプロンプトを起動し、以下を実行
C:¥Program Files¥bladeRF¥x64> bladerf-cli -p Backend: libusb Serial: 6aa678f15ed09268c24551503863f2c5 USB Bus: 3 USB Address: 15
13
入力する
出力内容
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
接続と設定②
• バージョン確認
• FPGAイメージの書き込み C:¥Program Files¥bladeRF¥x64> bladerf-cli -L hostedx40_0.3.4.rbf Loading fpga... Done.
C:¥Program Files¥bladeRF¥x64> bladerf-cli -i bladeRF> version bladeRF-cli version: 1.2.0 libbladeRF version: 1.4.0 Firmware version: 1.8.0 FPGA version: 0.3.4 bladeRF> quit
14
入力する
出力内容
インタラクティブモードでは、bladeRFが使用中の状態になります。最後に quit で抜け、LED
が消えたことを確認してください。
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
接続と設定③
• Firmwareの更新 C:¥Program Files¥bladeRF¥x64> bladerf-cli -f bladeRF_fw_v1.8.0.img Flashing firmware... [INFO @ usb.c:604] Erasing 3 blocks starting at block 0 [INFO @ usb.c:609] Erased block 2 [INFO @ usb.c:617] Done erasing 3 blocks [INFO @ usb.c:811] Writing 479 pages starting at page 0 [INFO @ usb.c:815] Writing page 478 [INFO @ usb.c:824] Done writing 479 pages [INFO @ flash.c:110] Verifying 479 pages, starting at page 0 [INFO @ usb.c:709] Reading 479 pages starting at page 0 [INFO @ usb.c:712] Reading page 478 [INFO @ usb.c:723] Done reading 479 pages Done. A power cycle is required for this to take effect.
15
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
接続と設定④
• FPGAイメージとFirmwareの互換性
– 2015.07リリースの安定板を利用しています(2016.04現在)
– お使いのbladeRFのバージョンを確認してください
• 異なる場合には、接続と設定①~③のようにFPGAとFirmwareの書き換えをお願いします
16
No. Installer Ver. FPGA Ver. Firmware Ver. Details
1 bladeRF-win-installer-2015.07.exe 0.3.4 1.8.0 Stable
2 bladeRF-win-installer-2016.01-rc1.exe 0.5.0 1.9.0 PreRelease
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
接続と設定④
• bladerf-cliのヘルプ例 (bladerf-cli –helpで表示)
オプション 引数 説明
-d, --device device 指定したbladeRFデバイスを使用する
-f, --flash-firmware file 指定したファームウェアをフラッシュする
-l, --load-fpga file 指定したFPGAをロードする
-L, --flash-fpga file オートロードのために指定したFPGAをフラッシュする
-p, --probe - デバイスをプローブし、結果を表示する
-s, --script File スクリプトを実行する
-i, --interactive - インタラクティブモードに入る
--lib-version - libbladeRFのバージョンを表示する
-v, --verbosity Level ログの詳細度を設定する (critical, error, warning, info, debug, verbose)
--version - CLIのバージョンを表示する 17
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
接続と設定⑤
• DCオフセットの自動補正 実行例
参考: https://github.com/Nuand/bladeRF/wiki/DC-offset-and-IQ-Imbalance-Correction
C:¥Program Files¥bladeRF¥x64> bladerf-cli -i bladeRF> set frequency 455.55M Set RX frequency: 455550000Hz Set TX frequency: 455550000Hz bladeRF> print rxvga2 RXVGA2 Gain: 3dB bladeRF> set rxvga2 8 bladeRF> cal lms Calibrating LMS LPF tuning module... LPF tuning module: 23 Calibrating LMS TX LPF modules... TX LPF I filter: 35 TX LPF Q filter: 33 Calibrating LMS RX LPF modules... RX LPF I filter: 25 RX LPF Q filter: 25
18
Calibrating LMS RXVGA2 modules... RX VGA2 DC reference module: 27 RX VGA2 stage 1, I channel: 31 RX VGA2 stage 1, Q channel: 35 RX VGA2 stage 2, I channel: 23 RX VGA2 stage 2, Q channel: 29 bladeRF> cal dc rx RX DC I Setting = -4, error ~= 0 RX DC Q Setting = 156, error ~= 0 bladeRF> quit
LMS6002D (RFトランシーバIC) のキャリブレーションを実行
RXモジュールのキャリブレーションを実行 TXモジュールの場合: cal dc tx
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
Simulink I/F 設定①
• 修正版のファイルでProgram Filesのファイルを上書きする
– C:¥Program Files¥bladeRF¥x64
• bladerf.slx
• bladerf_sink.mexw64
• bladerf_source.mexw64
• MATLAB/Simulinkを起動しパスの設定から下記が設定されていることを確認。ない場合は追加する
– C:¥Program Files¥bladeRF¥x64
– C:¥Program Files¥bladeRF¥blockset
19
ただし、bladeRF-win-installer-2015.07.exeを利用した場合に限ります
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
Simulink I/F 設定②
• bladeRF用のsinkブロック、sourceブロックの表示
1. MATLABを起動し、ホームタブから「Simulinkライブラリ」を押下
2. リストから「Nuand bladeRF Software Defined Radio」を選択
20
注:「Nuand bladeRF Software Defined Radio」がない場合、F5でリストを更新
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
Simulink I/F 設定③
• 新規モデルを作成
21
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
Simulink I/F 設定④
• ドラッグ&ドロップでSimulinkエディターに張り付け
bladeRF_sink: ドライバの送信側とのインタフェース bladeRF_source: ドライバの受信側とのインタフェース
参考: Simulinkのドキュメント (http://jp.mathworks.com/help/simulink/index.html)
22
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
Simulink I/F 設定⑤
• bladeRF_sinkのパラメータ設定
– ブロックをダブルクリックすると、パラメータ設定画面が表示される
23
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
Simulink I/F 設定⑥
• bladeRF_sourceのパラメータ設定
24
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
受信スペクトラムの確認①
• 受信スペクトラムを確認してみましょう – “bladerf_source”と”Spectrum Analyzer”を接続する
25
ブロックの△部分にカーソルを運ぶ
+に変わったら、 左クリック
接続先までドラッグ
接続先でドロップ
ブロックの接続方法
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
受信スペクトラムの確認②
• パラメータを設定
– 2.4GHz帯
26
Sample Rate (SPS): 20e6 Low Pass Bandwidth: 20MHz Samples per frame: 1024 Output Type: Frame
Carrier Frequency (Hz): 2.447e9 RXLNA Gain (dB): 6dB RXVGA1 Gain (dB): 30 RXVGA2 Gain (dB): 10
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
受信スペクトラムの確認③
• スペクトラムの確認
2. 実行ボタンを押下 3. スペクトラムが表示される
27
1. bladeRFのRx端子にアンテナを接続
実行