【精选】卫星高度角和方位角的计算

您所在的位置:网站首页 坐标方位角怎么求 【精选】卫星高度角和方位角的计算

【精选】卫星高度角和方位角的计算

2023-10-26 14:03| 来源: 网络整理| 查看: 265

文章目录 一、预备知识二、计算方法

参考: 关于大地测量领域常用的角度知识汇总:https://blog.csdn.net/Gou_Hailong/article/details/123611011 计算卫星高度角和方位角:https://blog.csdn.net/chinaren_djf/article/details/124043992 大地测量(含导航定位)中常用的坐标系统概念简介: https://zhuanlan.zhihu.com/p/473678638

一、预备知识

首先需要了解地心地固坐标系(XYZ),站心坐标系(ENU),大地坐标系(BLH),以及高度角、方位角的一些概念。上面的链接中已经有详细的介绍,这里就不再赘述。

如下图所示:卫星在太空中飞,地球上的测站位于下图左边的空心小圆处,地球半径为 r e r_e re​,卫星到地心的距离为 r s r_s rs​,卫星到测站间的距离为 d d d。从测站出发作地球的一个切面(在二维图形上看就是上面的那条垂线)那么卫星的高度角就是上图中的 E I EI EI 。

把上面的“那条线”(也就是切面)拿出来,如下图所示(随手画的,很抽象,勿 diss)。测站正北方向为 N N N 方向,正东方向为 E E E 方向,测站正上方向(图中紫色)为 U U U 方向。图中的绿线为站星连线在测站坐标系 N O E NOE NOE 平面的投影,投影线与 N N N 方向的夹角(图中的 A Z AZ AZ)即为方位角。

二、计算方法

假设卫星在 t 0 t_0 t0​ 时刻播发的信号在 t 1 t_1 t1​ 时刻被卫星接收到,换言之,卫星在 t 0 t_0 t0​ 时刻的坐标为 ( x 0 s , y 0 s , z 0 s ) (x^s_0,y^s_0,z^s_0) (x0s​,y0s​,z0s​);测站在 t 1 t_1 t1​ 时刻的坐标为 ( x r 1 , y r 1 , z r 1 ) (x_{r1},y_{r1},z_{r1}) (xr1​,yr1​,zr1​)。值得注意的是,上面的坐标都是地心地固系的坐标(在信号传播的过程中,地球一直在旋转,旋转的角度为 ( ρ / c ) ∗ ω (\rho/c)*\omega (ρ/c)∗ω【 传播距离 /光速 * 地球自转角速度】),应该将其转换成惯性系坐标才可以(比如以 t 0 t_0 t0​ 时刻的地心地固系为惯性系,那么测站的坐标就应该乘一个旋转矩阵),下面简要写一下计算过程。

S1: 根据测站坐标与卫星坐标计算信号传播距离 ρ \rho ρ,进而计算出传播时间 t = ( ρ / c ) t=(\rho/c) t=(ρ/c),需要改正的角度为 ϕ = ( ρ / c ) ∗ ω \phi=(\rho/c)*\omega ϕ=(ρ/c)∗ω。

S2: 将测站坐标右乘一个旋转矩阵(因为相当于是绕 z z z 轴旋转) R z ( θ ) = [ c o s θ − s i n θ 0 s i n θ c o s θ 0 0 0 1 ] R_z(\theta)=\left[ \begin{array}{ccc} cos\theta & -sin\theta & 0 \\ sin\theta & cos\theta & 0 \\ 0 & 0 & 1 \\ \end{array}\right] Rz​(θ)=⎣⎡​cosθsinθ0​−sinθcosθ0​001​⎦⎤​ 得到测站坐标在 t 0 t_0 t0​ 时刻的地心地固系下的坐标 ( x r 0 , y r 0 , z r 0 ) (x_{r0},y_{r0},z_{r0}) (xr0​,yr0​,zr0​)。

S3: 然后以 ( x r 0 , y r 0 , z r 0 ) (x_{r0},y_{r0},z_{r0}) (xr0​,yr0​,zr0​) 为站心坐标,计算出卫星在站心坐标系中的坐标 ( n 0 s , e 0 s , u 0 s ) (n_0^s,e_0^s,u_0^s) (n0s​,e0s​,u0s​)。

S4: 那么卫星高度角 E E E与 ( n 0 s , e 0 s , u 0 s ) (n_0^s,e_0^s,u_0^s) (n0s​,e0s​,u0s​) 存在如下关系(将 ( n 0 s , e 0 s , u 0 s ) (n_0^s,e_0^s,u_0^s) (n0s​,e0s​,u0s​) 简单记作 ( n , e , u ) (n,e,u) (n,e,u)): c o s E = n 2 + e 2 n 2 + e 2 + u 2 cosE=\sqrt{\frac{n^{2}+e^2}{n^{2}+e^2+u^2}} cosE=n2+e2+u2n2+e2​ ​ ,从这个公式就可以计算出高度角。

S5: 卫星的方位角 A A A 与 ( n , e , u ) (n,e,u) (n,e,u) 存在如下关系: t a n A = e n tanA=\frac{e}{n} tanA=ne​,从这个公式可以计算出方位角。

ps: 1、一般测站的坐标是通过SPP简单计算出来,误差很大,卫星的坐标可能是通过广播星历得到的,误差也很大,要不要考虑地球自转改正呢? 2、如果要考虑地球自转改正的话,第一算出来的站星距离根本不准,进而得到的旋转角度也不准,这里面是否还要迭代?

编程需要注意的地方:

首先需要知道 XYZ 转 BLH,XYZ 转 ENU 的转换方法

应该没其他的啦。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3