Иногда бывают такие истории (для наглядности, с каждой итерацией отсекается распознанный "горб", и остаток нормализуется):
Код:
.:
.::: ..
.:::: ::
.:::::: .::: ..
::::::: :::: .::
::::::::. .::::: :::.
.:::::::::: ::::::. : .::::.
.::::::::::::...:::::::::::::..::::::::.
us------2-------3-------4-------5-------6-------7-------8-------9
..
::
.::: .
:::: ::
::::. :::
.::::: ::::
.::::::: .:. :::::.
.:::::::::::::.:::::::::.
us------2-------3-------4-------5-------6-------7-------8-------9
32
.
::
.::
:::
::::
: .::::
.::. :::::: .
:::::::::::::::
us------2-------3-------4-------5-------6-------7-------8-------9
42
.
::
.::
:::
::::
.::::
:::::: .
::::::::::
us------2-------3-------4-------5-------6-------7-------8-------9
47
:
::
::
us------2-------3-------4-------5-------6-------7-------8-------9
Вместо 3х пиков распознаются 5. А может и больше. Пики между пиками (т.е. как раз те самые неоднозначно классифицируемые импульсы).
Достаточно нетривиальная задача анализировать подобное, дабы установить пороговые границы. Необходимо кластеризовать эти бугры с учетом основной MFM пропорции 1/1.5/2.
Пока в этом затык.
- Статистику по полной+четной/нечетной собираю.
- Выявляю график чётно/нечётного "расползания", компенсирую его.
- По результату повторно обрабатываю статистику для вычисления наиболее корректных пороговых значений (для каждого фрагмента) <- я тут
Часто ведь бывает вообще 2 бугра (т.е. 1+1.5), если это межсекторный промежуток. Алгоритм должен это учитывать и в этом плане быть максимально адаптивным.