跳至主要內容

信号解码

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。请使用新版进行仿真,并调集成适的延迟值,让接收信号和发送信号完全同步。