2016-05-13 1313 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「過度項目」相關。所有標籤(應該)都有說明,如果您確定它適用於您的問題,則應該只使用標籤