Tool/software:
Hi all,
I’m trying to develop a transmit beamforming configuration on a cascade of IWR6243. I am using currently Lua scripts and mmWaveStudio to interact with the device. I am trying to use a configuration that places all chirps for a single beam adjacent in time. Since the hardware only supports 4 subframes, and I will be needing more than 4 different scan angles, I decided the most likely possible route is to dynamically change the phase shifter values between frames using ar1.DynPerChirpPhShifterCfgSet_mult() and ar1.DynamicChirpEnableCfgSet_mult(). The problem I’m running into is I don’t know how to consistently run these commands during the frame before those phase shift values are needed to cause the reconfiguring to happen in a frame’s idle time.
The reason I decided to do it this way rather than the method described in the example transmit beamforming scripts in the mmWaveStudio 3.0.1.9 file structure is to achieve a higher frame rate. Those scripts collect a few frames for one angle then reconfigure the profile and frame parameters for the next angle, requiring a pause of 500 ms before starting the frames again. This means the frame time for the transmission of all angles is a minimum of 500 ms times the number of angles in the scan.
Programming the chirps all in one frame is impossible because I am currently trying to program 15 scan angles with 256 chirps per angle. This is more chirps than ar1.ChirpConfig_mult allows to be programmed (limit 512 per profile).
So this is my question. Is there a method to tell when individual frames begin to use as a trigger for the dynamic chirp configuration functions? If not, how might I solve the problem of programming transmit beamforming with more than 4 scan angles and the chirps for each angle adjacent in time to keep velocity estimation untouched?