精品国产人成在线_亚洲高清无码在线观看_国产在线视频国产永久2021_国产AV综合第一页一个的一区免费影院黑人_最近中文字幕MV高清在线视频

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

切比雪夫綜合法的Matlab程序

電子萬花筒 ? 來源:cnblogs ? 作者:cnblogs ? 2022-07-28 09:30 ? 次閱讀
在《自適應天線與相控陣》這門課中,了解到了關于理想低副瓣陣列設計的一些方法,其中切比雪夫等副瓣陣列設計方法是一種基礎的方法,故將其設計流程寫成maltab程序供以后學習使用。在此分享一下。此方法全稱為道爾夫-切比雪夫綜合法,簡稱為切比雪夫綜合法,是一種工程實際中常用的可控制副瓣電平的陣列天線綜合方法。切比雪夫陣列的特點是:

(1)等副瓣電平;

(2)在相同副瓣電平和相同陣列長度下主瓣最窄,為最佳陣列;

(3)單元數過多時,陣列兩端單元激勵幅度跳變大,使饋電困難。一般在雷達系統中,為了使其具有較高的抗干擾、抗反輻射導彈的能力,往往要求雷達天線的副瓣盡量低,而采用道爾夫-切比雪夫綜合法以及進一步的泰勒綜合法等設計的陣列天線就可以實現低副瓣。最早,道爾夫(C.L.Dolph)利用切比雪夫函數來逼近天線陣列的陣因子函數,得到了這種嚴謹規范的綜合方法。而且,經過前人研究,當天線單元N≤13時,切比雪夫陣列從中間到兩端的激勵分布是單調減小的;而當N>13時,陣列兩端單元的激勵開始出現跳變。所以對于大型陣列來說一般不宜采用切比雪夫方法綜合陣列。所以下面的Matlab程序正常工作在天線單元數N為3到13這個范圍內。關于如何采用切比雪夫多項式去設計陣因子的具體技術步驟,另一篇文章較為詳細地介紹了,此處不再贅述,大家可以在文尾或評論區查看。下面是可以綜合設計天線單元從3到13單元的切比雪夫綜合法的Matlab程序:

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

ifrem(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(奇偶分開討論)

fori= 1:M

ifrem(N,2)==0% 偶數情況

forj= 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% 奇數情況

forj= 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系數比對求出電流幅度

fork = 1:M

i= M-k+1;

ifrem(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歸一化

ifrem(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 = 0pi;

theta = theta_rad*180/pi;

u =pi*d/lamuda*(cos(theta_rad)-cos(theta0));

S_P =zeros(1,length(theta_rad));% 最終方向圖

fork = 1:M

ifrem(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)

holdon

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)

holdon

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)')

下面即為一個示例:單元間距d=0.6λ、單元數13、主副瓣電平比26dB、掃描角度80度(相對于單元排布方向)的切比雪夫陣列設計。歸一化單元電流幅度比為:0.406 0.432 0.604 0.770 0.908 1.000 0.516 1.000 0.908 0.770 0.604 0.432 0.406

6d23f842-0e14-11ed-ba43-dac502259ad0.png

6d4bd3bc-0e14-11ed-ba43-dac502259ad0.png

6d55389e-0e14-11ed-ba43-dac502259ad0.png

----END 上文提到的另一篇文章。

陣列天線綜合之切比雪夫低副瓣陣列設計 MATLAB(作者:OLIVERMAHOUT)

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

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

其產生的核心如下:

6d68e6b4-0e14-11ed-ba43-dac502259ad0.png

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

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

6d86721a-0e14-11ed-ba43-dac502259ad0.png

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

6d949e8a-0e14-11ed-ba43-dac502259ad0.png

6daad736-0e14-11ed-ba43-dac502259ad0.png

6dcc2558-0e14-11ed-ba43-dac502259ad0.png

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

6ddac6c6-0e14-11ed-ba43-dac502259ad0.jpg

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

6deb6864-0e14-11ed-ba43-dac502259ad0.jpg

1

% 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(' heta (°)','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]);

6deb6864-0e14-11ed-ba43-dac502259ad0.jpg

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

6e029c1e-0e14-11ed-ba43-dac502259ad0.png

6e24aeee-0e14-11ed-ba43-dac502259ad0.png

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

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

6e326746-0e14-11ed-ba43-dac502259ad0.png6e41f4ae-0e14-11ed-ba43-dac502259ad0.png

審核編輯 :李倩


聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • matlab
    +關注

    關注

    182

    文章

    2963

    瀏覽量

    230170
  • 電平
    +關注

    關注

    5

    文章

    359

    瀏覽量

    39855
  • 陣列天線
    +關注

    關注

    3

    文章

    33

    瀏覽量

    10994

原文標題:MATLAB陣列天線之切比雪夫低副瓣陣列設計

文章出處:【微信號:ZGDZGCS,微信公眾號:電子萬花筒】歡迎添加關注!文章轉載請注明出處。

收藏 人收藏

    評論

    相關推薦

    第5章 MATLAB程序設計.ppt

    第5章 MATLAB程序設計
    發表于 10-24 16:40 ?0次下載

    海外爬蟲IP的合法邊界:合規性探討與實踐

    海外爬蟲IP的合法邊界主要涉及合規性探討與實踐。
    的頭像 發表于 10-12 07:56 ?170次閱讀

    使用FilterPro軟件設計的帶通濾波器和設定的差很多是為什么?

    我設置的帶通濾波器通帶:20-20KHz阻帶:25KHz增益:10dB2級4階-sallenkey拓撲,我看數據表中的數據是4k-23k左右的通帶我實際測量是4k-19.5k
    發表于 09-02 06:58

    如何使用MATLAB創建預測模型

    在這篇文章中,我們將討論如何使用MATLAB創建預測模型。MATLAB(矩陣實驗室)是一種用于數值計算、可視化和編程的高級編程語言和交互式環境。它廣泛應用于工程、科學研究和金融領域。 1.
    的頭像 發表于 07-11 14:29 ?619次閱讀

    MATLAB如何使用訓練好的網絡

    引言 在本文中,我們將探討如何在MATLAB中使用訓練好的神經網絡。神經網絡是一種強大的機器學習技術,廣泛應用于圖像識別、自然語言處理、預測建模等領域。MATLAB提供了豐富的工具箱,使得神經網絡
    的頭像 發表于 07-03 10:06 ?1022次閱讀

    電力電容器手動投和自動投區別在哪

    電力電容器的手動投和自動投有以下幾點區別: 一、操作方式: 1、手動投:需要操作人員手動控制開關或按鈕來進行電容器的投(連接)和切除(斷開)操作。 2、自動投
    的頭像 發表于 06-26 14:16 ?713次閱讀
    電力電容器手動投<b class='flag-5'>切</b>和自動投<b class='flag-5'>切</b>區別在哪

    什么是基爾霍電壓定律 什么是基爾霍電流定律

    基爾霍定律是電路分析的基本原則,由德國物理學家基爾霍(Gustav Kirchhoff)在19世紀中葉提出。基爾霍定律分為基爾霍電壓定律和基爾霍
    的頭像 發表于 02-18 16:43 ?7466次閱讀

    基爾霍電流定律的內容和表達式 基爾霍電流定律的作用對象是

    基爾霍電流定律(Kirchhoff's Current Law,簡稱KCL)是描述電路中電流分布和流動的定律之一,由德國物理學家基爾霍(Gustav Robert Kirchhoff)于1845
    的頭像 發表于 02-04 13:54 ?2792次閱讀

    曼編碼怎么算 哈曼編碼左邊是0還是1

    曼編碼是一種基于頻率的變長編碼方式,常用于數據壓縮和信息傳輸領域。它是由美國數學家大衛·哈曼在1952年發明的,被廣泛應用于無損壓縮領域。 哈曼編碼算法的基本思想是根據字符出現的頻率構建一棵
    的頭像 發表于 01-30 11:27 ?2606次閱讀

    基爾霍電流定律體現了什么性質

    基爾霍電流定律(Kirchhoff's Current Law),又稱為電流守恒定律或結點法則,是描述電流在交流和直流電路中的分布和變化規律的基本定律之一。基爾霍電流定律可以用來判斷電流在電路中
    的頭像 發表于 01-15 13:44 ?815次閱讀

    基爾霍定律包括哪些定律

    基爾霍定律(Kirchhoff’s laws)是電路分析中的重要定律,由德國物理學家戴奧多爾·基爾霍于1845年提出。這些定律被廣泛應用于電路理論和實踐中,被認為是電路分析的基石。基爾霍
    的頭像 發表于 01-10 17:03 ?1404次閱讀

    基爾霍定律與什么有關

    基爾霍定律是電路分析中的重要定律,它是由德國物理學家基爾霍于1845年提出的,用于描述電路中電流和電壓的分布及關系。基爾霍定律是電路理論中的基礎,對于理解和分析電路的工作原理起著重要的作用
    的頭像 發表于 01-10 16:59 ?1051次閱讀

    基爾霍定律體現了什么守恒

    基爾霍定律,也被稱為基爾霍電流定律和基爾霍電壓定律,是電路分析中最為基礎和重要的定律之一。基爾霍定律體現了電流和電壓在電路中的守恒原理。在本文中,我們將詳細討論基爾霍
    的頭像 發表于 01-10 16:55 ?1321次閱讀

    變換的原理簡述

    變換是一種對圖像中形狀的定位技術,常被用于提取圖像中的直線,圓和橢圓等簡單形狀。霍變換運用兩個坐標空間之間的變換,將在一個空間中具有相同形狀的曲線或直線映射到另一個坐標空間的一個點上形成峰值,從而把檢測任意形狀的問題轉化為統計峰值問題。
    的頭像 發表于 12-19 16:56 ?2415次閱讀
    霍<b class='flag-5'>夫</b>變換的原理簡述

    MATLAB課程之第四章v3 程序設計(3)

    看看調試方法吧!掌握了方法也就能自行找出程序的錯誤了。 程序調試是程序設計的重要環節,也是程序設計人員必須掌握的重要技能。沒有人能保證寫出的程序
    的頭像 發表于 12-03 08:10 ?436次閱讀