Wednesday, 3 March 2010

2 Msps DATV using a USRP2 and WBX transceiver

I am now experimenting with DATV. The picture shows my first DATV transmission on 24 cms using Fedora 12, a USRP2 and a Hauppauge PVR500 MPEGII encoder card. The transmit rate is 2 Msps. The Linux box is a Core 2 Quad clocked at 2.8 GHz.

Most of the code I am using was written by others. I only had to write about 15 lines of Python to get it all going.

The receiver is a standard Fortec Star DVB-S set top box (STB). The small 5" screen on the left is the received signal and shows the transmitter's spectrum. The signal was local leakage picked up with a bit of wire plugged into the STB.

To get 4 Msps however I am going to have to change the interpolator and RRC filters. To get the speed I will be using MMX assembler. Which is proving more difficult than I first thought because to get maximum efficiency the code has to be arranged to reduce the number of pipeline stalls. This can involve some really strange ordering of the instructions. I have already re-written the code 4 times each time dropping another stall. I don't think there is much more I can do.

I am currently waiting for a surplus DirecTV B Band converter I bought on eBay to be delivered. This will be modified to allow the STB to receive 436 MHz transmissions. The USRP2/WBX can already transmit at 436 MHz if required.

A GH Engineering 1.3 GHz PA kit is also on order. I have not decided on an antenna yet.

I think I am going to have my work cut out to gather any viewers!


  1. I would like to replicate your experiment.

    Do you want to provide the 15 lines of code?

  2. This comment has been removed by the author.

  3. Yes certainly Matty you will need to follow the instructions on Rob M0DTS page.
    Modify the batch file he uses and add the Python script I wrote. I will gzip the 2 files I changed over the weekend and send them to you (if you give me an email address to send them to).

  4. Thanks for the files!

    I hope to test them with my USRP1 soon.