ieice sr研若手育成チュートリアル usrpを使用し …...fm局を探そう labview...

85
ni.com IEICE SR 研 若手育成チュートリアル USRP を使用したソフトウェア無線 日本ナショナルインスツルメンツ株式会社

Upload: others

Post on 23-Mar-2020

1 views

Category:

Documents


0 download

TRANSCRIPT

Page 1: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com

IEICE SR研若手育成チュートリアル

USRPを使用したソフトウェア無線

日本ナショナルインスツルメンツ株式会社

Page 2: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 2

本日の内容

• ソフトウェア無線(SDR) - USRPを使った練習問題• 練習問題1:USRPを使用してFM局を探そう

o LabVIEW開発環境について

o USRPを使用したソフトウェア無線

o FM局をモニタ

• 練習問題2:FM放送を復調して聞いてみよう

o LabVIEW プログラムの基礎

o LabVIEWが持っているデジタル信号処理関数

o .m fileをLabVIEWで使う方法について

• デジタル通信• 練習問題3:無線通信のデジタル信号処理について

o デジタル通信のサンプルの確認

o デジタル変調、復調についての基礎

Page 3: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com

ソフトウェア無線(SDR)USRPをスペアナとして使用し、FM局を探そう

LabVIEW開発環境について

USRPを使用したソフトウェア無線

FM局をモニタ

Page 4: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 4

ソフトウェア無線(Software-defined radio)とは、電子回路(ハードウェア)に変更を

加えることなく、制御ソフトウェアを変更することによって、無線通信方式を切り替える

ことが可能な無線通信、又はその技術。一般的には、広い周波数範囲において多く

の変調方式が可能となるよう、ソフトウェアが、なるべく汎用性の高いプログラム可能

なハードウェアを制御するものとして考えられている。

ソフトウェア無線は、汎用コンピュータその他の電子機器が、相当数の信号処理を行

うことで実現される。ソフトウェア無線についての研究は、新しいソフトウェアを動作さ

せるだけで、新しい無線通信方式を実現するような無線機器を作り出すことを目標に

している。

From Wikipedia

ソフトウェア無線とは

Page 5: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 5

ソフトウェア無線 (SDR) とは昨今の携帯電話端末を例に取ると…

技術革新によりもたらされるより高速大容量な変調・符号化方式

より柔軟な多元接続方式 etc LTE: Long-termevolution

現行の携帯電話通信規格

LTE通信システムのハードウェアアーキテクチャの一例

ハードウェアの変更(事実上の機種変更) が必要

無線通信方式はハードウェア設計時点で決まり後から柔軟に変更できない

新たな無線通信方式を導入するには…

LTEモデム(ASIC)

CPURAMなど

A/DD/A

RFフロントエンド

Page 6: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 6

ソフトウェア無線 (SDR) とはソフトウェアで無線通信方式を柔軟に変更するアプローチ

LTEモデム(ASIC)

CPURAMなど

A/DD/A

RFフロントエンド

マイクロ

プロセッサや

FPGA

ASIC: 設計時点で処理が決まっている

マイクロプロセッサやFPGA:ソフトウェアを書き換えれば後から処理を変更できる

注: 携帯電話のアーキテクチャにSDRを導入する是非を議論しているわけではありません

sdr.c sdr.vhdsdr.c sdr.vhd

Page 7: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 7

PCI Express x4 ギガビットイーサネットよりも高速大容量・低遅延 最大50 MS/sのベースバンドIQサンプリング PCI Express, ExpressCard,

PXI Express用インタフェースの提供

USRP RIO (RIO: Reconfigurable I/O)ユーザがプログラム可能なFPGA LabVIEWでプログラム可能 Xilinx Kintex-7シリーズ

チューナブルRFフロントエンド 送信/受信ともに2チャンネルずつ搭載 より容易なMIMO伝送プロトタイピング 周波数範囲

50 MHz – 2.2 GHz (2940R/2950R)400 MHz – 4.4 GHz (2942R/2952R)1.2 – 6 GHz (2943R/2953R)

デジタルI/O プログラマブル トリガ入力などに使用可

Page 8: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 8

NI USRP ソフトウェア無線(SDR)

RF 送受信機 ソフトウェア処理Baseband IQ

Page 9: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 9

USRPとPCの役割

Tx• デジタルアナログ変換

• RF アップコンバージョン• 変調処理

• RF ダウンコンバージョン

• アナログデジタル変換Rx

• 復調処理

• その他の信号処理

Page 10: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 10

I相

Q相

デジタルのベースバンド信号波形

Giga Bit Ethernet

PCI Express

D/A変換

I相

Q相

アップコンバージョン

ベースバンド信号

送信すべきRF信号

情報源符号化

文字列データLabVIEW

バイナリデータ0100110001100001…

ベースバンド

信号処理(通信路符号化、変調など)

PC USRP

USRPとPCの役割 (送信時)

Page 11: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 11

情報源復号

文字列データLabVIEW

バイナリデータ0100110001100001…

ベースバンド

信号処理(復調、通信路

復号など)

I相

Q相

ダウンコンバージョン

ベースバンド信号

受信したRF信号 A/D

変換 I相

Q相

デジタルのベースバンド信号波形

USRP PC

USRPとPCの役割 (受信時)

Giga Bit Ethernet

PCI Express

Page 12: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 12

USRP-29xx ハードウェアアーキテクチャ

RX1/TX1端子

直交変調器(ダイレクトアップコンバータ)RF

スイッチ ゲイン調整

D/A変換器

ローパスフィルタ

RX2端子

90度移相

直交復調器(ダイレクトダウンコンバータ)

A/D変換器

PLL VCO

PLL VCO

送信側LO

受信側LO

90度移相

ゲイン、周波数などのパラメータはLabVIEWで指定

GigaBitEthernet

FPGA

デジタル信号処理を実施

Page 13: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 13

USRP-29xx ハードウェアアーキテクチャ

RX1/TX1端子

直交変調器(ダイレクトアップコンバータ)RF

スイッチ ゲイン調整

GigaBitEthernet

PICe

D/A変換器

ローパスフィルタ

RX2端子

90度移相

直交復調器(ダイレクトダウンコンバータ)

A/D変換器

PLL VCO

PLL VCO

送信側LO

受信側LO

90度移相

FPGA

デジタル信号処理を実施3. Carrier

frequency

1. Devicename

2. IQ rate

5. Gain

6. Numberof samples

4. Activeantenna

Page 14: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 15

1. Device Name – USRPのIPアドレスまたはデバイス名

2. IQ Rate – IQデータのサンプリングレート。周波数帯域に相当

3. Carrier Frequency – 搬送波周波数

4. Antenna – アンテナのポート

5. Gain – 増幅率

6. Fetch size – フェッチサイズ(USRPからPCへデータを転送

する際のデータの”かたまり”の数)

USRPで使用される6つのパラメ-タ

Page 15: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 16

USRPのパラメータ: IQレート

ダウンコンバータ

RF →ベースバンド

I/Q

A/D

D/A

A/D

アップコンバータベースバンド

I/Q → RFD/A

I相

Q相

I相

Q相

RF信号送信時

RF信号受信時

ベースバンドI/Q波形のA/D変換、D/A変換のサンプルレート (アップデートレート)

単位: サンプル/秒 または Hz

Page 16: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 17

USRPのパラメータ: IQレート

Frequency [Hz]

Pow

er (d

B)

94.7 M

1 M

- IQレートによって瞬時のRF帯域幅が決定

- IQレート増大→ 単位時間あたりに転送・処理すべきデータの増大→ PCの負荷の増大

Page 17: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 18

USRPのパラメータ: IQレート

- 中心周波数80.0 MHz,フェッチサイズ (後述) 1000サンプルで受信

- IQレートを増加すると瞬時帯域幅が広がる

50 kサンプル/秒 1 Mサンプル/秒 5 Mサンプル/秒

Page 18: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 19

USRPのパラメータ: 搬送波 (中心) 周波数

- 設定可能な中心周波数はUSRPのモデル間で相違有(本日使用のUSRP-2920: 50 M – 2.2 GHz)

Frequency [Hz]

Pow

er (d

B)

94.7 M

1 M

Page 19: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 20

USRPのパラメータ: ゲイン (増幅率)

Frequency [Hz]

Pow

er [d

B]

94.7 MHz

1 MHz

- RF信号の増幅率を指定- 単位: dB

Page 20: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 21

USRPのパラメータ: フェッチサイズ

- 受信時、一度にUSRPから読み出すIQのサンプル数を指定

- 単位: サンプル- E.g.

時間波形の長さ:フェッチサイズ/IQレート= 10000 / 400 k = 0.0025 [秒]

周波数分解能:IQレート/フェッチサイズ= 400 k / 10000 = 40 [Hz]

IQレート: 400 kサンプル/秒フェッチサイズ: 10000サンプルの場合

Page 21: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 22

USRPのパラメータ: フェッチサイズ

- 中心周波数80.0 MHz, IQレート400 kサンプル/秒で受信- 時間波形の長さと周波数分解能に着目

100サンプル 1000サンプル 10000サンプル

Page 22: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 23

LabVIEWは低階層の複雑性を抽象化し、エンジニアや科学者が計測・制御システムを作成するために必要なすべてのツールを統合します

並列プログラミング

並列に実行される独立したループ処理を容易に作成

解析ライブラリ

計測アプリケーションに最適化された高いパフォーマンスの解析ライブラリを利用

ハードウェアとの接続どのようなIOや計測器からも実世界の信号をLabVIEWへ取り込む

すぐに計測

豊富なサンプルプロジェクトとテンプレートを用い開発時間を短縮

統合ソフトウェア環境

すべてのシステムリソースを1つのソフトウェア環境で統合・

管理

既存のコードを統合.m ファイル、C コード、

HDLコードなどをグラフィカルに統合

デプロイメントターゲット最新のPCやリアルタイム、FPGAターゲットにLabVIEW

コードを実装

鮮明なUI計測データや結果を表示するモダンなユーザーインターフェ

ースを作成

SDR開発にも対応できるLabVIEW

Page 23: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 24

データフローとは

• 各ブロックダイアグラムのノードは全てが入力されて初めて実行される

• 各ノードは実行後に出力データを生成する

• データはワイヤで定義されたパスに沿って流れる

• データの動きが実行順序を決める

公式:結果 = (A+B*C) / (D-E)

Page 24: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 25

データフローとは

• 各ブロックダイアグラムのノードは全ての入力データを受信して初めて実行される

• 各ノードは実行後に出力データを生成する

• データはワイヤで定義されたパスに沿って流れる

• データの動きが実行順序を決める

「乗算」と「減算」の演算は、データの相互依存がないため、同時に実行可能

Page 25: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 26

データフロー言語で表現する並列処理はわかりやすいNI LabVIEWのコンパイラは並列で表されたコードを自動的にマルチスレッド処理

データの並列処理

タスクの並列処理

Page 26: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 27

6000以上の処理/解析関数

• 数値演算• 三角関数、自然対数 など

• マトリクス演算

• カーブフィット、補完

• 微分、積分

• 確率統計・ヒストグラム

• 信号処理• 周期測定、Pk-Pk測定 など

• 信号発生シミュレーション

• フーリエ変換

• デジタルフィルタ

• 窓関数

数値演算と信号処理パレット

Page 27: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 28

他言語との連携で資産活用

• 共有ライブラリ (DLL)– C言語、VBコードの再利用– 他社デバイスの制御

• ActiveX– コンテナ機能(GUI)– クライアントおよびサーバ機能

• .NET– コンテナ– クラスライブラリ呼び出し– クラスライブラリ作成

• コマンドライン実行– コンソールアプリケーション呼び出し

プログラム間通信と接続性パレット

Page 28: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 29

デバッグ・ヘルプ機能

デバッグ機能 詳細ヘルプ機能

・実行のハイライトを有効プログラムの状況が可視化される

・ヘルプメニュー > 詳細ヘルプ 表示ショートカット <Ctrl-H>

Page 29: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 30

NI-USRP ドライバの呼び出しの流れ

セッション初期化

構成集録開始

IQ波形読み取り

集録停止

セッション終了

Whileループ (While文)繰り返し読み取り実行

Page 30: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 31

Exercise 1 FM局を探そう

Page 31: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 32

デスクトップ上のExercisesフォルダを開く

Page 32: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 33

Exercise 1A.viを開く

Page 33: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 34

パラメータを変更

パラメータ 値

Device names RIO0IQ Rate 10M

Carrier Frequency 80MActive antenna RX1

Gain 20Number of samples 20k

Timeout 10

Page 34: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 35

VIを実行

ピークが見えない場合はゲインを調整(30dBまで)※日本のFMラジオ周波数範囲 76MHz~90MHz

Page 35: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 36

拡大ツールを使いピークを確認

Page 36: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 37

ピーク範囲の拡大しピーク周波数を確認

Page 37: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 38

Exercise 1 FM局を探そう まとめ

•USRPで指定したパラメタのデータを取得

•IQデータと周波数データ•周波数プロットの拡大

Page 38: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 39

LabVIEWのデータタイプ

Page 39: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 40

ブロックダイアグラムのレビュー

配線:波形データタイプ

ワイヤ:エラークラスタ

Page 40: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 41

波形データタイプ

波形要素取得

t0 – 波形の初期時間

dt – サンプル間隔

Y – データサンプルの配列

• 波形データタイプは時間信号の測定を表示、保存するために使用される

Page 41: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 42

配列

• 配列は要素と次元で構成される• 要素:配列に格納されるデータ

• 次元:配列の長さ、高さ、深さを表す

• 似たようなデータを集めたり同じ計算を

繰り返す際には配列の使用を考慮した

方がいい

Page 42: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 43

クラスタの紹介

• データをグループにまとめるデータ構造

• 異なるデータタイプのデータをまとめることが可能

• ANSI Cのstructに類似

• 要素は全て制御器または表示器で統一されていないといけない

• ケーブルにワイヤがバンドルされたイメージ

• 使用例:• 変数のグループ化

• エラーハンドリング

• モジュレーションツールキット

Page 43: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 44

エラーと複雑な波形クラスタ• エラークラスタ– ブロックダイアグラムでエラーをトラッキング

• 波形クラスタ– モジュレーションツールキットで使用

• (波形データタイプと類似)

Page 44: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 45

ループ

• Whileループ

• 端子は反復をカウント

• 最低1回は実行

• 停止条件 が満たされるまで実行

• Forループ• 端子は反復をカウント

• カウント端子のNに入力する回数だけ実行

While ループ

Forループ

Page 45: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 46

FMラジオの周波数スペクトル

Page 46: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 47

FMラジオの復調

FMラジオは3つのステップで復調可能

1. キャリア位相を検知 (ベースバンドIQサンプルのArc Tan)2. 位相をアンラップ (不連続性の排除)3. 微分計算 (位相の変化≈ 周波数)

ベースバンド IQ

位相検出位相を

アンラップ位相の微分

復調した音声信号

Page 47: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 48

位相のアンラップ

• 極座標は強度と位相で成り立っている

• 位相の値は-180º から 180º• 位相のラップがあると不連続性が生じる

• 不連続性を取り除くために位相をアンラップ

180°

-180°

Page 48: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 49

Exercise 2A 復調とFMラジオを視聴

Page 49: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 51

FMラジオ信号の周波数スペクトルの構成 (日本)

Page 50: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 52

ExercisesフォルダのExercise 2A.viを開く

Page 51: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 53

ブロックダイアグラムを表示

メニューバーの「ウィンドウ」→「ブロックダイアグラムの表示」、またはCtr+E

Page 52: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 54

復調処理 (1) ベースバンドIQ → 位相抽出

ベースバンド IQ

位相抽出位相を

アンラップ位相の微分

復調した音声信号

niUSRP Fetch Rx Data (Poly) のdata出力 (受信ベースバンドIQ) を複素数を座標軸に変換 (Complex to Polar) の入力に配線

ベースバンドIQ波形(複素数)

位相をラジアンで返す

[-π, π]

Page 53: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 55

復調処理 (2) 位相抽出 → 位相のアンラップ

ベースバンド IQ

位相抽出位相を

アンラップ位相の微分

復調した音声信号

複素数を極座標に変換 (Complex to Polar) のθ (位相) 出力を位相接続 (Unwrap Phase) の位相入力に配線

ベースバンドIQの位相[-π, π]

Page 54: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 56

復調処理 (3) 位相をアンラップ → 位相の微分

ベースバンド IQ

位相抽出位相を

アンラップ位相の微分

復調した音声信号

位相接続 (Unwrap Phase) の接続された位相出力を微分x(t) (Derivative x(t)) のX入力に配線

波形データタイプではない単なる数値配列

Page 55: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 57

復調処理 (4) 位相の微分 → 復調信号波形

ベースバンド IQ

位相抽出位相を

アンラップ位相の微分

復調した音声信号

微分x(t) (Derivative x(t)) のdX/dt出力を波形作成 (Build Waveform) のY入力に配線他、右図のように配線

niUSRP Fetch Rx Data (poly).vi のdata出力

Page 56: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 58

FMラジオ信号の周波数スペクトルの構成

復調後のFMラジオ信号の周波数スペクトル

今回は左ch + 右ch (モノラル音声)のみを取り出してPCのサウンドカードに入力しスピーカから音声を出力(Simple Resample.viが、結果的にモノラル音声のみを取り出す役割を担当)

50Hz

15kHz

23kHz

38kHz

53kHz

67kHz

88kHz

0

19 kHzパイロット

左ch +右ch

左ch – 右ch(搬送波抑圧両側波帯

変調, DSB-SC)

文字多重放送

Page 57: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 59

音声信号出力

Simple Sound VIのTask IDとエラーを配線VIを保存

Page 58: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 60

実行 -- 波形/スペクトル確認

VIを実行 ベースバンドIQ波形

復調後の信号のスペクトル

東京都内で受信できる主なラジオ局の中心周波数- 80 M (TOKYO FM)- 81.3 M (J-WAVE)- 82.5 M (NHK FM東京)

Page 59: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 61

Exercise 2A復調とFMラジオを視聴 まとめ

USRPで取得したベースバンドIQ信号をLabVIEWの関数で復調サウンドカードからFMラジオを出力

Page 60: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 62

計算のLabVIEWモデル

PC PXI システム CompactRIO シングルボードRIO

データフロー C | HDL コード テキスト算術 シミュレーション ステートチャート

カスタムデザイン

マルチレート DSP

LabVIEW

Real-Time

LabVIEW

Desktop

LabVIEW

FPGA

LabVIEW

MPU/MCU

Page 61: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 63

LabVIEW MathScriptノードを使用した算術

• 計算式とアルゴリズムをテキストで作成

• 左右の壁側で作成された入出力変数

• .mスクリプト言語と主に互換性がある

• 記述はセミコロンで区分けすることで、不慮の出力をなくす

(関数パレット»プログラミング»ストラクチャ»MathScriptノード)

Page 62: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 64

周波数変調された信号の復調アルゴリズム

位相の

検知

位相の

アンラップ

位相の

微分

Page 63: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 65

Exercise 2B MathScript RT ノードの使用

Page 64: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 66

実装するmファイルを確認

%Get the angle of the% current sampletheta = angle(samples);

%Unwrap the phase to%eliminate discontinuityu_theta = unwrap(theta);

%Take the derivative of%phase to get frequencyfmdemod = diff(u_theta);

位相の

検知

位相の

アンラップ

位相の

微分

Page 65: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 67

Exercise 2Bの処理を削除

•「複素数を座標軸に変換」関数•位相接続 VI•微分x(t) VIを削除壊れたワイヤはCtrl+Bで削除

Page 66: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 68

Mathscriptノードを追加

プログラミングパレットの「ストラクチャ」にあるMathScriptノードをブロックダイアグラムに配置

Page 67: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 69

mファイルをインポート

MathScriptノードを右クリックし「インポート..」を選択Exercisesフォルダの「FMdemod.m.txt」を選択

Page 68: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 70

MathScriptノードに入出力を追加

MathScriptノードを右クリックし、1、「入力を追加」を選択し

「samples」と入力2、「出力を追加」を選択し、

「fmdemod」を選択

Page 69: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 71

ベースバンドIQ波形要素を取得し、MathScriptノードから復調信号を取得

1.プログラミングパレットの「波形」パレットから波形要素取得関数を配置2.niUSRP Fetch Rx Data VIの波形データから波形要素のYを取得し3.MathScriptノードの「samples」入力に配線4.Fmdemodを波形作成関数に配線

Page 70: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 72

フロントパネルで波形確認

VIを実行Exercise 2B.viとして保存

Page 71: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 73

Exercise 2B MathScript RT ノードの使用 まとめ

MathScriptノードを使用しFM信号を復調

Page 72: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com

デジタル通信デジタル通信システムの探求

デジタル通信レファレンスデザインを開いて実行

より高度なLabVIEWブロックダイアグラム

変調と復調プロセスの概要

Page 73: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 75

デジタル通信システム

Channel Coding Modulation Upconversion

チャネル

情報

源符

号化

チャネル

符号

変調

アップ

コンバ

ージョン

ダウン

コンバ

ージョン

復調

チャネル

復号

情報

源復

Page 74: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 76

デジタル通信システム

NI Modulationツールキット

NI Modulationツールキット

Page 75: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 77

デジタル通信システム

NI Modulation ツールキット

NI Modulation ツールキット

NI USRP

NI USRP

Page 76: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 78

デジタル通信の応用に関するトピック

Page 77: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 79

パケットベースのデジタル無線通信システムのセットアップ

NI USRP-2920送信側

NI USRP-2920受信側

RF信号

中心周波数: 915 MHz 変調方式: PSKビットレート: 400 kbps

• USRPの制御 (送信側・受信側)• 送信ベースバンド信号を送信側USRPに転送• 受信ベースバンド信号を受信側USRPから

受信• 受信したメッセージの再構築

Page 78: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 80

LabVIEWを使ったパケットベースの通信

Page 79: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 81

パケットの構造

GUARDBAND

SYNCSEQ

PCKTNUM PAD データ

フィールド 長さ[bits]

備考

ガードバンド 30 Rx PLL, フィルタなどを初期化

Syncシーケンス 20 フレームとシンボルの同期

パケット番号 8 範囲: 0-255 パケットの再構築と未到達パケットの検知で使用

データ 64 - 256 可変の長さのデータフィールド。Rxの終端でダイナミックに検知される長さ

Pad 20 フィルタの終端の効果を考慮

Page 80: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 82

送信側のブロックダイアグラム

メッセージをビットに変換

データペイロードをフェッチ

ビットをシンボルにマッピング

ヘッダ・フッタを追加

パケットを形成

IQレートに応じてリサンプリング

パルス整形フィルタリング

アップコンバート & 送信

LabVIEWを実行しているホストPC

NI 2920 HW(FPGA, DAC, ADC,RF派生のモジュール)

Page 81: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 83

受信信号

受信

ダウンコンバート

NI 2920 HW(FPGA, DAC, ADC,RF派生のモジュール)

Page 82: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 84

Exercise 3 パケットベースのデジタル無線通信

Page 83: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 85

Research: リファレンスデザインをダウンロード

8x8 MIMO-OFDM GPS シミュレーション

RF レコード&プレイバックRF方向探知と位置検出

Tx

ni.com/usrp

Page 84: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com 86

アンケートにご協力下さい

86

本日受講されたご感想などをご記入下さい。今後の無料セミナー運営の参考にさせていただきます。(学生の方は学校名を必ずご記入ください。)

本日は、当セミナーにご参加いただき誠にありがとうございました。

Page 85: IEICE SR研若手育成チュートリアル USRPを使用し …...FM局を探そう LabVIEW 開発環境について USRP を使用したソフトウェア無線 FM 局をモニタ

ni.com

「U S R Pを用いたソフトウェア無線体験セミナー」にご参加頂きあ り が と う ご ざ い ま し た 。