相控阵天线(一):直线阵列天线特性和阵列因子(方向图乘积定理、波束扫描、含python代码)

本文详细解析了方向图乘积定理,包括单元天线构成的直线阵、阵列因子和方向图的计算,以及波束扫描的影响。通过Python代码展示了如何实现,并揭示了阵元数、间距和扫描角对方向图特性的影响规律。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

本文章已经生成可运行项目,

方向图乘积定理

任意形式单元天线构成的直线阵如下图所示:
在这里插入图片描述
阵中第n个单元的远区辐射场可表示为如下形式:

在这里插入图片描述
其中An和an分别表示单元天线的激励幅度和相位,f(θ,φ)为单元天线的方向图函数。
由上可得,阵列的远区总场为:
在这里插入图片描述
化简可得阵列的方向图函数为:
在这里插入图片描述

在这里插入图片描述

阵列因子方向图

阵列天线的阵因子如下所示:
在这里插入图片描述
对于均匀直线阵,单元为等间距 d 排列,激励幅度相同 An = A0 ,激励相位按α 均匀递变(递增或递减),可得均匀直线阵的阵因子为:
在这里插入图片描述
绘制不同阵元数N(N=8、16、32)的阵因子方向图如下所示:
在这里插入图片描述
不同单元间距d(d=0.3、0.5、1.0)对应的阵列方向图如下所示:
请添加图片描述
不同单元数和不同间距与阵列方向图的波束宽度的关系如下所示:
请添加图片描述
不同扫描角的阵列方向图绘制如下所示:
请添加图片描述
其中随着扫描角度的增加,波束宽度也在增加,如下所示:
请添加图片描述
由上式子绘制不同移相量、不同阵元间距与扫描角的关系如下所示:
请添加图片描述
从上面的数据我们可以发现如下规律:
1.第一个旁瓣为–13 dBc,与阵元数量和阵元间距无关;
2.方向图零点的数量随着阵元数量的增加而增多。
3.波束宽度随着阵元数增加而减小;
4.波束宽度随着阵元间距增加而减小;
5.波束宽度随着扫描角度的增加而增大;

波束扫描

对阵列方向图进行波束扫描并绘制动图如下所示:
24阵元,间距0.5波长的直线阵列因子的方向图如下所示:
在这里插入图片描述
24阵元(切比雪夫加权),间距0.5波长的直线阵列方向图,考虑单元方向图的影响,如下所示:
在这里插入图片描述
24阵元,间距0.8波长的直线阵列因子的方向图如下所示:
在这里插入图片描述
24阵元,间距0.8波长的直线阵列方向图,考虑单元方向图的影响,如下所示:
在这里插入图片描述
通过上面的数据我们可以发现如下规律:
1.主波束的幅值按照单元因子的方向图进行变化;
2.进行波束扫描的时候,副瓣发生恶化;
3.当阵元间距大于1倍波长的时候,阵列方向图出现栅瓣;

阵列方向图和单元方向图

对不同单元方向图进行阵列方向的绘制,如下所示:
单元方向图为方波束时的阵列方向图:
在这里插入图片描述
单元方向图为宽波束时的方向图:
在这里插入图片描述
单元方向图为窄波束的阵列方向图:
在这里插入图片描述
通过上面的数据我们可以发现如下规律:
1.进行波束扫描的时候,副瓣会与单元方向图有关;
2.单元方向图的波束越宽,扫描方向图的增益下降越少

方向图乘积定理的python代码示例

方向图乘积定理的python程序如下所示:

import math
import cmath
import matplotlib.pyplot as plt
import numpy as np
class Pattern:
    def radiation(self):
        #单元数量,频率(GHz),位置(mm),幅度,相位(°)
        n_cell = 9
        f = 1.575
        position = [0, 94, 206, 281, 393, 475, 587, 683, 785]
        power = [0.2, 0.8, 0.4, 0.3, 1, 0.9, 0.2, 0.7, 0.4]
        phase = [0, 82, 165, 201, 247, 229, 262, 305, 334]
        #单元方向图
        data_x = np.arange(-180,180,1)
        data_y = np.cos(data_x/180*np.pi)
        mini_a = 1e-5
        #2*pi/lamuda
        k = 2 * math.pi * f / 300
        data_new = []
        #方向图乘积定理
        for i in range(0, len(data_x)):
            a = complex(0, 0)
            k_d = k * math.sin(data_x[i] * math.pi / 180)
            for j in range(0, n_cell):
                a = a + power[j] * data_y[i] * cmath.exp(complex(0,(phase[j] * math.pi / 180 + k_d * position[j])))
            data_new.append(10*math.log10(abs(a)+mini_a))
        plt.plot(data_x, data_new,"y")
        plt.show()
def main(argv=None):
    pattern = Pattern()
    pattern.radiation()

if __name__ == '__main__':
    main( )

绘制出来的方向图如下所示:
在这里插入图片描述

本文章已经生成可运行项目
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值