跳至主要內容

信號解碼

Jia-Yin大约 2 分鐘comm

目的

使用差分解碼器來消除相位歧義,將 Costas 迴圈後的信號進行解碼,恢復原始傳送的資料流。

系統架構檔案:Qpsk_stage6.grcopen in new window

步驟與說明

  1. Costas Loop 之後,使用 Constellation Decoder 將信號解碼成 0~3 之間的符號。
  2. 使用差分解碼器對符號進行解碼。
  3. 將解碼後的符號轉換為原始傳輸的符號 0~3。
  4. 將最後解碼出來的符號與延遲後的原始傳輸符號進行比較。

系統模擬

GNU Radio QPSK Tutorial
GNU Radio QPSK Tutorial
GNU Radio QPSK Tutorial
GNU Radio QPSK Tutorial

補充說明

差分解碼器的作用

  • 差分解碼器通過相鄰符號的相位變化來解碼信號,避免了絕對相位的不確定性,特別適合處理 PSK 調製信號中的相位歧義問題。

比較接收位元流與輸入位元流

  • 發送端生成的是打包的位元組 (packed byte) ,因此我們需要使用解包位元模組將每個位元組解包為 8 個位元。
  • 為了便於比較,將位元流轉換為浮點數值 0.0 和 1.0,因為 Time Sink 僅接受浮點數和複數。

信號延遲補償

  • 由於接收端中的多個模組和濾波器會引起信號延遲,因此和原始信號比較之前,要先對原始的資料流進行同樣的延遲補償。
  • 調整延遲值,直到接收信號和發送信號完全同步。

練習 7

  1. 在上述模擬中,找到合適的延遲值,讓接收信號和發送信號完全同步。
  2. GNU Radio 在 3.10.9.0 版之後,建議使用 Symbol_Sync 來取代 Polyphase_Clock_Sync,新版的解碼架構可 點此下載open in new window。請使用新版進行模擬,並調整合適的延遲值,讓接收信號和發送信號完全同步。