空间目标轨道分布特性分析实验报告
一、实验目的
1、了解空间目标轨道分布规律;
2、掌握TLE数据格式分析方法;
3、掌握空间目标高度分布特性分析方法与过程。
二、实验环境
Matlab或C语言
三、实验原理
1、空间目标及其分布
空间目标广义是指离地球表面120公里以外空间的所有目标,包括自然天体和人造天体。本研究报告中的空间目标系指环绕在地球周围数万公里内的人造天体,包括卫星、平台和运载,以及上述目标解体后形成的空间碎片。对这些人造目标进行监视属空间目标监视系统的范畴。
根据有关研究,环绕地球的空间目标数目大约为35,000,000,其中大小在1~10cm的约110,000个,大于10cm的在8000个以上。目前美国空间目标监视系统可对30cm以上的空间目标进行例行的日常观测,对10cm以上的目标可能观测到,但不能保证例行的日常跟踪。上述空间目标中,到20##年8月24日,被美国空间目标监视系统编目过的空间目标数目为33311个,其中21597个已经陨落,11714个仍在轨。
空间目标都有一定大小、形状,运行在一定轨道上,使得每一空间目标都有其独特的轨道特性、几何特性和物理特性。这些特性奠定了对空间目标进行定轨和识别的基础,尤其是在用航天器一般都有特定的外形、稳定的轨道、姿态、温度等特性,是空间目标识别的主要技术支撑。
空间目标监视的核心任务是对空间目标进行探测、跟踪和识别。获取空间目标的几何特征、物理特征和运动参数等重要目标信息,进而确定目标威胁度、警戒空间碰撞、提供安全告警信息,是实施防御性空间对抗和进攻性空间对抗的基础。其中在空间目标的识别过程中,空间目标的轨道特性是主要依据,而其几何特性和物理特性则是对其轨道特性的进一步补充。
空间目标的分布是指空间分布,空间分布由轨道分布体现,了解空间目标的轨道分布特征对探测系统的设计等都具有非常重要的参考价值。这里主要通过分析轨道根数的分布来完成空间目标分布的统计,主要从空间目标半长轴、偏心率和轨道倾角三个方面进行考虑。
2、TLE文件格式分析
NASA发布航天器轨道根数的文本文件是TLE格式,TLE文件有多种扩展名,包括*.wr、*.fr、*.gd、*.om、*.sd和*.tce等六种,NORAD的双行轨道根数保存在tce文件中,由两行组成,有效字符为数字0-9,大写字母A-Z、正负号、空格和句点。其格式如下[4]:
比特位
1 3 8 10 17 19 32 34 43 45 52 54 61 63 69
1 NNNNNC NNNNNAAA NNNNN.NNNNNNNN +.NNNNNNNN +NNNNN-N +NNNNN-N N NNNNN
2 NNNNN NNN.NNNN NNN.NNNN NNNNNNN NNN.NNNN NNN.NNNN NN.NNNNNNNNNNNNNN
包括的数据项有:行号、卫星编号、卫星密级、卫星国际编号(发射年份、年中序号、发射中产生的目标序列)、历元之年份、历元之天数、平动一阶导数、平动二阶导数、大气阻力项、定规模型的类型、和校验结果、轨道倾角、升交点赤经、偏心率、近地点幅角、平近点角、平均角速度、相对于历元的圈数。
具体定义见表1、2。
表1 双行根数第一行格式定义
表2 双行根数第二行格式定义
其中,需要说明的是:
(1)1.2为NORAD根据目标初次发现所制定的编目号;
(2)1.4~1.6是遵守国际公约依据最终发射时间的编号,与美国宇航局(NASA)的国家空间科学数据中心(NSSDC)等一致;
(3)1.7~1.8的历元采用平太阳时。
以下是NORAD公布的第一颗全球星的双行根数,供对比参考。
GLBALSTAR 01
1 25162U 98008 00069.18987500 -.00000104 00000-0 00000-0 0 3422
2 25162 52.0028 117.1248 0000635 142.9613 217.1298 12.62272059 95313
通过对空间目标轨道信息的分析,确定将从tce文件中提取的数据项有卫星编号、轨道倾角、升交点赤经、偏心率、近地点幅角、平近点角、平均角速度。
四、实验内容
1、分析两行根数(TLE)的数据格式;
用matlab读取*.TCE文件,本实验主要用的是fopen、importdata和str2num三个函数,先用fopen函数打开文件,然后用importdata函数将原文件中的数据以struct型读取出来,并存入S矩阵,其结构如下:
代码如下:
S=fopen('stkSatDbAll.tce');
S=importdata('stkSatDbAll.tce');
采用此种方法读取的数据,可以将原文件中的卫星编号、轨道倾角和轨道偏心率等信息直接以类似矩阵的形式存放,只是数据格式为cell型,暂无法直接进行运算:
利用以下代码提取含有六个轨道根数的偶数行:
[m1 n1]=size(S.textdata);
[m2 n2]=size(S.data);
for i=2:2:m1
for j=1:n1
A(i/2,j)=S.textdata(i,j);%提取偶数行
end
end
又观察看出,卫星的角速度数据存放在S.data矩阵的第一列,卫星的轨道倾角数据和偏心率数据分别存放在cell型数据S.textdata的第3列和第5列,将其分别提取出来:
for i=2:2:m2
for j=1:n2
B(i/2,j)=S.data(i,j); %角速度
end
end
for i=1:m1/2
A1(i)=A(i,3);
end
A1=A(:,3); %轨道倾角
A2=A(:,5); %偏心率
然后再利用str2num函数将数据格式转换为可以计算的矩阵形式:
for i=1:length(A1);
A_qingjiao(i,1)=str2num(A1{i,1});
end
for i=1:length(A2);
A_pianxinlv(i,1)=str2num(A2{i,1})*1e-7;
end
2、对目前在轨目标半长轴、偏心率和轨道倾角的分布规律进行统计分析;
(1)在轨目标轨道倾角分布规律统计
首先用直方图进行倾角的频数分布统计,分为90个区间,统计图表如下:
从上图可以看出轨道倾角的大致分布情况,有一部卫星的倾角在0度至30度之间,而倾角在50度附近的卫星数量较少,60至80之间也有较多卫星分布,90至100度倾角之间卫星的分布密度最大,到了110度往上,就很少有卫星存在了。
编写代码更细一步统计卫星分布情况,列出表格如下:
(2)在轨目标偏心率分布规律统计
下图为用直方图进行倾角的频数分布统计,分为20个区间,统计图表如下:
由表格可以看出,卫星轨道偏心率在0——0.1之间分布最多,最为密集,同时也反映出大多数卫星的轨道都是近圆轨道,更详细的分布情况如下所示:
(3)在轨目标半长轴分布规律统计
首先用直方图进行倾角的频数分布统计,分为100个区间,统计图表如下:
更详细的半长轴分布情况可以从下图的表格看出:
3、分别统计低轨、中轨和高轨目标的分布规律。
从上一实验内容中已经求出卫星轨道半长轴的数值,又知地球的平均半径为6378.145千米,故两者相减即可求出各个卫星的轨道高度。已知轨道高度小于等于2000千米的卫星为地轨卫星,轨道高度在2000千米至33000千米之间的为中轨卫星,轨道高度在33000千米以上的为高轨卫星。统计出低中高轨卫星数量分布情况如下:
可以看出,大多数卫星为低轨卫星,有8000多个,中轨卫星有1600多个,最少的是高轨卫星,只有946个。
五、实验程序
clc;clearall;close all;
S=fopen('stkSatDbAll.tce');
S=importdata('stkSatDbAll.tce');
[m1 n1]=size(S.textdata);
[m2 n2]=size(S.data);
fori=2:2:m1
for j=1:n1
A(i/2,j)=S.textdata(i,j);%提取偶数行
end
end
fori=2:2:m2
for j=1:n2
B(i/2,j)=S.data(i,j); %角速度
end
end
fori=1:m1/2
A1(i)=A(i,3);
end
A1=A(:,3); %轨道倾角
A2=A(:,5); %偏心率
u=398600.47;
A_banchangzhou=((24*3600./B(:,1)/2/pi).^2*u).^(1/3); %半长轴,单位千米
% A_banchangzhou=(u./(B(:,1)*2*pi/24/3600).^2).^1/3;
fori=1:length(A1);
A_qingjiao(i,1)=str2num(A1{i,1}); %转换为矩阵形式
end
fori=1:length(A2);
A_pianxinlv(i,1)=str2num(A2{i,1})*1e-7;
end
%%%统计轨道倾角
figure;
hist(A_qingjiao,90);
max(A_qingjiao)
min(A_qingjiao)
e1=find((A_qingjiao>=0)&(A_qingjiao<10));length(e1);
e2=find((A_qingjiao>=10)&(A_qingjiao<20));length(e2);
e3=find((A_qingjiao>=20)&(A_qingjiao<30));length(e3);
e4=find((A_qingjiao>=30)&(A_qingjiao<40));length(e4);
e5=find((A_qingjiao>=40)&(A_qingjiao<50));length(e5);
e6=find((A_qingjiao>=50)&(A_qingjiao<60));length(e6);
e7=find((A_qingjiao>=60)&(A_qingjiao<65));length(e7);
e8=find((A_qingjiao>=65)&(A_qingjiao<70));length(e8);
e9=find((A_qingjiao>=70)&(A_qingjiao<72));length(e9);
e10=find((A_qingjiao>=72)&(A_qingjiao<75));length(e10);
e11=find((A_qingjiao>=75)&(A_qingjiao<80));length(e11);
e12=find((A_qingjiao>=80)&(A_qingjiao<82));length(e12);
e13=find((A_qingjiao>=82)&(A_qingjiao<83));length(e13);
e14=find((A_qingjiao>=83)&(A_qingjiao<90));length(e14);
e15=find((A_qingjiao>=90)&(A_qingjiao<98));length(e15);
e16=find((A_qingjiao>=98)&(A_qingjiao<99));length(e16);
e17=find((A_qingjiao>=99)&(A_qingjiao<100));length(e17);
e18=find((A_qingjiao>=100)&(A_qingjiao<110));length(e18);
e19=find((A_qingjiao>=110)&(A_qingjiao<150));length(e19);
%%%%%%统计偏心率
figure;
hist(A_pianxinlv,20);
max(A_pianxinlv)
min(A_pianxinlv)
f0=find(A_pianxinlv==0);length(f0);
f1=find((A_pianxinlv>=0)&(A_pianxinlv<0.001));length(f1);
f2=find((A_pianxinlv>=0.001)&(A_pianxinlv<0.005));length(f2);
f3=find((A_pianxinlv>=0.005)&(A_pianxinlv<0.01));length(f3);
f4=find((A_pianxinlv>=0.01)&(A_pianxinlv<0.1));length(f4);
f5=find((A_pianxinlv>=0.1)&(A_pianxinlv<0.3));length(f5);
f6=find((A_pianxinlv>=0.3)&(A_pianxinlv<0.5));length(f6);
f7=find((A_pianxinlv>=0.5)&(A_pianxinlv<0.7));length(f7);
f8=find((A_pianxinlv>=0.7)&(A_pianxinlv<1));length(f8);
f9=find(A_pianxinlv==1);length(f9);
%%%%统计轨道半长轴
figure;
hist(A_banchangzhou,100);
max(A_banchangzhou)
min(A_banchangzhou)
g1=find((A_banchangzhou>=0)&(A_banchangzhou<8000));length(g1);
g2=find((A_banchangzhou>=8000)&(A_banchangzhou<16000));length(g2);
g3=find((A_banchangzhou>=16000)&(A_banchangzhou<22000));length(g3);
g4=find(A_banchangzhou>=22000);length(g4);
%%%%%轨道高度
A_gaodu=A_banchangzhou-6378.145;
h1=find(A_gaodu<2000);digui=length(h1)
h2=find((A_gaodu>=2000)&(A_gaodu<=33000));zhonggui=length(h2)
h3=find(A_gaodu>33000);gaogui=length(h3)
第二篇:空间目标轨道分布特性分析实验报告
空间目标轨道分布特性分析实验报告
一、实验目的
1、了解空间目标轨道分布规律;
2、掌握TLE数据格式分析方法;
3、掌握空间目标高度分布特性分析方法与过程。
二、实验环境
Matlab或C语言
三、实验原理
1、空间目标及其分布
空间目标广义是指离地球表面120公里以外空间的所有目标,包括自然天体和人造天体。本研究报告中的空间目标系指环绕在地球周围数万公里内的人造天体,包括卫星、平台和运载,以及上述目标解体后形成的空间碎片。对这些人造目标进行监视属空间目标监视系统的范畴。
根据有关研究,环绕地球的空间目标数目大约为35,000,000,其中大小在1~10cm的约110,000个,大于10cm的在8000个以上。目前美国空间目标监视系统可对30cm以上的空间目标进行例行的日常观测,对10cm以上的目标可能观测到,但不能保证例行的日常跟踪。上述空间目标中,到20##年8月24日,被美国空间目标监视系统编目过的空间目标数目为33311个,其中21597个已经陨落,11714个仍在轨。
空间目标都有一定大小、形状,运行在一定轨道上,使得每一空间目标都有其独特的轨道特性、几何特性和物理特性。这些特性奠定了对空间目标进行定轨和识别的基础,尤其是在用航天器一般都有特定的外形、稳定的轨道、姿态、温度等特性,是空间目标识别的主要技术支撑。
空间目标监视的核心任务是对空间目标进行探测、跟踪和识别。获取空间目标的几何特征、物理特征和运动参数等重要目标信息,进而确定目标威胁度、警戒空间碰撞、提供安全告警信息,是实施防御性空间对抗和进攻性空间对抗的基础。其中在空间目标的识别过程中,空间目标的轨道特性是主要依据,而其几何特性和物理特性则是对其轨道特性的进一步补充。
空间目标的分布是指空间分布,空间分布由轨道分布体现,了解空间目标的轨道分布特征对探测系统的设计等都具有非常重要的参考价值。这里主要通过分析轨道根数的分布来完成空间目标分布的统计,主要从空间目标半长轴、偏心率和轨道倾角三个方面进行考虑。
2、TLE文件格式分析
NASA发布航天器轨道根数的文本文件是TLE格式,TLE文件有多种扩展名,包括*.wr、*.fr、*.gd、*.om、*.sd和*.tce等六种,NORAD的双行轨道根数保存在tce文件中,由两行组成,有效字符为数字0-9,大写字母A-Z、正负号、空格和句点。其格式如下[4]:
比特位
1 3 8 10 17 19 32 34 43 45 52 54 61 63 69
1 NNNNNC NNNNNAAA NNNNN.NNNNNNNN +.NNNNNNNN +NNNNN-N +NNNNN-N N NNNNN
2 NNNNN NNN.NNNN NNN.NNNN NNNNNNN NNN.NNNN NNN.NNNN NN.NNNNNNNNNNNNNN
包括的数据项有:行号、卫星编号、卫星密级、卫星国际编号(发射年份、年中序号、发射中产生的目标序列)、历元之年份、历元之天数、平动一阶导数、平动二阶导数、大气阻力项、定规模型的类型、和校验结果、轨道倾角、升交点赤经、偏心率、近地点幅角、平近点角、平均角速度、相对于历元的圈数。
具体定义见表1、2。
表1 双行根数第一行格式定义
表2 双行根数第二行格式定义
其中,需要说明的是:
(1)1.2为NORAD根据目标初次发现所制定的编目号;
(2)1.4~1.6是遵守国际公约依据最终发射时间的编号,与美国宇航局(NASA)的国家空间科学数据中心(NSSDC)等一致;
(3)1.7~1.8的历元采用平太阳时。
以下是NORAD公布的第一颗全球星的双行根数,供对比参考。
GLBALSTAR 01
1 25162U 98008 00069.18987500 -.00000104 00000-0 00000-0 0 3422
2 25162 52.0028 117.1248 0000635 142.9613 217.1298 12.62272059 95313
通过对空间目标轨道信息的分析,确定将从tce文件中提取的数据项有卫星编号、轨道倾角、升交点赤经、偏心率、近地点幅角、平近点角、平均角速度。
四、实验内容
1、分析两行根数(TLE)的数据格式;
用matlab读取*.TCE文件,本实验主要用的是fopen、importdata和str2num三个函数,先用fopen函数打开文件,然后用importdata函数将原文件中的数据以struct型读取出来,并存入S矩阵,其结构如下:
代码如下:
S=fopen('stkSatDbAll.tce');
S=importdata('stkSatDbAll.tce');
采用此种方法读取的数据,可以将原文件中的卫星编号、轨道倾角和轨道偏心率等信息直接以类似矩阵的形式存放,只是数据格式为cell型,暂无法直接进行运算:
利用以下代码提取含有六个轨道根数的偶数行:
[m1 n1]=size(S.textdata);
[m2 n2]=size(S.data);
for i=2:2:m1
for j=1:n1
A(i/2,j)=S.textdata(i,j);%提取偶数行
end
end
又观察看出,卫星的角速度数据存放在S.data矩阵的第一列,卫星的轨道倾角数据和偏心率数据分别存放在cell型数据S.textdata的第3列和第5列,将其分别提取出来:
for i=2:2:m2
for j=1:n2
B(i/2,j)=S.data(i,j); %角速度
end
end
for i=1:m1/2
A1(i)=A(i,3);
end
A1=A(:,3); %轨道倾角
A2=A(:,5); %偏心率
然后再利用str2num函数将数据格式转换为可以计算的矩阵形式:
for i=1:length(A1);
A_qingjiao(i,1)=str2num(A1{i,1});
end
for i=1:length(A2);
A_pianxinlv(i,1)=str2num(A2{i,1})*1e-7;
end
2、对目前在轨目标半长轴、偏心率和轨道倾角的分布规律进行统计分析;
(1)在轨目标轨道倾角分布规律统计
首先用直方图进行倾角的频数分布统计,分为90个区间,统计图表如下:
从上图可以看出轨道倾角的大致分布情况,有一部卫星的倾角在0度至30度之间,而倾角在50度附近的卫星数量较少,60至80之间也有较多卫星分布,90至100度倾角之间卫星的分布密度最大,到了110度往上,就很少有卫星存在了。
编写代码更细一步统计卫星分布情况,列出表格如下:
(2)在轨目标偏心率分布规律统计
下图为用直方图进行倾角的频数分布统计,分为20个区间,统计图表如下:
由表格可以看出,卫星轨道偏心率在0——0.1之间分布最多,最为密集,同时也反映出大多数卫星的轨道都是近圆轨道,更详细的分布情况如下所示:
(3)在轨目标半长轴分布规律统计
首先用直方图进行倾角的频数分布统计,分为100个区间,统计图表如下:
更详细的半长轴分布情况可以从下图的表格看出:
3、分别统计低轨、中轨和高轨目标的分布规律。
从上一实验内容中已经求出卫星轨道半长轴的数值,又知地球的平均半径为6378.145千米,故两者相减即可求出各个卫星的轨道高度。已知轨道高度小于等于2000千米的卫星为地轨卫星,轨道高度在2000千米至33000千米之间的为中轨卫星,轨道高度在33000千米以上的为高轨卫星。统计出低中高轨卫星数量分布情况如下:
可以看出,大多数卫星为低轨卫星,有8000多个,中轨卫星有1600多个,最少的是高轨卫星,只有946个。
五、实验程序
clc;clear all;close all;
S=fopen('stkSatDbAll.tce');
S=importdata('stkSatDbAll.tce');
[m1 n1]=size(S.textdata);
[m2 n2]=size(S.data);
for i=2:2:m1
for j=1:n1
A(i/2,j)=S.textdata(i,j);%提取偶数行
end
end
for i=2:2:m2
for j=1:n2
B(i/2,j)=S.data(i,j); %角速度
end
end
for i=1:m1/2
A1(i)=A(i,3);
end
A1=A(:,3); %轨道倾角
A2=A(:,5); %偏心率
u=398600.47;
A_banchangzhou=((24*3600./B(:,1)/2/pi).^2*u).^(1/3); %半长轴,单位千米
% A_banchangzhou=(u./(B(:,1)*2*pi/24/3600).^2).^1/3;
for i=1:length(A1);
A_qingjiao(i,1)=str2num(A1{i,1}); %转换为矩阵形式
end
for i=1:length(A2);
A_pianxinlv(i,1)=str2num(A2{i,1})*1e-7;
end
%%%统计轨道倾角
figure;
hist(A_qingjiao,90);
max(A_qingjiao)
min(A_qingjiao)
e1=find((A_qingjiao>=0)&(A_qingjiao<10));length(e1);
e2=find((A_qingjiao>=10)&(A_qingjiao<20));length(e2);
e3=find((A_qingjiao>=20)&(A_qingjiao<30));length(e3);
e4=find((A_qingjiao>=30)&(A_qingjiao<40));length(e4);
e5=find((A_qingjiao>=40)&(A_qingjiao<50));length(e5);
e6=find((A_qingjiao>=50)&(A_qingjiao<60));length(e6);
e7=find((A_qingjiao>=60)&(A_qingjiao<65));length(e7);
e8=find((A_qingjiao>=65)&(A_qingjiao<70));length(e8);
e9=find((A_qingjiao>=70)&(A_qingjiao<72));length(e9);
e10=find((A_qingjiao>=72)&(A_qingjiao<75));length(e10);
e11=find((A_qingjiao>=75)&(A_qingjiao<80));length(e11);
e12=find((A_qingjiao>=80)&(A_qingjiao<82));length(e12);
e13=find((A_qingjiao>=82)&(A_qingjiao<83));length(e13);
e14=find((A_qingjiao>=83)&(A_qingjiao<90));length(e14);
e15=find((A_qingjiao>=90)&(A_qingjiao<98));length(e15);
e16=find((A_qingjiao>=98)&(A_qingjiao<99));length(e16);
e17=find((A_qingjiao>=99)&(A_qingjiao<100));length(e17);
e18=find((A_qingjiao>=100)&(A_qingjiao<110));length(e18);
e19=find((A_qingjiao>=110)&(A_qingjiao<150));length(e19);
%%%%%%统计偏心率
figure;
hist(A_pianxinlv,20);
max(A_pianxinlv)
min(A_pianxinlv)
f0=find(A_pianxinlv==0);length(f0);
f1=find((A_pianxinlv>=0)&(A_pianxinlv<0.001));length(f1);
f2=find((A_pianxinlv>=0.001)&(A_pianxinlv<0.005));length(f2);
f3=find((A_pianxinlv>=0.005)&(A_pianxinlv<0.01));length(f3);
f4=find((A_pianxinlv>=0.01)&(A_pianxinlv<0.1));length(f4);
f5=find((A_pianxinlv>=0.1)&(A_pianxinlv<0.3));length(f5);
f6=find((A_pianxinlv>=0.3)&(A_pianxinlv<0.5));length(f6);
f7=find((A_pianxinlv>=0.5)&(A_pianxinlv<0.7));length(f7);
f8=find((A_pianxinlv>=0.7)&(A_pianxinlv<1));length(f8);
f9=find(A_pianxinlv==1);length(f9);
%%%%统计轨道半长轴
figure;
hist(A_banchangzhou,100);
max(A_banchangzhou)
min(A_banchangzhou)
g1=find((A_banchangzhou>=0)&(A_banchangzhou<8000));length(g1);
g2=find((A_banchangzhou>=8000)&(A_banchangzhou<16000));length(g2);
g3=find((A_banchangzhou>=16000)&(A_banchangzhou<22000));length(g3);
g4=find(A_banchangzhou>=22000);length(g4);
%%%%%轨道高度
A_gaodu=A_banchangzhou-6378.145;
h1=find(A_gaodu<2000);digui=length(h1)
h2=find((A_gaodu>=2000)&(A_gaodu<=33000));zhonggui=length(h2)
h3=find(A_gaodu>33000);gaogui=length(h3)