ВходНаше всё Теги codebook 无线电组件 Поиск Опросы Закон Суббота
6 июля
104173 Топик полностью
iit (03.11.2007 13:19, просмотров: 165) ответил Argon на Есть задача: на вход некоего алгоритма поступает последовательность символов, принимающих значение +1 и -1 с периодом 50 мсек. Есть 20 сигнатур, совпадение последовательности с одной из которых необходимо определить.
Не очень силен в понятиях цифровой обработки, но насколько я понял необходимо при поступлении каждого символа посчитать корреляцию с заданными последовательностями. У меня на LPC21xx рассчитывается корреляция входного сигнала с заданным образом при поступлении данныхс АЦП с частотой 650 Гц и длинной последовательности в 4096 значения... и ничего успевает. Фишка в том, чтобы не считать полностью свертку при каждом входном значении, а считать дельту. Т.е. когда образ с которым сравниваем имеет значения +1 -1, то можно для него вывести алгоритм нахождения дельты. И тогда процесс вычисления корреляции будет сводиться не к полному вычислению свертки, а только к вычислению дельты. КоррТ = Корр Пред + ДельтаКорр(х) КоррТ - корреляция текущая КоррП - корреляция полученная при поступлении предыдущего значения. ДельтаКорр(х) - та самая функция нахождения дельты между КоррТ и КоррП. х - входной символ(значение). Вооружитесь карандашом и бумагой и попробуйте расписать формулу вычисления свертки для хi, потом для xi+1, потом для xi+2 и увидите что для каждого входного значения при вычислении свертки выполняются те-же операции за небольшими отличиями. Вот эти отличия и можно оформить в виде функции ДельтаКорр. Только не берите большие последовательности. Возьмите по 8 символов.