Skip to main content

Crate mmwcore

Crate mmwcore 

Source
Expand description

Typed mmWave radar data-link and signal-processing primitives.

Re-exports§

pub use adc::AdcComplexLayout;
pub use adc::AdcCube;
pub use adc::AdcDecodeError;
pub use adc::AdcFrameSpec;
pub use adc::decode_adc_i16;
pub use angle::AngleAxis;
pub use angle::AngleBinCalibrationConfig;
pub use angle::AngleBinCalibrationInput;
pub use angle::AngleCalibrationError;
pub use angle::calibrate_angle_bins;
pub use assignment::AssignmentError;
pub use assignment::AssignmentResult;
pub use assignment::linear_sum_assignment;
pub use candidate_aoa::CandidateAoaError;
pub use candidate_aoa::CandidateAzimuthConfig;
pub use candidate_aoa::CandidateAzimuthInput;
pub use candidate_aoa::CandidateAzimuthPeaks;
pub use candidate_aoa::CandidateCubeAxes;
pub use candidate_aoa::CandidateCubeInput;
pub use candidate_aoa::CandidateElevationColumns;
pub use candidate_aoa::CandidateElevationConfig;
pub use candidate_aoa::CandidateElevationInput;
pub use candidate_aoa::CandidateElevations;
pub use candidate_aoa::CandidateIndexColumns;
pub use candidate_aoa::CandidateMatrixInput;
pub use candidate_aoa::estimate_candidate_azimuths;
pub use candidate_aoa::estimate_candidate_elevations;
pub use cartesian::CartesianProjectionError;
pub use cartesian::PlanarCartesianProjection;
pub use cartesian::PlanarCartesianProjectionConfig;
pub use cartesian::PlanarCartesianProjectionPlan;
pub use cfar::Cfar1DConfig;
pub use cfar::Cfar1DResult;
pub use cfar::Cfar2DConfig;
pub use cfar::CfarDetections;
pub use cfar::CfarError;
pub use cfar::CfarInputScale;
pub use cfar::CfarMode;
pub use cfar::detect_cfar_1d;
pub use cfar::detect_cfar_2d_complex;
pub use cfar::detect_range_doppler_cfar_complex;
pub use clustering::ClusterError;
pub use clustering::ClusterResult;
pub use clustering::DbscanConfig;
pub use clustering::PointColumns;
pub use clustering::cluster_points;
pub use cube::CubeTransformError;
pub use cube::apply_time_domain_channel_calibration_complex;
pub use cube::apply_virtual_channel_calibration_complex;
pub use cube::compensate_tdm_doppler_phase_complex;
pub use cube::map_planar_aperture_complex;
pub use cube::map_tdm_virtual_array_complex;
pub use cube::remove_static_clutter_complex;
pub use cube::select_virtual_subarray_complex;
pub use dca1000::Dca1000Error;
pub use dca1000::Dca1000FrameAssembly;
pub use dca1000::Dca1000Packet;
pub use dca1000::PacketLossStats;
pub use dca1000::assemble_dca1000_frame;
pub use dca1000::assemble_dca1000_frame_bytes;
pub use dca1000::parse_dca1000_packet;
pub use dca1000::reorder_dca1000_packets;
pub use detection::DetectionError;
pub use detection::RangeDopplerAxes;
pub use detection::RangeDopplerAzimuthAxes;
pub use detection::ReceiverAggregation;
pub use detection::ThresholdDetections;
pub use detection::range_doppler_magnitude_complex;
pub use detection::threshold_range_doppler_azimuth_complex;
pub use detection::threshold_range_doppler_complex;
pub use detection_postprocess::DetectionCandidateInput;
pub use detection_postprocess::DetectionIndexColumns;
pub use detection_postprocess::DetectionPostprocessError;
pub use detection_postprocess::DetectionQualityInput;
pub use detection_postprocess::PeakGroupingConfig;
pub use detection_postprocess::PeakGroupingInput;
pub use detection_postprocess::filter_detection_quality;
pub use detection_postprocess::group_range_doppler_candidates;
pub use fft::ComplexFftSpec;
pub use fft::FftTransformError;
pub use fft::FftWindow;
pub use fft::fft_complex_axis;
pub use pointcloud::DetectionPointCloudColumns;
pub use pointcloud::DetectionPointCloudConfig;
pub use pointcloud::DetectionPointCloudError;
pub use pointcloud::DetectionPointCloudInput;
pub use pointcloud::DetectionPointCloudProjection;
pub use pointcloud::project_detection_point_cloud;
pub use sparsification::CartesianSparsificationConfig;
pub use sparsification::CartesianSparsificationError;
pub use sparsification::CartesianSparsificationInput;
pub use sparsification::CartesianSparsificationResult;
pub use sparsification::sparsify_cartesian_volume;
pub use tracking::ClusterMeasurements;
pub use tracking::ClusterTracker2D;
pub use tracking::MeasurementTracker2D;
pub use tracking::NativeTrackStatus;
pub use tracking::PointMeasurements;
pub use tracking::TrackAllocationConfig;
pub use tracking::TrackGatingConfig;
pub use tracking::TrackLifecycleConfig;
pub use tracking::TrackObservationMetrics;
pub use tracking::TrackSceneryConfig;
pub use tracking::TrackStepResult;
pub use tracking::Tracker2DConfig;
pub use tracking::TrackerDynamicsConfig;
pub use tracking::TrackingBox2D;
pub use tracking::TrackingError;
pub use tracking::TrackingMetricsError;
pub use tracking::TrackingMetricsInput;
pub use tracking::TrackingSequenceMetrics;
pub use tracking::summarize_tracking_metrics;
pub use vitals::VitalSignError;
pub use vitals::unwrap_vital_phase_complex;
pub use vitals::vital_phase_to_displacement;

Modules§

adc
Raw ADC layout decoding.
angle
Calibrated physical angles for uniform linear virtual arrays.
assignment
Deterministic minimum-cost one-to-one assignment for radar tracking.
candidate_aoa
Candidate-level azimuth and elevation recovery from calibrated array data.
cartesian
Calibrated planar-array projection onto a Cartesian Doppler volume.
cfar
Cell-averaging CFAR detection over canonical range-Doppler tensors.
clustering
Deterministic DBSCAN clustering for Cartesian radar point clouds.
cube
Named-axis complex-cube transforms on contiguous radar buffers.
dca1000
Deterministic DCA1000 packet parsing and frame assembly.
detection
Threshold detection over contiguous range-Doppler radar cubes.
detection_postprocess
Candidate-level range-Doppler grouping and quality filtering.
fft
Complex FFT transforms over one contiguous named-axis buffer.
pointcloud
Calibrated detection-to-point-cloud projection.
sparsification
Deterministic sparse RPC extraction from a Cartesian Doppler volume.
tracking
Stateful two-dimensional radar target tracking.
vitals
Native slow-time phase primitives for vital-sign sensing.