vytian писал:
Цитата:
Хм, у астрофизиков, которые как раз большие любители и вэйвлетов тоже, для более запущенных случаев ещё и поиск главных компонент используют, как раз похожий случай - огромные массивы данных пишутся с неба в радиодиапазоне на разных детекторов, а "надо правду знать"(с).
Боюсь переупростить, давно читал соотв. матчасть и не очень вдумчиво, но идея такая: берутся последовательные куски сигнала со сдвигом в отсчет, или на инкремент характерного параметра размера и т.п., и сворачиваются со всеми остальными фраментами. получающаяся матрица NxN диагонализуется и voila - получайте наиболее вероятные "подписи" сигналов с весами уже сразу. а уж потом хоть корреляционно идентифицуруйте их, хоть по библиотеке.
А можно сразу многомерный массив со всех детекторов диагонализовывать, наверно, хотя там без предварительной фильтрации "измерения матрицы" для разных датчиков распадутся на независимые задачи. а может и нет тогда вообще чудно.
Насчет идентификации у спектроскопистов тоже собак съедено немало, только надо грамотно характеристический спектр сигнал подготовить. Но насколько я предстваляю себе, всё к тому же методу главных компонент сводится, варационному анализу, пик-фитингу типа Левенберга-Маквардта, впрочем, тот же принцип, или попросту по евклидову расстоянию и аналогичным характеристикам сравниваются.
Именно этим путем я сейчас и пытаюсь идти. Т.е. принцип похож на радиоинтерферометр. Как раз подглядел у астрофизиков.
Несколько акустических датчиков слушают вобщем-то один и тот же с акустический сигнал и непрерывно кадрами записывают его. Если задуматься, то один из датчиков, расположенных треугольником, услышит нарастание определенных спектральных компонент первым. А другие два с каким-либо запаздыванием. Впринципе получается, как вы и пишите, что если произвести свертку сигнала первого датчика с последующими фрагментами двух других датчиков, то можно корелляционным методом определить момент вступления сигнала. Но во всей этой теории есть одно но. Все это хорошо работает на больших базах, как у радиоастрономов, т.е. когда датчики слушающие эфир синхронны во времени и разнесены на большие расстояния. Т.е. тем более точным будет этот пеленг. Чем ближе датчики тем хуже пеленг на объект и явное влияние на погрешность будет оказывать скорость кадрирования принимаемого сигнала.
Звук в земле бежит на скоростях от 2500 до 6000 м/с (предположим что в примере будет 2500 м/с). При такой скорости можно определить максимально допустимую погрешность пеленга. Например мы хотим определять пеленг не хуже чем с точностями 1 м. Данное расстояние звук пробежит за 400 мкс. Если учесть что измерительная система должна состоять из 3 датчиков, то хотелось бы обеспечить 3 запас по измерению. Т.е. кадры берутся максимальной величиной 133 мкс. Длина волны будет порядка 30 см, а ширина необходимой полосы пропускания 10 кГц. Частоту дискретезации возьмем 100 кГц.
Вроде бы все решается, но пока только для одного источника звука, а если их несколько и звучат они одновременно. Как их различить? Вот здесь я начинаю теряться.
По моему в этой задаче вообще надо пеленговать не кадры как таковые, а относительные изменения элементарных кусочков спектра. Делать что-то типа быстрого преобразования Фурье на коротких участках и копать в этом направлении