切比雪夫低副瓣阵列设计 MATLAB
相控阵天线中,直线阵列作为重要的一种,有着极为广泛的应用。切比雪夫低副瓣阵列设计是一种典型的设计方法。
切比雪夫方法主要是实现低副瓣、窄波束:
其产生的核心如下:
我的理解:因为能量守恒,所有副瓣都一样的时候,能量会更多的集中在副瓣中,
主瓣最大增益也不会改变,这样就可以使主瓣窄,副瓣电平降低。G=4πS/λ2
结合切比雪夫函数,可以得到:
当具体应用时,解决方案如下:
话不多说,其Matlab中的程序如下:
% 2019-11 % 切比雪夫低副瓣阵列馈电设计_1.0 (端射阵) close all clear all 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度:
时间不早了,谢谢大家~~~