USRP2 への 16QAM とシンボル同期の実装に関する研究
2011SE012 朝倉彰洋

2011SE129 北原慎平

2011SE196 西田結梨香

指導教員：奥村康行

1

はじめに

究では 2 機の USRP2 を用いて実測を行い，それぞれのUSRP2 を USRP2-1，USRP2-2 と識別する．

無線通信業界において，その技術は日々新しく生み出されている昨今，それに伴って新無線通信システムが次々 2.3 LabVIEWと導入されている．しかし，利用者にとって新システム
LabVIEW(Laboratory Virtual Instrument Engineerを利用できる端末を把握し随時用意するのは極めて困難
ing Workbench) とは，NATIONAL INSTRUMENTS 社であり，また経済的負担になると考えられる．そして，開が 1986 年に開発したバーチャル計測用プログラミング言
発者の視点から見ても新規装置を開発する場合のコスト語である．通信をはじめ，電子機器や半導体，自動車などは材料費よりも人件費の割合が高くなっていることから，の非常に多種多様な分野で，設計からテストまで，また小開発には人的負担が大きい．このような理由から一つの規模システムから大規模システムまで，あらゆる開発に無線機で様々な機能追加やシステム変更，更新に対応で対応できるシステムを開発，実現するために使用されていきる無線端末の開発が期待されている．その解決手段とる．また，LabVIEW で作成したプログラムは VI(Virtualして，ソフトウェア無線の概念が挙げられている [1]．
Instrument) と呼ばれ，作成したプログラムファイルのそこで，本研究ではソフトウェア無線通信プラットフォー
拡張子は vi である [5][6][7]．
ムとして USRP2 と LabVIEW の二つを用いて様々な通信方式の実装方法を研究するとともに，その通信方式の 2.4 先行研究について伝送特性について明らかにする．

2

研究対象の技術

本研究で使用する技術を説明する．説明するものは研究対象，使用機器，及びそのソフトウェアと先行研究の4 項目である．

2.1

ソフトウェア無線

本研究は，先行研究がある．先行研究では，LabVIEWを用いてスペクトラムアナライザや FM ラジオの電波受信，sin 波の送受信，変復調を用いた送受信など複数の機能を一つの無線機（USRP2）に実装し，測定を行った [2]．

3実装する技術

本研究において，実際に USRP2 へ実装，実測を行う通信方式について説明する．

ソフトウェア無線とは，従来の無線通信端末において専用のシステム機能を持つハードウェアで行われていた 3.1 16QAM 変復調機能の実装
信号処理のほとんどをソフトウェアで行う無線通信のこ
先行研究 [2] の最後では BPSK 変調と QPSK 変調の機とである．この技術によって，端末を複数個用意する必 能を USRP2 に実装し，その機能評価を行った．そこで，要がなくなり，無線通信端末上で動作するハードウェア USRP2 に 16QAM 変調の機能を実装し，USRP2 と PC上のソフトウェアを切り替えるだけで，使用する変復調 を用いて送受信を行う．ここで，実装する技術のプログの方式や利用するサービスを切り替えたり，ソフトウェ ラムの概要について説明する．
アの変更や更新によって新しい通信規格に対応すること
まず，送信機能を果たす LabVIEW プログラム (transができる．その一例として凡用性の高い USRP が存在し， mitter.vi) のブロック構成を図 2 に示し，順に解説する．
LabVIEW によって動作制御が行われている [1][2]．
まず初めに TX init.vi で変調機能の初期化を行う．次に

2.2

USRP の概要

USRP(Universal Software Radio Peripheral) とは，汎用信号処理ハードウェアである．USRP2 は，PC との接続にはギガビットイーサネットを用いる．USRP2 の構成
図を図 1 に示す．図 1 のように，USRP2 はマザーボード (Mother board) とドーターボード (Daughter board)から構成されている．USRP2 のマザーボードでは，ドーターボードから入ってきたアナログ信号をディジタル信号に変換し，設定した条件に従って標本化を行う．ドーターボードでは，アンテナから入ってきた電波をによって中間周波数に落としたり，マザーボードから送られてきた信号を中心周波数にあげたりする，信号の変換作業を行う．PC では，LabVIEW によって作成されたプログラムによって信号の変調や復調の処理を行う [4][5]．本研

source.vi で，0 と 1 のビットデータを生成し，modulation.vi で変調を行う．この modulation.vi で主に 16QAM変調を行う．次の add control.vi では擬似雑音，すなわちガウス雑音を追加し，TX enque.vi ではメモリに雑音データを書き込む．また pulse shaping.vi ではパルス整図 1 USRP2 の構成 [2]図 2 transmitter.vi のブロック図 [2]図 3 receiver.vi のブロック図 [2]形を行い，TX apply channnel.vi では遅延プロファイル
P −1
1 ∑を適用する [2]．
|r(pM T + k)|2(1)
Japprox [k] =P p=0
次に，受 信機 能を持つ LabVIEW プログラム (receiver.vi) のブロック構成を図 3 に示し，同様に解説す
ここで，P をシンボル数，r を受信機での整合フィルタる．はじめに receiver init.vi で変調機能の初期化を行の出力，M をオーバーサンプル係数，k を遅延，T をシう．次に，matched filtering.vi で整合フィルタ処理を行ンボル周期とする．式 (1) は，遅延が k のとき，0 から Pい，synchronize.vi で位相同期及び，シンボル同期処理番目までのシンボルの相関値を足し合わせ，平均をとっをする．そして channel estimate.vi では遅延プロファイたものである．相関値が最大の場所をシンボルの中心とルの推定を行い，strip control.vi で疑似雑音を取り除き，して判断する [8]．
equalizer.vi で等化を行う．最後に decode.vi で復調し，ELgate.vi では，式 (2) を最小にすることでタイミング
error detect.vi でシンボル誤り率を計算する．この deオフセットを推定し，修正する．
code.vi で主な 16QAM 復調を行う．今回 receiver.vi のdecode.vi と error detect.vi は自作のサブ VI であるが，P−1
そのほかのサブ VI は既存のものを用いている [2]．
∑Jδ [k] =2Re{r[nP + k](r∗ [nP + k + δ](2)
3.2 パルス整形の実装
n=0−r∗ [nP + k − δ])}図 2 の pulse shaping.vi と，図 3 の matched filtering.viの 2 つを用いて，パルス整形の機能を USRP2 に実装し，ここで，δ を T/M の倍数値とする．式 (2) はシンボルその特性について評価を行う．実装したプログラムの実内の 3 つの標本値からエラーを生成し，足し合わせるも測結果とシミュレーション結果を比較しパルス整形の機のである．エラーが最小の場所をシンボルの中心として能を評価する．
判断する [8]．
本研究では QAM ベースバンド信号をパルス整形フィルタに通す．パルス整形をする目的は 1 つ目に帯域制限 4 評価及び考察されたチャネルの生成，2 つ目は ISI(InterSymbol InterUSRP2 を用いて実測とその結果の評価，考察をする．
ference) の低減である．
各節で実測結果から考察まで行う．
3.3 シンボル同期機能の実装
4.1 16QAM 変復調機能の評価
USRP2 に LabVIEW のシンボル同期機能を持つ Max16QAM 変復調のシミュレーションと実測を行った．測Energy.vi と ELgate.vi と呼ばれる 2 つのプログラムを
定条件は表 1 に示し，シミュレーション時も同様である．
実装し，USRP2 と PC を用いて送受信を行う．まずシンシミュレーション結果は実測結果とともに図 4，図 5 にボル同期の概要について述べる．
示す．なお, LabVIEW 以外に MATLAB を用いたシミュ
ディジタル変調では，シンボル単位でデータが送られレーションも行い, その結果を同様に図 4，図 5 に示す．
るため，正しいタイミングでシンボルを受信するためにSER の実測を行った結果，pulse shapping filter にシンボル同期を行う．つまり，アイパターンの最も開いRaised cosine を用いた時，シミュレーション時の SERた瞬間にシンボルを判定することが求められる [8]．と実測時の SER が 10−3 の場合，約 2dB 向上した．一
主に使用する VI は図 3 の synchronize.vi である．その方，pulse shapping filter に Root raised cosine を用いた
VI の機能に MaxEnergy.vi と ELgate.vi というものがあ時は，シミュレーション時の SER と実測時の SER がほり，これらが主なシンボル同期を行う．次に，これらにぼ一致した．しかし，SER が 10−2 の時のみ約 2dB 劣化ついて説明する．
した．
MaxEnergy.vi は，式 (1) を最大にすることでタイミン
また, LabVIEW のシミュレーション値と MATLAB のグオフセットを計算し，修正する．
シミュレーション値はほぼ一致しているが，理論値とは

10

表 1 測定条件
softwareLabVIEW
MATLAB
modulation type
16QAM
packet length[bit]1 × 106
Carrier frequency[Hz]2.2G
channel model
AWGN
pulse shapping filter
Raised cosine，
Root raised cosine(full cosine)

10SER-51010-10

シミュレーション値(LabVIEW)
シミュレーション値(MATLAB)
測定値
理論値-1505101520Eb/No[dB]

図 5 SER 特性 (Root raised cosine の時)

0-5SER

101001010-10

シミュレーション値(LabVIEW)
シミュレーション値(MATLAB)測定値
理論値-1505101520(b) 実測結果

(a) シミュレーション結果

Eb/No[dB]

図 6 パルス整形によるアイ・ダイアグラム結果

図 4 SER 特性 (Raised cosine の時)ある．図 6 より，パルス整形の 2 つ性質である帯域制限されたパルスの生成と ISI の低減の特徴が出ている．また，
10−2 の場合にて，LabVIEW，MATLAB 両者とも約 4dB
実測結果よりもシミュレーションの方がより精度の高い送劣化した．その理由としては USRP2 を使用した時の送受信を行っている．実測とシミュレーション結果がずれて信電力，すなわちシンボルパワーが小さいため USRP2しまった原因として，実装されているパルス整形処理そのの内部回路による雑音が加えられた可能性がある．また，ものが理想的ではなかったことが考えられる．LabVIEW
receiver.vi 内のサブ VI である equalizer.vi という VI にの場合，transmitter.vi のサブ VI である pulse shaping.viてシンボル等化を行うが，その時にパルスの歪みが残っでパルス整形を行うが，この時データ変換が行われる．こてしまうことである．このような原因により，理論値とシの変換をシミュレーションでは PC 上で行っていたが，実ミュレーション値に差が出てしまったのだと考えられる．
測において USRP2 上で行った時，符号間干渉が残って4.2 パルス整形の評価しまったと考えられる．

表 2 測定条件
softwareLabVIEW
modulation type
QPSK
packet length[bit]500
filter parameter
0.5
filter lendth
8channel modelAWGN
pulse shapping filter Root raised cosine

シンボル同期機能の評価

4.3

4.2 節と同様に，QPSK 変調を用いた送受信時をシンボル同期の性能を測定する．シミュレーション，測定条件
は表 3 に示す．実行した結果を図 7，8，9 に表示する．
1010ε [N ]信号の送受信を用いて，パルス整形の評価を行った．送受信時のアイ・ダイアグラムからパルス整形の性能を確認する．また，シミュレーション時のパルス整形を取り除いたアイ・ダイアグラムを実測のものと比較する．シ
ミュレーション及び実測の条件を表 2 へ，両結果を図 6に示す．

1010-1

エラー統計の計算結果-2-3-42468101214161820N

図 7 オーバーサンプル係数とエラー統計の関係

横軸のシンボルレートと，縦軸の振幅がシミュレーショ
MaxEnergy.vi を用いた実測について，シンボル同期がンと実測で値が異なる．振幅値に差が出た原因としては， 正しく行われているかを判断する基準として式 (3) がある．
USRP2 内の回路による増幅作用が起こっていた可能性が表 3 測定条件
softwareLabVIEW
modulation type
QPSK
packet length[bit]500
delay[sec]0.34 × 10−6
noise power[dB]-InfTX sample rate[MSample/sec]
20
TX oversample factor
20
RX sample rate[MSample/sec]
2
RX oversample factor2
recovery method
MaxEnergy,ELgate
pulse shaping filter
Raised Cosinefilter parameter0.5filter length8(a) シミュレーション(b) 実測結果

図 8 MaxEnergy.vi の結果 (オーバーサンプル係数=2){}
ϵ[N ] = E ||(τ̂ (N ) − τd )/Ts ||2(3)式 (3) は，エラー統計といい，推定遅延時間と実際の遅延時間を比較し，平均自乗誤差を計算したものである．
ここで，Ts はシンボル周期，N はオーバーサンプル係数，
τ̂ (N ) は受信機で計算された推定遅延時間，τd はチャネルの実際の遅延時間を示す．式 (3) の計算結果として，図 7のようになった．図 7 より，オーバーサンプル係数を大きくするにつれ，エラー統計が減少することがわかった．
理由として，オーバーサンプル係数を大きくすることで標本数が増え，シンボル同期の精度が上がったためだと考えられる．計算結果から，エラー統計が十分に小さく，高い精度でシンボル同期が行われていることがわかった．
今回の実測では，遅延の入力が結果に反映されなかったために, シミュレーションと実測でのエラー統計を比較することはできなかった．そこで，シミュレーションと実測でのコンスタレーション，アイ・ダイアグラムの比較のみを行った．それぞれの VI でオーバーサンプル係数が 2，4，10 のときのコンスタレーションとアイ・ダイアグラムをそれぞれ比較した．実測では，同軸ケーブルに伝送遅延があり，シミュレーション時と比較して，コンスタレーション，アイ・ダイアグラム共に若干のズレはあるものの，シミュレーションと実測では大きな違いがないことが確認できた．このばらつきの原因として，シンボル同期を行っても符号間干渉があるためだと考えられる．

(a) シミュレーション(b) 実測結果

図 9 ELgate.vi の結果 (オーバーサンプル係数=2)5

おわりに本研究では，LabVIEW を用いて 16QAM 変調，パルス整形，シンボル同期などの機能を USRP2 に実装，実測し，その伝送特性を明らかにすることを目指した．まず 16QAM 変復調機能を USRP2 に実装しシンボル誤り率の実測を行い，その送受信精度を確認した．次にパルス整形機能を USRP2 に実装し，パルス整形機能の重要性と 2 つの性質を確認した．また，シミュレーションによりシンボル同期とオーバーサンプル係数の関係を明らかにし，シンボル同期機能を USRP2 に実装し，アイ・ダイアグラムの比較を行った．今後は，今回行われなかった通信方式や機能の実装を行い，USRP2 の実測精度を明らかにする必要がある．

参考文献[1] 鈴木康夫，荒木純道， ソフトウェア無線機とその国内における開発の現状， 電子情報通信学会論文誌
B，vol.J84-B，no.7，pp.1120-1131，July 2001．
[2] 木村一也，早井智穂，加藤万貴， USRP2 への物理層通信機能の実装に関する研究， 南山大学情報理工学部システム創成工学科 2011 年度卒業論文，March2012．
[3] 河野隆二，春山真一郎， ソフトウェア無線の現状と将来， 電子情報通信学会論文誌 B，vol.J84-B，no.7，pp.1112-1119，July 2001．
[4] 猿渡俊介，菅沼久浩， GNU Radio に関する調査,
東京大学先端科学技術研究センター森川研究室，技術研究報告書，no.2011001，pp.1-7，June 2011．
[5] 堀部智史，石橋功至，和田忠浩，椋下介士， GNURadio/USRP2 を用いたネットワーク誤り訂正符号の実装に関する一検討， 電子情報通信学会技術研究報告，RCS2011-71，pp.209-214，June 2011.
[6] 堀 恵太郎，図解 LabVIEW 実習，森北出版株式会社，東京，2009．
[7] National Instruments，http://japan.ni.com/(accessed 2014).
[8] Robert W．Heath Jr.，Digital Wireless Communication，Student Lab Manual，pp.1-62，NATIONAL TECHNOLOGY&SCIENCE PRESS，2012．