clc;
clear all;
close all;
s_noise=0.05 * randn(1, 100000);
x1=zeros(1,100000);
x2=zeros(1,100000);
x3=zeros(1,100000);
%雷达1
PRI1=197;%us
T1=2e-6;%脉冲宽度
x1_start=1;
x1_range=100000;
x1(x1_start:PRI1:x1_range)=1;%x(2:pri_3:x_range)+1;
x=x1+s_noise;
for i=1:100000%去噪
if x(1,i)<0.5
x(1,i)=0;
end
end
%脉冲个数
s_number=0;
for i=1:100000
if x(1,i)~=0
s_number=s_number+1;
end
end
%到达时间
y_daodashijian=zeros(1, s_number);
a=1;%此程序所有a均用来暂存数据
for i=1:100000
if x(1,i)~=0
y_daodashijian(1,a)=i;
a=a+1;
end
end
%到达时间排序(冒泡排序)
a=0;%此程序所有a均用来暂存数据
for i=1:( s_number-1)
for j=1: s_number-i
if y_daodashijian(1,i)>y_daodashijian(1,i+1)
a=y_daodashijian(1,i+1);
y_daodashijian(1,i+1)=y_daodashijian(1,i);
y_daodashijian(1,i)=a;
end
end
end
doudonglv=0.07;%抖动
jitter=(1-2*rand(1, s_number))*doudonglv*PRI1;
y_daodashijian=jitter+y_daodashijian;
ysort = sort(y_daodashijian);
% stem(y_daodashijian,'Marker','none');验证是否排好序
s_jieguo=zeros(1,9998);
for t=1:4%循环阶数
s_jiange=zeros(1,s_number-t);
for i=1:(s_number-t)
s_jiange(1,i)=y_daodashijian(1,i+t)-y_daodashijian(1,i);
end
%正常令5us为一个箱,10000us应该有2000箱子,但是观察到相邻脉冲间隔
% 最大不到200us,所以设置40个箱
s_xiang=zeros(1,2000)
for i=1:2000
for j=1:(s_number-t)
if (s_jiange(1,j)>=5*(i-1))&& s_jiange(1,j)<(i*5)
s_xiang(1,i)=s_xiang(1,i)+1;
end
end
end
s_jieguo_guocheng=zeros(1,2000);
for i=1:2000
s_jieguo_guocheng(1,5*i-2)=s_xiang(1,i);
end
s_jieguo=s_jieguo+s_jieguo_guocheng;%s_jieguo2里面有一阶结果了
figure(t);
stem(s_jieguo,'r','Marker','none');
hold on;
x_kebiancanshu=0.6;
xpri=(1e-10:0.1:1200);
y=x_kebiancanshu*1e-1./(xpri*1e-6);%coeff1*time*10^6
plot(xpri,y) %门限
title(['抖动率',num2str(100*doudonglv),'%','累计',num2str(t),'阶CDIF直方图'])
xlabel('PRI估计值/us');ylabel('统计值/V');
axis([0 1200 0 600]);
end