切比雪夫低副瓣阵列设计 MATLAB
相控阵天线中,直线阵列作为重要的一种,有着极为广泛的应用。切比雪夫低副瓣阵列设计是一种典型的设计方法。
切比雪夫方法主要是实现低副瓣、窄波束:
其产生的核心如下:

我的理解:因为能量守恒,所有副瓣都一样的时候,能量会更多的集中在副瓣中,
主瓣最大增益也不会改变,这样就可以使主瓣窄,副瓣电平降低。G=4πS/λ2

结合切比雪夫函数,可以得到:



当具体应用时,解决方案如下:

话不多说,其Matlab中的程序如下:
% 2019-11
% 切比雪夫低副瓣阵列馈电设计_1.0 (端射阵)
close all;
clear
% digits(3);
% 参数设置
lamda = 1; % 波长
d = lamda * 0.6; % d为阵元间距
theta0 = (120/180)*pi; % 扫描角度
theta = 0: 0.01 : pi; % Θ为方向角
u = pi*d*(cos(theta)-cos(theta0))/lamda;
%T = Chebyshev; % T为切比雪夫恒等式系数矩阵
N = 10; % N为直线阵的阵元数量,M为一侧的单元数(对称)
R0dB = 26; % R0dB为副瓣电平
if (mod(N,2)==0)
M = N / 2;
parity = 0; % parity为奇偶性,0为偶数
else
M = (N+1)/2;
parity = 1;
end
% 导入切比雪夫多项式
syms x;
T = [
1;
x;
2*x^2-1;
4*x^3-3*x;
8*x^4-8*x^2+1;
16*x^5-20*x^3+5*x;
32*x^6-48*x^4+18*x^2-1;
64*x^7-112*x^5+56*x^3-7*x;
128*x^8-256*x^6+160*x^4-32*x^2+1;
256*x^9-576*x^7+432*x^5-120*x^3+9*x;
512*x^10-1280*x^8+1120*x^6-400*x^4+50*x^2-1
];
% 换算副瓣电平R0
R0 = 10 ^ (R0dB / 20);
% 计算x0
x0 = ((R0 + sqrt(R0^2 -1))^(1/(N-1)) + (R0 - sqrt(R0^2 -1))^(1/(N-1))) * 1/2;
% 定义馈电幅度矩阵I
I = sym('I', [1 M]);
% 计算展开的方向图表达式
S = T(2) * I(1);
for k = 2 : M
S = S + T(2*k) * I(k);
end
%collect(S,x)
%vpa(S)
S_po = coeffs(S,x); % 含电流的方向图多项式系数
T_po = sym2poly(T(N)); % 标准的方向图多项式系数(反向了)
T_PO = zeros(1,M);
for k = 1 : M
T_PO(k) = T_po(2*k-1);
S_po(k) = S_po(k)/x0^(2*k-1);
end
% T_PO
% vpa(S_po)
% 系数比较求出电流大小
eq = sym('eq',[M 1]); % 系数比较恒等式
for k = 1 : M
eq(k) = S_po(k) == T_PO(M+1-k);
end
vpa(eq)
I_st = solve(eq);
I_ce = struct2cell(I_st);
i = zeros(M,1); % 最终的电流矩阵
for k = 1 : M
i(k) = I_ce{k,1};
i(k) = i(k);
end
for k = 2 : M
i(k) = i(k)/i(1); % 电流归一化
end
i(1) = 1; i
i=[1;0.89;0.706;0.485;0.357]; % 用来检验的数据
% 计算最终的阵因子
S_all = zeros(1,length(theta));
for k = 1 : M
S_all = S_all + i(k)*cos((2*k-1)*u);
end
SS = S_all;
% 画图 —— 直角坐标系
S_max = max(S_all); % 归一化处理
S_all = 20*log10(abs(S_all/S_max)); % 取分贝值
figure('NumberTitle', 'off', 'Name', 'S Parameter (dB) - Cartesian');
theta_ = theta * 180 / pi;
plot(theta_,S_all,'k','LineWidth',1.5);
grid off
xlabel('\theta (°)','FontSize',13);
ylabel('|S| dB','FontSize',12);
axis([0 182 -50 2]);
box on
% 画图 —— 极坐标系
figure('NumberTitle', 'off', 'Name', 'S Parameter (dB) - Polar');
S_pol = SS / max(SS);
polarplot(theta,S_all,'k','LineWidth',1.5);
thetalim([0 180]);
rmin = min(S_all);
rmax = max(S_all);
rlim([-50 rmax]);
上述测试的N=10的10个阵列,侧射阵(θ=0),副瓣电平SLL=26dB,结果如下:


经过比较,结果较为标准。
更改一下theta0的值,改为120读,即偏离法相30度:


时间不早了,谢谢大家~~~
切比雪夫低副瓣阵列设计 MATLAB的更多相关文章
- 低副瓣阵列天线综合1 matlab HFSS
车载雷达天线多采用微带贴片天线,贴片振子的形状多种多样,较常用的是矩形: 组阵时多采用先串馈再把串馈好的行或列单元采取并馈的方式组阵,无论是串馈或并馈,想要获得较低的副瓣效果,都需要采取电流幅度加权的 ...
- 低副瓣阵列天线综合2 matlab HFSS
接着继续研究阵列天线设计,得到了电流幅度分布或功率分布之后,就可以进行阵列设计或馈电网络设计了,之前利用HFSS仿真过单列的串馈天线,后面会继续复习熟悉一下,本次我找了一篇硕士论文利用威尔金森功分器来 ...
- LMS自适应天线阵列设计 MATLAB
在自适应天线课上刚刚学了LMS自适应阵,先出一个抢先版贴一下结果,抢先某个小朋友一步. 关于LMS的具体介绍,直接看wiki里的吧,解释的比书上简明:传送门:https://en.wikipedia. ...
- Python学习第十八篇——低耦合函数设计思想
import json 2 def greet_user(filename): 3 try: 4 with open(filename) as f_obj: 5 username = json.loa ...
- Matlab信号处理工具箱函数
波形产生和绘图chirp 产生扫描频率余弦diric 产生Dirichlet函数或周期Sinc函数gauspuls 产生高斯调制正弦脉冲pulstran 产生脉冲串rectpuls 产生非周期矩形信号 ...
- matlab 中 eps 的分析
eps(a)是|a|与大于|a|的最小的浮点数之间的距离,距离越小表示精度越高.默认a=1: 这里直接在matlab中输入:eps == eps(1)(true). 我们知道浮点数其实是离散的,有限的 ...
- 【OOAD】面向对象设计原则概述
软件的可维护性和可复用性 知名软件大师Robert C.Martin认为一个可维护性(Maintainability) 较低的软件设计,通常由于如下4个原因造成: 过于僵硬(Rigidity) ...
- 1.2CPU和GPU的设计区别
CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景.CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理.这些都使得C ...
- 从涂鸦到发布——理解API的设计过程(转)
英文原文:From Doodles to Delivery: An API Design Process 要想设计出可以正常运行的Web API,对基于web的应用的基本理解是一个良好的基础.但如果你 ...
随机推荐
- k8s集群搭建(三)
Dashboard安装 Kubernetes Dashboard是k8s提供基于Web的监控和操作界面,可以通过UI来显示集群的所有工作负载,除了查看资源,还是创建.编辑.更新.删除资源. 根据Kub ...
- FPGA小白学习之路(5)clk为什么要用posedge,而不用negedge(转)
clk为什么要用posedge,而不用negedge 转自:http://www.cnblogs.com/dangxia/archive/2012/03/07/2383744.html Verilog ...
- swoole(1)使用docker安装swoole环境
1.下载镜像 pull php 镜像 docker pull php:7.3-alpine3.8 创建容器 docker run -it --name test php:7.3-alpine3.8 s ...
- k8s环境部署.net core web项目(docker本地仓库)
在之前的文档中,我们部署了.net core web在k8s环境下,达成了集群管理项目的目的.但是,由于是本地部署,需要在所有的node节点都拉取好镜像,这是非常麻烦的,为了只维护一份代码,同步更新. ...
- Failed to open the key database file. c;\\User\\w\\Destop\\SecureCRT_FX6.5.3\\Config\\KnowHosts\\Hostsmap.txt这个问题的解决方法
1.首先将这段错误在百度翻译上面查询一下,是什么意思,查询结果如下: 打开密钥数据库文件失败.C:\用户\ w \平台\ securecrt_fx6.5.3 \\ \\ \\ hostsmap.txt ...
- python之嵌套 闭包 装饰器 global、nonlocal关键字
嵌套: 在函数的内部定义函数闭包: 符合开放封闭原则:在不修改源代码与调用方式的情况下为函数添加新功能 # global 将局部变量变成全局变量 num = 100 def fn1(): globa ...
- 微信小程序注册和简单配置
微信小程序注册 1.直接搜索微信小程序,按照流程进行注册 2.如果有微信公众号,可以在公众号内部点小程序,进入注册流程 小程序中的概念 开发设置 在开发设置中获取AppID和AppSecret App ...
- 「从零单排HBase 05」核心特性region split
HBase拥有出色的扩展性,其中最依赖的就是region的自动split机制. 1.split触发时机与策略 前面我们已经知道了,数据写入过程中,需要先写memstore,然后memstore满了以后 ...
- 通过nodejs实现文件的上传
通过nodejs实现文件的上传 主要内容 本文将用来讲述如何通过nodejs进行文件上传,将会涉及到以下知识点: 通过express模块进行服务器的搭建 通过multer模块将上传的文件保存到指定目录 ...
- 吐血干货,直播首屏耗时400ms以下的优化实践
导读: 直播行业的竞争越来越激烈,进过18年这波洗牌后,已经度过了蛮荒暴力期,剩下的都是在不断追求体验.最近在帮做直播优化首开,通过多种方案并行,把首开降到500ms以下,希望能对大家有借鉴. 背景: ...