0

2 台のラップトップ間で AUX ケーブルと GNU RADIO を使用してデータを送受信しています。

PSK mod ブロックを使用して DQPSK を実装しました。

問題は、受信中に、0、1、2 などの整数値の遅延を提供する必要があることです。

毎回違います。

適切な遅延値またはこの状況に対する他の回避策を動的にチェックする方法はありますか?

「開始」と書きました。送信されるデータの開始時と「終了時」。最後に。

このプロジェクトのデモを提供する必要があり、実行時の遅延を手動で変更したくありません。

GNU RADIO でファイル シンクの .cc ファイルが見つかりません。必要に応じて C++ コードを変更できますが、そのようなファイルはありません。

以下は、受信側の grc ファイルのスクリーンショットです。

受信側の .grc ファイル

どんな助けでも大歓迎です。

4

1 に答える 1

0

レシーバーは、トランスミッターがいつ送信を開始したかを知る方法がないため、実際にデコードするものがなくなる前にデコードします。

本質的に、受信機にいつ開始するかを伝えるために、何らかのプリアンブルなどが必要です。そのようなものがあると、いくつかのことを修正できるという副作用があります (2 つのサウンド カードは同じ発振器を共有していないため、シンボル レート オフセット、および中心周波数オフセット)。

あなたは基本的にそのフレーミングを追加しました - あなたstart.end.文字列。

GNU RADIO でファイル シンクの .cc ファイルが見つかりません。必要に応じて C++ コードを変更できますが、そのようなファイルはありません。

gr-blocks/lib にあります。ただし、ファイル シンクは変更しないでください。本当に、時間をかけてガイド付きチュートリアルを実行することをお勧めしgr_modtoolます。開始文字列のビットを検索し、それらの前およびそれらを含むすべてをドロップし、それまですべてを渡すステート マシンを持つ一般的なブロックを生成するために使用します。停止文字列が表示されます。これはすべて、単一のステート マシンと、少しの Python または C++ コードで実行できます。

于 2016-05-05T14:18:49.803 に答える