Main Content

bersync

説明

関数 bersync は、不完全な同期の加法性ホワイト ガウス ノイズ (AWGN) チャネル上での符号化されていない同期 BPSK のビット誤り率 (BER) を返します。詳細については、関数 bersync およびビット誤り率解析アプリで使用される解析的表現を参照してください。

ber = bersync(EbNo,timerr,'timing') は、timerr で指定された不完全なタイミングで、指定された Eb/N0 における加法性ホワイト ガウス ノイズ (AWGN) チャネル上での符号化されていない同期 2 位相シフト キーイング (BPSK) 変調の BER を返します。正規化されたタイミング誤差はガウス分布と仮定します。

ber = bersync(EbNo,phaserr,'carrier') は、phaserr で指定されたノイズのある位相基準で、指定された Eb/N0 における AWGN チャネル上での符号化されていない BPSK 変調のビット誤り率 (BER) を返します。位相誤差はガウス分布と仮定します。phaserr は、基準搬送波位相誤差の標準偏差です。

すべて折りたたむ

AWGN チャネル上で不完全なタイミングで同期 BPSK 変調の BER を計算します。ビットあたりのエネルギーとノイズ パワー スペクトル密度の比率 (Eb/N0) およびタイミング誤差の標準偏差を変化させます。timerr で最終値が 0 と仮定すると、関数 bersync の結果は berawgn(EbNo,'psk',2) と同じになります。

EbNo = [4 8 12];
timerr = [0.2 0.07 0];
ber = zeros(length(timerr),length(EbNo));
for ii = 1:length(timerr)
    ber(ii,:) = bersync(EbNo,timerr(ii),'timerr');
end

科学表記を使用して結果を表示します。

format short e; ber
ber = 3×3

   5.2073e-02   2.0536e-02   1.1160e-02
   1.8948e-02   7.9757e-04   4.9008e-06
   1.2501e-02   1.9091e-04   9.0060e-09

既定の表記形式に戻します。

format;

入力引数

すべて折りたたむ

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

データ型: single | double

タイミング誤差の標準偏差。範囲が [0, 0.5] のスカラーとして指定します。シンボル区間に正規化されたタイミング誤差を指定します。正規化されたタイミング誤差はガウス分布と仮定します。

データ型: double | single

基準搬送波位相誤差の標準偏差 (ラジアン単位)。スカラーとして指定します。位相誤差はガウス分布と仮定します。

データ型: double | single

出力引数

すべて折りたたむ

AWGN チャネルで符号化されていない同期 BPSK 変調の BER。次をもつスカラーまたはベクトルとして返されます。

  • 不完全なタイミング (timerr 入力を指定した場合)

  • ノイズのある位相基準 (phaserr 入力を指定した場合)

BER は、入力引数 EbNo で指定された Eb/N0 設定ごとに計算されます。

EbNo がベクトルの場合、出力 ber は入力 EbNo と同じサイズのベクトルで、その要素は EbNo ベクトルのさまざまな要素に相当します。

データ型: double

制限

通常、出力 BER の数値精度は、おおよそ有効桁数 2 に制限されます。この関数の出力の数値精度は、次によって制限されます。

  • 関数が使用する閉形式表現を導く解析的な近似

  • 式の数値的実装に関連した近似

数値精度に固有の制限により、timerr または phaserr の値が、誤りの絶対値から振幅の浮動小数点数で次に大きい値までの正の距離 (関数 eps により決定される) を下回る場合、関数では完全な同期を想定します。次の表は、このような条件下での関数の動作をまとめています。

条件関数 bersync の動作
timerr < eps bersync(EbNo,timerr,'timing') は、タイミング誤差が eps よりも小さい berawgn(EbNo,'psk',2) と等価です。
phaserr < epsbersync(EbNo,phaserr,'carrier') は、位相誤差が eps よりも小さい berawgn(EbNo,'psk',2) と等価です。

アルゴリズム

この関数は、[3] の式を使用します。

最後の入力が 'timing' の場合、関数は次を計算します。

14πσexp(ξ22σ2)2R(12|ξ|)exp(x22)dxdξ+122π2Rexp(x22)dx

σ は timerr 入力であり、R は dB から線形スケールに変換された EbNo 入力の値です。

最後の入力が 'carrier' の場合、関数は次を計算します。

1πσ0exp(ϕ22σ2)2Rcosϕexp(y22)dydϕ

σ は phaserr 入力であり、R は dB から線形スケールに変換された EbNo 入力の値です。

代替方法

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

参照

[1] Jeruchim, Michel C., Philip Balaban, and K. Sam Shanmugan. Simulation of Communication Systems. Second edition. Boston, MA: Springer US, 2000.

[2] Sklar, Bernard. Digital Communications: Fundamentals and Applications. 2nd ed. Upper Saddle River, N.J: Prentice-Hall PTR, 2001.

[3] Stiffler, J. J. Theory of Synchronous Communications. Englewood Cliffs, NJ.: Prentice-Hall, 1971.

バージョン履歴

R2006a より前に導入