Пытаюсь сделать следующим образом:
"отпечаток - fingerprint", содержащий в себе отрывок сигнала, скользящий по буферу.
Допустим буфер - размером с ффт, отпечаток - 1/4 ффт.
Нахожу минимальную дистанцию между отпечатком и буффером на X оффсете буффера. Этот оффсет и есть позиция триггера.
Беру из буфера начиная с этого оффсета по длинну ФФТ, складываю в сторонку.
Повторяю процедуру для последующих данных.
Использование отпечатка = значит нет зависимости от самого сигнала, не интересно какой он формы и насколько длительна его неповторяющаяся последовательность, и как он вкладывается в окно ффт. Главное - его точка корреляции с триггером всегда стоит в позиции 0 для ФФТ.
Сам отпечаток можно подправлять из усредненных данных)
По хорошему следует ресемплить и то и другое для ловли межсемпловых соответствий, но это как-бы усложняет.
Опять, по хорошему следует жить в аналоговом виде а не цифровом, т.к. если наш синус никогда не будет засэмплен точно в тех-же точках что и "отпечаток", то синхронизация не случится.
"отпечаток - fingerprint", содержащий в себе отрывок сигнала, скользящий по буферу.
Допустим буфер - размером с ффт, отпечаток - 1/4 ффт.
Нахожу минимальную дистанцию между отпечатком и буффером на X оффсете буффера. Этот оффсет и есть позиция триггера.
Беру из буфера начиная с этого оффсета по длинну ФФТ, складываю в сторонку.
Повторяю процедуру для последующих данных.
Использование отпечатка = значит нет зависимости от самого сигнала, не интересно какой он формы и насколько длительна его неповторяющаяся последовательность, и как он вкладывается в окно ффт. Главное - его точка корреляции с триггером всегда стоит в позиции 0 для ФФТ.
Сам отпечаток можно подправлять из усредненных данных)
По хорошему следует ресемплить и то и другое для ловли межсемпловых соответствий, но это как-бы усложняет.
Опять, по хорошему следует жить в аналоговом виде а не цифровом, т.к. если наш синус никогда не будет засэмплен точно в тех-же точках что и "отпечаток", то синхронизация не случится.
Аминь.