1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181
| """ TI IWR6843AOP FMCW配置 儿童检测雷达参数设置
配置关键参数: - chirp配置(频率扫描) - 帧配置(chirps数量) - 采样率 - 发射功率
目标参数: - 呼吸检测:相位解调(胸部微动0.1mm) - 儿童定位:距离+方位+仰角 """
from typing import Dict
class TImmWaveConfig: """ TI mmWave雷达配置 IWR6843AOP配置参数: Chirp配置: - start_freq: 60GHz - end_freq: 64GHz - chirp_duration: 100μs Frame配置: - num_chirps_per_frame: 128 - frame_periodicity: 100ms 呼吸检测优化: - 高相位分辨率(检测0.1mm运动) - 低噪声配置(提高信噪比) """ def __init__(self): self.chirp_config = { 'start_freq_ghz': 60.0, 'end_freq_ghz': 64.0, 'chirp_duration_us': 100, 'adc_samples': 256, 'adc_sample_rate_khz': 10000 } self.frame_config = { 'num_chirps_per_frame': 128, 'frame_periodicity_ms': 100, 'num_frames': 1000 } self.antenna_config = { 'num_tx': 3, 'num_rx': 4, 'tx_antenna_selection': [0, 1, 2], 'rx_antenna_selection': [0, 1, 2, 3] } self.vital_signs_config = { 'range_resolution_cm': 3.75, 'velocity_resolution_m_s': 0.1, 'phase_sensitivity_mm': 0.1, 'breathing_band_hz': [0.1, 0.5], 'heart_rate_band_hz': [0.8, 2.0] } def generate_config_cli(self) -> str: """ 生成TI mmWave CLI配置字符串 TI mmWave SDK使用CLI命令配置雷达 Returns: config_cli: CLI配置字符串 """ config_commands = [] profile_cfg = f"profileCfg 0 {self.chirp_config['start_freq_ghz']} " \ f"{self.chirp_config['end_freq_ghz']} " \ f"{self.chirp_config['chirp_duration_us']} " \ f"{self.chirp_config['adc_samples']} " \ f"{self.chirp_config['adc_sample_rate_khz']} 0 0" config_commands.append(profile_cfg) chirp_cfg = f"chirpCfg 0 0 0 0 0 0 0 1" config_commands.append(chirp_cfg) frame_cfg = f"frameCfg 0 1 {self.frame_config['num_chirps_per_frame']} " \ f"{self.frame_config['frame_periodicity_ms']} " \ f"{self.frame_config['num_frames']} 1 0" config_commands.append(frame_cfg) gui_mon = "guiMonitor 1 1 1 1 1 1 1" config_commands.append(gui_mon) config_cli = "\n".join(config_commands) return config_cli def get_cpd_optimized_config(self) -> Dict: """ 获取CPD儿童检测优化配置 优化目标: - 高相位分辨率(检测呼吸微动) - 低噪声(提高信噪比) - 多目标分离(多儿童场景) Returns: cpd_config: CPD优化配置 """ cpd_config = { 'chirp_config': { 'start_freq_ghz': 60.5, 'end_freq_ghz': 63.5, 'chirp_duration_us': 200, 'adc_samples': 512, 'adc_sample_rate_khz': 20000 }, 'frame_config': { 'num_chirps_per_frame': 256, 'frame_periodicity_ms': 50, 'num_frames': 1000 }, 'vital_signs_config': { 'range_resolution_cm': 1.88, 'velocity_resolution_m_s': 0.05, 'phase_sensitivity_mm': 0.05, 'breathing_band_hz': [0.15, 0.45], 'heart_rate_band_hz': [0.8, 1.5] } } return cpd_config
if __name__ == "__main__": ti_config = TImmWaveConfig() print("=== TI IWR6843AOP配置 ===") print(f"\nChirp配置:") print(f" 频率范围:{ti_config.chirp_config['start_freq_ghz']}-{ti_config.chirp_config['end_freq_ghz']} GHz") print(f" Chirp时长:{ti_config.chirp_config['chirp_duration_us']} μs") print(f" 采样数:{ti_config.chirp_config['adc_samples']}") print(f"\nFrame配置:") print(f" 每帧Chirps数:{ti_config.frame_config['num_chirps_per_frame']}") print(f" 帧周期:{ti_config.frame_config['frame_periodicity_ms']} ms") print(f"\n呼吸检测配置:") print(f" 距离分辨率:{ti_config.vital_signs_config['range_resolution_cm']} cm") print(f" 相位灵敏度:{ti_config.vital_signs_config['phase_sensitivity_mm']} mm") print(f" 呼吸频段:{ti_config.vital_signs_config['breathing_band_hz']}") print(f"\n=== CLI配置字符串 ===") cli_config = ti_config.generate_config_cli() print(cli_config) print(f"\n=== CPD优化配置 ===") cpd_config = ti_config.get_cpd_optimized_config() print(f" 优化后距离分辨率:{cpd_config['vital_signs_config']['range_resolution_cm']} cm") print(f" 优化后相位灵敏度:{cpd_config['vital_signs_config']['phase_sensitivity_mm']} mm")
|