混沌序列产生

35 篇文章 29 订阅
9 篇文章 6 订阅

文章目录

前言

一、混沌序列产生原理

二、仿真实验

总结


前言

         本文简单介绍了混沌序列产生的原理并仿真分析了序列的相关性。


一、混沌序列产生原理

混沌序列的特性

       混沌现象是在非线性动态系统中出现的确定性的类似随机的过程,这种过程既非周期又不收敛,并且对初始值极其敏感。而混沌序列就是这种现象的产物之一,基于混沌现象的的特性,混沌序列具有以下特性:初始条件的微小的变化即可导致大范围内不同的结果,这使得信息的保密性大大增强。 基于这一特性,可以利用混沌信号产生跳频序列,从而达到抗干扰和保密通信的目的。

混沌序列的生成

       首先通过Logistics映射法离散形式x_{n+1}=1-2x_{n}^{2},x_{n}\in \left [ -1,1 \right ]产生一系列离散值,然后通过门限将离散值进行量化,量化成0或1,这样一系列的离散值就转化成了一个二进制的混沌序列。

跳频序列的产生

        跳频序列可以通过混沌信号来产生,首先利用Logistics映射、Chebyshev映射及Tent映射等方法产生混沌信号,然后运用排序法或T位截断法产生跳频序列。

二、仿真实验

       利用Logistic 映射法生成的混沌序列的自相关性质。考虑到Logistics映射的函数是确定,而影响混沌序列生成的因素包括两个因素:初始值和门限。这里为了方便,考虑门限值th=0,这样影响混沌序列产生的因素为初始值,又由于混沌序列的特性:初始值的微小变化即可导致大范围内不同的结果。这里为了产生两个不同的混沌序列,只需考虑初始值不同即可,为了使这两个混沌序列的相关性更加好,截断的位置从S+1处开始

截断位数T=10,结果如下:

T=100,结果如下:

 

T=1000时,结果如下:

 

       从实验结果可以看出当截断的位数足够多时,混沌序列的自相关函数以及互相关函数的特性越接近噪声的相关特性。

代码

 %*********************************************
%采用Logistics映射以及T为截断法产生混沌序列
%*********************************************
clear all;
%*********************************************
%二进制符号序列生成
%*********************************************
x1=0.15124;                  %初始值
th1=0;                       %门限
x2=0.15123;                  %初始值
th2=0;                       %门限
 
S=20;                        %舍弃的位数                         
T=1000;                        %截断的位数  
 
H1=zeros(1,T);               %码序列
H2=zeros(1,T);
a=x1;b=x2;                   %保存初始值
 
for i=1:S                    %舍去前S位
    x1=1-2*x1*x1;
    x2=1-2*x2*x2;
end
for i=1:T                    %从S+1为开始截断,截断T位
    if x1>th1;
        H1(i)=1;
    else
        H1(i)=0;
    end
    if x2>th2;
        H2(i)=1;
    else
        H2(i)=0;
    end
    x1=1-2*x1*x1;
    x2=1-2*x2*x2;
end
H1=2*H1-1;                         %双极性
H2=2*H2-1;
%********************************************
%自相关函数
%********************************************
t=-T+1:T-1;
N=2*T-1;              
Rh1=zeros(1,N);                    %自相关函数
Rh2=zeros(1,N);
for j=0:T-1
    Rh1(T+j)=sum(H1.*[H1(j+1:T) H1(1:j)])/T;
    Rh2(T+j)=sum(H2.*[H2(j+1:T) H2(1:j)])/T;
end
Rh1(1:T-1)=Rh1(N:-1:T+1);
Rh2(1:T-1)=Rh2(N:-1:T+1);
%********************************************
%互相关函数
%********************************************
Rh1h2=zeros(1,N);                  %互相关函数      
for j=0:T-1
    Rh1h2(T+j)=sum(H1.*[H2(j+1:T) H2(1:j)])/T;
end
Rh1h2(1:T-1)=Rh1h2(N:-1:T+1);
 
figure(1)
subplot(211);
stairs(H1);
title(['初始值x1=',num2str(a),',门限th1=',num2str(th1)...
    ,',码长T=',num2str(T),'时,Logistics产生的混沌码序列']);
axis([0 T -1.5 1.5]);
subplot(212);
stairs(H2);
title(['初始值x2=',num2str(b),',门限th2=',num2str(th2)...
    ,',码长T=',num2str(T),'时,Logistics产生的混沌码序列']);
axis([0 T -1.5 1.5]);
 
figure(2)
subplot(121);
plot(t,Rh1);
title('混沌序列H1的自相关函数');
subplot(122);
plot(t,Rh2);
title('混沌序列H2的自相关函数');
 
figure(3)
plot(t,Rh1h2);
title('混沌序列H1、H2的互相关函数')
axis([-T T -1 1]);

总结

       通过对混沌序列相关特性的研究,可以看出混沌序列具有良好的相关特性,通过对混沌序列进行截断产生的新序列可以作为跳频信号的跳频图案。转载请附链接:【杨(_> <_)】的博客_CSDN博客-信号处理,代码实现,SAR领域博主

评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

【杨(_> <_)】

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值