
简介雷达工作原理及相控阵雷达工作原理是一份面向电子工程、通信与雷达爱好者的原理型PDF资料适合初学者快速建立雷达系统整体认知。内容从雷达的基本任务讲起清晰说明天线、发射机、接收机和显示器如何协同工作并给出距离测量公式SCT/2随后解释利用天线方向性测方位、通过多普勒频移测速的原理以及两坐标/三坐标雷达的差异。文档后半部分聚焦相控阵雷达介绍阵列天线、电扫描机制、有源与无源相控阵区别并总结波束指向灵活、可同时搜索与跟踪、抗干扰能力强等优点此外还简要提及工作频率、脉冲重复频率、波束宽度等主要技术参数对识别雷达种类的意义以及双/多基地雷达在探测隐身目标上的价值。资料为单个PDF文件约21KB体量轻但覆盖较系统已有268人学习适合作为雷达课程的补充讲义或科普入门阅读。1. 雷达工作原理与相控阵雷达工作原理先看懂回波怎么变成航迹拿到一本《雷达工作原理及相控阵雷达工作原理.pdf》大多数人会先翻公式雷达距离方程、天线增益、波束宽度。但真正在工程里啃这本书的人往往是另一批——做毫米波雷达点云处理的、做雷达显控界面的、做目标跟踪与传感器融合的。他们的共同点是系统里有一个雷达但雷达不是他们造的他们必须知道雷达为什么输出这些点、为什么在某个角度漏检、为什么雨天杂波会爆表。相控阵雷达在原理上和传统雷达的差别说穿了就一句话天线不转了改用相位差控制波束指向。但这一改把“雷达方程”变成“资源调度问题”把“信号处理”变成“空时二维滤波”把“数据显示”变成“坐标变换和优先级管理”。PDF里前几章是基础后面全是围绕相位控制展开的。本文按从业者读这类资料的顺序把理论拆成能落地验证的环节最后落到 AWR2243、4D 毫米波雷达这类具体设备上。2. 雷达工作原理的数学底座距离方程、回波模型与信噪比约束2.1 雷达距离方程决定能看多远也决定参数压不下去雷达距离方程是所有雷达原理书的第一个硬骨头形式是Pr (Pt * Gt * Gr * lambda^2 * sigma) / ((4*pi)^3 * R^4 * L)其中Pt是峰值发射功率Gt和Gr是收发天线增益lambda是波长sigma是目标雷达截面积R是目标距离L是系统损耗。注意R的四次方在分母上这意味着距离加倍回波功率只剩十六分之一。这套公式在相控阵雷达里要加一项波束指向偏离阵面法线时有效孔径面积会按cos(theta)缩小所以增益和距离都要修正。工程上常见的做法是把方程两边取对数换算成 dB 形式来算链路预算Pr(dBm) Pt(dBm) Gt(dBi) Gr(dBi) 20*log10(lambda) sigma(dBsm) - 30*log10(4*pi) - 40*log10(R) - L(dB)提示手算链路预算时sigma(dBsm)是把平方米换成 dB 值0 dBsm 对应 1 平方米常规轿车约 10 dBsm行人约 -5 dBsm。这个差别在相控阵雷达的检测门限设计里非常敏感。我在做 24GHz 毫米波雷达模块验证时经常用这组公式反推如果检测距离要 40 米发射功率和天线增益至少要拉高多少。结论通常是靠提高功率不如靠积累增益——多收多发几帧做非相参积累等价于把噪声方差压低比硬调功率更划算。2.2 波形设计脉冲、LFM 和 FMCW 三种路线的工程取舍雷达原理教材会讲三种基本波形简单脉冲、线性调频LFM和调频连续波FMCW。简单脉冲的测距精度受限于脉冲宽度LFM 用带宽换距离分辨率FMCW 则通过差拍频率同时解算距离和速度。波形类型距离分辨率速度测量峰值功率需求典型应用简单脉冲差受脉宽限制需多普勒处理很高早期搜索雷达LFM 脉冲好受带宽限制脉冲多普勒高相控阵雷达、气象雷达FMCW好受带宽限制差拍频率直接测速低24GHz/77GHz 毫米波雷达FMCW 的原理可以这样理解发射频率随时间线性变化回波延迟tau 2R/c会让同一时刻的收发频率产生差拍fb S * tau其中S是调频斜率。测距公式是R fb * c / (2*S)。速度则是通过多个 chirp 之间相位差来解算这就要做二维 FFT。2.3 用一段代码验证 FMCW 雷达测距测速的完整链路下面的 Python 代码模拟一个 FMCW 雷达发射、接收、混频、ADC 采样、距离维 FFT 和速度维 FFT 的完整过程import numpy as np c 3e8 f0 24e9 # 起始频率 24GHz B 200e6 # 调频带宽 200MHz对应距离分辨率 0.75m Tchirp 80e-6 # 单个 chirp 时长 S B / Tchirp # 调频斜率 Fs 5e6 # 采样率 N 256 # 单 chirp 采样点数 M 128 # chirp 数量 # 目标距离 30m径向速度 5m/s R_target 30.0 v_target 5.0 t np.arange(N) / Fs range_fft np.zeros((M, N), dtypecomplex) for m in range(M): # 距离引起的时延包含慢时间速度项 tau 2 * (R_target v_target * m * Tchirp) / c # 差拍信号已混频 beat np.exp(1j * 2 * np.pi * (S * tau * t f0 * 2 * v_target * t / c)) # 加窗后做距离维 FFT window np.hanning(N) range_fft[m, :] np.fft.fft(beat * window, N) # 距离维上找峰值位置再对峰值做速度维 FFT range_bins np.fft.fftfreq(N, 1/Fs) * c / (2 * S) peak_bin np.argmax(np.abs(range_fft).mean(axis0)) doppler_fft np.fft.fft(range_fft[:, peak_bin] * np.hanning(M), M) doppler_bins np.fft.fftfreq(M, Tchirp) * c / (2 * f0) range_measured range_bins[peak_bin] velocity_measured doppler_bins[np.argmax(np.abs(doppler_fft))] print(f测距: {range_measured:.2f} m, 测速: {velocity_measured:.2f} m/s)逻辑说明内层循环生成每个 chirp 的差拍信号距离维 FFT 把时间延迟转成频点外层的慢时间维 FFT 把跨 chirp 的相位变化转成多普勒速度。加窗是为了压低旁瓣速度维 FFT 前也加窗是为了减弱跨 chirp 的频谱泄漏。参数说明B200MHz时理论距离分辨率约c/(2B)0.75mN256决定单 chirp 最大可分辨距离约N * Fs * c / (2*S*N) 48m如果你要看到 40m 处目标采样率和 N 的搭配必须保证覆盖。速度分辨率由lambda/(2*M*Tchirp)决定M 越多速度分辨率越高但帧率会下降。3. 雷达信号处理链从 ADC 采样到 P显的每一步都在做什么3.1 距离维 FFT、速度维 FFT 与 Range-Doppler 图谱前面代码里已经完成了 Range-Doppler 图的生成。这张二维图是毫米波雷达界的通用语言横轴是距离纵轴是速度每个峰的强度代表该距离速度组合下的回波能量。实际设备上ADC 数据量很大。AWR2243 这类毫米波芯片在单帧内会输出多个通道的数据以 4 发 4 收为例一次完整帧会有 16 个虚拟通道的时域数据。软件处理第一步不是什么深度学习而是老老实实地把每个通道做距离 FFT、再做速度 FFT最后做数字波束形成才能得到角度。Range-Doppler 图上需要注意两类问题。第一类是距离维的镜像峰实信号做 FFT 会在负频处产生共轭峰工程上用正交采样I/Q 两路解决或者只取正半轴。第二类是速度模糊当目标速度超过lambda/(4*Tchirp)时速度峰会折叠到模糊区间用多 chirp 组比如三角波上下扫频可以解模糊。3.2 MTI 与 MTD动目标怎么从静止杂波里区分出来地面建筑、树木、海面都会产生强反射固定目标的回波相位不变而运动目标回波存在多普勒频移。传统雷达用 MTI动目标显示滤除静止杂波做法是对相邻两个脉冲的回波做相减x_MTI[n] x[n] - x[n-1]这就构造了一个高通滤波器零多普勒的静止杂波被抑制。但 MTI 对慢速目标也不友好因为目标速度低时相位变化小相减后幅度也会被削弱。更精细的做法是 MTD动目标检测用一组多普勒滤波器组覆盖整个速度范围。工程实现上常用np.fft.fft沿慢时间维做 M 点 FFT等效于 M 个窄带滤波器。这正是 3.1 节速度维 FFT 的另一种解读雷达原理教材把它叫“多普勒滤波器组”。3.3 CFAR 恒虚警检测门限不能一刀切雷达回波中的噪声不是平稳白噪声近区噪声强、远区弱雨天和晴天差很多。固定门限要么在强杂波区误警率飙升要么在弱目标区漏检。CFAR 的核心思想是检测门限由被测单元周围若干参考单元的平均功率动态决定。def cfar_1d(x, guard2, ref8, offset_db10): 一维 CFAR 检测 x: 距离维功率谱 guard: 保护单元数防止目标泄漏进参考窗 ref: 参考单元数 offset_db: 门限偏移单位 dB n len(x) threshold np.zeros(n) detections [] for i in range(n): left max(0, i - guard - ref) right min(n, i guard ref 1) # 去掉保护单元和被测单元本身 window np.concatenate([x[max(0, i-guard-ref):max(0, i-guard)], x[min(n, iguard1):min(n, iguardref1)]]) noise_power np.mean(window) if len(window) 0 else 0 threshold[i] noise_power 10**(offset_db/10) if x[i] threshold[i]: detections.append(i) return detections, threshold逻辑说明每个待测单元的门限等于周围噪声平均功率加一个偏移量offset_db就是检测信噪比的底线。CFAR 的核心是“自适应”在均匀噪声区门限低在杂波边缘门限自动抬高从而保持恒定的虚警概率。参数说明guard必须大于目标的尺寸在距离维上的投影否则目标强峰泄漏进参考窗会把噪声功率拉高导致目标自己淹没自己。ref太小门限抖动大ref太大在非均匀场景下反应迟钝。毫米波雷达点云输出前的目标检测基本都靠这一步把关。3.4 点迹凝聚、航迹关联与雷达 P显、显控对接CFAR 输出的是超过门限的距离单元可能同一个目标在相邻多个距离门都超门限必须先做点迹凝聚取局部极大值再跨帧做航迹关联。航迹关联的经典做法是最近邻关联NN或卡尔曼滤波预测门内的最优匹配。到显示这一层雷达原理书里叫“雷达 P显”平面位置显示器以雷达为原点方位角为极坐标角度距离为半径。实现 P显不复杂难点在坐标变换与刷新率# 极坐标转直角坐标供显控前端绘制 def radar_to_xy(range_m, azimuth_deg, center(400, 400), scale10): range_m: 目标距离单位米 azimuth_deg: 目标方位角单位度正北为 0顺时针 scale: 像素/米 import math az_rad math.radians(azimuth_deg) x center[0] range_m * scale * math.sin(az_rad) y center[1] - range_m * scale * math.cos(az_rad) return int(x), int(y)逻辑说明sin和cos的分配取决于坐标系定义这里默认正北朝上、顺时针为正方位角。实际显控软件里还会有“余辉”效果——上一帧的目标点按时间衰减保留残影这就是 P显对航迹平滑最直观的体现。提示航管雷达显示这类场景里显控端拿到的不只是坐标还有航迹号、置信度、速度矢量。雷达原理书不会告诉你这些字段怎么定义但会告诉你坐标系的基准——极坐标还是东北天直角坐标这个错了整条链路全错。4. 相控阵雷达的工作原理相位差就是方向盘4.1 从阵因子到波束指向线阵的波程差计算相控阵雷达和传统雷达的本质区别在于用电子方式控制各阵元发射信号的相位让电磁波在某个方向上同相叠加。以均匀线阵为例相邻阵元间距为d波束指向为theta时相邻阵元的波程差是d * sin(theta)对应的相位差是delta_phi 2 * pi * d * sin(theta) / lambda要让波束指向theta每个阵元需要补偿的相位就是它的序号乘上delta_phi。这里有个工程上常见的坑当d大于半波长时除了主瓣外还会出现栅瓣也就是在另一个方向上也产生同相叠加。所以相控阵天线设计第一条铁律就是d lambda/2。4.2 波位编排与交错波位时间资源怎么分配相控阵波束不转动意味着它可以在不同方向上按任意顺序扫描这就引出了“波位编排”问题给定搜索空域如何安排波束指向的先后顺序使发现目标的时间最短。波位编排的常见做法是“交错波位”把不同距离段、不同仰角的波位插花排列。原因很简单远距离波位需要更长的驻留时间积累回波近距离波位可以用短脉冲快速扫完。如果把远距离波位连续排列扫描周期会被拉长近距离目标可能来不及更新。交错波位让长短驻留交替既保证远距离探测灵敏度又维持近距离数据率。波位类型驻留时间脉冲数更新率要求典型用途远程搜索长多低预警、气象大范围扫描中程搜索中中中多目标跟踪补盲近程验证短少高航迹确认、起降引导工程里做波位编排要同时满足两个约束最短发现时间最小化以及数据率不低于目标跟踪所需的更新频率。用动态规划或贪心算法都能排但要记住波位编排的优先级会随任务模式实时切换——这就是相控阵雷达“资源调度”的核心工作。4.3 数字波束形成与空时二维处理的边界传统相控阵用移相器在射频端控制波束指向现代数字相控阵则在每个阵元后端做 ADC所有波束形成都在数字域完成。好处是可以在同一帧数据里同时形成多个波束也就是数字波束形成DBF。DBF 的本质就是对每个阵元的复数据进行加权求和import numpy as np def dbf_beamform(array_data, steering_angle_deg, fc24e9, d0.00625): array_data: (num_channels, num_samples) 复基带数据 steering_angle_deg: 期望波束指向角度 d: 阵元间距24GHz 半波长约 6.25mm c 3e8 lam c / fc num_channels array_data.shape[0] # 每个阵元的相位补偿 steering np.exp(1j * 2 * np.pi * d * np.arange(num_channels) * np.sin(np.deg2rad(steering_angle_deg)) / lam) # 加权求和形成单波束 beam np.dot(steering.conj(), array_data) return beam逻辑说明steering向量是每个阵元的复加权系数取共轭是为了抵消波程差。这个操作等效于对空域做了一次傅里叶变换所以也可以用 FFT 一次算出所有角度的波束这就是“角度维 FFT”的由来。注意空时二维处理STAP是相控阵雷达的高级话题它把 Doppler 维和角度维联合起来做自适应滤波在强杂波背景下检测慢速目标特别有效。但 STAP 需要估计协方差矩阵样本数不足时性能剧烈下降实际系统里常用降维 STAP 缓解。4.4 波束指向扫描的仿真验证设计相控阵时不可能一开始就上硬件先用代码验证波束指向是否正确最稳妥。下面这段代码生成一个 16 阵元线阵的方向图并验证主瓣指向import numpy as np import matplotlib.pyplot as plt num_elements 16 d 0.5 # 以波长为单位的阵元间距 theta_scan np.linspace(-90, 90, 1801) target_angle 30 # 目标指向 # 阵元位置 positions np.arange(num_elements) * d # 计算方向图 pattern np.zeros_like(theta_scan, dtypecomplex) for i, theta in enumerate(theta_scan): theta_rad np.deg2rad(theta) target_rad np.deg2rad(target_angle) # 阵因子各阵元在 theta 方向的相位差减去目标方向的补偿 phase 2 * np.pi * positions * (np.sin(theta_rad) - np.sin(target_rad)) pattern[i] np.sum(np.exp(1j * phase)) pattern_dB 20 * np.log10(np.abs(pattern) / np.abs(pattern).max() 1e-12) peak_idx np.argmax(pattern_dB) print(f主瓣指向: {theta_scan[peak_idx]:.2f} 度, 期望: {target_angle} 度)逻辑说明phase里sin(theta)是观察方向的自然相位延迟sin(target_angle)是移相器预设的补偿。当二者相等时相位差为零各阵元同相叠加形成主瓣。运行这段代码可以看到主瓣精确指向 30 度同时两侧出现两个对称的栅瓣——这就是把d设为 0.5 个波长时栅瓣恰好出现在 ±90 度边界的原因。5. 相控阵原理在常用雷达设备里的落地24GHz、AWR2243 与 4D 毫米波雷达5.1 为什么 24GHz 毫米波雷达模块都在“相控阵化”传统 24GHz 毫米波雷达模块多为单发单收只能测距测速不能测角。要获得角度信息就得把天线排成阵列用 4.3 节的角度维 FFT 解算到达角。市面上标称 24GHz 的雷达模块如果支持目标方位角输出内部必然是多个接收通道。这带来的变化是雷达输出从“距离-速度”二维数据变成“距离-速度-角度”三维数据。数据量变大、处理链变长但物料成本并没有翻倍因为混频和 ADC 可以分时复用。代价是每增加一个接收通道就需要多一组 ADC 采样和一路数据搬运这也解释了为什么低成本的 24GHz 模块通常只做 2 收或 4 收。5.2 AWR2243 数据读取链路与点云重建AWR2243 是 TI 推出的高性能毫米波雷达芯片工作频段在 76-81GHz通常配合外部处理器通过 LVDS 接口把 ADC 原始数据搬出来。从芯片到点云的完整链路是这样的AWR2243 ADC 原始数据 - LVDS 传输 - 数据解析 - 距离FFT - 速度FFT - 角度FFT - CFAR 目标检测 - 点云输出数据解析环节最容易被忽略但也最容易出错的是 ADC 数据的位宽和排列方式。AWR2243 输出的每个采样点通常是复数的实部和虚部分别存储实部在前、虚部在后默认位宽为 16bit 有符号数。解析时如果不按这个顺序重新组合后面所有 FFT 结果都会是噪声。读取 AWR2243 的 LVDS 数据后第一件要做的事不是直接算点云而是先检查两个指标单帧数据量是否和配置的参数一致以及空场景下的噪声底是否平坦。数据量校验方法很简单单帧期望字节数 采样点数每chirp * chirp数每帧 * 通道数 * 4复数的实虚部各2字节如果实际读取字节数和这个算式结果不匹配先查数本文还有配套的精品资源点击获取