メインコンテンツ

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

nrPBCHDecode

PBCH 変調シンボルの復号化

説明

cw = nrPBCHDecode(sym,ncellid,v) は、TS 38.211 の Section 7.3.3 [1]で定義されている物理ブロードキャスト チャネル (PBCH) 処理の逆処理を実行して得られたソフト ビットのベクトル cw を返します。sym は受信した PBCH シンボルを指定し、ncellid は物理レイヤーのセル ID 番号、v はスクランブリング シーケンスのフェーズを指定します。

cw = nrPBCHDecode(sym,ncellid,v,nVar) は、PBCH 復調におけるソフト ビットのノイズ分散スケーリング係数を指定します。

すべて折りたたむ

バースト内の最初の同期信号/物理ブロードキャスト チャネル (SS/PBCH) ブロックについて考慮します。また、ハーフフレームごとの SS/PBCH ブロックの数を 4 と仮定します。

ssbindex = 0;
v = mod(ssbindex,4);   

符号化された BCH ビットを表すバイナリ値のランダム シーケンスを生成します。ランダム シーケンスの長さは、TS 38.212 の Section 7.1.5 で規定されている PBCH ビット容量に対応します。

E = 864;               
cw = randi([0 1],E,1);

432 個の PBCH 直交位相偏移変調 (QPSK) 変調シンボルから成るシーケンスを生成します。

ncellid = 17;
sym = nrPBCH(cw,ncellid,v);

PBCH シンボルを復調してビット推定値を作成します。ビット推定値を論理値に変換し、結果を元の入力と比較します。

rxcw = nrPBCHDecode(sym,ncellid,v);
isequal(cw,rxcw<0)
ans = logical
   1

入力引数

すべて折りたたむ

受信した PBCH 変調シンボル。複素数列ベクトルとして指定します。

データ型: single | double
複素数のサポート: あり

物理レイヤーのセル ID 番号。0 ~ 1007 の整数として指定します。

データ型: double

スクランブリング シーケンスの位相。0 ~ 7 の整数として指定します。v は、同期信号 (SS) バースト構成において、SS/PBCH ブロック インデックスの最下位ビット (LSB) から導出されます。

  • ハーフフレームごとの SS/PBCH ブロックの数が 4 の場合、v は SS/PBCH ブロック インデックスの 2 つの LSB (0 ~ 3) になります。

  • ハーフフレームごとの SS/PBCH ブロックの数が 8 または 64 の場合、v は SS/PBCH ブロック インデックスの 3 つの LSB (0 ~ 7) になります。

データ型: double

ノイズ分散。非負の数値スカラーとして指定します。ソフト ビットは、加法性ホワイト ガウス ノイズ (AWGN) の分散でスケーリングされます。既定値は、単位信号パワーを仮定したときの SNR である 100 dB に対応します。

メモ

既定値は、ノイズ分散が 0 で、復号化器と符号化器が直接接続されていることを仮定しています。この関数は、出力値が -Inf または +Inf となるのを防ぐため、ノイズ分散の既定値として 1e-10 を使用します。ノイズを含むチャネルで信号を送信するときに適切な結果を得るには、ノイズ分散を正しく調整します。

データ型: double | single

出力引数

すべて折りたたむ

近似対数尤度比 (LLR) ソフト ビット。バイナリ値の列ベクトルとして返されます。cw の長さは入力 sym の長さの 2 倍です。

データ型: double | single

参照

[1] 3GPP TS 38.211. “NR; Physical channels and modulation.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

[2] 3GPP TS 38.212. “NR; Multiplexing and channel coding.” 3rd Generation Partnership Project; Technical Specification Group Radio Access Network.

拡張機能

すべて展開する

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

バージョン履歴

R2018b で導入