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.

CCS/IWR6843ISK: Question on the dsp datapath.c source code evaluation

Part Number: IWR6843ISK

Tool/software: Code Composer Studio


in code dss_data_path.c of vital sign project of dss project folder

/** @brief Lookup table for Twiddle table generation and DFT single bin DFT calculation.
* It contains 256 complex exponentials e(k) = cos(2*pi*k/1024)+j*sin(2*pi*k/1024), k=0,...,255,

Q1. Why don't they support only 256 while 1024 looks available?


Q2. What is this about? where can we find some information about hanning window from web?

/* FFT Window */
/*! Hanning window */
#define MMW_WIN_HANNING 0
/*! Blackman window */
#define MMW_WIN_BLACKMAN 1
/*! Rectangular window */
#define MMW_WIN_RECT 2

Q3. Why do they devide two functions in single point or not?

/*! If MMW_USE_SINGLE_POINT_DFT is defined, azimuth calculation uses single
* point DFT, otherwise FFT function from DSP lib*/
#define MMW_USE_SINGLE_POINT_DFT

Q4. why do we use ping poing id? Where can we get ping pong flow concept? readable document?


/**
* @b Description
* @n
* Waits for 1D FFT data to be transferred to input buffer.
* This is a blocking function.
*
* @param[in] obj Pointer to data path object
* @param[in] pingPongId ping-pong id (ping is 0 and pong is 1)
*
* @retval
* NONE
*/
void MmwDemo_dataPathWait1DInputData(MmwDemo_DSS_DataPathObj *obj, uint32_t pingPongId)

Q5. why do we need "Compensation of DC range antenna signature" or "MmwDemo_DopplerCompensation"?

  • Hi Kisub,

    You can learn more about Hanning window by performing search on Hanning function. If you have more specific questions then we can answer them here.

    Single Point DFT is used for this demo because mainly information obtained from Range FFT is of interest to us.

    The Ping Pong Buffer is described in the mmWave Doxygen which can be found in the following location:

    <mmWave_SDK_Installation_Path>\packages\ti\demo\<Device Name>\mmw\docs\doxygen\html\index.html

    Cheers,

    Akash

  • After reading reference links, I do not still resolve the following quesitons.

    Can you elaborate my questions?


    in code dss_data_path.c of vital sign project of dss project folder

    /** @brief Lookup table for Twiddle table generation and DFT single bin DFT calculation.
    * It contains 256 complex exponentials e(k) = cos(2*pi*k/1024)+j*sin(2*pi*k/1024), k=0,...,255,

    Q1. Why don't they support only 256 while 1024 looks available?


    Q2. What is this about? where can we find some information about hanning window from web?

    /* FFT Window */
    /*! Hanning window */
    #define MMW_WIN_HANNING 0
    /*! Blackman window */
    #define MMW_WIN_BLACKMAN 1
    /*! Rectangular window */
    #define MMW_WIN_RECT 2

    Q3. Why do they devide two functions in single point or not?

    /*! If MMW_USE_SINGLE_POINT_DFT is defined, azimuth calculation uses single
    * point DFT, otherwise FFT function from DSP lib*/
    #define MMW_USE_SINGLE_POINT_DFT

    Q4. why do we use ping poing id? Where can we get ping pong flow concept? readable document?


    /**
    * @b Description
    * @n
    * Waits for 1D FFT data to be transferred to input buffer.
    * This is a blocking function.
    *
    * @param[in] obj Pointer to data path object
    * @param[in] pingPongId ping-pong id (ping is 0 and pong is 1)
    *
    * @retval
    * NONE
    */
    void MmwDemo_dataPathWait1DInputData(MmwDemo_DSS_DataPathObj *obj, uint32_t pingPongId)

    Q5. why do we need "Compensation of DC range antenna signature" or "MmwDemo_DopplerCompensation"?

  • Hi Kisub,

    I believe 256 was chosen in order to save radar cube size. Choosing 1024 risks overloading allotted memory.

    Cheers,

    Akash