|
Целочисленные алгоритмы ЦОС, надо сформулировать правила |
|
|
|
 |
Ответов
|
Aug 22 2013, 14:14
|
Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 20-05-13
Пользователь №: 76 911

|
Цитата(Ruslan1 @ Mar 18 2011, 20:48)  еще может интересно будет, насчет целочисленной реализации БПФ посмотрите вот этоВроде нареканий не было и чистый си, хоть куда лепится  И очень экономно подходит к используемой памяти, как RAM так и ROM. Используются 16-битные знаковые числа. Очень удобно напрямую данные с АЦП подсовывать, ну или после нормирования, чтобы максимально использовать все биты. Скажите, а можно этот код переделать на 4096 точек (там сейчас 1024) ? Ответьте, пожалуйста. Очень надо.
|
|
|
|
|
Aug 23 2013, 08:52
|
Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 20-05-13
Пользователь №: 76 911

|
Цитата(Zelepuk @ Aug 23 2013, 11:55)  конечно можно! За отдельную плату готов предоставить готовую реализацию на 4096 точек  P.S. Протестировано на MSP430F47197 в проекте счётчика электроэнергии. Вопрос такой. Какова точность целочисленного 32-разрядного БПФ (вся арифметика не должна выходить за пределы 32 разрядов) ? Если у меня данные честные 16-битные и я хочу получить на выходе спектр с диапазоном тоже в 90 дБ, то целочисленных вычислений в 32 разрядов для этого не достаточно, не так ли ?
|
|
|
|
|
Aug 23 2013, 09:16
|
Частый гость
 
Группа: Участник
Сообщений: 85
Регистрация: 20-05-13
Пользователь №: 76 911

|
Цитата(Zelepuk @ Aug 23 2013, 13:02)  почему недостатачно? как вы считаете? у меня всё было достатачно точно, единственное что: нужно данные масштабировать в нужных местах. Вот над этим я сейчас и бьюсь. Вот здесь человек пишет: " Перед автором стояла задача написать преобразование Фурье на 2048 точек при разрядности исходных данных 16 бит. Из-за отсутствия арифметического сопроцессора пришлось делать целочисленное преобразование, что создало некоторые трудности. При разрядности исходных данных 16 бит разрядность коэффициентов должна быть не менее 16, чтобы не происходило потери точности. Их произведение содержит 32 разряда. 2048 точек дают еще 11 дополнительных разрядов, а это значит, что в 32-разрядное процессорное слово промежуточные данные не помещаются. Вычисление каждой “бабочки” ведется с точностью 64 разряда, а результат округляется до 32 разрядов. " И как же можно тогда все посчитать в 32 разрядах без потери точности ?
|
|
|
|
|
Sep 18 2013, 19:26
|
Знающий
   
Группа: Свой
Сообщений: 521
Регистрация: 12-05-06
Пользователь №: 17 030

|
Цитата(MSP430F @ Aug 23 2013, 13:16)  Вот над этим я сейчас и бьюсь. Вот здесь человек пишет: " Перед автором стояла задача написать преобразование Фурье на 2048 точек при разрядности исходных данных 16 бит. Из-за отсутствия арифметического сопроцессора пришлось делать целочисленное преобразование, что создало некоторые трудности. При разрядности исходных данных 16 бит разрядность коэффициентов должна быть не менее 16, чтобы не происходило потери точности. Их произведение содержит 32 разряда. 2048 точек дают еще 11 дополнительных разрядов, а это значит, что в 32-разрядное процессорное слово промежуточные данные не помещаются. Вычисление каждой “бабочки” ведется с точностью 64 разряда, а результат округляется до 32 разрядов. " И как же можно тогда все посчитать в 32 разрядах без потери точности ? Ужас какой  ! При 16 бит входных данных сплошной long long. Вы определитесь для себя что такое "без потери точности". Можно сделать ФФТ с 16ти битными данными и 16ти битными поворачивающими множителями, можно сделать с 32 битными данными и 16 ти битными поворачивающими множителями, кажется АRMы умеют делать умножения 16 * 32 бит c сохранением старших 32 бит.
--------------------
ну не художники мы...
|
|
|
|
|
Sep 19 2013, 15:21
|
Гуру
     
Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493

|
Цитата(alex_os @ Sep 18 2013, 23:26)  Ужас какой  ! При 16 бит входных данных сплошной long long. Вы определитесь для себя что такое "без потери точности". Можно сделать ФФТ с 16ти битными данными и 16ти битными поворачивающими множителями, можно сделать с 32 битными данными и 16 ти битными поворачивающими множителями, кажется АRMы умеют делать умножения 16 * 32 бит c сохранением старших 32 бит. UMULL 32x32 = 64 полных во всех с индексом М армах
|
|
|
|
Сообщений в этой теме
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 Zelepuk Цитата(Ruslan1 @ Mar 18 2011, 19:48) еще ... Mar 18 2011, 17:36      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       Corner Цитата(alex_os @ Sep 18 2013, 23:26) можн... Sep 19 2013, 15:02        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 DASM Странно, дока говорит иное.Вы уверены, что это не ... Sep 19 2013, 15:34 Corner Цитата(DASM @ Sep 19 2013, 19:34) Странно... Sep 19 2013, 15:36  AndrewN QUOTE (Corner @ Sep 19 2013, 18:36) Тольк... Sep 19 2013, 17:41   Corner Цитата(AndrewN @ Sep 19 2013, 21:41) Для ... Sep 24 2013, 16:30    AndrewN QUOTE (Corner @ Sep 24 2013, 19:30) 16+16... Sep 24 2013, 20:57     Corner Цитата(AndrewN @ Sep 25 2013, 00:57) А та... Sep 29 2013, 09:15 DASM Посмотрю завтра, с телефона неудобно. И что, в экс... Sep 19 2013, 15:44
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|