利用python繪制天線方向圖的

學(xué)習(xí)通信對(duì)抗測(cè)向時(shí),看到天線的方向特性圖,因?yàn)槭菢O坐標(biāo)圖,還是畫出來(lái)好理解一些

一、單環(huán)天線

單環(huán)天線的方向特征,即該天線的振幅方向函數(shù)為:
f(\theta)=sin(\frac{\pi d}{\lambda}cos(\theta))
畫它的方向特性圖方法是在極坐標(biāo)系中畫出其振幅方向函數(shù)的絕對(duì)值:\left|f(\theta))\right|=\left| sin(\frac{\pi d}{\lambda}cos(\theta))\right|,根據(jù) \frac{{\pi d}}{\lambda } \in \left[ {0,0.5} \right]\frac{{\pi d}}{\lambda } \in \left[ {0,0.5} \right]\frac{{\pi d}}{\lambda } =1 分別畫出其方向特性圖。

其代碼如下:

import numpy as np
import matplotlib.pyplot as plt

theta = np.arange(0, 2*np.pi, 0.02)
r=np.cos(theta)
plt.subplot(121,polar=True)
plt.plot(theta, np.abs(np.cos(theta)), '--', lw=2)
plt.plot(theta, np.abs(np.sin(0.5*np.pi*np.cos(theta))), lw=2)

plt.subplot(122,polar=True)
plt.plot(theta, np.abs(np.sin(0.6*np.pi*np.cos(theta))), '--', lw=2)
plt.plot(theta, np.abs(np.sin(0.51*np.pi*np.cos(theta))), lw=2)
# plt.rgrids(np.arange(0.5,2,0.5),angle=45)
# plt.thetagrids([0,45,90])
plt.show()

下面是只顯示一個(gè)圖,更清晰方便展示:

import numpy as np
import matplotlib.pyplot as plt

theta = np.arange(0, 2*np.pi, 0.02)
d_lambda = 10

ax = plt.subplot(111,polar=True)
ax.set_thetagrids(np.arange(0.0, 360.0, 10.0)) # 用于設(shè)置極坐標(biāo)角度網(wǎng)格線顯示
ax.set_theta_zero_location('N')  # 用于設(shè)置極坐標(biāo)0°位置,其值可為'N','NW','W','SW','S','SE','E','NE'
ax.set_theta_direction(-1)  # 用于設(shè)置極坐標(biāo)的正方向,參數(shù)為-1時(shí)為順時(shí)針方向;反之。
plt.plot(theta, np.abs(np.sin(d_lambda*np.pi*np.cos(theta))),  color=[1,0 ,0], lw=2)
plt.title("d_lambda="+str(d_lambda), y=-0.15, fontsize=18)
plt.savefig('d_lambda='+str(d_lambda)+'.png')
plt.show()

結(jié)果如下:


d_lambda=0.1.png
d_lambda=0.2.png
d_lambda=0.3.png
d_lambda=0.35.png
d_lambda=0.4.png
d_lambda=0.45.png
d_lambda=0.5.png
d_lambda=0.55.png
d_lambda=0.6.png
d_lambda=0.65.png
d_lambda=0.7.png
d_lambda=0.75.png
d_lambda=0.8.png
d_lambda=0.85.png
d_lambda=0.9.png
d_lambda=0.95.png
d_lambda=1.png

二、復(fù)合環(huán)天線

復(fù)合環(huán)天線的方向特征,即該天線的振幅方向函數(shù)為:
f\left( \theta \right) = \sqrt {{{\cos }^2}\theta + 2k\cos {\varphi _0}\cos \theta + {k^2}}
畫它的方向特性圖方法是在極坐標(biāo)系:先確定k\varphi _0 值,然后再畫出其方向特性圖。
其代碼為:

import numpy as np
import matplotlib.pyplot as plt

theta = np.arange(0, 2*np.pi, 0.02)
phi0 = 1
k = 1

ax = plt.subplot(111,polar=True)
ax.set_thetagrids(np.arange(0.0, 360.0, 10.0)) # 用于設(shè)置極坐標(biāo)角度網(wǎng)格線顯示
ax.set_theta_zero_location('N') # 用于設(shè)置極坐標(biāo)0°位置,其值可為'N','NW','W','SW','S','SE','E','NE'
ax.set_theta_direction(-1) # 用于設(shè)置極坐標(biāo)的正方向,參數(shù)為-1時(shí)為順時(shí)針方向;反之。
plt.plot(theta, np.sqrt(np.square(np.cos(theta))+2*k*np.cos(phi0)*np.cos(theta)+np.square(k)),  color=[1,0 ,0], lw=2)
plt.title("k="+str(k)+",phi0="+str(phi0), y=-0.15, fontsize=18)
plt.savefig("k="+str(k)+" with phi0="+str(phi0)+'.png')
plt.show()

其結(jié)果如下:


k=0.7 with phi0=0.png
k=0.7 with phi0=30.png
k=0.9 with phi0=10.png
k=1 with phi0=0.png
k=1 with phi0=1.png
k=1 with phi0=10.png
k=1 with phi0=30.png
k=1 with phi0=180.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容