A Brief Instruction

Following up the modulation activity, in this lab, we will implement modulation and demodulation on USRP. GNURadio provides existing modular to modulate and demodulate, but that’s no fun. We want to implement everything from scratch.

In order to avoid using existing modulars, I propose a work-around solution to move the part of modulation and demodulation in python and only use GNURadio to transmit/receive the signal. Here is how:

  • GNURadio is quite versatile that if you provide a file with complex numbers, it will transmit the signal as it is. So we can have our own python code to modulate file into complex numbers and write into a file.
    • Here is the code you want use to modulate a file into complex number -> Code and Data
  • Ideally, once the signal is received at the receiver, you should be able to see the points on the constellation map. By demodulating these points, you can get the data recovered.
  • However, that ideally. In the real-world, the transmitted signal can be troubled/distorted by various reasons. Follow the tutorial below to find out what are the problems and how to solve it.

Useful Resource