DOA——ESPRIT算法
相位phei = 2*pi*f*d*sind(theta),因此理论上来讲测向的算法都可以用来测频。
ESPRIT:Estimating signal parameters viarotational invariance techniques,中文为旋转因子不变法。
ESPRIT用于测频:
%Example_esprit
clear all;clc;close all;
N=200; %signal length
m = N/2;
L=N-m;
s_amp=[1.31*exp(1i*pi/4),2.07*exp(1i*pi/3),1.88*exp(1i*pi/5)];
s_omega=[0.12*pi,0.37*pi,0.72*pi];
eps_sigma=0;
sigma=0.5;
x=zeros(1,N);%initialize
w = sqrt(sigma)*randn(1,N);
n = [1:N];
for slen=1:length(s_omega)
x = x+s_amp(slen)*exp(1j*s_omega(slen)*n) ;
end
x=x+w;
for n = 1:L
X(:,n) = x(n:(n+m-1));
end
for n = 1:L
Y(:,n) = x((n+1):(n+m));
end
%Rxx\Rxy
Rxx = 0;
for i = 1:L
Rxx = Rxx+X(:,i)*X(:,i)';
end
Rxx = Rxx/L;
Rxy = 0;
for i = 1:L
Rxy = Rxy+X(:,i)*Y(:,i)';
end
Rxy = Rxy/L;
[A,B] = eig(Rxx);
var = min(diag(B));
I = eye(m);
Z = diag(ones(1,m-1),-1);
Cxx = Rxx - I*var;
Cxy = Rxy - Z*var;
[~,B] = eig(Cxx,Cxy);
f=angle(diag(B));
[~,fpos]=sort(abs(abs(diag(B))-1));
f=f(fpos);
fval=f(f>0);
omega_est=sort(fval(1:length(s_amp)));
disp('结果对比:')
[omega_est,s_omega']
ESPRIT用于测向:
clear all
clf
set(0,'defaultaxesfontsize',22);
M=12;
Nb=32;
P=3;
%angles=[25 80 135]*(pi/180);
angdeg=[80 90 115];
angles=angdeg*(pi/180);
dlambda=0.5;
%generate random bits of information
poles=zeros(1,P);
X=zeros(M,Nb);
Rideal=zeros(M,M);
for k=1:P,
mu=pi*cos(angles(1,k));
poles(1,k)=exp(j*mu);
a=exp(j*mu*(0:M-1)).';
Rideal=Rideal+a*a';
br=ones(1,Nb);
temp=rand(1,Nb);
br(find(temp<.5))=-1;
bi=ones(1,Nb);
temp=rand(1,Nb);
bi(find(temp<.5))=-1;
b=br+j*bi;
X=X+a*b;
end
%add some noise
X=X+0.6*(randn(M,Nb)+j*randn(M,Nb));
Rxx=X*X'/Nb;
[E,D,V]=svd(Rxx);
%ESPRIT algorithm:
Es=E(:,1:P);
Es1=Es(1:M-1,:); Es2=Es(2:M,:);
Psi=Es1\Es2;
[T,Phi]=eig(Psi);
Phivec=diag(Phi);
%plot eigenvalues from ESPRIT and compare with true frequencies
polar(0,1,'.')
hold on
plot(real(poles),imag(poles),'kx','MarkerSize',12,'Linewidth',2);
plot(real(Phivec),imag(Phivec),'ro','MarkerSize',12,'Linewidth',2);
hold off
legend('True "poles"','ESPRIT eigenvalues')
DOA——ESPRIT算法的更多相关文章
- DOA——MUSIC算法
一.均匀圆阵(UCA, Uniform Circular Array)的MUSIC算法 假设一个半径为R的M元均匀圆阵的所有阵元均位于坐标系X-Y平面内,第k-1个阵元坐标为,第i个窄带信号波长为,来 ...
- 基于多重信号分类算法的DOA估计
原创博文,转载请注明出处 下面的论文是我的雷达处理的作业,拿来共享,不喜勿喷.由于公式编辑器的原因,无法复制公式,全部内容请点击. 基于多重信号分类算法的DOA估计 1引言 多重信号分类(MUSIC) ...
- 宽带DOA估计方法
Wideband DOA Estimation. 语音信号以及野外的车辆信号的声音都是宽带信号,所以传统的窄带DOA算法(MUSIC,ESPRIT等)都不适用.需要采用宽带DOA算法来计算目标信号的波 ...
- 空间谱专题10:MUSIC算法
作者:桂. 时间:2017-09-19 19:41:40 链接:http://www.cnblogs.com/xingshansi/p/7553746.html 前言 MUSIC(Multiple ...
- Cordic算法简介
作者:桂. 时间:2017-08-14 19:22:26 链接:http://www.cnblogs.com/xingshansi/p/7359940.html 前言 CORDIC算法常用来求解信号 ...
- 个性化排序算法实践(三)——deepFM算法
FM通过对于每一位特征的隐变量内积来提取特征组合,最后的结果也不错,虽然理论上FM可以对高阶特征组合进行建模,但实际上因为计算复杂度原因,一般都只用到了二阶特征组合.对于高阶特征组合来说,我们很自然想 ...
- B树——算法导论(25)
B树 1. 简介 在之前我们学习了红黑树,今天再学习一种树--B树.它与红黑树有许多类似的地方,比如都是平衡搜索树,但它们在功能和结构上却有较大的差别. 从功能上看,B树是为磁盘或其他存储设备设计的, ...
- 分布式系列文章——Paxos算法原理与推导
Paxos算法在分布式领域具有非常重要的地位.但是Paxos算法有两个比较明显的缺点:1.难以理解 2.工程实现更难. 网上有很多讲解Paxos算法的文章,但是质量参差不齐.看了很多关于Paxos的资 ...
- 【Machine Learning】KNN算法虹膜图片识别
K-近邻算法虹膜图片识别实战 作者:白宁超 2017年1月3日18:26:33 摘要:随着机器学习和深度学习的热潮,各种图书层出不穷.然而多数是基础理论知识介绍,缺乏实现的深入理解.本系列文章是作者结 ...
随机推荐
- 【Nodejs】理想论坛帖子爬虫1.02
在1.01版本中,我发现各回调函数找到数据后再插入数据库有个竞争问题不好解决,如果等所有回调都完成也没有好的处理方法,因为启动不止一处启动了新的TopicSpider实例. 于是我决定把读数据和写DB ...
- 【Nodejs】理想论坛帖子爬虫1.01
用Nodejs把Python实现过的理想论坛爬虫又实现了一遍,但是怎么判断所有回调函数都结束没有好办法,目前的spiderCount==spiderFinished判断法在多页情况下还是会提前中止. ...
- 在陌生Linux环境查看Tomcat服务的方法
1.查看Tomcat进程 执行命令$ps -ef|grep tomcat 你就能找出tomcat占据的进程号,当然这要求tomcat启动了. # ps -ef | grep tomcatroot ...
- 实现基于DNS的负载均衡
转自:http://blog.sina.com.cn/s/blog_4e424e2101000c3g.html 如果你有一个很受欢迎的Web站点,你会发现当请求的连接数增加时,服务器的响应延时也会随之 ...
- ZH奶酪:Word断字功能不可用。请运行Microsoft Office安装程序安装该功能,然后重试。
断字功能就是英文单词遇到换行时候会自动添加一个“-”符号来连接跨行的单词. 此外,英文单词拼写校验的功能也是这样添加. 问题如图所示: 解决方法: 打开安装程序“setup.exe”——点击“添加或删 ...
- INSTALL_FAILED_MISSING_SHARED_LIBRARY
target选项中要选择Google APIs.如图.
- Cocos2d-x新建模板编译问题总汇
0:关于使用VC模板创建模板时候脚本错误.改动..\cocos2d-x-2.2.2\template\msvc\CCAppWiz.win32\HTML\1033中文件属性中:安全->解除锁定. ...
- javaScriptObject转String
function obj2str(o){ var r = []; if(typeof o =="string") return "\""+o.repl ...
- java格式化百分比
NumberFormat nf = NumberFormat.getPercentInstance(); System.out.println(nf.format(0.47)); 显示:47% Dec ...
- Spring Data MongoDB 三:基本文档查询(Query、BasicQuery)(一)
一.简单介绍 Spring Data MongoDB提供了org.springframework.data.mongodb.core.MongoTemplate对MongoDB的CRUD的操作,上一 ...