2016-05-13 1336 views
2

我是GNU Radio的新手,所以我通过简单的项目学习。我有一个.txt文件,我想通过PSK Mod和Demod模块(尚无SDR)发送和接收文件,以便在另一个.txt文件中接收。因此,我制作了以下流程图:使用GNURadio发送和接收txt文件

文件源 - - > PSK Mod ----> PSK Demod ----> Throttle ----> File Sink

我选择了Num._of_Const。为4,并选择源文件和宿文件的路径。我还将源文件的输出类型(和接收文件的输入类型)设置为“字节”。当我运行grc文件时,有些东西正在存储在接收器文件中。但是,当我阅读它时,宿文件似乎包含一些随机符号和数字,这些符号和数字与应该从源文件发送的文本完全不匹配。

我在线阅读过一些人使用Unpacked_to_packed块,但那也不适用于我。我试图从简单的项目开始,但是我觉得我错过了某些东西,所以您的帮助将非常感激。

回答

2

由于PSK解调包含一些控制环路以同步到一个频率/时序偏移,所以即使您完全正确地参数化了这些块,它也可能会丢失前几位。这会导致你的输出比特流被移位几个比特,然后字节边界不再匹配,并且你得到了乱码数据。如果您以二进制方式查看RX文件,而不是文本,则仍然应该看到正确的位序列。

您需要通过查找“已知”位的顺序来纠正该偏移量。实质上,您需要任何种类的“成帧器”,以便您知道字节边界何时发生。另外,PSK demod的文档清楚地表明它给你提供了未打包的数据,即每个输出字节一位;你需要一个unpacked_to_packed来得到你的原始字节。注意:请不要使用“随机”无关标签。请注意不要使用“随机”不相关标签。您在这里没有使用USRP,您也没有使用LISP,也没有与GNU“过度项目”相关。所有标签(应该)都有说明,如果您确定它适用于您的问题,则应该只使用标签