clc;
clear all;
close all;
x0=0.35; %初值
D=1.999; %Lyapunov指数λ
N=100000;
K=128;
Ka=fix(N/K);
xn=zeros(1,N);
c=zeros(1,N);
u=zeros(Ka,K);
x=x0;
for k=1:N
if x<0 && x>-0.5 %Bernulli映射
x=D*x+0.5;
xn(k)=x;
elseif x>0 && x<0.5
x=D*x-0.5;
xn(k)=x;
end
end
xxn(1)=x0;
xxn(2:N)=xn(1:N-1);
Ex=mean(xxn);
for i=1:N
if xxn(i)>=Ex
c(i)=1;
elseif xxn(i)<Ex
c(i)=-1;
end
end
for n=1:Ka
u(n,:)=c(K*(n-1)+1:K*n);
end
[l_a,l_b]=xcorr(u(143,:),'biased');
bx=l_a;
l_a=l_a/max(l_a);
l_a=20*log10(abs(l_a));
figure;%自相关
plot(l_b,l_a);
xlim([-100 100]);
ylim([-25 0]);
title('Bernulli二相码自相关')
grid on;
NFFT=128;
f=1/2*linspace(-1,1,NFFT);
lFT=abs(fft(bx,NFFT));
figure;
plot(f,10*log10(abs(lFT)/max(abs(lFT)))) ;
ylim([-40 0]);
xlabel('归一化频率');
ylabel('幅度dB');
title('Bernulli二相码功率谱');
grid on;
wr=lFT;
sv=sum((wr-mean(wr)).^2)/length(wr);
abs(sv)
评论0