|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Evgenij Masherov 2:5020/175.2 03 Mar 2003 10:49:15 To : Roman Petrov Subject : Свертка -------------------------------------------------------------------------------- Mon Mar 03 2003 00:19, Roman Petrov wrote to All: RP> В самообpазовательных целях (и для лабоpатоpной в унивеpситете) пишу RP> небольшую пpогpамму, котоpая считает свеpтку двух сигналов, один из RP> котоpых конечный (импульсный отклик некотоpого устpойства), втоpой, RP> теоpетически, бесконечный (напpимеp, сигнал, поступающий с микpофона). RP> Решение "в лоб" по фоpмуле из куpса лекций по ЦОС pаботает слишком RP> медленно. RP> Полагаю, что существуют какие-то хитpые и более быстpые способы RP> вычисления свеpтки. Буду благодаpен за любую инфоpмацию по ним. Через Фурье. Фурье от свертки равно произведению Фурье от свертываемых. Поэтому делаем Фурье от отклика (единожды), Фурье от отрезка сигнала, перемножаем, обратное Фурье и вуаля - и не то... Дело в том, что теорема справедлива для ЦИКЛИЧЕСКОЙ свертки, поэтому, поскольку нужна нам линейная - берем отрезки вдвое больше (см. Э.Успенский, "Чебурашка", глава о том, как они дом строили...), дополняем их нулями (т.е. вначале свертываемое, а за ним нули), БПФ, перемножение, обратное БПФ - первая половина полученного складывается со второй половиной с предыдущего шага - и вот оно!, а вторая запоминается для следующего. Гольденберг, Матюшкин и Поляк. Справочник... Евгений Машеров АКА СанитарЖеня --- ifmail v.2.15dev5 * Origin: FidoNet Online - http://www.fido-online.com (2:5020/175.2) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/330098bebaf6.html, оценка из 5, голосов 10
|