#1 Question on DVB


Dear collegues!
Currently I work on project on creation DVB-T2 model with vizualization interface. Then I work with standard TS 102 831 i find some mistakes in 8.14.2. I have some apprehensions about this. In DVB-T2 CSP m-files value 0 of C L1 Ace Max was chosen. In TS 102 831 standard some explanations is provided, but in example where are some mistake - value of V corr is defined incorrectly as i understand. In further for defining C L1 ACE Max value for imaginery part the value of pACE*Ncoded is used. According to standard Npost_coded value of 28160 is defined. But in example instead 28160 the 7040 used - maybe it may another abbreviation? And then additionally value pAce = p is used instead p(1-p) for 16-QAM. It is possible to provide more detailed explanation or correct example? Thank you for all, hope on your answers.

Best regards, V.B.


  • Oliver Haffenden

    Dear Vladimir,
    Thanks for raising this issue.

    As I understand the issue is with the DVB-T2 Implementation Guidelines TS 102 831 rather than the implementation in the CSP itself. I am the editor of TS 102 831 so will look into the issue. Please can you give details of what is incorrect in the definition of V_corr? It appears to me that there might be a "magnitude of" sign missing - was this what you had in mind?

    Regarding the CSP, although the L1_ACE_MAX is set to zero by default, you will find that some of the V&V test cases use the L1-ACE technique. VV460 and VV461 are probably the most interesting. You can find out more about what the V&V test cases are at http://www.dvb.org/technology/dvbt2/DVB-T2_ReferenceStream-Documentation.pdf and if you haven't found the BBC R&D White Paper on the CSP you can find it at http://www.bbc.co.uk/rd/publications/whitepaper196.shtml. This document explains how to run the CSP using the V&V test cases.

    Best regards,
    Oliver Haffenden

  • Oliver Haffenden

    These comments have been noted and where appropriate will be corrected in a future edition of TS 102 831.

  • Oliver Haffenden

    • status: open --> closed
  • Vladimir

    Vladimir - 2011-09-10

    Dear Oliver!

    I tried to run simulation with such code from Matlab command line with such code: run('dvbt2bl_basic') and have such error:
    <Running Test: dvbt2bl_basic>
    <Test Date: 10-Sep-2011 13:04:47>
    Adding path
    < Code path added >
    Added path
    < Execution Time meassure Initialization >
    Configuration type: DVBT2BL
    CSP Version: 030000
    Starting Tx Digital Video Broadcasting - DVB-T2: (DVBT2BL)
    Data generator: (DVBT2BL)
    259200 Bytes generated
    Data saved in file: datagen_tx_do
    Mode adaptor output saved in file: madapt_tx_do
    Frame 1 Sum of uncoded L1 bits = 92 (of 550 bits)
    Frame 1 Sum of coded L1 bits = 1489 (of 3340 bits)
    Frame 1 Sum of modulated L1 cells = 126.344268 + 74.065608i (of 2090 cells)
    T2 Frames of L1 generated = 1 frames
    L1 generator output saved in file: l1gen_tx_do
    Number of complete BB frames: 48
    BB scrambler output saved in file: bbscramble_tx_do
    Number of Bytes read: 258240
    BCH blocks: 48
    ??? Undefined function or method 't2_tx_dvbt2blocod_encode' for input arguments of type 'logical'.

    Error in ==> t2_tx_dvbt2blocod at 93
    Parity = double(t2_tx_dvbt2blocod_encode(logical(Data), logical(BCH_GEN)));

    Error in ==> t2_tx_ocod_wr at 76
    data = t2_tx_dvbt2blocod(DVBT2, FidLogFile, data);

    Error in ==> t2_tx_dvbt2bltx at 71
    t2_tx_ocod_wr(DVBT2, FidLogFile);

    Error in ==> t2_tx_wr at 67
    t2_tx_dvbt2bltx(DVBT2, FidLogFile);

    Error in ==> t2_sys at 51
    t2_tx_wr(DVBT2, FidLogFile);

    Error in ==> test_dvbt2bl_basic at 95
    result = t2_sys(DVBT2,Fid_Log);

    Error in ==> run at 96
    feval(runTest, test_path, work_path, fid_log, fid_rep, varargin);

    Then i try to define FidLog as follows - run('dvbt2bl_basic','C:\','C:\FidLogFile.txt') - then i have problem -Undefined function or variable "fid_log".
    Error in ==> run at 80
    fprintf(fid_log,strcat('<Running Test:\t',Test_Id,'>\n'));

    Can you provide some example for command line code for running test. And also maybe i have some videolesson for this - it may be very useful for work with CSP.

    Best regards, Vladimir

  • Vladimir

    Vladimir - 2011-09-10
    • status: closed --> open
  • Oliver Haffenden

    Dear Vladimir,

    Thanks for your detailed report. I realised that the White Paper doesn't include enough detail to get up and running with the CSP so have written a brief Getting Started guide which I've put in the top level of the downloads area:


    Regarding your specific problems:

    1. 't2_tx_dvbt2blocod_encode' is one of the MEX functions (written in C) which needs to be compiled before MATLAB can run it. In MATLAB, navigate to the model/mex directory and run 'compile_mex'. This should find three MEX files and compile them. See step 3 of the Getting Started guide.

    2. The third argument of the "run" command is not a filename, but has to be one of 'stdout', 'file' or 'afile'. 'stdout' sends the output to the standard output, normally the MATLAB console, while the other two options write to a file 'sim/test_<Test_Id>/logs/simlog.txt'. The difference is that 'afile' will append to the file if it exists already, whereas 'file' will rewrite the file, deleting any existing contents.

    Thanks for your patience and don't hesitate to point out other mistakes or omissions so that we can improve the project for everyone.

    Best regards,