STK中的光照计算模型

2024-05-16 01:28
文章标签 计算 模型 光照 stk

本文主要是介绍STK中的光照计算模型,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

本文简要阐述STK中光照计算的模型。

在航天任务中,通常需要分析地面站、飞行器在一定时间内的光照情况,具体包括:

  1. 地面站处在光照区和阴影区的具体时间范围;
  2. 考虑地形遮挡后,地面站的光照区和阴影区的变化情况;
  3. 飞行器绕地飞行过程中,处于光照区和阴影区的具体时间范围;
  4. 地面站当地水平系下,太阳方位角、高度角的变化;
  5. 飞行器轨道器或本体系下,太阳方位角、高度角的变化。

光照计算时,主要考虑的是地球对太阳的遮挡(其它天体也是类似的),见下图所示地面站和飞行器的光照示意图。

对于地面站(左图),考虑地球遮挡,当太阳在当地水平面之上时(对应的太阳的高度角大于0),即地面站为光照状态;反之则为阴影状态。

对于空间飞行器(上面右图),如卫星,当飞行器与太阳连线不被地球遮挡时,则飞行器为光照状态;反之则为阴影状态。

实际计算时,地球形状考虑为椭球体。

下面根据以上所涉及到的光照场景,详细讨论。

地面站和飞行器的光照示意图

坐标系及太阳方位角、高度角

涉及到太阳位置计算时,通常涉及到太阳的方位角和高度角概念,因此首先确定好常用的坐标系和太阳方位角和高度角的定义。

地面站地平坐标系

地面站观测太阳时,采用当地水平坐标系(也称北东地坐标系),简称LH坐标系(Local Horizontal),其定义如下:

  1. X轴指向当地北方向;
  2. Y轴指向当地东方向;
  3. Z轴指向当地天底方向。

XY平面为当地水平面,垂直于地球椭球体法线,见下图。
地面站当地水平坐标系定义
下图给出了地面站LH系下的太阳方位角和高度角。
地面站地平坐标系下的太阳方位角和高度角

飞行器VVLH系

飞行器观测太阳时,通常采用轨道坐标系,简称VVLH坐标系(Vehicle Velocity, Local Horizontal),其定义如下:

  1. X轴约束在惯性系速度方向(由Y叉乘Z得到);
  2. Y轴指向轨道面负法向;
  3. Z轴指向地心方向。

下图为飞行器的VVLH坐标系以及太阳方向矢量的高度角和方位角示意图。

飞行器VVLH系下的太阳方位角和高度角

太阳方位角和高度角

在地面站地平坐标系或者飞行器VVLH坐标系中,太阳方位角(Azimuth,简称Az)和高度角(Elevation,简称El)的定义如下图。
LH和VVLH坐标系下的太阳方位角和高度角定义

  1. 方位角定义为:X轴与太阳方向矢量在XY平面内的投影矢量的夹角,+X轴为零点,向+Y轴方向为正;
  2. 高度角定义为:太阳方向矢量与XY平面的夹角,-Z轴方向为正。

注意,对于飞行器本体坐标系(Body),则高度角以+Z轴方向为正。

根据以上定义,实际计算时,首先求得某时刻太阳(通常为视太阳)在地面站LH系或飞行器VVLH系的位置,设为 R s \textbf{R}_s Rs
R s = [ X s , Y s , Z s ] T \textbf{R}_s=\left[X_s,Y_s,Z_s\right]^T Rs=[Xs,Ys,Zs]T

则太阳方位角Az和高度角El计算如下:
{ A z = t a n 2 − 1 ( Y s , X s ) E l = s i n − 1 ( − Z s / R s ) \left\{ \begin{aligned} Az=tan2^{-1}(Y_s,X_s) \\ El=sin^{-1}(-Z_s/R_s) \end{aligned} \right. {Az=tan21(Ys,Xs)El=sin1(Zs/Rs)

光照计算模型

无论是地面站还是飞行器,在精确计算光照和阴影的时间时,必须考虑到以下因素:

  1. 太阳圆盘的大小,以及被遮挡的部分大小;
  2. 对于地面站,当地水平面附近地形遮挡的影响;
  3. 对于空间飞行器,考虑地球的遮挡。

同时,太阳的光照状态分为以下三种情形:

  1. 光照:太阳圆盘完全不被遮挡,地面站或飞行器处于完全光照状态,太阳光照强度因子为1;
  2. 半影:太阳圆盘部分被遮挡,地面站或飞行器处于半影状态,太阳光照强度因为0-1之间的小数;
  3. 全影:太阳圆盘完全被遮挡,地面站或飞行器处于完全阴影状态,太阳光照强度因子为0。

首先给出地面站的光照计算模型,见下图。

某时刻,以观测点为中心,视太阳方向的地形最大仰角为 α t \alpha_t αt,视太阳中心(即太阳位置)方向与地形最大仰角方向的夹角为 α g \alpha_g αg,太阳圆盘视半径为 α s \alpha_s αs

不考虑地形时( α t = 0 \alpha_t=0 αt=0), α g \alpha_g αg即为视太阳方向与当地水平面的夹角,即太阳仰角El。

太阳圆盘视半径 α s \alpha_s αs由下式给出:
α s = s i n − 1 R o R s \alpha_s=sin^{-1}{\frac{R_o}{R_s}} αs=sin1RsRo
上式中, R o R_o Ro为太阳圆盘半径,取值为695700km,对应的视半径约为0.27°,具体数值与太阳的距离变化而稍有不同。
地面目标的光照计算模型
下图为飞行器的光照计算模型示意图。与地面站不同的是,不需要考虑地形的遮挡,转而考虑地球的遮挡。

某时刻,以观测点为中心,地心方向与地球边缘方向的夹角(称为地球视半径)为 α t \alpha_t αt,视太阳中心(即太阳位置)方向与地球边缘方向的夹角为 α g \alpha_g αg,太阳圆盘视半径为 α s \alpha_s αs。观测点到地球的距离向量为 R E \textbf{R}_E RE
飞行器目标的光照计算模型
地球视半径 α t \alpha_t αt可由下式给出:
α t = s i n − 1 R e R E \alpha_t=sin^{-1}{\frac{R_e}{R_E}} αt=sin1RERe
上式中, R e R_e Re为地球赤道半径,常取6378.14km。

根据上述两种光照模型,太阳光照状态的判别依据如下:
{ 光照 : α g > α s 阴影 : α g < − α s 半影 : − α s ≤ α g ≤ α s \left\{ \begin{aligned} 光照: & \alpha_g>\alpha_s \\ 阴影: & \alpha_g<-\alpha_s \\ 半影: & -\alpha_s \leq \alpha_g\leq\alpha_s \end{aligned} \right. 光照:阴影:半影:αg>αsαg<αsαsαgαs

这篇关于STK中的光照计算模型的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/993484

相关文章

Python如何计算两个不同类型列表的相似度

《Python如何计算两个不同类型列表的相似度》在编程中,经常需要比较两个列表的相似度,尤其是当这两个列表包含不同类型的元素时,下面小编就来讲讲如何使用Python计算两个不同类型列表的相似度吧... 目录摘要引言数字类型相似度欧几里得距离曼哈顿距离字符串类型相似度Levenshtein距离Jaccard相

0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型的操作流程

《0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeekR1模型的操作流程》DeepSeekR1模型凭借其强大的自然语言处理能力,在未来具有广阔的应用前景,有望在多个领域发... 目录0基础租个硬件玩deepseek,蓝耘元生代智算云|本地部署DeepSeek R1模型,3步搞定一个应

Deepseek R1模型本地化部署+API接口调用详细教程(释放AI生产力)

《DeepseekR1模型本地化部署+API接口调用详细教程(释放AI生产力)》本文介绍了本地部署DeepSeekR1模型和通过API调用将其集成到VSCode中的过程,作者详细步骤展示了如何下载和... 目录前言一、deepseek R1模型与chatGPT o1系列模型对比二、本地部署步骤1.安装oll

Spring AI Alibaba接入大模型时的依赖问题小结

《SpringAIAlibaba接入大模型时的依赖问题小结》文章介绍了如何在pom.xml文件中配置SpringAIAlibaba依赖,并提供了一个示例pom.xml文件,同时,建议将Maven仓... 目录(一)pom.XML文件:(二)application.yml配置文件(一)pom.xml文件:首

如何在本地部署 DeepSeek Janus Pro 文生图大模型

《如何在本地部署DeepSeekJanusPro文生图大模型》DeepSeekJanusPro模型在本地成功部署,支持图片理解和文生图功能,通过Gradio界面进行交互,展示了其强大的多模态处... 目录什么是 Janus Pro1. 安装 conda2. 创建 python 虚拟环境3. 克隆 janus

本地私有化部署DeepSeek模型的详细教程

《本地私有化部署DeepSeek模型的详细教程》DeepSeek模型是一种强大的语言模型,本地私有化部署可以让用户在自己的环境中安全、高效地使用该模型,避免数据传输到外部带来的安全风险,同时也能根据自... 目录一、引言二、环境准备(一)硬件要求(二)软件要求(三)创建虚拟环境三、安装依赖库四、获取 Dee

DeepSeek模型本地部署的详细教程

《DeepSeek模型本地部署的详细教程》DeepSeek作为一款开源且性能强大的大语言模型,提供了灵活的本地部署方案,让用户能够在本地环境中高效运行模型,同时保护数据隐私,在本地成功部署DeepSe... 目录一、环境准备(一)硬件需求(二)软件依赖二、安装Ollama三、下载并部署DeepSeek模型选

Golang的CSP模型简介(最新推荐)

《Golang的CSP模型简介(最新推荐)》Golang采用了CSP(CommunicatingSequentialProcesses,通信顺序进程)并发模型,通过goroutine和channe... 目录前言一、介绍1. 什么是 CSP 模型2. Goroutine3. Channel4. Channe

使用C#代码计算数学表达式实例

《使用C#代码计算数学表达式实例》这段文字主要讲述了如何使用C#语言来计算数学表达式,该程序通过使用Dictionary保存变量,定义了运算符优先级,并实现了EvaluateExpression方法来... 目录C#代码计算数学表达式该方法很长,因此我将分段描述下面的代码片段显示了下一步以下代码显示该方法如

如何用Java结合经纬度位置计算目标点的日出日落时间详解

《如何用Java结合经纬度位置计算目标点的日出日落时间详解》这篇文章主详细讲解了如何基于目标点的经纬度计算日出日落时间,提供了在线API和Java库两种计算方法,并通过实际案例展示了其应用,需要的朋友... 目录前言一、应用示例1、天安门升旗时间2、湖南省日出日落信息二、Java日出日落计算1、在线API2