学习通信对抗测向时,看到天线的方向特性图,因为是极坐标图,还是画出来好理解一些
一、单环天线
单环天线的方向特征,即该天线的振幅方向函数为:
画它的方向特性图方法是在极坐标系中画出其振幅方向函数的绝对值:,根据 或 或 分别画出其方向特性图。
其代码如下:
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()
结果如下:
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
二、复合环天线
复合环天线的方向特征,即该天线的振幅方向函数为:
画它的方向特性图方法是在极坐标系:先确定和 值,然后再画出其方向特性图。
其代码为:
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()
其结果如下:
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
网友评论