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
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
|argument||Beschreibung||supported values||default value|
|m||set modulation bits||2,4||2|
|o||set ofdmmode||2048, 8192||8192|
|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.
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.