Digital Video Transmission using LimeSDR and GNU Radio

DVB-S2 transmitter example for GNU Radio

DVB-S2 transmitter example for GNU Radio

One of the reasons why I find the LimeSDR interesting is that it can transmit high data rates over a wide frequency spectrum. It covers many ham radio bands where we can legally transmit wide signals using high power. This allows us to experiment cutting edge technologies such as digital video transmission over the air.

In this experiment I explored transmitting a high definition video file over the air using GNU Radio and the LimeSDR board.

The latest version of GNU Radio includes a digital TV library, gr-dtv, written by Ron W6RZ and others. This library can be used to generate a digital baseband signal according to current digital video broadcasting standards, namely ATSC, DVB-T, DVB-T2, DVB-C and DVB-S2.

The digital baseband signal is then transformed to RF using appropriate transmitter hardware, in this case the LimeSDR.

I took an example script included in the package, dvbs2_tx.grc, and modified it to use the LimeSDR. The script was configured for BladeRF through the gr-osmosdr. It already used 10 Msps sample rate which works fine with the LimeSDR.

I chose DVB-S2 system because that allows me to transmit in the 1.28 GHz ham radio band and receive the signal using an off the shelf satellite TV receiver without any additional RF hardware. Recall that satellite TV is transmitted on Ku (11-12 GHz) and Ka (18-20 GHz) bands but this frequency is converted down to 900 – 2200 MHz at the receiver. So, the input of a standard satellite TV receiver is between 900 – 2200 MHz.

The GNU Radio script requires a transport stream input. A transport stream is a packetized data stream that can contain one or more audio, video and data streams. This is often referred to as a MUX or multiplex.

You can see the DVB-S2 transmitter example for GNU Radio used at the top of this post.

Free and open source A/V tools like FFmpeg and GStreamer can be used to prepare a transport stream using one or more audio and video input. However, for the sake of this experiment I used an existing TS-file downloaded from Ron’s website.

The video below shows my setup consisting of the LimeSDR, an off the shelf satellite receiver and an Airspy used for monitoring the transmitted spectrum.

Digital video transmission over the air has never been so easy!

21 Responses to “Digital Video Transmission using LimeSDR and GNU Radio”

  1. It is a fantastic example of what the LimeSDR can do.

    But I think that an example that shows the full RX bandwidth of the device would also be good.
    For example using a satellite dish with a LNB downconverter to look at one transponder in range of 950-2150 MHz and focusing on one 27/36MHz (72MHz is too big) transponder and no need to even decode (most are encrypted), just display 27/36MHz of bandwidth using the LimeSDR (ref: http://goughlui.com/2013/11/10/rtl-sdr-a-tool-for-visualizing-broadcast-satellite-signals/ ). That would turn a few heads.

    Or maybe displaying from 100kHz to 30MHz using an active whip antenna similar to what they do at websdr.org in one waterfall (maybe not as cool as this http://wwwhome.ewi.utwente.nl/~ptdeboer/ham/eclipse2015/fullday.html or their live version but that general kind of idea).

    Or displaying 61MHz of of a waterfall in the middle of the 2.4GHz ISM band.

    All the examples so far have been been like 10MHz RX or 10MHz TX (6MHz signal), I say go bigger!

    • Hi Martin,

      Thanks for your suggestions. Unfortunately, my computers are not recent / fast enough to do more than this 10 MHz bandwidth. Lets hope somebody else with a board can do some demos with wider bandwidth.

      Alex

      • Yea, I was thinking that even a small capture to a RAM disk, at 61.44MSPS (12-bits samples stored as 16 bit words) would eat through a gigabyte every 8 seconds. Pushing the LimeSDR to its upper limit might not be easy.

  2. I was looking at the Cypress Semiconductor CX3 http://www.cypress.com/products/ez-usb-cx3-programmable-mipi-csi-2-usb-30-camera-controller chipset which is a bridge from a MIPI-CSI2 (think Raspberry Pi camera) to USB 3.0. If the LimeSDR is using USB 3.0 as its front end, a simple host with two USB 3.0 buses would be able to simply repackage the HD video stream from a RasPi cam and chuck it out over the air waves on a LimeSDR. Maybe add your own TV bug to the video with your ham callsign to maintain FCC compliance. Viola! Ham video conferencing.

    Speaking of which, how does this broadcast of Adventure Time not violate the FCC’s rule against broadcasting and transmitting music. Granted, the 23 cm band has areas marked as experimental, its just an academic issue of transmitting commercial video on a ham band as fair use that I’m wondering about.

    • I am transmitting a radio signal in a lab with few meters effective range and I am sure not much of it gets outside through the walls of my lab. My setup complies with Danish law and it would surprise me if FCC rules didn’t allow this setup, although I don’t care since I’m not in the US.

      As for using copyrighted material, I think this qualifies as fair use.

  3. I would be thrilled if you could take a large quantity of digital data, encapsulate it using Generic Stream Encapsulation, encode it using DVB-S2X, and transmit using one Lime SDR; receive it with a second Lime SDR, decode it, and extract the digital data originally encoded.

    In your example, the PC is apparently doing the DVB-S2 encoding. It would be even more exciting if the encoding on the first SDR, and the decoding on the second SDR, could be programmed into their FPGA’s, so that a “modest PC” could do the rest.

    73 de W0JT/5, EL09vu

  4. hi , what is your system config and how much resource used for it ?
    on 1:35 i see on spectrum there are some lo leakage , is it from receiver or its coming from limesdr ?

    • The carrier at the center of the spectrum is coming from the limesdr – I have not done any DC calibration of the transmitter.

  5. Hello Alexandru,

    I build that DVB-S2 transceiver with hackrf instead of lime-sdr (which i also have ordered).
    It is transmitting but i can’t receive nothing on my sat receiver (terratec cinergy S2 stick).
    How do you configure your sat receiver?
    I think that i don’t use the right parameters in the DVB-S2 stick (SDRview program).

    Regards Ben PE2BEN

    • I didn’t do any configuration. There is not much that can be configured on these devices. I set it to “scan a satellite” and half an hour later it finished and found one channel, which was my transmission.

      Check your spectrum that it is clean, the signal is strong enough for the receiver to decode but not too strong to drive the hackrf amplifier out of its linear range.

  6. Hello Alexandru,
    at 1:40 i see not only the main carrier also an CW in the left of spectrum , is that from limesdr (some type of leakage or harmonic ) ?
    thanks

    • Hi ashtum,

      It is a direct conversion architecture thus we can have both LO leakage and DC offset contributing to a large spike in the center. I haven’t calibrated the device before testing it, so I suspect it is mostly DC offset.

      • No I don’t talk about center of spectrum , my mean isn’t lo leakage . in video at 1:40 in left of screen there is a strong cw . its like a line in waterfall .

        • oh that… that could be anything. The receiver antenna is on the receiver, i.e. in the close proximity of tons of noise sources (computers, monitors, …)

          • thanks Alexandru , i wanted to make sure that is not from limesdr itself .
            i plan to use lms7002m as satellite modem in ku band (by using commercial BUC and LNC) . in satellite transponder its very important to have no interference with other carriers . any harmonic or leakage in l-band band will be up-convert in BUC and interfere with other carriers .

  7. Hi Alexandru,
    Can you share the gnuradio project, please? I would like to see how you modified the osmocom sink block for use with limesdr.

    Thanks
    Paco

  8. Dear All:
    I am trying to transmit DVB-T with the limeSDR and the gr-dvbt examples using gnu radio companion.
    Drivers are loaded OK, no errors while running but nothing on the air….
    I need assistance in order to make this configuration to run.
    I tryed the Windows based “datvexpressTransmitter” for limeSDR, again,driver loaded OK, software is happy but… nothing on the air.
    Any help will be very appreciated.
    Yours.
    Nelson

Leave a Reply