Friday, 11 January 2013

Some thoughts for the future

A while ago I blogged about the possibility of implementing DVB-S2/T2 on
an FPGA. Later bemoaning the fact it would need to be a high end (expensive)
FPGA. There is an alternative at a reasonable cost which could be used both for 
encoding and decoding DATV and that is Nvidia's CUDA. I bought one of 
their cards a while ago which had 192 CPU cores on it and since then the price 
has dropped considerably. For the same money I can now get > 800 process cores.

An early version of my Linux DVB-T software did in fact use a graphics card
to do the encoding. It did not give any advantage over using the main CPU
but that was because I was moving data backwards and forwards between main
memory and the graphics card memory across a PCI bus.

When encoding DVB-S2/T2 virtually all the processing could be done on 
the graphics card. All that would be needed is to transfer the bitstream to the 
card and read back the encoded I/Q samples. CUDA provides the IFFT needed 
for DVB-T2 encoding and the Low Density Parity Check (LDPC) codes used in
S2/T2 are ideal for parallel processing.

The graphics card would also have enough power to do the receive in realtime.
This would make a wonderful way to experiment with future narrowband DATV
systems at a reasonable cost. 

Using the Direct Show model it would seem possible to provide Direct Show 
filters that could benefit from CUDA acceleration. So if someone had an 
NVIDIA card they could use it otherwise they could simply use a non 
accelerated (lower performance) filter that used the host CPU.

I know a lot of Amateurs think that all this software is not really Amateur Radio
but it is something that would appeal to a younger/different demographic and for
me would be intellectually challenging.

Please share your thought on where you would like this project to go.  


  1. Hi Charles. Think this is a good way forward for home-based stations - saw an online demo of H265 coding and how little bandwidth that takes. No doubt CUDA could do the code/decode efficiently for this.
    I'm not so sure it matters how we generate the signals - I do think it is a good idea that we can keep the kit having some backward compatibility - ie one can also generate signals that can be decoded by a standard dvbt/t2/s/s2 + preamp filters etc so the hobby can be enjoyed by those on a budget.
    Where it does get exciting is the possibility of being able to explore the "narrow" band options - and what ham bands we could potentially fit an even narrower signal in and still get good results.
    Having said all that there is the danger we make the kit too fixed and lose out on /p operation. I think there is still very much a market and demand for equipment that doesn't rely on carting a hi spec pc round with you - something you can connect to datv express board (or digilite) and code up video/audio. Here I recognise the dilemma that it is probably much easier and cheaper to do in software but if there is some clever way of using a raspberry pi - and the promised camera module to implement even the most basic datv operation I think that is also a promising way forward. Ian G8XZD

  2. Hi Ian, Yes I agree with you, we need to maintain backwards
    compatibility and make sure the software will run on a low
    spec PC. CUDA would be optional for those that wanted to be
    more adventurous. The idea of running a DVB-T2 mux on 23 cms
    for people within a few miles of me is quite appealing.

    The Express board has flash memory on it and could boot from
    that, although there is only limited programmability on the
    board because of the lack of RAM. However we have brought out
    spare FPGA I/O to a header so it could connect to another
    larger uC on another board. This was done with the idea of
    the one or more boards being used by repeater builders.

    The PI is a great device after all most modern STBs use ARM
    controllers. However as it does not have an MPEG2 encoder
    there is a problem with backwards compatibility. But if people
    are happy with MPEG4 then great. Phil M0DNY has been doing some
    streaming experiments with a PI and he is keen to get his
    hands on the camera. Someone would have to move the DVB-S
    encoding into the FPGA but that is not too difficult to do.

    SR systems do make a narrowband DVB-T transmitter but the
    only thing that can receive it is yet more of their kit.
    There is of course DVB-H but that seems to have died a death.
    I have found a couple of Chinese companies that make cellphones
    with DVB-H. It has not taken off like the industry hoped.

    We live in exciting times, for sure

    - Charles G4GUO