自由空間傳播模型 計算的實現

2021-09-11 10:42:18 字數 1785 閱讀 3199

1.自由空間傳播

自由空間是指在理想的、均勻的、各向同性的介質中,電波傳播不發生反射、折射、繞射、散射以及吸收現象,只存在由於電磁波能量在傳輸過程中擴散而引起的傳播損耗。

2.自由空間傳播模型

在自由空間中,設發射功率為 pt,接收功率為pr,那麼:

其中,ar=((λ^2 )*gr)/(4π) , λ為工作波長,gr與gt分別為發射天線和接收天線增益,d為發射天線與接收天線的距離。

自由空間的傳播損耗l定義為:

當gr=gt=1時,自由空間的傳播損耗可以寫為:

如果用分貝(db)表示,可以寫作:

其中,f(mhz)為工作頻率,d(km)為收發天線之間的距離。

這個式子反映了自由空間中傳輸損耗的計算方法。我們分析它可以得到:自由空間的傳播損耗(也稱為衰減)只與工作頻率f以及傳播距離d有關,且如果它們其中乙個不變化的時候,另乙個增大一倍,則傳輸損耗增加6db。

3.傳播損耗計算

計算:對於自由空間路徑損耗模型,假設載波頻率為f=5ghz,使用全向天線(gr=gt=1),計算距離d變化時傳播損耗的大小。

①理論計算(以1km、2km和10km為例)

由於gr=gt=1,所以:l=32.45+20 lg⁡f+20lg⁡d

當f=5ghz=5×1024mhz,d=1km時,帶入計算得:l1=106.64

當f=5ghz=5×1024mhz,d=2km時,帶入計算得:l2=112.66

當f=5ghz=5×1024mhz,d=10km時,帶入計算得:l3=126.18

② matlab實現

20*((log10(5*1024))+(log10(1)))+32.45

20*((log10(5*1024))+(log10(2)))+32.45

20*((log10(5*1024))+(log10(10))+32.45

分別得到結果為: 106.6354 112.6560 126.6354

注:這裡需要注意log函式的用法: log(x)表示以e為底;lg(x)需要表示為log10(x)。

③ c語言實現

#include#includeint main()

return 0;

}

執行結果:

④結果分析

從上面的結果來看,在載波頻率不變的情況下,傳播損耗l隨著傳輸距離d的增加而增大,並且傳輸距離d每增加一倍,傳輸損耗l就增加6db。無論是理論分析的計算還是matlab或者c語言的計算結果都保持一致。

4.總結

已完成:分析自由空間電波傳播模型,利用c語言和matlab對其損耗進行了數值計算。

下一步:將傳播損耗l與傳輸距離d以及載波頻率f的關係變化趨勢,利用影象表示出來。

遇到的問題:關於引數的選擇:d和f的取值應該取多少,能和實際聯絡起來?

拓展思考:

發射與接收增益是天線本身的設計引數,上面研究的模型是假設使用比較理想的全向天線,可以保證gr=gt=1,從而使計算變得簡單了。

儘管全向天線是很有用的乙個裝置,但是現實生活中我們常用的大多是定向天線,它們具有增益或方向性。如果不使用全向天線,又要考慮什麼問題,能否搭建模型?

Python實現簡單的SI傳播模型

si疾病傳播模型的原理 在經典的傳染病模型中,種群 population 內n個個體的狀態可分為如下幾類 易感狀態 susceptible 乙個個體在感染前是處於易感狀態的,即該個體有可能被鄰居個體感染。易感狀態i infected 乙個感染上某種病毒的個體就稱為是處於感染狀態。即該個體還會以一定概...

向量空間模型文件相似度計算實現(C )

讀者可以根據自己的需要進行加殼或改寫,本文權當拋磚引玉。筆者加的殼在 vsm模型介紹 using system using system.collections.generic using system.linq using system.text using system.text.regular...

OpenGL實現3DS檔案中的模型自由旋轉

現在已經有很多 和書籍提到在opengl中實現讀入和顯示3ds檔案中的模型。但是在很多場合,僅讀入和顯示是不夠的。我們需要從各個角度觀察模型,以便更好地理解模型的形態,形成更為直觀的感性認識。例如,在醫學髁上骨折診斷中,如果把骨折後,斷骨錯位旋轉的情況用三維模型模擬出來,並僅用滑鼠的拖動就能實現從任...