基于多重信号分类算法的DOA估计
原创博文,转载请注明出处
下面的论文是我的雷达处理的作业,拿来共享,不喜勿喷。由于公式编辑器的原因,无法复制公式,全部内容请点击。
基于多重信号分类算法的DOA估计
1引言
多重信号分类(MUSIC)算法是Schmit R O等人在 1979 年提出的。这一类算法的提出开创了空间谱估计算法研究的新时代,促进了特征结构类算法的兴起和发展,该算法已成为空间谱估计理论体系中的标志性算法。此算法提出之前的算法都是针对阵列接收数据协方差矩阵进行直接处理,而MUSIC算法的基本思想则是将任何阵列输出数据的协方差矩阵进行特征分解,从而得到与信号分量相对应的信号子空间和与信号分量相正交的噪声子空间,然后利用这两个子空间的正交性来估计信号参数(入射方向等)。它是建立在以下假设基础上的:
(1) 阵列形式为线性均匀阵,阵元间距不大于处理最高频率信号波长的二分之一;
(2) 信号源数小于阵元的数目,以确保阵列流型矩阵的各个列线性独立;
(3) 处理器的噪声为加性高斯分布,不同阵元间距噪声均为平稳随机过程,各阵元间噪声相互独立,空间平稳(各噪声方差相等);
(4) 空间信号为零均值平稳随机过程,信号与阵源噪声与相互独立;
(5) 信号源通常为窄带远场信号。正是由于 MUSIC 算法在特定的条件下具有很高的分辨力、估计精度及稳定性,从而吸引了大量的学者对其进行深入的研究和分析。
仿真结果
首先模拟四个方向的入射信号,分别是-12, -4, 4, 12 度,叠加噪声信号,然后进行MUSIC估计,得到如下图所示的结果,可以看出在横坐标 -12, -4, 4, 12 上得到相对应空间方位谱的尖峰。同时本仿真还设计了在不同的信噪比环境下对实验结果的影响,可以看出信噪比越高,其效果越好。
源代码:
clc;
clear;
M=;
d=;%阵元间距
lma=;%波长
N=;%采样频率
n=:N;
SNR=;%信噪比
angle=[- - ];
s1=cos(*pi*0.015*n);
s2=*cos(*pi*0.025*n);
s3=*cos(*pi*0.035*n);
s4=*cos(*pi*0.05*n);
s=[s1;s2;s3;s4];%*1000入射向量
z=:M-;
A=exp(-*pi*j*z'*sin(angle*pi/180)/lma);%8*4导引向量
S=(^(SNR/))*A*s;
noise=randn(M,N);
X=S+noise;
C=cov(X*X');%总输入信号的协方差矩阵
[D,h]=eig(C);%求特征向量和特征值
Vn=D(:,:);%与零特征值对应的特征向量
Q1=-;Q2=;
k=length(Q1:0.1:Q2);
for n=:k
a=[exp(-*pi*j*[:]*sin((Q1+(n-)*0.1)*pi/)/lma)]';
Pm(n)=/(a'*Vn*Vn'*a);
end
Pu=*log10(abs(Pm));
plot(Q1:0.1:Q2,abs(Pu));
xlabel('入射角(度)');ylabel('空间方位谱(dB)')
title('MUSIC');
legend('SNR=30')
grid on
基于多重信号分类算法的DOA估计的更多相关文章
- 宽带DOA估计方法
Wideband DOA Estimation. 语音信号以及野外的车辆信号的声音都是宽带信号,所以传统的窄带DOA算法(MUSIC,ESPRIT等)都不适用.需要采用宽带DOA算法来计算目标信号的波 ...
- 异常检测-基于孤立森林算法Isolation-based Anomaly Detection-1-论文学习
论文http://202.119.32.195/cache/10/03/cs.nju.edu.cn/da2d9bef3c4fd7d2d8c33947231d9708/tkdd11.pdf 1. INT ...
- QT:用QSet储存自定义结构体的问题——QSet和STL的set是有本质区别的,QSet是基于哈希算法的,要求提供自定义==和qHash函数
前几天要用QSet作为储存一个自定义的结构体(就像下面这个程序一样),结果死活不成功... 后来还跑到论坛上问人了,丢脸丢大了... 事先说明:以下这个例子是错误的 #include <QtCo ...
- 基于令牌桶算法实现的SpringBoot分布式无锁限流插件
本文档不会是最新的,最新的请看Github! 1.简介 基于令牌桶算法和漏桶算法实现的纳秒级分布式无锁限流插件,完美嵌入SpringBoot.SpringCloud应用,支持接口限流.方法限流.系统限 ...
- CompareTo 基于的排序算法
CompareTo 基于的排序算法(高级排序) 这个是今天学习MapReduce时发现的,自定义类后实现了WritableComparable<>接口后实现了接口中的compareTo方法 ...
- 基于dsp_builder的算法在FPGA上的实现
基于dsp_builder的算法在FPGA上的实现 一.摘要 结合dsp_builder.matlab.modelsim和quartus ii等软件完成算法的FPGA实现. 二.实验平台 硬件平台 ...
- 基于C-W节约算法的车辆路径规划问题的Java实现
VRP问题概述 解决算法分类 项目描述 算法结果 车辆路线问题(VRP)最早是由Dantzig和Ramser于1959年首次提出,它是指一定数量的客户,各自有不同数量的货物需求,配送中心向客户提供货物 ...
- opencv基于PCA降维算法的人脸识别
opencv基于PCA降维算法的人脸识别(att_faces) 一.数据提取与处理 # 导入所需模块 import matplotlib.pyplot as plt import numpy as n ...
- 推荐系统实践 0x06 基于邻域的算法(1)
基于邻域的算法(1) 基于邻域的算法主要分为两类,一类是基于用户的协同过滤算法,另一类是基于物品的协同过滤算法.我们首先介绍基于用户的协同过滤算法. 基于用户的协同过滤算法(UserCF) 基于用户的 ...
随机推荐
- Nyoj 吝啬的国度(图论&&双DFS)
描述在一个吝啬的国度里有N个城市,这N个城市间只有N-1条路把这个N个城市连接起来.现在,Tom在第S号城市,他有张该国地图,他想知道如果自己要去参观第T号城市,必须经过的前一个城市是几号城市(假设你 ...
- UI測试内容
我们在实际工作其中,针对web应用程序,也就是常常所说的B/S系统,能够从例如以下方面来进行用户界面測试: 导航測试 导航描写叙述了用户在一个页面内操作的方式,在不同的用户接口控制之间,比如butto ...
- C# 你不能调用的问题剪贴板线程
最近在做一个项目,需要使用线程,并使用剪贴板,头发得到较少的数据在剪贴板上后,现在的孩子线程创建一个子线程,我特别困惑,上网查资料.最后,得到最终的.下面的例子现在将概括解: 第一步: public ...
- crawler_微信采集方案
仅供参考
- Scrapy研究和探索(七)——如何防止被ban大集合策略
说来设置的尝试download_delay少于1,不管对方是什么,以防止ban策略后.我终于成功ban该. 大约scrapy利用能看到以前的文章: http://blog.csdn.net/u0121 ...
- Swift中文教程(三)--流程控制
原文:Swift中文教程(三)--流程控制 Swift用if和switch编写条件控制语句,用for-in,for,while和do-while编写循环.条件控制语句和循环语句中,小括号是可选的,但花 ...
- MyEclipse优化全攻略
(0) 吐槽 Eclipse仅仅是个半成品有木有?什么都须要自己安装插件,新手非常难用有木有? 安装上插件以后了版本号兼容和各种问题烦死人有木有? 都怪碎片和版本号乱公布有木有? IntelliJ I ...
- Linux常用命令2--用户问题、文件的打包压缩
Linux常用命令 如何进行用户和群组的创建和更改 [1]groupadd:用于创建新的群组. 语法:groupadd [-option] 用户名:其常用参数有:-g groupadd -g 555 ...
- 新版live555代理server
好久没搞流媒体了,近期又回归了,已经把live555代理服务器更新到最新的live555代码(V0.82). 改进了一大坨问题,还去掉了一个类,代码更精简了. 改进了命令行參数格式,仅仅要这样:rts ...
- vim插件管理器vundle
安装: git clone http://github.com/gmarik/vundle.git ~/.vim/bundle/vundle set nocompatible " be i ...