1.一种基于混沌的伪随机信号发生方法,其特征在于,包括如下步骤:S1、利用混沌系统产生混沌时间序列,混沌时间序列为浮点值模拟信号;
S2、对混沌时间序列进行量化处理生成伪随机信号,伪随机信号为实值符号序列的数字信号;
步骤S1中,利用Lorenz流混沌系统产生混沌时间序列;
步骤S1中,应用Runge-Kutta方法求解,生成浮点值模拟信号;
步骤S2中,应用HEBQ算法对混沌时间序列进行量化处理;
Lorenz流混沌系统应用Runge-Kutta方法产生混沌时间序列的具体过程如下:采用Lorenz流混沌系统产生混沌时间序列:
其中,x、y、z是混沌序列的相分量,α、b、r是混沌序列的参量,取α=16,b=4,r=45.92,最终取x相分量生成混沌时间序列;
连续混沌系统进行混沌时间序列生成时,应用Runge-Kutta方法,令初值问题表述如下:y'=f(t,y),y(t0)=y0;
其中,t是时间变量;
对于该问题的求解由如下方程给出:
其中,h是计算的时间间隔,各ki是估算的斜率:k1=f(tn,yn)
k4=f(tn+h,yn+hk3)
k1是时间段开始时的斜率;k2是时间段中点的斜率,通过欧拉法采用斜率k1来决定y在点 的值;k3也是中点的斜率,采用斜率k2决定y值;k4是时间段终点的斜率,其y值用k3决定;当四个斜率取平均时,中点的斜率有更大的权值,从而得到斜率平均值:假设伪随机信号值域大小为q,混沌系统产生的混沌时间序列为X,X={x'[0],x'[1],···,x'[L-1]},L是混沌时间序列的长度;
应用HEBQ算法对混沌时间序列进行量化处理生成伪随机信号具体过程如下:求取混沌时间序列X={x1,…,xi,…,xL}的最大值Max_X与最小值Min_X,取划分区间数p=m×q,q为值域大小,要求p远大于q,一般取m≥100;
记录划分区间数p时的区间X'={x′1,x′2,…x′p+1},同时统计序列X在p段中每段出现的频数;
从区间1到区间p对频数进行累加得到f_Num,当出现 时,L是混沌时间序列的长度,记录X′i,并将其赋给量化区间Y={y1,…,yi,…,yp+1}中对应的位置j中(即yj=x′i),然后j=j+1,其中y1=Min_X,yq+1=Max_X,直到做完到所有区间的累加,便得到了量化区间Y={y1,…,yi,…,yp+1};
根据量化区间Y,对混沌时间序列X={x1,…,xk,…,xL}进行量化,即当yi≤Xk≤yi+1,取i存入F={f1,…,fk,…,fL}中对应的fk,所得到的F即为伪随机信号。
2.一种基于混沌的伪随机信号发生器,其特征在于,包括混沌系统、量化系统,所述混沌系统与所述量化系统连接;
所述混沌系统用于产生混沌时间序列,混沌时间序列为浮点值模拟信号;
所述量化系统用于对混沌时间序列进行量化处理生成伪随机信号,伪随机信号为实值符号序列的数字信号;
所述混沌系统为Lorenz流混沌系统;
所述混沌系统应用Runge-Kutta方法求解,生成浮点值模拟信号;
所述量化系统应用HEBQ算法对混沌时间序列进行量化处理;
Lorenz流混沌系统应用Runge-Kutta方法产生混沌时间序列的具体过程如下:采用Lorenz流混沌系统产生混沌时间序列:
其中,x、y、z是混沌序列的相分量,α、b、r是混沌序列的参量,取α=16,b=4,r=45.92,最终取x相分量生成混沌时间序列;
连续混沌系统进行混沌时间序列生成时,应用Runge-Kutta方法,令初值问题表述如下:y'=f(t,y),y(t0)=y0;
其中,t是时间变量;
对于该问题的求解由如下方程给出:
其中,h是计算的时间间隔,各ki是估算的斜率:k1=f(tn,yn)
k4=f(tn+h,yn+hk3)
k1是时间段开始时的斜率;k2是时间段中点的斜率,通过欧拉法采用斜率k1来决定y在点 的值;k3也是中点的斜率,采用斜率k2决定y值;k4是时间段终点的斜率,其y值用k3决定;当四个斜率取平均时,中点的斜率有更大的权值,从而得到斜率平均值:假设伪随机信号值域大小为q,混沌系统产生的混沌时间序列为X,X={x'[0],x'[1],···,x'[L-1]},L是混沌时间序列的长度;
应用HEBQ算法对混沌时间序列进行量化处理生成伪随机信号具体过程如下:求取混沌时间序列X={x1,…,xi,…,xL}的最大值Max_X与最小值Min_X,取划分区间数p=m×q,q为值域大小,要求p远大于q,一般取m≥100;
记录划分区间数p时的区间X'={x′1,x′2,…x′p+1},同时统计序列X在p段中每段出现的频数;
从区间1到区间p对频数进行累加得到f_Num,当出现 时,L是混沌时间序列的长度,记录X′i,并将其赋给量化区间Y={y1,…,yi,…,yp+1}中对应的位置j中(即yj=x′i),然后j=j+1,其中y1=Min_X,yq+1=Max_X,直到做完到所有区间的累加,便得到了量化区间Y={y1,…,yi,…,yp+1};
根据量化区间Y,对混沌时间序列X={x1,…,xk,…,xL}进行量化,即当yi≤Xk≤yi+1,取i存入F={f1,…,fk,…,fL}中对应的fk,所得到的F即为伪随机信号。