Обнаружение пересечения нуля с ложными срабатываниями - PullRequest
0 голосов
/ 23 мая 2019

У меня есть этот сигнал, как показано на рисунке, я обнаружил несколько пересечений нуля.Но некоторые из них являются ложными срабатываниями.В действительности, истинные пересечения нуля - это те, что на 33.15, 33.31 и 33.49us.Есть ли у вас какие-либо идеи, как я могу избежать обнаружения ложных срабатываний или, по крайней мере, как я могу избавиться от них? enter image description here

1 Ответ

1 голос
/ 24 мая 2019

Вы можете сначала открыть область сигнала, основываясь на значении локальных максимумов или минимумов:

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 и выделение .

...