covsh 0 7 апреля, 2005 Опубликовано 7 апреля, 2005 · Жалоба есть прямоугольный импульс который попадаеться на RC цепь с частотный коэффициент передачи k(jw) , нужно посмотреть что будет ны выходе в книжке нашел, что для RC равен k(jw)=1/(1+j*w*tau), (w=омега) FFT рабочее, проверял так вот после fft имеем массив дейтвительных и мнимых частей коэффициентов. далее, k(jw) умножаю на (1-j*w*tau) и получаю k(jw)=1/(1+w*w*tau*tau)+j(-w*tau)/(1+w*w*tau*tau) т.е. действительныю и мнимую чать k(jw), которые потом перемножаю с коэффициентами Фурье и делаю обратное преобразование. Так вот всесто нужного пилообразного сигнала получаю совсем другое. Где я ошибся? исходник нужен? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Jools 0 8 апреля, 2005 Опубликовано 8 апреля, 2005 · Жалоба Как перемножаешь с коэффициентами Фурье? А вообще, лучше, конечно, исходник. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-=Space=- 0 15 апреля, 2005 Опубликовано 15 апреля, 2005 · Жалоба Кстати насчет умножений. Коэффициенты , они же все меньше 1. Т.е. можно в типе short int поставить точку после 15 разряда получим числа от -1 до ~1 Но для сишника они так и остануться -32768 +32767 Вообщем получается что то вроде этого short int a,b,r; long int c; с = a*b; r = c>>16; a и b - множители , r - произведение так вот , оптимально ли это по произодительности? -----добавлено------ Сегодня пропарился с 16 битной целочисленной арифметикой Получается не очень. Или переполнения или слишком много шумов в спектре. Можно конечно попробовать сдвигать точку вправо, на каждом шаге Стоит ли вообще заморачиваться? Реализуемо ли FFT в целых числах? Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eugeno 0 26 апреля, 2005 Опубликовано 26 апреля, 2005 · Жалоба > т.е. действительныю и мнимую чать k(jw), которые потом перемножаю > с коэффициентами Фурье и делаю обратное преобразование. А перемножение с комплексно-сопряжёнными коэффициентами делал? Сегодня пропарился с 16 битной целочисленной арифметикой Получается не очень. Или переполнения или слишком много шумов в спектре. Можно конечно попробовать сдвигать точку вправо, на каждом шаге Стоит ли вообще заморачиваться? Реализуемо ли FFT в целых числах? Конечно реализуемо. Коэффициенты-то конечно в диапазоне [-1; 1], но по ходу вычисления FFT происходит ещё и суммирование. Поэтому надо сигнал брать с запасом в log2(N) бит. 16 бит для сигнала в этом случае может оказаться мало. Если тема тебе ещё интересна, пиши, расскажу про некоторые ухищрения. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
-=Space=- 0 1 мая, 2005 Опубликовано 1 мая, 2005 · Жалоба 2Eugeno: идея "сдвигать точку вправо, на каждом шаге" удалась, алгоритм функционирует. После некоторых оптимизаций удалось довести скорость FFT1024 до ~300 мс на проце msp430f161 с 3,6864МГц кварцем. Подсчет модуля считается столькоже , но я его почти неоптимизировал. Пока на этом остановился. Сейчас переключился на разрюхивание TMS320v5509a Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Eugeno 0 4 мая, 2005 Опубликовано 4 мая, 2005 · Жалоба идея "сдвигать точку вправо, на каждом шаге" удалась, алгоритм функционирует.<{POST_SNAPBACK}> В зависимости от необходимой точности можно уменьшить битность коэффициентов, что позволит ускорить fft раза в полтора. А для 55-й серии должны быть готовые варианты fft. Для c6x-серии есть оптимизированные версии от TI и для версии с пошаговым сдвигом, и без онного, и с упрощёнными коэффициентами. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться