非线性函数驱动时空混沌卫星导航测距码实现方法及系统与流程

文档序号:15753325发布日期:2018-10-26 18:11阅读:190来源:国知局
非线性函数驱动时空混沌卫星导航测距码实现方法及系统与流程
本发明属于卫星导航
技术领域
,具体涉及一种非线性函数驱动时空混沌卫星导航测距码实现方法及系统。
背景技术
:世界上四大卫星导航系统有美国的GPS(GlobalPositioningSystem)卫星导航系统、俄罗斯的GLONASS(GlobalNavigationSatelliteSystem)卫星导航系统、欧盟的Galileo卫星导航系统和中国的北斗(BeiDou)卫星导航系统。除GLONASS采用频分多址(FDMA,FrequencyDivisionMultipleAccess)通信方式外,其余卫星导航系统均采用码分多址(CDMA,CodeDivisionMultipleAccess)通信方式。它们所采用的测距码分为民用粗测码和军用精密码两类,使用粗测码的卫星导航系统能进行目标粗定位,而使用精密码的卫星导航系统可进行目标高精度定位。在测距码实现方面,四大卫星导航系统均采用简单初级的二进制伪随机码发生器产生测距码,由于卫星导航系统使用的测距码是采用线性法使用二进制伪随机码发生器用一个或几个一定级数线性反馈移位寄存器先使用一段短二值序列对寄存器状态值初始化,然后通过寄存器状态值移位产生,这种方法产生的测距码普遍存在复杂度低、安全性差、码长固定且较短、码数量有限等缺点,且移位寄存器还需要承担线性反馈和卫星相位分配工作,又使其结构复杂。为克服二进制伪随机码发生器产生测距码的所有缺陷相关文献用非线性法采用实数伪随机码发生器、复数伪随机码发生器和矢量伪随机码发生器进行了问题的全面解决。这些伪随机码发生器产生伪随机码一般采用由单变量或多变量构建非线性函数,以时间分布法通过非线性函数作用于变量进行状态迭代产生随时间分布的伪随机数,再由相关抽头输出伪随机数并二值化获得伪随机性性能良好的导航卫星测距码。上述由单变量或多变量构建的非线性函数,采用的是以扩散系数为权值不同非线性函数作用值相互间进行加、减、乘或除的混合运算,通过状态迭代产生下一时刻变量状态值,这里不同非线性函数为当前时刻变量状态值同时驱动运行,它们处于同一级的变量驱动工作状态。由于通过单变量或多变量构建的非线性函数复杂度不同,这些非线性函数在产生伪随机数过程中起作用程度也不一样,因此,如何分析非线性函数之间相互作用关系,通过它们之间相互驱动产生性能更高的伪随机数,进而获得性能更优良的导航卫星测距码,当前的产生导航卫星测距码的非线性方法没有进行问题的解决。技术实现要素:针对上述技术问题,本发明提供了一种可全面提高卫星导航测距码性能的非线性函数驱动时空混沌卫星导航测距码实现方法及系统。本发明提供的一种非线性函数驱动时空混沌卫星导航测距码实现方法,用于单变量非线性函数驱动方式;包括以下步骤:步骤1:构建分别作用于复数状态分量实部和虚部当前位置当前状态值的单变量非线性函数;具体实现过程为:取单个复数状态矢量X+Yj在Nxy维线性空间其分量为{x(i)+y(i)j},称为单变量复数状态分量,{x(i)}和{y(i)}分别为一系列顺序排列且分别相互耦合的状态分量;i表示单变量复数状态分量的位置序号,i=1,2,...,Nxy,Nxy为正整数;将作用于复数状态分量实部当前位置当前状态值的单变量非线性函数记为实部非线性函数,将作用于复数状态分量虚部当前位置的当前状态值的单变量非线性函数记为虚部非线性函数;实部或虚部非线性函数的构建具体为:实部或虚部非线性函数由k时刻实部分量分别构建L1或L3个相同次方或不同次方的含不同参数值的当前位置的函数和L2或L4个相同次方或不同次方的含不同参数值的当前位置的变量;以各函数负的非线性强度与含参数的函数分别相乘得实部第或虚部第函数项加上对应的第或实常数项,为实部第1~L1或虚部第1~L3函数型非线性函数;以各变量负的非线性强度为权与含参数的当前位置的变量分别相乘得实部第或虚部第变量项加上对应的第或实常数项,为实部第1~L2或虚部第1~L4变量型非线性函数;实部函数型非线性函数和实部变量型非线性函数为实部非线性函数;L1、L2、L3和L4均为大于0的正整数,其值根据需要自行设定;和分别表示实部和虚部函数项、变量项、实常数项的序号;其中,函数的参数包括工作频率、函数的次方、函数的幅度值、函数的相位、位置序号和状态平移量;变量的参数包括变量的次方、位置序号和状态平移量;状态平移量即函数或变量状态值增加或减少的量;步骤2:设计单变量非线性函数驱动复数移位伪随机码发生器的反馈作用值;实部非线性函数中由实部变量项非线性函数分别对通过各寄存器状态值实部抽头经过加、减、乘或除的运算,或者经过加、减、乘或除中至少两种的混合运算所得运算值输入到复数状态分量实部当前位置当前状态值进行作用,得实部第一变量项作用值,其作用值作为实部非线性函数中由实部函数项非线性函数的变量的输入值驱动其工作,得实部第一函数项作用值,记实部第一变量项作用值、实部第一函数项作用值为实部作用值;虚部非线性函数中由虚部变量项非线性函数分别对通过各寄存器状态值虚部抽头经过加、减、乘或除的运算,或者经过加、减、乘或除中至少两种的混合运算所得运算值输入到复数状态分量虚部当前位置当前状态值进行作用,得虚部第一变量项作用值,其作用值作为虚部非线性函数中由虚部函数项非线性函数的变量的输入值驱动其工作,得虚部第一函数项作用值,记虚部第一变量项作用值、虚部第一函数项作用值为虚部作用值;基于扩散系数,对实部作用值和虚部作用值分别进行加、减、乘、除或包含加、减、乘、除中至少两种运算的混合运算;步骤2中寄存器状态值实部或虚部抽头具体为:k时刻(k大于0的正整数),将寄存器状态值的实部或虚部分别抽头进行加、减、乘、除或包含加、减、乘、除中至少两种运算的混合运算,运算结果分别输入到实部或虚部由变量项非线性函数的各变量,获得第一非线性函数作用值;步骤2中实部或虚部驱动作用具体为:k时刻,第一非线性函数作用值进行加、减、乘、除或包含加、减、乘、除中至少两种运算的混合运算,运算结果分别输入到实部或虚部由函数项非线性函数的各变量,获得第二非线性函数作用值;步骤2中实部或虚部反馈作用具体为:k时刻以扩散系数为权值第一非线性函数作用值、第二非线性函数作用值进行加、减、乘、除或包含加、减、乘、除中至少两种运算的混合运算,运算结果分别为实部或虚部的反馈作用值。步骤3:构建单变量非线性函数驱动复数移位伪随机码发生器G;G由NG个复数线性移位寄存器构成,将复数线性移位寄存器状态值的实部和虚部分别直接赋值或进行加、减、乘或除或者加、减、乘或除中至少两种运算的混合运算值分别赋值给实部或虚部由变量项非线性函数的各变量,反馈值由步骤2获得,实部反馈作用值赋值给首位寄存器状态值的实部、虚部反馈作用值赋值给首位寄存器状态值的虚部;步骤4:参数初始化及采用相同或不同的复数序列或复数伪随机数序列初始化G中移位寄存器的状态值;采用相同或不同的复数序列或复数伪随机数序列初始化中各移位寄存器的状态值,所述复数序列或复数伪随机数序列要保证各复数状态分量处于混沌工作状态,若复数序列或复数伪随机数序列不能保证混沌工作状态,则需要调整函数或变量的非线性强度、非线性函数的扩散系数。步骤5:导航卫星伪随机数的产生;根据复数状态分量位置,从G的相关移位寄存器状态值的实部或虚部分别抽头经过加、减、乘或除或者加、减、乘或除中至少两种运算的混合运算,结果输出到步骤2中实部或虚部由变量项非线性函数的各变量驱动其工作获得作用值,以这些作用值进行加、减、乘或除或者加、减、乘或除中至少两种运算的混合运算所得值为函数项非线性函数的变量的输入值驱动其工作,从而获得反馈作用值,将寄存器状态值依次移位,再将反馈作用值反馈给G的首位寄存器,实现复数伪随机数的产生;步骤6:寄存器抽头输出伪随机数;从复数移位伪随机码发生器相关寄存器状态值的实部和虚部分别抽头输出给定长度的伪随机数,分别记为实部第一伪随机数和虚部第一伪随机数;其中第一伪随机数和虚部第一伪随机数既可通过不同寄存器状态值的实部和虚部抽头获得,也可通过反馈端不同位置的不同非线性函数作用值获得;步骤7:二值化;将实部第一伪随机数和虚部第一伪随机数中各实数随机数按时间顺序分别与基准值比较,若大于基准值,则该实数随机数取值1,否则取值0,即可获得二值化的第一伪随机码和第二伪随机码;基准值分别为描述实部第一伪随机数、虚部第一伪随机数中实数伪随机数中间值大小的统计量,基准值采用排序法获得,即:实部第一伪随机数、虚部第一伪随机数的基准值分别为其中实数伪随机数经排序后所得中间值;步骤8:导航卫星伪随机码的产生;将第一伪随机码和第二伪随机码进行模二和,得伪随机性良好的第三伪随机码;若第三伪随机码的伪随机性受到破坏,那么需要调整非线性函数的扩散系数、函数或变量的非线性强度,微调函数的工作频率、相位,微调基准值重新二值化实部第一伪随机数和虚部第一伪随机数。本发明提供的一种非线性函数驱动时空混沌卫星导航测距码实现方法,用于多变量非线性函数驱动方式;包括以下步骤:步骤1:构建分别作用于复数状态分量实部和虚部当前位置当前状态值的多变量非线性函数;具体实现过程为:取单个复数状态矢量X+Yj在Nxy维线性空间其分量为称为多变量复数状态分量,和分别为一系列顺序排列且分别相互耦合的状态分量;i表示多变量复数状态分量的位置序号,i=1,2,...,Nxy,Nxy为正整数;ix表示多变量复数状态分量实部分量x的序号,iy表示多变量复数状态分量虚部分量y的序号,ix=1,2,...,nx,iy=1,2,...,ny,nx和ny分别为状态分量x和y的数量,它们分别为大于1的整数;将作用于复数状态分量实部当前位置当前状态值的多变量非线性函数记为实部非线性函数,将作用于复数状态分量虚部当前位置的当前状态值的多变量非线性函数记为虚部非线性函数;实部非线性函数的构建具体为:实部非线性函数由k时刻实部矢量Χk的nx个分量{x1,k,x2,k,...,xnx,k}分别构建nx个不同次方的含不同参数值的当前位置的sin函数和以nx个单独分量分别构建不同次方的含不同参数值的当前位置的变量;以各sin函数负的非线性强度与含参数的sin函数相乘得实部第函数项加上对应的第实常数项,为实部第L1+1~L1+nx函数型非线性函数;以各变量负的非线性强度与含参数的变量相乘得实部第变量项加上对应的第实常数项,为实部第L2+1~L2+nx变量型非线性函数;实部函数型非线性函数和实部变量型非线性函数为实部非线性函数;虚部非线性函数的构建具体为:虚部非线性函数由k时刻虚部矢量Yk的ny个分量{y1,k,y2,k,...,yny,k}分别构建ny个不同次方的含不同参数值的当前位置的cos函数和以ny个单独分量分别构建不同次方的含不同参数值的当前位置的变量;以各cos函数负的非线性强度与含参数的cos函数相乘得虚部第函数项加上对应的第实常数项,为虚部第L3+1~L3+ny函数型非线性函数;以各变量负的非线性强度与含参数的变量相乘得虚部第变量项加上对应的第实常数项,为虚部第L4+1~L4+nY变量型非线性函数;虚部函数型非线性函数和虚部变量型非线性函数为虚部非线性函数;和分别表示实部和虚部函数项、变量项、实常数项的序号;函数的参数包括工作频率、函数的次方、函数的幅度值、函数的相位、位置序号和状态平移量;变量的参数包括变量的次方、位置序号和状态平移量;状态平移量即函数或变量状态值增加或减少的量;步骤2:设计多变量非线性函数驱动复数移位伪随机码发生器的反馈作用值;实部或虚部非线性函数中由实部或虚部变量项非线性函数分别对通过各寄存器状态值实部或虚部抽头经过加、减、乘或除的运算,或者经过加、减、乘或除中至少两种的混合运算所得运算值输入到复数状态分量实部或虚部当前位置当前状态值进行作用,得实部或虚部第二变量项作用值,其作用值作为实部或虚部非线性函数中由实部或虚部函数项非线性函数的变量的输入值驱动其工作,得实部或虚部第二函数项作用值,记实部或虚部第二变量项作用值、实部或虚部第二函数项作用值为实部或虚部作用值;基于扩散系数,对实部和虚部作用值分别进行加、减、乘、除或包含加、减、乘、除中至少两种运算的混合运算;步骤2中寄存器状态值实部或虚部抽头具体为:k时刻(k大于0的正整数),将寄存器状态值的实部或虚部分别抽头进行加、减、乘、除或包含加、减、乘、除中至少两种运算的混合运算,运算结果分别输入到实部或虚部由变量项非线性函数的各变量,获得第三非线性函数作用值;步骤2中实部或虚部驱动作用具体为:k时刻,第三非线性函数作用值进行加、减、乘、除或包含加、减、乘、除中至少两种运算的混合运算,运算结果分别输入到实部或虚部由函数项非线性函数的各变量,获得第四非线性函数作用值;步骤2中实部或虚部反馈作用具体为:k时刻以扩散系数为权值第三非线性函数作用值、第四非线性函数作用值进行加、减、乘、除或包含加、减、乘、除中至少两种运算的混合运算,运算结果分别实部或虚部的反馈作用值。步骤3:构建多变量非线性函数驱动复数移位伪随机码发生器G;G由NG个复数线性移位寄存器构成,将复数线性移位寄存器状态值的实部和虚部分别直接赋值给实部和虚部各变量项非线性函数的变量或进行加、减、乘或除或者加、减、乘或除中至少两种运算的混合运算值分别赋值给实部和虚部变量项非线性函数的变量,反馈值由步骤2获得,实部反馈作用值赋值给首位寄存器状态值的实部、虚部反馈作用值赋值给首位寄存器状态值的虚部;步骤4:参数初始化及采用相同或不同的复数序列或复数伪随机数序列初始化G中移位寄存器的状态值;采用相同或不同的复数序列或复数伪随机数序列初始化中各移位寄存器的状态值,所述复数序列或复数伪随机数序列要保证各复数状态分量处于混沌工作状态,若复数序列或复数伪随机数序列不能保证混沌工作状态,则需要调整函数或变量的非线性强度、非线性函数的扩散系数。步骤5:导航卫星伪随机数的产生;根据复数状态分量位置,从G的相关移位寄存器状态值的实部或虚部分别抽头经过加、减、乘或除的混合运算输出到步骤2中实部或虚部变量项非线性函数的变量驱动其工作获得作用值,以这些作用值进行加、减、乘或除的混合运算所得值为函数项非线性函数的变量的输入值驱动其工作,从而获得反馈作用值,将寄存器状态值依次移位,再将作用值反馈给G的首位寄存器,实现复数伪随机数的产生;步骤6:寄存器抽头输出伪随机数;从复数移位伪随机码发生器相关寄存器状态值的实部和虚部分别抽头输出给定长度的伪随机数,分别记为实部第二伪随机数和虚部第二伪随机数;其中第二伪随机数和虚部第二伪随机数既可通过不同寄存器状态值的实部和虚部抽头获得,也可通过反馈端不同位置的不同非线性函数作用值获得;步骤7:二值化;将实部第二伪随机数和虚部第二伪随机数中各实数随机数按时间顺序分别与基准值比较,若大于基准值,则该实数随机数取值1,否则取值0,即可获得二值化的第四伪随机码和第五伪随机码;基准值分别为描述实部第二伪随机数、虚部第二伪随机数中实数伪随机数中间值大小的统计量,基准值采用排序法获得,即:实部第二伪随机数、虚部第二伪随机数的基准值分别为其中实数伪随机数经排序后所得中间值;步骤8:导航卫星伪随机码的产生;将第四伪随机码和第五伪随机码进行模二和,得伪随机性良好的第六伪随机码。本发明提供的一种非线性函数驱动时空混沌卫星导航测距码实现系统,用于单变量非线性函数驱动方式;包括单变量非线性函数构建模块、反馈作用值设计模块、非线性函数驱动复数移位伪随机码发生器构建模块、初始化模块、伪随机数的产生模块、实数伪随机数序列提取模块、二值化模块、模二运算模块;所述单变量非线性函数构建模块,用于构建分别作用于复数状态分量实部和虚部当前位置当前状态值的单变量非线性函数;具体实现过程为:取单个复数状态矢量X+Yj在Nxy维线性空间其分量为{x(i)+y(i)j},称为单变量复数状态分量,{x(i)}和{y(i)}分别为一系列顺序排列且分别相互耦合的状态分量;i表示单变量复数状态分量的位置序号,i=1,2,...,Nxy,Nxy为正整数;将作用于复数状态分量实部当前位置当前状态值的单变量非线性函数记为实部非线性函数,将作用于复数状态分量虚部当前位置的当前状态值的单变量非线性函数记为虚部非线性函数;实部或虚部非线性函数的构建具体为:实部或虚部非线性函数由k时刻实部分量分别构建L1或L3个相同次方或不同次方的含不同参数值的当前位置的函数和L2或L4个相同次方或不同次方的含不同参数值的当前位置的变量;以各函数负的非线性强度与含参数的函数分别相乘得实部第或虚部第函数项加上对应的第或实常数项,为实部第1~L1或虚部第1~L3函数型非线性函数;以各变量负的非线性强度为权与含参数的当前位置的变量分别相乘得实部第或虚部第变量项加上对应的第或实常数项,为实部第1~L2或虚部第1~L4变量型非线性函数;实部函数型非线性函数和实部变量型非线性函数为实部非线性函数;L1、L2、L3和L4均为大于0的正整数,其值根据需要自行设定;和分别表示实部和虚部函数项、变量项、实常数项的序号;其中,函数的参数包括工作频率、函数的次方、函数的幅度值、函数的相位、位置序号和状态平移量;变量的参数包括变量的次方、位置序号和状态平移量;状态平移量即函数或变量状态值增加或减少的量;所述反馈作用值设计模块,用于设计单变量非线性函数驱动复数移位伪随机码发生器的反馈作用值;实部或虚部非线性函数中由实部或虚部变量项非线性函数分别对通过各寄存器状态值实部或虚部抽头经过加、减、乘或除的运算,或者经过加、减、乘或除中至少两种的混合运算所得运算值输入到复数状态分量实部或虚部当前位置当前状态值进行作用,得实部或虚部第一变量项作用值,其作用值作为实部或虚部非线性函数中由实部或虚部函数项非线性函数的变量的输入值驱动其工作,得实部或虚部第一函数项作用值,记实部或虚部第一变量项作用值、实部或虚部第一函数项作用值为实部或虚部作用值;基于扩散系数,对实部作用值和虚部作用值分别进行加、减、乘、除或包含加、减、乘、除中至少两种运算的混合运算;所述非线性函数驱动复数移位伪随机码发生器构建模块,用于构建单变量非线性函数驱动复数移位伪随机码发生器G;G由NG个复数线性移位寄存器构成,将复数线性移位寄存器状态值的实部和虚部分别直接赋值或进行加、减、乘或除或者加、减、乘或除中至少两种运算的混合运算值分别赋值给实部或虚部由变量项非线性函数的各变量,反馈值由步骤2获得,实部反馈作用值赋值给首位寄存器状态值的实部、虚部反馈作用值赋值给首位寄存器状态值的虚部;所述初始化模块,用于参数初始化及采用相同或不同的复数序列或复数伪随机数序列初始化G中移位寄存器的状态值;所述伪随机数的产生模块,用于导航卫星伪随机数的产生;根据复数状态分量位置,从G的相关移位寄存器状态值的实部或虚部分别抽头经过加、减、乘或除或者加、减、乘或除中至少两种运算的混合运算,结果输出到步骤2中实部或虚部由变量项非线性函数的各变量驱动其工作获得作用值,以这些作用值进行加、减、乘或除或者加、减、乘或除中至少两种运算的混合运算所得值为函数项非线性函数的变量的输入值驱动其工作,从而获得反馈作用值,将寄存器状态值依次移位,再将反馈作用值反馈给G的首位寄存器,实现复数伪随机数的产生;所述实数伪随机数序列提取模块,用于从复数移位伪随机码发生器相关寄存器状态值的实部和虚部分别抽头输出给定长度的伪随机数,分别记为实部第一伪随机数和虚部第一伪随机数;所述二值化模块,用于将实部第一伪随机数和虚部第一伪随机数中各实数随机数按时间顺序分别与基准值比较,若大于基准值,则该实数随机数取值1,否则取值0,即可获得二值化的第一伪随机码和第二伪随机码;基准值分别为描述实部第一伪随机数、虚部第一伪随机数中实数伪随机数中间值大小的统计量,基准值采用排序法获得,即:实部第一伪随机数、虚部第一伪随机数的基准值分别为其中实数伪随机数经排序后所得中间值;所述模二运算模块,用于将第一伪随机码和第二伪随机码进行模二和,得伪随机性良好的第三伪随机码;若第三伪随机码的伪随机性受到破坏,那么需要调整非线性函数的扩散系数、函数或变量的非线性强度,微调函数的工作频率、相位,微调基准值重新二值化实部第一伪随机数和虚部第一伪随机数。本发明提供的一种非线性函数驱动时空混沌卫星导航测距码实现系统,用于多变量非线性函数驱动方式;包括多变量非线性函数构建模块、反馈作用值设计模块、非线性函数驱动复数移位伪随机码发生器构建模块、初始化模块、伪随机数的产生模块、实数伪随机数序列提取模块、二值化模块、模二运算模块;所述多变量非线性函数构建模块,用于构建分别作用于复数状态分量实部和虚部当前位置当前状态值的多变量非线性函数;具体实现过程为:取单个复数状态矢量X+Yj在Nxy维线性空间其分量为称为多变量复数状态分量,和分别为一系列顺序排列且分别相互耦合的状态分量;i表示多变量复数状态分量的位置序号,i=1,2,...,Nxy,Nxy为正整数;ix表示多变量复数状态分量实部分量x的序号,iy表示多变量复数状态分量虚部分量y的序号,ix=1,2,...,nx,iy=1,2,...,ny,nx和ny分别为状态分量x和y的数量,它们分别为大于1的整数;将作用于复数状态分量实部当前位置当前状态值的多变量非线性函数记为实部非线性函数,将作用于复数状态分量虚部当前位置的当前状态值的多变量非线性函数记为虚部非线性函数;实部非线性函数的构建具体为:实部非线性函数由k时刻实部矢量Χk的nx个分量分别构建nx个不同次方的含不同参数值的当前位置的sin函数和以nx个单独分量分别构建不同次方的含不同参数值的当前位置的变量;以各sin函数负的非线性强度与含参数的sin函数相乘得实部第函数项加上对应的第实常数项,为实部第L1+1~L1+nx函数型非线性函数;以各变量负的非线性强度与含参数的变量相乘得实部第变量项加上对应的第实常数项,为实部第L2+1~L2+nx变量型非线性函数;实部函数型非线性函数和实部变量型非线性函数为实部非线性函数;虚部非线性函数的构建具体为:虚部非线性函数由k时刻虚部矢量Yk的ny个分量分别构建ny个不同次方的含不同参数值的当前位置的cos函数和以ny个单独分量分别构建不同次方的含不同参数值的当前位置的变量;以各cos函数负的非线性强度与含参数的cos函数相乘得虚部第函数项加上对应的第实常数项,为虚部第L3+1~L3+ny函数型非线性函数;以各变量负的非线性强度与含参数的变量相乘得虚部第变量项加上对应的第实常数项,为虚部第L4+1~L4+nY变量型非线性函数;虚部函数型非线性函数和虚部变量型非线性函数为虚部非线性函数;和分别表示实部和虚部函数项、变量项、实常数项的序号;函数的参数包括工作频率、函数的次方、函数的幅度值、函数的相位、位置序号和状态平移量;变量的参数包括变量的次方、位置序号和状态平移量;状态平移量即函数或变量状态值增加或减少的量;所述反馈作用值设计模块,用于设计多变量非线性函数驱动复数移位伪随机码发生器的反馈作用值;实部或虚部非线性函数中由实部或虚部变量项非线性函数分别对通过各寄存器状态值实部或虚部抽头经过加、减、乘或除的运算,或者经过加、减、乘或除中至少两种的混合运算所得运算值输入到复数状态分量实部或虚部当前位置当前状态值进行作用,得实部或虚部第二变量项作用值,其作用值作为实部或虚部非线性函数中由实部或虚部函数项非线性函数的变量的输入值驱动其工作,得实部或虚部第二函数项作用值,记实部或虚部第二变量项作用值、实部或虚部第二函数项作用值为实部或虚部作用值;基于扩散系数,对实部和虚部作用值分别进行加、减、乘、除或包含加、减、乘、除中至少两种运算的混合运算;所述非线性函数驱动复数移位伪随机码发生器构建模块,用于构建多变量非线性函数驱动复数移位伪随机码发生器G;G由NG个复数线性移位寄存器构成,将复数线性移位寄存器状态值的实部和虚部分别直接赋值给实部和虚部各变量项非线性函数的变量或进行加、减、乘或除或者加、减、乘或除中至少两种运算的混合运算值分别赋值给实部和虚部变量项非线性函数的变量,反馈值由步骤2获得,实部反馈作用值赋值给首位寄存器状态值的实部、虚部反馈作用值赋值给首位寄存器状态值的虚部;所述初始化模块,用于参数初始化及采用相同或不同的复数序列或复数伪随机数序列初始化G中移位寄存器的状态值;所述伪随机数的产生模块,用于导航卫星伪随机数的产生;根据复数状态分量位置,从G的相关移位寄存器状态值的实部或虚部分别抽头经过加、减、乘或除的混合运算输出到步骤2中实部或虚部变量项非线性函数的变量驱动其工作获得作用值,以这些作用值进行加、减、乘或除的混合运算所得值为函数项非线性函数的变量的输入值驱动其工作,从而获得反馈作用值,将寄存器状态值依次移位,再将作用值反馈给G的首位寄存器,实现复数伪随机数的产生;所述实数伪随机数序列提取模块,用于从复数移位伪随机码发生器相关寄存器状态值的实部和虚部分别抽头输出给定长度的伪随机数,分别记为实部第二伪随机数和虚部第二伪随机数;所述二值化模块,用于将实部第二伪随机数和虚部第二伪随机数中各实数随机数按时间顺序分别与基准值比较,若大于基准值,则该实数随机数取值1,否则取值0,即可获得二值化的第四伪随机码和第五伪随机码;基准值分别为描述实部第二伪随机数、虚部第二伪随机数中实数伪随机数中间值大小的统计量,基准值采用排序法获得,即:实部第二伪随机数、虚部第二伪随机数的基准值分别为其中实数伪随机数经排序后所得中间值;所述模二运算模块,用于将第四伪随机码和第五伪随机码进行模二和,得伪随机性良好的第六伪随机码。和现有技术相比,本发明具有如下优点和有益效果:(1)可获得复杂度更高的伪随机码;使用非线性函数驱动进行反馈作用并以移位方式产生伪随机码,所获得的伪随机码复杂度更高。(2)可获得安全性强的伪随机码;产生的复杂度高的伪随机码,充分保证伪随机码的高安全性。(3)伪随机码码长不受级数限制;由于使用非线性函数驱动的反馈作用,并通过移位方式产生随机码,其最大码长与伪随机码发生器使用级数无关,且可达无限长。(4)级数特少;通过复数实现方式,可最大限度降低伪随机码发生器级数。(5)产生伪随机码码型多;本发明伪随机码型由初始化寄存器状态值的实数、非线性函数包含的参数如扩散系数、非线性强度等的参数精度决定。(6)可随时调整伪随机码特性;当伪随机码伪随机性受到破坏,可通过调整非线性强度、扩散系数、微调函数的工作频率、相位等恢复。附图说明图1是本发明实施例的方法流程示意图;图2是本发明实施例中从寄存器状态值的实部抽头相加输出值;图3是本发明实施例中实部变量项非线性函数作用值相加除以相乘值;图4是本发明实施例中实部反馈作用值;图5是本发明实施例中从第1个移位寄存器状态值的虚部获得的伪随机数序列;图6是本发明实施例中对图5所示伪随机数序列采用排序法处理后获得的伪随机码;图7是本发明实施例中获得的导航卫星的测距码;图8是本发明实施例中获得的测距码的自相关函数;图9是本发明实施例的系统结构示意图。具体实施方式为了便于本领域普通技术人员理解和实施本发明,下面结合附图及实施例对本发明作进一步的详细描述,应当理解,此处所描述的实施示例仅用于说明和解释本发明,并不用于限定本发明。由于单变量非线性函数驱动方式为多变量非线性函数驱动方式的特例,下面以单变量非线性函数驱动方式实施例对本发明作进一步详细描述,根据图1实现步骤如下:步骤1:构建分别作用于复数状态分量实部和虚部当前位置当前状态值的单变量非线性函数;取单个复数状态矢量X+Yj在Nxy维线性空间其分量为{x(i)+y(i)j},称为单变量复数状态分量,{x(i)}和{y(i)}分别为一系列顺序排列且分别相互耦合的状态分量;i表示单变量复数状态分量的位置序号,i=1,2,...,Nxy,Nxy为正整数;由函数、变量分别构建的实部和虚部的非线性函数分别为:式(1)中:k表示离散的时间坐标;i表示复数状态分量的位置序号,i=1,2,...,Nxy;xk(i)、yk(i)分别表示k时刻位置序号为i的复数状态分量实部和虚部的状态值;和分别表示作用于复数状态分量的实部和虚部当前位置的单变量非线性函数,将单变量非线性函数简称非线性函数,分别包含sin函数和cos函数,相位分别为和分别包含的函数的工作频率为f0;l1、l2分别表示非线性函数的序号,即,表示作用于复数状态分量实部的第l1个由sin函数构成的非线性函数,表示作用于复数状态分量实部的第l2个由分量x构成的非线性函数;l3、l4分别表示非线性函数的序号,即,表示作用于复数状态分量虚部的第l3个由cos函数构成的非线性函数,表示作用于复数状态分量虚部的第l4个由分量y构成的非线性函数;分别表示k时刻非线性函数中sin函数和分量x的非线性强度;分别表示k时刻非线性函数中cos函数和分量y的非线性强度;表示非线性函数中sin函数的幅度值;表示非线性函数中cos函数的幅度值;表示非线性函数中sin函数的次方;表示非线性函数中分量xk(i)的次方;表示非线性函数中cos函数的次方;表示非线性函数中分量yk(i)的次方;表示k时刻非线性函数中sin函数的状态平移量;表示k时刻非线性函数中分量xk(i)的状态平移量;表示k时刻非线性函数中cos函数状态平移量;表示k时刻非线性函数中分量yk(i)的状态平移量;分别表示非线性函数和包含的实常数,其值根据需要自行设定;步骤2:设计单变量非线性函数驱动复数移位伪随机码发生器的反馈作用值;先将寄存器状态值的实部和虚部分别抽头,抽头值进行加、减、乘或除的混合运算,运算值分别输入的变量x和y,将作用值进行加、减、乘或除的混合运算,运算值分别输入的变量x和y,最后将所有非线性函数的作用值以扩散系数为权值进行加、减、乘或除的混合运算,所得结果分别作为实部和虚部的反馈作用值,具体过程分别见公式(2)、(3)和(4):式(2)、(3)和(4)中:表示k时刻序号分别为l1和l2的函数中位置序号为i的变量状态值;表示k时刻序号分别为l3和l4的函数的变量状态值;分别表示k时刻第ig个寄存器的实部和虚部状态值;分别表示k时刻以变量x和y构建的序号为l1和l3的非线性函数的扩散系数,为实数;和分别为不大于NG的正整数,NG为复数移位伪随机码发生器级数;L1、L2、L3、L4分别为函数和的数量,分别为不大于L1、L2、L3、L4的正整数;分别表示k+1时刻第1个寄存器的实部和虚部状态值,用以存取反馈作用值;步骤3:构建单变量非线性函数驱动复数移位伪随机码发生器G,G由NG个右移复数线性移位寄存器构成,其反馈端由非线性函数驱动的和构成;步骤4:参数和寄存器状态值的初始化;(4-1)参数初始化;参数包括复数移位伪随机码发生器级数NG、码长L、非线性函数数量、非线性函数参数、扩散系数。非线性函数为包含有不同次方函数和/或变量的多项式形式,参数进一步包括函数和/或变量、函数和/或变量的参数和实常数项,其中函数的参数为工作频率、函数的次方、函数的幅度值、函数的相位、位置序号、状态平移量,变量的参数为变量的次方、位置序号、状态平移量。本发明中,函数次方均为大于1的正整数,无上限要求;各非线性函数的扩散系数均为实数。非线性函数分别包含sin函数和cos函数,函数的工作频率为f0,相位分别为和非线性函数分别为作用于复数状态分量实部和虚部当前位置的非线性函数。本实施例,G取最小级数NG=3(因为从G中相关寄存器状态值的实部和虚部分别抽头进行组合的总数大于50,大于中国北斗卫星导航系统卫星总数35,因此G的级数可满足产生所有北斗导航卫星测距码的需要),码长L=512位,作用于G的反馈端复数状态分量总的位置序号为Nxy=3,实部和虚部的非线性函数的数量分别为L1=L2=L3=L4=3,所有sin函数和cos函数的幅度值函数的工作频率f0为1.023Hz。作用于复数状态分量实部当前位置非线性函数分别由含不同参数的sin函数和分量x组成,sin函数的数量为3个,分量x构成的函数为3个,其中由sin函数构成的非线性函数的参数为:次方数分别为和非线性强度分别为状态平移量分别为实常数分别为分量x构成的非线性函数的参数为:次方数分别为和非线性强度分别为和状态平移量分别为和实常数分别为作用于复数状态分量虚部当前位置非线性函数分别由含不同参数的cos函数和分量y组成,cos函数的数量为3个,分量y构成的函数为3个,其中由cos函数构成的非线性函数的参数为:次方数分别为和非线性强度分别为状态平移量分别为实常数分别为分量y构成的非线性函数的参数为:次方数分别为和非线性强度分别为和状态平移量分别为和实常数分别为作用于复数状态分量实部当前位置的sin函数构成非线性函数对应的扩散系数分别为作用于复数状态分量虚部当前位置的cos函数构成非线性函数对应的扩散系数分别为和(4-2)寄存器状态值的初始化;使用复数0.1+0.1j分别对各寄存器状态值进行初始化;步骤5:移位产生导航卫星伪随机码,由步骤2获得反馈作用值,将寄存器状态值依次右移,再将作用值反馈给G的首位寄存器,实现复数伪随机数的产生,具体过程为:步骤5.1:取位置序号i=1;步骤5.2:取移位次数im=1;步骤5.3:k时刻根据式(2)将相关寄存器状态值的实部和虚部分别抽头输出,经加、减、乘或除的混合运算,将运算值分别提供给和的变量,见图2;根据式(3)将从和的运算值分别提供给和见图3;根据式(3)将从和的运算值与的运算以扩散系数为权值进行加、减、乘或除的混合运算形成反馈作用值,见图4;步骤5.4:将G中寄存器状态值依次右移,由步骤5.3计算反馈作用值赋值给Gk+1(1),取im=im+1,如果移位次数小于517位,执行步骤5.3,否者执行步骤5.5;步骤5.5:i=i+1,如果位置序号小于3,执行步骤5.2,否者执行步骤5.6;步骤5.6:从和分别抽头输出517秒的伪随机数,分别记为实部第一伪随机数和虚部第一伪随机数,见图5;步骤6:将实部第一伪随机数和虚部第一伪随机数中各实数随机数从第6秒开始按时间顺序分别与排序法获得的基准值比较,若大于基准值,则该实数随机数取值1,否则取值0,即可获得二值化的第一伪随机码和第二伪随机码,见图6;步骤7:将第一伪随机码和第二伪随机码进行模二和,得伪随机性良好的第三伪随机码,即导航卫星测距码,见图7;测距码的伪随机性评价见表1~2和图8。伪随机性可采用平衡性、游程性和自相关性评价。平衡性即测距码中数值0和1占总数的百分比,理想情况下0和1分别占总数的50%。游程性即测距码中不同长度的游程占总游程数的百分比,理想情况下各长度游程占总游程数的百分比为其中,a表示游程长度。自相关性即测距码自相关函数的δ函数特性。表1图7所示测距码的平衡性数值占总数百分比(%)049.61150.39表2图7所示测距码的游程性游程长度占游程总数百分比(%)150.19224.33316.7343.8051.9060.76请见图9,本发明还提供了一种非线性函数驱动时空混沌卫星导航测距码实现系统,用于单变量非线性函数驱动方式;包括单变量非线性函数构建模块、反馈作用值设计模块、非线性函数驱动复数移位伪随机码发生器构建模块、初始化模块、伪随机数的产生模块、实数伪随机数序列提取模块、二值化模块、模二运算模块;单变量非线性函数构建模块,用于构建分别作用于复数状态分量实部和虚部当前位置当前状态值的单变量非线性函数;初始化模块,用于参数初始化及采用相同或不同的复数序列或复数伪随机数序列初始化G中移位寄存器的状态值;伪随机数的产生模块,用于导航卫星伪随机数的产生;实数伪随机数序列提取模块,用于从复数移位伪随机码发生器相关寄存器状态值的实部和虚部分别抽头输出给定长度的伪随机数,分别记为实部第一伪随机数和虚部第一伪随机数;二值化模块,用于将实部第一伪随机数和虚部第一伪随机数中各实数随机数按时间顺序分别与基准值比较,若大于基准值,则该实数随机数取值1,否则取值0,即可获得二值化的第一伪随机码和第二伪随机码;模二运算模块,用于将第一伪随机码和第二伪随机码进行模二和,得伪随机性良好的第三伪随机码;若第三伪随机码的伪随机性受到破坏,那么需要调整非线性函数的扩散系数、函数或变量的非线性强度,微调函数的工作频率、相位,微调基准值重新二值化实部第一伪随机数和虚部第一伪随机数。请见图9,本发明还提供了一种非线性函数驱动时空混沌卫星导航测距码实现系统,用于多变量非线性函数驱动方式;包括多变量非线性函数构建模块、反馈作用值设计模块、非线性函数驱动复数移位伪随机码发生器构建模块、初始化模块、伪随机数的产生模块、实数伪随机数序列提取模块、二值化模块、模二运算模块;多变量非线性函数构建模块,用于构建分别作用于复数状态分量实部和虚部当前位置当前状态值的多变量非线性函数;反馈作用值设计模块,用于设计多变量非线性函数驱动复数移位伪随机码发生器的反馈作用值;非线性函数驱动复数移位伪随机码发生器构建模块,用于构建多变量非线性函数驱动复数移位伪随机码发生器G;初始化模块,用于参数初始化及采用相同或不同的复数序列或复数伪随机数序列初始化G中移位寄存器的状态值;伪随机数的产生模块,用于导航卫星伪随机数的产生;实数伪随机数序列提取模块,用于从复数移位伪随机码发生器相关寄存器状态值的实部和虚部分别抽头输出给定长度的伪随机数,分别记为实部第二伪随机数和虚部第二伪随机数;二值化模块,用于将实部第二伪随机数和虚部第二伪随机数中各实数随机数按时间顺序分别与基准值比较,若大于基准值,则该实数随机数取值1,否则取值0,即可获得二值化的第四伪随机码和第五伪随机码;模二运算模块,用于将第四伪随机码和第五伪随机码进行模二和,得伪随机性良好的第六伪随机码。应当理解的是,本说明书未详细阐述的部分均属于现有技术。应当理解的是,上述针对较佳实施例的描述较为详细,并不能因此而认为是对本发明专利保护范围的限制,本领域的普通技术人员在本发明的启示下,在不脱离本发明权利要求所保护的范围情况下,还可以做出替换或变形,均落入本发明的保护范围之内,本发明的请求保护范围应以所附权利要求为准。当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1