私は現在、無線パケットの盗聴と変更関わる研究プロジェクトに従事していて、残念ながら私は、数学的なレンガの壁のビットをヒットしました: - 。/16ビットのチェックサム計算を決定する最も効率的な方法は何ですか? [CRC地獄:-(]
問題のパケットを持っていますすべての1の16ビットプリアンブルの後にバイナリ0が続き、32ビットのさまざまなデータとそれに続く16ビットのチェックサムが続き、合計で合計65の無線パケットが得られます。
主に異なる状態を報告するために送信デバイスを強制することにより、ロジック・アナライザを使用して、数百のデータサンプルを収集し、そして私はExcel内のデータを収集した。
今、トランスミッションを行っているハードウェアは90年代前半にかなり古くなっていますので、私は何も想像できません。最初は私はちょうど私が手でそれを把握しようと思ったが、ほとんど運がなかったと思った。 XOR、OR、XANDを使って計算したと思った後、シリアルナンバーの異なる他の送信機(データの最初の16ビット)で "フォーミュラ"が悲惨に失敗したことに気付きました。
それが唯一の16ビットだと私はそれがとても古いだった考え出しているので、私はそれは、単純なCRCかもしれない考え出したが、私もリモートで正しい結果を提供製剤を見つけるためには至っていません。
私も同様の問題を持つ人から、数年前からのStackOverflow上の別のポストを見つけましたが、私は通過コーマソリューションのどれも助けるように見えません。
究極の目標は、実際の物理的な送信機へのアクセスを有することなく、任意のシリアル番号の送信を作成できるようにすることです。
思考?コメント?
あなたのデータ65ビットを持っている - 私は何かが足りないのですか? – jon
あなたはそうではありません。私のメモはどこかで65ビットと言っていましたが、私はそれを忘れていました...もう一度私に教えてください。ただし、データサンプルは有効です。 :-) – Omikron
さて、問題を捉えました。私は伝送ストリームの17番目のビットをカウントするのを忘れていました。これは "seprator"ビットかsentinalを開始することしか想定できません。これは実際に総計を65ビットに上げます。 – Omikron