このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
crc.generator
(削除済み) CRC 発生器オブジェクトの構築
crc.generator は削除されました。巡回冗長検査 (CRC) 符号のビットを生成するには、代わりに comm.CRCGenerator
System object を使用します。推奨されるワークフローの詳細については、バージョン履歴を参照してください。
構文
h = crc.generator(polynomial)
h = crc.generator(detectorObj)
h = crc.generator(‘Polynomial’, polynomial, ‘param1’, val1, etc.)
h = crc.generator
説明
h = crc.generator(polynomial)
は、生成多項式 POLYNOMIAL で定義された CRC 発生器オブジェクト H を構築します。
h = crc.generator(detectorObj)
は、CRC 検出器オブジェクト DETECTOROBJ のパラメーターで定義された CRC 発生器オブジェクト H を構築します。
h = crc.generator(‘property1', val1, ...)
は、PROPERTY/VALUE の組み合わせで指定されたプロパティを使用して CRC 発生器オブジェクト H を構築します。
h = crc.generator
は、既定のプロパティを使用して CRC 発生器オブジェクト H を構築します。CRC-CCITT 発生器を構築し、次と等価になります。h = crc.generator('Polynomial', '0x1021', 'InitialState', '0xFFFF', ...
'ReflectInput', false, 'ReflectRemainder', false, 'FinalXOR', '0x0000')
プロパティ
次の表は CRC 発生器オブジェクトのプロパティについて説明します。Polynomial
以外のすべてのプロパティは書き換え可能です。
Property | 説明 |
---|---|
Polynomial | 線形フィードバック シフト レジスタの接続を定義する生成多項式。このプロパティは、降べきの順の多項式を表すバイナリ ベクトルとして指定できます。この場合、多項式の先行する '1' を含めなければなりません。降べきの順の多項式の 16 進数を表す '0x' を前に付けて文字列として指定することもできます。この場合、多項式の先行する '1' は省略します。 |
InitialState | シフト レジスタの初期のコンテンツ。このプロパティは、バイナリ スカラーまたはバイナリ ベクトルとして、あるいは降べきの順の多項式の 16 進数を表す '0x' を前に付けて文字列として指定できます。バイナリ ベクトルとして指定する場合、長さは多項式のバイナリ ベクトル表現の長さよりも 1 少なくなければなりません。 |
ReflectInput | シフト レジスタに入力する前に入力データをバイト単位で反転するかどうかを指定する boolean 量。 |
ReflectRemainder | 入力データがシフト レジスタを完全に通過した後にバイナリ出力 CRC のチェックサムをバイナリ単位で反転するかどうかを指定する boolean 量。 |
FinalXOR | 入力データに追加する直前の XORed となる CRC チェックサムをもつ値。このプロパティは、バイナリ スカラーまたはバイナリ ベクトルとして、あるいは降べきの順の多項式の 16 進数を表す '0x' を前に付けて文字列として指定できます。バイナリ ベクトルとして指定する場合、長さは多項式のバイナリ ベクトル表現の長さよりも 1 少なくなければなりません。 |
CRC 生成アルゴリズム
CRC 生成アルゴリズムについての詳細については、『Communications Toolbox™ ユーザー ガイド』のCRC 非直接アルゴリズムを参照してください。
発生器メソッド
encoded = generate(h, msg) は、CRC 発生器オブジェクト H を使用して入力メッセージの CRC チェックサムを生成します。チェックサムを MSG の末尾に付加します。バイナリ値の MSG は、列ベクトルの場合も行列の場合もあります。行列の場合は、各列は個別チャネルと見なされます。
例
CRC-16 CRC 発生器を作成し、それを使用して ASCII シーケンス '123456789' で表されるバイナリ ベクトルのチェックサムを生成します。
gen = crc.generator('Polynomial', '0x8005', ... 'ReflectInput', true, 'ReflectRemainder', true);
msg = int2bit((49:57)',8); encoded = generate(gen, msg);
h = Type: CRC Generator Polynomial: 0xF InitialState: 0xF ReflectInput: true ReflectRemainder: false FinalXOR: 0x0