相控阵天线中,直线阵列作为重要的一种,有着极为广泛的应用。切比雪夫低副瓣阵列设计是一种典型的设计方法。

切比雪夫方法主要是实现低副瓣、窄波束:

其产生的核心如下:

我的理解:因为能量守恒,所有副瓣都一样的时候,能量会更多的集中在副瓣中,

主瓣最大增益也不会改变,这样就可以使主瓣窄,副瓣电平降低。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. 低副瓣阵列天线综合1 matlab HFSS

    车载雷达天线多采用微带贴片天线,贴片振子的形状多种多样,较常用的是矩形: 组阵时多采用先串馈再把串馈好的行或列单元采取并馈的方式组阵,无论是串馈或并馈,想要获得较低的副瓣效果,都需要采取电流幅度加权的 ...

  2. 低副瓣阵列天线综合2 matlab HFSS

    接着继续研究阵列天线设计,得到了电流幅度分布或功率分布之后,就可以进行阵列设计或馈电网络设计了,之前利用HFSS仿真过单列的串馈天线,后面会继续复习熟悉一下,本次我找了一篇硕士论文利用威尔金森功分器来 ...

  3. LMS自适应天线阵列设计 MATLAB

    在自适应天线课上刚刚学了LMS自适应阵,先出一个抢先版贴一下结果,抢先某个小朋友一步. 关于LMS的具体介绍,直接看wiki里的吧,解释的比书上简明:传送门:https://en.wikipedia. ...

  4. Python学习第十八篇——低耦合函数设计思想

    import json 2 def greet_user(filename): 3 try: 4 with open(filename) as f_obj: 5 username = json.loa ...

  5. Matlab信号处理工具箱函数

    波形产生和绘图chirp 产生扫描频率余弦diric 产生Dirichlet函数或周期Sinc函数gauspuls 产生高斯调制正弦脉冲pulstran 产生脉冲串rectpuls 产生非周期矩形信号 ...

  6. matlab 中 eps 的分析

    eps(a)是|a|与大于|a|的最小的浮点数之间的距离,距离越小表示精度越高.默认a=1: 这里直接在matlab中输入:eps == eps(1)(true). 我们知道浮点数其实是离散的,有限的 ...

  7. 【OOAD】面向对象设计原则概述

    软件的可维护性和可复用性 知名软件大师Robert C.Martin认为一个可维护性(Maintainability) 较低的软件设计,通常由于如下4个原因造成: 过于僵硬(Rigidity)  ...

  8. 1.2CPU和GPU的设计区别

    CPU和GPU之所以大不相同,是由于其设计目标的不同,它们分别针对了两种不同的应用场景.CPU需要很强的通用性来处理各种不同的数据类型,同时又要逻辑判断又会引入大量的分支跳转和中断的处理.这些都使得C ...

  9. 从涂鸦到发布——理解API的设计过程(转)

    英文原文:From Doodles to Delivery: An API Design Process 要想设计出可以正常运行的Web API,对基于web的应用的基本理解是一个良好的基础.但如果你 ...

随机推荐

  1. 一个异步访问redis的内存问题

    | 分类 redis  | 遇到一个redis实例突然内存飙高的案例, 具体症状如下: 客户端使用异步访问模式 单个请求的回包很大,hgetall一个8M的key 由于访问量比较大,已经登录不上red ...

  2. python下载神通板砖有声版

    背景 前端时间在喜马拉雅上偶然听到牛大宝说的有声小说神通板砖,说的很是幽默,听的正起劲的时候开始收费了,于是我就在网上找了下看看有没有免费版,一搜果然有,但该网站上广告太多了,于是我就写了个小脚本可以 ...

  3. 在浏览器中使用ES6的模块功能 import 及 export

    感谢英文原作者 Jake Archibald 的技术分享 各个浏览器对于ES6模块 import . export的支持情况 Safari 10.1. Chrome 61. Firefox 54 – ...

  4. python学习记录_IPython基础,Tab自动完成,内省,%run命令_

        这是我第一次写博客,之前也有很多想法,想把自己所接触的,以文本的形式储存,总是没有及时行动.此次下定决心,想把自己所学,所遇到的问题做个记录共享给诸位,与此同时自己作为备忘,感谢各位访问我的博 ...

  5. 适合MCU用的C语言快速互转HEX(16进制)和原始字符串/数组方法

    缘由 这个起因是昨晚群里有人在讨论怎么把字符串转成HEX方法最佳,讨论到最后变成哪种方法效率最优了.毕竟这代码是要在MCU上面跑的,要同时考虑到时间和空间的最优解. 当然讨论的是有结果的,具体实现的方 ...

  6. 【猫狗数据集】谷歌colab之使用pytorch读取自己数据集(猫狗数据集)

    之前在:https://www.cnblogs.com/xiximayou/p/12398285.html创建好了数据集,将它上传到谷歌colab 在colab上的目录如下: 在utils中的rdat ...

  7. url参数格式化

    getQueryBbj = (url)=>{ let urlData = url.split("?")[1]; let queryArr = urlData.split('& ...

  8. PHP mysql事务问题实例分析

    本文实例分析了PHP的mysql事务问题.分享给大家供大家参考,具体如下: 对于myisam数据库,可以控制事务的进行: $mysqlrl = mysql_connect ( $db_config [ ...

  9. JDk下载和环境变量Path的配置

    JDK下载与安装 下载地址 打开该网址会显示如下图,点击DOWMLOAD即可: 出现该页面时,点击接受: 选择对应的安装包下载即可(本人用的是Windows64位): 注:如果您无法确定您的windo ...

  10. vue基础 ref的作用

    1.  ref 获取dom元素,除了能获取dom元素也能获取组件dom,   组件通信:        在父组件中直接调用ref定义的组件的数据或者方法 <div id="app&qu ...