Files
Share_Li/generate_radar_data.py
2025-12-05 02:55:26 +00:00

67 lines
2.2 KiB
Python
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

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()