Transmitting DVB-S with USRP and VLC

From Hamspirit wiki
Jump to: navigation, search

To transmit DVB-S signals, we need, in order, the following:

Audio/Video-source -> MPEG-TS encoder -> DVB-S encoder -> modulator/transmitter

For the A/V source and MPEG-TS encoder i've chosen VLC. The DVB-S encoder is a custom piece of software. The QPSK modulator/transmitter is build with gnuradio-companion and the USRP1.

VLC as a MPEG transport stream encoder

To create the MPEG-TS transport stream i use VLC under linux. It should be possible to use other operating systems but i havent tried that yet.

VLC is configured to send the MPEG-TS to the DVB-S encoder over the network via the RTP protocol. See Encoding PAL over MPEG-TS with VLC for details.

VLC can be used as a carrousel to play multiple movies, and also allow easy switchover to webcams and framegrabbers available when configured in a playlist.


For videosources you can use movies, framegrabbers, other network video sources, webcams etc. For example the EasyCAP DC60 or the internal webcam of your laptop. See VLC live video sources for detailed examples.

Java based DVB-S encoder

This is a java program. It receives the MPEG-TS stream over RTP and does all the digital encoding. Sending its output to a named pipe. This encoder is responsible for the null-packet insertion in order to create a constant-rate datastream. This is to keep the QPSK modulator always fed with data, so that the receiving side can maintain lock on the signal.

QPSK Modulator / USRP1


This is a simple QPSK modulator, build in gnuradio-companion. It reads from the named pipe, converting it from data into a QPSK modulated signal. This signal is then sent to the USRP1, which is fitted with a WBX board where it is converted to analog, and mixed to 1250MHz.