1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 | %% --------------------------------------------------------------------------
% 切比雪夫低副瓣阵列综合
% 设计一个间距为d,单元数为N,主副瓣电平比为RdB,扫描角度为theta0的切比雪夫阵列。
% 2019.11.10
%--------------------------------------------------------------------------
%% 初始数据赋值
clear
clc
N = 13; %单元数N(3<N<=13,N取整数)
if rem (N,2)==0 %求和项数M(奇偶不同)
M = N/2;
else
M = (N-1)/2+1;
end
RdB = 26; % 主副瓣比(dB值)
lamuda = 10; % 波长
d = 0.6*lamuda; % 单元间距
theta0 = 80/180* pi ; % 扫描角度,相对于阵列排布方向的夹角
A = [1,0,0,0,0,0,0,0,0,0,0,0,0,0; % chebyshev多项式Tn(x) = cos(nu)= f(x)系数矩阵A
0,1,0,0,0,0,0,0,0,0,0,0,0,0; % 系数矩阵A每一行表示n,从n = 0开始
-1,0,2,0,0,0,0,0,0,0,0,0,0,0; % 列表示x的幂次方,从0次方开始
0,-3,0,4,0,0,0,0,0,0,0,0,0,0;
1,0,-8,0,8,0,0,0,0,0,0,0,0,0;
0,5,0,-20,0,16,0,0,0,0,0,0,0,0;
-1,0,18,0,-48,0,32,0,0,0,0,0,0,0;
0,-7,0,56,0,-112,0,64,0,0,0,0,0,0;
1,0,-32,0,160,0,-256,0,128,0,0,0,0,0;
0,9,0,-120,0,432,0,-576,0,256,0,0,0,0;
-1,0,50,0,-400,0,1120,0,-1280,0,512,0,0,0;
0,-11,0,220,0,-1232,0,2816,0,-2816,0,1024,0,0;
1,0,-72,0,840,0,-3584,0,6912,0,-6144,0,2048,0;
0,13,0,-364,0,2912,0,-9984,0,16640,0,-13312,0,4096];
% 初始矩阵赋值
I = zeros (1,M); % 电流幅度矩阵
S = zeros (M,M); % 阵因子系数矩阵
S_compare = zeros (1,M); % 系数比对矩阵
R = 10^(RdB/20); % 非dB 值的主副瓣比
x0 = 1/2*( (R+ sqrt (R^2-1))^(1/(N-1))+... % 变量代换值x0
(R- sqrt (R^2-1))^(1/(N-1)) );
%% 求S、S_compare和I
% 从系数矩阵中择选出M个求和项对应的系数S(奇偶分开讨论)
for i = 1:M
if rem (N,2)==0 % 偶数情况
for j = 1:M % 第i行表示x的i次方,
S( i , j ) = A(2* j ,2* i ); % 第j列表示第j个求和项系数(未除x0)
end
S_compare( i ) = A(N,2* i ); % 比对矩阵,即下标为N-1的chebyshev多项式的系数
else % 奇数情况
for j = 1:M
S( i , j ) = A(2* j -1,2* i -1);
end
S_compare( i ) = A(N,2* i -1);
end
end
% 通过S和S_compare系数比对求出电流幅度
for k = 1:M
i = M-k+1;
if rem (N,2)==0 % 偶数
I( i ) = (S_compare( i )*x0^(2* i -1) -...
I*S( i ,:)')/S( i , i );
else % 奇数
I( i ) = (S_compare( i )*x0^(2*( i -1)) -...
I*S( i ,:)')/S( i , i );
end
end
I = I/ max (I); % 对I归一化
if rem (N,2)==0
I_final = [ fliplr (I),I]; % 最终的单元排列(左右对称)
else
I_final = [ fliplr (I),I(2: end )];
end
sprintf ( '天线单元归一化电流幅度:' )
sprintf ( '%.3f ' ,I_final)
%% 获得最终阵列方向图S_P
theta_rad = 0:0.01: pi ;
theta = theta_rad*180/ pi ;
u = pi *d/lamuda*( cos (theta_rad)- cos (theta0));
S_P = zeros (1, length (theta_rad)); % 最终方向图
for k = 1:M
if rem (N,2)==0
S_P = S_P + I(k)* cos ((2*k-1)*u); % 偶数
else
S_P = S_P + I(k)* cos (2*(k-1)*u); % 奇数
end
end
S_P_abs = abs (S_P); % 对S_P取绝对值
S_PdB = 20* log10 (S_P_abs/ max (S_P_abs)); % 对S_P取dB值
%% 绘图
H = - ones (1, length (S_P_abs))*26; % 根据预先设置的主副瓣比得到的参考曲线
% 直角坐标系
figure ( 'NumberTitle' , 'off' , 'Name' , 'S Parameter (abs)-Plot' );
plot (theta,S_P_abs, 'b' , 'LineWidth' ,1.5)
xlabel ( 'theta(°)' )
ylabel ( '|S| ' )
title ( 'chebyshev低副瓣阵列直角坐标图' )
figure ( 'NumberTitle' , 'off' , 'Name' , 'S Parameter (dB)-Plot' );
plot (theta,H, 'r--' , 'LineWidth' ,1.5)
hold on
plot (theta,S_PdB, 'b' , 'LineWidth' ,1.5)
xlabel ( 'theta(°)' )
ylabel ( '|S| dB' )
title ( 'chebyshev低副瓣阵列直角坐标图' )
legend ( '预设副瓣参考曲线' , '方向图' )
% 极坐标系
figure ( 'NumberTitle' , 'off' , 'Name' , 'S Parameter (dB)-Polar' );
polarplot(theta_rad,H, 'r--' , 'LineWidth' ,1.5)
hold on
polarplot(theta_rad,S_PdB, 'b' , 'LineWidth' ,1.5)
thetalim([0 180]);
rmin = S_PdB(1,1);
rmax = max (S_PdB);
rlim([-50 rmax]);
title ( 'chebyshev低副瓣阵列极坐标图' )
legend ( '预设副瓣参考曲线RdB' , '方向图(dB)' )
|