Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

General CRC Syndrome Detector

生成多項式に従って、受信したコードワード フレームの誤りを検出する

  • General CRC Syndrome Detector block

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

説明

General CRC Syndrome Detector ブロックは、受信したコードワード フレームの巡回冗長検査 (CRC) チェックサムを計算します。通信システムのリンクで CRC 検出を適切に行うには、General CRC Syndrome Detector ブロックのパラメーター設定を、対になる General CRC Generator ブロックと一致させなければなりません。

詳細については、CRC シンドローム検出器の動作を参照してください。

すべて展開する

CRC 符号を使用して、ノイズを含む BPSK 信号のフレーム誤りを検出します。

cm_ex_crc_noisy_bpsk_frames モデルでは、CRC 生成器と検出器のペアは標準 CRC-4 多項式 $z^4+z^3+z^2+z+1$ を使用します。CRC の長さは、多項式の次数によって決定された 4 ビットになります。フレームごとのチェックサムの数は 1 であるため、完全な伝送フレームの終端に 1 つの CRC が付加されます。

バイナリ信号フレームは、フレームの終端に CRC 符号が付加されます。BPSK 変調が信号に適用され、信号が AWGN チャネルを通過します。信号が復調されると、CRC シンドローム検出器が CRC を削除し、CRC の誤りを計算します。

12 ビット フレームのバイナリ データを生成し、CRC ビットを追加します。多項式の次数に基づき、各フレームに 4 ビットが追加されます。BPSK 変調を適用し、AWGN チャネルを通して信号を渡します。復調を行い、CRC 検出器を使用してフレームに誤りが発生しているかどうかを判断します。

CRC 検出の結果が BER 計算と比較されます。

Number of bit errors detected:  6
Number of crc errors detected:  7

端子

入力

すべて展開する

受信したコードワード。バイナリ列ベクトルとして指定します。

データ型: double | Boolean

出力

すべて展開する

出力フレーム。入力信号のデータ型を継承するバイナリ列ベクトルとして返されます。出力フレームには、チェックサムが削除された受信コードワードが含まれています。

出力フレームの長さは n - k * r ビットです。ここで、n は受信コードワードのサイズ、k はフレームあたりのチェックサムの数、r は生成多項式の次数です。

チェックサム エラー信号。入力信号のデータ型を継承するバイナリ列ベクトルとして返されます。Err の長さは [Checksums per frame] の値と一致します。各チェックサム計算に対して、Err の要素値 0 はチェックサム エラーなしを示し、Err の要素値 1 はチェックサム エラーありを示します。

パラメーター

すべて展開する

ブロック パラメーターを対話的に編集するには、プロパティ インスペクターを使用します。Simulink® ツールストリップの [シミュレーション] タブの [準備] ギャラリーで [プロパティ インスペクター] を選択します。

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

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

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

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

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

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

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] をオフにすると、入力データは反転されません。

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

Final XOR。バイナリ スカラー、または生成多項式の次数に等しい長さをもつバイナリ行ベクトルとして指定します。[Final XOR] パラメーターの値と CRC チェックサムを使用して XOR 演算が実行されてから、入力チェックサムとの比較が実行されます。スカラー値は、生成多項式の次数に等しい長さの行ベクトルに拡張されます。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 より前に導入