Golay符号化・復号ソフト
12bitのデータを24bitの符号語に変換し、任意の3bit誤りを訂正可能・4bit誤りを検出可能な拡張2元Golay符号の符号化・復号ソフトウェアIPです。
符号化と復号のC関数をご提供します。
Golay符号は復号処理が単純なので、ソフト処理でも比較的高速な通信に適用できる特徴を有しています。
仕様
符号化方式 | 拡張2元Golay符号化(システマティック符号) (24,12,8) 符号化率:1/2 |
---|---|
生成マトリックス(G) | <————— 24bit —————> 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 1 1 1 0 0 1 0 0 1 0 0 0 1 0 0 0 0 0 0 0 0 0 1 1 0 1 0 0 1 0 1 0 1 1 0 0 0 1 0 0 0 0 0 0 0 0 1 1 0 0 0 1 1 1 0 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 1 0 0 1 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 1 0 1 0 0 0 0 0 0 1 0 0 0 0 0 0 0 1 1 0 0 1 1 0 1 1 1 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 0 0 0 1 0 1 1 0 1 1 1 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 0 1 1 0 1 0 0 0 0 0 0 0 0 0 0 0 1 0 1 0 1 1 1 0 0 0 1 1 1 |
関数プロトタイプ
符号化関数 long encode(short u) | ||
---|---|---|
引数 | u | 12bit入力データ |
戻り値 | 24bit出力(符号)データ |
復号関数 long decode(long code) | ||
---|---|---|
引数 | code | 24bit入力(符号)データ |
戻り値 | 24bit出力(復号)データ ただし、訂正不可(4bit)エラーを検出した場合は-1を返す。 |
処理速度性能(参考)
関数 | 処理時間 |
---|---|
符号化関数 | 約 0.32us |
復号関数 | 最大(訂正不可) 約 1.2us |
最小(エラーなし) 約 0.32us |
ご提供方法など
- 符号化関数・復号関数をC言語ソースでご提供いたします。
- 符号化方式(生成マトリクスの変更等)のカスタマイズも承ります。
- 上位プロトコル制御等を含めたソフトウェアのカスタム設計も承りますので、ご相談ください。