無線部ヘッダー生成・復号プログラム

D-STARの無線部ヘッダーは、フラッグ3バイト、RPT2のコールサイン8バイト、RPT1のコールサイン8バイト、相手先コールサイン8バイト、自局コールサイン8バイト、自局コールサイン2の4バイトの計39バイト、これにこの39バイトに対するCRC2バイトを付加した41バイトを、畳み込みによる冗長化を施し(660ビットに拡張)ます。その後24ビット毎のインターリーブと、スクランブルを施します。

  • 1.CRC(P_FCS)の生成
  • 2.畳み込みによる冗長化
  • 3.24ビット毎のインターリーブ
  • 4.スクランブル


  • これらの一連の処理(生成から復号まで)をするサンプルプログラムです。
    CRCの生成は、CCITTの手順ですが、下位ビットから生成する方法が採用されています。サンプルプログラムでは、テーブルを使用する方法を示しておきます。畳み込みによる冗長化は、通常のビット処理です。1ビットを2ビットに拡張するのですが、その時それ以前の2ビットの情報を使用して生成する方法です。なお、この冗長化では、復号に備えて最後にダミーで2ビットの0を付加します。このため無線部ヘッダー最終的な長さは、41*8*2+2*2の660ビットです。スクランブルは、テーブルを使用する方法を示しておきます。なお、データセグメントのデータもこのスクランブルが施されています。挿入される3バイトに対して、このテーブルの最初の3バイトを各々のバイトに対してXORの処理をします。音声セグメント部分は、AMBE2020の出力そのままです。 受信した無線部のヘッダーの復号は、この逆を行うことになりますが、畳み込みで冗長化された信号を復号するには、特殊な方法が必要です。Viterbiによる方法のサンプルプログラムです。 このサンプルプログラムに対する、sampleプログラムで生成したビット列(スクランブルは施してありません)を記述したテストデータです。
    2008年01月18日更新
    CopyRight(c) 2008 All Rights Reserved.
    安田 聖(やすだ さとし)7M3TJZ
    E-mail: 7m3tjz@jk1zrw.ampr.org