реклама на сайте
подробности

 
 
 
Reply to this topicStart new topic
> Алгоритм быстрого DCT, дискретное косинусное преобразование
Jibboom
сообщение Oct 14 2005, 16:35
Сообщение #1





Группа: Новичок
Сообщений: 1
Регистрация: 14-10-05
Пользователь №: 9 640



Встала задача реализовать алгоритм дискретного косинусного преобразования на контроллере на базе процессора PowerPC. Решающую роль играет производительность. В связи с этим возникло несколько вопросов.

1. Известны алгоритмы быстрого преобразования фурье, работающие с выборками размера 2^n. Существуют ли подобные алгоритмы для DCT?

2. Существуют ли целочисленные алгоритмы? Плавающая арифметика сильно бы замедлила вычисления.

3. Существуют ли инкрементальные алгоритмы? Через равные промежутки времени на контроллер поступают значения извне; и каждый раз нужно пересчитывать DCT. При этом самое старое значение выбрасывается из выборки, а с другой стороны к ней добавляется новое. Есть ли возможность как-то сократить вычисления в этом случае?

4. В результате DCT получается спектр, содержащий отрицательные частоты. Их рассмотрение не представляет никакого интереса. Можно ли как-нибудь модифицировать алгоритм, чтобы выходной спектр содержал только положительные частоты?

Буду благодарен тем, кто поделится опытом, приведёт ссылки на конкретные алгоритмы smile.gif


--------------------
If you have nothing to say, say nothing.
Go to the top of the page
 
+Quote Post
_pv
сообщение Nov 12 2005, 11:59
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 2 563
Регистрация: 8-04-05
Из: Nsk
Пользователь №: 3 954



Цитата(Jibboom @ Oct 14 2005, 22:35) *
1. Известны алгоритмы быстрого преобразования фурье, работающие с выборками размера 2^n. Существуют ли подобные алгоритмы для DCT?

2. Существуют ли целочисленные алгоритмы? Плавающая арифметика сильно бы замедлила вычисления.

3. Существуют ли инкрементальные алгоритмы? Через равные промежутки времени на контроллер поступают значения извне; и каждый раз нужно пересчитывать DCT. При этом самое старое значение выбрасывается из выборки, а с другой стороны к ней добавляется новое. Есть ли возможность как-то сократить вычисления в этом случае?

4. В результате DCT получается спектр, содержащий отрицательные частоты. Их рассмотрение не представляет никакого интереса. Можно ли как-нибудь модифицировать алгоритм, чтобы выходной спектр содержал только положительные частоты?

Буду благодарен тем, кто поделится опытом, приведёт ссылки на конкретные алгоритмы smile.gif


http://www.hpl.hp.com/techreports/96/HPL-96-03.html
еще на ftp.analog.com есть примеры реализации быстрого 2d dct 8х8, но на асме для blackfin'a.
3. imho каждый раз придется все пересчитывать.
4. отрицательных частот после dct вроде не должно получаться.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 30th June 2025 - 16:26
Рейтинг@Mail.ru


Страница сгенерированна за 0.02104 секунд с 7
ELECTRONIX ©2004-2016