美文网首页
利用python绘制天线方向图的

利用python绘制天线方向图的

作者: 2e07917c964c | 来源:发表于2019-03-09 19:18 被阅读0次

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

    一、单环天线

    单环天线的方向特征,即该天线的振幅方向函数为:
    f(\theta)=sin(\frac{\pi d}{\lambda}cos(\theta))
    画它的方向特性图方法是在极坐标系中画出其振幅方向函数的绝对值:\left|f(\theta))\right|=\left| sin(\frac{\pi d}{\lambda}cos(\theta))\right|,根据 \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()
    
    

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

    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

    二、复合环天线

    复合环天线的方向特征,即该天线的振幅方向函数为:
    f\left( \theta \right) = \sqrt {{{\cos }^2}\theta + 2k\cos {\varphi _0}\cos \theta + {k^2}}
    画它的方向特性图方法是在极坐标系:先确定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)) # 用于设置极坐标角度网格线显示
    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

    相关文章

      网友评论

          本文标题:利用python绘制天线方向图的

          本文链接:https://www.haomeiwen.com/subject/ggsepqtx.html