function [H,LL]= ItdBaseDecomp(x, n)
% 将信号x进行分解一层ITD分解
% H表示固有旋转分量
% LL表示基信号
%-----------------------------
len=length(x);
% n=(1:len);%原始数据点数序号,从0开始排序
if nargin == 1
n = 1:len;
end
[num,Index]=extrema_1(x);% 提取极值点,不区分极大值极小值
[indmin,indmax] = extr(x);% 区分极值大值和极小值
%衍生虚极值点,抑制端点效应
NBSYM = 1; %信号的左右两端分别添加一个极小值和极大值,1表示数量
if length(indmin) + length(indmax) < 3
H = [];
LL = x;
return
end
[tlmin,tlmax,zlmin,zlmax,trmin,trmax,zrmin,zrmax] = boundary_conditions(indmin,indmax,n,x,x,NBSYM);
if tlmin<tlmax
if trmin<trmax
newT=min(tlmin):max(trmax);%新的数据点区间,左右都增加了一个极小值和极大值
% 之所以从第2个极点开始,那是因为虚构点的时候把第一个点当做虚构极值点了
% 最后一个点也当做虚构极值点了,所以最后一个极值点也不取
newExtr=[tlmin tlmax n(Index(2:num-1)) trmin trmax];%左右两端的衍生极值点和原来极值点
newXk=[zlmin zlmax x(Index(2:num-1)) zrmin zrmax];%左右两端的衍生极值点和原来极值点对应的极值
else if trmin>trmax
newT=min(tlmin):max(trmin);
newExtr=[tlmin tlmax n(Index(2:num-1)) trmax trmin];
newXk=[zlmin zlmax x(Index(2:num-1)) zrmax zrmin];
end
end
else if tlmin>tlmax
if trmin<trmax
newT=tlmax:trmax;
newExtr=[tlmax tlmin n(Index(2:num-1)) trmin trmax];
newXk=[zlmax zlmin x(Index(2:num-1)) zrmin zrmax];
else if trmin>trmax
newT=tlmax:trmin;
newExtr=[tlmax tlmin n(Index(2:num-1)) trmax trmin];
newXk=[zlmax zlmin x(Index(2:num-1)) zrmax zrmin];
end
end
end
end
% 衍生后的极值点数newExtrNum,
newExtrNum=length(newExtr);
IndexNew = zeros(1, newExtrNum);
for i=1:newExtrNum
IndexNew(i)=find(newT==newExtr(i));%找出衍生后的极值点在newT区间中对应的序号
end
% 衍生后的新数据区间内的总点数newT_Num
newT_Num=length(newT);
L=zeros(1,newT_Num);
a=0.5;
k=1:newExtrNum-2;
L(IndexNew(k+1))=a.*(newXk(k)+((IndexNew(k+1)-IndexNew(k))./...
(IndexNew(k+2)-IndexNew(k))).*(newXk(k+2)-newXk(k)))+(1-a).*newXk(k+1);
LL=zeros(1, length(x));
ind = 1;
for k=2:newExtrNum-2
p=Index(k-1):Index(k);%原极值点之间的序号,映射到原区间上
temp=L(IndexNew(k))+((L(IndexNew(k+1))-L(IndexNew(k)))/(newXk(k+1)-newXk(k)))*(x(p)-newXk(k));
if k~=newExtrNum-2
temp(end)=[];
end
LL(ind:ind+length(temp)-1)=temp;%基线信号
ind = ind + length(temp);
end
H=x(n)-LL(n);
end

猰貐的新时代
- 粉丝: 1w+
- 资源: 3029
最新资源
- Vectrosity5.6
- 西门子PCS7自定义单位教程:如何编写非标单位程序、实现立即生效及在CFC与WINCC中指定自定义单位,西门子PCS7自定义单位教程:如何编写非标单位程序,实现自定义单位立即生效及其在CFC与WINC
- 基于KeyStone DSP的高性能多核视频处理技术
- Ryu 架构图.jpg
- 基于NSGA2算法的冷链物流车辆路径优化研究:多目标权衡客户满意度与碳排放成本,基于NSGA2算法的冷链物流车辆路径优化研究:考虑碳排放成本与客户满意度的双目标优化模型,改进多目标遗传算法车辆路径优化
- miniDSP Codec在智能手机音频系统的应用与优化技术解析
- 基于ADRC控制的半车主动悬架建模:车身加速度、悬架动挠度与轮胎变形研究,并与PID控制效果对比,基于ADRC控制的半车主动悬架建模:车身加速度、悬架动挠度与轮胎变形研究,并与PID控制效果对比,ma
- 中药材图像分类数据集5类别.rar
- XILINX 7系列功耗评估之XPE
- 数字电源控制器UCD系列PMBus协议PEC校验详解及应用场景
- 移动磁铁在线圈中感应电压仿真分析与COMSOL 6.0案例详解:动网格与滑移网格应用,移动磁铁在线圈中感应电压的仿真分析与COMSOL 6.0案例深度还原:动态网格技术揭秘感应电压计算过程,移动磁铁在
- 永磁同步电机全阶自适应观测器MATLAB仿真研究:高速电机性能优化与波形展示改进版,永磁同步电机全阶自适应观测器MATLAB仿真:从基础到高级的优化详解(含波形分析与高效转速特性),永磁同步电机全阶自
- Simulink永磁同步风机风光储并网系统VSG一次调频:PMSG风机虚拟同步机控制及频率波形与出力分析图,Simulink永磁同步风机风光储并网系统VSG一次调频与虚拟同步机控制策略图解,simul
- 地级市-规模以上工业企业数(1999-2020年).xlsx
- MMC分布式储能系统:实现恒功率与恒电压控制的无缝切换技术,MMC分布式储能系统实现恒功率与恒电压控制的无缝切换技术,mmc分布式储能 恒功率控制 恒电压控制 无缝切 ,核心关键词:MMC分布式储能
- 【C语言期末/课程设计】职工管理系统(DevC项目)
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈


