实验10——卫星网络系统仿真

本文是通过ns2对卫星系统进行模拟仿真


前言

       本文结合在课上学到的有关卫星网络,如:Iridium、Teledesic 的知识,使用实验1搭建的ns平台对其进行仿真模拟,并对产生的数据进行分析。


提示:以下是本篇文章正文内容,下面案例可供参考

一、实验原理介绍

  • 实验中设置了 5 条数据流进行对比,起点为北京,终点分别为上海、香港、悉尼、纽约和里约热内卢。为便于分析和表现实验效果,实验采用 CBR 作为数据源,并利用UDP 进行数据传输。
  • 分析 trace 文件来对时延的变化和通信距离的关系,实际数据传输路径中卫星节点个数不同,也会造成端到端的时延不同。

二、实验过程

1、Iridium仿真

1.实验详细步骤
  • 1.进入到实验10文件夹的Iridium文件中
    在这里插入图片描述
  • 2.输入命令ns sat-Iridium.tcl,会得到trace文件,如下图框选出的:
    在这里插入图片描述
  • 3.编写一个awk脚本,详细内容见下,并命名为delay.awk,放入Iridium文件中(使awk脚本与trace文件在同一目录下即可)。
//delay.awk
BEGIN {
	highest_packet_id=0;
}
{
	action=$1;
	time=$2;
	from=$3;
	to=$4;
	type=$5;
	size=$6;
	flow_id=$8;
	src=$9;
	dst=$10;
	seq_no=$11;
	packet_id=$12;

if (packet_id > highest_packet_id) 
	highest_packet_id =packet_id;

if (start_time[packet_id]==0)
	start_time[packet_id] =time;

if (flow_id ==0&&action !="d") 
{
 	if(action=="r"&&to=="67") {
		end_time[packet_id]=time;
	} else{
		end_time[packet_id]=-1;
	}
}
}

END {
	for (packet_id=0;packet_id <= highest_packet_id;packet_id++) {
			start=start_time[packet_id];
			end=end_time[packet_id];
			delay=end-start;
	if (start < end) printf( "%f %f\n",start,delay)
	}
 }
  • 4.输入awk -f delay.awk sat-Iridium.tr > delay.txt进行分析,下面为命令的详细解释:
awk -f 
delay.awk //步骤3编写的awk脚本
sat-Iridium.tr //步骤2得到的trace文件
>   //表示重定向输出 
delay.txt //输出文件为delay.txt 
  • 5.使用gunplot包,将步骤4得到的delay.txt中的结果进行直观展示,输入 gnuplot,得到如图结果:(若显示未安装,则按照提示安装即可)
    在这里插入图片描述
    在上图gnuplot>后输入命令plot “delay.txt” using 1:2 w lp即可得到下图结果:
    在这里插入图片描述
2.实验结果分析
  • 1)我们先来看sat-Iridium.tr文件:
    一共16列,分别表示:
    第 1 列:事件(r: Receive 接收;d: Drop 丢弃;e: Error 错误;+: Enqueue 入队;-: Dequeue 出队);
    第 2 列:产生事件的时间;第 3 列:产生事件的源节点;
    第 4 列:产生事件的目标节点;第 5 列:数据包类型;
    第 6 列:数据包大小;第 7 列:标志位;第 8 列:流 ID;第 9 列:源节点:端口;
    第 10 列:目标节点:端口;第 11 列:序列号;第 12 列:报文唯一标识;
    第 13 列:源纬度;第 14 列:源经度;第 15 列:目标纬度;第 16 列:目标经度
    在这里插入图片描述

  • 2)再来看看awk脚本文件如何分析的:
    ①先是分别分析了5个场景:分别为北京到上海、香港、悉尼、纽约和里约热内卢
    在这里插入图片描述
    ②又对各场景分别分析了其延迟、抖动、丢包率和吞吐量。
    注意,实验使用的awk脚本主要是对延迟进行了分析
    在这里插入图片描述

  • 3)最后看看delay.txt文件:
    一行有2列,分别表示:通信距离和延迟大小
    在这里插入图片描述

3. 实验结论

       综上所述,并结合最后的折线图,得到:在Iridium卫星通信系统中,时延大致保持在0.01——0.04之间,某些特定区间达到0.13。因此我认为:端与端之间的通信距离,在一定范围内,对卫星通信的时延的影响是一致的,,而在某些固定距离上会对其产生较大影响。

2、Teledesic仿真

1.实验详细步骤
  • 1.进入到实验10文件夹的Teledesic文件中
    在这里插入图片描述
  • 2.输入命令ns sat-teledesic.tcl,会得到trace文件,如下图框选出的:
    在这里插入图片描述
  • 3.编写一个awk脚本,详细内容见下,并命名为delay.awk,放入Iridium文件中(使awk脚本与trace文件在同一目录下即可)。
//delay.awk
BEGIN {
	highest_packet_id=0;
}
{
	action=$1;
	time=$2;
	from=$3;
	to=$4;
	type=$5;
	size=$6;
	flow_id=$8;
	src=$9;
	dst=$10;
	seq_no=$11;
	packet_id=$12;

if (packet_id > highest_packet_id) 
	highest_packet_id =packet_id;

if (start_time[packet_id]==0)
	start_time[packet_id] =time;

if (flow_id ==0&&action !="d") 
{
 	if(action=="r"&&to=="67") {
		end_time[packet_id]=time;
	} else{
		end_time[packet_id]=-1;
	}
}
}

END {
	for (packet_id=0;packet_id <= highest_packet_id;packet_id++) {
			start=start_time[packet_id];
			end=end_time[packet_id];
			delay=end-start;
	if (start < end) printf( "%f %f\n",start,delay)
	}
 }
  • 4.输入awk -f delay.awk sat-Iridium.tr > delay.txt进行分析,下面为命令的详细解释:
awk -f 
delay.awk //步骤3编写的awk脚本
sat-Iridium.tr //步骤2得到的trace文件
>   //表示重定向输出 
delay.txt //输出文件为delay.txt 

得到如图结果:
在这里插入图片描述

  • 5.使用gunplot包,将步骤4得到的delay.txt中的结果进行直观展示,输入 gnuplot,得到如图结果:在这里插入图片描述
    在上图gnuplot>后输入命令plot “delay.txt” using 1:2 w lp即可得到下图结果:
    在这里插入图片描述
2.实验结果分析
  • 1)我们先来看sat-teledesic.tr文件:
    一共16列,分别表示:
    第 1 列:事件(r: Receive 接收;d: Drop 丢弃;e: Error 错误;+: Enqueue 入队;-: Dequeue 出队);
    第 2 列:产生事件的时间;第 3 列:产生事件的源节点;
    第 4 列:产生事件的目标节点;第 5 列:数据包类型;
    第 6 列:数据包大小;第 7 列:标志位;第 8 列:流 ID;第 9 列:源节点:端口;
    第 10 列:目标节点:端口;第 11 列:序列号;第 12 列:报文唯一标识;
    第 13 列:源纬度;第 14 列:源经度;第 15 列:目标纬度;第 16 列:目标经度
    在这里插入图片描述

  • 2)再来看看awk脚本文件如何分析的:
    ①先是分别分析了5个场景:分别为北京到上海、香港、悉尼、纽约和里约热内卢
    在这里插入图片描述
    ②又对各场景分别分析了其延迟、抖动、丢包率和吞吐量。
    注意,实验使用的awk脚本主要是对延迟进行了分析
    在这里插入图片描述

  • 3)最后看看delay.txt文件:
    一行有2列,分别表示:通信距离和延迟大小
    在这里插入图片描述

3. 实验结论

       通过上述分析,并结合最后的折线图,得到:在Teledesic卫星通信系统中,时延大致保持在0.0125——0.0325之间,某些特定区间达到0.04。通过比对发现,两个卫星系统中,Teledesic的时延小,但不够稳定。


总结

       通过对Iridium卫星系统通信与Teledesic卫星系统通信的仿真模拟,并对比最后的仿真结果,不难发现,在端与端一致的情况下,在时延方面,Teledesic卫星系统明显小于Iridium卫星系统,但在稳定性上,Iridium卫星系统优于Teledesic卫星系统。
       在实验过程中,难免遇到各种各样的问题,这个时候,我们一定要冷静下来,不要放弃,再多分析一下,不要一遇到问题就全部删除、全部格式化,重头再来,这样会浪费大量时间。(ง ••)ง (ง ••)ง

  • 3
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 4
    评论
### 回答1: 卫星控制系统是一种非常复杂的系统,它需要非常高的精度和可靠性。为了确保卫星控制系统的正确性和可靠性,需要对其进行仿真卫星控制系统仿真技术就是一种模拟卫星控制系统行为和性能的技术。本文详细介绍了卫星控制系统仿真技术的基本原理和应用方法。 文章首先介绍了卫星控制系统的基本组成部分和工作流程。卫星控制系统主要由卫星载荷、控制单元和地面站三部分组成。其中,控制单元包括卫星姿态控制、轨道控制和通信控制三部分。地面站负责控制卫星并接收、处理和分发卫星数据。卫星控制系统的工作流程包括在地面站通过指令控制卫星卫星执行任务并采集数据,再将数据传回地面站进行处理和分析。为了保证卫星的稳定运行和任务执行,需要对整个系统进行仿真验证。 文章接着介绍了卫星控制系统仿真技术的基本原理和主要应用。卫星控制系统仿真技术主要基于计算机模拟技术,通过建立卫星控制系统的数学模型来模拟卫星控制系统的行为和性能。卫星控制系统仿真技术可以用于卫星设计、卫星任务规划和控制以及卫星数据分析等方面。通过仿真可以验证卫星控制系统的设计方案和工作流程,并优化系统性能和提高系统可靠性。 文章最后介绍了卫星控制系统仿真技术的未来发展方向。未来,卫星控制系统仿真技术将越来越注重模型准确性和复杂性。同时,随着卫星设计和任务需求越来越复杂,卫星控制系统仿真技术也将越来越重要。 ### 回答2: 卫星控制系统仿真技术是一种在计算机中模拟卫星控制系统运行的技术。它通过建立数学模型来模拟卫星运行过程中的各种情况,包括力学、电子、通讯、控制等因素,从而预测系统的性能表现,进而对系统参数进行优化。这种技术的应用能够在卫星发射前提早发现问题,降低决策风险,优化系统设计,并进一步提高卫星的可靠性、稳定性和安全性。 卫星控制系统仿真技术的主要应用领域包括通信、遥感、导航、气象和科学探测等。其中,通信和遥感卫星的控制系统主要涉及信号轨道跟踪、姿态稳定和数据传输等方面;导航卫星控制系统主要涉及精确的轨道控制和定位能力;气象卫星控制系统则需要对大气和地球表面的变化进行高精度的监测和控制;科学探测卫星控制系统则需要专业化的控制系统,以进行探测、收集和分析太空、星体的信息。 总的来说,卫星控制系统仿真技术的应用是十分广泛的。在卫星航天领域中发挥着非常重要的作用。由于卫星控制系统和计算机仿真技术还在不断地发展和创新中,因此,它将继续发挥更为重要的作用,推动着卫星航天的发展与进步。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值