• 1.01MB weixin_38554186 2021-01-12 21:49:16
• 242KB weixin_38725137 2021-05-13 03:10:50
• 1.3MB jiebing2020 2021-08-27 22:23:02
• 2KB shangdangmen 2015-01-16 13:23:06
• 【实例简介】【实例截图】【核心代码】function estimate = tls_esprit(dd,cr,Le)%*******************************************************% This function calculates TLS-ESPRIT estimator for% uniform linear ...

【实例简介】
【实例截图】
【核心代码】
function estimate =  tls_esprit(dd,cr,Le)
%*******************************************************
% This function calculates TLS-ESPRIT estimator for
% uniform linear array.
%
% Inputs
%    dd       sensor separation in wavelength
%    cr(K,K)  array output covariance matrix
%    Le       estimated number of sources ==L=iwave
%
% Output
%    estimate  estimated angles in degrees
%              estimated powers
%*******************************************************
twpi = 2.0*pi;
% eigen decomposition of cr
[K,KK] = size(cr);
[V,D]=eig(cr);
EVA = real(diag(D)');
[EVA,I] = sort(EVA);
%disp('Eigenvalues of correlation matrix in TLS-ESPRIT:')
EVA=fliplr(EVA);
EV=fliplr(V(:,I));
%  composition of E_{xy} and E_{xy}^H E_{xy} = E_xys
Exy = [EV(1:K-1,1:Le) EV(2:K,1:Le)];
E_xys = Exy'*Exy;
% eigen decomposition of E_xys
[V,D]=eig(E_xys);
EVA_xys = real(diag(D)');
[EVA_xys,I] = sort(EVA_xys);
EVA_xys=fliplr(EVA_xys);
EV_xys=fliplr(V(:,I));
% decomposition of eigenvectors
Gx = EV_xys(1:Le,Le 1:Le*2);
Gy = EV_xys(Le 1:Le*2,Le 1:Le*2);
% calculation of  Psi = - Gx [Gy]^{-1}
Psi = - Gx/Gy;
% eigen decomposition of Psi
[V,D]=eig(Psi);
EGS = diag(D).';
[EGS,I] = sort(EGS);
EGS=fliplr(EGS);
EVS=fliplr(V(:,I));
% DOA estimates
ephi = atan2(imag(EGS), real(EGS));
% ange = - asin( ephi / twpi / dd ) .* radeg;
ange=ephi/dd./2/pi;
estimate(1,:)=ange;
% power estimates
T = inv(EVS);
powe = T*diag(EVA(1:Le) - EVA(K))*T';
powe = abs(diag(powe).')/K;
estimate(2,:)=powe;
% End tls_esprit.m

展开全文
weixin_35927509 2021-04-19 03:30:39
• 399KB weixin_38673738 2021-05-14 09:58:31
• 297KB jiebing2020 2021-09-01 23:58:53
• 169KB jiebing2020 2021-09-01 23:53:49
• 551KB jiebing2020 2021-09-01 00:52:11
• 1KB weixin_42680139 2021-09-29 13:11:54
• ## 基于Python的TLS-ESPRIT算法 python 算法 机器学习

ESPRIT算法建立在子空间旋转不变的基础上，相比于MUSIC算法，不需要全局搜索，减少了运算量。
import numpy as np
import scipy.signal as ss
import scipy.linalg as LA
import matplotlib.pyplot as plt

def awgn(x, snr):
spower = np.sum((np.abs(x) ** 2)) / x.size
x = x + np.sqrt(spower / snr) * (np.random.randn(x.shape[0], x.shape[1]) + 1j * np.random.randn(x.shape[0], x.shape[1]))
return x

d = np.arange(0,4,0.5)
theta = np.array([10,30,60]).reshape(1,-1)
n=500
iwave = theta.size
S = np.random.randn(iwave,n)
X = A@S
X = awgn(X,10)
Rxx = X@(X.conj().T)/n

def TLS_ESPRIT(K,d,iwave,Rxx):
dd = d[1]-d[0]
D,EV = LA.eig(Rxx)
index = np.argsort(D)
EN = EV[:,index][:,K-iwave:K]

Exy = np.concatenate((EN[0:K-1,:],EN[1:K,:]),axis=1)
E_xy = Exy.conj().T@Exy
D_xy,EV_xy = LA.eig(E_xy)
index1 = np.argsort(D_xy)
EV_xy = EV_xy[:,index1]

E12 = EV_xy[0:iwave,0:iwave]
E22 = EV_xy[iwave:2*iwave,0:iwave]
Psi = -E12@LA.pinv(E22)

D_si,V_si = LA.eig(Psi)
ephi = np.angle(D_si)
return angles

ESPRIT_DOA = []
ESPRIT_DOA = TLS_ESPRIT(K=8,d=d,iwave=iwave,Rxx=Rxx)
for DOA in ESPRIT_DOA:
print(DOA)
ESPRIT算法建立在子空间旋转不变的基础上，相比于MUSIC算法，不需要全局搜索，减少了运算量。
编写的过程中，易出现的问题：
TLS-ESPRIT算法一共需要进行3次特征分解
1、第一次，对接收信号取K个大特征值对应的特征向量，构成信号子空间。
2、第二次，取K个小特征值对应的特征空间。
一般公式中，矩阵乘法省略两个矩阵之间的乘号，矩阵乘法对应MATLAB中（*），而在Python中矩阵乘法用np.dot()或者@表示，（*）表示对应位相乘（也就是Hadamard积）。
展开全文
wudongming2017 2021-12-13 15:04:38
• 426KB jiebing2020 2021-08-28 23:31:53
• 1.71MB jiebing2020 2021-08-28 21:47:49
• ## (4)_不同快拍数和信噪比下LS_ESPRIT与TLS_ESPRIT之间的比较.zip ESPRIT

779KB ldw126 2020-03-27 16:13:52
• 5星
39KB weixin_42676876 2021-10-03 06:53:13
• ## TLS_esprit.m TLS-ESPRIT

1KB ldw126 2020-02-10 21:55:23
• 9KB ldw126 2021-05-15 16:28:13
• 2KB weixin_44731872 2020-10-15 21:32:36
• ## ESPRIT算法源代码 ESPRIT算法

2KB u011847417 2017-08-08 22:50:53
• ## 基于ESPRIT算法的DOA估计 ESPRIT

6.3MB qq_27195669 2015-09-09 15:12:25
• ## LS_Esprit_and_TLS_Esprit.m ESPRIT

8KB ldw126 2021-04-22 10:38:35
• ESPRIT算法ESPRIT算法，estimating signal parameter via rotational invariance techniques，中文名“基于旋转不变技术的信号参数估计”。同样的，和Musci,Root-Music算法一样，这类基于相关矩阵特征分解的信号频率...
打算把这个课程里的大部分代码都整理下。
ESPRIT算法
ESPRIT算法，estimating signal parameter via rotational invariance techniques，中文名“基于旋转不变技术的信号参数估计”。
同样的，和Musci,Root-Music算法一样，这类基于相关矩阵特征分解的信号频率估计方法，书上都是基于复正弦加白噪声信号模型：

根据M个时刻的观测值可以表示出向量形式，x(n)=As(n)+v(n)；然后定义y(n)=x(n+1)，同理写出矩阵形式，并找出y(n)和s(n)的关系：

这里的φ是e^(-jwK)组成的对角矩阵。

求x(n)的自相关(与y(n)的自相关是相等的)和与y(n)的互相关；然后对Rxx进行特征值分解，然后定义两个矩阵：

对上面那个矩阵对放在一起并求广义特征值，然后由非零解和矩阵是否奇异得出秩的关系:

所以广义特征值恰为φ^H的对角元，其与信号频率有关。
ESPRIT算法代码：在代码中由于相关矩阵都是估计的，对矩阵对进行广义特征值分解时，取的是最接近圆的K个广义特征值。K是由输入向量里有多少个频率得出的。
clear all,close all
N=1000;%样本数
noise=(rand(1,N)+1i*rand(1,N))/sqrt(2);
n=1:1:N;
un(n)=exp(1i*0.5*pi*n+1i*2*pi*rand(1))+exp(-1i*0.3*pi*n+1i*2*pi*rand(1))+noise;
%% 构造自相关矩阵
M=8;
for k=1:N-M
xs(:,k)=un(k+M-1:-1:k).'; %从 k+m-1 一直减到 k 并变为列向量
end
Rxx=xs(:,1:end-1)*xs(:,1:end-1)'/(N-M-1);
Rxy=xs(:,1:end-1)*xs(:,2:end)'/(N-M-1);
%% 利用奇异分解找到最小特征值
[V,D]=svd(Rxx);
ev=diag(D);emin=ev(end);
%% 构造矩阵对,并对其进行特征分解
z=[zeros(M-1,1),eye(M-1);0,zeros(1,M-1)];
Cxx=Rxx-emin*eye(M);
Cxy=Rxy-emin*z;
[V,D]=eig(Cxx,Cxy);
z=diag(D);
w=angle(z)/(2*pi);
err=abs(abs(z)-1);
w(ad([1,3]))

展开全文
ai136172022 2018-07-08 22:48:11
• 704KB weixin_38689027 2021-05-20 01:27:40
• 943B weixin_44731872 2020-10-15 21:35:04
• 5星
2KB luopeng1984abc 2009-09-13 14:57:32
• 摘要：近年来,国内外兴起对新型无源探测系统的研究,同时由于数字信号处理芯片技术的... 在算法研究方面,在介绍了常规ESPRIT算法的基础上,着重介绍了改进的二维ESPRIT算法和基于四阶累积量处理和空时处理的二维ESPRIT...

摘要：
近年来,国内外兴起对新型无源探测系统的研究,同时由于数字信号处理芯片技术的飞速发展,使一些原本计算量大,耗时长的测向算法在工程上的应用成为可能.本课题所要完成的任务就是利用空间非合作辐射源,探索对空间目标进行二维到达角(DOA)估计的实用方法并将其实现. 在算法研究方面,在介绍了常规ESPRIT算法的基础上,着重介绍了改进的二维ESPRIT算法和基于四阶累积量处理和空时处理的二维ESPRIT算法,同现有的测向算法相比,在某些性能方面都有了明显的改进.针对相干信号的二维DOA估计问题,本文在改进二维ESPRIT算法的基础上将双向空间平滑技术成功地引入进来,提高了阵元的利用率;同时针对空间平滑技术损失阵列孔径的缺点,提出了一种修正ESPRIT算法,该方法具有一定的解相干能力,并且能改善原ESPRIT算法在复杂信号条件下的测向性能,具有较高的稳健性,易于工程实现. 在硬件实现方面,给出了以高速DSP和FPGA为核心的实时测向处理系统设计方案.文中侧重对测向系统的软件设计部分进行了详细的介绍.论文最后对实时测向系统进行了性能测试,验证了系统方案的可行性,可为今后的超分辨测向系统研究提供一些技术参考.
展开

展开全文
weixin_35395422 2021-05-24 05:35:15
• ## esprit算法 esprit算法

5星
1KB ligongtianxia 2011-12-15 19:16:57
• weixin_28719225 2021-04-23 17:08:45
• 4星
1KB zaishizhangliao 2013-05-08 12:07:17
• 992B pudn01 2021-08-11 17:42:04