Analog and Digital TV (DVB-T) Signal Generation

News

(Jun 13, 2005) First public release

What is it ?

This is not a hoax ! With a PC running Linux and a recent VGA card, you can emit a real digital TV signal in the VHF band to your DVB-T set-top box.

DVB-T emitters are usually very expensive professional devices. Now with a standard PC you can broadcast real DVB-T channels !

Examples to transmit PAL or SECAM analog signals directly to your TV are also presented.

What do you need ?

Screenshots

Here are some screenshots showing the transmitted pictures. A Netgem iplayer DVB-T set-top box was used as receiver. The On Screen Display of the set-top box shows the signal parameters and quality. The pictures were grabbed using a PC TV grabber connected to the composite video output of the set-top box.

How to proceed ?

How does it work ?

Every VGA card contains high speed Digital to Analog Converters (DACs), one for each Red, Blue and Green component. Here we use only the red DAC. The provided images have been computed so that the signal output to the DAC is a valid RF signal.

As we did not want to generate a 176 MHz signal directly, we use the fact that the VGA DACs generate a lot of harmonics. The real generated DVB-T signal has a central frequency of 25.71 MHz. Then the second harmonic has a frequency of 25.71+2*76.5 = 178.71 MHz which is almost exactly the central frequency of the VHF TV channel 5.

The DVB-T signal is generated with a DVB-T and DVB-H modulator I wrote from scratch. This is the most complicated step because the DVB-T modulation is quite complicated (COFDM modulation). A custom polyphase filter is used to interpolate the baseband COFDM complex signal. Then it is translated to the 25.71 MHz frequency.

I used a patched version of FFmpeg to generate a custom DVB Transport Stream containing two DVB services. Each one contains a still MPEG picture. One of the still picture is the very nice Lena.

For PAL and SECAM, I also wrote a simple TV black and white PAL encoder. Adding color would be possible, but I am not motivated enough to do it :-)

Related links

Source Code

I am sorry to announce that the source code won't be available any time soon.
Copyright (c) 2005 Fabrice Bellard.
Fabrice Bellard - http://bellard.org/