matlab浮点数求绝对值_MATLAB仿真阵列天线切比雪夫综合法(附代码)

来源:cnblogs

在《自适应天线与相控阵》这门课中,了解到了关于理想低副瓣阵列设计的一些方法,其中切比雪夫等副瓣阵列设计方法是一种基础的方法,故将其设计流程写成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

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

下面即为一个示例:单元间距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

20931ba018071fb6f63e6e31e01d0bbb.png

c8307ed6340ce8dd664222badaf3b548.png

dc6634926f48382df15e5ac492f13bf6.png

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

阵列天线综合之切比雪夫低副瓣阵列设计 MATLAB(作者:OLIVERMAHOUT)

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

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

其产生的核心如下:

74f3c4d38e3b7fd5189145fa25f3e54c.png

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

主瓣最大增益也不会改变,这样就可以使主瓣窄,副瓣电平降低。G=4πS/λ2

3dd6bca8500917e7c17ec3676d151566.png

结合切比雪夫函数,可以得到:

 0e0784dfe59ed8bc093a1ea1d1f4fc20.png

 575ec0ccf0319b2d48eecb9ad021d4d4.png

 90fbf5a70542a202bc22defd4dd2aee9.png

当具体应用时,解决方案如下:

 40cc90fdd443963b08341b2b33bc9fef.png

话不多说,其Matlab中的程序如下:

9897578bc80b7f744fa848f5ff18f6d3.png

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为偶数elseM = (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];

% 换算副瓣电平R0R0 = 10 ^ (R0dB / 20);

% 计算x0x0 = ((R0 + sqrt(R0^2 -1))^(1/(N-1)) + (R0 - sqrt(R0^2 -1))^(1/(N-1))) * 1/2;

% 定义馈电幅度矩阵II = sym('I', [1 M]);

% 计算展开的方向图表达式S = T(2) * I(1);

for k = 2 : MS = 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 : MT_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 : Meq(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 : Mi(k) = I_ce{k,1};i(k) = i(k);endfor k = 2 : Mi(k) = i(k)/i(1); % 电流归一化endi(1) = 1; ii=[1;0.89;0.706;0.485;0.357]; % 用来检验的数据

% 计算最终的阵因子S_all = zeros(1,length(theta));for k = 1 : MS_all = S_all + i(k)*cos((2*k-1)*u);endSS = 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 offxlabel('\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]);

9897578bc80b7f744fa848f5ff18f6d3.png

上述测试的N=10的10个阵列,侧射阵(θ=0),副瓣电平SLL=26dB,结果如下:

cef44b538c3f0c28d3b2887871696fe9.png

 4a1eb9e6d392341929e3279e782f5fdd.png

 经过比较,结果较为标准。

更改一下theta0的值,改为120读,即偏离法相30度:

 6c1faa8f1c7cb8225cb0eb3c2ab7d3cf.pngb1b69f8eea32e6a4c5d2210da7f9f041.png

来源:cnblogs

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/295686.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

丘成桐:中国学生基础真的比欧美学生好吗?

全世界只有3.14 % 的人关注了爆炸吧知识“中国学生基础好?这都是多少年来可怕的自我麻醉!我不认为中国学生的基础知识学得有多好!” “美国最好的学生真是好得不得了。应该这样比较,不管是美国,还是中国,…

WPF开发登录窗口之——添加密码完善登录窗口

WPF开发者QQ群&#xff1a; 340500857 | 微信群 目前人数太多&#xff0c;暂不开放01—代码如下一、添加类在“CustomControl”文件夹中加“PasswordInputBox.xaml”与文本输入框一样&#xff0c;唯一的区别是将文本框改成密码框&#xff1a;<UserControl x:Class"Lo…

Android之PullToRefresh(ListView 、GridView 、WebView)使用详解和总结

PullToRefresh(ListView 、GridView 、WebView) 基本上每个安卓项目里面都有PullToRefresh的使用,然后我到网上去找了相关知识,很多都不全面,不详细,缺东缺西,然后我就到网上博客里面到处找,更具自己项目里面的使用,把PullToRefreshListView PullToRefreshGrid…

bat脚本中获取上级目录_使用Python写一个可以监控Tomcat 运行的脚本,并且把.py文件转换成.exe文件...

使用Python写一个可以监控Tomcat 运行的脚本,并且把.py文件转换成.exe文件 文章来源与博主本人的CSDN博客&#xff0c;博客地址&#xff1a;https://blog.csdn.net/weixin_43558566/article/details/101458567之前写过.bat 脚本用来监控tomcat运行宕机后自动重启的文章&#xf…

史上最低估自己的天才科学家!预言自己的发现无用,没想到影响全世界,可他却在37岁..........

全世界只有3.14 % 的人关注了爆炸吧知识天妒英才真实存在赫兹在证明了电磁波存在后&#xff0c;他对自己的发现做了一个十分不自信的预测&#xff1a;“我认为我发现的无线电波不会有任何实际应用。”当然&#xff0c;也许是他太优秀了&#xff0c;干啥啥都行&#xff0c;所以觉…

阿里分布式中间件Seata从入门到精通

最近在写一本关于阿里巴巴分布式事务中间件 Seata 的电子书&#xff0c;Seata可以说是分布式事务中间件中最完善的了&#xff0c;包括了 AT、TCC、Saga、XA 四种模式&#xff0c;目前 Seata 已经更新到了 1.4.2 版本。这本电子书主要分成两部分&#xff0c;第一部分是入门学习&…

sql两个列值以下划线拼接得到一个新的列_面试必备sql知识点——MySQL基础

在刷了上百道sql题后&#xff0c;发现所有的题目都是基于某一个或几个知识点来做考察的&#xff0c;所以理清基础的知识细节&#xff0c;才能在题目考察到任意知识点时&#xff0c;找到解决线索。温故而知新&#xff0c;学习在于总结&#xff0c;于是我再次对已经学习过的mysql…

为什么不能除以0?

全世界只有3.14 % 的人关注了爆炸吧知识说出来你可能不信但这是真的今天学习了除法的表妹跑来问我&#xff1a;为什么不能除以0&#xff1f;就这个问题&#xff0c;我专门请来了高冷的Siri。同样是数字&#xff0c;0为什么就会这么惨呢&#xff1f;小学生小学老师会直接给你来一…

一步步构建大型网站架构

之前我简单向大家介绍了各个知名大型网站的架构&#xff0c;MySpace的五个里程碑、Flickr的架构、YouTube的架构、PlentyOfFish的架构、WikiPedia的架构。这几个都很典型&#xff0c;我们可以从中获取很多有关网站架构方面的知识&#xff0c;看了之后你会发现你原来的想法很可能…

Android之webview与js交互

对于android初学者应该都了解webView这个组件。之前我也是对其进行了一些简单的了解&#xff0c;但是在一个项目中不得不用webview的时候&#xff0c;发现了webview的强大之处&#xff0c;今天就分享一下使用webview的一些经验。 1、首先了解一下webview。 webview介绍的原文如…

java.util.ResourceBundle使用详解

java.util.ResourceBundle使用详解一、认识国际化资源文件这个类提供软件国际化的捷径。通过此类&#xff0c;可以使您所编写的程序可以&#xff1a;轻松地本地化或翻译成不同的语言一次处理多个语言环境以后可以轻松地进行修改&#xff0c;支持更多的语言环境说的简单点&#…

12如何隐藏dock栏_iPhone边框“变色”壁纸,隐藏Dock栏

自从iOS14上线以来&#xff0c;iPhone的玩法真的是花样百出&#xff0c;今天给大家带来一组很有意思的iPhone专用壁纸&#xff0c;不仅拥有色彩边框&#xff0c;还能隐藏主屏界面底部的Dock栏。这组壁纸除了外边框自带颜色以外&#xff0c;锁屏界面的通知栏和底部两个按钮的位置…

微信新功能又来了,这些功能再次打开了我新世界的大门!

全世界只有3.14 % 的人关注了爆炸吧知识微信视频号&#xff0c;是一个人人都可记录和创作的内容平台&#xff0c;也是一个了解他人、了解世界的窗口。在过去一段时间里&#xff0c;视频号可能是微信迭代最多&#xff0c;变化最多&#xff0c;也受到最多关注的功能。内容创作者大…

Processing编译android的apk应用

折腾了3天&#xff0c;总算弄进去了&#xff0c;真麻烦~&#xff01; 成果如下&#xff1a; 转载于:https://www.cnblogs.com/x5115x/archive/2013/04/11/3013593.html

Android之DiskLruCache(缓存工具)

DiskLruCache DiskLruCache是一个十分好用的android缓存工具&#xff0c;我们可以从GitHub上下载其源码&#xff1a;https://github.com/JakeWharton/DiskLruCache DiskLruCache所有的数据都存储在/storage/emulated/0/Android/data/应用包名/cache/XXX文件夹中(你也可以修改&…

内核中根据inode得到文件名_聊聊DOS操作系统中的文件系统FAT12

前面我们更多的集中在Linux系统下文件系统的介绍&#xff0c;是时候介绍一下其它文件系统了。今天我们介绍一下Windows操作系统下的文件系统&#xff0c;也就是FAT文件系统。严格的来说其实是DOS的文件系统。今天我们介绍一下FAT最古老的版本&#xff0c;FAT12文件系统的内容。…

改变世界面貌的十个数学公式

全世界只有3.14 % 的人关注了爆炸吧知识1971年5月15日&#xff0c;尼加拉瓜发行了十张一套题为“改变世界面貌的十个数学公式”邮票&#xff0c;由一些著名数学家选出十个以世界发展极有影响的公式来表彰。这十个公式不但造福人类&#xff0c;而且具有典型的数学美&#xff0c;…

Java开源门户

最近在研究门户&#xff0c;先整理一下开源内容 GateIn&#xff1a; 新的开源门户平台&#xff0c;由RedHat JBoss和eXo平台共同打造。目标是结合强大的企业级Java基础设施和直观友好的用户界面&#xff0c;根据客户的需求&#xff0c;提供最佳的开源门户平台的企业级Java基础设…

.NET 6新特性试用 | 最小Web API

前言如果你使用过其他一些轻量级Web框架&#xff0c;比如Node.JS&#xff0c;你就会知道&#xff0c;创建具有最小依赖项的HTTP API是多么简单&#xff1a;var express require(express) var app express()app.get(/, function (req, res) {res.send(hello My IO!) })app.lis…

Android之SparseArray<E>详解

最近编程时&#xff0c;发现一个针对HashMap<Integer, E>的一个提示&#xff1a; 翻译过来就是&#xff1a;用SparseArray<E>来代替会有更好性能。那我们就来看看源码中SparseArray到底做了哪些事情&#xff1a;一、构造从构造方法我们可以看出&#xff0c;它和一般…