0

私は GNU Radio を初めて使用し、それと USRP B210 ボードを使用して値を送信しようとしています。

Matlab を使用して値を wav 形式に変換し、GNU Radio の例を0.121使用して wav ファイルを .dat ファイルに変換しました。audio_to_file

B210 と GNU Radio を使用してファイルを送信する.datと、wav ファイルを受信しましたが、matlab 関数 ( audioread()) を使用して wav を読み取ると、異なる値が得られます。

PS

変換された .dat ファイルのサンプル レートは 44100 Hz で、サンプルあたり 16 ビットでした。受信機と送信機のサンプリング レートは 400K Hz です。fm_tx4.py送信機に GNU Radio パッケージの例を使用しました。uhd_nbfm_receiver.grc受信機に使用しました。

4

1 に答える 1

0

受信した信号が送信した信号と同じ振幅を持っていない理由が気になる場合は、無線通信の基本を理解していないことになります。送信機と受信機の間にデジタル ラインがないため、電力はどこにでも行くことができます。 、受信機にどれだけ到達するかは、ゲイン、アンテナ、距離、マッチングなど、多くの要因に依存します...

RX 側では、TX 側よりも多くの違いがあります。受信が時間同期されていないため、位相シフトが見られる場合があります。受信機が同じであるか、クロック同期されているか、クロックに依存しないB210であるかについては言及していません。つまり、2つの物理クロックが同一になることはありません(はい、それは不可能ですが、エラーを減らすことができます)、そのため、通常は周波数オフセットも見られます。

基本的な無線通信理論について少し読むことをお勧めします。GNU Radio の写真付きの紹介や、GNU Radio の推奨する Reading Pageをよくお勧めします。Michael Ossmann も彼のコースである程度の評価を得ているので、ぜひご覧ください

また、すべてのデータ -> Wav -> 送信変換はまったく不要です。Matlabs fread/fwrite関数は、GNU Radio のfile_sink/file_sourceが保存/読み取りできるネイティブ マシン float 形式を読み取り/保存できます。FAQ エントリを参照してください。

于 2015-02-24T09:35:08.473 に答える