Цитата(tmtlib @ Aug 1 2011, 13:37)

Подскажите, чем определять синусоидальный сигнал с нелинейно растущей частотой? Есть шумы и эхо. Спектрограмма БПФ по времени даёт весьма размазанную картину, так как частота растёт быстро, амплитуда падает в шум, т.е. БПФ с большим окном попросту не подходит для таких писков. В спектрограмме конечно что-то видно, но алгоритмически это выделять уже сложно - и нужна память на хранение спектрограммы. На частоте дискретизации 22.5кГц в контроллер влазит примерно 2048 отсчёта (упаковываю по два 8-битных отстчёта в одну 16-битную ячейку памяти).
Я бы сделал с помощью оптимальной фильтрации. То есть, нужно взять ожидаемый сигнал и его ортогональное дополнение. Загрузить это в FIR. И работать с приемлемой децимацией (чтобы ресурса хватило и пик корреляции не прозевать). То есть делать свертку сигнала с действительной и мнимой частью ядра и векторно складывать. Получим огибающую, у которой будет хороший пик при приеме сигнала, на который настроен фильтр.
Сообщение отредактировал sup-sup - Aug 2 2011, 11:12