У меня есть некоторые формы сигнала, которые я пытаюсь обрабатывать с помощью Python. Я хотел бы найти дискретные уровни логики, отображаемые этими сигналами. У меня есть 1D-массив значений x и y каждой формы сигнала.Поиск дискретных логических уровней в форме волны
данные выглядит примерно так, например, лестница:
Как я могу найти различные уровни? Здесь они могут быть вокруг (1,8, 3,3), (2,1, 3,0), (2,7, 2,6) и т. Д.
Я пробовал следовать подходу, описанному в this similar question, относящемуся к R. Я реализовал LOWESS smoother (это кривая, которую вы видите) с плотной посадкой для устранения шума, поскольку реальные формы сигналов имеют нетривиальную составляющую шума, а затем попытался сделать катящийся максимум с окном над данными, но я не могу получить ничего твердого.
Я буду идти вперед и удалить R тег, поскольку он не имеет отношения к вашей проблеме программирования. – Frank