≡
  • 网络编程
  • 数据库
  • CMS技巧
  • 软件编程
  • PHP笔记
  • JavaScript
  • MySQL
位置:首页 > 网络编程 > Python

Python之仿真双径效应的实现方法

人气:297 时间:2021-06-07

这篇文章主要为大家详细介绍了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()

Python实现仿真双径效应的方法

到此这篇关于Python实现仿真双径效应的方法的文章就介绍到这了,更多相关Python 仿真双径效应内容请搜索四海网以前的文章或继续浏览下面的相关文章希望大家以后多多支持四海网!

本文来自:http://www.q1010.com/181/18796-0.html

注:关于Python之仿真双径效应的实现方法的内容就先介绍到这里,更多相关文章的可以留意四海网的其他信息。

关键词:python

您可能感兴趣的文章

  • Python之Pandas直接核算Excel中的快递费用的实现方法
  • Python之pytorch 中autograd.grad()函数的简单示例
  • Python之开发一款操作MySQL的小工具
  • python3调用c语言代码的全过程记录
  • Python实现subprocess执行外部命令的简单示例
  • Python执行外部命令subprocess的使用分析
  • Python之Pytest测试用例的执行方法的简单示例
  • 解决python列表list中的截取问题
  • Python之pyMySQL实现增删改查的操作指南
  • Python之Parser的用法
上一篇:Python之列表的切片操作允许索引超出范围的简单示例
下一篇:Python之pyMySQL实现增删改查的操作指南
热门文章
  • Python 处理Cookie的菜鸟教程(一)Cookie库
  • python之pandas取dataframe特定行列的简单示例
  • Python解决json.dumps错误::‘utf8’ codec can‘t decode byte
  • Python通过pythony连接Hive执行Hql的脚本
  • Python 三种方法删除列表中重复元素的简单示例
  • python爬虫代码示例
  • Python 中英文标点转换示例
  • Python 不得不知的开源项目解析
  • Python urlencode编码和url拼接实现方法
  • python按中文拆分中英文混合字符串的简单示例
  • 最新文章
    • Python利用numpy三层神经网络的简单示例
    • pygame可视化幸运大转盘的简单示例
    • Python爬虫之爬取二手房信息的简单示例
    • Python之time库的简单示例
    • OpenCV灰度、高斯模糊、边缘检测的简单示例
    • Python安装Bs4及使用的简单示例
    • django自定义manage.py管理命令的简单示例
    • Python之matplotlib 向任意位置添加一个子图(axes)的简单示例
    • Python图像标签标注软件labelme分析的简单示例
    • python调用摄像头并拍照发邮箱的简单示例

四海网收集整理一些常用的php代码,JS代码,数据库mysql等技术文章。