Python實(shí)現(xiàn)仿真雙徑效應(yīng)的方法
多徑效應(yīng)(multipath effect):指電磁波經(jīng)不同路徑傳播后,各分量場到達(dá)接收端時(shí)間不同,按各自相位相互疊加而造成干擾,使得原來的信號(hào)失真,或者產(chǎn)生錯(cuò)誤。比如電磁波沿不同的兩條路徑傳播,而兩條路徑的長度正好相差半個(gè)波長,那么兩路信號(hào)到達(dá)終點(diǎn)時(shí)正好相互抵消了(波峰與波谷重合)。通常采用一些近似方法來描述信號(hào)的傳播特性,其中最常見的一種近似方法是射線跟蹤計(jì)算。射線跟蹤模型將波前近似為簡單粒子,進(jìn)而確定出反射和折射對(duì)波前的影響。最簡單的射線跟蹤模型是雙徑模型,指發(fā)射機(jī)和接收機(jī)之間只存在一條直射路徑和一條反射路徑的情況。雙徑模型中的反射信號(hào)一般為地面反射,對(duì)于高速公路以及鄉(xiāng)村道路和水面上的信號(hào)傳播來說,雙徑模型是一種很好的近似,能夠準(zhǔn)確地反映信號(hào)的傳播特性。
雙徑模型雙徑模型用在單一的地面反射波在多徑效應(yīng)中起主導(dǎo)作用的情形,如下圖所示是雙徑模型的示意圖。接收信號(hào)由兩部分組成:經(jīng)自由空間達(dá)到接收端的直射分量和經(jīng)過地面反射到達(dá)接收端的反射分量。
雙徑模型中的接收信號(hào)為:
Pt為發(fā)射功率,Gt為自射天線增益乘積GaGb,Gr為反射路徑天線增益乘積GcGd,l為直射的路徑,x0+x1為反射的路徑,△φ為反射路徑和直射路徑的相位差,△φ=2Π(x0+ x1-l)/λ,反射系數(shù)R≈0.9。
模型分析假設(shè)通信頻率為2000MHz,基站高度1m,手持終端高度為1m,l=18m,此時(shí)θ=actan(1/18x2) =6.353°,x0=x1=1/sin(6.353°)=9.0373m,△φ=360°x(x0 +x1-l)/λ=179°。入射波和反射波相差接近180°相位,相互抵消,這時(shí)候接收功率就出現(xiàn)了極小值。
按照上述的設(shè)定值,繪制4m-150m的接收功率圖如下:
雙徑模型仿真程序
import numpy as npimport matplotlib.pyplot as pltdef 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**2def multipath_effect(): h_j = 1 h_c = 1 f = 2 lamda = 0.3 / f x = [] y = [] for i in range(20, 1500):l = i / 10x.append(l)l_c = h_c / (h_j + h_c) * ll_j = h_j / (h_j + h_c) * llx = (h_c ** 2 + l_c ** 2) ** 0.5 + (h_j ** 2 + l_j ** 2) ** 0.5ly = (l ** 2 + (h_c - h_j) ** 2) ** 0.5l_d = lx - lyphase = l_d / lamda * 2 * np.pitheta_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實(shí)現(xiàn)仿真雙徑效應(yīng)的方法的文章就介紹到這了,更多相關(guān)Python 仿真雙徑效應(yīng)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. 以PHP代碼為實(shí)例詳解RabbitMQ消息隊(duì)列中間件的6種模式2. html小技巧之td,div標(biāo)簽里內(nèi)容不換行3. PHP字符串前后字符或空格刪除方法介紹4. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法5. nestjs實(shí)現(xiàn)圖形校驗(yàn)和單點(diǎn)登錄的示例代碼6. AspNetCore&MassTransit Courier實(shí)現(xiàn)分布式事務(wù)的詳細(xì)過程7. XML入門的常見問題(一)8. jsp cookie+session實(shí)現(xiàn)簡易自動(dòng)登錄9. css進(jìn)階學(xué)習(xí) 選擇符10. Echarts通過dataset數(shù)據(jù)集實(shí)現(xiàn)創(chuàng)建單軸散點(diǎn)圖
