发明名称 可重构星载计算机的正余弦函数IP核
摘要 可重构星载计算机的正余弦函数IP核及其控制方法。它涉及航天航空的电子技术领域。它解决了初始赋值存在舍入误差对结果影响很大问题;角度越大需要迭代次数越多的缺陷。初始化模块连右移N位模块和1模块,1模块连余弦值存储器,右移N位模块连正弦值存储器,余正弦值存储器连减加法器和第一乘法器,减加法器连第二乘法器再连余弦值存储器,第一乘法器连左移1位模块再连正弦值存储器,控制器连正余弦值存储器。将η映射到[0,π/2]内成为θ;判断θ≤β,是直接赋值到最后一步,否迭代运算,近似准则得到初始赋值,利用二倍角公式计算,判断n<N,是再次计算,否完成运算;最终根据符号位判断所得到的结果的正负,赋予正余弦函数值。本发明应用于进行姿态控制。
申请公布号 CN102156626B 申请公布日期 2012.10.10
申请号 CN201110107337.9 申请日期 2011.04.27
申请人 哈尔滨工业大学 发明人 潘瑞;于文进;兰盛昌;徐国栋;徐卓异;丁玉叶;马玉海;林晓辉
分类号 G06F7/548(2006.01)I 主分类号 G06F7/548(2006.01)I
代理机构 哈尔滨市松花江专利商标事务所 23109 代理人 岳泉清
主权项 可重构星载计算机的正余弦函数IP核,其特征在于它包括初始化模块(1)、右移N位模块(2)、l模块(3)、减法器(4)、加法器(5)、第一乘法器(6)、第二乘法器(7)、左移1位模块(8)、正弦值存储器(9)、余弦值存储器(10)和控制器(11);初始化模块(1)的输入端为可重构星载计算机的正余弦函数IP核的角度η输入端,初始化模块(1)的两个输出端分别连接右移N位模块(2)的输入端和1模块(3)的输入端,1模块(3)的输出端连接余弦值存储器(10)的第一输入端,右移N位模块(2)的输出端连接正弦值存储器(9)的第一输入端,余弦值存储器(10)的输出端分别连接减法器(4)的第一输入端、加法器(5)的第一输入端和第一乘法器(6)的第一输入端,正弦值存储器(9)的输出端分别连接减法器(4)的第二输入端、加法器(5)的第二输入端和第一乘法器(6)的第二输入端,减法器(4)的输出端连接第二乘法器(7)的第一输入端,加法器(5)的输出端连接第二乘法器(7)的第二输入端,第二乘法器(7)的输出端连接余弦值存储器(10)的第二输入端,第一乘法器(6)的输出端连接左移1位模块(8)的输入端,左移1位模块(8)的输出端连接正弦值存储器(9)的第二输入端,正弦值存储器(9)的第四输出端为可重构星载计算机的正余弦函数IP核的正弦输出端,余弦值存储器(10)的第四输出端为可重构星载计算机的正余弦函数IP核的余弦输出端,控制器(11)的两个信号控制端分别连接正弦值存储器(9)的控制信号接收端和余弦值存储器(10)的控制信号接收端,初始化模块(1),用于将输入的角度η映射到[0,π/2]内成为输入角度θ,还用于进行预判断,判断输入角度θ是否小于等于给定的临界角度β,是,则直接赋值,否,则将输入角度θ转换为等效整数同时发送给右移N位模块(2)和1模块(3);右移N位模块(2),用于根据接收的等效整数来输出正弦函数迭代的初始值sin=θ/2N,并将正弦函数迭代的初始值发送给正弦值存储器(9);1模块(3),用于根据接收的等效整数来输出余弦函数迭代的初始值cos=1,并将余弦函数迭代的初始值发送给余弦值存储器(10);正弦值存储器(9),用于存储接收到的正弦值,并将该正弦值作为下一次迭代的正弦输入值或最终的正弦输出值,当接收到控制器(11)的控制输入信号时,则将该存储的正弦值作为下一次迭代的正弦输入值分别发送减法器(4)、加法器(5)和第一乘法器(6),当接收到控制器(11)的控制输出信号时,则将该存储的正弦值作为最终的正弦输出值转换为双精度浮点数向外输出;余弦值存储器(10),用于存储接收到的余弦值,并将该余弦值作为下一次迭代的余弦输入值或最终的余弦输出值,当接收到控制器(11)的控制输入信号时,则将该存储的余弦值作 为下一次迭代的余弦输入值分别发送减法器(4)、加法器(5)和第一乘法器(6),当接收到控制器(11)的控制输出信号时,则将该存储的余弦值作为最终的余弦输出值转换为双精度浮点数向外输出;减法器(4),用于将输入的正弦函数值与余弦函数值做差cos‑sin,并将获得的差发送给第二乘法器(7),加法器(5),用于将输入的正弦函数值与余弦函数值做和cos+sin,并将获得的和发送给第二乘法器(7),第一乘法器(6),用于输入的正弦函数值与余弦函数值相乘cos×sin,并将获得的乘积发送给左移1位模块(8),第二乘法器(7),用于将加法器的输出值与减法器的输出值相乘(cos+sin)×(cos‑sin),并将获得的乘积发送给为余弦值存储器(10);左移1位模块(8),将第一乘法器(6)的输出值左移1位,完成乘2的操作2×cos×sin,并将其输出值发送给为正弦值存储器(9);控制器(11),用于给正弦值存储器(9)和余弦值存储器(10)发送控制信号,当第二乘法器(7)或左移1位模块(8)计数到N时,则停止迭代运算分别向正弦值存储器(9)和余弦值存储器(10)发送控制输出信号,当第二乘法器(7)或左移1位模块(8)计数未到N时,则继续迭代运算分别向正弦值存储器(9)和余弦值存储器(10)发送控制输入信号。
地址 150001 黑龙江省哈尔滨市南岗区西大直街92号