Main Content

berfading

レイリーおよびライス フェージング チャネルでの符号化されていないデータの BER と SER

説明

関数 berfading は、指定された変調方式を使用して、レイリーまたはライス フェージング チャネルでの符号化されていないデータの、ビット誤り率 (BER) とシンボル誤り率 (SER) を返します。最初の入力引数 EbNo は、ビットあたりのエネルギーとノイズ パワー スペクトル密度の比 (Eb/N0) を dB 単位で表したものです。出力ベクトル ber および ser の値は、グレイ符号化された信号コンスタレーションの指定された Eb/N0 レベルにおける、誤り率の理論値に対応します。詳細については、関数 berfading およびビット誤り率解析アプリで使用される解析的表現を参照してください。

ber = berfading(EbNo,modtype,M,divorder) は、それぞれ modtypeMdivorder で指定された変調タイプ、変調次数、ダイバーシティ次数の指定された Eb/N0 レベルにおける、符号化されていないレイリー フェージング チャネル上で同期復調を行った場合の PAM または QAM データの BER を返します。

ber = berfading(EbNo,'psk',M,divorder) は、符号化されていないレイリー フェージング チャネル上で同期検波された PSK データの BER を返します。

ber = berfading(EbNo,'depsk',2,divorder) は、符号化されていないレイリー フェージング チャネル上で差分データ符号化により同期検波された PSK データを指定します。この例では、変調次数は 2 です。

ber = berfading(EbNo,'oqpsk',divorder) は、符号化されていないレイリー フェージング チャネル上で同期検波された OQPSK データを指定します。

ber = berfading(EbNo,'dpsk',divorder) は、符号化されていないレイリー フェージング チャネル上で同期検波された DPSK データを指定します。DPSK 変調の場合、結果の BER では "低速フェージング" が仮定されます (フェージングが遅いため、2 つの連続するシンボルが確実に同じフェージング係数の影響を受けると仮定)。

ber = berfading(EbNo,'fsk',M,divorder,coherence) は、符号化されていないレイリー フェージング チャネル上での直交 FSK データの BER を返します。coherence は、コヒーレント検出タイプを指定します。

ber = berfading(EbNo,'fsk',2,divorder,coherence,rho) は、符号化されていないレイリー フェージング チャネル上でバイナリ非直交 FSK データを指定します。rho は、複素相関係数を指定します。変調次数は 2 です。複素相関係数の定義と非直交 BFSK 変調について計算する方法についての詳細は、コヒーレント検出を使用した非直交 2-FSKを参照してください。

ber = berfading(___,K) は、前の構文の入力引数の任意の組み合わせを使用して、符号化されていないライス フェージング チャネル上での BER を返します。ここで、K は線形スケールにおける直接波と散乱波の比です。変調タイプとして 'fsk' を使用する場合は、K の前に rho を指定することが必須となります。

ber = berfading(EbNo,'psk',2,1,K,phaserr) は、符号化されていないライス フェージング チャネル上での BPSK データの BER を返します。phaserr は、基準搬送波位相誤差の標準偏差である不完全位相同期を指定します。

[ber,ser] = berfading(___) は、前の構文の入力引数の任意の組み合わせを使用して、BER および SER を返します。

すべて折りたたむ

評価する Eb/N0 値のベクトルを生成します。

EbNo = 8:2:20;

BER の結果のベクトルを初期化します。

ber = zeros(length(EbNo),20);

レイリー フェージング チャネルでの 16-QAM の BER 対 Eb/N0 の曲線を生成します。ダイバーシティ次数を 1 から 20 の間で変化させます。

for L = 1:20 
    ber(:,L) = berfading(EbNo,'qam',16,L);
end

結果をプロットします。

semilogy(EbNo,ber,'b')
text(18.5, 0.02, sprintf('L=%d',1))
text(18.5, 1e-11, sprintf('L=%d',20))
title('QAM over Rayleigh Fading Channel with Diversity Order 1 to 20')
xlabel('E_b/N_0 (dB)')
ylabel('BER')
grid on

Figure contains an axes object. The axes object with title QAM over Rayleigh Fading Channel with Diversity Order 1 to 20 contains 22 objects of type line, text.

入力引数

すべて折りたたむ

dB 単位のビットあたりのエネルギー対ノイズ パワー スペクトル密度比。スカラーまたはベクトルとして指定します。

ダイバーシティが使用される場合、各ダイバーシティ ブランチ上の Eb/N0EbNo/divorder です。

データ型: single | double

変調タイプ。次のいずれかのオプションとして指定します。

modtype の値変調方式依存関係
'pam'

パルス振幅変調 (PAM)

なし

'qam'

直交振幅変調 (QAM)

変調次数 M は少なくとも 4 でなければなりません。

  • k = log2M が奇数の場合、シンボルはサイズ M = I × J の四角形コンスタレーションにあります。ここで、I=2k12 かつ J=2k+12 です。

  • k が偶数の場合、シンボルはサイズ 2k2×2k2 の正方コンスタレーションにあります。

'psk'

位相シフト キーイング (PSK)

なし

'oqpsk'

オフセット直交位相シフト キーイング (OQPSK)

なし

'dpsk'

差動位相シフト キーイング (DPSK)

なし

'fsk'

周波数シフト キーイング (FSK)

入力 coherence'noncoherent' に設定する場合、変調次数 M は範囲 [2, 64] 内でなければなりません。

データ型: char | string

変調次数。2k と等しい整数として指定します。ここで、k は正の整数です。

例: 4 または 2^2

データ型: single | double

ダイバーシティ次数。ダイバーシティ ブランチの数を表す非負の整数として指定します。

divorder0 より大きい値を指定すると、ダイバーシティを使用して誤り率が計算されます。ダイバーシティが使用される場合、各ダイバーシティ ブランチ上の Eb/N0EbNo/divorder です。

データ型: single | double

コヒーレント検出タイプ。次のいずれかのオプションを指定します。

  • 'coherent' — コヒーレント検出を対象とする

  • 'noncoherent' — 非コヒーレント検出を対象とする

依存関係

この引数を有効にするには、引数 modtype'fsk' に設定します。

データ型: char | string

複素相関係数。複素数スカラーとして指定します。複素相関係数の詳細、および非直交バイナリ FSK (BFSK) のためにこの係数を計算する方法の詳細については、コヒーレント検出を使用した非直交 2-FSKを参照してください。

依存関係

この引数を有効にするには、引数 modtype'fsk' に設定し、引数 M2 に設定します。

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

線形スケールにおける直接波と散乱波の比。非負のスカラーとして指定します。

データ型: single | double

基準搬送波位相誤差の標準偏差 (ラジアン単位)。非負のスカラーとして指定します。

データ型: single | double

出力引数

すべて折りたたむ

レイリーまたはライス チャネル上の符号化されていないデータの BER。スカラーまたはベクトルとして返されます。BER は、入力 modtype で指定された変調タイプと関連の依存関係に従って、入力 EbNo で指定された Eb/N0 設定ごとに計算されます。

データ型: double

レイリーまたはライス チャネル上の符号化されていないデータの SER。スカラーまたはベクトルとして返されます。SER は、入力 modtype で指定された変調タイプと関連の依存関係に従って、入力 EbNo で指定された Eb/N0 設定ごとに計算されます。

データ型: double

制限

この関数で返される出力の数値的精度は、式の数値実装に関連する近似法によっておおよそ有効桁数 2 に制限されます。

代替方法

関数 berfading を使用する代わりに、ビット誤り率解析アプリで [Theoretical] タブを構成することで、BER の論理値を計算できます。

参照

[1] Proakis, John G. Digital Communications. 4th ed. New York: McGraw Hill, 2001.

[2] Modestino, J. and Shou Mui. “Convolutional Code Performance in the Rician Fading Channel.” IEEE Transactions on Communications 24, no. 6 (June 1976): 592–606. https://doi.org/10.1109/TCOM.1976.1093351.

[3] Cho, K., and D. Yoon. "On the General BER Expression of One- and Two-Dimensional Amplitude Modulations." IEEE Trans. Commun. 50, no. 7, (2002): 1074-1080.

[4] Lee, P. J. "Computation of the Bit Error Rate of Coherent M-ary PSK with Gray Code Bit Mapping." IEEE Trans. Commun. COM-34, no. 5, (1986): 488-491.

[5] Lindsey, W. C. "Error probabilities for Rician fading multichannel reception of binary and N-ary signal." IEEE Transactions on Information Theory, vol. 10, no. 4, pp. 339-350, October 1964, doi: 10.1109/TIT.1964.1053703.

[6] Simon, M. K, S. M. Hinedi, and W. C. Lindsey. Digital Communication Techniques – Signal Design and Detection. Prentice-Hall, 1995.

[7] Simon, M. K., and Alouini, M. S. Digital Communication over Fading Channels – A Unified Approach to Performance Analysis. 1st ed. Wiley, 2000.

[8] Simon, M. K. "On the Bit-Error Probability of Differentially Encoded QPSK and Offset QPSK in the Presence of Carrier Synchronization." IEEE Trans. Commun. 54, (2006): 806-812.

バージョン履歴

R2006a より前に導入