Upload
others
View
17
Download
0
Embed Size (px)
Citation preview
GNU Radioを用いた
地上波デジタルテレビジョン放送向け
1seg OFDM受信機の開発及び性能評価
琉球大学大学院理工学研究科情報工学専攻
ファイヤー和田研究室
宮野 智法
Contents
1.序論
2.GNU Radio
3.1seg OFDM受信機のアーキテクチャ
4.性能評価
5.結論
Contents
1.序論
2.GNU Radio
3.1seg OFDM受信機のアーキテクチャ
4.性能評価
5.結論
研究背景 様々な無線通信方式
専用ハードウェアが必要
ソフトウェア無線 A/D変換後のDSPをソフトウェアにより実装 柔軟な無線通信 低コスト
GNU Radio ソフトウェア無線開発用ライブラリ 汎用計算機上で実装可能
ISDB-T HDTVモード:高品質,固定通信用 1segモード:低品質,軽い計算処理,移動体通信
GNU Radioを用いてISDB-T方式の1segモードに対応したOFDM受信機の開発及び性能評価を研究目的としている
Contents
1.序論
2.GNU Radio
3.1seg OFDM受信機のアーキテクチャ
4.性能評価
5.結論
GNU Radio Architecture
Python App
SWIG
C++ DSPTuner
A/D
FPGA DSP
SoftwareHardware
ハードウェアはEttus Research社によって販売されている USRPシリーズを使用
使用プログラミング言語はPythonとC++ ソフトウェアはLinux,Mac OS X,Windows,Net BSDに対応
GNU Radio Programming
C++
C++
C++
C++
Python Controller
Python Connection
Python➔ パラメータ設定➔ DSP同士の接続➔ 動作の実行,停止
C++➔計算速度を要する処理 (DSP,I/O等)
Source
Sink
スケジューラ
C++
FIFO
C++
スケジューラ
FIFO
C++
FIFO
C++
● 各々のC++はマルチスレッドによって並列に処理される.● 指定したデータ数分がFIFOに蓄積されると, 次のC++へと渡される.
● FIFOが小さいほどリアルタイム処理できる. ただし,CPU使用率が増加する.
USRP2 & TVRX
FPGA Xilinx Spartan 3-2000
ADC Dual 100Msps 14-bit
DAC Dual 400Msps 16-bit
SRAM 1MByte
Interface 2Gbps Serial Interface
Minimum Frequency 50MHz
Maximum Frequency 860MHz
Bandwidth 6MHz
Noise Figure 8dB
Minimum Gain 0
Maximum Gain 95
Contents
1.序論
2.GNU Radio
3.1seg OFDM受信機のアーキテクチャ
4.性能評価
5.結論
OFDM受信機の全体構成
Source LPF
FFT EQ DEMOD Sink
DEROTRSMP SSYNC
Carrier Frequency Error
Sampling Frequency Error
SYNC
低域通過フィルタ
Source LPF
FFT EQ DEMOD Sink
DEROTRSMP SSYNC
Carrier Frequency Error
Sampling Frequency Error
SYNC
低域通過フィルタ概要
LPFINPUT OUTPUT
ベースバンド信号周波数帯域幅:6MHz 周波数帯域幅:430KHz
周波数帯域幅の制限HDTV の周波数帯域幅6MHz1segの周波数帯域幅430KHz
作成した低域通過フィルタ
パラメータ
ゲイン 1
通過帯域 225KHz
阻止帯域 270KHz
通過帯域リップル 0.1
阻止帯域減衰度 100
タップ数 351
●Remez法により作成●430KHzの帯域幅を通すような設計
USRP2から受信したスペクトラム
●USRP2から受信したデータをGNU Radioのスペクトラムアナライザーで見た様子
●どの周波数帯でも一様な大きさ
低域通過フィルタを通した後のスペクトラム
●0Hzを中心とした約430KHzの帯域幅を抽出
リサンプラ
Source LPF
FFT EQ DEMOD Sink
DEROTRSMP SSYNC
Carrier Frequency Error
Sampling Frequency Error
SYNC
リサンプラ概要
RSMPINPUT
αOUTPUT
サンプリング周波数:(4M+α)Hz サンプリング周波数:1.0158MHz
サンプリング周波数誤差
サンプリング周波数を(4M+α)Hzから1.0158MHzに変換1.0158MHz = 1024pt(FFTサイズ) / 1008μs(有効シンボル長)αはサンプリング周波数誤差検知からのフィードバック値
3通りのサンプリング周波数誤差
誤差 > 0
誤差 = 0
誤差 < 0
ポリフェーズフィルタ
C-2u
D
C0C-uC-2u Cu C2u
C0 Cu C2uC-uC-2u
C1 Cu+1 C2u+1C-u+1C-2u+1
C2 Cu+2 C2u+2C-u+2C-2u+2
D D D D
Cu-3 C2u-3 C3u-3C-2u-3C-3u-3
Cu-2 C2u-2 C3u-2C-2u-2C-3u-2
Cu-1 C2u-1 C3u-1C-2u-1C-3u-1
デロテータ
Source LPF
FFT EQ DEMOD Sink
DEROTRSMP SSYNC
Carrier Frequency Error
Sampling Frequency Error
SYNC
デロテータの概要
DEROTINPUT
βOUTPUT
キャリア周波数誤差
中心キャリア周波数:992+βHz 中心キャリア周波数:992Hz
中心キャリア周波数を(992+β)Hzから992Hzに変換
992Hz = 1 / 1008μs(有効シンボル長) = 430KHz(周波数帯域幅) / 433(サブキャリア数)
βはキャリア周波数同期からのフィードバック値
デロテータの構成
1.アキュムレータにより入力されたキャリア周波数誤差を保持
2.アキュムレータから得たキャリア周波数誤差から複素信号を出力
3.入力信号と複素信号を乗算
exp(j2πfo)
INPUT OUTPUT
ROM
Carrier Frequency Error
シンボル同期ブロック
Source LPF
FFT EQ DEMOD Sink
DEROTRSMP SSYNC
Carrier Frequency Error
Sampling Frequency Error
SYNC
シンボル同期の概要
SSYNCINPUTOUTPUT
シンボル同期によりFFT窓位置を決定キャリア周波数誤差の検知サンプリング周波数誤差の検知
βα
サンプリング周波数誤差
キャリア周波数誤差
サンプリング周波数誤差補正キャリア周波数誤差補正シンボル位置補正
SSYNCの構成
1シンボル遅延 | |2 Σ
Σ| |2+
conj
X
|2|2 sqrt
-findmin
hold
PPS
NPS
X
- Σ Q成分 holdPPS
NPSX
conj
conj
Σ
Σ
Q成分 Z--32
Z--32
INPUT OUTPUT
β
α
hold
GI相関を利用したシンボル同期
GI GI
GI GI
コピー
GI長 有効シンボル長
シンボル長
受信信号
遅延信号
time
有効シンボル長 GI長 シンボル長
1008 μsec 126 μsec 1134 μsec
1024 pt/sym 128 pt/sym 1152 pt/sym
ガードインターバル相関
As kε=∑i=0
NP−1
{∣r kεi ∣2∣r kεiNPD∣
2 }−2∣∑i=0
NP−1
r kεiNPD⋅r*kεi ∣
GIは有効シンボル長の後半部と同じであるため,強い相関となる.1024点毎に相関が取れていることを左図より確認できる.
キャリア周波数誤差検知
キャリア周波数誤差 = +20%
サンプリング周波数誤差 = +200ppm
サンプリング周波数誤差検知
キャリア周波数誤差 = +20%
サンプリング周波数誤差 = +200ppm
FFT(Fast Fourier Transform)
Source LPF
FFT EQ DEMOD Sink
DEROTRSMP SSYNC
Carrier Frequency Error
Sampling Frequency Error
SYNC
FFT概要
FFTINPUT OUTPUT
時間軸上信号1024点入力
周波数軸上信号433点出力
X k =∑n=0
N−1
x n⋅WNnk
∵WN=e− j2π /N ,k=0,1,,N−1
X k = ∑n=0
N /4−1
{x n− jk x nN /4−1k x nN /2 jk x n3N /4 }⋅WNnk
計算量:O(N2)
計算量:O(N log N)
DFT
FFT
複素信号データの並べ替え
frequency
power
0 216 1024788
ALL 0
216-216 0
●出力した1024点を図のようにならべ変える●サブキャリア433を出力●FFTで扱ってた信号を,送信側で指定した周波数の並びに戻す
FFTの出力結果
●QPSK信号とパイロット信号●FFT窓位置が正確ではないため位相誤差が発生
OFDM受信機の全体構成
Source LPF
FFT EQ DEMOD Sink
DEROTRSMP SSYNC
Carrier Frequency Error
Sampling Frequency Error
SYNC
等化器の構成
周波数方向補間
SP抽出
SP生成(PRBS)
÷時間方向
補間
÷INPUT OUTPUT
y(i,j) : 受信信号, x(i,j) : 送信信号, 伝送路特性:H(i,j), 付加雑音:n(i,j)
y(i,j) = x(i,j) ・ H(i,j) + n(i,j) ← H(i,j)が分かればx(i,j)を求められる
伝送路特性H(i,j)を推定
OFDMセグメント構成
time
freq
ue
nc
y●○は送信データ●●はSP●縦1列が1送信シンボル●時間方向は線形補間●周波数方向は窓関数で補間
等化器の出力結果
●QPSK信号とパイロット信号●位相補正できてることを確認
OFDM受信機の全体構成
Source LPF
FFT EQ DEMOD Sink
DEROTRSMP SSYNC
Carrier Frequency Error
Sampling Frequency Error
SYNC
復調ブロック
実部 虚部 QPSK信号 ビット値
正 正 (1+1j)/√2 00
正 負 (1-1j)/√2 01
負 正 (-1+1j)/√2 11
負 負 (-1-1j)/√2 10
SPは除去上の表に従ってビット値を出力
Contents
1.序論
2.GNU Radio
3.1seg OFDM受信機のアーキテクチャ
4.性能評価
5.結論
評価対象の受信側構成
DEROTRSMP SSYNC
Carrier Frequency Error
Source FFT
EQ DEMOD Sink
入力データ
出力データ
Sampling Frequency Error
送信側及びチャネル構成
SP生成(PRBS)
QPSK生成 Reorder IFFT GI付加
MRF付加Resampler
4M/1.0158MResampler
(1M+CLKD)/1M
比較データ
入力データ
+
雑音
キャリア周波数誤差検知(ノイズ無し)
-40%〜+40%まで検知成功±50%のときは検知失敗
サンプリング周波数誤差検知(ノイズ無し)
-1400ppm〜+1400ppmまで検知成功-1600ppm以下 or +1600ppm以上にて検知失敗
AWGNで両周波数誤差無し
● CNR00dB〜04dB → ガードインターバル検知失敗● CNR05dB〜07dB → ガードインターバル誤検知● CNR08dB〜14dB → 理論値より1dB悪化● CNR15dB〜 → BER=1e-06基準でエラーフリー
MRF=+40%のときのCLKD検知
●CNRが高くなるにつれて検知幅が拡大●CNR=08dBでサンプリング周波数誤差検知-1000ppm〜+800ppm
MRF=-40%のときのCLKD検知
●CNRが高くなるにつれて検知幅が拡大●CNR=08dBでサンプリング周波数誤差検知-800ppm〜+800ppm
計算速度評価
●CNR 16 dB, キャリア周波数誤差 +20 %, サンプリング周波数誤差 +200 ppm●1シンボルあたりの平均合計時間:2.50428 ms●同期回路で約90%の処理時間
Contents
1.序論
2.GNU Radio
3.1seg OFDM受信機のアーキテクチャ
4.性能評価
5.結論
結論本研究では,GNU Radioを用いてISDB-T方式の1segモードに対応したOFDM受信機の開発及び性能評価を行った.
✔ 雑音無し● キャリア周波数誤差検知限界は-40%〜+40%● サンプリング周波数誤差検知限界は-1400ppm〜+1400ppm
✔ 雑音有り,キャリア周波数誤差とサンプリング周波数誤差無し● CNR00dB〜04dB → ガードインターバル検知失敗● CNR05dB〜07dB → ガードインターバル誤検知● CNR08dB〜14dB → 理論値より1dB悪化● CNR15dB〜 → BER=1e-06基準でエラーフリー
✔ 雑音,キャリア周波数誤差,サンプリング周波数誤差有り● CNR=8dB,キャリア周波数誤差±40%,サンプリング周波数誤差
±800ppmでの悪条件で通信可
✔ 計算速度評価● 1シンボルあたりの平均処理時間2.5ms● 内訳としてシンボル同期80%,リサンプラを加えると90%占有
今後の課題
1.計算時間の短縮● アルゴリズムの見直し● 性能の高い汎用計算機● 並列処理(SIMD,GPGPU,PS3)
2.未実装部の開発● CRD● TMCCデコーダ
3.OFDM後の処理● 誤り訂正● 音声・画像等の復号化(H.264,MPEG)
Thank you for your attention!
Extra Slide
Python コード例
sine wavesource
(350Hz)
sine wavesource
(440Hz)
audio sink
インタポレーション
元の信号
追加信号
time
am
pli
tud
e
デシメーション
元の信号
消失信号
time
am
pli
tud
e
リサンプラのフィルタ
パラメータ
タップ数 11
サブフィルタ 128
合計 1408
比較的設計の容易なRaised Cosine Filterにより作成
テスト用に生成したコサイン波
ゲイン 1
キャリア周波数 1/7MHz
サンプリング周波数 4MHz
58pt
リサンプラ後のコサイン波
15pt
●想定したサンプリングレート:1.0158MHz/4MHz = 0.25395●実際のサンプリングレート:15pt/58pt = 0.25862●大体想定通りに動作していることを確認●実際の細かい性能の確認は後述
OFDMスペクトラム
433点サブキャリア
frequency
power
基数4のバタフライ演算1, 1, 1, 1
1, -j, 1, j
1, -1, 1, -1
1, j, 1, -j
W1
W2
W3
x(0) X(0)
X(1)
X(2)
X(3)
x(1)
x(2)
x(3)
●4点FFT(4のべき乗データ数でしか扱えない)●3回の複素乗算と4回の複素加減算により複素乗算1回分の計算を削減●このバタフライ演算を用いて1024点FFTを実装
1024点FFTアーキテクチャ
R4
ROM
1024
ROM
1024
R4
ROM
1024
R4
ROM
1024
R4
ROM
1024
R4
1024
256repeat 256repeat 256repeat 256repeat 256repeat
ROM
1024
ROMB
it Reve
rsal
log41024=5より、4点FFTで処理するための5段階の直列構成
Bit Reversal : X(k0+4k
1+8k
2+16k
3+63k
4) → X(k
4+4k
3+8k
2+16k
1+63k
0)
等化器概要
EQINPUT OUTPUT
振幅補正位相補正
位相
振幅変動位相回転
PRBS(SP生成)
D D D D D D D D D D D
+
1 2 3 4 5 6 7 8 9 10 11
●SPは既知の信号●生成多項式:g(x) = x11 + x9 + 1●初期値:11100110110
Wi
周波数補間フィルタ
パラメータ
フィルタ Raised Cosine Filter
タップ数 36