检测过零误报
Detection of zero crossing with false positives
我有如图所示的信号,我检测到几个过零。但其中一些是误报。实际上,真正的过零点是 33.15、33.31 和 33.49us。您是否知道如何避免误报检测,或者至少如何消除误报?
您可以先根据局部最大值或最小值的显着性对信号区域进行门控:
prom_threshold = 50; % adjust this value based on the amplitude of your signal.
[~,prom] = islocalmax(signal);
ind = find(prom > prom_threshold);
if numel(ind) < 2
error('Signal not found');
end
gated_signal = signal(ind(1):ind(end));
% Do your zero crossing algorithm.
阅读localmaxima and prominence。
我有如图所示的信号,我检测到几个过零。但其中一些是误报。实际上,真正的过零点是 33.15、33.31 和 33.49us。您是否知道如何避免误报检测,或者至少如何消除误报?
您可以先根据局部最大值或最小值的显着性对信号区域进行门控:
prom_threshold = 50; % adjust this value based on the amplitude of your signal.
[~,prom] = islocalmax(signal);
ind = find(prom > prom_threshold);
if numel(ind) < 2
error('Signal not found');
end
gated_signal = signal(ind(1):ind(end));
% Do your zero crossing algorithm.
阅读localmaxima and prominence。