mmwave.dsp.noise_removal.peak_grouping_along_doppler(det_obj_2d, det_matrix, num_doppler_bins)

Perform peak grouping along the doppler direction only. This is a temporary remedy for the slow and old implementation of peak_grouping_qualified() function residing in currently. Will merge this back to there to enable more generic peak grouping.

mmwave.dsp.noise_removal.range_based_pruning(det_obj_2d_raw, snr_thresh, peak_val_thresh, max_range, min_range, range_resolution)

Filter out the objects out of the range and not sufficing SNR/peakVal requirement.

Filter out the objects based on the two following conditions: 1. Not within [min_range and max_range]. 2. Does not satisfy SNR/peakVal requirement, where it requires higher standard when closer and lower when further.

mmwave.dsp.noise_removal.prune_to_peaks(det_obj2_d_raw, det_matrix, num_doppler_bins, reserve_neighbor=False)

Reduce the CFAR detected output to local peaks.

Reduce the detected output to local peaks. If reserveNeighbor is toggled, will also return the larger neighbor. For example, given an array [2, 1, 5, 3, 2], default method will return [2, 5] while reserve neighbor will return [2, 5, 3]. The neighbor has to be a larger neighbor of the two immediate ones and also be part of the peak. the 1st element “1” in the example is not returned because it’s smaller than both sides so that it is not part of the peak.

  • det_obj2_d_raw (np.ndarray) – The detected objects structured array which contains the range_idx, doppler_idx, peakVal and SNR, etc.
  • det_matrix (np.ndarray) – Output of doppler FFT with virtual antenna dimensions reduced. It has the shape of (num_range_bins, num_doppler_bins).
  • num_doppler_bins (int) – Number of doppler bins.
  • reserve_neighbor (boolean) – if toggled, will return both peaks and the larger neighbors.

Pruned version of cfar_det_obj_index. cfar_det_obj_SNR_pruned (np.ndarray): Pruned version of cfar_det_obj_SNR.

Return type:

cfar_det_obj_index_pruned (np.ndarray)