|
Целочисленные алгоритмы ЦОС, надо сформулировать правила |
|
|
|
 |
Ответов
|
Sep 19 2013, 17:41
|
Местный
  
Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961

|
QUOTE (Corner @ Sep 19 2013, 18:36)  Только умножение 32*32=32 - MULS Для пробразования размером 4К Х 16 этого хватит с избытком. N = 2 12 даёт рост 12 бит максимум.
|
|
|
|
|
Sep 24 2013, 20:57
|
Местный
  
Группа: Участник
Сообщений: 336
Регистрация: 7-03-07
Из: Петербург
Пользователь №: 25 961

|
QUOTE (Corner @ Sep 24 2013, 19:30)  16+16+12=44, как тут в 32 укладываться? А так и не делается, даже в флоатинг пойнт (24 Х 24 -> 48 но младшие биты округляются до 24. Даже Пентиум - и тот ошибается, потому что внутренне он свои 64 Х 64 -> 128, но потом таки округляет обратно до 64). Так и тут, 16 Х 16 -> 32, и округляются до 16. Умножения роста не дают, сложение может дать рост в 1 бит на одну фазу БПФ. В итоге 16 + 12 -> 28, укладывается в 32. Но на самом деле и так поступают довольно редко. Обычно фаза БПФ завершается сдвигом вправо на 1, т.е. масштабированием - с округлением, конечно. Соответственно, результат остаётся тем же Q16.15 что и исходные данные. Наихудший (в смысле потери точности) метод, это когда вместо масштабирования после бабочек, исходные данные "т..о" сдвигают вправо на число фаз БПФ перед преобразованием (N=256 - на 8, 4096 - на 12...), зато скорость вычислений существенно растёт, так что и так делают. Конечно, любое умножение делается с округлением, и сложение, если результат масштабируется, тоже. Жизнь несовершенна, но если знать в чём, то жить можно :) Если есть много времени, то можно данные обрабатывать, например, как Q64.32 =~ плавать в "безошибочном" уютном озере :)
Сообщение отредактировал AndrewN - Sep 24 2013, 21:55
|
|
|
|
Сообщений в этой теме
Zelepuk Целочисленные алгоритмы ЦОС Mar 6 2011, 07:22 _Anatoliy Цитата(Zelepuk @ Mar 6 2011, 09:22)
Это... Mar 6 2011, 08:35 Zelepuk Познавательное видео.
Но хотелось бы писать всё с... Mar 7 2011, 06:30 alexPec Цитата(Zelepuk @ Mar 7 2011, 09:30) Позна... Mar 7 2011, 10:07  Zelepuk Цитата(alexPec @ Mar 7 2011, 13:07) Переп... Mar 7 2011, 13:38   alexPec Цитата(Zelepuk @ Mar 7 2011, 16:38) когда... Mar 7 2011, 14:47 diwil Цитата(Zelepuk @ Mar 7 2011, 09:30) Иными... Mar 7 2011, 11:58  Zelepuk Цитата(diwil @ Mar 7 2011, 14:58) 1. floa... Mar 7 2011, 21:12   diwil Цитата(Zelepuk @ Mar 8 2011, 00:12) Никак... Mar 9 2011, 08:05 PetrovichKR ЦитатаХлчется вкуритсь "трюки" на С чтоб... Mar 8 2011, 04:31 Ruslan1 еще может интересно будет, насчет целочисленной ре... Mar 18 2011, 16:48 Zelepuk Цитата(Ruslan1 @ Mar 18 2011, 19:48) еще ... Mar 18 2011, 17:36 MSP430F Цитата(Ruslan1 @ Mar 18 2011, 20:48) еще ... Aug 22 2013, 14:14  Zelepuk Цитата(MSP430F @ Aug 22 2013, 18:14) Скаж... Aug 23 2013, 07:55   MSP430F Цитата(Zelepuk @ Aug 23 2013, 11:55) коне... Aug 23 2013, 08:52    Zelepuk Цитата(MSP430F @ Aug 23 2013, 12:52) Вопр... Aug 23 2013, 09:02     MSP430F Цитата(Zelepuk @ Aug 23 2013, 13:02) поче... Aug 23 2013, 09:16      Maverick Цитата(MSP430F @ Aug 23 2013, 12:16)
по... Aug 23 2013, 09:35      Corner Цитата(MSP430F @ Aug 23 2013, 13:16) Вот ... Aug 23 2013, 18:04       MSP430F Цитата(Corner @ Aug 23 2013, 22:04) С уче... Aug 26 2013, 12:44        Corner Цитата(MSP430F @ Aug 26 2013, 16:44) Как ... Aug 29 2013, 15:02      alex_os Цитата(MSP430F @ Aug 23 2013, 13:16) Вот ... Sep 18 2013, 19:26       Corner Цитата(alex_os @ Sep 18 2013, 23:26) можн... Sep 19 2013, 15:02       DASM Цитата(alex_os @ Sep 18 2013, 23:26) Ужас... Sep 19 2013, 15:21        Corner Цитата(DASM @ Sep 19 2013, 19:21) UMULL 3... Sep 19 2013, 15:28 Corner На ПЛИС БПФ 8192 точки 18 бит знаковое сносно дает... Aug 22 2013, 14:35 Zelepuk Вообще проще взять и проверить. Код есть. За полча... Aug 23 2013, 09:17     Corner Цитата(AndrewN @ Sep 25 2013, 00:57) А та... Sep 29 2013, 09:15 DASM Посмотрю завтра, с телефона неудобно. И что, в экс... Sep 19 2013, 15:44
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|