The Motion and Presence Detection OOB demo shows some of the capabilities of the xWRL1432 SOC using the drivers in the MMWAVE-L-SDK (Software Development Kit). It allows user to specify the chirping profile and displays the detected objects and other information in real-time. The demo comes with two default configurations (PresenceDetect.cfg and MotionDetect.cfg). The configuration in PresenceDetect.cfg leverages the Minor Motion mode of the Signal processing chain to demonstrate the sensors ability to detect presence through fine motion. The MotionDetect.cfg configures the device to detect moving objects. It outputs a point cloud that can be fed to a tracker.
The following documents provide more information on the OOB demo.
[1] describes system execution flow, memory usage, task organization, memory and benchmark results of Motion and Presence detection OOB demo.
[2] contains a high level description of the Signal Processing chain and has useful information on tuning the demo performance for different usecases.
Refer ${SDK_INSTALL_PATH}/docs/MotionPresenceDetectionDemo_documentation.pdf document for implementation details of Demo application.
Refer ${SDK_INSTALL_PATH}/docs/MotionPresenceDetectionDemo_TuningGuide.pdf document for Parameter tuning and customization of Demo application.
Parameter | Value |
---|---|
CPU + OS | m4fss0-0 freertos |
Toolchain | ti-arm-clang |
Board | xWRL1432-evm |
Example folder | examples/mmw_demo/motion_detection |
Each line in the .cfg file describes a command with parameters. The various commands and their arguments are described in the table below (arguments are in sequence)
Commands | Parameters | Notes |
---|---|---|
sensorStop | FrameStopMode | Indicates the frame stop mode. This command stops the sensor from transmitting further frames. Important Note: This command is not supported when lowPowerCfg is 1 |
channelCfg | RxChCtrlBitMask | RX antennas 1 and 2, mask = 0x011b = 3 RX antennas 1 and 3, mask = 0x101b = 5 RX antennas 2 and 3, mask = 0x110b = 6 RX antennas 1, 2 & 3, mask = 0x111b = 7 |
TxChCtrlBitMask | TX antennas 1 and 2, mask = 0x011b = 3 TX antenna 1, mask = 0x001b = 1 TX antenna 2, mask = 0x010b = 2 | |
MiscCtrl | Not supported on the current version of the SDK. | |
chirpComnCfg | DigOutputSampRate | Digital output Sampling rate for chirp ADC samples. Digital sampling rate is given by 100MHz/ DigOutputSampRate. The valid sampling rate can be configured as per below. 8 - 12.5 MHz 9 - 11.11 MHz 10 - 10 MHz 12 - 8.333 MHz 16 - 6.25 MHz 20 - 5 MHz 25 - 4 MHz 32 - 3.125 MHz 40 - 2.5 MHz 50 - 2 MHz 64 - 1.5625 MHz 80 - 1.25 MHz 100 - 1 MHz |
DigOutputBitsSel | Digital output sample bits select, this field governs which bits of the FECSS DFE's internal 16 bit signed data path are sent as output. 0 - Digital sample output is 12 MSB bits of DFE after rounding 4 LSBs 1 - Digital sample output is 12 bits after rounding 3 LSBs & clipping 1 MSB 2 - Digital sample output is 12 bits after rounding 2 LSBs & clipping 2 MSB 3 - Digital sample output is 12 bits after rounding 1 LSBs & clipping 3 MSB 4 - Digital sample output is 12 LSB bits after clipping 4 MSB 5 - Digital sample output is 16 bits | |
DfeFirSel | The final stage FIR filter's characteristics can be selected as below. 0 - Long Filter (90% visibility): This provides visibility to a larger range of IF frequencies: 0 to 0.45 x Sampling Rate. Beyond that, the filter response starts drooping & enters filter transition band. 1 - Short Filter (80% visibility): This provides faster settled outputs but the IF frequency range visible is 0 to 0.40 x Sampling Rate. Beyond that, the filter response starts drooping & enters filter transition band. | |
NumOfAdcSamples | No. of ADC samples. Current SDK work for values with powers of 2 Valid Range: 2 to 2048 | |
ChirpTxMimoPatSel | Only option 0 is not supported in current OOB Demo. 0 - TX BPM MIMO pattern disabled 1 - TDMA_2TX pattern 4 - BPM_2TX pattern | |
ChirpRampEndTime | Chirp Profile Ramp end Time. This is a common ramp end time value for all chirps in a frame. | |
ChirpRxHpfSel | Chirp Profile HPF corner frequency. This is a common HPF corner frequency value for all chirps in a frame. 0 - 175kHz HPF corner frequency 1 - 350kHz HPF corner frequency 2 - 700kHz HPF corner frequency 3 - 1400kHz HPF corner frequency | |
chirpTimingCfg | ChirpIdleTime | Chirp Profile Idle Time. This is a common idle time value for all chirps in a frame. Unit: 1us. |
ChirpAdcSkipSamples | Chirp Profile ADC start skip samples. This is a common adc start time value for all chirps in a frame Valid range: 0 to 63 | |
ChirpTxStartTime | Chirp Profile TX start Time. This is a common TX start time value for all chirps in a frame.This field indicates the TX start time in the chirp cycle with respect to the knee of the ramp. Unit: In usec | |
ChirpRfFreqSlope | Chirp Profile RF Frequency Slope. This is a common RF frequency slope value for all chirps in a frame.This field indicates the required FMCW slope of the chirp. Unit: MHz/us Valid range:- 399MHz/us to +399MHz/us. | |
ChirpRfFreqStart | Chirp Profile RF start Frequency. This is a common RF start frequency value for all chirps in a frame. This field indicates the required start frequency of the chirp. Unit: GHz Valid range:58GHz to 62.5GHz for ES1.0 devices | |
frameCfg | NumOfChirpsInBurst | Number of Chirps in a Burst. This field indicates the number of chirps to be generated per burst. Valid range: 1 to 65535 chirps . (Limited support in current OOB) |
NumOfChirpsAccum | Number of accumulation per chirp. This field indicates the Number of chirps to be accumulated before sending the ADC data out in DFE, this can be used to increase the SNR without increasing the number of chirps to process in the DSP/HW accelerator. Valid range: : 0 to 64 chirps. (Limited support in current OOB) | |
BurstPeriodicity | Burst periodicity in μs. This field indicates the period of the burst. (Limited support in current OOB) | |
NumOfBurstsInFrame | Number of bursts per frame. Valid range:1 to 4096 (Limited support in current OOB) | |
FramePeriodicity | Frame Periodicity. This field indicates the period of the frame, 32bit counter.This field indicates the frame periodicity, the time gap between successive frame starts. Unit: ms Valid range:100 to 4294967295 (Limited support in current OOB) | |
NumOfFrames | Number of frames. Valid range: 0 to 65535, 0 means infinite | |
lowPowerCfg | Enable/Diable | Configuration to enable/disable the power management framework. 0 - Disabled 1 - Enabled |
factoryCalibcfg | Save enable | When this option is enabled application will boot-up normally and configure the FECSS to perform all applicable factory calibrations during FECSS initialization. Once the calibrations are performed, application will retrieve the calibration data from FECSS and save it to FLASH. User need to specify valid <flash offset> value. <restore enable> option should be set to 0. Note The factory calibration should be done at room temp (25 °C +/- 15 °C) 0 - Save Disabled 1 - Save Enabled |
restore enable | When Restore enabled option is set, application will check the FLASH for a valid calibration data section. If present, it will restore the data from FLASH and provide it to FECSS while configuring it to skip any real-time factory calibrations and use provided calibration data. User need to specify valid <flash offset> value which was used during saving of calibration data. <save enable> option should be set to 0. <rxGain> and <backoff0> arguments will be ignored when restore option is enabled. 0 - Restored Disabled 1 - Restore Enabled | |
rxGain | Recommended value is 30db to 40db. Units: db. | |
backoff0 | TX channel power calibration. Valid Range: 0db to 26db. Units: db. | |
flash offset | Address offset in the flash to be used while saving or restoring calibration data. Make sure the address doesn't overlap the location in FLASH where application images are stored and has enough space for saving factory Calibration data. This field is don't care if both save and restore are disabled.Flash address range is 0x0 to 0x1FFFFF (16Mb) Actual Factory calibration data is of size 128 bytes. It is recommended to use last sector of flash memory starting with address 0x1FF000. Note Note The flash offset should be greater than 1MB (0x100000h) for EVM. This check is only to make sure Appimage and ATE calibration data is not corrupted. | |
baudRate | baudRateVal | The sensor starts with 115200 baud rate by default. When this command is sent to the device, the baud rate for the UART communication is updated according to the given value. Currently only baudRateVal =1250000 is supported |
sensorStart | 'FrameTrigMode' | Frame Trigger Mode. 0 - Frame SW immediate trigger Mode (SW_TRIG). 1 - Frame SW timer based trigger Mode (SW_TIMER_TRIG). 2 - Frame HW trigger low power Mode (HW_LOW_PWR_TRIG). 3 - Frame HW trigger low jitter Mode (HW_LOW_JIT_TRIG). 4 - CW CZ Trigger Mode (CW_CZ_TRIG). 5 - Chirp Timer Override Trigger Mode (CT_OVRD_TRIG). (Currently SDK supports only SW_TRIG mode(0)) |
'ChirpStartSigLbE' | Chirp Timer (CT) start signal loopback enable control. 0 - CHIRP_START_SIGNAL to DIG_SYNC_OUT Loopback Disable 1 - CHIRP_START_SIGNAL to DIG_SYNC_OUT Loopback Enable. (Currently SDK supports only Loopback Disable mode(0)) | |
'FrameLivMonEn' | Frame Live monitors enable control. 0 - Live monitor Disabled 1 - Live monitor Enabled (Currently SDK supports only Live monitor Disabled(0)) | |
'FrameTrigTimerVal' | Frame Trigger Timer Value. 32bit counter value. (Currently SDK demo is tested only with value 0) |
Commands | Parameters | Notes |
---|---|---|
sigProcChainCfg | azimuthFftSize | Azimuth FFT size. Suggested to set as power of 2 |
elevationFftSize | Elevation FFT size. Suggested to set as power of 2 | |
motDetMode | Major / Minor / AUTO mode selection 1 - Major motion detection only 2 - Minor motion detection only 3 - Auto detection mode. | |
coherentDoppler | Coherent/Non-coherent Doppler selection 0 - Non-coherent integration along Doppler dimension. 1 - Select maximum (coherent) peak in Doppler dimension. 2 - Non-coherent integration along Doppler used to create detection matrix, and find maximum position to add to detected point. | |
numFrmPerMinorMotProc | Number of frames included for minor motion detection. | |
numMinorMotionChirpsPerFrame | Number of chirps (bursts) per frame used for minor motion detection. | |
forceMinorMotionVelocityToZero | Force Doppler value of detected points tp zero in minor motion detection 0 - Disabled 1 - Enabled | |
minorMotionVelocityInclusionThr | Minor motion detected points with absolute velocity greater than this threshold are not included in the point cloud list. Threshold is specified in m/sec | |
cfarCfg | averageMode | CFAR Averaging mode selection Recommened to set 2 0 - CFAR-CA 1 - CFAR-CAGO 2 - CFAR-CASO |
winLen | One-sided noise averaging window length (in samples) of range-CFAR Recommened to set as power of 2 | |
guardLen | One-sided guard length (in samples) of range-CFAR. | |
noiseDiv | Cumulative noise sum divisor expressed as a shift. Sum of noise samples is divided by 2^noiseDiv. Suggested to set as log2(winLen). | |
cyclicMode | Cyclic mode or wrapped around mode. 0 - Disabled 1 - Enabled | |
thresholdScale | Threshold factor of range-CFAR in dB scale (20log10). | |
peakGroupingEn | Enable or disable Peakgrouping 0 - Disabled 1 - Enabled | |
sideLobeThreshold | Sidelobe threshold (in linear scale) in azimuth domain to declare a local peak as a valid detection. | |
localMaxRangeDomain | Enable/disable selection of the local maximum in the range domain 0 - Disabled 1 - Enabled | |
localMaxAzimuthDomain | Enable/disable selection of the local maximum in the Angle domain 0 - Disabled 1 - Enabled | |
interpolateRange | Enable /disable the interpolation of the range 0 - Disabled 1 - Enabled | |
interpolateAzimuthDomain | Enable /disable the interpolation of the Azimuth 0 - Disabled 1 - Enabled | |
aoaFovCfg | minAzimuthDeg | Minimum azimuth angle (in degrees) that specifies the start of field of view |
maxAzimuthDeg | Maximum azimuth angle (in degrees) that specifies the end of field of view | |
minElevationDeg | Minimum elevation angle (in degrees) that specifies the start of field of view | |
maxElevationDeg | Maximum elevation angle (in degrees) that specifies the end of field of view | |
rangeSelCfg | minMeters | Minimum range of exported detected points |
maxMeters | Maximum range of exported detected points | |
clutterRemoval | enabled | Configure the static clutter removal 0 - Disabled 1 - Enabled |
compRangeBiasAndRxChanPhase | rangeBias | Value of the Range Bias (m). |
virtAntIdx 1 | Phase compensation factor (real, imaginary) of virtual antenna 1. | |
virtAntIdx 2 | Phase compensation factor (real, imaginary) of virtual antenna 2. | |
virtAntIdx 3 | Phase compensation factor (real, imaginary) of virtual antenna 3. | |
virtAntIdx 4 | Phase compensation factor (real, imaginary) of virtual antenna 4. | |
virtAntIdx 5 | Phase compensation factor (real, imaginary) of virtual antenna 5. | |
virtAntIdx 6 | Phase compensation factor (real, imaginary) of virtual antenna 6. | |
measureRangeBiasAndRxChanPhase | enabled | Enable measurement of the range bias and rx channel gain and phase imperfections 0 - Disabled 1 - Enabled |
targetDistance | Distance in meters where strong reflector is located to be used as test object for measurement. This field is only used when measurement mode is enabled. | |
searchWin | Distance in meters of the search window around targetDistance where the peak will be searched | |
guiMonitor | pointCloud | Enable/Disable the transmission of the point cloud data 0 - Disable 1 - Enable, point cloud in floating point format, plus side information, 2 - Enable, point cloud in compressed format (fixed point) |
rangeProfile | Enable/Disable the transmission of the Range Profile data 0 - Disable 1 - Enable, range profile from Major mode detection 2 - Enable, range profile from Minor mode detection 3 - Enable, both range profiles | |
NoiseProfile | Not used in the current SDK | |
rangeAzimuthHeatMap | Enable/Disable transmission of the Range Azimuth heatmap 0 - Disable 1 - Enable, heatmap from Major mode detection 2 - Enable, heatmap from Minor mode detection 3 - Enable, both heatmaps | |
rangeDopplerHeatMap | Not used in the current SDK | |
statsInfo | Enable/Disable the transmission of the Statistics info that include processing time, temperature, power. (Partially supported in the current SDK) 0 - Disabled 1 - Enabled | |
presenceInfo | Enable/Disable the transmission of the presence detection information 0 - Disabled 1 - Enabled | |
adcSamples | Enable/Disable the transmission of the raw ADC samplse of the last two chirps of the frame 0 - Disabled 1 - Enabled | |
trackerInfo | Enable/Disable the transmission of the group tracker information 0 - Disabled 1 - Enabled | |
microDopplerInfo | Enable/Disable the transmission of the micro-Doppler information 0 - Disabled 1 - Enabled | |
classifierInfo | Enable/Disable the transmission of the classifier information 0 - Disabled 1 - Enabled | |
antGeometryCfg | vAnt1_row | row index of virtual antenna 1. (TxAnt1->RxAnt1) |
vAnt1_col | column index of virtual antenna 1. (TxAnt1->RxAnt1) | |
vAnt2_row | row index of virtual antenna 2. (TxAnt1->RxAnt2) | |
vAnt2_col | column index of virtual antenna 2. (TxAnt1->RxAnt2) | |
vAnt3_row | row index of virtual antenna 3. (TxAnt1->RxAnt3) | |
vAnt3_col | column index of virtual antenna 3. (TxAnt1->RxAnt3) | |
vAnt4_row | row index of virtual antenna 4. (TxAnt2->RxAnt1) | |
vAnt4_col | column index of virtual antenna 4. (TxAnt2->RxAnt1) | |
vAnt5_row | row index of virtual antenna 5. (TxAnt2->RxAnt2) | |
vAnt5_col | column index of virtual antenna 5. (TxAnt2->RxAnt2) | |
vAnt6_row | row index of virtual antenna 6. (TxAnt2->RxAnt3) | |
vAnt6_col | column index of virtual antenna 6. (TxAnt2->RxAnt3) | |
antDistX | Antenna spacing in X dimension in mm. This is optional argument. If omitted, it is assumed that λ/dx=2 | |
antDistZ | Antenna spacing in Z dimension in mm. This is optional argument. If omitted, it is assumed that λ/dz=2 |
Commands | Parameters | Notes |
---|---|---|
mpdBoundaryBox | Zone | Zone: This command is used to describe the boundary of each zone. (Only four zones are permitted in current SDK) |
x-min | x-min | |
x-max | x-max | |
y-min | y-min | |
y-max | y-max | |
z-min | z-min | |
z-max | z-max | |
sensorPosition | xOffset | Offset of the radar sensor position in x-axis referenced to the boundary box origin. (m) |
yOffset | Offset of the radar sensor position in y-axis referenced to the boundary box origin. (m) | |
zOffset | Height of the radar sensor above the ground plane. (m) | |
azimTilt | The azimuth tilt (in degrees)of the sensor about the axis Zw. A positive value indicates clockwise rotation when viewing towards the ground. | |
elevTilt | The elevation tilt (in degrees)of the sensor about the axis Xw. A positive value indicates tilt towards the ground. | |
majorStateCfg | pointThre1 | Number of detected points (in a single frame) needed in a zone to enter the motion/presence state. If the number of points exceed this threshold, no need to check the SNR. |
pointThre2 | Number of detected points (in a single frame) needed in a zone to enter the motion/presence state. If the number of points exceeds this threshold, the snrThre2 criteria is checked. | |
snrThre2 | Minimum total SNR (linear) of detected points (in a single frame) in a zone to enter the motion/presence state if the pointThre2 criteria is also satisfied. | |
pointHistThre1 | Number of detected points (in a frame history buffer) needed in a zone to enter the motion/presence state. If the number of points exceed this threshold, no need to check the SNR. | |
pointHistThre2 | Number of detected points (in a frame history buffer) needed in a zone to enter the motion/presence state. If the number of points exceeds this threshold, the snrHistThre2 criteria is checked. | |
snrHistThre2 | Minimum total SNR (linear) of detected points (in a frame history buffer) in a zone to enter the motion/presence state if the pointHistThre2 criteria is also satisfied. | |
histBufferSize | Size of the frame history buffer size (in frames) used in pointHistThre1, pointHistThre2, and snrHistThre2 parameters. | |
major2minorThre | A motion status is preserved if it recorded at least one motion detection in the last major2minorThre frames. | |
minorStateCfg | pointThre1 | Number of detected points (in a single frame) needed in a zone to enter the motion/presence state. If the number of points exceed this threshold, no need to check the SNR. |
pointThre2 | Number of detected points (in a single frame) needed in a zone to enter the motion/presence state. If the number of points exceeds this threshold, the snrThre2 criteria is checked. | |
snrThre2 | Minimum total SNR (linear) of detected points (in a single frame) in a zone to enter the motion/presence state if the pointThre2 criteria is also satisfied. | |
pointHistThre1 | Number of detected points (in a frame history buffer) needed in a zone to enter the motion/presence state. If the number of points exceed this threshold, no need to check the SNR. | |
pointHistThre2 | Number of detected points (in a frame history buffer) needed in a zone to enter the motion/presence state. If the number of points exceeds this threshold, the snrHistThre2 criteria is checked. | |
snrHistThre2 | Minimum total SNR (linear) of detected points (in a frame history buffer) in a zone to enter the motion/presence state if the pointHistThre2 criteria is also satisfied. | |
histBufferSize | Size of the frame history buffer size (in frames) used in pointHistThre1, pointHistThre2, and snrHistThre2 parameters. | |
minor2emptyThre | A motion status is preserved if it recorded at least one motion detection in the last minor2emptyThre frames. | |
clusterCfg | enabled | Configure clustering logic. 0: Disable. 1: Enable. |
maxDistance | The radius (in meters) of the neighborhood around a point (i.e., epsilon in DBSCAN algorithm). Note that the distance measure only takes the geometric difference between the point and centroid into account. | |
x-max | Minimum number of neighbor points required within the epsilon radius around point. |
Commands | Parameters | Notes |
---|---|---|
boundaryBox | x-min | Minimum distance in x-dimension with respect to the origin in the World co-ordinates |
x-max | Maximum distance in x-dimension with respect to the origin in the World co-ordinates | |
y-min | Minimum distance in y-dimension with respect to the origin in the World co-ordinates | |
y-max | Maximum distance in y-dimension with respect to the origin in the World co-ordinates | |
z-min | Minimum distance in z-dimension with respect to the origin in the World co-ordinates | |
z-max | Maximum distance in z-dimension with respect to the origin in the World co-ordinates Note that Z = 0 corresponds to the ground plane. | |
staticBoundaryBox | x-min | Minimum distance in x-dimension with respect to the origin in the World co-ordinates |
x-max | Maximum distance in x-dimension with respect to the origin in the World co-ordinates | |
y-min | Minimum distance in y-dimension with respect to the origin in the World co-ordinates | |
y-max | Maximum distance in y-dimension with respect to the origin in the World co-ordinates | |
z-min | Minimum distance in z-dimension with respect to the origin in the World co-ordinates | |
z-max | Maximum distance in z-dimension with respect to the origin in the World co-ordinates Note that Z = 0 corresponds to the ground plane. | |
sensorPosition | xOffset | Offset of the radar sensor position in x-axis referenced to the boundary box origin. (m) |
yOffset | Offset of the radar sensor position in y-axis referenced to the boundary box origin. (m) | |
zOffset | Height of the radar sensor above the ground plane. (m) | |
azimTilt | The azimuth tilt (in degrees)of the sensor about the axis Zw. A positive value indicates clockwise rotation when viewing towards the ground. | |
elevTilt | The elevation tilt (in degrees)of the sensor about the axis Xw. A positive value indicates tilt towards the ground. | |
presenceBoundaryBox | x-min | Minimum distance in x-dimension with respect to the origin in the World co-ordinates |
x-max | Maximum distance in x-dimension with respect to the origin in the World co-ordinates | |
y-min | Minimum distance in y-dimension with respect to the origin in the World co-ordinates | |
y-max | Maximum distance in y-dimension with respect to the origin in the World co-ordinates | |
z-min | Minimum distance in z-dimension with respect to the origin in the World co-ordinates | |
z-max | Maximum distance in z-dimension with respect to the origin in the World co-ordinates Note that Z = 0 corresponds to the ground plane. | |
gatingParam | Gain | Gain of the gating function. It is set based on expected tracking errors and uncertainties of detection layer |
Limit-Width | Gating Limit in Width (m). It is set based on the physical dimensions and agility of the targets | |
Limit-Depth | Gating Limit in Depth (m). It is set based on the physical dimensions and agility of the targets | |
Limit-Height | Gating Limit in Height (m). It is set based on the physical dimensions and agility of the targets | |
Limit-Velocity | Gating Limit in (radial) Velocity (m/s). It is set based on the motion of the targets | |
allocationParam | snrThre | Minimum total SNR for the allocation set |
snrThreObscured | Minimum total SNR for the allocation set when obscured by another target | |
velocityThre | Minimum radial velocity of the allocation set centroid (m/s) | |
pointsThre | Minimum number of points in the allocation set | |
maxDistanceThre | Maximum squared distance between candidate centroid and centroid to be part of the allocation set (m^2) | |
maxVelThre | Maximum velocity difference between candidate and centroid to be part of the allocation set (m/s) | |
stateParam | det2actThre | In DETECT state; threshold for the number of continuous HIT events to transition from DETECT to ACTIVE state (number of frames) |
det2freeThre | In DETECT state; threshold for the number of continuous MISS events to transition from DETECT to FREE state (number of frames) | |
active2freeThre | In ACTIVE state and NORMAL condition; threshold for the number of consecutive MISS events needed to transition from ACTIVE to FREE state (number of frames) | |
static2freeThre | In ACTIVE state and STATIC condition; threshold for the number of continuous MISS events for a STATIC target in a static zone to transition from ACTIVE to FREE state (number of frames) | |
exit2freeThre | In ACTIVE state and EXIT condition; threshold for the number of continuous MISS events for a target outside the static zone to transition from ACTIVE to FREE state. Determines the Maximum lifespan for the target outside the static box (number of frames) | |
sleep2freeThre | Determines the Maximum lifespan for the target inside the static box (number of frames) | |
maxAcceleration | MaxAccel-X-direction | Maximum amount that the target acceleration is expected to change in the X-direction between time-periods (m/s^2) |
MaxAccel-Y-direction | Maximum amount that the target acceleration is expected to change in the Y-direction between time-periods (m/s^2) | |
MaxAccel-Z-direction | Maximum amount that the target acceleration is expected to change in the Z-direction in between time-periods (m/s^2) | |
trackingCfg | enable | Group tracker processing enable/disable flag: 0 - Disabled 1 - Enabled |
IntialConfigParams | An index to the default internal tracker parameter structure array that initializes the tracker configurations for different use-cases. These internal tracker parameters will be used by default if the user does not set these through the corresponding CLI command | |
maxNumPoints | Maximum number of Detection points per frame | |
maxNumTracks | Maximum number of Targets to track at any given time | |
maxRadialVelocity | Maximum Radial velocity. If the maximum radial velocity reported from the sensor is 5 m/s then maxRadialVelocity needs to be set to 50 (10 x velocity in m/s) | |
radialVelocityResolution | Radial velocity resolution in millimeter/sec that the configured chirp profile can provide (mm/sec) | |
deltaT | Frame periodicity. This should match the sensor chirp configuration (msec) | |
boresightFilteringEnable | Boresight filtering enable/disable flag: 0 - Disabled 1 - Enabled |
Commands | Parameters | Notes |
---|---|---|
microDopplerCfg | enabled | Micro-Doppler (µ-Doppler) and feature extraction processing enable/disable flag: 0 - Disabled 1 - Enabled (For detailed information refer to Parameter Tuning and Customization Guide) |
genApproach | The angle spectrum generation approach (in the azimuth domain) when creating the µ-Doppler spectrum per track: 0 - FFT 1 - Beamforming | |
targetSize | The target size (in xy-domain) to be used to when extracting the µ-Doppler around the corresponding centroid. | |
magnitudeSquared | If this flag is enabled, the generated µ-Doppler spectrum will be magnitude squared: 0: Keep the magnitude spectrum as is. 1: Take the magnitude square (i.e., power spectrum). | |
circShiftCentroid | If this flag is enabled, the generated µ-Doppler spectrum will be circularly shifted around the estimated target velocity provided by the tracker: 0: Keep the µ-Doppler spectrum as is.<br> 1: Circularly shift the µ-Doppler spectrum around the estimated target velocity from the tracker. | |
normalizedSpectrum | If this flag is enabled, the generated µ-Doppler spectrum will be normalized between [0 1]: 0: Keep the µ-Doppler spectrum as is. 1: Normalize the µ-Doppler spectrum between [0 1]. | |
interceptThrLowFreq | The power ratio (%) used to compute the lower envelope (Dlow) feature from the µ-Doppler spectrum. This parameter is common for all the tracked objects. | |
interceptThrUpFreq | The power ratio (%) used to compute the upper envelope (Dup) feature from the µ-Doppler spectrum. This parameter is common for all the tracked objects. | |
specShiftMode | If this flag is enabled, the generated µ-Doppler spectrum will be circularly shifted around the mean Doppler: 0: Keep the µ-Doppler spectrum as is. 1: Circularly shift the µ-Doppler spectrum around the mean Doppler. | |
classifierCfg | enabled | Classifier processing enable/disable flag: 0: Disable. 1: Enable. |
minNumPntsPerTrack | Minimum number of points required for a track to run the classifier for it. | |
missTotFrmThre | The maximum number of frames allowed which do not have enough number of points for a specific track. |
Refer below document to tune the performance of signal processing chain in Motion and Presence detection OOB demo for different use cases and environments.
${SDK_INSTALL_PATH}/docs/MotionPresenceDetectionDemo_TuningGuide.pdf
Below is the high level flow diagram of Motion and Presence detection OOB demo in Low Power Mode:
Following are power numbers with SDK default configurations measured using INA228 sensor.
Configuration | Average Power (mW) |
---|---|
High Performance Motion Detection | 32.1 |
Low Power Presence Detection | 10 |
Object Tracking | 80.9 |