毫米波雷达的目标角度估计,特别是角度分辨率的提高是雷达探测需要解决的核心问题,使用FFT(快速傅里叶变换)或者DBF(数字波束形成技术)做DOA估计是最简单且运算复杂度最低的方法,但是这两方法并不能实现超分辨,其角分辨率受限于阵列的孔径,music算法是实现超分辨的一种算法,本文详细介绍了三种算法的原理,对于均匀排布的阵列,角分辨率有公式:
θ r e s = λ d \theta_{res}=\frac{\lambda}{d} θres=dλ
上式中, θ r e s \theta_{res} θres为天线的角度分辨率, N N N为天线的阵列数, d d d为两相邻阵元之间的间距。如果要提高角分辨率那只能通过增加天线数量来增加阵列孔径。
原理:3DFFT(三维快速傅里叶变换)算法是一种通过对雷达接收信号进行傅里叶变换,将空域信息转换到频域的方法。在频域中,可以通过对接收信号的各个方向进行傅里叶变换,得到不同方向的空间频率响应,从而推导出目标的到达角。
天线阵
设相邻的两个天线之间排布间距为 d d d,到达角(angle of arrival,AoA)为 θ \theta θ,则相邻的两个天线之间会产生一个固定的光程差 d sin θ d \sin \theta dsinθ,这个固定的光程差会造成相邻两个信道 R x 1 Rx_1 Rx1和 R x 2 Rx_2 Rx2间接收回波固定的相位差。即:
d sin θ λ = Δ ϕ 2 π \frac{d \sin \theta}{\lambda}=\frac{\Delta \phi }{2\pi} λdsinθ=2πΔϕ
因此可以得到相邻两个天线之间接收信号的相位差为:
Δ ϕ = 2 π d sin θ λ \Delta \phi =\frac{2\pi d \sin \theta}{\lambda} Δϕ=λ2πdsinθ
Ti雷达给出的3DFFT测角说明原理如下:
在进行完距离FFT和多普勒FFT后,这二者的基础上进行FFT测量信号到达的角度,图中雷达对两个目标进行探测。在2D-FFT得到得到峰值基础上进行角度FFT,FFT的点数为天线的阵列数N,FFT后得到两个目标对应的相位变化量 w 1 w_1 w1和 w 2 w_2 w2,以目标1在角度FFT下得到的相移 w 1 w_1 w1为例:
w 1 = 2 π d sin θ 1 λ w_1 =\frac{2\pi d \sin \theta_1}{\lambda} w1=λ2πdsinθ1
所以目标1反射的回波相对于天线的角度 θ 1 \theta1 θ1有如下表达:
θ 1 = s i n − 1 λ w 1 2 π d \theta1=sin^{-1}\frac{\lambda w_1}{2\pi d } θ1=sin−12πdλw1
DBF方法测角和FFT测角效果几乎一致。最早的基于阵列的DOA算法便是常规波束形成算法(CBF),DBF本质是构造视场范围内的各个角度的导向矢量,并用这些导向矢量分别去和阵列的回波信号相乘以得到各个角度下的能量值,我们通过寻找其中的极大值(目标所处方向的回波与导向矢量相干叠加,这些方向的能量会得到增强,而噪声是非相干的,能量得到增强的方向,对应极大值的位置,也即信号的方向)来得到实际回波的方向而达到测角的目的。与时域相比,测角是以空域各阵元接收的数据替代传统时域处理中的时域数据,所以与时域的傅里叶限制一样(FFT后的频率分辨率取决于采样时间: df = 1/T),将这种方法扩展至空域后,阵列的角分辨率同样受到空域傅里叶限(此时是阵列的孔径:θres=λ/(N*d)的限制。如果要提高测角分辨率就只能通过增加孔径来实现。DBF方法测角原理如下:
假设阵元共有N个,阵元间距为d,来波方向偏离法线角度为 。来波信号为窄带高频信号,其信号形式为:
r ( t ) = a ( t ) e j Φ ( t ) e 2 π f 0 t r(t)=a(t)e^{j\Phi(t) } e^{2\pi f_0t } r(t)=a(t)ejΦ(t)e2πf0t
以阵元1为参考,来波信号到达阵元2的时间相对于阵元1的时间超前 τ = d s i n ( θ ) c \tau=\frac{dsin(\theta)}{c} τ=cdsin(θ) ,以此类推,来波到达阵元N的时间相较阵元1超前 ( N − 1 ) τ (N-1)\tau (N−1)τ。在窄带条件下,接收到的阵列信号为:
[ r 1 ( t ) r 2 ( t ) . . . r N ( t ) ] = [ a 1 ( t ) e j Φ ( t ) e 2 π f 0 t a 2 ( t ) e j Φ ( t ) e 2 π f 0 ( t + τ ) . . . a N ( t ) e j Φ ( t ) e 2 π f 0 ( t + ( N − 1 ) τ ) ] \begin{bmatrix} r_1(t) \\r_2(t) \\... \\r_N(t) \end{bmatrix}=\begin{bmatrix}a_1(t)e^{j\Phi(t) } e^{2\pi f_0t } \\a_2(t)e^{j\Phi(t) } e^{2\pi f_0(t+\tau) } \\... \\a_N(t)e^{j\Phi(t) } e^{2\pi f_0(t+(N-1)\tau) } \end{bmatrix} r1(t)r2(t)...rN(t) = a1(t)ejΦ(t)e2πf0ta2(t)ejΦ(t)e2πf0(t+τ)...aN(t)ejΦ(t)e2πf0(t+(N−1)τ)
由于窄带信号的幅度和相位都是随着时延缓慢变化的,忽略各个阵元之间由于波程差造成的包络差别,即认为 a ( t ) = a n ( t ) , ( n = 1 , 2 , . . . , N ) a(t)=a_n(t),(n=1,2,...,N) a(t)=an(t),(n=1,2,...,N),即认为接收到的和信号有如下表达形式:
x ~ ( t ) = a ( t ) e j Φ ( t ) [ 1 e j 2 π d sin ( θ ) λ ⋯ e j 2 π ( N − 1 ) d sin ( θ ) λ ] T \widetilde {x} (t)=a(t) e^ {j\Phi(t)} \begin{bmatrix} 1& e^ {j\frac{2\pi d\sin (\theta )}{ \lambda}}& \cdots& e^ {j\frac{2\pi(N-1) d\sin (\theta )}{ \lambda}}\end{bmatrix}^{T} x (t)=a(t)ejΦ(t)[1ejλ2πdsin(θ)⋯ejλ2π(N−1)dsin(θ)]T
接下来进一步进行分析,第 n n n个阵元接收到的信号形式为:
x ~ ( t ) = a ( t ) e j Φ ( t ) e j 2 π ( n − 1 ) d sin ( θ ) λ , n = 1 , 2 , . . . , N \widetilde {x} (t)=a(t) e^ {j\Phi(t)} e^ {j\frac{2\pi (n-1)d\sin (\theta )}{ \lambda}},n=1,2,...,N x (t)=a(t)ejΦ(t)ejλ2π(n−1)dsin(θ),n=1,2,...,N
假设各阵元接收到的信号加权矩阵 w n w_n wn为:
ω n = b n e j ϕ n ( n = 1 , 2 , ⋯ , N ) \omega _ {n} = b_ {n} e^ {j\phi _ {n}} (n=1,2, \cdots ,N) ωn=bnejϕn(n=1,2,⋯,N)
经过加权处理之后得到的总输出为:
y ( t ) = ∑ n = 1 N a n ( t ) e j ϕ ( t ) e j 2 π ( n − 1 ) d sin ( θ ) λ b n e − j ϕ n y(t)= \sum _ {n=1}^ {N} a_ {n} (t) e^ {j\phi (t)} e^ {j\frac {2\pi (n-1)d\sin (\theta )}{\lambda }}b_ {n}e^ {-j\phi _ {n}} y(t)=n=1∑Nan(t)ejϕ(t)ejλ2π(n−1)dsin(θ)bne−jϕn
若接收目标波束的指向与法线方向夹角为 θ 0 \theta_0 θ0 ,则 ∣ y ( θ ) ∣ |y(\theta)| ∣y(θ)∣应在 θ = θ 0 \theta=\theta_0 θ=θ0时达到最大值。其中 ϕ n \phi _ {n} ϕn为:
ϕ n = 2 π n d sin ( θ 0 ) λ , n = 1 , 2 , ⋯ , N \phi _ {n} = \frac {2\pi nd\sin (\theta _ {0})}{\lambda } ,n=1,2,\cdots,N ϕn=λ2πndsin(θ0),n=1,2,⋯,N
此时,系统的输出响应为:
y ( t ) = ∑ m = 0 N − 1 a ~ n b n e j [ 2 π n d λ ( sin θ − sin θ 0 ) ] y(t)= \sum _ {m=0}^ {N-1} \widetilde {a}_ {n} b_ {n} e^ {j[\frac {2\pi nd}{\lambda }(\sin \theta -\sin \theta _ {0})]} y(t)=m=0∑N−1a nbnej[λ2πnd(sinθ−sinθ0)]
从上面表达式不难知道,当 θ 0 = θ \theta_0=\theta θ0=θ时取到最大值,因此利用DBF法对信号的DOA进行估计时,可以让加权处理矩阵,或者称为导向矢量 w n = b n e j 2 π n d sin ( θ ) λ w_n= b_ {n} e^ {j \frac {2\pi nd\sin (\theta )}{\lambda } } wn=bnejλ2πndsin(θ)中的 θ \theta θ在 [ 0 π ] \begin{bmatrix}0&\pi\end{bmatrix} [0π]中进行遍历,当 y ( t ) y(t) y(t)模值最大时,此时对应的角度 θ \theta θ为来波的角度,完成DOA的估计。
MUSIC(Multiple Signal Classification),多重信号分类,是一类空间谱估计算法。其思想是利用接收数据的协方差矩阵进行特征分解,分离出信号子空间和噪声子空间,利用信号方向向量与噪声子空间的正交性来构成空间扫描谱,进行全域搜索谱峰,从而实现信号的参数估计。
对于music算法而言,其原理较为复杂,为了方便分析,假设天线阵共有三根天线,均匀排列,天线阵的间距为d,假设两个信号分别从 θ 1 \theta1 θ1和 θ 2 \theta 2 θ2的角度进行入射,利用music算法对目标1信号入射角 θ 1 \theta 1 θ1和目标2入射角 θ 2 \theta 2 θ2进行估计,目标到天线阵的距离远大于天线之间的间距 d d d。
首先,假设目标1信号为 x 1 ( t ) x_1(t) x1(t),目标2信号 x 2 ( t ) x_2(t) x2(t),对于信号 x 1 ( t ) x_1(t) x1(t)而言,其在目标到天线阵途径中相位移动和幅度衰减用 γ 1 \gamma_1 γ1进行表示,所以天线Rx1接收到的目标1信号为: γ 1 x 1 ( t ) \gamma_1 x_1(t) γ1x1(t),天线Rx1接收到的目标2的信号为: γ 2 x 2 ( t ) \gamma_2 x_2(t) γ2x2(t)。根据前面的推导可以知道,相邻天线之间的相位延迟为 e j 2 π d sin θ λ e^{j\frac{2\pi d \sin \theta}{\lambda}} ejλ2πdsinθ ,令 Φ 1 = e j 2 π d s i n ( θ 1 ) c \Phi_1=e^{j\frac{2\pi dsin(\theta_1 )}{c}} Φ1=ejc2πdsin(θ1),因此天线Rx2接收到的目标1信号为: γ 1 x 1 ( t ) Φ 1 \gamma_1 x_1(t)\Phi_1 γ1x1(t)Φ1,以此类推,天线1,2,3接收到的和信号有如下表达形式:
{ y 1 ( t ) = γ 1 x 1 ( t ) + γ 2 x 2 ( t ) y 2 ( t ) = γ 1 x 1 ( t ) Φ 1 + γ 2 x 2 ( t ) Φ 2 y 3 ( t ) = γ 1 x 1 ( t ) Φ 1 2 + γ 2 x 2 ( t ) Φ 2 2 \left\{\begin{matrix}y_1(t)=\gamma_1 x_1(t)+\gamma_2 x_2(t) \\\ y_2(t)=\gamma_1 x_1(t)\Phi_1+\gamma_2 x_2(t)\Phi_2 \\\ y_3(t)=\gamma_1 x_1(t)\Phi_1^2+\gamma_2 x_2(t)\Phi_2^2 \end{matrix}\right. ⎩ ⎨ ⎧y1(t)=γ1x1(t)+γ2x2(t) y2(t)=γ1x1(t)Φ1+γ2x2(t)Φ2 y3(t)=γ1x1(t)Φ12+γ2x2(t)Φ22
即有:
[ y 1 ( t ) y 2 ( t ) y 3 ( t ) ] = [ γ 1 γ 2 γ 1 Φ 1 γ 2 Φ 2 γ 1 Φ 1 2 γ 2 Φ 2 2 ] [ x 1 ( t ) x 2 ( t ) ] \begin{bmatrix} y_1(t) \\y_2(t) \\y_3(t) \end{bmatrix}= \begin{bmatrix} \gamma_1& \gamma_2\\ \gamma_1\Phi_1 & \gamma_2\Phi_2\\ \gamma_1\Phi_1^2 & \gamma_2\Phi_2^2 \end{bmatrix} \begin{bmatrix} x_1(t) \\x_2(t) \end{bmatrix} y1(t)y2(t)y3(t) = γ1γ1Φ1γ1Φ12γ2γ2Φ2γ2Φ22 [x1(t)x2(t)]
假设信号的快拍数为n,则可以扩展成如下表达形式:
[ y 1 ( 1 ) y 1 ( 2 ) . . . y 1 ( n ) y 2 ( t ) y 1 ( 2 ) . . . y 1 ( n ) y 3 ( t ) y 1 ( 2 ) . . . y 1 ( n ) ] = [ γ 1 γ 2 γ 1 Φ 1 γ 2 Φ 2 γ 1 Φ 1 2 γ 2 Φ 2 2 ] [ x 1 ( 1 ) x 1 ( 2 ) . . . x 1 ( n ) x 2 ( 1 ) x 2 ( 2 ) . . . x 2 ( n ) ] \begin{bmatrix} y_1(1)&y_1(2) & ... y_1(n) \\y_2(t)&y_1(2) &... y_1(n) \\y_3(t)&y_1(2) &... y_1(n) \end{bmatrix}=\begin{bmatrix} \gamma_1& \gamma_2\\ \gamma_1\Phi_1 & \gamma_2\Phi_2\\ \gamma_1\Phi_1^2 & \gamma_2\Phi_2^2 \end{bmatrix} \begin{bmatrix} x_1(1)&x_1(2)...x_1(n) \\x_2(1)&x_2(2)...x_2(n) \end{bmatrix} y1(1)y2(t)y3(t)y1(2)y1(2)y1(2)...y1(n)...y1(n)...y1(n) = γ1γ1Φ1γ1Φ12γ2γ2Φ2γ2Φ22 [x1(1)x2(1)x1(2)...x1(n)x2(2)...x2(n)]
上式可以用以下简洁表达式表达:
Y = Φ X Y=\Phi X Y=ΦX
观察上式,不难发现,Y一般来说作为阵列接收的信号是已知的,X是入射信号,一般来说是未知的,要求的是含有来波角度的 Φ \Phi Φ矩阵,如果能找到一个矩阵 C C C,使得:
C Y = C Φ X = 0 , C = [ c 1 c 2 c 3 ] CY=C\Phi X=0,C=\begin{bmatrix} c_1&c_2&c_3 \\ \end{bmatrix} CY=CΦX=0,C=[c1c2c3]
所以得到如下表达形式:
[ c 1 c 2 c 3 ] [ y 1 ( t ) y 2 ( t ) y 3 ( t ) ] = [ c 1 γ 1 + c 2 γ 1 Φ 1 + c 3 γ 1 Φ 1 2 ] x 1 ( t ) + [ c 1 γ 2 + c 2 γ 2 Φ 2 + c 3 γ 2 Φ 2 2 ] x 2 ( t ) = 0 \begin{bmatrix} c_1&c_2&c_3 \\ \end{bmatrix}\begin{bmatrix} y_1(t) \\y_2(t) \\y_3(t) \end{bmatrix}=\begin{equation} \begin{split} &[c_1 \gamma_1+c_2 \gamma_1 \Phi_1+c_3\gamma_1 \Phi_1^2]x_1(t)\\ &+[c_1 \gamma_2+c_2 \gamma_2\Phi_2+c_3\gamma_2 \Phi_2^2]x_2(t)=0 \end{split} \end{equation} [c1c2c3] y1(t)y2(t)y3(t) =[c1γ1+c2γ1Φ1+c3γ1Φ12]x1(t)+[c1γ2+c2γ2Φ2+c3γ2Φ22]x2(t)=0
MUSIC算法在此时进行了一个假设,即假设信号 x 1 x_{1} x1和信号 x 2 x_{2} x2是不相关,因此要想上式为0,必须是 x 1 ( t ) 、 x 2 ( t ) x_1(t)、x_2(t) x1(t)、x2(t)系数为0,得到如下表达式:
[ c 1 c 2 c 3 ] ∗ [ γ 1 γ 2 γ 1 Φ 1 γ 2 Φ 2 γ 1 Φ 1 2 γ 2 Φ 2 2 ] = [ 0 0 ] \begin{bmatrix} c_1&c_2&c_3 \\ \end{bmatrix}*\begin{bmatrix} \gamma_1& \gamma_2\\ \gamma_1\Phi_1 & \gamma_2\Phi_2\\ \gamma_1\Phi_1^2 & \gamma_2\Phi_2^2 \end{bmatrix}=[0 \quad 0] [c1c2c3]∗ γ1γ1Φ1γ1Φ12γ2γ2Φ2γ2Φ22 =[00]
不难发现, γ 1 \gamma_1 γ1和 γ 2 \gamma_2 γ2可以提出来约掉,上式可以化成:
{ c 1 + c 2 Φ 1 + c 3 Φ 1 2 = 0 c 1 + c 2 Φ 2 + c 3 Φ 2 2 = 0 \left\{\begin{matrix} c_1 +c_2 \Phi_1+c_3 \Phi_1^2=0 \\ c_1 +c_2 \Phi_2+c_3 \Phi_2^2=0 \end{matrix}\right. {c1+c2Φ1+c3Φ12=0c1+c2Φ2+c3Φ22=0
可以说只要找到与导向矩阵 Φ \Phi Φ正交的向量C,进而计算出导向矩阵 Φ \Phi Φ,就可以估算出来波的方向角。
下面推广到普遍的情况,设信号源数目为M,阵元数目为N,噪声为零均值白噪声,music算法步骤总结如下:
Y = Φ X + N Y=\Phi X+N Y=ΦX+N
Y为阵元的输出, Φ \Phi Φ为方向响应向量, X X X是入射信号, N N N表示阵列噪声。
R Y = E [ Y Y H ] , R x = E [ X X H ] {R_Y}=E[YY^H],R_x=E[XX^H] RY=E[YYH],Rx=E[XXH]
其中 H表示矩阵的共轭转置。其中 R x = E [ X X H ] R_x= E [ XX^ H ] Rx=E[XXH]称为信号相关矩阵, R Y = E [ Y Y H ] {R_Y}=E[YY^H] RY=E[YYH]为输出信号相关矩阵。
根据已假设信号与噪声互不相关、噪声为零均值白噪声,因此可得到:
R Y = E [ ( Φ X + N ) ( Φ X + N ) H ] = Φ E [ X X H ] Φ H + E [ N N H ] = Φ R x Φ H + R N R _Y = E [ ( \Phi X+N) (\Phi X+N )^H ] = \Phi E[XX^H]\Phi^H + E [ N N ^H ] = \Phi R_x\Phi^H + R _N RY=E[(ΦX+N)(ΦX+N)H]=ΦE[XXH]ΦH+E[NNH]=ΦRxΦH+RN
上式中 R N = σ 2 I R_ N = σ ^2 I RN=σ2I是噪声相关阵, σ 2 \sigma^2 σ2 是噪声功率。
在实际应用中通常无法直接得到 R Y R_Y RY,能使用的只有样本的协方差矩阵,该计算值是 R Y R_Y RY的最大似然估计:
R Y ^ = 1 N ∑ i = 1 N = Y ( i ) Y H ( i ) \hat {R_Y}=\frac{1}{N} {\textstyle \sum_{i=1}^{N}} =Y(i)Y^H(i) RY^=N1∑i=1N=Y(i)YH(i)
通过对协方差矩阵的特征值分解,将矩阵 R Y R_Y RY的特征值进行从小到大的排序,即 λ 1 ≥ λ 2 ≥ . . . ≥ λ M > 0 \lambda_1 \geq \lambda_2\geq...\geq\lambda_M>0 λ1≥λ2≥...≥λM>0,其中 D D D个较大的特征值对应于信号, 分别等于矩阵 Φ R x Φ H \Phi R_x\Phi^H ΦRxΦH的各特征值与 σ 2 \sigma^2 σ2之和, M − D M − D M−D 个较小的特征值对应于噪声,其特征值为 σ 2 \sigma^2 σ2。输出信号协方差矩阵 R Y R_Y RY的属于这些特征值的特征向量也分别对应于各个信号和噪声,因此可把 R Y R_Y RY的特征值(特征向量)划分为信号特征(特征向量)与噪声特征(特征向量)。
设 λ i \lambda_i λi为 R Y R_Y RY的第 i 个特征值, v i v_i vi是与 λ i \lambda_i λi个相对应的特征向量,有:
R Y v i = λ i v i , i = 1 , 2 , ⋯ , M R_Y v_ i =\lambda_iv_i,i=1,2,\cdots,M RYvi=λivi,i=1,2,⋯,M
因此 λ i = σ 2 λ_i =\sigma^2 λi=σ2是 R Y R_Y RY的最小特征值, R Y v i = σ 2 v i , i = D + 1 , D + 2... M R_Y v_ i =\sigma^2v_i ,i=D+1,D+2...M RYvi=σ2vi,i=D+1,D+2...M,将 R Y = Φ R x Φ H + σ 2 I R_Y= \Phi R_x\Phi^H + \sigma^2I RY=ΦRxΦH+σ2I代入可得 ( Φ R x Φ H + σ 2 I ) v i = σ 2 v i (\Phi R_x\Phi^H + \sigma^2I)v_i=\sigma^2v_i (ΦRxΦH+σ2I)vi=σ2vi,将其右边展开与左边比较得:
Φ R x Φ H v i = 0 \Phi R_x\Phi^Hv_i=0 ΦRxΦHvi=0
进一步化简,两边同时乘上 R x − 1 ( Φ H Φ ) − 1 Φ H Rx^{-1}(\Phi^H\Phi)^{-1}\Phi^H Rx−1(ΦHΦ)−1ΦH得到下式:
R x − 1 ( Φ H Φ ) − 1 Φ H Φ R x Φ H v i = Φ H v i = 0 , i = D + 1 , D + 2 , . . . , M Rx^{-1}(\Phi^H\Phi)^{-1}\Phi^H\Phi R_x\Phi^Hv_i = \Phi^Hv_i=0 ,i=D+1,D+2,...,M Rx−1(ΦHΦ)−1ΦHΦRxΦHvi=ΦHvi=0,i=D+1,D+2,...,M
上式表明:噪声特征值所对应的特征向量(称为噪声特征向量) v i v_i vi,与矩阵 Φ \Phi Φ的列向量正交,这正是我们前面所推导出来的C的转置,求出 v i v_i vi进而求出 Φ \Phi Φ矩阵,而 Φ \Phi Φ的各列是与信号源的方向相对应的,噪声特征向量 v i v_i vi可以通过 R Y R_Y RY求出,这就是利用噪声特征向量求解信号源方向的出发点。
用各噪声特征向量为例,构造一个噪声矩阵 E n E_n En:
E n = [ v D + 1 , v D + 2 , . . . v M ] E_n=[v_{D+1},v_{D+2},...v_{M}] En=[vD+1,vD+2,...vM]
定义空间谱 P m u ( θ ) P_{mu}(\theta) Pmu(θ):
P m u ( θ ) = 1 a H ( θ ) E n E n H a ( θ ) = 1 ∥ E n H a ( θ ) ∥ 2 P_{mu}(\theta)=\frac{1}{{a^H}(\theta)}E_nE_n^Ha(\theta)=\frac{1}{\Vert E_n^Ha(\theta)\Vert^2} Pmu(θ)=aH(θ)1EnEnHa(θ)=∥EnHa(θ)∥21
该式中分母是信号导向矢量和噪声矩阵的内积,当 a ( θ ) a(\theta) a(θ)和 E n E_n En的各列正交时,该分母为零,但由于噪声的存在,它实际上为一最小值,因此 P m u ( θ ) P_{mu}(\theta) Pmu(θ)取到峰值,有一尖峰,由该式使得 θ \theta θ遍历,通过寻找波峰来估计到达角。
本文总结了3D-FFT测角,DBF测角和music算法测角三种测角算法的原理,并给出了推导过程,欢迎大家和笔者一起探讨研究。