This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

HOW to remove cyclic prefix efficiently,and how to test the throughout of FFTC on DSPC6670

Dear TI sir:

1)HOW to remove cyclic prefix efficiently?

  the FFTC user guide shows if do cyclic prefix removal only one block in a packet can be progress,which leads to very slow data progess。is there any better way?

2) how to test the throughoutof FFTC on DSPC6670?

   Are there any examples about testing the FFTC's thoughout?

I am confused about this for many days could any one tell me the method?

thanks a lot

  • sorry,my English is not good,the word “throughput” should be “throughout”
  • Hi jingchao li,

    Welcome to the TI E2E forum. I hope you will find many good answers here and in the TI.com documents and in the TI Wiki Pages (for processor issues). Be sure to search those for helpful information and to browse for the questions others may have asked on similar topics (e2e.ti.com).

    Are you working on C6670 EVM or Custom Board? What is the MCSDK version used? Please find the latest MCSDK download and user guide below my signature.

    Please refer Section 7 of Throughput Performance Guide for C66x KeyStone Devices (SPRABK5A1) on FFTC throughput.

    Thank you.

  • Dear Rajasekaran K:

      I am working on EVM6670 ,USE mcsdk_2_01_02_06

      I have read section 7 about FFTC thoughput,which said in 16 FFT SIZE,it will just take 61.8ns ,but actually when i run FFTC_Multicore_exampleProject inC:\ti\pdk_C6670_1_1_2_6\packages\ti\drv\fftc\example on EVM6670,it shows only the time waiting for fft result module  will take cycle=7251 for 5 16fftsize block. I've done nothing ,except add the cylce test line in muticore.c,as below

    in the I/O WINDOW:

    [C66xx_2] **************************************************
    [C66xx_2] ******** FFTC Multi Core Example Start **********
    [C66xx_2] **************************************************
    [C66xx_2] Core 2 : L1D cache size 7. L2 cache size 0.
    [C66xx_2] [Core 2]: Waiting for Sys Init to be completed ...
    [C66xx_3] **************************************************
    [C66xx_3] ******** FFTC Multi Core Example Start **********
    [C66xx_3] **************************************************
    [C66xx_3] Core 3 : L1D cache size 7. L2 cache size 0.
    [C66xx_3] [Core 3]: Waiting for Sys Init to be completed ...
    [C66xx_0] **************************************************
    [C66xx_1] **************************************************
    [C66xx_0] ******** FFTC Multi Core Example Start **********
    [C66xx_1] ******** FFTC Multi Core Example Start **********
    [C66xx_0] **************************************************
    [C66xx_1] **************************************************
    [C66xx_0] Core 0 : L1D cache size 7. L2 cache size 0.
    [C66xx_1] Core 1 : L1D cache size 7. L2 cache size 0.
    [C66xx_0] [Core 0]: FFTC instance 0 successfully initialized
    [C66xx_1] [Core 1]: Waiting for Sys Init to be completed ...
    [C66xx_0] [Core 0]: FFTC successfully opened
    [C66xx_1] [Core 1]: FFTC successfully opened
    [C66xx_0] --------------------------------------------
    [C66xx_1] --------------------------------------------
    [C66xx_0] FFTC-CPPI Example START on Core 0
    [C66xx_1] FFTC-CPPI Example START on Core 1
    [C66xx_0] Sample Size: 16
    [C66xx_1] Sample Size: 16
    [C66xx_0] Number of Blocks: 5
    [C66xx_1] Number of Blocks: 5
    [C66xx_0] Tx Queue: 0
    [C66xx_1] Tx Queue: 0
    [C66xx_0] Descriptor Type: Host
    [C66xx_1] Descriptor Type: Host
    [C66xx_0] --------------------------------------------
    [C66xx_1] --------------------------------------------
    [C66xx_0] [Core 0]: Rx flow 0 opened successfully using Rx queue 708
    [C66xx_1] [Core 1]: Rx flow 1 opened successfully using Rx queue 709
    [C66xx_2] [Core 2]: FFTC successfully opened
    [C66xx_3] [Core 3]: FFTC successfully opened
    [C66xx_2] --------------------------------------------
    [C66xx_3] --------------------------------------------
    [C66xx_2] FFTC-CPPI Example START on Core 2
    [C66xx_3] FFTC-CPPI Example START on Core 3
    [C66xx_2] Sample Size: 16
    [C66xx_3] Sample Size: 16
    [C66xx_2] Number of Blocks: 5
    [C66xx_3] Number of Blocks: 5
    [C66xx_2] Tx Queue: 0
    [C66xx_3] Tx Queue: 0
    [C66xx_2] Descriptor Type: Host
    [C66xx_3] Descriptor Type: Host
    [C66xx_2] --------------------------------------------
    [C66xx_3] --------------------------------------------
    [C66xx_2] [Core 2]: Rx flow 2 opened successfully using Rx queue 710
    [C66xx_3] [Core 3]: Rx flow 3 opened successfully using Rx queue 711
    [C66xx_3]
    [C66xx_3] [Core 3]: Submitting FFT Request ...
    [C66xx_3] [Core 3]: Submitted request 0
    [C66xx_3]
    [C66xx_3] [Core 3]: Waiting for Result ...
    [C66xx_0]
    [C66xx_1]
    [C66xx_2]
    [C66xx_0] [Core 0]: Submitting FFT Request ...
    [C66xx_1] [Core 1]: Submitting FFT Request ...
    [C66xx_2] [Core 2]: Submitting FFT Request ...
    [C66xx_0] [Core 0]: Submitted request 0
    [C66xx_1] [Core 1]: Submitted request 0
    [C66xx_2] [Core 2]: Submitted request 0
    [C66xx_0]
    [C66xx_1]
    [C66xx_2]
    [C66xx_0] [Core 0]: Waiting for Result ...
    [C66xx_1] [Core 1]: Waiting for Result ...
    [C66xx_2] [Core 2]: Waiting for Result ...
    [C66xx_0] cycle=6636
    [C66xx_1] cycle=7251
    [C66xx_2] cycle=7250

    .....

    1)Still,I don't know how to get the actualy FFTC's throughput,even though read the section 7 of Throughput ...about FFTC.Could you share me an example?

    2)What's more ,why cyclic prefix  removal only can be done in one packet for one block?  Is there any better mathods to remove cyclic prefix for many blocks ?

     

     

  • I have goole almost all of the internet including TI.COM,TI WIKI PAGE,E2E.TI.COM,but find little information,I am really need your help .
    God love you,so do I,waiting for your reply.
    Regards,
    jingchao
  • Cyclic prefix removal only works for packets with single blocks. It is not supported fro multi-block packets.

    To get an accurate throughput measurement, do no enable the TX channel at init time. Queue up all  the packets in the TX queue and  then enable the tx channel, this way the time it takes to push the packet in the queue does not corrupt the measurement.

  • Dear Sudhanand:

         Thanks for your reply.

         To improve the throughput with CP removal FFT,the method I take now is that copy  muti-block data with skip the CP fields,then deal with these data to normal no-cp block data.If TI add the function of cyclic prefix removal ,there must be some priorities for it. So I think there must be a better way to deal the CP removal issue.

         Anymore,thanks for your advice to measure throughput,  I'll try right now.