Добрый день, знатоки.
У меня аналогичный вопрос. В принципе почитал, уже сформировался вариант. Уже спасибо.
У меня следующая ситуация. На АЦП поступает синусоидальный сигнал. Там может быть несколько частот намешано, плюс шум конечно.
Есть критерии для этого сигнала min/ max частоты и амплитуды. Амплитуда меняется очень значительно (до 50 раз). Используется АЦП процессора (12 бит).
Из написанного, очевидно что у меня на малом размахе начинает сказываться дискретизация, а на большом ограничение/ искажение сигнала.
Дальнейшая математическая обработка сигнала сильно зависит от амплитуды входного сигнала.
Я сделал модель и пытался обкатывать свою математику. И зависимость очень сильная. То есть качество обработки серьёзно меняется.
Я сделал 2 прототипа. В одном поставил предварительный усилитель с переменным коэффициентом усиления. Во втором случае программно усиливаю сигнал (просто умножаю).
И то и другое даёт значительный положительный эффект.
Короче, мне, фактически, нужно сделать АРУ для входного сигнала. Причём она должна быстро срабатывать (сигнал идёт из разных источников и непостоянно).
Так вот тот же критерий... Выделить полезный сигнал максимально быстро, чтобы чётко сработала АРУ до дальнейшей обработки. Желательно уложиться в 1-2 периода низкой частоты, то есть приблизительно 11-22 выборки. Сигнал я фильтрую 6 порядком по низу и верху. Короче вырезать пытаюсь.
===
Почитав эту тему - вижу:
1. После фильтрации выпрямляем сигнал (это я и сейчас делаю).
2. Сглаживаю. (То есть скользящее среднее по 11 выборкам)
3. По среднему определяю коэффициент умножения.
4. Меняю коэффициент по изменению первой производной (то есть фактически при изменении этого среднего выше болтанки)
Кто ещё что посоветует или подправит?
Всех принявших участие благодарю.