Python實現(xiàn)仿真雙徑效應的方法
多徑效應
多徑效應(multipath effect):指電磁波經(jīng)不同路徑傳播后,各分量場到達接收端時間不同,按各自相位相互疊加而造成干擾,使得原來的信號失真,或者產(chǎn)生錯誤。比如電磁波沿不同的兩條路徑傳播,而兩條路徑的長度正好相差半個波長,那么兩路信號到達終點時正好相互抵消了(波峰與波谷重合)。通常采用一些近似方法來描述信號的傳播特性,其中最常見的一種近似方法是射線跟蹤計算。射線跟蹤模型將波前近似為簡單粒子,進而確定出反射和折射對波前的影響。最簡單的射線跟蹤模型是雙徑模型,指發(fā)射機和接收機之間只存在一條直射路徑和一條反射路徑的情況。雙徑模型中的反射信號一般為地面反射,對于高速公路以及鄉(xiāng)村道路和水面上的信號傳播來說,雙徑模型是一種很好的近似,能夠準確地反映信號的傳播特性。
雙徑模型
雙徑模型用在單一的地面反射波在多徑效應中起主導作用的情形,如下圖所示是雙徑模型的示意圖。接收信號由兩部分組成:經(jīng)自由空間達到接收端的直射分量和經(jīng)過地面反射到達接收端的反射分量。
雙徑模型中的接收信號為:
Pt為發(fā)射功率,Gt為自射天線增益乘積GaGb,Gr為反射路徑天線增益乘積GcGd,l為直射的路徑,x0+x1為反射的路徑,△φ為反射路徑和直射路徑的相位差,△φ=2Π(x0+ x1-l)/λ,反射系數(shù)R≈0.9。
模型分析
假設(shè)通信頻率為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°相位,相互抵消,這時候接收功率就出現(xiàn)了極小值。
按照上述的設(shè)定值,繪制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()
到此這篇關(guān)于Python實現(xiàn)仿真雙徑效應的方法的文章就介紹到這了,更多相關(guān)Python 仿真雙徑效應內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python3調(diào)用百度AI識別圖片中的文字功能示例【測試可用】
這篇文章主要介紹了Python3調(diào)用百度AI識別圖片中的文字功能,結(jié)合實例形式分析了Python3安裝及使用百度AI接口的相關(guān)操作技巧,并附帶說明了百度官方AI平臺的注冊及接口調(diào)用操作方法,需要的朋友可以參考下2019-03-03python實現(xiàn)斐波那契數(shù)列的方法示例
每個碼農(nóng)大概都會用自己擅長的語言寫出一個斐波那契數(shù)列出來,斐波那契數(shù)列簡單地說,起始兩項為0和1,此后的項分別為它的前兩項之后。下面這篇文章就給大家詳細介紹了python實現(xiàn)斐波那契數(shù)列的方法,有需要的朋友們可以參考借鑒,下面來一起看看吧。2017-01-01python 實現(xiàn)提取log文件中的關(guān)鍵句子,并進行統(tǒng)計分析
今天小編就為大家分享一篇python 實現(xiàn)提取log文件中的關(guān)鍵句子,并進行統(tǒng)計分析,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧2019-12-12Python+matplotlib實現(xiàn)量場圖的繪制
matplotlib是基于Python語言的開源項目,pyplot提供一系列繪制2D圖形的方法。本文將帶大家學習matplotlib.pyplot.quiver()相關(guān)方法屬性并通過其繪制量場圖2021-12-12Python 3.3實現(xiàn)計算兩個日期間隔秒數(shù)/天數(shù)的方法示例
這篇文章主要介紹了Python 3.3實現(xiàn)計算兩個日期間隔秒數(shù)/天數(shù)的方法,結(jié)合實例形式較為詳細的分析了基于Python3.3的日期時間轉(zhuǎn)換與運算相關(guān)操作技巧,需要的朋友可以參考下2019-01-01Python測試網(wǎng)絡(luò)連通性示例【基于ping】
這篇文章主要介紹了Python測試網(wǎng)絡(luò)連通性,結(jié)合實例形式分析了Python通過發(fā)送ping請求測試網(wǎng)絡(luò)連通性相關(guān)操作技巧,需要的朋友可以參考下2018-08-0814個用Python實現(xiàn)的Excel常用操作總結(jié)
自從學了Python后就逼迫自己不用Excel,所有操作用Python實現(xiàn)。目的是鞏固Python,與增強數(shù)據(jù)處理能力。本文為大家總結(jié)了14個用Python實現(xiàn)的Excel常用操作,需要的可以參考一下2022-06-06詳解Python如何精確控制asyncio并發(fā)運行多個任務
這篇文章主要為大家詳細介紹了Python如何精確控制asyncio并發(fā)運行多個任務,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學習一下2023-10-10