DVBT/dvbtenc

Aus LaborWiki
Wechseln zu: Navigation, Suche

dvbtenc[Bearbeiten]

Software to generate baseband IQ signals out of a single mpeg-ts using opencl. The software can be checked out using git by

TODO: ask the admin how to check out the repro https://das-labor.org/users/siro/dvbt_enc_opencl

building[Bearbeiten]

libopencl and a compute device is required for libdvbtenc to work.

  • first build libdvbtenc
    • go to folder libdvbtenc and run make, then make install as root.
  • second build applications
    • go to app and run make, then make install as root
    • go to tests and run make, optional: run ./tests to see if everything is working
    • go to benchmark and run make, optional: run ./benchmark to see how fast encoding will be

command args[Bearbeiten]

argument Beschreibung supported values default value
a set alpha 1 1
m set modulation bits 2,4 2
c set coderate 2,3 2
o set ofdmmode 2048, 8192 8192
b set bandwidth 6,7,8 8
d set cellid integer 0
f use gpu 0,1 0
t dont read from stdin, use null bytes - -
v be verbose, write to stderr - -
k set oversampling factor 1,2,4,8,16,... 1
e exit after 1 superframe - -
s set outputformat, 0:float, 1:char 2: short, 3:uchar, 4:ushort 0,1,2,3,4 0
l do not write to stderr, write to dvbtenc.log - -
z use gpu for encoding - -

oversampling factor increase the size of ifft by the given factor. You have to increase the samplerate by the same factor. Using ofdmmode 8192 and 4 oversampling the fftsize is 32768. This gives 50dB SNR. To improve calculation time mixed radix 4-2 is used.

data flow[Bearbeiten]

dvbtenc reads from stdin and writes data to stdout. For performance reasons, stdin is read using a seperate thread. The data to stdout isn't buffered. Reading in to less intervals or to small buffersize may result in decreased performance.