Signal Decoding
May 24, 2024About 1 min
Objective
Using a differential decoder to eliminate phase ambiguity, decode the signal after the Costas loop and restore the original transmitted data stream.
System architecture file: Qpsk_stage6.grc
Steps and Instructions
- After the
Costas Loop
, use theConstellation Decoder
to decode the signal into symbols between 0 and 3. - Use the differential decoder to decode the symbols.
- Convert the decoded symbols to the original transmitted symbols 0 to 3.
- Compare the finally decoded symbols with the delayed original transmitted symbols.
System Simulation
Additional Notes
Differential Decoder Function
- The differential decoder decodes the signal by the phase change of adjacent symbols, avoiding the uncertainty of absolute phase, which is particularly suitable for handling phase ambiguity problems in PSK modulated signals.
Comparing Received Bitstream with Input Bitstream
- The sending end generates packed bytes, so we need to use the unpack bit module to unpack each byte into 8 bits.
- For easy comparison, convert the bitstream to floating point values 0.0 and 1.0, as
Time Sink
only accepts floating point and complex numbers.
Signal Delay Compensation
- Due to the signal delay caused by multiple modules and filters in the receiving end, the original data stream needs to be compensated with the same delay before comparing with the original signal.
- Adjust the delay value until the received signal is completely synchronized with the transmitted signal.
Exercise 7
- Find a suitable delay value in the above simulation to make the received signal completely synchronized with the transmitted signal.
- After GNU Radio version 3.10.9.0, it is recommended to use
Symbol_Sync
to replacePolyphase_Clock_Sync
. The new version of the decoding architecture can be downloaded here. Please use the new version for simulation and adjust the appropriate delay value to make the received signal completely synchronized with the transmitted signal.