Software DVB-S demodulator

  • Dear Marcel , congratulations for your excellent work! I have been waiting for a long time for bandwidth expansion up to 6 ghz for reception with Adalm Pluto, I am happy. Unfortunately, however, after testing the sw 2.0.18 version with 2 Pluto hardware I can say with certainty that beyond 2400 mhz the spectrum does not display RF signals in the air although they are actually transmitted! I find your software very useful not only for the QO100, I use it for the heart DVBS2 DATV tx-rx tests. I also have the Minitiouner prov2 but it does not go beyond 13 cm so the DVBS2 Demod GUI remains a valid solution if it works well! I hope you can give me a quick answer. Thanks and 73 de Luigi IZ7PDX.

  • hello after a long pause of physical problems today I did the test with the new program dvb-gui 2.018 I have no words great performance to receive friends SWL - markro92 great realized let's find out some problems, now I'm using pluto and I receive udp that tcp no problem

    73 Tony ik1hgi

  • I allow myself in the vacancy period August I wanted to experiment with a laptop receive with the DVB-GUI program a signal to be able to transmit and receive 2445mhz, from a village on the beach and receive the signal, ask if possible on the dvb-gui program made local tests not I can get on the frequency, but only up to 2150 mhz there is the way to stretch the band only with Mimitioune and ok I receive no problem

    73 Tony IK1HGI

    this morning other test nothing does not receive dvbs-gui 2135 ghz only minitioune ok 2150 ghz there is some possibility of great help thanks

  • I would not want my request for more info to be forgotten! Why does the latest version of dvb-s_gui_amsat 2.0.18 receive and demodulate in DVBS2 only up to 2400 MHz and then the signals are not even displayed on the waterfall? I used simultaneously 2 Adalm Pluto devices both for transmission with OBS and for reception with dvb-s_gui. I also tried to invert the two Rx-Tx PCs. Intel i7 and i5 cpu. I look forward to a concrete answer, thank you! Luigi IZ7PDX.

  • Hi, i've read your posts and i probably already know the solution for the problem. I've used signed 32-bit integers somewhere in my code. So the maximum value should be 2^31 - 1, which is 2147483647 Hz, which corresponds to about 2147MHz. I'll quickly release another version with a possible fix.

  • Version 2.0.19



    • Fixed frequency slider input not working above 2147MHz.
    • Fixed off-by-one error in SDT (Service Descriptor Table) parsing code.

    Edit: The next update will probably be missing the dropdown box for the rolloff factor,

    further simplifying the UI.

    The rolloff factor for DVB-S1 is always 0.35.

    For DVB-S2 it's transmittd inside the BBHEADER after successful LDPC decoding.

    Second thing is interpolation before decimation, which means i can also get rid of the M&M Timing estimator, only using Gardner.

    Number three on the roadmap is changing the demapper, so that it's using a lookup table for determining the likelihood ratio for every bit of the constellation, which will be fed to the LDPC decoder. Currently i'm doing that by rotating the constellation and using I and Q values directly.

    The new approach will also simplify 16APSK and 32APSK demodulation which is hopefully working until then. I also started working on a hardware solution. I'm currently doing a prototype PCB layout which can be plugged onto an existing FPGA board (Numato Neso with an Artix7 FPGA). I'm planning to use a MAX2121 as mixer IC. I'll open a new forum thread for that when i have more to show.


  • Hi, i just updated the binary, please re-download.

    The build date is Jul 4 2020 13:19:24.

    SDRPlay works fine for me, but i noticed that i commented out the

    code writing the number of LDPC iterations to the console window

    which could be very confusing :D i was about to implement an alternative

    solution and forgot to re-add it for the release. Sorry for the inconvinience.

  • Marcello congratulations for the promptness of your intervention and congratulations for the high quality of your work! I will try the new version as soon as I get home. Please update me on your new hardware adventure, I'm sure you have the right insights! If you have a PayPal email, I suggest you to publish it to ask for a contribution for your job search! 73 de Luigi IZ7PDX. 👏

  • Thanks Marcel, we managed to get and receive the signal transmitted with the Pluto up to 2450 MHz! I think in the future the pleasure of being able to reach the purpose the digital terrestrial ATV parts, to reach 5845 MHz we already use the Analog system, with the DVBS-GUI version can you broaden the freqeunza? some tests of the friends I asked a friend Vittorio I3BQC of Venice who has two plutas and did the tests with my suggestion how to make and astonished excellent signal of the constellation the positive result of the signals, also tried 8PSK good the signals on the photos taken from the movie, he wanted to do another 5845 mhz test but the frequency does not arrive and it is not possible to decode. I attach the test image at the maximum frequency received. Congratulations!

    73 Tony IK1HGI

  • Hi, i'm planning on releasing a new version next weekend. Main improvements will be:

    - Raw sample input via TCP to be able to support GnuRadio sinks or sample input from other network devices

    - Upsampling before downsampling to get rid of the M&M Timing Estimator, only using the Gardner algorithm

    - Support for DVB-S2 Dummy Frames

    - Support for Generic Stream Encapsulation (for instance radio stations put into ethernet frames and extracting network traffic)

    - Automatic selection of filter parameters (rolloff factor)

  • Version 2.0.20



    • Support for input frequencies up to 6GHz and theoretically more.
    • The resample worker thread now completely uses fixed point math.
    • Removed the checkbox for DC correction, it's now always enabled.
    • Removed M&M timing estimator, Gardner algorithm works better anyway.
    • Added 2x upsampling before downsampling due to the Gardner algorithm requiring 2 samples per symbol minimum.
    • Added TCP input device for streaming samples over the network. For example, you could connect to a GnuRadio TCP Server Sink.
    • Added support for dummy frames to the demodulator.
    • Added experimental support for generic stream encapsulation to the demodulator (only continuous stream).
    • Fixed crash when recording files larger than 1GiB.

    Known bug: Closing the TCP output connection causes a crash when recording generic streams.

    The only Transponder that i could find and which is currently supported is the NRK DAB Mux on Intelsat 10-02 - Thor 5/6/7 @ 1° West.

    10720 V
    Multi 171
    5400 3/4 DAB NRK

    Support for Generic streams is not complete this feature needs more work. But when you are recording to a file, there should be IPv4 packets inside. There will be a possibility in future versions to filter Multiple Input Streams.


  • @Iz5tep: maybe. The modulation is quite different, though.

    Actually, the roadmap is as follows:

    1. complete the demod gui, which is roughly:

    1.1 Making the demodulator more robust

    1.2 Adding 16APSK and 32APSK modcodes.

    1.3 Support for receiving multiple transponders at once

    1.4 Adding TX capability with LimeSDR Mini and PlutoSDR, so that it can also be used as a modulator.

    2. Creating a PCB Layout and implementing the Demodulator in VHDL. Will be running on a FPGA with USB and Ethernet interfaces.

    It will also have a step-up converter to power the LNB (LNBH-29), mixer is MAX2121 (need to find out if i can tune lower than 10700MHz), and some ADC from Linear Devices (something around 100MHz with 10bit resolution)

    3. Implementing more Standards, like DVB-S2x and DVB-T/T2

  • hello to the group tonight done some tests TCP-UPD mode good signal I receive with a parabola of 80cm offset, I would pray let's see @SWL - markro92 in the future possible to have the signal to tune automatically on a click

    73 Tony IK1HGI