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.

IWR6843ISK-ODS: Implementing multiple chirp profile with different ramp values on IWR6843ISK-ODS using Out of the box demo (Out Of Box 6843 ODS)

Part Number: IWR6843ISK-ODS
Other Parts Discussed in Thread: IWR6843, IWR6843AOP

I want to implement an Advanced Frame Configuration which contains 2 or more chirps with different Frequency ramp values and different ADC start times. 

The mmwave SDK version 3.6 contains a config file with a similar requirement, at the location <mmwave SDK>\packages\ti\demo\xwr68xx\mmw\profiles\profile_advanced_subframe.cfg. Is there any lab that supports this profile? 

I tried to use this demo file with both the Demo visualizer and the C code provided by TI. While using the above mention chirp profile with the Demo visualizer I get an error saying bpmCfg is not supported which makes sense as the cliCfg.tableEntry[cnt].cmd code doesn't contain the bpmCfg command.

I saw an implementation of the Advanced Frame config with 4 different chirps in a frame in Long range people detection lab, their frequency ramp parameters were the same but the transmit power backoff parameter was different. It contains an implementation of the bpmCFg command as well. 

How can I implement the bpmCfg parser, as in what would be right way to include the bpmCfg dependent functions from Long range people detection lab to Out of the box demo lab?

What are the steps to implement an Advanced frame in my application?

Also, OOB lab C code for 6843 ODS is implemented on MSS only. What steps should I follow to use DSS as well?

  • Hello, 

    We are investigating your query and someone from our team will respond later today.

    Best Regards,

    Josh

  • Hi,

    Is there any lab that supports this profile? 

    The out-of-box lab should support the cfg files in the toolbox. Can you try flashing the ODS device with the ISK image, then passing it the config file with BPM enabled? I think this should work. This lab also uses the DSS.

    Best,

    Nate

  • I apologize, I was mistaken

    The out-of-box code for ISK should not work for ODS if you want angle data. Unfortunately, the antenna configuration is hardcoded in the out-of-box code. So, your options are to write the BPM modulator/demodulator for the ODS project, which you should be able to do based off the ISK project. Or, you might consider using the LRPD or even 3D People counting labs, which both support BPM through the cfg file. Is there a particular reason you want to use the out-of-box lab and you wouldn't want the people counting lab?

    Best,

    Nate

  • My understanding is that we won't be able to implement a multi-chirp profile if we use people counting lab. Out-of-box code seems like a bare template which we can make changes depending on our application which includes sending two or more than two different chirp profiles. Is my understanding correct that Out-of-box code is kinda like a universal template on which we can change/ add / remove necessary functions and have people counting or vital signs code? 

  • Hi Amit,

    Is my understanding correct that Out-of-box code is kinda like a universal template on which we can change/ add / remove necessary functions and have people counting or vital signs code? 

    I understand why it appears this way, but unfortunately, the people counting/vital signs code varies significantly from the out-of-box code. As seen in our getting started page in dev.ti.com, the vital signs code is built on-top of people counting, both of which, are relatively different from the out-of-box example. The people counting/vital signs code uses a different angle estimation method, which improves resolution at the cost of a longer processing time.

    The current vital-signs project does implement BPM. If you're interested in doing vital signs or people counting, I would recommend starting with those examples, then modifying them to fit your needs.

    Is there a particular reason you're interested in doing BPM? BPM is typically used to improve detection through a 3 dB gain in SNR. Are you trying to detect objects but not seeing high enough SNR's?

    Best,
    Nate

  • So you meant to say to we can implement multi chirp, like done in long-range people detection demo lab, without enabling BPM since we tried doing multi chirp in out-of-box code and as mentioned above, we got an error "bpmCfg is not supported" when I run the following config file at location <mmwave SDK>\packages\ti\demo\xwr68xx\mmw\profiles\profile_advanced_subframe.cfg while running mmwave SDK3.6 with out-of-box code. Hence I came to the conclusion that BPM would be necessary to turn on so that i can run a multi-chirp profile using advanced frame config.

    Please guide me, in-detail, how i can implement a multip chirp profile using advance frame config in out-of-box demo, before you tell me to use to modify 3d people counting lab code or vital signs lab code, i want to implement an hybrid version of what you guys have done, so making necessary changes in either 3d people counting or vital signs lab code wont help me a lot, also implementing the code from scratch using the necessary API will also refine my understanding of the SDK and to program IWR6843 on my own and making my own algorithms using necessary APIs from SDK.

    Thank you.

  • Hi Amit,

    Thank you for the clarification. To implement a multi chirp profile using advance frame config in out-of-box demo, simply comment out the bpmcfg line in the profie_advanced_subframe.cfg. As is (bpmCfg -1 0 0 0), it's not even enabled, so it's likely a relic from a previous iteration. I am able to get the visualizer to run like this.

    Best,

    Nate

  • Hello Nathan,

    That helped, thank you!

    You mentioned earlier that ISK Code will not work with ODS.

    The out-of-box code for ISK should not work for ODS if you want angle data. Unfortunately, the antenna configuration is hardcoded in the out-of-box code. So, your options are to write the BPM modulator/demodulator for the ODS project, which you should be able to do based off the ISK project.

    I checked the antenna config file and wanted to know if we can use the ISK out-of-the-box demo with ODS by changing the Predefined symbols ISK to ODS

    and adding another predefined symbol XWR68XX_ODS_ANTENNA_PATTERN ?

    This part of code is present in main.c but doesn't appear anywhere in mss_main.c

    /* Copy antenna geometry definition */
    #if defined(XWR68XX_AOP_ANTENNA_PATTERN)
    extern ANTDEF_AntGeometry gAntDef_IWR6843AOP;
    dataPathObj->objDetCommonCfg.preStartCommonCfg.antDef = gAntDef_IWR6843AOP;
    #elif defined (XWR68XX_ODS_ANTENNA_PATTERN)
    extern ANTDEF_AntGeometry gAntDef_IWR6843ODS;
    dataPathObj->objDetCommonCfg.preStartCommonCfg.antDef = gAntDef_IWR6843ODS;
    #else
    extern ANTDEF_AntGeometry gAntDef_default;
    dataPathObj->objDetCommonCfg.preStartCommonCfg.antDef = gAntDef_default;
    #endif

    How is the main.c in the project folder different from mss_main.c? main.c files appears in the project folder but doesn't appear in the Project Explorer in CCS

  • Hi Amit,

    For new questions, please open a new thread. This helps us keep the forum organized for future users. Thank you!

    Best,

    Nate