多状态变量时空混沌复数伪随机码发生器实现方法及系统与流程

文档序号:12375504阅读:272来源:国知局
多状态变量时空混沌复数伪随机码发生器实现方法及系统与流程
本发明涉及卫星导航
技术领域
,具体为一种多状态变量时空混沌复数伪随机码发生器实现方法及系统。
背景技术
:目前世界上四大卫星导航系统有美国的GPS(GlobalPositioningSystem)卫星导航系统、俄罗斯的GLONASS(GlobalNavigationSatelliteSystem)卫星导航系统、欧盟的Galileo卫星导航系统和中国的北斗(BeiDou)卫星导航系统。除GLONASS采用频分多址(FDMA,FrequencyDivisionMultipleAccess)通信方式外,其余卫星导航系统均采用码分多址(CDMA,CodeDivisionMultipleAccess)通信方式。它们所采用的测距码分为民用粗测码和军用精密码两类,使用粗测码的卫星导航系统能进行目标粗定位,而使用精密码的卫星导航系统可进行目标高精度定位。卫星导航系统使用的伪随机码发生器分为两种,一种是目前卫星导航系统正在使用的二进制伪随机码发生器,其测距码通过线性方法,使用一个或几个一定级数线性反馈移位寄存器先通过一段短二值序列对寄存器初始化,然后由寄存器移位产生。粗测码实现方面GPSL1信号的C/A(CoarseAcquisitionCode)码由两个并行的10级(共20级)线性移位寄存器产生,码长为1023位;GalileoE1信号的粗测码由两个并行的线性移位寄存器产生截短合并的M码实现,码长为4092位;GLONASS的测距码由一个最大长度为9级的线性移位寄存器产生(M序列),码长为511位;BeiDouB1I、B2I信号处测距码CB1I码和CB2I码均由两个并行的11级(共22级)线性移位寄存器生成,码长为2046位。精密码实现方面只有GPS提供了实现方法,即分别使用两个并行的12级(共24级)的线性移位寄存器产生。由于一定长度的伪随机码需要一定级数的移位寄存器通过移位产生,导致产生的测距码普遍存在复杂度低、安全性差、码长固定且较短、码数量有限等缺点,且移位寄存器还需要承担线性反馈和卫星相位分配工作,又使其结构复杂。另一种是文献上讨论的实数伪随机码发生器,它是通过非线性方法,利用时空混沌系统对初值的敏感依赖性,可以提供数量众多、非相关、类随机而又确定可再生的信号,这些信号具有伪随机性、非周期性、长期不可预测性以及各态历经的特点,将时空混沌单向耦合映象格子模型应用于GPS系统,用一组20个空间格点设计20级时空混沌实数伪随机码发生器,用它取代GPS两个并行的10级线性移位寄存器。先用同一实数对格点变量状态初始化,然后在非线性映射动力学函数(简称“非线性函数”)作用下产生随时间状态分布的实数伪随机数,再经相关格点变量抽头获取该格点变量时间状态分布值,并输出实数伪随机数,二值化并模二和为测距码。非线性函数由变量、变量的参数(包括变量的次方、位置序号、作为变量权值的非线性强度)和整常数项组成,变量、变量的参数和整常数项称为非线性函数的参数。非线性函数一般采用单变量的多项式形式(即一个低次方变量乘以负的非线性强度加上整常数)f(x)=-δx2+1,δ为变量的非线性强度,其扩散系数(作为非线性函数作用值的权值)为实数域[0,1]中的实数,作用于不同格点状态变量的非线性函数作用值的扩散系数的总和为1,且不同非线性函数作用值相互之间只能进行加法运算。实数伪随机码发生器可以克服目前二进制伪随机码发生器产生的测距码码长固定且较短和码数量有限的缺点,但是由于采用一种非线性函数且一般为二次方函数作用,且数据精度为10-2,使产生的测距码复杂度不高、安全性不强,且使用空间格点数过多,每一格点状态变量一次只产生一种实数伪随机数。此外对实数伪随机数二值化,目前采用的处理方法主要为不变分布法、邻值比较法和阈值调整和序列截取法:不变分布法需要对每个格点状态变量产生的实数伪随机数进行概率统计分析,以确定基准值再对伪随机数序列二值化;邻值比较法通过对格点状态变量产生的实数伪随机数相邻值比较进行伪随机数序列二值化;阈值调整和序列截取法首先需要对格点状态变量产生的实数伪随机数按一定比例截取为新序列,然后再在新序列平均值附近搜索最优阈值,根据阈值实现原伪随机数序列二值化。技术实现要素:针对上述技术问题,本发明提供了一种通过非线性方法产生高性能卫星导航测距码的多状态变量时空混沌复数伪随机码发生器实现方法及系统。为解决上述技术问题,本发明采用如下的技术方案:一、一种多状态变量时空混沌复数伪随机码发生器实现方法,包括:S1构建复数伪随机码发生器G,G由一系列复数状态变量{x(i)+y(i)j}构成(i=1,2,...N,N为正整数),{x(i)}和{y(i)}分别构成伪随机码发生器G1、G2,{x(i)}和{y(i)}为一系列顺序排列且分别相互耦合的状态变量;i表示复数状态变量位置序号,G中包含的是有效复数状态变量;S2优化复数伪随机码发生器G获得最小级数,将最小级数作为G的级数N;S3在有效复数状态变量前向或后向补充扩展复数状态变量构成G0,扩展复数状态变量数大于或等于预设的位置偏移量最大值;S4构建非线性函数,将作用于有效复数状态变量实部当前位置和偏移位置的状态值的非线性函数分别记为实部当前位置非线性函数和实部偏移位置非线性函数,将作用于有效复数状态变量虚部当前位置和偏移位置的状态值的非线性函数分别记为虚部当前位置非线性函数和虚部偏移位置非线性函数;其中:实部当前位置非线性函数的构建具体为:实部当前位置非线性函数由LL12个不同次方的含不同参数值的函数和LL13个不同次方的含不同参数值的变量构成;以各函数负的非线性强度为权,取LL11个函数加权求和得实部第一函数项,对剩余的(LL12-LL11)个函数加权求和得实部第二函数项;以各变量负的非线性强度为权,对LL13个变量加权求和得实部第一变量项;实部第一变量项除以实部第二函数项,加上实部第一函数项和第一实常数项,所得多项式即实部当前位置非线性函数;实部偏移位置非线性函数的构建具体为:实部偏移位置非线性函数由LL21个不同次方的含不同参数值的变量构成;以各变量负的非线性强度为权,对LL21个变量加权求和得实部第二变量项,实部第二变量项和第二实常数项相加所得多项式即实部偏移位置非线性函数;虚部当前位置非线性函数的构建具体为:虚部当前位置非线性函数由LL32个不同次方的含不同参数值的函数和LL33个不同次方的含不同参数值的变量构成;以各函数负的非线性强度为权,取LL31个函数加权求和得虚部第一函数项,对剩余的(LL32-LL31)个函数加权求和得虚部第二函数项;以各变量负的非线性强度为权,对LL33个变量加权求和得虚部第一变量项;虚部第一函数项减去虚部第一变量项和虚部第二函数项的乘积,并加上第三实常数项,所得多项式即虚部当前位置非线性函数;虚部偏移位置非线性函数的构建具体为:虚部偏移位置非线性函数由LL41个不同次方的含不同参数值的变量构成;以各变量负的非线性强度为权,对LL41个变量加权求和得虚部第二变量项,虚部第二变量项和第四实常数项相加所得多项式即虚部偏移位置非线性函数;其中,函数的参数包括工作频率、函数的次方、函数的幅度值、函数的相位、位置序号、位置偏移量和状态平移量;位置偏移量即位置序号增加或减少的量,状态平移量即变量状态值增加或减少的量;变量的参数包括变量的次方、位置序号、位置偏移量和状态平移量;LL12、LL13、LL21、LL32、LL33、LL41均为大于0的整数,其值根据需要自行设定;LL11为不大于LL12的正整数,LL31为不大于LL32的正整数,LL11和LL31值根据需要自行设定;S5参数初始化以及采用伪随机数序列或由不同实数构成的实数序列初始化有效复数状态变量和扩展复数状态变量的状态值,有效复数状态变量和扩展复数状态变量统称为复数状态变量;S6使用多组不同的实部当前位置非线性函数和实部偏移位置非线性函数分别对有效复数状态变量实部当前位置和偏移位置的当前状态值分别进行作用,得实部作用值;使用多组不同的虚部当前位置非线性函数和虚部偏移位置非线性函数分别对有效复数状态变量虚部当前位置和偏移位置的当前状态值分别进行作用,得虚部作用值;基于扩散系数,对实部作用值和虚部作用值分别进行包含加、减、乘、除中至少一种运算的混合运算,通过状态迭代产生随时间分布的复数伪随机数序列;本步骤进一步包括:实部状态迭代,具体为:采用多组不同的实部当前位置非线性函数和实部偏移位置非线性函数分别作用于有效复数状态变量实部当前位置和偏移位置的当前状态值,得实部当前位置非线性函数值和实部偏移位置非线性函数值;以扩散系数为权值,分别对实部当前位置非线性函数值和实部偏移位置非线性函数值进行加权平均,得第一实部作用值和第二实部作用值;对第一实部作用值和第二实部作用值进行相加、相减、相乘或相除运算,得第一混合运算作用值;取部分实部当前位置非线性函数值求算术平均得第一平均值;其余实部当前位置非线性函数值分别与对应的扩散系数相乘后再连乘,连乘值除以其余实部当前位置非线性函数值的数量得第二平均值,第一平均值和第二平均值相减得取部分实部偏移位置非线性函数值求算术平均得第三平均值,其余实部偏移位置非线性函数值分别与对应的扩散系数相乘后再连乘,连乘值除以其余实部偏移位置非线性函数值的数量得第四平均值,第三平均值和第四平均值相减得第一混合运算作用值除以得k+1时刻实部的当前位置状态值;虚部状态迭代,具体为:采用多组不同的虚部当前位置非线性函数和虚部偏移位置非线性函数分别作用于有效复数状态变量虚部当前位置和偏移位置的当前状态值,得虚部当前位置非线性函数值和虚部偏移位置非线性函数值;以扩散系数为权值,分别对虚部当前位置非线性函数值和虚部偏移位置非线性函数值进行加权平均,得第一虚部作用值和第二虚部作用值;对第一虚部作用值和第二虚部作用值进行相加、相减、相乘或相除运算,得第二混合运算作用值;取部分虚部当前位置非线性函数值求算术平均得第五平均值,其余虚部当前位置非线性函数值分别与对应的扩散系数相乘后再连乘,连乘值除以其余虚部当前位置非线性函数值的数量得第六平均值,第五平均值和第六平均值相加得取部分虚部偏移位置非线性函数值求算术平均得第七平均值,所有虚部偏移位置非线性函数值分别与对应的扩散系数相乘后再连乘,连乘值除以所有虚部偏移位置非线性函数值的数量得第八平均值,第七平均值和第八平均值相减得第二混合运算作用值除以得k+1时刻虚部当前位置状态值;S7采用当前有效复数状态变量获得的复数伪随机数序列或经重新排列的复数伪随机数序列修改G0中扩展复数状态变量的状态值,或利用这些修改的状态值相互间进行重新组合排列;然后,读取G中下一个有效复数状态变量,执行步骤S6;当G中所有有效复数状态变量均完成状态迭代,执行步骤S8;S8分别从G1和G2中相关变量抽头提取随时间分布的实部伪随机数序列和虚部伪随机数序列,分别记为第一伪随机数和第二伪随机数,将第一伪随机数和第二伪随机数中各实数随机数按时间顺序分别与对应的基准值比较,若大于基准值,实数伪随机数取值1,否则取值0,即可获得二值化的第一伪随机码和第二伪随机码;基准值分别为描述第一伪随机数和第二伪随机数中各实数伪随机数中间值大小的统计量;S9将第一伪随机码和第二伪随机码进行模二和,得测距码。上述步骤S2中优化复数伪随机码发生器G获得最小级数,具体为:2.1初始化取N=1;2.2从G1的N个状态变量中取k1个变量抽头,从余下(N-k1)个状态变量取k2个变量抽头,求组合数分别表示从G1的N、N-k1个状态变量中分别取k1、k2个变量抽头的组合数,k1和k2均为[1,N]内整数;2.3从G2的N个状态变量中取k3个变量抽头,从余下(N-k3)个状态变量取k4个变量抽头,求组合数分别表示从G2的N、N-k3个状态变量中分别取k3、k4个变量抽头的组合数,k3和k4均为[1,N]内整数;2.4从G1的N个状态变量中取k5个变量抽头,从G2的N个状态变量中取k6个变量抽头,求组合数分别表示从G1和G2的N个状态变量中分别取k5、k6个变量抽头的组合数,k5和k6均为[1,N]内整数;2.5求子步骤2.2~2.4所得组合数之和,若组合数之和大于所用卫星导航系统卫星总数,当前N值即最小级数,结束;否则,执行子步骤2.6;2.6将N加1,执行子步骤2.2。步骤S5中,采用伪随机数序列初始化有效复数状态变量和扩展复数状态变量的状态值,具体为:分别构建两个线性伪随机码发生器,记为第一线性伪随机码发生器和第二线性伪随机码发生器;分别驱动第一线性伪随机码发生器和第二线性伪随机码发生器并从相关寄存器抽头输出第三伪随机码和第四伪随机码;将第三伪随机码和第四伪随机码中0、1分别设置为不同实数,转变为第三伪随机数和第四伪随机数,所得伪随机数序列要保证有效复数状态变量处于混沌工作状态,若所得伪随机数序列不能保证混沌工作状态,需调整非线性函数的扩散系数和函数和/或变量的非线性强度;第三伪随机数和第四伪随机数即分别为复数状态变量的实部和虚部的初始状态值。步骤S5中,采用由不同实数构成的实数序列初始化有效复数状态变量和扩展复数状态变量的状态值,所述的实数序列要保证有效复数状态变量处于混沌工作状态,若实数序列不能保证混沌工作状态,需要调整非线性函数的扩散系数和函数和/或变量的非线性强度。步骤S8中所述的基准值可采用权值法、排序法或中间值法获得。所述的权值法中,对第一伪随机数和第二伪随机数分别进行:求伪随机数中所有实数伪随机数之和,记为和值;各实数伪随机数的平方分别除以和值后再求和即权值和,将权值和作为基准值。所述的排序法中,第一伪随机数和第二伪随机数的基准值分别为第一伪随机数和第二伪随机数中各实数伪随机数经过大小排序后获得的中间值,将中间值作为基准值。所述的中间值法中,对第一伪随机数和第二伪随机数分别进行:求伪随机数中实数伪随机数的最大值和最小值之差,记为极值差,将0.5倍的极值差与最小值求和,将所得和值作为基准值。二、一种多状态变量时空混沌复数伪随机码发生器实现系统,包括:(1)复数伪随机码发生器构建模块,用于构建复数伪随机码发生器G,G由一系列复数状态变量{x(i)+y(i)j}构成(i=1,2,...N,N为正整数),{x(i)}和{y(i)}分别构成伪随机码发生器G1、G2,{x(i)}和{y(i)}为一系列顺序排列且分别相互耦合的状态变量;i表示复数状态变量位置序号,G中包含的是有效复数状态变量;(2)优化模块,用于优化复数伪随机码发生器G获得最小级数,将最小级数作为G的级数N;(3)扩展模块,用于在有效复数状态变量前向或后向补充扩展复数状态变量构成G0,扩展复数状态变量数大于或等于预设的位置偏移量最大值;(4)非线性函数构建模块,用于构建非线性函数;所述的非线性函数构建模块进一步包括(4-1)实部当前位置非线性函数构建模块、(4-2)实部偏移位置非线性函数构建模块、(4-3)虚部当前位置非线性函数构建模块和(4-4)虚部偏移位置非线性函数构建模块;其中:(4-1)实部当前位置非线性函数构建模块,用于实部当前位置非线性函数的构建,具体为:实部当前位置非线性函数由LL12个不同次方的含不同参数值的函数和LL13个不同次方的含不同参数值的变量构成;以各函数负的非线性强度为权,取LL11个函数加权求和得实部第一函数项,对剩余的(LL12-LL11)个函数加权求和得实部第二函数项;以各变量负的非线性强度为权,对LL13个变量加权求和得实部第一变量项;实部第一变量项除以实部第二函数项,加上实部第一函数项和第一实常数项,所得多项式即实部当前位置非线性函数;(4-2)实部偏移位置非线性函数构建模块,用于实部偏移位置非线性函数的构建,具体为:实部偏移位置非线性函数由LL21个不同次方的含不同参数值的变量构成;以各变量负的非线性强度为权,对LL21个变量加权求和得实部第二变量项,实部第二变量项和第二实常数项相加所得多项式即实部偏移位置非线性函数;(4-3)虚部当前位置非线性函数构建模块,用于虚部当前位置非线性函数的构建,具体为:虚部当前位置非线性函数由LL32个不同次方的含不同参数值的函数和LL33个不同次方的含不同参数值的变量构成;以各函数负的非线性强度为权,取LL31个函数加权求和得虚部第一函数项,对剩余的(LL32-LL31)个函数加权求和得虚部第二函数项;以各变量负的非线性强度为权,对LL33个变量加权求和得虚部第一变量项;虚部第一函数项减去虚部第一变量项和虚部第二函数项的乘积,并加上第三实常数项,所得多项式即虚部当前位置非线性函数;(4-4)虚部偏移位置非线性函数构建模块,用于虚部偏移位置非线性函数的构建,具体为:虚部偏移位置非线性函数由LL41个不同次方的含不同参数值的变量构成;以各变量负的非线性强度为权,对LL41个变量加权求和得虚部第二变量项,虚部第二变量项和第四实常数项相加所得多项式即虚部偏移位置非线性函数;其中,函数的参数包括为工作频率、函数的次方、函数的幅度值、函数的相位、位置序号、位置偏移量和状态平移量;位置偏移量即位置序号增加或减少的量,状态平移量即变量状态值增加或减少的量;变量的参数包括变量的次方、位置序号、位置偏移量和状态平移量;LL12、LL13、LL21、LL32、LL33、LL41均为大于0的整数,其值根据需要自行设定;LL11为不大于LL12的正整数,LL31为不大于LL32的正整数,LL11和LL31值根据需要自行设定;(5)初始化模块,用于参数初始化以及采用伪随机数序列或由不同实数构成的实数序列初始化有效复数状态变量和扩展复数状态变量的状态值,有效复数状态变量和扩展复数状态变量统称为复数状态变量;(6)状态迭代模块,用于使用多组不同的实部当前位置非线性函数和实部偏移位置非线性函数分别对有效复数状态变量实部当前位置和偏移位置的当前状态值分别进行作用,得实部作用值;使用多组不同的虚部当前位置非线性函数和虚部偏移位置非线性函数分别对有效复数状态变量虚部当前位置和偏移位置的当前状态值分别进行作用,得虚部作用值;基于扩散系数,对实部作用值和虚部作用值分别进行包含加、减、乘、除中至少一种运算的混合运算,通过状态迭代产生随时间分布的复数伪随机数序列;所述的状态迭代模块进一步包括(6-1)实部状态迭代模块和(6-2)虚部状态迭代模块,其中:(6-1)实部状态迭代模块,用于采用多组不同的实部当前位置非线性函数和实部偏移位置非线性函数分别作用于有效复数状态变量实部当前位置和偏移位置的当前状态值,得实部当前位置非线性函数值和实部偏移位置非线性函数值;以扩散系数为权值,分别对实部当前位置非线性函数值和实部偏移位置非线性函数值进行加权平均,得第一实部作用值和第二实部作用值;对第一实部作用值和第二实部作用值进行相加、相减、相乘或相除运算,得第一混合运算作用值;取部分实部当前位置非线性函数值求算术平均得第一平均值;其余实部当前位置非线性函数值分别与对应的扩散系数相乘后再连乘,连乘值除以其余实部当前位置非线性函数值的数量得第二平均值,第一平均值和第二平均值相减得取部分实部偏移位置非线性函数值求算术平均得第三平均值,其余实部偏移位置非线性函数值分别与对应的扩散系数相乘后再连乘,连乘值除以其余实部偏移位置非线性函数值的数量得第四平均值,第三平均值和第四平均值相减得第一混合运算作用值除以得k+1时刻实部的当前位置状态值;(6-2)虚部状态迭代模块,用于采用多组不同的虚部当前位置非线性函数和虚部偏移位置非线性函数分别作用于有效复数状态变量虚部当前位置和偏移位置的当前状态值,得虚部当前位置非线性函数值和虚部偏移位置非线性函数值;以扩散系数为权值,分别对虚部当前位置非线性函数值和虚部偏移位置非线性函数值进行加权平均,得第一虚部作用值和第二虚部作用值;对第一虚部作用值和第二虚部作用值进行相加、相减、相乘或相除运算,得第二混合运算作用值;取部分虚部当前位置非线性函数值求算术平均得第五平均值,其余虚部当前位置非线性函数值分别与对应的扩散系数相乘后再连乘,连乘值除以其余虚部当前位置非线性函数值的数量得第六平均值,第五平均值和第六平均值相加得取部分虚部偏移位置非线性函数值求算术平均得第七平均值,所有虚部偏移位置非线性函数值分别与对应的扩散系数相乘后再连乘,连乘值除以所有虚部偏移位置非线性函数值的数量得第八平均值,第七平均值和第八平均值相减得第二混合运算作用值除以得k+1时刻虚部当前位置状态值;(7)判断模块,用于采用当前有效复数状态变量获得的复数伪随机数序列或经重新排列的复数伪随机数序列修改G0中扩展复数状态变量的状态值,或利用这些修改的状态值相互间进行重新组合排列;然后,读取G中下一个有效复数状态变量,转至状态迭代模块;当G中所有有效复数状态变量均完成状态迭代,转至二值化模块;(8)二值化模块,用于分别从G1和G2中相关变量抽头提取随时间分布的实部伪随机数序列和虚部伪随机数序列,分别记为第一伪随机数和第二伪随机数,将第一伪随机数和第二伪随机数中各实数随机数按时间顺序分别与对应的基准值比较,若大于基准值,实数伪随机数取值1,否则取值0,即可获得二值化的第一伪随机码和第二伪随机码;基准值分别为描述第一伪随机数和第二伪随机数中各实数伪随机数中间值大小的统计量;(9)测距码获取模块,用于将第一伪随机码和第二伪随机码进行模二和,得测距码。本发明可克服目前二进制伪随机码发生器和实数伪随机码发生器产生的测距码存在的所有技术缺陷,极大提高卫星导航系统测距码的性能,本发明提供了卫星导航系统新一代高性能测距码实现技术,可全面替代当前卫星导航系统测距码实现技术。和现有技术相比,本发明具有如下优点和有益效果:与现有的二进制伪随机码发生器和实数伪随机码发生器实现技术相比,本发明优点为:(1)可获得复杂度高的伪随机码本发明使用多种不同次方的非线性函数共同作用,通过混合运算作用以迭代方式产生伪随机码,所获得的伪随机码复杂度高。(2)可获得安全性强的伪随机码本发明产生复杂度高的伪随机码,可充分保证所获得的伪随机码的高安全性。(3)伪随机码码长不受级数限制本发明产生的是随时间分布的随机码,其最大码长与伪随机码发生器使用级数无关,且可达无限长。(4)级数特少本发明通过复数实现方式,可最大限度降低伪随机码发生器级数。(5)产生伪随机码码型多本发明伪随机码型由初始化复数状态变量状态值的实数、非线性函数包含的参数如扩散系数、非线性强度等的参数精度决定,接收端这些参数精度至少为10-5,本发明可产生的伪随机码型至少为105×L个,L为码长。(6)可随时调整伪随机码特性当伪随机码伪随机性受到破坏,可通过调整非线性函数的扩散系数、函数和/或变量的非线性强度恢复。附图说明图1是本发明方法的具体流程示意图;图2是实施例中二值化的流程示意图;图3是实施例中根据G1第2个状态变量获得的实部伪随机数序列;图4是对图3所示实部伪随机数序列采用权值法二值化获得的伪随机码;图5是对图3所示实部伪随机数序列采用排序法二值化获得的伪随机码;图6是对图3所示实部伪随机数序列采用中间值法二值化获得的伪随机码;图7是实施例中采用权值法二值化处理后获得的测距码;图8是实施例中采用排序法二值化处理后获得的测距码;图9是实施例中采用中间值法二值化处理后获得的测距码;图10是图7所示测距码的自相关函数;图11是图8所示测距码的自相关函数;图12是图9所示测距码的自相关函数;图13是本发明系统结构示意图。具体实施方式下面结合实施例以前向扩展复数状态变量对本发明作进一步详细描述,根据图1实现步骤如下:S1:构建复数伪随机码发生器G,G由顺序排列且相互耦合的N个复数状态变量{x(i)+y(i)j}构成,其中,{x(i)}构成伪随机码发生器G1,{y(i)}构成伪随机码发生器G2,i表示复数状态变量位置序号,N表示级数,i=1,2,...N。S2:优化复数伪随机码发生器G的级数,获得最小级数Noptimal,最小级数即优化后的复数伪随机码发生器G的级数。本步骤进一步包括子步骤:2.1初始化取N=1;2.2从G1的N个状态变量中取k1个变量抽头,从余下(N-k1)状态变量取k2个变量抽头,求组合数分别表示从G1的N、N-k1个状态变量中分别取k1、k2个变量抽头的组合数;2.3从G2的N个状态变量中取k3个变量抽头,从余下(N-k3)变量取k4个变量抽头,求组合数分别表示从G2的N、N-k3个状态变量中分别取k3、k4个变量抽头的组合数;2.4从G1的N个状态变量中取k5个变量抽头,从G2的N个状态变量中取k6个变量抽头,求组合数分别表示从G1和G2的N个状态变量中分别取k5、k6个变量抽头的组合数;2.5求子步骤2.2~2.4所得组合数之和,若组合数之和大于中国北斗卫星导航系统卫星数35,当前N值即最小级数Noptimal,结束;否则,执行步骤2.6;2.6将N加1,执行步骤2.2。表1中列出了最小级数,即表中复数状态变量数。表1实施例所得最小级数复数状态变量数(单位:个)1234变量抽头组合数(单位:种)11151>100S3:将有效复数状态变量前向扩展IM个复数状态变量并构成G0。本步骤的具体实施方式:取比max{Il2,1,Il4,1}大的数值IM,即扩展复数状态变量数;前向扩展IM个复数状态变量,所扩展的IM个复数状态变量记为G0。G0中扩展复数状态变量位置序号i为[1,IM]中整数,G中有效复数状态变量位置序号i为[1+IM,N+IM]中整数。为保证后续计算效率,IM取值不宜过大,一般取不大于10的正整数。S4:作用于有效复数状态变量实部和虚部的非线性函数和状态迭代公式的构建。(4-1)非线性函数的构建:fl1(xk(i))=Σll11=1LL11(-δll11,k(fl1,ff)ffll11nll11(xk(i)))+Σll12=1LL13(-δll12,k(fl1,x)xknll12(i))Σll11=LL11+1LL12(-δll11,k(fl1,ff)ffll11nll11(xk(i)))+λfl1gl2(xk(i))=Σll2=1LL21(-δll2,k(gl2,x)xknll2(i))+λgl2---(1)]]>fl3′(yk(i))=Σll31=1LL31(-δll31,k(fl3′,ff′)ffll31′nll31(yk(i)))-Σll32=1LL33(-δll32,k(fl3′,y)yknll32(i))×Σll31=LL31+1LL32(-δll31,k(fl3′,ff′)ffll31′nll31(yk(i)))+λfl3′gl4′(yk(i))=Σll4=1LL41(-δll4,k(gl4′,y)yknll4(i))+λgl4′---(2)]]>式(1)~(2)中:k表示离散的时间坐标;i表示有效复数状态变量的位置序号,i=1+IM,...,N+IM;xk(i)、yk(i)分别表示k时刻第i个复数状态变量实部和虚部的当前位置状态值;分别表示作用于第i个有效复数状态变量的实部当前位置、实部偏移位置、虚部当前位置、虚部偏移位置的非线性函数,分别包含频率为f0的sin函数和cos函数,相位分别为Φk和Φ'k;l1、l2、l3、l4分别表示非线性函数的序号,即,表示作用于第i个有效复数状态变量实部当前位置的第l1个非线性函数,表示作用于第i个有效复数状态变量实部偏移位置的第l2个非线性函数,表示作用于第i个有效复数状态变量虚部当前位置的第l3个非线性函数,表示作用于第i个有效复数状态变量虚部偏移位置的第l4个非线性函数;ll11、ll12分别表示非线性函数中包含的函数、变量的序号;ll2表示非线性函数中包含的变量的序号;ll31、ll32分别表示非线性函数中包含的函数、变量的序号;ll4表示非线性函数中包含的变量的序号;为非线性函数中次方为的第ll11个函数,为非线性函数中次方为的第ll31个函数;LL12、LL13分别表示非线性函数中函数和变量xk(i)的数量;LL21表示非线性函数中变量xk(i)的数量;LL32、LL33分别表示非线性函数中函数和变量yk(i)的数量;LL41表示非线性函数中变量yk(i)的数量;LL12、LL13、LL21、LL32、LL33、LL41均为大于0的整数,其值根据需要自行设定;LL11为不大于LL12的正整数,LL31为不大于LL32的正整数,其值根据需要自行设定;分别表示k时刻非线性函数中第ll11个函数和第ll12个变量的非线性强度;表示k时刻非线性函数中第ll2个变量的非线性强度;分别表示k时刻非线性函数中第ll31个函数和第ll32个变量的非线性强度;为k时刻非线性函数中第ll4个变量的非线性强度;为非线性函数中第ll12个变量xk(i)的次方;为非线性函数中第ll2个变量xk(i)的次方;为非线性函数中第ll32个变量yk(i)的次方;为非线性函数中第ll4个变量yk(i)的次方;分别为非线性函数包含的实常数,其值根据需要自行设定。上述非线性强度均为实数,上述次方数为大于1的正整数,其值根据需要自行设定;(4-2)状态迭代公式设复数伪随机码发生器G产生的码长为L,使用多组含有不同参数值的非线性函数作用于有效复数状态变量实部和虚部当前位置和偏移位置的当前状态值,以扩散系数为权值通过包含加、减、乘、除中至少一种运算的混合运算方式,使复数状态变量产生随时间分布的复数伪随机数。通过混合运算方式获得的第i个有效复数状态变量(k+1)时刻实部和虚部的状态值xk+1(i)、yk+1(i)的状态迭代公式如下:xk+1(i)=1L12Σl1=1L12αl1,kfl1(xk(i)-nl1,k)×1L22Σl2=1L22βl2,kgl2(xk(i-Il2,k)-nl2)xk(1)(i)+xk(2)(i)yk+1(i)=1L32Σl3=1L32αl3,k′fl3′(yk(i)-nl3,k)×1L42Σl4=1L42βl4,k′gl4′(yk(i-Il4,k)-nl4)yk(1)(i)×yk(2)(i)---(3)]]>式(3)中:xk(1)(i)=1L11Σl1=1L11fl1(xk(i)-nl1,k)-1L12-L11Πl1=L11+1L12αl1,kfl1(xk(i)-nl1,k);]]>xk(2)(i)=1L21Σl2=1L21gl2(xk(i-Il2,k)-nl2)-1L22-L21Πl2=L21+1L22βl2,kgl2(xk(i-Il2,k)-nl2);]]>yk(1)(i)=1L31Σl3=1L31fl3′(yk(i)-nl3,k)+1L32-L31Πl3=L31+1L32αl3,k′fl3′(yk(i)-nl3,k);]]>yk(2)(i)=1L41Σl4=1L41gl4′(yk(i-Il4,k)-nl4)-1L42Σl4=1L42βl4,k′gl4′(yk(i-Il4,k)-nl4);]]>其中:表示k时刻第个偏移位置有效复数状态变量的实部的状态值;表示k时刻第个偏移位置有效复数状态变量的虚部的状态值;L12、L22、L32、L42分别表示非线性函数的数量,L12、L22、L32、L42均为大于0的整数,其值根据需要自行设定;L11、L21、L31、L41分别为不大于L12、L22、L32、L42的正整数,其值根据需要自行设定;和分别表示k时刻非线性函数和包含的位置偏移量;分别表示非线性函数和包含的状态平移量;分别为k时刻非线性函数和包含的状态平移量;分别表示k时刻非线性函数的作用值;分别为非线性函数在k时刻的扩散系数,为实数;S5:参数和复数状态变量状态值的初始化。(5-1)参数初始化参数包括复数状态变量数N(即级数)、码长L、扩展复数状态变量数IM、非线性函数数量、非线性函数参数、扩散系数。非线性函数为包含有不同次方函数和/或变量的多项式形式,参数进一步包括函数和/或变量、函数和/或变量的参数和实常数项,其中函数的参数为工作频率、函数的次方、函数的幅度值、函数的相位、位置序号、位置偏移量、状态平移量,变量的参数为变量的次方、位置序号、位置偏移量、状态平移量。本发明中,函数次方均为大于1的整数,无上限要求;各非线性函数的扩散系数均为实数。非线性函数分别包含频率为f0的sin函数和cos函数,相位分别为Φk和Φ'k,所有函数的幅度值均为数值1,f0为基本工作频率;非线性函数分别为作用于有效复数状态变量实部和虚部当前位置的非线性函数。本实施例,根据表1取复数状态变量数N=3,即最小级数Noptimal,码长L=511位,扩展复数状态变量数量IM=5。作用于有效复数状态变量实部和虚部当前位置的非线性函数的数量L11=1、L12=3、L31=1、L32=3;作用于有效复数状态变量实部和虚部前向偏移位置的非线性函数的数量L21=L41=1、L22=L42=2。作用于实部当前位置的各非线性函数包含的函数最高次方分别为2、4、6次方,作用于虚部当前位置的各非线性函数包含的函数最高次方分别为3、5、7次方;作用于实部前向偏移位置的各非线性函数包含的函数最高次方分别为2、3次方,作用于虚部前向偏移位置的各非线性函数包含的函数最高次方分别为2、3次方。作用于有效复数状态变量实部和虚部当前位置的扩散系数分别为其中,分别表示时刻1时第1、2、3个非线性函数的扩散系数,分别为时刻1时第1、2、3个非线性函数的扩散系数。作用于有效复数状态变量实部和虚部前向偏移位置的扩散系数分别为其中,分别为时刻1时第1、2个非线性函数的扩散系数,分别为时刻1时第1、2个非线性函数的扩散系数。作用于有效复数状态变量实部当前位置的非线性函数包含的最高次方函数在前LL11个函数中,对应的非线性强度分别为其余LL11-1个函数对应的非线性强度为0;LL12-LL11个函数对应的非线性强度自行设定;LL13个变量对应的非线性强度为0;其前向偏移位置最高次方变量对应的非线性强度分别为其余LL21-1个变量对应的非线性强度为0;作用于当前位置虚部的非线性函数包含的最高次方函数在前LL31个函数中,对应的非线性强度分别为其余LL31-1个函数对应的非线性强度为0;LL32-LL31个函数对应的非线性强度自行设定;LL33个变量对应的非线性强度为0;其前向偏移位置最高次方变量对应的非线性强度分别为其余LL41-1个变量对应的非线性强度为0;其中,分别为时刻1时第1、2、3个非线性函数最高次方函数对应的非线性强度,分别为时刻1时第1、2个非线性函数最高次方变量对应的非线性强度,分别为时刻1时第1、2、3个非线性函数最高次方函数对应的非线性强度,分别为时刻1时第1、2个非线性函数最高次方变量对应的非线性强度。有效复数状态变量实部当前位置第1、2、3个非线性函数包含的实常数分别为和包含的状态平移量均分别为1.50005;有效复数状态变量虚部当前位置第1、2、3个非线性函数包含的实常数分别为和包含的状态平移量均为2.50005;有效复数状态变量实部前向偏移位置第1、2个非线性函数包含的实常数分别为和包含的状态平移量均分别为1.00001;有效复数状态变量虚部前向偏移位置第1、2个非线性函数包含的实常数分别为和包含的状态平移量均为2.00002。前向位置偏移量分别为分别表示时刻1时第1、2个非线性函数对应的前向位置偏移量,分别表示时刻1时第1、2个非线性函数对应的前向位置偏移量;时刻1即初始时刻。f0=1.023Hz,nΦ=16,单值区间为[0,π/2],f0为产生的测距码提供基本工作频率,nΦ用来对非线性函数分别包含的sin函数和cos函数在单值区间的相位进行初始相位角均分。本发明中,各非线性函数的扩散系数和函数和/或变量的非线性强度的设置要保证系统处于混沌工作状态,级数设为最小级数,对应当前位置的非线性函数的相位值为有效复数状态变量的位置序号与单值区间角度均分之积,单值区间即变量与其函数值一一对应的区间,相位总分割数为nΦ。(5-2)复数状态变量状态值的初始化可采用伪随机数序列或实数序列进行初始化。若采用伪随机数序列初始化复数状态变量的状态值,可采用线性移位寄存器通过相关寄存器抽头获得伪随机码;若采用实数序列初始化复数状态变量需要保证有效复数状态变量工作于混沌状态。下面将提供采用伪随机数序列初始化复数状态变量的具体实施过程:5.1:根据多项式(4)和(5)构建两个11级线性移位伪随机码发生器:Z1(X)=1+X+X7+X8+X9+X10+X11(4)Z2(X)=1+X+X2+X3+X4+X5+X8+X9+X11(5)5.2:以初始值[11101110111]和[10101010101]分别驱动两个11级线性移位伪随机码发生器,产生伪随机码,并分别从11级线性移位反馈伪随机码发生器最后一移位寄存器提取530位伪随机码,分别记为第三伪随机码和第四伪随机码;5.3:采用0.00085和0.00035分别代替第三伪随机码中数值1和0,采用0.00065和0.00015分别代替第四伪随机码中数值1和0,得第三伪随机数和第四伪随机数;以第三伪随机数为实部、第四伪随机数为虚部构成复数伪随机数序列;5.4:复数状态变量的实部和虚部分别以位置序号乘以0.1和0.2,并与步骤5.3获得的530位复数伪随机数序列的实部和虚部值分别相加,即复数状态变量的实部和虚部的初始值。S6:采用公式(3)对复数伪随机码发生器G中各有效复数状态变量分别进行状态迭代,产生随时间分布的530秒的复数伪随机数序列。S7:对G0中各扩展复数状态变量,以其位置序号乘以0.001后与步骤S6获得的530位复数伪随机数序列的实部值相加,得该扩展复数状态变量的实部状态值;再以其位置序号乘以0.003后与步骤S6获得的530位复数伪随机数序列的虚部值相加,得该扩展复数状态变量的虚部状态值,实现G0中扩展复数状态变量状态值的修改;然后读取G中下一个有效复数状态变量,执行步骤S6。当对G中所有有效复数状态变量均完成状态迭代,执行步骤S8。S8:延迟5秒,以避开初始非混沌振荡信号,先分别从G1第2个、第3个变量抽取长度511秒一组时间状态分布的实部伪随机数序列,见图3,并二值化,见图4~6,并模二和得到第一伪随机码;再从G2第1个变量和第3个变量抽取长度511秒时间状态分布的虚部伪随机数序列,二值化并模二和为第二伪随机码,二值化流程见图2;本发明中,将从G1中相关变量抽头提取的随时间分布的实部伪随机数序列记为第一伪随机数,将从G2中相关变量抽头提取的随时间分布的虚部伪随机数序列记为第二伪随机数。伪随机数的二值化可采用权值法、排序法或中间值法获得:(1)权值法对第一伪随机数和第二伪随机数分别进行:求伪随机数中所有实数伪随机数之和,记为和值;将各实数伪随机数的平方分别除以和值后再求和,记为权值和,将权值和作为基准值。将各实数伪随机数分别与基准值比较,大于基准值,实数伪随机数取值1,否则取值0,从而得到第一伪随机数和第二伪随机数对应的二值化伪随机码,记为第一伪随机码和第二伪随机码。(2)排序法对第一伪随机数和第二伪随机数分别进行:将伪随机数中实数伪随机数按照大小排序,取中间值,将中间值作为基准值。将各实数伪随机数分别与基准值比较,若大于基准值,实数伪随机数取值1,否则取值0,从而得到第一伪随机数和第二伪随机数对应的二值化伪随机码,记为第一伪随机码和第二伪随机码。(3)中间值法对第一伪随机数和第二伪随机数分别进行:求伪随机数中实数伪随机数的最大值和最小值,再求最大值和最小值之差,记为极值差,将0.5倍的极值差与最小值求和,记为极值和值,将极值和值作为基准值。将各实数伪随机数与基准值比较,大于基准值,实数伪随机数取值1,否则取值0,从而得到第一伪随机数和第二伪随机数应的二值化伪随机码,记为第一伪随机码和第二伪随机码。S9:将第一伪随机码和第二伪随机码进行模二和,形成码长为511位的伪随机码,即导航卫星测距码,见图7~9。对测距码的伪随机性进行评价,评价结果见表2~7和图10~12。伪随机性可采用平衡性、游程性和自相关性评价:平衡性即测距码中数值0和1占总数的百分比,理想情况下0和1分别占总数的50%;游程性即测距码中不同长度的游程占总游程数的百分比,理想情况下各长度游程占总游程数的百分比为其中,a表示游程长度;自相关性即测距码自相关函数的δ函数特性。表2图7所示测距码的平衡性数值占总数百分比(%)050.68149.32表3图8所示测距码的平衡性数值占总数百分比(%)046.18153.82表4图9所示测距码的平衡性数值占总数百分比(%)048.53151.47表5图7所示测距码的游程性游程长度占游程总数百分比(%)145.65224.35314.7843.9152.6161.30表6图8所示测距码的游程性游程长度占游程总数百分比(%)144.28234.69313.6544.0652.2161.11表7图9所示测距码的游程性游程长度占游程总数百分比(%)155.08226.56315.7441.6450.6660.33当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1