技术领域
本发明属于遥感卫星成像技术领域,具体涉及一种遥感卫星复杂圆锥视场的区域目标可 见窗口快速计算方法。
背景技术
从现有研究来看,可见性问题最早聚焦在卫星对点目标的可见性。最一般的方法称之为 传播算法,即通过遍历离散时间步长进行逐一判断,这种方法计算准确,但计算效率低,常 在文献中作为对比算法。后续研究主要着力在改善计算量过大的问题。Lawton等对卫星-卫 星、卫星-点目标的可见性第一次提出使用视函数方法进行判断,使计算效率大大提升,但只 适用于小偏心率轨道,AliI等使用大圆弧近似轨道在一个周期下的星下点轨迹,模型简化、 计算效率高但只适用于低轨道卫星,Mai Y等考虑了卫星能够进行姿态机动下的可见窗口计 算,Han C等则在视函数的计算上采用Hermit插值方法,张锦绣等提出卫星在低纬度与高纬 度进行变步长的粗搜索方法。
然而,上述研究均为卫星对点目标可见窗口的计算方法,对于区域目标,现有研究较少, 且由于视场类型对区域目标可见性问题影响较大,原有方法不能直接推广。现有一些研究仍 是基于点目标的一种延伸,主要是对区域内部或区域边界进行采样从而近似求解,但这种方 式会导致计算量的显著增加。如文宋志明等不考虑卫星视场,直接将区域目标边界离散成点 目标后求其可见窗口的并集。汪荣峰等在计算过程中同时考虑了覆盖信息的情况。一些研究 则在计算过程中考虑怎样增大粗搜索范围,鄂智博等提出用二分法进行精确搜索以增大初始 搜索步长。可见,目前对于区域目标的可见性计算问题,尚未有一个较为通用高效的算法, 且上述研究涉及的视场类型只有圆锥、矩形视场。因此,提出一个适用于复杂圆锥视场的准 确、且高效的方法是非常必要的。
发明内容
本发明针对这一问题,提出了一种基于复杂圆锥视场的区域目标可见窗口半解析快速计 算方法,可以快速确定精确的区域目标可见窗口。
一种遥感卫星复杂圆锥视场的区域目标可见窗口计算方法,包括如下步骤:
步骤1、建立复杂圆锥视场的数学描述:复杂圆锥视场的内半锥角所对应的圆与外半锥 角所对应的圆在地球表面的投影为两个普通圆弧,最小时钟角和最大时钟角对应的两边在地 球表面的投影为两个大圆弧;其中,大圆弧的圆心与球心重合,圆周在地球表面上;普通圆 弧为圆周在地球上的除大圆弧之外的任意圆弧;
步骤2、建立区域目标的数学描述:区域目标是指地球表面的封闭凸多边形,凸多边形 的每一条边都是地球球体上的大圆弧;
步骤3、判断各时刻复杂圆锥视场投影在地球表面的可视区域A与区域目标所在区域B 之间是否有重叠区域,具体为:
(81)判断区域A是否在区域B内:
(811)针对区域B的每条边进行遍历,计算区域A相对该边的极限点;其中,极限点是 指区域A边界上最有可能在区域B外部的点;区域B每条边界边均对应一组极限点;
(812)针对区域B的每条边,判断其对应的极限点是否均在该边内侧,若存在一个极限 点不在该条边内侧,则退出,返回“否”,进入步骤(82);
(813)若区域A上的所有极限点均在各自对应的区域B每条边的内侧,则该时刻区域A 在区域B内;
(82)判断区域A与区域B边界是否存在至少一个交点,如果是,则两区域有交点;若没有,则退出,返回“否”,进入步骤(83);
(83)判断区域B是否在区域A内:
依次判断区域目标B的每个边界点是否在复杂圆锥视场的投影区域A内部,若所有点均 满足,则区域B在区域A内;否则,若有一个点不满足,则退出,返回“否”;
针对某一时刻,以上(81)、(82)、(83)三种情况只要满足其中一种,则该时刻视场对 区域目标可见;若以上三种情况均不满足,则该时刻视场对区域目标不可见;
步骤4、根据步骤3计算得到的各时刻区域A与区域B之间的位置关系,确定复杂圆锥 视场对区域目标B的可见窗口。
较佳的,所述步骤(811)中,计算极限点的方法为:
首先,计算复杂圆锥视场内、外圆锥半角对应的地球半锥角
其次,计算“极限点”:将“极限点”在一次判断中取为至多6个,其中点1,2,3,4 为区域A的4个边界点,而点5,6点则根据区域目标边界的情况计算,具体步骤如下:
计算单位化的速度与反向角速度的单位向量n
利用旋转方法,将复杂圆锥视场投影区域所在的圆环的圆心的位置矢量向v
计算复杂圆锥视场投影区域A相对区域B边界线可能存在的第5、6个极限点:其中,当 最大、最小时钟半角之差小于180度时,可能存在第5个极限点;当大于180度时,存在第5和第6个极限点;
对于区域A边界上可能的第5、6个极限点,将区域目标边界的法向量作为其方向矢量, 采用与点1,2,3,4的计算方法计算可能极限点的位置矢量;然后根据如下公式判断可能极限 点是否在区域A中:
若其满足上式,则证明该可能极限点在视场内,即该极限点存在,否则该极限点不存在;
其中;p
较佳的,所述旋转方法具体如下:
求向量p向单位矢量v'旋转α后的向量p',p'以下式表示p'=cos(α)p+sin(α)v
较佳的,所述步骤(812)中,判断其对应的极限点是否均在该边内侧的方法为:
令v表示区域B各边的法向量,令p表示某点的位置矢量,若p·v≥0,则向量p在该边 的法向量同侧,反之,则在该边的法向量外侧。
较佳的,所述步骤(82)中,判断区域A与区域B是否有交点时,通过如下方法判断各区域目标边界所在大圆弧与复杂圆锥视场的最大、小时钟角投影的大圆弧是否有交点,具体 为:
上述两个大圆弧的交点Q按如下公式计算Q=±norm(v×v'),判断Q是否在大圆弧d
较佳的,所述步骤(82)中,判断区域A与区域B是否有交点时,通过如下方法判断各区域目标边界的大圆弧与复杂圆锥视场内外圆锥投影的普通圆弧是否有交点,具体为:
设普通圆弧与大圆弧的交点为Q',并设单位矢量v与v'的夹角为β;其中,v与v'分别为 大圆弧所在平面的单位法向量、普通圆弧所在平面的单位法向量;
若β+θ=90°,则普通圆弧与大圆弧相切;θ表示普通圆弧对应的卫星视场的半锥角;
若β+θ>90°,则普通圆弧与大圆弧相交;
若β+θ<90°,则普通圆弧与大圆弧无交点;
其中,β按照如下方式计算β=arccos(|v·v'|);
当判断出有交点,则需要计算向量:设交点Q'与当前投影平面的夹角为γ,则 cos(γ)=cos(θ)/sin(β);这时构造平面内方向向量为v
则交点Q'按照下式求出:Q'=cos(γ)v
最后,需要判断交点是否在上述大圆弧和普通圆弧内,将Q'先投影到普通圆平面上,然 后按照圆之间是否有交点进行判断。
较佳的,所述步骤4的具体方法为:
首先根据离散步长,判断在该时刻下遥感卫星对区域目标的可见性;然后将各个步长下 的可见性按照时间顺序进行排列并确定各可见窗口的可见起始、结束时刻的范围;之后通过 二分搜索得到各可见窗口的精细时刻,最后将各精确可见窗口信息汇总输出。
较佳的,其中,二分搜索时用到的卫星轨道信息是由拉格朗日插值得到的。
本发明具有如下有益效果:
首次提出针对复杂圆锥视场对区域目标可见窗口的计算方法;
计算效率在可见性判断上相比于传统的跟踪传播计算方法计算速度提升10^3倍数量级, 在全局可见窗口计算上相较于传统方法提升10^5倍数量级。同时计算精度与STK相比相对误 差在0.1%以内,符合工程实际要求;
本发明提出方法通过拉格朗日插值得到卫星轨道信息,计算过程与轨道模型独立,可满 足任意轨道模型,故本算法适用性更广泛;
由于本方法将区域目标的边界描述为大圆弧,故区域目标的大小对本方法没有任何影响。 相较于传统算法,本方法在大区域目标下的计算效率更高、精度更好。
附图说明
图1为复杂圆锥视场成像示意图;
图2为大圆与普通圆示意图;
图3为大圆弧与普通圆弧求交点示意图;
图4为地球对卫星视场的半锥角;
图5为“极限点”含义示意图;
图6为复杂圆锥视场“极限点”求解示意图;
图7为复杂圆锥视场单位向量;
图8为总程序算法流程图。
具体实施方式
下面结合附图并举实施例,对本发明进行详细描述。
本发明的实现步骤如下:
步骤1、建立复杂圆锥视场的数学描述
复杂圆锥视场的成像示意图如图1所示,用内圆锥半角、外圆锥半角、最小时钟角、最 大时钟角四个参数来表示视场的形状和大小。需要明确的是,在地球球体的假设下,复杂圆 锥视场的内半锥角所对应的圆与外半锥角所对应的圆在地球表面的投影为两个普通圆弧,而 最小、大时钟角对应的两边在地球表面的投影为两个大圆弧。
其中,上一段所述的大圆是指圆心与球心重合,圆周在球表面上的圆。大圆又称测地线, 这是由于球体上两点在球上沿测地线距离最短。普通圆是指圆周在球上的任意圆,为了区分 方便,若无特殊说明,本发明后续所述的普通圆均不包含大圆。
步骤2、建立区域目标的数学描述
区域目标是指地球表面的封闭凸多边形,凸多边形的每一条边都是地球球体上的大圆弧, 即测地线。按照惯例,区域目标边界点的初始描述方式以大地坐标系下的(经度、纬度、海 拔)方式来描述。
步骤3、卫星复杂圆锥视场对区域目标的可见性问题描述
卫星对区域目标的可见窗口是指其搭载的载荷视场能够观测到区域目标的时间范围。根 据步骤1、步骤2的数学描述,卫星复杂圆锥视场对区域目标的可见性问题可以表述为:卫 星复杂圆锥视场投影在地球表面的可视区域与区域目标是否有重叠区域。
步骤4、为减少“判断一个区域是否在另一个区域内部”的问题的计算量,提出计算“极 限点”的思路。
针对复杂形状的投影视场区域A和区域目标B,传统方法判断区域A是否在区域B的内 部的过程是:依次按照区域B的边界,对区域A的所有点进行遍历,判断是否都在区域B的每条边内部。这样的处理方式计算量巨大。因此,本发明提出“极限点”的概念,其本质含 义是寻找最有可能不满足“区域A位于区域B内部”这个情况的点,将这个点称为“极限点”, 通过判断“极限点”与区域B的位置关系,来判断两区域的位置关系是否满足“区域A位于 区域B内部”这种情况。其含义如图5所示。即判断图示的区域A是否在箭头方向的某一侧, 只需验证图中所示一点即可,该点即为本发明所述的“极限点”,对于三维球体的情况原理类似。需要注意的是,“极限点”的位置与区域B边界的方向(即图5中箭头方向)有关,因此, 应独立计算区域目标B的每条边所对应的区域A的“极限点”。
步骤5、为计算球面两区域重叠问题,建立矢量几何基础算法模型。
通过将问题转化为球面两区域重叠问题,利用球面空间矢量计算将显著减少计算量,为 此,本发明提出了以下五种矢量几何基础算法用于快速计算相关所需信息:
(51)求球面一位矢沿某一方向旋转角度后的矢量;
该算法是为了求解复杂圆锥视场相对于各区域目标边界的“极限点”设计的。如图2所 示,若求p向v'(单位矢量)旋转α后的向量p',则p'可以下式表示p'=cos(α)p+sin(α)v
(52)判断球面上一点是否在大圆的某一侧;
该算法是为了判断各点与各区域目标边界的关系设计的。如图2所示。若判断p在大圆 2的某一侧。若p·v≥0,则p在该大圆2的“法向量同侧”,反之,则在该大圆的“法向量外 侧”
(53)判断球面一点是否在普通圆的某一侧;
该算法是为了判断各区域目标边界点与复杂圆锥视场的内外圆锥投影的普通圆关系设计 的。如图2所示。若要判断p在普通圆的某一侧。同样地,计算p·v'的大小。若p·v≥cos(θ), 则说明p在普通圆的“法向量同侧”,反之,则在该圆的“法向量外侧”。
(54)判断两段大圆弧是否有交点;
该算法是为了判断各区域目标边界与复杂圆锥视场的最大、小时钟角投影的大圆是否有 交点设计的。判断两段大圆弧是否有交点的总体思路可以总结为以下两点:首先,计算两个 大圆的交点;其次,判断该点是否在两个大圆弧上。
以图2为例,首先大圆2和大圆1的交点Q可按如下公式计算Q=±norm(v×v'),由于交 点有两个,故公式中有正负两种情况。然后,判断Q是否在大圆弧d
(55)判断一段大圆弧和一段普通圆弧是否有交点。
该算法是为了判断各区域目标边界与复杂圆锥视场内外圆锥投影的普通圆是否有交点设 计的。计算过程与算法(54)相同,下面以图2垂直于v与v'方向的侧视图来做详细说明。如 图3所示。其中,普通圆与大圆2的交点为Q',并设v与v'的夹角为β。
类似地,首先要求交点Q',但需要先判断是否存在交点,这是因为普通圆与大圆的交点 存在三种可能性。
若β+θ=90°,则普通圆与大圆相切;
若β+θ>90°,则普通圆与大圆相交。
若β+θ<90°,则普通圆与大圆无交点。
其中,β按照如下方式计算β=arccos(|v·v'|),这是考虑大圆法向量正负的两种情况。
当判断出有交点,则需要计算它的向量。设交点Q'与当前投影平面的夹角为γ,则cos(γ)=cos(θ)/sin(β)。这时构造平面内方向向量为v
则交点Q'可按照下式求出:Q'=cos(γ)v
最后,需要判断交点是否在两个圆弧内,只需将Q'先投影到普通圆平面上,其后思路与 算法(54)保持一致,在此不再赘述。
步骤6、算法预处理:
(61)区域目标边界的法向量计算
为方便后续计算,将区域目标的边界点按逆时针排序,并将其坐标转换到地固系下,由 其定义可以很方便进行转化,并做归一化处理得到DΝ
将得到的坐标DΝ
并做归一化处理:
得到区域边界法向量为NV
(62)计算地球对应卫星视场的内外圆锥的半锥角。
在求“极限点”的过程中,需要使用地球对卫星视场的半锥角,而对于一般的地球观测 卫星来说,其偏心率接近于零。故在整个卫星运行过程中,地球对其视场的半锥角几乎保持 不变。为了减少计算量,在区域目标的预处理过程中,本算法将半锥角提前算出。
地球对卫星视场的半锥角可由如图4表示。其中D表示卫星离地球球心的距离,R表示 地球半径,θ表示卫星视场的半锥角,
对于复杂圆锥视场,需要计算内外圆锥半角对应的地球半锥角
步骤7、计算复杂圆锥投影视场的“极限点”
对于复杂圆锥视场,由于其投影区域的边界复杂,为了便于后续统一处理,本发明结合 其投影区域得形状,将“极限点”在一次判断中取为至多6个,其中点1,2,3,4为复杂圆锥视场投影区域A的4个边界点,而点5,6点则根据区域目标边界的情况计算(有可能不存在)。其“极限点”的示意图如图6所示。
(71)首先,计算内外锥角半锥角对应的地球半锥角
(72)其次,计算图7中的复杂圆锥视场投影区域的“极限点”1,2,3,4,5,6。
计算单位化的速度与反向角速度的单位向量n
得到单位向量后,通过时钟角的定义得到每条“时钟边”对应的单位方向向量,以图7 中1,3点所在的“时钟边”为例,其单位方向向量v
将复杂圆锥视场投影区域所在的圆环的圆心的位置矢量向v
对于可能存在的5,6点,计算方法相同,只不过其方向矢量是区域目标边界的法向量。 需要注意的是,由于复杂圆锥视场的投影区域并不是完整的圆环,用以上方法旋转得到的点 可能并不存在于复杂圆锥视场的有效可视区域内,故需要判断其存在性。
首先要计算投影区域的中点向量v
v
其中norm函数代表单位化,f函数的表达式如下:
若按照原有算法得到的5点其位矢为p
步骤8、依据可见性判断解析算法判断某时刻两区域是否有重叠区域
求解可见窗口的基础之一,是能够在每一时刻下判断对区域目标的可见性。根据已经提 出的矢量几何基础算法,本发明针对该问题的数学模型,提出将可见情况划分为三种情况, 针对每一种情况依次判断是否满足,若有一种情况满足即可判断该时刻可见。若将复杂圆锥 视场投影在地球表面的可视区域称为区域A,将区域目标称为区域B,那么上述三种情况为: (a)A在B内、(b)A与B边界有交点、(c)B在A内。这三种情况的算法流程如下:
(81)判断是否属于情况(a),即判断圆锥视场是否位于区域目标:
(811)对区域目标B的每条边进行遍历,计算区域A相对该边的“极限点”。计算 “极限点”的具体方法详见步骤7;
(812)针对区域目标的每条边,判断所有“极限点”是否均在该边内侧,判断点是否在 边内侧的具体方法详见步骤5中的算法(52)“判断球面上一点是否在大圆的某一侧”。若存 在一个极限点不在某条边内侧,则退出,返回“否”,进入步骤(82)。
(813)若遍历每条边后,所有“极限点”均在每条边的内侧,则返回“是”。
其中,复杂圆锥视场的“极限点”为判断情况(a)所寻找的特殊点,其目的是通过证明 这些点与目标区域的位置关系,从而得到复杂圆锥视场投影区域与目标区域的相对位置关系, 以减少计算量。除了存在复杂圆锥视场投影区域边界上的4个点以外,“极限点”根据最大最 小时钟半角之差是否大于180度可以分成两类,如图7所示。当小于180度时,根据区域目 标边界的情况需要判断是否存在第5点;当大于180度时,根据区域目标边界的情况判断是 否存在5、6点。
(82)判断是否属于情况(b),即判断复杂圆锥视场投影区域与目标区域是否有交点:
依次判断区域目标的每条边界是否与复杂圆锥视场在地球投影区域的边界有交点,若存 在一个交点,则满足情况(b),返回“是”;若否,则返回“否”。判断是否有交点的具体方 法详见步骤5中算法(54)“判断两段大圆弧是否有交点”、算法(55)“判断一段大圆弧和一 段普通圆弧是否有交点”。
(83)判断是否属于情况(c),即判断目标区域是否位于复杂圆锥视场投影区域内:
依次判断每个区域目标的边界点是否在复杂圆锥视场的投影区域内部,若所有点均满足, 则满足情况(c),返回“是”;若有一个点不满足,则返回“否”。具体算法详见步骤5的算 法(52)“判断球面上一点是否在大圆的某一侧”、(53)“判断球面一点是否在普通圆的某一 侧”。
其中,位于复杂圆锥视场投影区域内部是指,位于内圆锥投影的普通圆的“法向量异侧”, 而在外圆锥投影的普通圆以及另外投影边界的“法向量同侧”。
步骤9、半解析确定复杂圆锥视场可见窗口
通过以上提出的可见性判断解析算法,得到最终确定可见窗口的半解析方法。首先根据 离散步长,判断在该时刻下的可见性;然后将各个步长下的可见性按照时间顺序进行排列并 确定各可见窗口的可见起始、结束时刻的范围;之后通过二分搜索得到各可见窗口的精细时 刻,其中,二分搜索时用到的卫星轨道信息是由拉格朗日插值得到的;最后将各精确可见窗 口信息汇总输出。其运算总流程可以按照如图8所示的流程图来进行说明。
综上所述,以上仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在 本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护 范围之内。
机译: 成像模块,读取器和用于通过使用视场中央区域的视觉上可见的指示器进行图像捕获来读取视场上的目标的方法
机译: 使用视场中心区域的显着指示器通过图像捕获在视场上读取目标的成像模块,读取器和方法
机译: 基于复杂频率组的地下成像方法,通过使用Laplace-Fourier区域中的波形求逆来提高效率和稳定性,该区域通过复杂频率组计算目标函数的梯度