SlideShare uma empresa Scribd logo
1 de 27
Baixar para ler offline
http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
SDRデバイス利用の手引き
2016.04.28 RapidRadioJP
1
http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
2
入門SDRデバイス
bladeRFの利用方法
Windows
MATLAB/Simulink環境版
http://www.kke.co.jpCopyright © 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.jpCopyright © 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.jpCopyright © 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.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
ソフトウェア環境例
• ユーザプログラム-ドライバ間 I/F
– MATLAB/Simulink, GNURadio(GNURadioCompanion), etc.
• 対応OS
– Windows, Linux, MacOS に対応
• ファームウェア、ドライバを提供
– ソースコードは公開: https://github.com/Nuand/bladeRF
bladeRF
ドライバ
USB3.0
MATLAB/
Simulink
ユーザプロ
グラム
PC
MATLABI/F
I-Q
サンプル
6
http://www.kke.co.jpCopyright © 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.jpCopyright © 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.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
インストール手順②
9
デフォルト
インストーラーを利用して環境をセットアップ
http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
インストール手順③
10
デフォルト
libusb (WinUSB) を選択
http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
インストール手順④
11
デフォルト
デフォルト
http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
インストール手順⑤
12
チェックする
http://www.kke.co.jpCopyright © 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.jpCopyright © 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.jpCopyright © 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.jpCopyright © 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.jpCopyright © 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.jpCopyright © 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.jpCopyright © 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.jpCopyright © 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.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
Simulink I/F 設定③
• 新規モデルを作成
21
http://www.kke.co.jpCopyright © 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.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
Simulink I/F 設定⑤
• bladeRF_sinkのパラメータ設定
– ブロックをダブルクリックすると、パラメー
タ設定画面が表示される
23
http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
Simulink I/F 設定⑥
• bladeRF_sourceのパラメータ設定
24
http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
受信スペクトラムの確認①
• 受信スペクトラムを確認してみましょう
– “bladerf_source”と”Spectrum Analyzer”を接続する
25
ブロックの△部分に
カーソルを運ぶ
+に変わったら、
左クリック
接続先までドラッグ
接続先でドロップ
ブロックの接続方法
http://www.kke.co.jpCopyright © 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.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved.
受信スペクトラムの確認③
• スペクトラムの確認
2. 実行ボタンを押下 3. スペクトラムが表示される
27
1. bladeRFのRx端子にアンテナを接続
実行

Mais conteúdo relacionado

Mais procurados

30分でわかる広告エンジンの作り方
30分でわかる広告エンジンの作り方30分でわかる広告エンジンの作り方
30分でわかる広告エンジンの作り方
Daisuke Yamazaki
 

Mais procurados (20)

xrmtg20210317
xrmtg20210317xrmtg20210317
xrmtg20210317
 
z変換をやさしく教えて下さい (音響学入門ペディア)
z変換をやさしく教えて下さい (音響学入門ペディア)z変換をやさしく教えて下さい (音響学入門ペディア)
z変換をやさしく教えて下さい (音響学入門ペディア)
 
Gpu vs fpga
Gpu vs fpgaGpu vs fpga
Gpu vs fpga
 
Task Spooler を試した
Task Spooler を試したTask Spooler を試した
Task Spooler を試した
 
自然言語処理に基づく商品情報の整理および構造化
自然言語処理に基づく商品情報の整理および構造化自然言語処理に基づく商品情報の整理および構造化
自然言語処理に基づく商品情報の整理および構造化
 
30分でわかる広告エンジンの作り方
30分でわかる広告エンジンの作り方30分でわかる広告エンジンの作り方
30分でわかる広告エンジンの作り方
 
CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)CTF超入門 (for 第12回セキュリティさくら)
CTF超入門 (for 第12回セキュリティさくら)
 
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
3種類のTEE比較(Intel SGX, ARM TrustZone, RISC-V Keystone)
 
大規模DCのネットワークデザイン
大規模DCのネットワークデザイン大規模DCのネットワークデザイン
大規模DCのネットワークデザイン
 
JVMパラメータチューニングにおけるOptunaの活用事例 ( Optuna Meetup #1 )
JVMパラメータチューニングにおけるOptunaの活用事例 ( Optuna Meetup #1 ) JVMパラメータチューニングにおけるOptunaの活用事例 ( Optuna Meetup #1 )
JVMパラメータチューニングにおけるOptunaの活用事例 ( Optuna Meetup #1 )
 
TLS, HTTP/2演習
TLS, HTTP/2演習TLS, HTTP/2演習
TLS, HTTP/2演習
 
Elixir入門「第2回:PC間で通信するアプリをサクっと書いてみる」
Elixir入門「第2回:PC間で通信するアプリをサクっと書いてみる」Elixir入門「第2回:PC間で通信するアプリをサクっと書いてみる」
Elixir入門「第2回:PC間で通信するアプリをサクっと書いてみる」
 
Code Golf
Code GolfCode Golf
Code Golf
 
ソフトウェアエンジニアに知ってほしいAerospike
ソフトウェアエンジニアに知ってほしいAerospikeソフトウェアエンジニアに知ってほしいAerospike
ソフトウェアエンジニアに知ってほしいAerospike
 
宅内10G化にむけて
宅内10G化にむけて宅内10G化にむけて
宅内10G化にむけて
 
公共交通データHUBシステム 取組と事例紹介
公共交通データHUBシステム 取組と事例紹介公共交通データHUBシステム 取組と事例紹介
公共交通データHUBシステム 取組と事例紹介
 
DockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General SessionDockerCon EU 2015: Day 1 General Session
DockerCon EU 2015: Day 1 General Session
 
自宅サーバーの世界へようこそ LT版
自宅サーバーの世界へようこそ LT版自宅サーバーの世界へようこそ LT版
自宅サーバーの世界へようこそ LT版
 
IIJmio meeting 18 eSIMとMVNO
IIJmio meeting 18 eSIMとMVNOIIJmio meeting 18 eSIMとMVNO
IIJmio meeting 18 eSIMとMVNO
 
LoRaWAN と日本のIoT無線通信システム
LoRaWAN と日本のIoT無線通信システムLoRaWAN と日本のIoT無線通信システム
LoRaWAN と日本のIoT無線通信システム
 

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

FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
Takefumi MIYOSHI
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
Takuya ASADA
 

Semelhante a [bladeRF + MATLAB/Simulink] SDRデバイス利用の手引き (20)

SDN Japan: ovs-hw
SDN Japan: ovs-hwSDN Japan: ovs-hw
SDN Japan: ovs-hw
 
Multi Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud buildersMulti Chassis LAG for Cloud builders
Multi Chassis LAG for Cloud builders
 
Bird in show_net
Bird in show_netBird in show_net
Bird in show_net
 
osoljp 2011.08
osoljp 2011.08osoljp 2011.08
osoljp 2011.08
 
Trema day 1
Trema day 1Trema day 1
Trema day 1
 
[DL Hacks]FPGA入門
[DL Hacks]FPGA入門[DL Hacks]FPGA入門
[DL Hacks]FPGA入門
 
LoRaWAN v1.1仕様読解 Class A
LoRaWAN v1.1仕様読解 Class ALoRaWAN v1.1仕様読解 Class A
LoRaWAN v1.1仕様読解 Class A
 
200625material naruse
200625material naruse200625material naruse
200625material naruse
 
あるRISC-V CPUの 浮動小数点数(異常なし)
あるRISC-V CPUの 浮動小数点数(異常なし)あるRISC-V CPUの 浮動小数点数(異常なし)
あるRISC-V CPUの 浮動小数点数(異常なし)
 
Kernel vm-2014-05-25
Kernel vm-2014-05-25Kernel vm-2014-05-25
Kernel vm-2014-05-25
 
製品コンフィグレーションガイド
製品コンフィグレーションガイド製品コンフィグレーションガイド
製品コンフィグレーションガイド
 
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
OpenStack Kilo with 6Wind VA High-Performance Networking Using DPDK - OpenSta...
 
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
Lagopusで試すL3ルーティング + α (Lagopusの設定方法いろいろ)
 
FD.io VPP事始め
FD.io VPP事始めFD.io VPP事始め
FD.io VPP事始め
 
屋外向け 8chLoRaWANゲートウェイ DLOS8 日本語マニュアル
屋外向け 8chLoRaWANゲートウェイ  DLOS8 日本語マニュアル屋外向け 8chLoRaWANゲートウェイ  DLOS8 日本語マニュアル
屋外向け 8chLoRaWANゲートウェイ DLOS8 日本語マニュアル
 
Container Networking Deep Dive
Container Networking Deep DiveContainer Networking Deep Dive
Container Networking Deep Dive
 
FPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみたFPGAのトレンドをまとめてみた
FPGAのトレンドをまとめてみた
 
Interrupt Affinityについて
Interrupt AffinityについてInterrupt Affinityについて
Interrupt Affinityについて
 
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
電波望遠鏡用の分光器をAltera SDK for OpenCL使ってサクッと作ってみた
 
Volta は、Chainer で使えるの?
Volta は、Chainer で使えるの?Volta は、Chainer で使えるの?
Volta は、Chainer で使えるの?
 

Último

物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
Michael Rada
 

Último (6)

物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
物流は成長の準備ができていますか? 警告 1 日あたり 1 章を超えて消費しないでください コンテンツが覚醒と変化への意志を引き起こす
 
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
セルフケア研修で使えるカードゲーム『攻略!きみのストレスを発見せよ!: ゲームで身につくストレスマネジメント』
 
Broadmedia Corporation. 240510fy2023_4q
Broadmedia Corporation.  240510fy2023_4qBroadmedia Corporation.  240510fy2023_4q
Broadmedia Corporation. 240510fy2023_4q
 
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
共有用_aio基本保守プラン_WordPressサイト_20240509.pdf
 
日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略
日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略
日本上場SaaS企業データを使った経験曲線の分析|売上成長によるコストダウン戦略
 
company profile.pdf
company profile.pdfcompany profile.pdf
company profile.pdf
 

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

  • 1. http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. SDRデバイス利用の手引き 2016.04.28 RapidRadioJP 1
  • 2. http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. 2 入門SDRデバイス bladeRFの利用方法 Windows MATLAB/Simulink環境版
  • 3. http://www.kke.co.jpCopyright © 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の特徴
  • 4. http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. RF Transceiver IC (LMS6002D) 4 Data Sheet: http://www.limemicro.com/download/LMS6002Dr2-DataSheet-1.2r0.pdf
  • 5. http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. ソフトウェアセットアップ 本スライドでは、MATLAB/Simulink & Windows のセットアップを紹介 MATLAB/Simulink & Windows以外はWiki参照 https://github.com/Nuand/bladeRF/wiki 5
  • 6. http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. ソフトウェア環境例 • ユーザプログラム-ドライバ間 I/F – MATLAB/Simulink, GNURadio(GNURadioCompanion), etc. • 対応OS – Windows, Linux, MacOS に対応 • ファームウェア、ドライバを提供 – ソースコードは公開: https://github.com/Nuand/bladeRF bladeRF ドライバ USB3.0 MATLAB/ Simulink ユーザプロ グラム PC MATLABI/F I-Q サンプル 6
  • 7. http://www.kke.co.jpCopyright © 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/ 推奨
  • 8. http://www.kke.co.jpCopyright © 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がインストールされていると仮定します
  • 9. http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. インストール手順② 9 デフォルト インストーラーを利用して環境をセットアップ
  • 10. http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. インストール手順③ 10 デフォルト libusb (WinUSB) を選択
  • 11. http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. インストール手順④ 11 デフォルト デフォルト
  • 12. http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. インストール手順⑤ 12 チェックする
  • 13. http://www.kke.co.jpCopyright © 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 入力する 出力内容
  • 14. http://www.kke.co.jpCopyright © 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 が消えたことを確認してくださ い。
  • 15. http://www.kke.co.jpCopyright © 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
  • 16. http://www.kke.co.jpCopyright © 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
  • 17. http://www.kke.co.jpCopyright © 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
  • 18. http://www.kke.co.jpCopyright © 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
  • 19. http://www.kke.co.jpCopyright © 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を利用した場合に限ります
  • 20. http://www.kke.co.jpCopyright © 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でリストを更新
  • 21. http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. Simulink I/F 設定③ • 新規モデルを作成 21
  • 22. http://www.kke.co.jpCopyright © 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
  • 23. http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. Simulink I/F 設定⑤ • bladeRF_sinkのパラメータ設定 – ブロックをダブルクリックすると、パラメー タ設定画面が表示される 23
  • 24. http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. Simulink I/F 設定⑥ • bladeRF_sourceのパラメータ設定 24
  • 25. http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. 受信スペクトラムの確認① • 受信スペクトラムを確認してみましょう – “bladerf_source”と”Spectrum Analyzer”を接続する 25 ブロックの△部分に カーソルを運ぶ +に変わったら、 左クリック 接続先までドラッグ 接続先でドロップ ブロックの接続方法
  • 26. http://www.kke.co.jpCopyright © 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
  • 27. http://www.kke.co.jpCopyright © KOZO KEIKAKU ENGINEERING Inc. All Rights Reserved. 受信スペクトラムの確認③ • スペクトラムの確認 2. 実行ボタンを押下 3. スペクトラムが表示される 27 1. bladeRFのRx端子にアンテナを接続 実行