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

General CRC Generator

生成多項式に基づいて CRC 符号ビットを生成し、入力データ フレームに付加する

  • ライブラリ:
  • Communications Toolbox / Error Detection and Correction / CRC

説明

General CRC Generator ブロックは入力データ フレームごとに巡回冗長検査 (CRC) 符号ビットを生成し、それらをフレームに付加します。詳細については、CRC 発生器の動作を参照してください。

端子

入力

すべて展開する

入力信号。バイナリ列ベクトルとして指定します。入力フレームの長さは [Checksums per frame] パラメーターの値の倍数でなければなりません。

データ型: double | boolean

Output

すべて展開する

出力符号語フレーム。入力信号のデータ型を継承するバイナリ列ベクトルとして返されます。出力には、CRC ビット シーケンスが付加された入力データ フレームが含まれています。

出力フレームの長さは m + k * r です。ここで、m は入力フレームのサイズ、k はフレームあたりのチェックサムの数、r は生成多項式の次数です。

パラメーター

すべて展開する

CRC アルゴリズムの生成多項式。次のいずれかとして指定します。

  • 'z^3 + z^2 + 1' などの多項式の文字ベクトル。

  • バイナリ行ベクトル。降べきの順に並べた生成多項式の係数を表します。このベクトルの長さは (N+1) です。ここで N は生成多項式の次数です。たとえば、[1 1 0 1] は、多項式 x3+ z2+ 1 を表します。

  • 多項式の非ゼロの項の z の指数を降べきの順に含む整数行ベクトル。たとえば、[3 2 0] は、多項式 z3 + z2 + 1 を表します。

詳細については、多項式の文字表現を参照してください。

最もよく使用される生成多項式には、次のものがあります。

CRC メソッド生成多項式
CRC-32'z^32 + z^26 + z^23 + z^22 + z^16 + z^12 + z^11 + z^10 + z^8 + z^7 + z^5 + z^4 + z^2 + z + 1'
CRC-24'z^24 + z^23 + z^14 + z^12 + z^8 + 1'
CRC-16'z^16 + z^15 + z^2 + 1'
反転 CRC-16'z^16 + z^14 + z + 1'
CRC-8'z^8 + z^7 + z^6 + z^4 + z^2 + 1'
CRC-4'z^4 + z^3 + z^2 + z + 1'

例: 'z^7 + z^2 + 1'[1 0 0 0 0 1 0 1]、および [7 2 0] は同一の多項式 p(z) = z 7 + z 2 + 1 を表します。

内部シフト レジスタの初期状態。バイナリ スカラー、または生成多項式の次数に等しい長さをもつバイナリ行ベクトルとして指定します。スカラー値は、生成多項式の次数に等しい長さの行ベクトルに拡張されます。

選択すると、CRC チェックサムの計算に直接アルゴリズムが使用されます。オフにした場合、ブロックでは、CRC チェックサムの計算に非直接アルゴリズムが使用されます。

直接アルゴリズムと非直接アルゴリズムの詳細については、誤りの検出と訂正を参照してください。

選択すると、シフト レジスタに入力される前に入力データがバイト単位で反転されます。[Reflect input bytes] を選択する場合、入力フレーム長を [Checksums per frame] パラメーターの値で除算したものが、整数かつ 8 の倍数でなければなりません。[Reflect input bytes] をオフにすると、入力データは反転されません。

選択すると、入力データがシフト レジスタを完全に通過した後に CRC チェックサムが 180° 反転されます。[Reflect checksums before final XOR] をオフにすると、CRC チェックサムは反転されません。

Final XOR。バイナリ スカラー、または生成多項式の次数に等しい長さをもつバイナリ行ベクトルとして指定します。CRC を入力データに追加する前に、[Final XOR] パラメーターの値を使用して、XOR 演算を CRC チェックサムに対して実行します。スカラー値は、生成多項式の次数に等しい長さの行ベクトルに拡張されます。0 に設定すると、XOR 演算を実行しないことと等価になります。

各フレームで計算されるチェックサムの数。正の整数として指定します。

ブロックの特性

データ型

boolean | double

多次元信号

なし

可変サイズの信号

あり

詳細

すべて展開する

参照

[1] Sklar, Bernard. Digital Communications: Fundamentals and Applications. Englewood Cliffs, N.J.: Prentice-Hall, 1988.

[2] Wicker, Stephen B. Error Control Systems for Digital Communication and Storage. Upper Saddle River, N.J.: Prentice Hall, 1995.

拡張機能

C/C++ コード生成
Simulink® Coder™ を使用して C および C++ コードを生成します。

R2006a より前に導入