我从信号中提取了所有峰值(最大值和最小值),现在有2个包含其电压值的向量和两个包含其索引的向量。
我想计算此信号中所有不同的峰 - 峰(最小值到最大值和最大值到最小值)值。最终,这是为了找到该信号的最大峰 - 峰值。因为信号漂移,我不被'允许'高通过滤它,这是我能想到找到这个值的唯一方法。然而,我正在摸索着实施它。
我很感激为构建此代码或其他想法以实现我的目标提供帮助。非常感谢。
以下是我的数据点示例。 PosVol
是正峰值的电压和负峰值的NegVol
。 <{1}}和PosInd
分别是索引。
NegInd
答案 0 :(得分:1)
我建议,为了获得所有 - 让我们说下降的侧翼 - 峰值到峰值,你迭代正面指数并做:
PeakPeakFalling = zeros(1,size(PosInd,2));
for ii=1:size(PosInd,2)
neg_index = find(NegInd(1,:)>PosInd(1,ii),1);
PeakPeakFalling(1,ii)=PosVol(1,ii)+NegVol(1,neg_index);
end
这将找到以下最小值的下一个索引,并使用它计算值的差异。
以同样的方式,你也可以构建PeakPeakRising
向量,然后找到所有峰值到峰值的最大值。我假设NegVol
值实际上是负电压。