相控阵天线(三):直线阵列低副瓣综合(切比雪夫、泰勒分布、SinZ-Z和Villeneuve分布)

news2025/1/13 13:36:30

目录

    • 阵列天线综合方法概述
    • 切比雪夫阵列综合
    • 泰勒阵列综合
    • 高斯分布、二项式分布、SinZ-Z和Villeneuve分布
    • 切比雪夫、泰勒和Villeneuve综合比较
    • 切比雪夫、泰勒和Villeneuve分布的口径效率比较
    • 切比雪夫综合python代码示例

阵列天线综合方法概述

直线阵列天线的综合是在预先给定辐射特性(如方向图形状、主瓣宽度、副瓣电平、方向性系数)的情况下,综合出阵列单元数、间距、激励幅度和相位。
其中最常见的为给定方向图主瓣宽度、副瓣电平的要求进行综合,方向图的其它细节不苛求。这类综合方法最著名的是道尔夫—切比雪夫综合法,泰勒综合法、高斯分布、二项式分布、SinZ-Z和Villeneuve分布等。
切比雪夫阵列的主要特点包括:等副瓣电平;在相同副瓣电平和相同阵列长度下主瓣最窄。泰勒阵列分布的特点是:靠近主瓣某个区域内的副瓣电平接近相等,随后单调地减小,有利于提高天线方向性。
二项式分布是没有副瓣电平的,高斯分布比较接近与二项式分布,SinZ-Z分布主副瓣电平比较高,其他副瓣电平较低,Villeneuve分布的副瓣电平逐渐降低。

泰勒分布的口径效率随着副瓣电平的降低而降低,切比雪夫的口径效率随着副瓣电平的降低先升高后降低,同时泰勒分布的口径效率与阵元数量关系不大,比较稳定,切比雪夫分布的口径效率与阵元数量有关。

切比雪夫阵列综合

切比雪夫阵列的主要特点包括:每个副瓣电平是相等的;在相同副瓣电平和相同阵列长度下主瓣最窄;单元激励的分布公式如下所示:
在这里插入图片描述
32阵元的切比雪夫阵,副瓣电平分别为20、24、30、40dB,阵列的馈电分布如下所示:
在这里插入图片描述
32阵元的切比雪夫阵,副瓣电平分别为20、24、30、40dB对应的天线方向图如下所示:
在这里插入图片描述

泰勒阵列综合

泰勒阵列分布的特点是:靠近主瓣某个区域内的副瓣电平接近相等,随后单调地减小,有利于提高天线方向性。单元激励的分布公式如下所示:
在这里插入图片描述
32阵元的泰勒分布阵,副瓣电平分别为20、24、30、40dB,阵列的馈电分布如下所示:
在这里插入图片描述
32阵元的泰勒分布阵,副瓣电平分别为20、24、30、40dB对应的天线方向图如下所示:
在这里插入图片描述

高斯分布、二项式分布、SinZ-Z和Villeneuve分布

高斯分布的馈电分布公式如下所示:
在这里插入图片描述
二项式分布的馈电分布的公式如下所示:
在这里插入图片描述
SinZ-Z的馈电分布的公式如下所示:
在这里插入图片描述
Villeneuve馈电分布的公式如下所示:
在这里插入图片描述
16阵元的高斯分布、二项式分布、SinZ-Z和Villeneuve的馈电幅度如下所示:
在这里插入图片描述
16阵元的高斯分布、二项式分布、SinZ-Z和Villeneuve的阵列方向图如下所示:
在这里插入图片描述
综上所示,其中二项式分布是没有副瓣电平的,高斯分布比较接近与二项式分布,SinZ-Z分布主副瓣电平比较高,其他副瓣电平较低,Villeneuve分布的副瓣电平逐渐降低。

切比雪夫、泰勒和Villeneuve综合比较

32阵元副瓣电平30dB的切比雪夫、泰勒和Villeneuve馈电分布如下所示:
在这里插入图片描述
32阵元副瓣电平30dB的切比雪夫、泰勒和Villeneuve阵列方向图如下所示:
在这里插入图片描述

切比雪夫、泰勒和Villeneuve分布的口径效率比较

阵元规模32阵元,切比雪夫、泰勒和Villeneuve分布在不同副瓣电平下的口径效率如下所示:
在这里插入图片描述
副瓣电平24dB,切比雪夫、泰勒和Villeneuve分布在不同阵元规模下的口径效率如下所示:
在这里插入图片描述
副瓣电平32dB,切比雪夫、泰勒和Villeneuve分布在不同阵元规模下的口径效率如下所示:
在这里插入图片描述
泰勒分布的口径效率随着副瓣电平的降低而降低,切比雪夫的口径效率随着副瓣电平的降低先升高后降低,同时泰勒分布的口径效率与阵元数量关系不大,比较稳定,切比雪夫分布的口径效率与阵元数量有关。

切比雪夫综合python代码示例

import math
import cmath
import matplotlib.pyplot as plt
import numpy as np
class Pattern:
    def Cheby(self,N,RdB,n_round=4):
        M=int(N)
        R0dB=RdB
        clist=[]
        list=[]
        R0=10**(R0dB/20)
        x0=0.5*((R0+(R0**2-1)**0.5)**(1/(M-1))+(R0-(R0**2-1)**0.5)**(1/(M-1)))
        if M%2==0:
            m=int(M/2)
            for n in range(1,m+1):
                a=0
                for q in range(n,m+1):
                    a=a+(-1)**(m-q)*x0**(2*q-1)*np.math.factorial(q+m-2)*(
                            2*m-1)/np.math.factorial(q-n)/np.math.factorial(
                        q+n-1)/np.math.factorial(m-q)
                clist.append(a)
        else:
            m=int(M/2)
            for n in range(1,m+2):
                a=0
                for q in range(n,m+2):
                    a=a+(-1)**(m-q+1)*x0**(2*q-2)*np.math.factorial(q+m-2)*(
                            2*m)/np.math.factorial(q-n)/np.math.factorial(
                        q+n-2)/np.math.factorial(m-q+1)
                clist.append(a)
        clist_max=max(clist)
        for i in range(0,len(clist)):
            clist[i]=round(clist[i]/clist_max,n_round)
        if M%2==0:
            for j in range(0,len(clist)):
                list.append(clist[len(clist)-j-1])
        else:
            for j in range(0,len(clist)-1):
                list.append(clist[len(clist)-j-1])
        return (list+clist)
    def radiation(self):
        n_cell = 16
        f = 3
        position = np.arange(0,n_cell)*50
        power = self.Cheby(n_cell,24)
        phase = np.zeros(n_cell)
        data_x = np.arange(-89,90,1)
        data_y = np.ones(len(data_x))
        mini_a = 1e-5
        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(20*math.log10(abs(a)+mini_a))
        plt.plot(data_x, data_new)
        plt.show()

def main(argv=None):
    pattern = Pattern()
    pattern.radiation()

if __name__ == '__main__':
   main( )

代码运行截图如下所示:
在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/10711.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

C++15 ---继承2:重载与覆盖、隐藏、拷贝构造函数、赋值运算符重载、静态数据成员

一、重载与覆盖的特征 1、重载 成员函数被重载的特征: (1)相同的范围(在同一个类中); (2)函数名字相同; (3)参数不同; (4) virtual关键字可有可无。 2、覆盖 覆盖是指派生类函数…

STM32CubeMX环境安装(保姆级)

目录 JAVA环境安装 安装包 文件夹设置 运行exe STM32CubeMX下载 第一步 第二步 第三步 第四步 第五步 第六步 第七步 第八步 注意,我们使用STM32CubeMX需要安装JAVA环境!!! JAVA环境安装 安装包 JAVA下载链接&…

《FFmpeg Basics》中文版-02-显示帮助和功能

正文 关于FFmpeg程序的帮助和其他信息都显示在空格和连字符之后输入的各种选项,示例显示了FFmpeg工具的用法,但是相同的选项对于ffplay、ffprobe和ffserver是有效的。参数是区分大小写的。FFmpeg组件的开发速度很快,从2012年11月开始&#x…

MicroPython——有点东西,但是不多

引言 之前做过一个树莓派驱动墨水屏的项目,本来想整理出来与大家分享的,但是由于树莓派已经成了理财产品,所以为了让这个项目更加具有实践意义,最近我打算把这个项目移植到ESP32上。在树莓派上我使用的是Python编写的代码&#x…

C++简单工厂模式详解

C简单工厂模式详解1.问题引入2.编写代码思路的迭代2.1 main函数主体内编写全部代码2.2 修改上述问题后的main函数代码2.3 引入面向对象后的代码2.4 加上继承和多态后的代码3.C简单工厂代码4.总结4.1 简单工厂模式适用场景4.2收获1.问题引入 编写一个计算器程序代码&#xff0c…

论文笔记:Region Representation Learning via Mobility Flow

2017 CIKM 1 摘要和介绍 使用出租车出行数据学习区域向量表征 同时考虑时间动态和多跳位置转换——>通过flow graph和spatial graph学习表征出租车交通流可以作为区域相似度的一种 A区域和B区域之间流量大 ——>A和B的特征更相关——>用一个/很相似的vector来表征他…

如何实现基于场景的接口自动化测试用例?来看看大佬的方案

自动化本身是为了提高工作效率,不论选择何种框架,何种开发语言,我们最终想实现的效果,就是让大家用最少的代码,最小的投入,完成自动化测试的工作。 基于这个想法,我们的接口自动化测试思路如下…

R语言七天入门教程七:项目实战

R语言七天入门教程七:项目实战 在完成之前R语言基础知识的学习后,今天的内容是项目实战,通过完成一些小项目来巩固知识。 一、矩阵运算计算器(变量与运算符练习) 1、问题描述 给定矩阵A和B,计算矩阵相加…

MySql常用内置函数详解

目录日期函数--了解***字符串函数--重要数学函数--了解其他函数--了解MySql为我们提供了一些内主函数,方便我们对特定数据进行相关操作! 注意:都是配合select使用哦,个人理解SQL的select相当于C中的printf; 日期函数–了解 一般用于insert in…

C++ 主函数几种语法

Cmain函数的两种写法 1&#xff0c;返回值为int&#xff0c;且main不带参数 #include<iostream> using namespace std; int main() { cout << "Hello C \n" << endl; system("pause"); return 1;//函数返回值取值范围0到255&#xf…

深入了解 JavaScript 语法错误以及如何防止它们

最近&#xff0c;在 Leader 的建议下&#xff0c;去看了看 emotion 和 storybook 的相关文档。学习过后&#xff0c;小有收获。因此&#xff0c;这次将以我自己的视角带你们体验一下 storybook&#xff0c;也算是对我自己学习过程中的一个 review。 何为 storybook 什么是 st…

第2关:伪分布式体验及分布式安装配置

服务器leader选举 为进一步了解ZooKeeper的leader选举过程&#xff0c;本节实训利用服务器的关闭启动&#xff0c;观察服务器的leader产生过程。利用以下命令查看当前服务器节点的状态(/xxx为安装目录)&#xff1a; ./xxx/bin/zkServer.sh status 当仅启动1个服务器节点&…

进博会期间,多地政府领导密集考察深兰科技

从11月初开始&#xff0c;借第五届中国国际进口博览会在上海举办的契机&#xff0c;来自全国各地的地级、县级市的各级领导纷纷来到上海&#xff0c;深入到各个行业领域的国企、央企、民企和跨国企业中走访调研&#xff0c;寻求技术合作&#xff0c;洽谈招商引资。 期间仅1日至…

流体力学基础——简介

流体定义&#xff1a;无规则的运动&#xff0c;流体&#xff1b;流体在静止时内部不能产生剪切力&#xff0c;流动产生的剪切力叫做粘力流体特点&#xff1a; 1、力与变形的关系不同&#xff1b;固体&#xff0c;应力正比于应变&#xff0c;静力学为主&#xff1b;流体&#xf…

DeepLearn关于数组和数的操作

本篇文章纯属作为自己的笔记&#xff0c;因为每次写程序都忘记下面的内容&#xff0c;找起来又很浪费时间&#xff0c;所有就索性一次性都整理下来&#xff0c;后续又不新的不会的内弄也会及时更新到文章当中&#xff0c;方便以后查阅。 DeepLearn关于数组和数的操作Python标准…

【详解】BIO、AIO、NIO Netty 知识点和工作原理

Netty框架 基础 三大网络编程 BIO 同步阻塞:服务器实现模式一个连接一个线程,既客户端有连接请求时,服务器就需要启动一个线程进行处理,如果这个连接不任何事情会造成不必要的线程线程开销 适用场景&#xff1a; 连接数目比较小且固定的架构&#xff0c;这种方式对服务器资源…

Android企业微信分享到小程序

1.官方文档Android应用 - 接口文档 - 企业微信开发者中心https://developer.work.weixin.qq.com/document/path/91196 2.创建应用 登录企业微信管理后台&#xff0c;选择企业应用&#xff0c;选择“企业微信授权登录”&#xff0c;在设置界面填写Android的 App的签名&包名…

[附源码]java毕业设计基于技术的新电商助农平台

项目运行 环境配置&#xff1a; Jdk1.8 Tomcat7.0 Mysql HBuilderX&#xff08;Webstorm也行&#xff09; Eclispe&#xff08;IntelliJ IDEA,Eclispe,MyEclispe,Sts都支持&#xff09;。 项目技术&#xff1a; SSM mybatis Maven Vue 等等组成&#xff0c;B/S模式 M…

HTTP 消息头

title: HTTP 消息头 date: 2022-11-16 14:36 tags: [HTTP,X-Real-IP,Host,X-Forwarded-For,Nginx] 文章目录〇、问题一、前言二、什么是消息头&#xff1f;三、Host四、X-Real-IP五、X-Forwarded-For参考更新〇、问题 什么是HTTP Headers&#xff1f;作用是什么&#xff1f; …

qemu-system-aarch64使用记录

qemu-system-aarch64 使用记录下载安装qemu查看是否支持KVM运行qemu-M内核启动问题内核编译下载安装qemu #!/bin/bashsudo apt update > /dev/null sudo apt upgrade > /dev/null sudo apt-get install -y make gcc g git > /dev/nullcd sudo apt-get install -y r…