【问题标题】:Receiving the right value when transmitting .dat file using FM radio使用 FM 收音机传输 .dat 文件时接收正确的值
【发布时间】:2015-04-25 13:30:23
【问题描述】:

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

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

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

附言

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

【问题讨论】:

  • 你想传输单个值是什么意思?您的意思是“一系列恒定值”,例如。 [0.121, 0.121, 0.121, 0.121, ...]?

标签: matlab audio gnuradio usrp software-defined-radio


【解决方案1】:

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

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

我建议阅读一些基本无线电通信理论,我经常推荐 GNU Radio 的 pictured introduction 和 GNU Radio 的 suggested Reading Page。 Michael Ossmann 的课程也得到了一些认可,所以你应该definitely have a look at them

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-02-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-06-04
    • 2013-04-26
    相关资源
    最近更新 更多