切比雪夫低副瓣陣列設計 MATLAB


相控陣天線中,直線陣列作為重要的一種,有着極為廣泛的應用。切比雪夫低副瓣陣列設計是一種典型的設計方法。

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

其產生的核心如下:

 

 

 

我的理解:因為能量守恆,所有副瓣都一樣的時候,能量會更多的集中在副瓣中,

主瓣最大增益也不會改變,這樣就可以使主瓣窄,副瓣電平降低。G=4πS/λ2

 

 

結合切比雪夫函數,可以得到:

 

 

 

 

 

 

 

 

 

 

 

當具體應用時,解決方案如下:

 

 

 

 

 

話不多說,其Matlab中的程序如下:

 

  1 % 2019-11
  2 % 切比雪夫低副瓣陣列饋電設計_1.0 (端射陣)
  3 
  4 close all;
  5 clear
  6 % digits(3);
  7 
  8 % 參數設置
  9 lamda = 1; % 波長
 10 d = lamda * 0.6; % d為陣元間距
 11 theta0 = (120/180)*pi; % 掃描角度
 12 theta = 0: 0.01 : pi; % Θ為方向角
 13 u = pi*d*(cos(theta)-cos(theta0))/lamda; 
 14 %T = Chebyshev; % T為切比雪夫恆等式系數矩陣
 15 N = 10; % N為直線陣的陣元數量,M為一側的單元數(對稱)
 16 R0dB = 26; % R0dB為副瓣電平
 17 
 18 if (mod(N,2)==0)
 19 M = N / 2;
 20 parity = 0; % parity為奇偶性,0為偶數
 21 else
 22 M = (N+1)/2;
 23 parity = 1;
 24 end
 25 
 26 % 導入切比雪夫多項式
 27 syms x; 
 28 T = [
 29 1;
 30 x;
 31 2*x^2-1;
 32 4*x^3-3*x;
 33 8*x^4-8*x^2+1;
 34 16*x^5-20*x^3+5*x;
 35 32*x^6-48*x^4+18*x^2-1;
 36 64*x^7-112*x^5+56*x^3-7*x;
 37 128*x^8-256*x^6+160*x^4-32*x^2+1;
 38 256*x^9-576*x^7+432*x^5-120*x^3+9*x;
 39 512*x^10-1280*x^8+1120*x^6-400*x^4+50*x^2-1
 40 ];
 41 
 42 
 43 % 換算副瓣電平R0
 44 R0 = 10 ^ (R0dB / 20);
 45 
 46 % 計算x0
 47 x0 = ((R0 + sqrt(R0^2 -1))^(1/(N-1)) + (R0 - sqrt(R0^2 -1))^(1/(N-1))) * 1/2;
 48 
 49 % 定義饋電幅度矩陣I
 50 I = sym('I', [1 M]);
 51 
 52 % 計算展開的方向圖表達式
 53 S = T(2) * I(1);
 54 
 55 for k = 2 : M
 56 S = S + T(2*k) * I(k);
 57 end
 58 
 59 %collect(S,x)
 60 %vpa(S)
 61 
 62 S_po = coeffs(S,x); % 含電流的方向圖多項式系數
 63 T_po = sym2poly(T(N)); % 標准的方向圖多項式系數(反向了)
 64 T_PO = zeros(1,M); 
 65 for k = 1 : M
 66 T_PO(k) = T_po(2*k-1);
 67 S_po(k) = S_po(k)/x0^(2*k-1);
 68 end
 69 % T_PO
 70 % vpa(S_po)
 71 
 72 % 系數比較求出電流大小
 73 eq = sym('eq',[M 1]); % 系數比較恆等式
 74 for k = 1 : M
 75 eq(k) = S_po(k) == T_PO(M+1-k);
 76 end
 77 
 78 vpa(eq)
 79 I_st = solve(eq);
 80 I_ce = struct2cell(I_st);
 81 i = zeros(M,1); % 最終的電流矩陣
 82 for k = 1 : M
 83 i(k) = I_ce{k,1};
 84 i(k) = i(k);
 85 end
 86 for k = 2 : M
 87 i(k) = i(k)/i(1); % 電流歸一化
 88 end
 89 i(1) = 1; i
 90 i=[1;0.89;0.706;0.485;0.357]; % 用來檢驗的數據
 91 
 92 % 計算最終的陣因子
 93 S_all = zeros(1,length(theta));
 94 for k = 1 : M
 95 S_all = S_all + i(k)*cos((2*k-1)*u);
 96 end
 97 SS = S_all;
 98 
 99 % 畫圖 —— 直角坐標系
100 S_max = max(S_all); % 歸一化處理
101 S_all = 20*log10(abs(S_all/S_max)); % 取分貝值
102 figure('NumberTitle', 'off', 'Name', 'S Parameter (dB) - Cartesian');
103 theta_ = theta * 180 / pi;
104 plot(theta_,S_all,'k','LineWidth',1.5);
105 grid off
106 xlabel('\theta (°)','FontSize',13);
107 ylabel('|S| dB','FontSize',12);
108 axis([0 182 -50 2]);
109 box on
110 
111 % 畫圖 —— 極坐標系
112 figure('NumberTitle', 'off', 'Name', 'S Parameter (dB) - Polar');
113 S_pol = SS / max(SS);
114 polarplot(theta,S_all,'k','LineWidth',1.5);
115 thetalim([0 180]);
116 rmin = min(S_all);
117 rmax = max(S_all);
118 rlim([-50 rmax]);

 

 

 

上述測試的N=10的10個陣列,側射陣(θ=0),副瓣電平SLL=26dB,結果如下:

 

 

 

 經過比較,結果較為標准。

更改一下theta0的值,改為120讀,即偏離法相30度:

 

 

 

 

 時間不早了,謝謝大家~~~

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2026 CODEPRJ.COM