Оцифровка аналогового сигнала
У меня есть массив значений CSV, представляющих цифровой выход. Он был собран с помощью аналогового осциллографа, поэтому он не является идеальным цифровым сигналом. Я'Я пытаюсь отфильтровать данные, чтобы получить идеальный цифровой сигнал для расчета периодов (которые могут различаться). Я также хотел бы определить максимальную ошибку, которую я получаю от этой фильтрации.
Что-то вроде этого:
идея
Применить порог данных. Вот псевдокод:
for data_point_raw in data_array:
if data_point_raw < 0.8: data_point_perfect = LOW
if data_point_raw > 2 : data_point_perfect = HIGH
else:
#area between thresholds
if previous_data_point_perfect == Low : data_point_perfect = LOW
if previous_data_point_perfect == HIGH: data_point_perfect = HIGH
Есть две проблемы, которые беспокоят меня.
Это кажется общей проблемой в цифровой обработке сигналов, однако я не имеюЯ нашел предопределенную стандартную функцию для него. Это хороший способ выполнить фильтрацию?Как бы я получил максимальную ошибку?