多径效应和双径模型是什么,Python如何仿真双径模型
Admin 2022-07-20 群英技术资讯 1065 次浏览
这篇文章主要介绍了多径效应和双径模型是什么,Python如何仿真双径模型相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇多径效应和双径模型是什么,Python如何仿真双径模型文章都会有所收获,下面我们一起来看看吧。多径效应(multipath effect):指电磁波经不同路径传播后,各分量场到达接收端时间不同,按各自相位相互叠加而造成干扰,使得原来的信号失真,或者产生错误。比如电磁波沿不同的两条路径传播,而两条路径的长度正好相差半个波长,那么两路信号到达终点时正好相互抵消了(波峰与波谷重合)。通常采用一些近似方法来描述信号的传播特性,其中最常见的一种近似方法是射线跟踪计算。射线跟踪模型将波前近似为简单粒子,进而确定出反射和折射对波前的影响。最简单的射线跟踪模型是双径模型,指发射机和接收机之间只存在一条直射路径和一条反射路径的情况。双径模型中的反射信号一般为地面反射,对于高速公路以及乡村道路和水面上的信号传播来说,双径模型是一种很好的近似,能够准确地反映信号的传播特性。
双径模型用在单一的地面反射波在多径效应中起主导作用的情形,如下图所示是双径模型的示意图。接收信号由两部分组成:经自由空间达到接收端的直射分量和经过地面反射到达接收端的反射分量。

双径模型中的接收信号为:

Pt为发射功率,Gt为自射天线增益乘积GaGb,Gr为反射路径天线增益乘积GcGd,l为直射的路径,x0+x1为反射的路径,△φ为反射路径和直射路径的相位差,△φ=2Π(x0+ x1-l)/λ,反射系数R≈0.9。
假设通信频率为2000MHz,基站高度1m,手持终端高度为1m,l=18m,此时θ=actan(1/18x2) =6.353°,x0=x1=1/sin(6.353°)=9.0373m,△φ=360°x(x0 +x1-l)/λ=179°。入射波和反射波相差接近180°相位,相互抵消,这时候接收功率就出现了极小值。
按照上述的设定值,绘制4m-150m的接收功率图如下:

双径模型仿真程序
import numpy as np
import matplotlib.pyplot as plt
def Radiation( theta, kt=0.2):
theta = theta+np.pi/2
pi = np.pi
gmax_t = (np.cos(2 * pi * kt * np.cos(pi / 2)) - np.cos(2 * pi * kt)) / np.sin(pi / 2)
gain = (np.cos(2 * pi * kt * np.cos(theta)) - np.cos(2 * pi * kt)) / np.sin(theta) / gmax_t
return gain**2
def multipath_effect():
h_j = 1
h_c = 1
f = 2
lamda = 0.3 / f
x = []
y = []
for i in range(20, 1500):
l = i / 10
x.append(l)
l_c = h_c / (h_j + h_c) * l
l_j = h_j / (h_j + h_c) * l
lx = (h_c ** 2 + l_c ** 2) ** 0.5 + (h_j ** 2 + l_j ** 2) ** 0.5
ly = (l ** 2 + (h_c - h_j) ** 2) ** 0.5
l_d = lx - ly
phase = l_d / lamda * 2 * np.pi
theta_z = np.arctan(abs(h_j - h_c) / l)
theta_f = np.arctan(h_j / l_j)
tmp = Radiation(theta_z) * Radiation(theta_z) / ly ** 2 + Radiation(theta_f) * Radiation(theta_f) / lx ** 2 * np.sin(phase)
y.append(20 * np.log10(tmp))
plt.plot(x, y, 'r-')
plt.show()
multipath_effect()
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:mmqy2019@163.com进行举报,并提供相关证据,查实之后,将立刻删除涉嫌侵权内容。
猜你喜欢
内容介绍前言变量赋值变量类型对象引用对象身份变量名保留字(关键字)前言看到这里已经学习了创建各种Python数据类型的值。并且显示的值都是文字或常量值。>>>print(9.98)9.98但是对
python staticmethod 返回类,函数的静态方法。该方法不强制要求传递参数,如下声明一个静态方法:以上实例声明了静态方法 f,从而可以实现实例化使用 C().f(),当然也可以不实例化调用该方法 C.f()。
内容介绍背景代码代码说明:验证一下附:bytes和string区别总结背景在工作中经常会碰到字节串(bytes)与字符串(string)之间转换的问题,做个记录。bytes只负责用字节序列的形式(二进
这篇文章主要介绍了python3使用迭代生成器实现减少内存占用的相关资料,需要的朋友可以参考下
这篇文章主要介绍了Python文件名的匹配之clob库,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好地帮助哟,需要的朋友可以参考下
成为群英会员,开启智能安全云计算之旅
立即注册关注或联系群英网络
7x24小时售前:400-678-4567
7x24小时售后:0668-2555666
24小时QQ客服
群英微信公众号
CNNIC域名投诉举报处理平台
服务电话:010-58813000
服务邮箱:service@cnnic.cn
投诉与建议:0668-2555555
Copyright © QY Network Company Ltd. All Rights Reserved. 2003-2020 群英 版权所有
增值电信经营许可证 : B1.B2-20140078 ICP核准(ICP备案)粤ICP备09006778号 域名注册商资质 粤 D3.1-20240008