ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Понедельник
22 июля
1018930 Топик полностью
RxTx (16.07.2020 17:21, просмотров: 409) ответил Dingo на Определить максимум - вроде просто, но как правильней?
В задачах DSP необходимо знать/понимать название метода или хотя бы математической функции. В данном случае твоя задача называется Peak Detection и по нему для тебя можно найти продвинутые методы, что я и сделал. 

В 2012 году Felix Scholkmann, JensBossand MartinWolf придумали эффективный агоритм AMPD, automatic multiscale-based peak detection. См. файл в аттаче.
В 2018 другие ребята сделали аппроксимацию этого алгоритма в FPGA.
Отыскиваются некоторые репозитории
https://github.com/xmhbbovru/ampd
https://github.com/LucaCerina/ampdLib



https://pypi.org/project/pyampd/

Оригинальный код авторов на R https://cran.rapporter.net/web/packages/ampd/


Не зная AMPD я бы решал задачу просто и классически.

Сначала обязательно отфильтровал сигнал НЧ фильтром с некоторой требуемой частотой среза, оставив только низкие частоты. Допустим, если тензодатчик реагирует на деятельность человека и требуется определить действия над ним руками итд, то частота среза ФНЧ порядка 1-2Hz. Если тензодатчик работает с более быстрыми процессами, какими-то вибрациями, то важно не срезать требуемые частоты. ФНЧ произведет крайне важную вещь: он сильно сгладит сигнал убрав весь шум, так что останется только найти точки экстремума дискретной функции (сигнала). Бежим и вычисляем первую производную y[n] = x[n] - x[n-1] либо симметричным методом: y[n] = (x[n+1] - x[n-1]) / 2 и далее бежим и анализируем смену знаков в x[n] и x[n+1] или x[n-1] x[n] x[n+1] . Как только нашли x[n] > x[n+1] соответственно, был пик.


An_Effi…atic_Peak_Detection_in_Noisy_Periodic_and_Quasi-.pdf


Peak_De…r_Real-Time_Signal_Analysis_Based_in_FPGA.pdf

Спасибо, князь. Вы настоящий дворянин. И программист.