Всем добрый день. Не сталкивался ли кто с подобной задачей: надо вычислить среднеквадратичное отклонение массива в 1024 байта аппаратно. Получается, при решении задачи в лоб, надо сначала пробежаться по массиву (1024 такта), сложить все элементы, поделить на 1024 (сдвинуть результат на 10 бит), затем снова пробежаться по массиву, вычитая из каждого отсчета среднее (возведения в квадрат опускаю, полагаем, что это делатеся на лету, не затрачивая тактов). Проблема в том, что частота отсчетов - 8 мгц, то есть при решении задачи в лоб после каждого отсчета нужно производить пересчет (2048 тактов). при частоте 8 мгц умнодаем на 2048 тактовая частота должна быть около 1,6 ГГц - плохо. Допустим, среднее можно на лету вычислять, используя FIFO, после каждого осчета добавляя куже имеющейся сумме новый и вычитая 1025-й. А с СКО как быть? Придется чтоли таки пробегаться по массиву, вычисляя разность со средним? Это частота должна быть 800 МГц - тоже плохо...
|