原创博文,转载请注明出处

下面的论文是我的雷达处理的作业,拿来共享,不喜勿喷。由于公式编辑器的原因,无法复制公式,全部内容请点击

基于多重信号分类算法的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估计的更多相关文章

  1. 宽带DOA估计方法

    Wideband DOA Estimation. 语音信号以及野外的车辆信号的声音都是宽带信号,所以传统的窄带DOA算法(MUSIC,ESPRIT等)都不适用.需要采用宽带DOA算法来计算目标信号的波 ...

  2. 异常检测-基于孤立森林算法Isolation-based Anomaly Detection-1-论文学习

    论文http://202.119.32.195/cache/10/03/cs.nju.edu.cn/da2d9bef3c4fd7d2d8c33947231d9708/tkdd11.pdf 1. INT ...

  3. QT:用QSet储存自定义结构体的问题——QSet和STL的set是有本质区别的,QSet是基于哈希算法的,要求提供自定义==和qHash函数

    前几天要用QSet作为储存一个自定义的结构体(就像下面这个程序一样),结果死活不成功... 后来还跑到论坛上问人了,丢脸丢大了... 事先说明:以下这个例子是错误的 #include <QtCo ...

  4. 基于令牌桶算法实现的SpringBoot分布式无锁限流插件

    本文档不会是最新的,最新的请看Github! 1.简介 基于令牌桶算法和漏桶算法实现的纳秒级分布式无锁限流插件,完美嵌入SpringBoot.SpringCloud应用,支持接口限流.方法限流.系统限 ...

  5. CompareTo 基于的排序算法

    CompareTo 基于的排序算法(高级排序) 这个是今天学习MapReduce时发现的,自定义类后实现了WritableComparable<>接口后实现了接口中的compareTo方法 ...

  6. 基于dsp_builder的算法在FPGA上的实现

    基于dsp_builder的算法在FPGA上的实现   一.摘要 结合dsp_builder.matlab.modelsim和quartus ii等软件完成算法的FPGA实现. 二.实验平台 硬件平台 ...

  7. 基于C-W节约算法的车辆路径规划问题的Java实现

    VRP问题概述 解决算法分类 项目描述 算法结果 车辆路线问题(VRP)最早是由Dantzig和Ramser于1959年首次提出,它是指一定数量的客户,各自有不同数量的货物需求,配送中心向客户提供货物 ...

  8. opencv基于PCA降维算法的人脸识别

    opencv基于PCA降维算法的人脸识别(att_faces) 一.数据提取与处理 # 导入所需模块 import matplotlib.pyplot as plt import numpy as n ...

  9. 推荐系统实践 0x06 基于邻域的算法(1)

    基于邻域的算法(1) 基于邻域的算法主要分为两类,一类是基于用户的协同过滤算法,另一类是基于物品的协同过滤算法.我们首先介绍基于用户的协同过滤算法. 基于用户的协同过滤算法(UserCF) 基于用户的 ...

随机推荐

  1. 假设动态运行java文字,当在脚本式配置,这是非常方便的

    package com.bfrj.core.groovy; import java.util.HashMap; import java.util.Map; import org.jeecgframew ...

  2. 使用JS的FormData对象

    利用FormData对象,你可以使用一系列的键值对来模拟一个完整的表单,然后使用XMLHttpRequest发送这个"表单". 创建一个FormData对象 你可以先创建一个空的F ...

  3. js中位运算的运用

    原文:js中位运算的运用 我们可能很少在编程中用位运算,如果没深入学习,可能也很难理解.平时的数值运算,其实是要先转换成二进制再进行运算的,而位运算就是直接进行二进制运算,所以位运算的执行效率肯定是更 ...

  4. HDU 1248 冰封王座(dp)

    Problem Description 不死巫妖王拉工资,死亡骑士得到N美元的钞票(记,只有一个纸币),战斗中频繁的死掉,他决定给自己买一些道具,于是他来到了地精商店前. 死亡骑士:"我要买 ...

  5. Canvas旋转图片--保持相同大小的算法

     function drawImg(angle) {     canvas.width = canvas.width; var distance = size / 2 * Math.sqrt(2) ...

  6. 使用JAVA打开本地应用程序相关的文件

    在该项目中需要运行本地文件或应用程序,JDK6添加后Desktop类别.可以直接使用.这使得有可能在程序中无论什么应用程序可以打开的.例:打开pdf文件,当地福昕是默认打开.执行程序将使用福昕开放pd ...

  7. oracle_利用闪回功能恢复数据

    方便起见一般:执行如下即可不用往下看: ① 启用行移动功能 alter table tbl_a enable row movement; ② 闪回表数据到某个时间点 flashback table t ...

  8. CentOS采用grub进 single状态

    当系统文件错误,有可能无法进入系统.或者您忘记了原来的系统password. 用这种方法可以,进single状态,编辑系统启动文件或更改的错误password. 1.重新启动系统. 2.按" ...

  9. linux简单的数据包捕获分析

    有时我们会遇到一些问题,需要捕捉数据包分析,当手头有没有专业的抓图工具,您可以使用tcpdump相反,看看(一般版本附带这个工具) 比如,我们要分析eth0与接口192.168.7.188 这个对象I ...

  10. FlexiGrid使用手册

    FlexiGrid使用手册 一.概览 Flexigrid是一个基于jQuery开发的Grid,与 Ext Gird类似.Flexigrid显示的数据能够通过Ajax获取或者从一个普通的表格转换. 它的 ...