参考论文:《相干信源波达方向估计的加权空间平滑算法》

王布宏 王永良 陈辉

武汉空军雷达学院重点实验室 武汉430010

摘  要 提出了一种用于空间相干源 DOA 估计的加权空间平滑算法 WSS, weighted spatial smoothing

常规的空间平滑算法没有利用子阵输出的互相关信息 而且对相干信源的分辨力较差 WSS 算法充分

利用了子阵输出的自相关信息和互相关信息 将主阵协方差矩阵的所有子阵阵元数阶的子矩阵进行加

权平均 以期提高常规空间平滑算法的分辨性能 文中以加权平滑后等效的信源协方差矩阵的对角化

为约束条件 推导了加权矩阵的理论表达式 计算机仿真结果表明 WSS 算法与常规空间平滑算法相

比具有更高的分辨性能和更低的信噪比门限 特别是在子阵划分较多时其优越性更加明显

关于这篇论文的算法我做了一个仿真,输入两个相干信源,如果两个信源角度相邻(<30,还有许多很糟的情况),算法仿真完全失效。

有人在这篇论文有过研究没?不知道是我的代码问题,还是这篇论文数据有问题(本人水平低,这种情况应该不可能),贴出代码与论文,大家帮我分析一下:

%DOA估计---加权空间平滑music算法,使用加权前后向空间平滑clear all;close all;clc;

derad = pi/180;        % deg -> radradeg = 180/pi;        %rad—>degsource_number=3;  %信源数sensor_number=8 ; %阵元数N_x=200;        %信号长度snapshot_number=N_x;%快拍数/阵元采样数f0=1e6;w0=f0*2*pi;fs=10*f0;ts=1/fs;ratio_dl=0.5;  %阵元间距与波长的比值l=0.15;  %中心频率对应的信号波长,无所谓d=ratio_dl*l;  %阵元间距:必须小于1/2波长snr=20;   %信噪比dd=0:d:(sensor_number-1)*d;        % 阵元相对位置矢量

source_theta=[10 35 40];   %信号的入射角% s0=randn(1,N_x);% s=[s0;s0];s=[exp((w0*1i*[0:N_x-1])*ts);exp((w0*1i*[0:N_x-1])*ts);exp((w0*1i*[0:N_x-1])*ts)];      %仿真相干的入射信号A=exp(-1i*2*pi*dd.'*sin(source_theta*derad)/l);              %生成导向矩阵x=A*s;     %阵元接收信号X=awgn(x,snr,'measured');   %阵元接收信号时加高斯白噪声

Rx=X*X'/snapshot_number;   %波束形成器接收信号的协方差矩阵

%----------------------------(FBSS)前后向空间平滑算法、(直接由协方差矩阵进行平滑)----------------------------------p1=5;Rxx_s= fb_spatical_smoothing(Rx, p1);   %空间平滑处理对Rxx降维[U0,S0,V0]=svd(Rxx_s);  %特征值分解 Rxx = U*S*V' 其中特征值按大小降序排列在对角线上Un0=U0(:,source_number+1:p1); %取出小特征值对应的特征向量构成噪声子空间Gn0=Un0*Un0';

searching_theta=-90:0.1:90;%线阵的搜索范围为-90~90度 for i=1:length(searching_theta)   a_theta0=exp(-1i*2*pi*dd(1:p1)'*sin(searching_theta(i)*derad)/l); %搜索矢量,列向量8*1   Power_temp0(i)=abs((a_theta0)'*Gn0*a_theta0);   Pmusic0(i)=1/Power_temp0(i); end normPower_out0=10*log(Pmusic0/max(Pmusic0));  %对输出频谱归一化处理%---------------------------------------------------------------------------------------------------

%------------------------------(WFBSS)加权前后向空间平滑----------------------------------------------------------%--1.对协方差矩阵进行信号预加强处理-----------------------------------------------------------------[V0,D0]=eig(Rx);    %特征值升序排列D00=diag(D0);   %取出特征值Dn=D00(1:sensor_number-1);%取出噪声对应的特征值这里相干信源组数为1Dnm=mean(Dn);Dm=D00(sensor_number)-Dnm;Rxm=V0(:,sensor_number)*Dm*V0(:,sensor_number)';

%--2.CBF预估计角度-----------------------------------------------------------------------------------searching_doa=-90:0.1:90;  %对线阵的角度搜索范围为-90~90度,精度为0.01度 for i=1:length(searching_doa)   Wa=[exp(1i*dd*2*pi*sin(searching_doa(i)*derad)/l)].';%每个扫描角度对应的权向量   CBF_Power_out(i)=abs(Wa'*Rxm*Wa); end [pks,locs]=findpeaks(CBF_Power_out);   %找极大值与极大值坐标,不是谱峰位置,包括功率谱中其他峰值点mean_pks=mean(pks);  %求出峰值的平均值m_pks=find(pks>mean_pks);%找出pks中较大的值得位置n_m_pks=length(m_pks);%pks中较大值的个数,也就是doa_locs=zeros(1,n_m_pks);for i_pks=1:n_m_pks    doa_locs(i_pks)=locs(m_pks(i_pks));end% CBF_doa=(doa_locs-1)*0.1-90;%CBF粗估计出的角度 CBF_doa=source_theta;   %仿真直接取真实角度值%--3.构造矩阵B----------------------------------------------------------------------------------------p2=5; %子阵阵元数K=sensor_number+1-p2;%子阵数B=exp(-1i*2*pi*dd(1:K).'*sin(CBF_doa*derad)/l);%K*M,K子阵数,M信源数%--4.利用伪逆求最优权矩阵a0=0.2;aa=a0.^([0:K-1]);    %向量% W=toeplitz(aa);% W=pinv(B*B');W=eye(K);%--5.加权空间平滑Rwfb=W_fbss(Rx,W);%--6.music算法求谱峰[V1,D1]=eig(Rwfb);  %特征值分解 其中特征值升序排列在对角线上Un=V1(:,1:p2-source_number); %取出小特征值对应的特征向量构成噪声子空间Gn=Un*Un';

searching_theta=-90:0.1:90;%线阵的搜索范围为-90~90度 for i=1:length(searching_theta)   a_theta=exp(-1i*2*pi*dd(1:p2)'*sin(searching_theta(i)*derad)/l); %搜索矢量,列向量4*1   Power_temp(i)=abs((a_theta)'*Gn*a_theta);   Pmusic(i)=1/Power_temp(i); endnorm_Power_out=10*log(Pmusic/max(Pmusic));  %对输出频谱归一化处理

plot(searching_doa,normPower_out0,'b',searching_doa,norm_Power_out,'r');%axis([-90 90 -90 90]);xlabel('入射角/degree');ylabel('归一化空间谱/dB');legend('前后向空间平滑','加权前后向空间平滑');title('加权空间平滑DOA估计(多信源输入)');grid on;

2014-7-20 16:34 上传

点击文件名下载附件

116.95 KB, 下载次数: 8656

matlab paticalcoff,关于DOA估计中加权前后向空间平滑算法的仿真问题相关推荐

  1. 宽带信号doa matlab,宽带信号DOA估计处理方法研究

    学术研究 DOI:10. 3969/j. issn. 1001-3824. 2012. 06. 008 宽带信号 DOA 估计处理方法研究 收稿日期:2012-06-14 闫 杰1,周 围1,2,杜晓 ...

  2. matlab二维doa估计,阵列信号处理,一维、二维DOA估计

    [实例简介]阵列信号处理的各种实例,整理得很好 [实例截图]均在matlab测试通过,真实有效 [核心代码] 阵列信号处理MATALB示例程序 ├── 1.MUSIC算法MATLAB程序 │   ├─ ...

  3. 基于matlab的相干信号的doa 估计,基于空间平滑MUSIC算法的相干信号DOA估计(1)

    基于空间平滑MUSIC算法的相干信号DOA估计(1) 基于空间平滑MUSIC算法的相干信号DOA估计(1) 空间平滑MUSIC算法(1) 在上一篇博客中有提到,当多个入射信号相干时,传统MUSIC算法 ...

  4. matlab经典music,基于经典music的doa估计matlab仿真.doc

    基于经典music的doa估计matlab仿真.doc 信息与通信工程学院阵列信号处理实验报告(基于经典MUSIC的DOA估计MATLAB仿真)学号XXXXXX专业XXXXXX学生姓名XXX任课教师X ...

  5. 基于确定性最大似然算法 DML 的 DoA 估计,用牛顿法实现(附 MATLAB 源码)

    本文首次在公众号[零妖阁]上发表,为了方便阅读和分享,我们将在其他平台进行自动同步.由于不同平台的排版格式可能存在差异,为了避免影响阅读体验,建议如有排版问题,可前往公众号查看原文.感谢您的阅读和支持 ...

  6. matlab稀疏贝叶斯,基于变分稀疏贝叶斯学习的DOA估计

    作为阵列信号处理技术的重要研究方向之一,信号到达角(DOA)估计被广泛应用到雷达.声呐等领域.以MUSIC[和ESPRIT[为代表的传统空间谱估计算法,实现简单,且空间分辨率高,但要求高信噪比以及多快 ...

  7. doa的matlab算法,基于MATLAB的DOA估计算法的二维仿真建模

    基本描述: DOA算法使用T形或L形天线接收微波信号,计算到达角,然后对二维坐标建模. 要解决的问题: 实际环境中存在多个相干源(例如多径效应,信号反射等),并给出了最佳DOA估计算法. 功能描述: ...

  8. 基于空间平滑MUSIC算法的相干信号DOA估计(1)

    空间平滑MUSIC算法(1) 1. 前言 在上一篇博客中有提到,当多个入射信号相干时,传统MUSIC算法的效果就会不理想.具体原因是多个入射信号相干时,有部分能量就会散发到噪声子空间,使得MUSIC算 ...

  9. 【阵列信号处理】DOA估计算法

    DOA估计中的ESPRIT算法 ESPRIT算法时一种利用子空间旋转法估计DOA参数的方法,其算法的基本思想是将阵列在结构上分成两个完全一致的子列,两个子列相应阵元偏移的距离相等,也就是说阵列的阵元被 ...

最新文章

  1. 新建JRapid项目(idea创建maven多模块项目)
  2. php 两个数组键名比较,php array_intersect_assoc 比较两个数组的键名和键值,并返回交集...
  3. 160 - 34 Cruehead.3
  4. 第九大陆服务器未找到文件,第九大陆服务器优化规则说明 拍卖行和寄售功能关闭公告...
  5. 绳索受力分析的软件_【硕士论文】供热管网管道支架载荷分析与优化设计
  6. [转载]敏捷开发之Scrum扫盲篇
  7. java应用商店,API for Java 8
  8. java 到异常_java编程中遇到的异常以及异常的一些处理
  9. 《python核心编程》学习笔记
  10. Charles(1) 请求转发
  11. java.io.InvalidClassException: made.customException; local class incompatible: stream classdesc seri
  12. python解码gbk_python编码:gbk编码与解码
  13. C#中新建用户控件示例
  14. 北京大学计算机社团,北京大学爱心社团
  15. oracle 01405 提取的值为null,ORA-01405 : fetched column value is NULL
  16. 格式化时间戳(时间戳转化为日期时间格式)
  17. 森林防火(资源监管)“空天地人”四位一体监测系统方案
  18. HTML CSS之复合选择器中的交集选择器、并集选择器、后代选择器、子元素选择器、相邻兄弟选择器、属性选择器
  19. 微信小程序 背景音乐BackgroundAudioManager
  20. 认知神经心理学(各种生理心理效应)

热门文章

  1. python学习手册条件-Python学习手册(第4版)pdf
  2. python自学平台-自学Python网站推荐 从入门到精通
  3. 用python处理excel-使用Python操作Excel文档(一)
  4. 如何用python画数据图-关于如何使用Python绘制基本数据图形模型
  5. 零基础自学python的建议-【老男孩Python课堂安排】零基础Python学习方法
  6. 自学python还是报班-学习Python报培训班真的有必要吗?
  7. python免费课程讲解-Python零基础免费入门课程
  8. python学习手册中文版免费下载-Python学习手册 第三版
  9. python爬虫下载-用Python爬虫下载整本小说
  10. python单下划线和双下线的区别