最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

distspec

畳み込み符号の距離スペクトルの計算

構文

spect = distspec(trellis,n)
spect = distspec(trellis)

説明

spect = distspec(trellis,n) は、自由距離、および線形畳み込み符号の重みと距離スペクトルの最初の n 成分を計算します。畳み込み符号はブロック境界をもたないため、重みスペクトルおよび距離スペクトルは半無限で、多くの場合、最初の数成分で近似されます。畳み込み符号のトレリス表現で説明しているように、入力 trellis は有効な MATLAB トレリス構造体です。出力 spect は、次のフィールドをもつ構造体です。

フィールド意味
spect.dfreeコードの自由距離。これは誤りイベントを作成するために必要な符号化シーケンスの最小誤り数です。
spect.weightspect.event に列挙される誤りイベントの情報ビット誤りの総数をリストする長さ n のベクトル。
spect.eventspect.dfreespect.dfree+n-1 の間の各距離の誤りイベントの数をリストする長さ n のベクトル。ベクトルは距離スペクトルの最初の n 成分を表します。

spect = distspec(trellis) は、spect = distspec(trellis,1) と同じ結果になります。

以下の例は、次のタスクを行います。

  • 符号化率 2/3 の畳み込み符号の距離スペクトルを計算する (関数 poly2trellis のリファレンス ページを参照)。

  • 出力 distspec を関数 bercoding への入力として使用し、このコードを同期 BPSK 変調で使用するシステムのビット誤り率の理論的な上限値を求める。

  • 関数 berfit を使用して上限値をプロットする。

trellis = poly2trellis([5 4],[23 35 0; 0 5 13])
spect = distspec(trellis,4)
berub = bercoding(1:10,'conv','hard',2/3,spect); % BER bound
berfit(1:10,berub); ylabel('Upper Bound on BER'); % Plot.

出力とプロットは、以下のとおりです。

trellis = 

     numInputSymbols: 4
    numOutputSymbols: 8
           numStates: 128
          nextStates: [128x4 double]
             outputs: [128x4 double]


spect = 

     dfree: 5
    weight: [1 6 28 142]
     event: [1 2 8 25]

アルゴリズム

[2] に説明されているように、関数はスタックで実装されるツリー型探索アルゴリズムを使用します。

参考文献

[1] Bocharova, I. E., and B. D. Kudryashov, “Rational Rate Punctured Convolutional Codes for Soft-Decision Viterbi Decoding,” IEEE Transactions on Information Theory, Vol. 43, No. 4, July 1997, pp. 1305–1313.

[2] Cedervall, M., and R. Johannesson, “A Fast Algorithm for Computing Distance Spectrum of Convolutional Codes,” IEEE Transactions on Information Theory, Vol. 35, No. 6, Nov. 1989, pp. 1146–1159.

[3] Chang, J., D. Hwang, and M. Lin, “Some Extended Results on the Search for Good Convolutional Codes,” IEEE Transactions on Information Theory, Vol. 43, No. 5, Sep. 1997, pp. 1682–1697.

[4] Frenger, P., P. Orten, and T. Ottosson, “Comments and Additions to Recent Papers on New Convolutional Codes,” IEEE Transactions on Information Theory, Vol. 47, No. 3, March 2001, pp. 1199–1201.

R2006a より前に導入