Main Content

このページは機械翻訳を使用して翻訳されました。元の英語を参照するには、ここをクリックします。

Communications Toolbox を使用したフレームベースのスクランブラー

この例では、6 次スクランブラーの HDL 実装の検証を示します。スクランブラーは、通信システムでビットをシャッフルして送信信号の遷移をランダム化するために使用されます。スクランブルの目的の 1 つは、送信信号内の 0 または 1 の文字列の長さを短縮することです。0 または 1 の文字列が長いと、送信同期の問題が発生する可能性があるためです。スクランブリングは安価な暗号化技術としても使用できます。この例は 2 つのモデルで構成されています。最初のモデル scrambler_frame は HDL 実装を検証し、2 番目のモデル scrambler_fsk は通信チャネルの一部として HDL スクランブラーを使用します。

HDL実装と検証

scrambler_frame モデルは、6 次スクランブラーの HDL 実装の検証を示しています。手書きの HDL コードは、Communications Toolbox™ の Scrambler ブロックの動作を再現することを目的としています。ここでは、HDL Verifier™ ソフトウェアは、HDL スクランブラーと Communications Toolbox スクランブラーの機能の同等性をテストするための検証ツールとして使用されます。

モデルはバイナリ シーケンスを生成し、それを HDL 実装と元の Simulink® ブロックに同時に送信します。Communications Toolbox のデスクランブラー ブロックの 2 つのコピーは、2 つのスクランブラーの出力から元のデータ ストリームを再構成するために使用されます。出力は入力データ シーケンスと比較され、エラー計算ブロックを使用してスクランブラー間の差異によって生じる可能性のある不一致が検出されます。HDL コシミュレーション ブロックは常にデータを 1 フレーム遅延するため、比較が有効になるように他のすべてのブランチのデータを遅延させます。

HDL スクランブラー ブロックによるチャネル エンコーディング

scrambler_fsk モデルは、通信チャネルの一部としてスクランブラーを使用する方法を示しています。対象となるブロックは、HDL で実装され、HDL Verifier ソフトウェアによって Simulink と共シミュレーションされる 6 次スクランブラーです。これは、Communications Toolbox のスクランブラー ブロックと機能的に同等であることが以前に検証されています。デスクランブラー ブロックは Communications Toolbox からのもので、これも 6 次です。チャネルはフレームあたり 11 ビットを使用し、BCH 11 --> 31 ビット エンコーディング (および反対の BCH 31 --> 11 ビット デコーディング) を行います。このエンコード方式は、理論的には最大 5 ビットの反転によるバースト エラーを修正できます。データは、6 ビット連続のバースト エラー (つまり、各フレームの 11 ビットのうち 6 ビットが反転) のあるチャネルを通過します。

次に、データは 2 値 FSK 変調器および復調器ブロックと、信号対雑音比が非常に高いガウス チャネルを使用して送信されるため、ほとんどすべてのエラーはガウス ホワイト ノイズ エラーではなくバースト エラーであると想定されます。反転されたビットの位置は、各フレームでランダムに選択されます。現在のエンコード構成では、6 ビットを反転したときにすべてのエラーを修正できないため、データをデコードした後にエラーが発生し、BER (ビット エラー レート) はゼロになりません。モデルには 2 つのチャネルが含まれます。1 つにはスクランブラー/デスクランブラー ブロックが含まれ、もう 1 つには含まれません。私たちのモデルの場合、通信チャネルの一部としてスクランブラー/デスクランブラー ブロックを使用すると、BER が改善 (低下) されることは明らかです。

まとめ

Simulink コシミュレーションを使用した 6 次スクランブラーの HDL 実装の検証と適用により、信頼性が高く正確なソリューションが提供されます。コシミュレーションを使用することで、HDL 実装を Simulink 環境にシームレスに統合し、その動作を徹底的にテストできます。