资源简介

function [jx,SNR,result]=mytlsesprit(x,M,k,dt) % 实现《基于快速TLS_ESPRIT的间谐波检测算法》张滨生 1.4 % intput x:原始数据 % intput M:时间窗宽度 % intput dt:采样间隔 % output jx:拟合数据 % output Ad:振幅 % output Qd:相位 % output ad:衰减因子 % output fd:振荡频率 % output result=[Ad,Qd,ad,fd]

资源截图

代码片段和文件信息

function [jxSNRresult]=mytlsesprit(xMkdt)
% 实现《基于快速TLS_ESPRIT的间谐波检测算法》张滨生 1.4
% intput x:原始数据
% intput M:时间窗宽度
% intput dt:采样间隔
% output jx:拟合数据
% output Ad:振幅
% output Qd:相位
% output ad:衰减因子
% output fd:振荡频率
% output result=[AdQdadfd]

%求取数据长度、时间窗
N=length(x);
L=N+1-M;

%% 建立数据矩阵
X=zeros(LM);
for i=0:L-1
    X(i+1:)=x(i+1:i+M-1+1);
end

%% 求取频率估计
%奇异值分解
[RXEXUX]=svd(X);
%截取信号子空间,k的求取方法??
% k=length(find(EX>0.00001));
Us=UX(:1:k);
%分解子空间
[mn]=size(UX);
U1=Us(1:m-1:);
U2=Us(2:m:);

% tic
%构建矩阵D并进行SVD分解
D12=[U2U1];
% tic
[RDEDUD]=svd(D12);
% toc
%提取U12U22
U12=UD(1:

评论

共有 条评论