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.