Bianchi模型、python计算及ns3验证_关于2~10 STA验证的补充_python修改版本

是对Bianchi模型、python计算及ns3验证_关于2~10 STA验证的补充-CSDN博客的补充,采用了不用matlab中间值,而是采用重新计算Tc Ts的方法进行计算:

看得T_DATA到除了mac头的延时,GI、phy头也要延时。

一个OFDM symbol共有64个子载波,如果按照20M的发射带宽计算的话,那么64个子载波的时域长度为64/20=3.2us,再加上保护间隔(GI, guard interval)的长度为0.8us,所以一个OFDM symbol时域周期为3.2us + 0.8us = 4us。

phy部分的编码传输时间、phy前导码时间、GI时间、由于不能使用完整N_DBPS导致的余出一点包大小的时间都考虑进取


L_SERVICE = 16	                #phy头长度
L_TAIL = 6	                #phy尾长度
#L_MAC = (24 + 4) * 8	        #mac头长度
#L_APP_HDR = 8 * 6	        #IP 头长度 二者的和就是H
T_LPHY = 20e-6	                #phy卡导码时间长度,20us
L_ACK =ACK	                #ACK长度
T_GI = 800e-9	                #ofdm符号间隔时间
T_SYMBOL = 3.2e-6 + T_GI	#每个OFDM子载波带宽312.5khz,所以20M 里面有64个子载波,每个OFDM符号就是64个子载波传一下,,所以为符号时间加gi

N_DBPS = bitrate * T_SYMBOL	#每个ofdm符号里面装多少bits——但这里T_SYMBOL不应该含gi
N_SYMBOLS = math.ceil((L_SERVICE + H + E_P  + L_TAIL)/N_DBPS)	#%物理层所有bit都算上,看看能分成几个ofdm符号,不足的取整
self.T_DATA = T_LPHY + (T_SYMBOL * N_SYMBOLS)	#;%不足取整的部分也算时间的
N_DBPS = 24E6 * T_SYMBOL	#ACK 的时间
N_SYMBOLS = math.ceil((L_SERVICE + L_ACK + L_TAIL)/N_DBPS)	
self.T_ACK = T_LPHY + (T_SYMBOL * N_SYMBOLS)

计算结果:

30.020792924428772, 28.14524162624082, 26.983857622278723, 26.13264118105921, 25.45203353872358, 24.879831490270217, 24.382983626274978, 23.94179040089471, 23.543532045749867, 23.17949830919974

对比图

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值