我是GNU Radio的新手,所以我正在学习简单的项目。我有一个.txt文件,我想在另一个.txt文件中通过PSK Mod和Demod模块发送和接收文件(还没有SDR)。因此我制作了以下流程图:
文件来源----> PSK Mod ----> PSK Demod ---->节流阀---->文件接收器
我选择了Num._of_Const。为4,并选择源文件和接收文件的路径。我还将源文件的输出类型(以及接收器文件的输入类型)设置为'bytes'。当我运行grc文件时,某些东西存储在接收器文件中。但是,当我读取它时,接收器文件似乎包含一些随机符号和数字,这些符号和数字完全与从源文件发送的文本不匹配。
我在网上看到有些人使用了Unpacked_to_packed块,但这对我来说也不起作用。我试图从简单的项目开始,但我觉得我缺少某些东西,所以你的帮助将不胜感激。
答案 0 :(得分:2)
因为PSK demod包含一些控制循环以与频率/定时偏移同步,所以即使您完全正确地参数化了块,它也可能只缺少前几位。这将导致您的输出比特流移位几位,然后字节边界不再匹配,并且您将获得乱码数据。如果你用二进制文件而不是文本查看你的RX文件,你仍然应该看到正确的位序列。
您需要通过找到"已知"来纠正该偏移。位顺序。从本质上讲,您需要任何类型的#fra;",以便您知道何时发生字节边界。
另外,PSK demod的文档清楚地表明它为你提供了解压缩的数据,即每个输出字节一位;你将需要一个unpacked_to_packed来获取原始字节。
<小时/> PS:请不要随意使用&#34;随机&#34;不相关的标签。你在这里没有使用USRP,你也没有使用LISP,这也与GNU&#34; overproject&#34;有关。所有标签(应该)都有说明,如果您确定它适用于您的问题,则应该只使用标签