二维和差波束测角算法推导
1. 信号模型
考虑一个均匀平面阵列 (UPA),位于 xxx-yyy 平面内,沿 xxx轴有 NNN 个阵元,沿 yyy 轴有 MMM个阵元,阵元间距为 ddd(通常取半波长 d=λ/2d = \lambda/2d=λ/2)。第 (m,n)(m,n)(m,n) 个阵元的位置坐标为
pm,n=(xn,ym)=(nd, md),m=0,1,...,M−1, n=0,1,...,N−1. \mathbf{p}_{m,n} = (x_n, y_m) = (n d,\; m d), \quad m=0,1,\dots,M-1,\; n=0,1,\dots,N-1. pm,n=(xn,ym)=(nd,md),m=0,1,...,M−1,n=0,1,...,N−1.
假设空间中有 KKK 个远场窄带信号源,第 kkk 个信号的波达方向 (DOA) 由方位角 ϕk\phi_kϕk 和俯仰角 θk\theta_kθk 描述。定义方向余弦
uk=sinθkcosϕk,vk=sinθksinϕk. u_k = \sin\theta_k \cos\phi_k, \quad v_k = \sin\theta_k \sin\phi_k. uk=sinθkcosϕk,vk=sinθksinϕk.
则信号到达阵元 (m,n)(m,n)(m,n)相对于坐标原点的传播时延为
τm,n(uk,vk)=1c(xnuk+ymvk)=dc(nuk+mvk). \tau_{m,n}(u_k,v_k) = \frac{1}{c}\bigl(x_n u_k + y_m v_k\bigr) = \frac{d}{c}\bigl(n u_k + m v_k\bigr). τm,n(uk,vk)=c1(xnuk+ymvk)=cd(nuk+mvk).
对应的相移为
exp(−j2πf0τm,n)=exp(−j2πλd (nuk+mvk)). \exp\bigl(-j2\pi f_0 \tau_{m,n}\bigr) = \exp\left(-j\frac{2\pi}{\lambda} d\,(n u_k + m v_k)\right). exp(−j2πf0τm,n)=exp(−jλ2πd(nuk+mvk)).
因此,阵列的方向向量(导向矢量)为
a(uk,vk)=[exp(−j2πdλ(nuk+mvk))]m=0,...,M−1; n=0,...,N−1∈CMN×1. \mathbf{a}(u_k,v_k) = \left[ \exp\left(-j\frac{2\pi d}{\lambda}(n u_k + m v_k)\right) \right]_{m=0,\dots,M-1;\; n=0,\dots,N-1} \in \mathbb{C}^{MN\times 1}. a(uk,vk)=[exp(−jλ2πd(nuk+mvk))]m=0,...,M−1;n=0,...,N−1∈CMN×1.
为简化记号,令 β=2πd/λ\beta = 2\pi d/\lambdaβ=2πd/λ,则
a(u,v)\]mN+n=e−jβ(nu+mv). \[\\mathbf{a}(u,v)\]_{mN+n} = e\^{-j\\beta (n u + m v)}. \[a(u,v)\]mN+n=e−jβ(nu+mv). 接收信号向量为 x(t)=∑k=1Ka(uk,vk)sk(t)+n(t), \\mathbf{x}(t) = \\sum_{k=1}\^{K} \\mathbf{a}(u_k,v_k) s_k(t) + \\mathbf{n}(t), x(t)=k=1∑Ka(uk,vk)sk(t)+n(t), 其中 sk(t)s_k(t)sk(t) 为第 kkk 个信号的复包络,n(t)\\mathbf{n}(t)n(t) 为加性高斯白噪声。 #### 2. 二维和差波束形成 设波束指向方向为 (u0,v0)(u_0, v_0)(u0,v0),对应的导向矢量为 a0=a(u0,v0)\\mathbf{a}_0 = \\mathbf{a}(u_0,v_0)a0=a(u0,v0)。为了对目标进行角度跟踪,需要同时形成和波束 (Σ\\SigmaΣ)、方位差波束 (Δaz\\Delta_{\\text{az}}Δaz) 和俯仰差波束 (Δel\\Delta_{\\text{el}}Δel)。 ##### 2.1 和波束权向量 和波束采用常规匹配滤波(共轭匹配): wΣ=a0. \\mathbf{w}_{\\Sigma} = \\mathbf{a}_0. wΣ=a0. 波束形成输出为 Σ(t)=wΣHx(t)=∑k=1Ka0Ha(uk,vk)sk(t)+wΣHn(t). \\Sigma(t) = \\mathbf{w}_{\\Sigma}\^H \\mathbf{x}(t) = \\sum_{k=1}\^{K} \\mathbf{a}_0\^H \\mathbf{a}(u_k,v_k) s_k(t) + \\mathbf{w}_{\\Sigma}\^H \\mathbf{n}(t). Σ(t)=wΣHx(t)=k=1∑Ka0Ha(uk,vk)sk(t)+wΣHn(t). ##### 2.2 方位差波束权向量 方位差波束要求沿 xxx方向(即 uuu方向)具有反对称方向图,沿 yyy方向保持对称。可以通过对 xxx方向施加反对称泰勒加权,而对 yyy 方向采用对称(和)加权来实现。令 wΔu=wdiff,x⊗wsum,y, \\mathbf{w}_{\\Delta u} = \\mathbf{w}_{\\text{diff},x} \\otimes \\mathbf{w}_{\\text{sum},y}, wΔu=wdiff,x⊗wsum,y, 其中 ⊗\\otimes⊗ 表示 Kronecker 积。wdiff,x\\mathbf{w}_{\\text{diff},x}wdiff,x 是长度为 NNN 的差波束权向量(例如反对称序列),wsum,y\\mathbf{w}_{\\text{sum},y}wsum,y 是长度为 MMM 的和波束权向量(例如均匀或泰勒加权)。为简化推导,取无锥削时的理想差波束: wdiff,x=\[−N−12, −N−32, ..., 0, ..., N−32, N−12\]T \\mathbf{w}_{\\text{diff},x} = \\left\[ -\\frac{N-1}{2},\\; -\\frac{N-3}{2},\\; \\dots,\\; 0,\\; \\dots,\\; \\frac{N-3}{2},\\; \\frac{N-1}{2} \\right\]\^T wdiff,x=\[−2N−1,−2N−3,...,0,...,2N−3,2N−1\]T (若 NNN为奇数,中间元素为0);wsum,y=1M\\mathbf{w}_{\\text{sum},y} = \\mathbf{1}_{M}wsum,y=1M(均匀和)。则完整方位差权向量为 \[wΔu\]mN+n=wdiff,x(n)⋅wsum,y(m)=wdiff,x(n). \[\\mathbf{w}_{\\Delta u}\]_{mN+n} = w_{\\text{diff},x}(n) \\cdot w_{\\text{sum},y}(m) = w_{\\text{diff},x}(n). \[wΔu\]mN+n=wdiff,x(n)⋅wsum,y(m)=wdiff,x(n). 类似地,若考虑波束指向 (u0,v0)(u_0,v_0)(u0,v0),还需乘以 a0\\mathbf{a}_0a0 的共轭以将波束中心调至 (u0,v0)(u_0,v_0)(u0,v0),即 wΔu=wΔu(base)⊙a0∗, \\mathbf{w}_{\\Delta u} = \\mathbf{w}_{\\Delta u}\^{\\text{(base)}} \\odot \\mathbf{a}_0\^\*, wΔu=wΔu(base)⊙a0∗, 其中 ⊙\\odot⊙表示 Hadamard 积(逐元素相乘),wΔu(base)\\mathbf{w}_{\\Delta u}\^{\\text{(base)}}wΔu(base) 为上述反对称幅度权值。等效地,可直接定义方位差波束权向量为 wΔu=du⊙a0∗, \\mathbf{w}_{\\Delta u} = \\mathbf{d}_u \\odot \\mathbf{a}_0\^\*, wΔu=du⊙a0∗, 其中 du\\mathbf{d}_udu的每个元素为 du(m,n)=2n−(N−1)N−1d_u(m,n) = \\frac{2n-(N-1)}{N-1}du(m,n)=N−12n−(N−1)(归一化反对称系数)。 ##### 2.3 俯仰差波束权向量 同理,俯仰差波束沿 yyy 方向反对称,沿 xxx 方向对称: wΔv=wsum,x⊗wdiff,y, \\mathbf{w}_{\\Delta v} = \\mathbf{w}_{\\text{sum},x} \\otimes \\mathbf{w}_{\\text{diff},y}, wΔv=wsum,x⊗wdiff,y, 取 wsum,x=1N\\mathbf{w}_{\\text{sum},x}=\\mathbf{1}_Nwsum,x=1N,wdiff,y\\mathbf{w}_{\\text{diff},y}wdiff,y 类似反对称序列。乘以指向补偿后得 wΔv=dv⊙a0∗, \\mathbf{w}_{\\Delta v} = \\mathbf{d}_v \\odot \\mathbf{a}_0\^\*, wΔv=dv⊙a0∗, 其中 dv(m,n)=2m−(M−1)M−1\\mathbf{d}_v(m,n) = \\frac{2m-(M-1)}{M-1}dv(m,n)=M−12m−(M−1)。 ##### 2.4 和差波束方向图 定义方向图函数: FΣ(u,v)=wΣHa(u,v)=a0Ha(u,v), F_{\\Sigma}(u,v) = \\mathbf{w}_{\\Sigma}\^H \\mathbf{a}(u,v) = \\mathbf{a}_0\^H \\mathbf{a}(u,v), FΣ(u,v)=wΣHa(u,v)=a0Ha(u,v), FΔu(u,v)=wΔuHa(u,v)=(du⊙a0∗)Ha(u,v)=∑m=0M−1∑n=0N−1du(m,n)ejβ(n(u0−u)+m(v0−v)), F_{\\Delta u}(u,v) = \\mathbf{w}_{\\Delta u}\^H \\mathbf{a}(u,v) = (\\mathbf{d}_u \\odot \\mathbf{a}_0\^\*)\^H \\mathbf{a}(u,v) = \\sum_{m=0}\^{M-1}\\sum_{n=0}\^{N-1} d_u(m,n) e\^{j\\beta (n(u_0-u) + m(v_0-v))}, FΔu(u,v)=wΔuHa(u,v)=(du⊙a0∗)Ha(u,v)=m=0∑M−1n=0∑N−1du(m,n)ejβ(n(u0−u)+m(v0−v)), FΔv(u,v)=wΔvHa(u,v)=∑m=0M−1∑n=0N−1dv(m,n)ejβ(n(u0−u)+m(v0−v)). F_{\\Delta v}(u,v) = \\mathbf{w}_{\\Delta v}\^H \\mathbf{a}(u,v) = \\sum_{m=0}\^{M-1}\\sum_{n=0}\^{N-1} d_v(m,n) e\^{j\\beta (n(u_0-u) + m(v_0-v))}. FΔv(u,v)=wΔvHa(u,v)=m=0∑M−1n=0∑N−1dv(m,n)ejβ(n(u0−u)+m(v0−v)). 由于 du\\mathbf{d}_udu 和 dv\\mathbf{d}_vdv 分别是 nnn 和 mmm 的奇函数,易知 FΔu(u0,v0)=0,FΔv(u0,v0)=0, F_{\\Delta u}(u_0,v_0)=0,\\quad F_{\\Delta v}(u_0,v_0)=0, FΔu(u0,v0)=0,FΔv(u0,v0)=0, 即差波束在波束指向处为零。    #### 3. 单脉冲比与角度估计 ##### 3.1 小角度偏差下的近似 设实际目标方向为 (u,v)(u,v)(u,v),波束指向为 (u0,v0)(u_0,v_0)(u0,v0),定义偏差 δu=u−u0,δv=v−v0. \\delta_u = u - u_0,\\quad \\delta_v = v - v_0. δu=u−u0,δv=v−v0. 在 δu,δv\\delta_u,\\delta_vδu,δv 很小时,对方向图进行一阶泰勒展开。先考虑和波束: FΣ(u,v)≈FΣ(u0,v0)+∂FΣ∂uδu+∂FΣ∂vδv. F_{\\Sigma}(u,v) \\approx F_{\\Sigma}(u_0,v_0) + \\frac{\\partial F_{\\Sigma}}{\\partial u}\\delta_u + \\frac{\\partial F_{\\Sigma}}{\\partial v}\\delta_v. FΣ(u,v)≈FΣ(u0,v0)+∂u∂FΣδu+∂v∂FΣδv. 由于 FΣ(u0,v0)=MNF_{\\Sigma}(u_0,v_0)=MNFΣ(u0,v0)=MN(若所有权值为1,否则为常数),且对于对称阵列,在波束指向处一阶导数为零(因为和波束是偶函数),所以 FΣ(u,v)≈MN. F_{\\Sigma}(u,v) \\approx MN. FΣ(u,v)≈MN. 实际上更精确的二次项对单脉冲比影响较小,通常取和波束幅度为常数。 对于方位差波束: FΔu(u,v)≈∂FΔu∂u∣(u0,v0)δu+∂FΔu∂v∣(u0,v0)δv. F_{\\Delta u}(u,v) \\approx \\left.\\frac{\\partial F_{\\Delta u}}{\\partial u}\\right\|_{(u_0,v_0)} \\delta_u + \\left.\\frac{\\partial F_{\\Delta u}}{\\partial v}\\right\|_{(u_0,v_0)} \\delta_v. FΔu(u,v)≈∂u∂FΔu (u0,v0)δu+∂v∂FΔu (u0,v0)δv. 由于阵列结构和权值的对称性,交叉偏导数 ∂FΔu/∂v\\partial F_{\\Delta u}/\\partial v∂FΔu/∂v 在 (u0,v0)(u_0,v_0)(u0,v0) 处为零(方位差波束vvv是偶函数)。因此 FΔu(u,v)≈Kuδu, F_{\\Delta u}(u,v) \\approx K_u \\delta_u, FΔu(u,v)≈Kuδu, 其中斜率 Ku=∂FΔu∂u∣(u0,v0)=∑m,ndu(m,n)⋅jβn⋅ej0=jβ∑m=0M−1∑n=0N−1n du(m,n). K_u = \\left.\\frac{\\partial F_{\\Delta u}}{\\partial u}\\right\|_{(u_0,v_0)} = \\sum_{m,n} d_u(m,n) \\cdot j\\beta n \\cdot e\^{j0} = j\\beta \\sum_{m=0}\^{M-1}\\sum_{n=0}\^{N-1} n\\, d_u(m,n). Ku=∂u∂FΔu (u0,v0)=m,n∑du(m,n)⋅jβn⋅ej0=jβm=0∑M−1n=0∑N−1ndu(m,n). 代入 du(m,n)=2n−(N−1)N−1d_u(m,n) = \\frac{2n-(N-1)}{N-1}du(m,n)=N−12n−(N−1),可得 Ku=jβ∑m=0M−1∑n=0N−1n⋅2n−(N−1)N−1=jβM∑n=0N−12n2−(N−1)nN−1. K_u = j\\beta \\sum_{m=0}\^{M-1} \\sum_{n=0}\^{N-1} n\\cdot\\frac{2n-(N-1)}{N-1} = j\\beta M \\sum_{n=0}\^{N-1} \\frac{2n\^2 - (N-1)n}{N-1}. Ku=jβm=0∑M−1n=0∑N−1n⋅N−12n−(N−1)=jβMn=0∑N−1N−12n2−(N−1)n. 利用求和公式 ∑n=N(N−1)/2\\sum n = N(N-1)/2∑n=N(N−1)/2,∑n2=(N−1)N(2N−1)/6\\sum n\^2 = (N-1)N(2N-1)/6∑n2=(N−1)N(2N−1)/6,计算得 Ku=jβM⋅N(N2−1)6(N−1)=jβM⋅N(N+1)6. K_u = j\\beta M \\cdot \\frac{N(N\^2-1)}{6(N-1)} = j\\beta M \\cdot \\frac{N(N+1)}{6}. Ku=jβM⋅6(N−1)N(N2−1)=jβM⋅6N(N+1). 更常见的归一化斜率(实部)为 Re{Ku}=0,Im{Ku}=βMN(N+1)6. \\text{Re}\\{K_u\\} = 0,\\quad \\text{Im}\\{K_u\\} = \\beta \\frac{MN(N+1)}{6}. Re{Ku}=0,Im{Ku}=β6MN(N+1). 类似地,俯仰差波束斜率为 Kv=∂FΔv∂v∣(u0,v0)=jβ∑m,nm dv(m,n)=jβN⋅M(M+1)6. K_v = \\left.\\frac{\\partial F_{\\Delta v}}{\\partial v}\\right\|_{(u_0,v_0)} = j\\beta \\sum_{m,n} m\\, d_v(m,n) = j\\beta N \\cdot \\frac{M(M+1)}{6}. Kv=∂v∂FΔv (u0,v0)=jβm,n∑mdv(m,n)=jβN⋅6M(M+1). ##### 3.2 单脉冲比 定义方位单脉冲比 Ru=FΔu(u,v)FΣ(u,v)≈KuδuMN=jβ(N+1)6δu. R_u = \\frac{F_{\\Delta u}(u,v)}{F_{\\Sigma}(u,v)} \\approx \\frac{K_u \\delta_u}{MN} = \\frac{j\\beta (N+1)}{6} \\delta_u. Ru=FΣ(u,v)FΔu(u,v)≈MNKuδu=6jβ(N+1)δu. 同理, Rv≈jβ(M+1)6δv. R_v \\approx \\frac{j\\beta (M+1)}{6} \\delta_v. Rv≈6jβ(M+1)δv. 由于 β=2πd/λ\\beta = 2\\pi d/\\lambdaβ=2πd/λ,且通常 d=λ/2d=\\lambda/2d=λ/2,则 β=π\\beta = \\piβ=π。代入得 Ru=jπ(N+1)6δu,Rv=jπ(M+1)6δv. R_u = j\\frac{\\pi(N+1)}{6} \\delta_u,\\quad R_v = j\\frac{\\pi(M+1)}{6} \\delta_v. Ru=j6π(N+1)δu,Rv=j6π(M+1)δv. 因此,角度偏差可通过取单脉冲比的虚部获得: δu=6π(N+1)Im{Ru},δv=6π(M+1)Im{Rv}. \\delta_u = \\frac{6}{\\pi(N+1)} \\text{Im}\\{R_u\\},\\quad \\delta_v = \\frac{6}{\\pi(M+1)} \\text{Im}\\{R_v\\}. δu=π(N+1)6Im{Ru},δv=π(M+1)6Im{Rv}. 实际中,和差波束输出为复数值,需对每个快拍或脉冲计算 Ru=Δu/ΣR_u = \\Delta_u/\\SigmaRu=Δu/Σ,然后取统计平均(或直接对检测后的目标回波计算)。 ##### 3.3 解耦处理 上述推导假设了方位差波束对 vvv 的导数及俯仰差波束对 uuu 的导数为零,即两个单脉冲比相互独立。对于均匀加权且阵列对称的情况,这种解耦严格成立。若采用非对称锥削(如泰勒加权),可能产生微小耦合,可通过测量耦合矩阵进行修正: \[δuδv\]=C−1\[Im{Ru}Im{Rv}\], \\begin{bmatrix} \\delta_u \\\\ \\delta_v \\end{bmatrix} = \\mathbf{C}\^{-1} \\begin{bmatrix} \\text{Im}\\{R_u\\} \\\\ \\text{Im}\\{R_v\\} \\end{bmatrix}, \[δuδv\]=C−1\[Im{Ru}Im{Rv}\], 其中 C\\mathbf{C}C 为2×2实矩阵,元素由差波束斜率及交叉项决定,可通过阵列方向图数值计算或实测标定得到。 #### 4. 二维多目标和差波束测角算法流程 对于多目标场景,通常先利用和波束进行空域搜索(例如数字波束形成扫描或傅里叶变换)检测各目标的位置,然后对每个检测点独立进行单脉冲测角。具体步骤如下: 1. **波束扫描与目标检测** 对观测空域划分网格,每个网格点 (up,vq)(u_p, v_q)(up,vq) 形成和波束输出 Σp,q=wΣ(up,vq)Hx\\Sigma_{p,q} = \\mathbf{w}_{\\Sigma}(u_p,v_q)\^H \\mathbf{x}Σp,q=wΣ(up,vq)Hx,得到距离-角度二维图像(若有时域脉冲还需进行距离维处理)。通过 CFAR 检测提取目标峰值,得到每个目标的粗略方向 (u0(k),v0(k))(u_0\^{(k)}, v_0\^{(k)})(u0(k),v0(k)) 及对应的和波束输出 Σk\\Sigma_kΣk。 2. **形成差波束** 对第 kkk个目标,以其粗略方向作为波束指向,构造方位差权向量 wΔu(k)\\mathbf{w}_{\\Delta u}\^{(k)}wΔu(k) 和俯仰差权向量 wΔv(k)\\mathbf{w}_{\\Delta v}\^{(k)}wΔv(k),计算差波束输出: Δu(k)=(wΔu(k))Hx,Δv(k)=(wΔv(k))Hx. \\Delta_u\^{(k)} = \\bigl(\\mathbf{w}_{\\Delta u}\^{(k)}\\bigr)\^H \\mathbf{x},\\quad \\Delta_v\^{(k)} = \\bigl(\\mathbf{w}_{\\Delta v}\^{(k)}\\bigr)\^H \\mathbf{x}. Δu(k)=(wΔu(k))Hx,Δv(k)=(wΔv(k))Hx. 若采用和差同时多波束技术,可预先存储三组权值,在检测后直接读取对应波束的输出。 3. **计算单脉冲比** Ru(k)=Δu(k)Σk,Rv(k)=Δv(k)Σk. R_u\^{(k)} = \\frac{\\Delta_u\^{(k)}}{\\Sigma_k},\\quad R_v\^{(k)} = \\frac{\\Delta_v\^{(k)}}{\\Sigma_k}. Ru(k)=ΣkΔu(k),Rv(k)=ΣkΔv(k). 4. **估计角度偏差** 利用解耦后的线性关系(或耦合矩阵): δu(k)=6π(N+1)Im{Ru(k)},δv(k)=6π(M+1)Im{Rv(k)}. \\delta_u\^{(k)} = \\frac{6}{\\pi(N+1)}\\text{Im}\\{R_u\^{(k)}\\},\\quad \\delta_v\^{(k)} = \\frac{6}{\\pi(M+1)}\\text{Im}\\{R_v\^{(k)}\\}. δu(k)=π(N+1)6Im{Ru(k)},δv(k)=π(M+1)6Im{Rv(k)}. 则目标的精确方向为 uk=u0(k)+δu(k),vk=v0(k)+δv(k). u_k = u_0\^{(k)} + \\delta_u\^{(k)},\\quad v_k = v_0\^{(k)} + \\delta_v\^{(k)}. uk=u0(k)+δu(k),vk=v0(k)+δv(k). 最后转换回方位角和俯仰角: ϕk=arctan (vkuk),θk=arcsin (uk2+vk2). \\phi_k = \\arctan\\!\\left(\\frac{v_k}{u_k}\\right),\\quad \\theta_k = \\arcsin\\!\\left(\\sqrt{u_k\^2+v_k\^2}\\right). ϕk=arctan(ukvk),θk=arcsin(uk2+vk2 ). 5. **多目标区分** 若多个目标的角度间隔大于波束宽度,上述逐目标处理可直接应用;若角度接近,和波束输出会相互重叠,此时需采用高分辨算法(如 MUSIC)或先对回波进行空域滤波分离,再对每个分离后的信号进行单脉冲测角。  #### 5. 总结 本文从均匀平面阵列的信号模型出发,详细推导了二维和差波束的形成方法,分析了小角度偏差下和、差波束方向图的线性关系,得到了单脉冲比与角度偏差的解析表达式。给出了基于二维和差波束的多目标 DOA 估计算法流程。该方法具有计算量小、精度高的优点,广泛应用于雷达跟踪和阵列测向系统中。实际应用中需注意阵列幅相误差、通道不一致性等因素对测角精度的影响,可通过系统标定与校正予以补偿。