2017-02-13 5 views
0

crc32の合計の上下2バイトだけを使用すると、crc16よりも弱くなりますか?crc32の一部のみを使用

背景:

現在、ワイヤレスプロトコルを実装しています。 私はそれぞれ64byteのチャンクを持っていて、 Data Length vs CRC Length 私は多くてもcrc16が必要です。 crc32の代わりにcrc16を使用すると、フォワードエラー訂正(64バイトはFECの1ブロック)で使用する帯域幅が解放されます。 しかし、私のハードウェアはかなり低電力ですが、ハードウェアでCRC32をサポートしています。 私の考えは、ハードウェアのcrc32エンジンを使用して、結果バイトのうち2つを捨てることでした。 私はこれがcrc16の合計ではないことを知っていますが、それは送信の両側を制御するので重要ではありません。

重要な場合:crc32(ポリ0x04C11DB7)またはcrc32c(ポリ0x1EDC6F41)の両方を使用できます。

答えて

1

はい、弱いですが、ビットエラーの数が少ない場合に限ります。代わりに、CRC-32の半分を取ることで、CRC-16の保証を得ることはできません。例えば。常に検出可能なバースト内のビット数。

防御しようとしているノイズ源は何ですか?

+0

干渉および長距離。基本的には、片方の端末に生の無線フレームを送信し、他方の端末で受信します。これにより、従来のWLANの再アソシエーションに必要な時間が削減されます。私は無人機との間でデータを送受信するためにこれを使用します。 – Thalhammer

+0

次に、完全なCRC(CRC-16またはCRC-32)を使用する必要があります。完全なCRC-32に余分な2バイトを投資したいだけかもしれません。 –

関連する問題