专利名称:一种卫星姿态定向系统及方法
技术领域:
本发明涉及航天电子领域,尤其涉及一种卫星应用的、釆用硬件描述语言实现的卫星姿态定向系统及方法。
背景技术:
卫星执行飞行任务时,通常对卫星的定向有预定的要求,如对地观观'J卫星要把星上遥感仪器对准地面,通信卫星的定向通信天线应指向地面,观测天体的星上天文望远镜应对准预定的天体等等。多数的星上观测仪等设备相对卫星星体指向是固定的,这就要求卫星对参考系,包含某参考物体(如地球、天体等),或虛拟参考物体(如卫星轨道等),有相对的方位或指向,描述这种方位的物理量就是卫星姿态,姿态通常用两个坐标之间的相对转动关系来描述。定向系统中被
定向物体即卫星,是运动的;而参考物如前面所说的地球、天体、卫星轨道等,广义上来讲也是运动着的,但作为参考物,计算过程中,卫星将其视为静止。参考物与卫星处于同一个空间,设空间有固连于参考物一右手正交参考系o# ,即该参考系op是针对参考物设立的坐标系,其各坐标轴上的单位矢量记为/、 y\ 设空间内有一刚体,它可以是刚体卫星,也可以是卫星的一个刚性部件,此刚体上固连一
个右手正交坐标系Oa外,其各坐标轴上的单位矢量记为a、々、^,单位矢量 or 、 、 y在顺中的坐标为
a' = (a a2 …),a! = a /,a = a. _/ , 3 = a ■ A
,=(/ i A A)7', A=",応=".力 A=>9./t
7' = (" & y3)r'n="', 73="
(1)
并记 3爲
其中,^为被卫星参考系Oa外在参考系(^/t中的姿态矩阵或方向余弦阵,力完全确定了该刚体在参考系0^中的姿态,即卫星参考系Oa外在参考系f巧A中的姿态。
存在单位特征矢量e,使Jd,这个等式表示e在这一旋转变换中是不变的,因而这一旋转变换是绕e轴的一个旋转。也可以由定轴e以及旋转角度①来描述卫星参考系O"外相对参考系OW的姿态,共有四个姿态参数e2 e3f',0。矩阵A是星上传感器测量两个坐标系相对关系并计算得到,获得A后就可以通过现有计算方法计算出上述特征矢量e中的q、 &、 ^以及旋转角度①。
四元数是姿态参数的一种表示方法,四元数9 = & 92 93《4)7',
仏=e, sin((J>/2),g3 = e3 sin(<I>/2),
g2 =e2 sin(d>/2)g4 = cos(①/2)
(2)
常
著2巧i
前面讲的是两个坐标系之间的转动,在实际卫星定向过程中,通到三个坐标系,除了卫星和参考物体之外,引入中间量,即过渡参考物体,下面叙述三个坐标系之间的转动,其中四元数乘积代表专动两次的合成转动,例如卫星本体坐标系(即卫星参^ )相对于惯性坐标系W^ (即固连于地球的坐标系,过渡参考系)转动,而惯性坐标系0^/C相对于卫星轨道坐标系Ox^ (即固连于卫星轨道的坐标系,参考系)转动,可将惯性坐标系0 视为过渡参考系,卫星轨道坐标系视为参考系,这种情况下转动的卫星本体固连了 一个卫星本体坐标系^卿,设卫星本体坐标系^卿相对于惯性坐标系Of"的姿态矩阵为i",四元数为^",惯性坐标系W^相对于卫星轨道坐标系0^的姿态矩阵为j②,四元数为《(2),则O;zm相对于a,的姿态
矩阵l及四元数i为-.<formula>formula see original document page 7</formula> (3)
<formula>formula see original document page 7</formula> (4)
式(4)用矩阵表示为
<formula>formula see original document page 7</formula>
其中w)、 d"、 d"和w表示四元数一中的四个姿态参数,可以
根据姿态矩阵,由(2)获得,仏(2)、 ^2)、《P和^"表示四元数一"中的四个姿态参数,可以根据姿态矩阵J②由(2)获得。举例中给出了确定卫星相对于地球姿态用到的三个对象,但一般姿态定向不限于这个三个对象。
目前对于卫星姿态定向多釆用FORTRAN、 C、 C+ +等语言实现串行计算,这种实现方式运算周期长,完成一个四元数乘法运算需要执行16次乘法、12次力口/减法与4次结果输出,以ARM为例,每个乘法需要进行从寄存器中读数等操作,执行7个周期,每个加法需执行5个周期,计算结果输出需要2个周期,则完成乘法与加法一共需要180个计算周期。另外,这种设计方法重用性低,不利于航天电子系统快速化设计。
发明内容
本发明的目的是提供一种卫星姿态定向系统及方法,釆用硬件编程方式实现该系统和方法中的四元数乘法运算,与串行设计方法相比,计算速度大幅度提高,且具有很好的可重复利用性,为卫星的姿态定向系统设计提供了良好的设计基础。
为实现上述目的,本发明釆用如下技术方案
一种卫星姿态定向系统,用于确定卫星相对于参考物的姿态,该系统包括坐标系定义单元,用于分别定义卫星参考系^卿、过渡参考系
c^"和参考系6 季;
姿态参数获取单元,用于分别获取卫星参考系^w4目对于w^的姿态矩阵,及过渡参考系相对于参考系tt,的姿态矩阵^(2),并获取与/1(1)、 ^"分别对应的四元数姿态参数《w、 ^(2);
四元数乘积单元,采用硬件描述语言对硬件电路进行设计得到并行计算模块,利用并行计算模块对《(1)、《(2)进行四元数乘积运算,获取*卿相对于tt,的四元数姿态参数《';
姿态定向单元,用于依据四元数姿态参数《'确定所述卫星相对于所述参考物的姿态。
优选地,该系统中的并行计算模块釆用现场可编程门阵列FPGA
电路实现。
优选地,所述并行计算模块包括接口电路、数据通路和控制状态机,其中
接口电路,用于提供外部接口,进行输入输出数据格式转换;所述数据通路包括
八个输入寄存器,输入端与接口电路连接,用于接收进行四元数乘积的四元数姿态参数;
四个乘法器,每个乘法器输入端连接其中两个不同输入寄存器的输出端;
加法器,其输入端与其中两个乘法器的输出端连接;减法器,其输入端与另外两个乘法器的输出端连接;加减器,其输入端连接加法器和减法器的输出端;多路选择器,其输入端与所述加减器的输出端连接,其输出端与四个输出寄存器的输入端连接;
四个输出寄存器,其输出端连接所述接口电路;
控制状态机,与所述数据通路连接,用于控制数据通路中输入寄存器、乘法器、加法器、减法器、加减器、多路选择器和输出寄存器的状态,完成四元数乘积。
优选地,所述接口电路还与控制状态机连接,在所述接口电路接收外部复位信号后,所述控制状态机控制数据通路使其初始化。
优选地,所述接口电路还与控制状态机连接,所述接口电路接收外部时钟信号,所述控制状态机根据所述时钟信号控制数据通路。
优选地,所述接口电路还与控制状态机连接,所述接口电路接收外部使能信号,所述控制状态根据所述使能信号判断是否控制所述数据通路工作。
本发明还提供了 一种卫星姿态定向方法,包括以下步骤分别定义卫星参考系w卿、过渡参考系or^和参考系ft,;
分别获取卫星参考系相对于WW的姿态矩阵,及过渡参
考系o勿c相对于参考系o,的姿态矩阵/((2);
获取与W、 /((2)分别对应的四元数姿态参数《(1)、《(2);釆用硬件描述语言对硬件电路进行设计得到并行计算模块,利用并行计算模块对《(1)、《(2)进行四元数乘积运算,获取W卿相对于ft,的四元数姿态参数《';
依据四元数姿态参数《'确定所述卫星相对于所述参考物的姿态。优选地,该方法采用硬件描述语言对现场可编程门阵列FPGA进行设计得到所述并行计算模块。
优选地,所述并行计算模块进行四元数乘积运算的方法为控制状态机根据时钟信号,对四元数中乘积矩阵中每 一行进行相乘的姿态参数依次输入到八个输入寄存器进行相乘,同时随着时钟周期的更新,在四个乘法器完成相乘后,还依次进行四个乘法器输出运算结果到加法器和减法器分别进行加减运算;加法器和减法器分别输出运算结果到加减器进行加减运算;加减器输出运算结果到多路选择器,由所述多路选择器将其输入到其中 一个输出寄存器中。
9优选地,该方法中在将姿态参数输入到所述输入寄存器之前的一个时钟周期,还包括对所述八个输入寄存器的内容进行清零的步骤。利用本发明所提供的 一 种卫星姿态定向系统及方法,具有以下有
1) 釆用硬件编程方式实现姿态定向系统并行运算,可在8个周期内完成一次完整的四元数运算,与串行设计方法相比,计算速度至少提高20倍;
2) 釆用硬件描述语言设计,具有很好的可重复利用性,为卫星定向系统设计提供了良好的设计基础。
图l为本发明卫星姿态定向系统框图2为本发明卫星姿态定向方法流程图3为实施例中并行计算模块的整体框图4为实施例中并行计算模块中的数据通路结构图5为实施例中姿态定向方法中四元数乘积步骤中控制状态机的
控制流程示意图。
图中1、第一乘法器;2、第二乘法器;3、第三乘法器;4、第
四乘法器;5、加法器;6、减法器;7、加减器。
具体实施例方式
本发明釆用硬件编程方式实现卫星姿态定向系统中的四元数乘积单元,实现四元数乘积步骤中的并行运算,所谓全硬件编程方式,是指采用硬件描述语言对需要实现的任务或算法进行编程,并通过仿真、验证、逻辑综合等一系列专业设计流程,生成具有相应功能并能够在不同设计中直接应用的并行计算模块。实施例
如图1所示,本发明的卫星姿态定向系统,用于确定卫星相对于参考物的姿态,该系统包括坐标系定义单元,用于分别为卫星定义卫星参考系W^,为过渡参考物定义过渡参考系W^,为参考物定义
参考系&^;姿态参数获取单元,用于分别获取o"w相对于o^的姿
态矩阵^(1),及(^/C相对于Ox^的姿态矩阵f、并获取与」(|)、力(2)分
别对应的四元数姿态参数9(1)、《(2);四元数乘积单元,采用硬件描述语言对硬件电路进行设计得到并行计算模块,利用并行计算模块采用
并行计算方法对《(1)、《(2)进行四元数乘积运算,获取O"则相对于ft,的
四元数姿态参数《';姿态定向单元,用于依据四元数姿态参数《'确定
卫星相对于参考物的姿态。
优选地,并行计算模块采用现场可编程门阵列FPGA电路实现。
如图3、图4所示,本实施例中并行计算模块包括接口电路,即
译码电路,用于提供四元数乘积的装置与外部的接口,对输入数据与
输出数据进行相应的格式转换,接口电路接收的外部信号包括使能
信号Enable,控制状态机根据该使能信号控制算法开始运行与结束;
重置信号Reset ,控制状态机根据该重置信号负责电路初始化控制;
系统时钟信号Clk,控制状态机根据时钟信号控制数据通路;输入数
据datain,即需要进行四元数乘积的两个四元数的姿态参数;输出数
据dataout,即进行四元数乘积后的运算结果,本实施例中当Enable为
'T'并且Reset为"1"时,控制状态机以Clk为时钟周期开始控制工
作,并开始为输入寄存器赋初值;数据通路包括八个输入寄存器,
具体为图中的输入寄存器A1、 A2、 Bl、 B2、 Cl、 C2、 D1和D2,其
输入端与接口电路连接,用于接收进行四元数乘积的两个四元数,、^)中的八个姿态参数(即#、 d"、 w)、 ^、《p)、 w"、 #)和《));
四个乘法器,具体为第一乘法器l、第二乘法器2、第三乘法器3和第四乘法器4,每个乘法器输入端连接两个不同输入寄存器的输出端;加法器5,其输入端与第一乘法器l和第二乘法器2的输出端连接;减法器6,其输入端与第三乘法器3和第四乘法器4的输出端连接;加减器7,其输入端连接加法器5和减法器6的输出端;多路选择器,其输入端与加减器7的输出端连接,其输出端与四个输出寄存器的输入端
连接;四个输出寄存器,其输出端与接口电路连接;控制状态机,与 数据通路连接,用于控制数据通路中输入寄存器、乘法器、加法器、 减法器、加减器、多路选择器和输出寄存器的状态,完成四元数乘积。
需要说明的是多路选择器负责将加减器输出的计算结果进行分 配,按照顺序的不同分别分配给四个输出寄存器。控制状态机提供了 四元数乘法计算的数据流动控制,并产生装载、读取和移动寄存器中 的信号。
本实施例中,在实现过程中,为了节省计算周期,降低加法器等 模块的使用频率,本实施例中将式(5)《'阵列中带负号的项变换到 每行的第三项,第四行前两项也带有负号,可作为带负号的相加项,
则将式(5)改写成下式
<formula>formula see original document page 12</formula>
因此,每一行前两项进行加法计算,后两项进行减法计算,计算结果 釆用补码形式表示,再一次进行相加或相减,得到相应阵列g'最终值。
本发明还提供了 一种利用上述系统的卫星姿态定向方法,如图2 所示,本发明卫星的姿态定向方法包括步骤分别为卫星、过渡参考 物和参考物定义卫星参考系^卿、过渡参考系W^和参考系ft^;分 别获取^vw相对于的姿态矩阵,及o白4"相对于的姿态矩 阵力(2);获取与^4(1)、 j②分别对应的四元数姿态参数,、《(2);采用 硬件描述语言对硬件电路进行设计得到并行计算模块,利用并行计算
模块对《(1)、《(2)进行四元数乘积运算,获取^vw相对于ft,的四元数
姿态参数《';依据四元数姿态参数《'定向卫星相对于参考物的姿态。 本实施例中控制状态机根据时钟信号,对四元数中乘积矩阵中每一行进行相乘的姿态参数依次输入到所述输入寄存器进行相乘,同时
随着时钟周期的更新,在四个乘法器完成相乘后,还依次进行乘法 器输出运算结果到加法器和减法器分别进行加减运算;加法器和减法 器分别输出运算结果到加减器进行加减运算;加减器输出运算结果到 多路选择器,由多路选择器将其输入到其中 一个输出寄存器中。
如图5所示,本实施例中釆用上述系统进行四元数乘法并行计算 的流程如下
Sl,第一个时钟周期,设置Enable-l, Reset = 1的,对输入寄存 器l-8进行重置,端口全部清零;
S2,第二个时钟周期,将式(6)中第一行数据按顺序赋值给输入 寄存器1-8,并用第一乘法器1~第四乘法器4间四个乘法器进行乘
S3,第三个时钟周期,将四个乘法器的运算结果即第一行相乘的 四个结果输入到加法器5和减法器6,进行两两相加或相减,同时将 第二行数据赋值给输入寄存器l-8并用第一乘法器1 第四乘法器4 间四个乘法器进行乘法运算;
S4,第四个时钟周期,将加法器5和减法器6的运算结果输出到 加减器7进行加或减运算,即对第一行计算结果再次相加,同时将四 个乘法器的运算结果即第一行相乘的四个结果输入到加法器5和减 法器6,进行两两相加或相减,即对第二行数据进行第一次加法运算, 同时将第三行数据赋值给输入寄存器并用第一乘法器1~第四乘法器 4间四个乘法器进行乘法运算;
S5,第五个时钟周期,将加减器7的运算结果即第一行数据最后 一次相加的结果通过多路选择器赋值给输出寄存器1,利用加减器7 对加法器5和减法器6的结果再次相加,即执行第二行数据的再次加 法运算;将四个乘法器的运算结果即第三行相乘的四个结果输入到加 法器5和减法器6,进行两两相加或相减,即执行第三行数据的第一次加法运算,同时将第四行数据赋值给输入寄存器并用第一乘法器
1 ~第四乘法器4间四个乘法器进行乘法运算;
56, 第六个时钟周期,将加减器7的运算结果即第二行数据最后 一次相加的结果,通过多路选择器赋值给输出寄存器2,利用加减器 7对加法器5和减法器6的运算结果进行相加,即执行第三行数据再 次进行相加的运算,同时将四个乘法器的运算结果即第四行相乘的四 个结果输入到加法器5和减法器6,进行两两相加或相减,即执行第 四行数据的第一次加法运算,
57, 第七个时钟周期,将加减器7的运算结果即第三行数据最后 --次相加的结果,通过多路选择器赋值给输出寄存器3,利用加减器 7对加法器5和减法器6的运算结果进行相加,即执行第四行数据再 次进行加法运算;
S8,第八个时钟周期,将加减器7的运算结果即第四行数据最后 一次相加的结果,通过多路选择器赋值给输出寄存器4。
步骤S8结束,代表一次四元数乘法进行完毕,可重新回到S1进
利用本发明提供的卫星姿态定向系统及方法,可在8个周期内完 成一次完整的四元数运算,与串行设计方法相比,计算速度至少提高 20倍,而且这种釆用硬件描述语言设计的并行模块具有很好的可重复 利用性,为卫星定向系统设计提供了良好的设计基础。
以上实施方式仅用于说明本发明,而并非对本发明的限制,有关 技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下, 还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明 的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1、一种卫星姿态定向系统,用于确定卫星相对于参考物的姿态,其特征在于,该系统包括坐标系定义单元,用于分别定义卫星参考系Oμvω、过渡参考系Oξηζ和参考系Oxyz;姿态参数获取单元,用于分别获取卫星参考系Oμvω相对于Oξηζ的姿态矩阵A(1),及过渡参考系Oξηζ相对于参考系Oxyz的姿态矩阵A(2),并获取与A(1)、A(2)分别对应的四元数姿态参数q(1)、q(2);四元数乘积单元,采用硬件描述语言对硬件电路进行设计得到并行计算模块,利用并行计算模块对q(1)、q(2)进行四元数乘积运算,获取Oμvω相对于Oxyz的四元数姿态参数q';姿态定向单元,用于依据四元数姿态参数q'确定所述卫星相对于所述参考物的姿态。
2、 如权利要求l所述的系统,其特征在于,所述并行计算模块釆用现场可编程门阵列FPGA电路实现。
3、 如权利要求2所述的系统,其特征在于,所述并行计算模块包括接口电路、数据通路和控制状态机,其中接口电路,用于提供外部接口,进行输入输出数据格式转换;所述数据通路包括八个输入寄存器,输入端与接口电路连接,用于接收进行四元数乘积的四元数姿态参数;四个乘法器,每个乘法器输入端连接其中两个不同输入寄存器的加法器,其输入端与其中两个乘法器的输出端连接;减法器,其输入端与另外两个乘法器的输出端连接;加减器,其输入端连接加法器和减法器的输出端;多路选择器,其输入端与所述加减器的输出端连接,其输出端与四个输出寄存器的输入端连接;四个输出寄存器,其输出端连接所述接口电路;控制状态机,与所述数据通路连接,用于控制数据通路中输入寄存器、乘法器、加法器、减法器、加减器、多路选择器和输出寄存器的状态,完成四元数乘积。
4、 如权利要求3所述的系统,其特征在于,所述接口电路还与 控制状态机连接,在所述接口电路接收外部复位信号后,所述控制状 态机控制数据通路使其初始化。
5、 如权利要求3所述的系统,其特征在于,所述接口电路还与 控制状态机连接,所述接口电路接收外部时钟信号,所述控制状态机 根据所述时钟信号控制数据通路。
6、 如权利要求3所述的系统,其特征在于,所述接口电路还与 控制状态机连接,所述接口电路接收外部使能信号,所述控制状态根 据所述使能信号判断是否控制所述数据通路工作。
7、 一种卫星姿态定向方法,包括以下步骤分别定义卫星参考系o戸w 、过渡参考系和参考系ft,; 分别获取卫星参考系O;ivw相对于的姿态矩阵,及过渡参考系相对于参考系o,的姿态矩阵力(2);获取与力(|)、 ^2)分别对应的四元数姿态参数《(1)、《(2);采用硬件描述语言对硬件电路进行设计得到并行计算模块,利用 并行计算模块对《w、《(2)进行四元数乘积运算,获取o^w相对于a^的四元数姿态参数《;依据四元数姿态参数《'确定所述卫星相对于所述参考物的姿态。
8、 如权利要求7所述的方法,其特征在于,釆用硬件描述语言对 现场可编程门阵列FPGA进行设计得到所述并行计算模块。
9、 如权利要求8所述的方法,其特征在于,所述并行计算模块进 行四元数乘积运算的方法为控制状态机根据时钟信号,对四元数中乘积矩阵中每 一行进行相 乘的姿态参数依次输入到八个输入寄存器进行相乘,同时随着时钟周期的更新,在四个乘法器完成相乘后,还依次进行四个乘法器输出 运算结果到加法器和减法器分别进行加减运算;加法器和减法器分别 输出运算结果到加减器进行加减运算;加减器输出运算结果到多路选 择器,由所述多路选择器将其输入到其中一个输出寄存器中。
10、如权利要求9所述的方法,其特征在于,该方法中在将姿态 参数输入到所述输入寄存器之前的一个时钟周期,还包括对所述八个 输入寄存器的内容进行清零的步骤。
全文摘要
本发明涉及一种卫星姿态定向系统及方法,该系统中的四元数乘积单元,采用硬件描述语言对硬件电路进行设计得到并行计算模块,利用并行计算模块对四元数姿态参数q<sup>(1)</sup>、q<sup>(2)</sup>进行四元数乘积运算,获取卫星参考系Oμvω相对于参考系Oxyz的四元数姿态参数q′,依据q′确定卫星相对于参考物的姿态,该方法具体为控制状态器控制数据通路中各部分的数据流动,并产生装载、读取和移动寄存器中的信号,并行完成四元数乘积运算。利用本发明可以大大提高定向系统中的四元数运算速度,能以更快的速度确定卫星相对于参考物的姿态,且具有很好的可重复利用性。
文档编号B64G1/24GK101462598SQ20091007663
公开日2009年6月24日 申请日期2009年1月12日 优先权日2009年1月12日
发明者兰盛昌, 源 刘, 东 叶, 吴国强, 蕊 孙, 徐国栋, 曹星慧, 杰 林, 松 王, 耿云海, 范国臣, 董立珉, 丹 赵, 雷 邢, 邱文勋, 健 陈, 隋世杰 申请人:徐国栋