Sommer
Молодой специалист
Offline
|
|
« : 13-08-2003 11:06 » |
|
кто - нибудь занимался реализацией этого?...
|
|
|
Записан
|
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины. но тогда меня уже не будет в этом городе forever yours.
|
|
|
RXL
|
|
« Ответ #1 : 13-08-2003 13:50 » |
|
Сейчас разбераюсь... Какой иммено вопрос?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Sommer
Молодой специалист
Offline
|
|
« Ответ #2 : 13-08-2003 19:40 » |
|
RXL, вопрос в дискретной свертке в алгоритме ее реализации посредством FFT если занимаешься этим - очень бы хотелось пообщаться я не совсем понимаю как реализовать сам алгоритм дискретной сертки.. пользую FFT с www.fftw.org
|
|
|
Записан
|
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины. но тогда меня уже не будет в этом городе forever yours.
|
|
|
RXL
|
|
« Ответ #3 : 14-08-2003 07:12 » |
|
Свертка (convolution) и FFT - вещи разные. Свертка делает умножение двух сигналов, а FFT разложение на состовляющие синусоиды.
Что именно ты хочешь проинтегрировать? Сам сигнал, или некоторую составляющую?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Sommer
Молодой специалист
Offline
|
|
« Ответ #4 : 14-08-2003 17:04 » |
|
задача состоит в реализации дискретной свертки посредством FFT - об этом можно почитать у Баскакова в РЦИС
дело в том, что коэффициенты преобразования Фурье свертки являются произведениями коэффициентов ДПФ сввертываемых сигналов
моя проблема пока состоит в понимании как посчитать отсчеты свертываемых сигналов, если помнишь там у одного из них 2 параметра( обычно t и тау)
|
|
|
Записан
|
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины. но тогда меня уже не будет в этом городе forever yours.
|
|
|
RXL
|
|
« Ответ #5 : 15-08-2003 09:20 » |
|
Чесно говоря, я почти ни чего не понял... Видимо, мы разную литературу читаем Мне кажется, что я бы быстрее и правильнее понял, если бы ты сказал своими словами, без математики, тау и прочих китов. Ты хочешь сделать свою реализацию FFT?
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Sommer
Молодой специалист
Offline
|
|
« Ответ #6 : 15-08-2003 10:10 » |
|
RXL, есть какая-то программа, которая вычисляет кучу вложенных интегнралов месяцы моя задача используя FFT (его писать ИМХО самому бессмысленно - легче и умнее взять с www.fftw.org) решать те же задачи во много раз быстрее используется свойство дискретной сверки(интеграл произведения 2 - х функций) - ее можно представиь через произведение коэф - в дискретного преобразования Фурье тех сигнналов, интеграл проризведения которых мы берем ты сам чем конкретно занимаешься? меня интересует алгоритм программирования этой дискретной свертки
|
|
|
Записан
|
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины. но тогда меня уже не будет в этом городе forever yours.
|
|
|
Sommer
Молодой специалист
Offline
|
|
« Ответ #7 : 15-08-2003 10:14 » |
|
RXL, нужен алгоритм дискретной свертки через FFT
FFT уже есть
|
|
|
Записан
|
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины. но тогда меня уже не будет в этом городе forever yours.
|
|
|
|
RXL
|
|
« Ответ #9 : 15-08-2003 10:59 » |
|
Честно говоря, даже походив по инету, так и не понял что есть "свертка через FFT" - я себе пока это не могу представить. в общем, когда пойму, обязательно напишу.
Сама свертка представляет собой простую формулу: y[n]=sum(h*x[n-i]), где x - входной сигнал, h - "импульсный отклик" (impulse responce), y - выходной сигнал, n - число отсчетов в выходном сигнале, i - длина h[], длина входного сигнала n-i+1.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Sommer
Молодой специалист
Offline
|
|
« Ответ #10 : 15-08-2003 11:36 » |
|
RXL, дискретная свертка через FFT : C[f[k]] = C[x[k]] * C[y[k]] литературу, по преобразованиям Фурье я уже указывал - есть в любой библиотеке
здесь фишка в том, что интегралы считать гораздо быстрее получается через FFT, чем разбивая результат умножения 2 - х функций на интервалы и находя площадь кажого из них, а отом это все еще и суммируя...
я вроде разобрался в алгоритме... сделаю - выложу - он простой проблема была не втом как пограммировать, а как вообще его себе представить\осознать...
-- а как ты обнаруживал сигналы в телефонии?....
|
|
|
Записан
|
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины. но тогда меня уже не будет в этом городе forever yours.
|
|
|
RXL
|
|
« Ответ #11 : 15-08-2003 12:13 » |
|
Несколько дальше нашел перемещение свертки из time domain в frequency domain - похоже ты от этом говоришь. Действительно простая вещь - оба сигнала (одной длины - самый короткий дополняется нулями) проходят FFT, а потом просто перемножаются коэффициенты с одним индексом. Упомянается, что это полезно при большой длине импульсного отклика (рекомендуют для длины больше 32). Ты об этом говорил? ----- Есть алгоритм Goertzel-я для обнаружения заранее известного набора частот. Значительно проще и быстрее FFT. Кроме того, в АОН-е (всмысле, тел. аппарате с запросом АОН-а) на Z80 был реализован тот же алгоритм, только для однобитного (!) сигнала. Время вычисления для 7 частот составляло около 15мс на процессоре в 4МГц.
|
|
|
Записан
|
... мы преодолеваем эту трудность без синтеза распределенных прототипов. (с) Жуков М.С.
|
|
|
Diletant
Помогающий
Offline
|
|
« Ответ #12 : 15-08-2003 13:15 » |
|
Мне тяжело вмешиваться в спор столь квалифицированной компании, но как мне помнится из вузовской математики, интеграл Фурье от свертки двух функций равен произведению интегралов Фурье от каждой функции. На этом основан метод быстрого вычисления свертки: Сначала вычисляется прямое FFT каждой функции, коэффициенты перемножаются, и вычисляется обратное FFT. Это имелось ввиду? При этом не совсем понятно при чем тут форум по С?
|
|
|
Записан
|
|
|
|
Sommer
Молодой специалист
Offline
|
|
« Ответ #13 : 15-08-2003 14:50 » |
|
Diletant, да именно это имелось в виду я внес тему именно в этот форум т.к. нужен алгоритм на С++ правда пока полемика вокруг понимания алгоритма впринципе RXL, ясно, спасибо
|
|
|
Записан
|
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины. но тогда меня уже не будет в этом городе forever yours.
|
|
|
Diletant
Помогающий
Offline
|
|
« Ответ #14 : 15-08-2003 17:24 » |
|
нужен алгоритм на С++
Алгоритм на языке программирования, IMHO, нонсенс. Или вопрос в том как комплексную арифметику на С реализовать? А так берется "алгоритм" на Фортране и аккуратно переписывается. Тем более вся программка строк этак в двести. Если же речь идет об FFT, оптимизированном под конкретный процессор, то тема обсуждалась на www.shelek.com/club, там еще ссылки на специализированные сайты приводились
|
|
|
Записан
|
|
|
|
Sommer
Молодой специалист
Offline
|
|
« Ответ #15 : 15-08-2003 17:57 » |
|
Diletant, я наверное не правильно выразился в действительности же нужен был алгоритм и его реализация на С++ что касается предыдущего форума, тот там тему создавал опять же я но тогда вопорс стоял не о свертке, а о реализации FFT, как ты уже отметил.
|
|
|
Записан
|
когда-нибудь, я верю, ты будешь ехать по этому городу и поймёшь, что хочешь увидеть меня за рулём мчащейся по соседней полосе машины. но тогда меня уже не будет в этом городе forever yours.
|
|
|
|