Software DVB-S demodulator

  • Marcel, thanks for a nice software!

    Operates well - no crashes here.

    It would be very useful if you can add a 5 digit LO frq. entry option (00000 to 11000 MHz). Simple subtract LO frq. entry from reception frq. entry to get actual SDR (IF) frq. Both entries must be memorized in the system to be picked at next program startup.

    We use various modified LNB's and at this moment need to calculate actual IF frq. manually for each frq. change.

    Thanks, keep good work on ...

  • Hello Markro, do you think there would be any chance for this to run on a last generation raspberry from a computational power point of view? Obviously there would be mods needed because of moving to Arm, but do you think there would be enough power in an Arm processor to work?


  • I'm not very familiar with ARM CPUs. I know that the latest Raspberry uses the A53 CPU from ARM, but i don't know how it performs in comparison to a recent x86 CPU. The good thing is that there is SIMD support (ARM NEON instructions). As a majority of the computationally heavy code in my program is written in x86_64 assembly, i'd need to port it to ARM NEON code and do performance tests. Maybe i'll do that in the feature, but i dont think that it will happen soon.

    I think the A53 CPU is roughly comparable with Intel Atom CPUs. Doesn't seem promising. It's a mobile CPU after all.

  • @MarKro: how could your SW configured to stream the video to another PC?

    I have here set the receiving PC on IP and the PC running VLC on

    Both can ping each other and the speed is 100MBit/s

    What should i enter in the IP box in your SW? Standard is (localhost)

    Should there be the for the LAN on the RX PC or for the VLC PC ?

    Or something completely different?

    VY73 DB8TF

  • DB8TF: Hi, just enter the IP address of the VLC PC. in VLC you use the same URL as always, it's udp://@:8888

    @SM4IVE: i dont really know that your question is. do you mean FEC modes for DVB-S1? They are 1/2, 2/3, 3/4, 5/6 and 7/8. DVB-S2 has many more.

    Well, QPSK 1/2 is the standard one you can say for DVB-S1, because the native coderate for the Viterbi algorithm is 1/2 (the number of coded bits is twice as many as in the input data) and to do the other coderates, it uses puncturing.

    That means that some bits are not transmitted, and on the receiving end, they are just replaced with zero symbols, which just means uncertainty whether a 0 or a 1 has been received. Because when soft-symbol decoding is done, the I and Q amplitudes are the probability that a certain bit has been received (I and Q coding one bit each).

    So a symbol in the constellation plot which is very far right on the edge is more likely to be a 1 than a 0, when we look at the in-phase component of the complex symbol.

    Puncturing increases the usable datarate, but is more prone to errors.

    Depuncturing is done in the receiver before doing viterbi decoding. You use the normal 1/2 Viterbi algorithm on the depunctured data. that's what i got wrong in the beginning so i'll write it here, too :D

  • @SWL - markro92:

    Did you receive an e-mail to your adress from Youssef, the author of SDR# and inventor of Airspy? He would like to offer you support with a Airspy sample hardware (many people here also use Airspy SDRs) and some software tricks for sample rate conversion....

    See his tweet here and try to get in touch with him. He is a nice chap and very helpful. (and understands SDR "black magic" very well obviously)

  • i don't understand where is the problem with dvb-s gui demod. i can't lock the signal. I tried a local trasmission in dvbs1 mode and i decode with sdrangel without problem.

    i don't understand where is the problem with dvb-s gui demod. i can't lock the signal. I tried a local trasmission in dvbs1 mode and i decode with sdrangel without problem.

  • After playing some days with this nice Software may i ask for some "improvements" if Markro finds the time?

    It would be nice to be able to directly switch to the common SR rates instead of using the slider or typing in the values. I think a automatic setting would be complicated/hard to program.

    So maybe add some buttons which set SR to 250/333/500/1M/2M with one click.

    Every time the SW ist started i have to set the gain and frequency new, maybe this values could be stored.

    To get the Information of the FEC you need confidence about 256 but only seldom you get that far, could it be possible to get a predicted FEC indication a little faster, maybe even with automatically setting the decoder to that FEC?

    Actually i need to switch through all FEC Settings and have to look where VLC starts to play.

    Besides of those small "improvements" this software works really nice ;)

    BTW, i observed that it makes a big difference in stable decoding DATV streams if you use

    a "wobbling" LNB or a stable one AND also a TCXO stabilized DVB-T stick instead of the "cheap" ones.

    vy73 de DB8TF

  • @DB8TF: thanks for your feedback. Symbolrate Presets are already done and will be in the next version. Finding the Symbolrate automatically isn't actually that hard to do, i could experiment with that and it will definitely be done, but i think that are more important things right now. Definitely in the TODO list. Same thing for automatically setting modcodes. That would actually be easy to change. Just now, there is no other information passed between the Demodulator and the LDPC worker apart from the XFECFRAME symbols itself. The Modcode information is only being displayed in the console window for now. Saving settings for each input device will definitely be done in next version, as it starts to annoy me, too. I only have the RX channel configurable for the LimeSDR right now (which i should also do for the sdrplay). Because of the LNB stability, yes, "wobbling" LNBs are worst with low symbolrates. The Beacon should work fine, though.

    @DJ0MY: yes, i got in touch with him and i'll receive airspy samples soon. After adding Airspy support i'll post a new version where i also fix the issue with UI skins people are having, additional config options, symbolrate presets and LO frequency input (requested by S51KQ). that will be version 2.0.11.

    sync_confidence display is unreliable for DVB-S2 by the way and needs fixing as well.

    The next major update will be 2.1.0, which will be a partial rewrite and cleanup of the codebase, also adding new features like multi-transponder reception for people who want to watch full duplex QSOs. Also, MER display should make it into version 2.1.0. DVB-S1 settings are quite annoying right now, because they are different from DVB-S2, so they need additional UI elements. The symbol skip button and derotate sliders will disappear in the feature, because finding the right FEC and derotate setting for DVB-S1 can also be done automatically. It's basically trial and error, because DVB-S1 has no frame structure with that information encoded in a header like DVB-S2 has. After that's done however, i should provide some documentation for this software (of course with screenshots and explanation videos as well)

    As always, thanks for your feedback and suggestions.


  • Hi,

    After finding a (relatively) cheap Quadcore-Computer (Intel Q8400) reception now works fine, using an RSP1A and a modified Octagon (IF around 435 MHz) in a 85 cm offset-dish.

    Finding rhe right parameters still meams fiddling around a little bit but once I hit the proper parameters the stream starts and the video is escellent.

    Thanks, Marcel, great software.

    Vy 73

    Holger ‚Geri‘, DK8KW