[bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

27
http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. SDRデバイス利用の手引き 2016.04.28 RapidRadioJP 1

Transcript of [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

Page 1: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.

SDRデバイス利用の手引き

2016.04.28 RapidRadioJP

1

Page 2: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.

2

入門SDRデバイス bladeRFの利用方法

Windows MATLAB/Simulink環境版

Page 3: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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の特徴

Page 4: [bladeRF + MATLAB/Simulink] 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

Page 5: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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

Page 6: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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

Page 7: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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/

推奨

Page 8: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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がインストールされていると仮定します

Page 9: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.

インストール手順②

9

デフォルト

インストーラーを利用して環境をセットアップ

Page 10: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.

インストール手順③

10

デフォルト

libusb (WinUSB) を選択

Page 11: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.

インストール手順④

11

デフォルト

デフォルト

Page 12: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.

インストール手順⑤

12

チェックする

Page 13: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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

入力する

出力内容

Page 14: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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

が消えたことを確認してください。

Page 15: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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

Page 16: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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

Page 17: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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

Page 18: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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

Page 19: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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を利用した場合に限ります

Page 20: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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でリストを更新

Page 21: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.

Simulink I/F 設定③

• 新規モデルを作成

21

Page 22: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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

Page 23: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.

Simulink I/F 設定⑤

• bladeRF_sinkのパラメータ設定

– ブロックをダブルクリックすると、パラメータ設定画面が表示される

23

Page 24: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.

Simulink I/F 設定⑥

• bladeRF_sourceのパラメータ設定

24

Page 25: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.

受信スペクトラムの確認①

• 受信スペクトラムを確認してみましょう – “bladerf_source”と”Spectrum Analyzer”を接続する

25

ブロックの△部分にカーソルを運ぶ

+に変わったら、 左クリック

接続先までドラッグ

接続先でドロップ

ブロックの接続方法

Page 26: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

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

Page 27: [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き

http://www.kke.co.jp Copyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.

受信スペクトラムの確認③

• スペクトラムの確認

2. 実行ボタンを押下 3. スペクトラムが表示される

27

1. bladeRFのRx端子にアンテナを接続

実行