diff --git a/generate_radar_data.py b/generate_radar_data.py new file mode 100644 index 0000000..095b1af --- /dev/null +++ b/generate_radar_data.py @@ -0,0 +1,67 @@ +import random + +def generate_radar_data(num_points=10): + # ================= 配置区域 (可根据需要修改) ================= + + # 1. 距离 (km) 设置: 模拟目标从 3.5km 处开始远离 + start_dist = 3.520 + dist_trend = 0.015 # 每次采样距离增加约 15米 (模拟速度) + dist_noise = 0.005 # 距离测量噪声 (±5m) + + # 2. 方位 (度) 设置: 模拟目标在 45度 方向缓慢移动 + start_az = 45.20 + az_trend = 0.15 # 方位角每次变化 + az_noise = 0.04 # 方位角抖动 (±0.04度) + + # 3. 俯仰 (度) 设置: 模拟低空目标 (如无人机),高度基本保持 + start_el = 2.50 + el_trend = 0.01 # 俯仰角变化很小 + el_noise = 0.05 # 俯仰角抖动 + + # =========================================================== + + # 生成数据容器 + az_data = [] + el_data = [] + dist_data = [] + + current_dist = start_dist + current_az = start_az + current_el = start_el + + for i in range(num_points): + # 生成带噪声的距离 (保留3位小数, km) + d_val = current_dist + random.gauss(0, dist_noise) + dist_data.append(f"{d_val:.3f}") + + # 生成带噪声的方位 (保留2位小数, 度) + az_val = current_az + random.gauss(0, az_noise) + az_data.append(f"{az_val:.2f}") + + # 生成带噪声的俯仰 (保留2位小数, 度) + el_val = current_el + random.gauss(0, el_noise) + el_data.append(f"{el_val:.2f}") + + # 更新下一时刻的基准值 (加上趋势) + current_dist += dist_trend + current_az += az_trend + current_el += el_trend + + # ================= 输出打印 (Tab分隔,方便复制) ================= + print("-" * 30) + print("生成结果 (复制下方内容到 Word 表格):") + print("-" * 30) + + # 打印方位行 + print("方位(°)\t" + "\t".join(az_data)) + + # 打印俯仰行 + print("俯仰(°)\t" + "\t".join(el_data)) + + # 打印距离行 + print("距离(km)\t" + "\t".join(dist_data)) + print("-" * 30) + +# 执行生成 +if __name__ == "__main__": + generate_radar_data() \ No newline at end of file