ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Четверг
18 апреля
805317 Топик полностью
Dingo (29.12.2017 05:57 - 06:10, просмотров: 347) ответил LightElf на Пока мысля такая: частота выборок 500Гц. Берем отсчеты за за 1/10 секунды (50 отсчетов), вычисляем среднее значение (оно мне для других целей еще нужно) и находим максимум. Дальше считаем количество интервалов, где сигнал больше 3/4 от максимума.
500Гц не получится, минимум 800Гц - об этом нам Котельников и Найквист говорит. Но в вашем случае и этого маловато будет. Может дальше очевидные вещи будут, но всё же напишу, раз уж настроение есть и время ;-) Нарисовал наглядно. Пунктир - предыдущий период, циферки - сколько выборок на период. Зелёным - это когда максимум попал между сэмплов. Обратите внимание, что частота "зелёных" выше 1/8 периода, то есть даже 16 выборок на период - маловато. Когда частота будет на верхнем пороге границы, то период уменьшится, а значит - и частоту выборок надо смотреть для этого, наихудшего, случая. Ну и если возможен уход частоты больше, чем в 2 раза вверх, то тоже весело может быть: начнём пропускать пики сигнала. AWDT можно запустить непрерывно молотить, а прерывание или событие дёргать только в случае обновления минимума или максимума. В обработчике же устанавливать новые значения. Среднюю(FIR?) можно взять как AVG = (X+3*AVG)/4, или вида AVG = (n*X+(p-n)*AVG)/p где p - 2^N для деления через сдвиги. Набросал в экселе файлик для просмотра переходной характеристики. При долгом сигнале не дотягивает до него из-за ошибки округления. Можно перед делением-сдвигом добавлять константу, чтобы исправить это.