% %阵元间隔为半波长的均匀分布16元线阵,预成指向士arcsin((2i-1)/16)(i=l,2,…,16)的16个均匀加权常规波束,远场有5个互
% 不相关的目标源发射信号,每个源相对于基阵的方位为30和33,且每个信号源到达基阵的信噪比相同,均为10DB,快拍数为1000.进行波
%束域方法和阵元域方法的比较。
clear all
close all
C=340;                                      %%声速
num=16;                                     %% 阵元数
k=1000;                                     %% 快拍数
Bearings=[-5];                           %入射信号方位角
d=length(Bearings);                         %%声源数
D=0.1;                                      %阵元间距
fc=1000;                                    %信号频率
fs=2*fc;                                    %采样频率
snr=10;                                      %信噪比
e_position=[0:num-1]';
s_position=[0:d-1]';

%%波束形成
as=-1/16:1/8:3/16;                          %波束指向角
as=asin(as);
vs=exp(j*2*pi*fc*e_position*D*sin(as)/C);
w=1/num*vs';                                %波束形成矩阵

%%入射信号
aa=90*[-1:0.002:1];                         %从-90到90采样1001个点
s=exp(j*pi*[1:d].'*sin(aa/180*pi));  
% % s=exp(j*pi*sin(aa/180*pi)); 
% % s=repmat(s,[d 1]);                          %声源信号

%%方向向量
Bearings=Bearings*pi/180;
TimeDelay=D*[0:num-1].'*sin(Bearings)/C;    %线阵的延迟
A=exp(sqrt(-1)*2*pi*fc*TimeDelay);          %方向向量

%%基阵接收信号
X=A*s;                                      %阵列输出信号
X=awgn(X,snr);                              %加噪声

%%阵元域MUSIC算法
Rxx=(X*X')/k;                               %协方差矩阵  
[EigenVectors,EigenValues]=eig(Rxx);
Lemda=diag(EigenValues);                    %计算矩阵特征值
[SortedLemda,Index]=sort(Lemda);
Index=flipud(Index);                        %将特征值降序排列
NoiseSubspace_Z(1:num,1:num-d)=EigenVectors(1:num,Index(d+1:num));%把噪声空间分成两部分,分别为加入信号空间的一部分和噪声

%%在-150到150之间进行搜索
for  i=-900:900
     az=exp(sqrt(-1)*2*pi*fc*D*[0:num-1]'*sin(i/10*pi/180)/C);
     MUSIC_Spec_Z(i+901)=az'*az/(az'*NoiseSubspace_Z*NoiseSubspace_Z'*az);
end

%波束输出
Y=w*X;                                      %方位估计

%%波束域MUSIC算法
B=3;                                        %波束数
Ryy=(Y*Y')/k;                               %协方差矩阵
[EigenVectors,EigenValues]=eig(Ryy);
Lemda=diag(EigenValues);                    %计算矩阵特征值
[SortedLemda,Index]=sort(Lemda);
Index=flipud(Index);                        %将特征值降序排列
NoiseSubspace(1:B,1:B-d)=EigenVectors(1:B,Index(d+1:B));%把噪声空间分成两部分,分别为加入信号空间的一部分和噪声

%%在20到50之间进行搜索
for i=-150:1:50
    a=exp(sqrt(-1)*2*pi*fc*D*[0:num-1]'*sin((i/10)*pi/180)/C);

MUSIC_Spec_B(i+151)=a'*w'*w*a/(a'*w'*NoiseSubspace*(w'*NoiseSubspace)'*a);

end

figure(1);
MUSIC_B=abs(MUSIC_Spec_B)/max(abs(MUSIC_Spec_B));
Delta1=[-15:0.1:5];
plot(Delta1,10*log10(MUSIC_B),'r'); %NonNormative  Spatial Spectrum
xlabel('角度(度)'),ylabel('空间方位谱(DB)');
hold on
Delta=[-90:0.1:90];
MUSIC_Z=abs(MUSIC_Spec_Z)/max(abs(MUSIC_Spec_Z));
plot(Delta,10*log10(MUSIC_Z));
axis([-15 5 -60 0]);
grid on

%%画波束
% figure(2);
% ss=exp(j*pi*e_position*sin(aa/180*pi));  %%  入射信号
% plot(aa,20*log10(abs(w*ss))),xlabel('角度(度)'),ylabel('波束(DB)');
% axis([-90 90 -40 0]);

阵元间隔为半波长的均匀分布16元线阵相关推荐

  1. 大尺寸背光检测~Dalsa线阵相机资料

    最近大尺寸的背光检测项目,7'~17寸的范围,大大超出了以前做的成熟的3~7寸的范围,相机和镜头之间的选型也必须重新进行,并需要进行一系列的测试. 在3寸~7寸的背光检测项目中,面阵相机是首选,在这个 ...

  2. 线阵相机的软触发与硬触发详解

    如果了解过线阵相机的工作原理后,就会想要知道如何触发线阵相机拍照. 无论何种触发方式,要保证线阵相机拍出的图片不压缩也不拉长,就要保证横向精度与纵向精度相等. 这样每个像素的宽与高对应的世界尺寸是一样 ...

  3. 2021-2025年中国SWIR-InGaAs光电二极管线阵行业市场供需与战略研究报告

    SWIR-InGaAs光电二极管线阵市场的企业竞争态势 该报告涉及的主要国际市场参与者有Goodrich Corporation.Hamamatsu.Xenics.OSI Optoelectronic ...

  4. 连续线阵波束形成及孔径尺寸影响—麦克风阵列系列(二)

    阅读原文还请移步我的知乎专栏: https://www.zhihu.com/column/c_1287066237843951616 继上篇文章,本篇继续学习,包括内容为: 例3.1 连续线阵均匀加权 ...

  5. DALSA线阵CCD相机开发 之 OpenCV配置

    DALSA线阵CCD相机开发 之 OpenCV配置 如果出现以下情况: 在VS MFC中其他程序使用加载OpenCV没有问题. 在dalsa中可以包含头文件,并且代码输入时有提示OpenCV的函数,同 ...

  6. 德国Basler线阵相机部分参数说明

    最近需要用到线阵相机,与Basler相机的销售人员交流了一下,对线阵相机的相关参数的设置有了一定的认识,记录下来,方便别人,方便自己. 一.影响图像清晰度的因素 补光光源.光圈.曝光时间和增益. 1. ...

  7. PAR 相控阵方法,阵元间隔原理

    旁瓣和栅瓣出现条件以及python仿真 Motivation 搞不懂相控阵波束如何变化,为何Massive MIMO的阵元都设定为0.5λ,为何波束有旁瓣?于是查到一个图,搞了2个公式,1个程序初步探 ...

  8. 百度无人驾驶网约车起步价16元;美团回应共享单车涨价;谷歌公开抨击苹果阻碍跨平台交流|极客头条

    「极客头条」-- 技术人员的新闻圈! CSDN 的读者朋友们早上好哇,「极客头条」来啦,快来看今天都有哪些值得我们技术人关注的重要新闻吧. 整理 | 梦依丹 出品 | CSDN(ID:CSDNnews ...

  9. B站哔哩哔哩21届秋招算法岗笔试 假设货币系统包含面值1元、4元、16元、64元共计4种硬币,以及面值1024元的纸币。现在小明使用1024元的纸币购买了一件价值为N(0<N<=1024)的商品

    哔哩哔哩21届秋招算法岗笔试 题目描述: 假设货币系统包含面值1元.4元.16元.64元共计4种硬币,以及面值1024元的纸币.现在小明使用1024元的纸币购买了一件价值为N(0<N<=1 ...

最新文章

  1. 国航移动门户让我出行无忧
  2. C++ static静态成员函数详解
  3. 面试题整理13 合并排序链表去重
  4. SharePoint PowerShell命令系列 (9) New-SPWeb
  5. Android EditText密码框的可见性设置
  6. 【下载!】实时计算正当时!助你轻松get Apache Flink 动向!
  7. 大数据WEB阶段Spring框架(四)Spring-MVC
  8. JavaScript教程——JavaScript 的基本语法(标识符)
  9. Stylish窃取用户数据被 Firefox 和 Chrome剔除
  10. mysql my includedir_MySQL:读取my.cnf的顺序问题
  11. Android--获取App应用程序的大小
  12. 高性能时空计算机应用,中国工程物理研究院计算机应用技术怎么样
  13. 亿级流量峰值没在怕,“缓存”技术来减压
  14. 使用TestNG-abbot测试GUI
  15. Ubuntu 20.04 双系统安装过程(新手)
  16. 三因子两水平doe_温故而知新 | DOE实验设计学习系列之(三):多因子DOE的魅力 (附视频)...
  17. 杰理AC632N蓝牙芯片iokey使用解析(通用MCU版)
  18. Premiere快捷键设置
  19. html5 画猫全过程svg入门
  20. 【Unity3D】阴影原理及应用

热门文章

  1. 2-16 HDO1106
  2. linux c/c++ 代码使用 doxygen 自动生成文档
  3. ViewVC 1.1.16 发布,CVS/SVN的Web接口
  4. Python list 操作
  5. 视觉与图像系列 几何光学I 近轴光学1 Fermat原理
  6. UA MATH636 信息论9 Berlekamp-Welch算法
  7. char和varchar的区别以及尾部空格问题 - sqlserver演示
  8. 如何编程实现一个基本的微分器
  9. Python爬虫入门教程石家庄链家租房数据抓取
  10. [Xcode 实际操作]七、文件与数据-(2)创建文件夹