@NickS
Оскільки далеко не певне, що другий сигнал у сюжетах насправді є виключно запізнілою версією першого, слід застосувати інші методи, крім класичної перехресної кореляції. Це тому, що перехресна кореляція (CC) - це лише максимальна оцінка ймовірності, якщо ваш сигнал (и) мають затримки версій один одного. У цьому випадку їх явно немає, нічого не говорити і про нестаціонарність їх.
У цьому випадку я вважаю, що може працювати - це оцінка часу значної енергії сигналів. Зазначається, що "значуще" може чи не може бути дещо суб'єктивним, але я вважаю, що, дивлячись на ваші сигнали зі статистичної точки зору, ми зможемо оцінити "значущі" та піти звідти.
З цією метою я зробив наступне:
КРОК 1: Обчисли сигнальні огинаючі:
Цей крок простий, оскільки обчислюється абсолютне значення виходу Гільберта-Трансформації кожного з ваших сигналів. Є й інші методи обчислення конвертів, але це досить прямо. Цей метод по суті обчислює аналітичну форму вашого сигналу, іншими словами, подання фазора. Коли ви приймаєте абсолютну величину, ви руйнуєте фазу і тільки після енергії.
Крім того, оскільки ми проводимо оцінку затримки часу енергії ваших сигналів, такий підхід є гарантованим.
КРОК 2: Зниження шуму з нелінійними медіальними фільтрами, що зберігають краю:
Це важливий крок. Завдання тут - згладити енергетичні оболонки, але без руйнування або згладжування ваших країв і швидкого підйому. Насправді цьому присвячено ціле поле, але для наших цілей тут ми можемо просто використовувати простий у впровадженні нелінійний медіальний фільтр . (Середня фільтрація). Це потужна техніка, оскільки на відміну від середньої фільтрації, медіальна фільтрація не зведе нанівець ваші краї, але в той же час 'згладить' ваш сигнал без істотного погіршення важливих країв, оскільки жоден арифметичний за вашим сигналом не виконується (за умови, що довжина вікна непарна). Для нашого випадку тут я вибрав медіальний фільтр вікна розміром 25 проб:
КРОК 3: Час видалення: побудуйте функції оцінки щільності ядра Гаусса:
Що трапилося б, якби ви дивилися на вищезазначений сюжет збоку замість звичайного? Математично кажучи, це означає, що ви отримали, якби спроектували кожен зразок наших позначених сигналів на вісь амплітуди y? Роблячи це, нам вдасться прибрати час, так би мовити, і зможемо вивчати статистику сигналів виключно.
Що інтуїтивно вискакує з фігури вище? Хоча енергія шуму низька, вона має перевагу в тому, що вона є більш «популярною». На відміну від цього, хоча сигнальна оболонка, яка має енергію, енергійна більше, ніж шум, вона фрагментована через поріги. Що робити, якщо ми розглядали популярність як міру енергії? Це те, що ми будемо робити з моєю сирою реалізацією функції щільності ядра (KDE) з ядром Гаусса.
Для цього береться кожен зразок і побудована гауссова функція, використовуючи його значення як середнє значення, а заздалегідь задана пропускна здатність (дисперсія), вибрана a-priori. Налаштування дисперсії вашої гаусса є важливим параметром, але ви можете встановити її на основі статистики шуму на основі вашої програми та типових сигналів. (У мене є лише два файли, які потрібно вимкнути). Якщо потім побудуємо оцінку KDE, отримаємо такий сюжет:
Ви можете розглядати KDE як суцільну форму гістограми, так би мовити, і дисперсію як вашу ширину бін. Однак це має перевагу в тому, щоб гарантувати плавний PDF-файл, що ми можемо виконувати перше та друге розрахункове обчислення. Тепер, коли у нас є гауссові KDE, ми можемо побачити, де зразки шуму мають найвищу популярність. Пам'ятайте, що ось ось x представляє проекції наших даних на амплітудний простір. Таким чином, ми можемо бачити, в яких порогових значеннях шум є найбільш "енергійним", і ті кажуть нам, яких порогів слід уникати.
У другому сюжеті береться перша похідна гауссових KDE, і ми вибираємо абсцису першого зразка після першої похідної після піку суміші гауссів, щоб досягти певного значення, близького до нуля. (Або перший нульовий перехід). Ми можемо використовувати цей метод і бути "безпечним", оскільки наш KDE був побудований з гладких гауссів з розумною пропускною здатністю, і було взято першу похідну від цієї плавної та безшумної функції. (Зазвичай первісні похідні можуть бути проблематичними в будь-якому, крім високих SNR сигналах, оскільки вони збільшують шум).
Тоді чорні лінії показують, при яких порогах нам було б розумно «сегментувати» зображення, таким чином, щоб уникнути всієї шумової підлоги. Якщо потім застосувати до наших вихідних сигналів, ми отримаємо наступні графіки, чорними лініями яких вказується початок енергії наших сигналів:
δt =241
Я сподіваюся, що це допомогло.