0

我是 GNU Radio 的新手,我正在尝试使用它和 USRP B210 板来传输一个值。

我使用 Matlab 将值转换为 wav 格式,然后使用GNU Radio 中的示例0.121将 wav 文件转换为 .dat 文件。audio_to_file

当我.dat使用 B210 和 GNU Radio 传输文件时,我收到了一个 wav 文件,但是当我使用 matlab 函数 ( audioread()) 读取 wav 时,我得到了一个不同的值。

附言

转换后的 .dat 文件的采样率为 44100 Hz,每个采样 16 位。接收器和发射器的采样率为 400K Hz。我fm_tx4.py将 GNU Radio 包中的示例用于我的发射器。我用于uhd_nbfm_receiver.grc接收器。

4

1 回答 1

0

如果您想知道为什么接收到的信号与发送的信号幅度不同,那么您就没有了解无线电通信的基础知识:由于您的发射器和接收器之间没有数字线路,因此电源可以传输到任何地方, 接收器到达多少取决于很多因素,包括增益、天线、距离、匹配......

RX 端的不同之处比 TX 端的要多得多:您的接收没有时间同步,因此您可能会看到相移。您没有提及接收器是否相同,时钟同步或独立于时钟的 B210,这意味着您有一般情况,没有两个物理时钟可以相同(是的,这是不可能的,但您可以减少错误),因此您通常也会看到一些频率偏移。

我建议阅读一些基本的无线电通信理论,我经常推荐 GNU Radio 的图片介绍,以及 GNU Radio 的建议阅读页面。Michael Ossmann 的课程也得到了一些认可,所以你一定要看看它们

此外,您所有的数据->Wav->传输转换都是完全没有必要的。Matlabs fread/fwrite函数可以读取/存储 GNU Radio 的file_sink/file_source可以存储/读取的本机机器浮点格式。请参阅常见问题解答条目

于 2015-02-24T09:35:08.473 回答