Skip to main content

Demodulation

Jia-YinAbout 1 mincomm

Processing Baseband Signals

Feed the modulated signal from the previous section to a Virtual Sink, id=ooksignal. Next, we add some modules, as shown in the figure below:

The parameters of the added modules are as follows:

  • Virtual Source: id=ooksignal
  • Xlating FIR Filter:
    • Taps: firdes.low_pass(1, samp_rate, 40e3, 1e3)
    • Center Frequency: fstation-fcenter
  • Time Sink:
    • Number of Points=16384,
    • Y: -0.1~1.1
    • Trigger Mode: Auto
    • Trigger Level: 0.5
    • Trigger Delay: 0.0002

After execution, we get the following result:

This result should be easy to understand. It mainly extracts the baseband signal to be processed and observes its amplitude.

Demodulation Signal

Next, we add a few more modules and modify the system as follows:

The parameters of the added modules are as follows:

  • Add Const: -0.25
  • Binary Slicer: N/A
  • Char To Float: default
  • Time Sink:
    • Number of Points=16384,
    • Y: -0.1~1.1,
    • Trigger Mode: Auto,
    • Trigger Level: 0.5,
    • Trigger Delay: 0.0002 -

In the above figure, Binary Slicer converts the received real-valued signal into a binary signal, where positive values output 1, negative values output 0, and the output type is Byte. Therefore, we add a Char To Float to convert it to a floating-point number. The execution results are as follows:

Comparing the two signals above, we find that they are exactly the same, indicating that the transmitted signal has been demodulated back.

Exercise 2

  1. In fact, in the above execution results, each 0 and 1 signal still lasts for a certain width, so it is still not the original signal. Please add a Keep 1 in N module to the system to convert the repeated signals into single signals; also change the Number of Points of the Time Sink behind to a number less than 1024, and observe whether the original signal of the Vector Source can be obtained.
  2. (Optional) In fact, Virtual Sink and Virtual Source are used as the sending and receiving endpoints here. If we change Virtual Sink to Osmocom Sink, we can send the modulated signal through SDR; if we change Virtual Source to Osmocom Source, we can receive the modulated signal through SDR, which becomes a real transmission system, but the received signal may be a shifted version due to the delay. In addition, we can also use File Sink to record the transmitted modulated signal, and then use File Source to obtain the modulated signal. Interested students can try it themselves.