利用python绘制天线方向图的

学习通信对抗测向时,看到天线的方向特性图,因为是极坐标图,还是画出来好理解一些

一、单环天线

单环天线的方向特征,即该天线的振幅方向函数为:

画它的方向特性图方法是在极坐标系中画出其振幅方向函数的绝对值:,根据 或 或 分别画出其方向特性图。

其代码如下:

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()

下面是只显示一个图,更清晰方便展示:

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)) # 用于设置极坐标角度网格线显示
ax.set_theta_zero_location('N')  # 用于设置极坐标0°位置,其值可为'N','NW','W','SW','S','SE','E','NE'
ax.set_theta_direction(-1)  # 用于设置极坐标的正方向,参数为-1时为顺时针方向;反之。
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()

结果如下:


利用python绘制天线方向图的_第1张图片
d_lambda=0.1.png
利用python绘制天线方向图的_第2张图片
d_lambda=0.2.png
利用python绘制天线方向图的_第3张图片
d_lambda=0.3.png
利用python绘制天线方向图的_第4张图片
d_lambda=0.35.png
利用python绘制天线方向图的_第5张图片
d_lambda=0.4.png
利用python绘制天线方向图的_第6张图片
d_lambda=0.45.png
利用python绘制天线方向图的_第7张图片
d_lambda=0.5.png
利用python绘制天线方向图的_第8张图片
d_lambda=0.55.png
利用python绘制天线方向图的_第9张图片
d_lambda=0.6.png
利用python绘制天线方向图的_第10张图片
d_lambda=0.65.png
利用python绘制天线方向图的_第11张图片
d_lambda=0.7.png
利用python绘制天线方向图的_第12张图片
d_lambda=0.75.png
利用python绘制天线方向图的_第13张图片
d_lambda=0.8.png
利用python绘制天线方向图的_第14张图片
d_lambda=0.85.png
利用python绘制天线方向图的_第15张图片
d_lambda=0.9.png
利用python绘制天线方向图的_第16张图片
d_lambda=0.95.png
利用python绘制天线方向图的_第17张图片
d_lambda=1.png

二、复合环天线

复合环天线的方向特征,即该天线的振幅方向函数为:

画它的方向特性图方法是在极坐标系:先确定和 值,然后再画出其方向特性图。
其代码为:

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)) # 用于设置极坐标角度网格线显示
ax.set_theta_zero_location('N') # 用于设置极坐标0°位置,其值可为'N','NW','W','SW','S','SE','E','NE'
ax.set_theta_direction(-1) # 用于设置极坐标的正方向,参数为-1时为顺时针方向;反之。
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()

其结果如下:


利用python绘制天线方向图的_第18张图片
k=0.7 with phi0=0.png
利用python绘制天线方向图的_第19张图片
k=0.7 with phi0=30.png
利用python绘制天线方向图的_第20张图片
k=0.9 with phi0=10.png
利用python绘制天线方向图的_第21张图片
k=1 with phi0=0.png
利用python绘制天线方向图的_第22张图片
k=1 with phi0=1.png
利用python绘制天线方向图的_第23张图片
k=1 with phi0=10.png
利用python绘制天线方向图的_第24张图片
k=1 with phi0=30.png
利用python绘制天线方向图的_第25张图片
k=1 with phi0=180.png

你可能感兴趣的:(利用python绘制天线方向图的)