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

 
 
> ДПФ/БПФ/ДКП на Cortex-M3 (1986ВЕ94Т), Вычисление БПФ на ARM
uwboy
сообщение Aug 19 2013, 10:39
Сообщение #1


Участник
*

Группа: Участник
Сообщений: 32
Регистрация: 19-08-13
Пользователь №: 77 977



Господа!
Есть необходимость решить задачу спектрального анализа квазипериодического сигнала. Частота дискретизации не менее 80 кГц (изначально 100 кГц, но возможно выбрать исходя из удобного числа отсчётов). Поступает сигнал непрерывно. Спектральный анализ проводится сначала приблизительный — на первой четверти выборки; затем точный — на всей выборке. Длина полной выборки 1 секунда. Для спектрального анализа следует выполнить одно из дискретных преобразований Фурье (как несведущий затрудняюсь определить).
Для ЦОС собираюсь использовать микросхему (1986ВЕ94Т, 1986ВЕ93Т или 1986ВЕ92Т). Предварительно планирую систему следующим образом. Буфер для исходных отсчётов собираюсь организовать на отдельных двух микросхемах (1645РУ4АУ): первая хранит первую четверть выборки и результаты ДПФ, вторая — остаток выборки. Перенаправлять вывод с внешнего АЦП собираюсь внешней же логикой. Сразу после захвата первой четверти отсчётов МК следует начать ДПФ на первой четверти выборки. Закончить следует быстрее, чем 250 мс (соответствует времени захвата четверти выборки), при этом должно остаться немного времени на анализ спектра (поиск пиков). По завершении захвата остатка выборки, МК выполняет ДПФ на первой четверти и остатке менее, чем за секунду.

Вопросы такие:
  1. Успеет МК выполнить ДПФ?
  2. Какой случай ДПФ более предпочтителен (вход — действительные целые, выход — амплитуды целые/дробные)?
  3. Значительно ли повысит быстродействие количество отсчётов являющееся степенью числа 2?
  4. Возможно ли использовать внутренний АЦП микросхемы 1986ВЕ94Т и единственную микросхему СОЗУ и копировать из внутреннего АЦП во внешнее СОЗУ отсчёты по прерываниям АЦП во время вычисления ДПФ? Не сильно ли это притормозит основную программу (ДПФ)?
  5. Значительно ли вырастет производительность ДПФ при использовании внутренней СОЗУ микросхемы 1986ВЕ94Т для части операций?


Поправьте, если я неправильно задаю вопрос или не в тот раздел обращаюсь. Поиск использовал, но просветления не достиг. Заранее спасибо, джентльмены!
Go to the top of the page
 
+Quote Post
 
Start new topic
Ответов
Golikov A.
сообщение Aug 19 2013, 11:01
Сообщение #2


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



А вы с преобразование Фурье хорошо знакомы?

там есть одна засадка что результат дается либо прореженный по частоте либо прореженный по времени

если вы передадите отсчеты подряд 0 1 2 3 4 5 6 7 , то значения по частотам получите в битово - реверсивном порядке, то есть
0 4 2 6 1 5 3 7, где в каждой ячейке будет стоять амплитуда спектра частоты выборки делить на 2 в степени индекс. как то так.. При этом в 0 ячейке лежит постоянка с кривой амплитудой.

Если хотите частоты нормальные, то надо так же загнуть первоначальные отсчеты. Именно поэтому в ДСП что рассчитаны на преобразование фурье есть спец модуль который железным образом делает такую индексацию.


Для ускорения спектрального анализа надо применять БПФ - быстрое преобразование фурье, самое распространенное это так называемая схема бабочка, она требует количество входных отсчетов равных степени 2, потому ответ да степень 2 серъезно ускорит процесс.

Потом есть еще проблема при вырезании четверти сигнала, на концах вы получите обрезанный спектр, то есть локализцете сигнал во времянной области, а принцип неопределенности Гизенберга гласит что при этом вы получите бесконечный спектр, другими словами вырезав часть сигнала и посчитав спектр вы получите спектр чего угодно, но не исходного сигнала.

Для устранения проблем используют оконное преобразование фурье, оно немного гадит амплитуду постоянки, но в целом это можно учесть. Весь входной сигнал надо умножить на функцию возрастающую от 0 до 1 и обратно спадающую, возрастание и падение плавное, по какой нить экспоненте.

Вообщем в вашей концепции кроме выбора микросхем есть еще куча математических заморочек, считать придется во флотах, а то и даблах, целочисленных вариантов я что-то не припоминаю, ну кроме варианта ооочень больших целых типа бит на 128, которые точнее флота. И счета надо очень много, так что...
Go to the top of the page
 
+Quote Post
prig
сообщение Aug 20 2013, 08:35
Сообщение #3


Знающий
****

Группа: Свой
Сообщений: 869
Регистрация: 30-01-08
Из: СПб
Пользователь №: 34 595



Цитата(Golikov A. @ Aug 19 2013, 15:01) *
А вы с преобразование Фурье хорошо знакомы?
...
Вообщем в вашей концепции кроме выбора микросхем есть еще куча математических заморочек, считать придется во флотах, а то и даблах, целочисленных вариантов я что-то не припоминаю, ну кроме варианта ооочень больших целых типа бит на 128, которые точнее флота. И счета надо очень много, так что...


А Вы сами хорошо знакомы?

И откуда требования к точности?
Целочисленные(с фиксированной точкой) 32-битные варианты, включая варианты с групповой плавающей точкой, более чем достаточны для подавляющего числа приложений. Во всяком случае, для 64К БПФ с 32-битной групповой плавающей точкой надо ещё поискать тот сигнал, что бы точность вычисления начала сказываться.

Тот, кто не умеет работать с целочисленными вычислениями, или производительность/стоимость не слишком важна, использует флоат. Остальные используют фикс. точку.
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 20 2013, 11:53
Сообщение #4


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата(prig @ Aug 20 2013, 12:35) *
А Вы сами хорошо знакомы?

И откуда требования к точности?
Целочисленные(с фиксированной точкой) 32-битные варианты, включая варианты с групповой плавающей точкой, более чем достаточны для подавляющего числа приложений. Во всяком случае, для 64К БПФ с 32-битной групповой плавающей точкой надо ещё поискать тот сигнал, что бы точность вычисления начала сказываться.

Тот, кто не умеет работать с целочисленными вычислениями, или производительность/стоимость не слишком важна, использует флоат. Остальные используют фикс. точку.



Я считал в даблах меня ресурсы не жали.
интуитивно казалось что 32 битных не хватит, но если говорите что хватает, ну и хорошо...
Go to the top of the page
 
+Quote Post
DASM
сообщение Aug 20 2013, 19:14
Сообщение #5


Гуру
******

Группа: Свой
Сообщений: 3 644
Регистрация: 28-05-05
Пользователь №: 5 493



Цитата(Golikov A. @ Aug 20 2013, 15:53) *
Я считал в даблах меня ресурсы не жали.
интуитивно казалось что 32 битных не хватит, но если говорите что хватает, ну и хорошо...

Вы цену и производительность фиксед пойнт и дабла сравнили?
Go to the top of the page
 
+Quote Post
Golikov A.
сообщение Aug 21 2013, 03:46
Сообщение #6


Гуру
******

Группа: Свой
Сообщений: 4 256
Регистрация: 17-02-06
Пользователь №: 14 454



Цитата(DASM @ Aug 20 2013, 23:14) *
Вы цену и производительность фиксед пойнт и дабла сравнили?


нет.
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- uwboy   ДПФ/БПФ/ДКП на Cortex-M3 (1986ВЕ94Т)   Aug 19 2013, 10:39
|- - uwboy   Цитата(Golikov A. @ Aug 19 2013, 15:01) А...   Aug 19 2013, 12:42
||- - Aleksandr Baranov   Цитата(uwboy @ Aug 19 2013, 08:42) Резуль...   Aug 19 2013, 20:38
|- - DASM   Цитата(Golikov A. @ Aug 19 2013, 15:01) А...   Aug 20 2013, 04:01
|- - MSP430F   Всем доброго времени суток! Не балует гугл отв...   Aug 21 2013, 07:22
|- - Ruslan1   Цитата(MSP430F @ Aug 21 2013, 10:22) У ме...   Aug 22 2013, 11:06
|- - uwboy   Цитата(Ruslan1 @ Aug 22 2013, 15:06) сишн...   Aug 22 2013, 11:54
|- - Ruslan1   Цитата(uwboy @ Aug 22 2013, 14:54) Прямо ...   Aug 22 2013, 14:46
- - Aleksandr Baranov   Цитата(uwboy @ Aug 19 2013, 06:39) Господ...   Aug 19 2013, 12:21
- - Golikov A.   скажу что нужен сопроцессор, ПЛИС какую нибудь, и ...   Aug 19 2013, 13:27
- - Lmx2315   QUOTE (uwboy @ Aug 19 2013, 14:39) Законч...   Aug 19 2013, 15:08
|- - uwboy   Цитата(Lmx2315 @ Aug 19 2013, 19:08) ..ес...   Aug 20 2013, 07:16
- - Alex11   Про степень 2, что тут говорили - это относится не...   Aug 19 2013, 21:31
- - Golikov A.   я не говорил только, но исходил из того что дабл н...   Aug 20 2013, 04:55
- - uwboy   Спасибо, господа, за ваши советы. Уже прочёл про п...   Aug 20 2013, 12:02
- - _pv   http://www.embeddedsignals.com/ARM.htm там бенчмар...   Aug 20 2013, 20:03
- - Golikov A.   как мне тут указали несколькими постами выше, что ...   Aug 21 2013, 07:23
|- - MSP430F   Цитата(Golikov A. @ Aug 21 2013, 11:23) к...   Aug 21 2013, 08:14
|- - prig   Цитата(MSP430F @ Aug 21 2013, 12:14) Я не...   Aug 21 2013, 17:22
|- - _pv   Цитата(prig @ Aug 22 2013, 00:22) А вот с...   Aug 21 2013, 17:41
|- - MSP430F   Цитата(prig @ Aug 21 2013, 21:22) Вообще-...   Aug 21 2013, 17:45
|- - _pv   Цитата(MSP430F @ Aug 22 2013, 00:45) Вот ...   Aug 21 2013, 18:21
||- - MSP430F   Цитата(_pv @ Aug 21 2013, 22:21) были дан...   Aug 22 2013, 07:01
||- - prig   Цитата(MSP430F @ Aug 22 2013, 11:01) Я не...   Aug 22 2013, 08:52
||- - Golikov A.   Цитата(MSP430F @ Aug 22 2013, 11:01) Я не...   Aug 22 2013, 10:17
||- - MSP430F   Кто-нибудь может привести проверенный рабочий код ...   Aug 22 2013, 11:11
||- - Aleksandr Baranov   Цитата(MSP430F @ Aug 22 2013, 07:11) Кто-...   Aug 22 2013, 13:09
||- - prig   Цитата(MSP430F @ Aug 22 2013, 15:11) И чт...   Aug 22 2013, 13:18
|||- - MSP430F   Цитата(prig @ Aug 22 2013, 17:18) Вообще ...   Aug 22 2013, 14:00
|||- - prig   Цитата(MSP430F @ Aug 22 2013, 18:00) Я им...   Aug 22 2013, 16:20
|||- - Golikov A.   Цитата(prig @ Aug 22 2013, 20:20) Любой к...   Aug 23 2013, 05:32
||||- - prig   Цитата(Golikov A. @ Aug 23 2013, 09:32) ....   Aug 23 2013, 09:46
||||- - Golikov A.   Цитата(prig @ Aug 23 2013, 13:25) Знаете,...   Aug 23 2013, 09:53
|||- - MSP430F   Цитата(prig @ Aug 22 2013, 20:20) Любой к...   Aug 23 2013, 08:24
||- - Maverick   Цитата(MSP430F @ Aug 22 2013, 14:11) Кто-...   Aug 23 2013, 10:55
||- - MSP430F   Цитата(Maverick @ Aug 23 2013, 14:55) пос...   Aug 23 2013, 11:19
||- - prig   Цитата(MSP430F @ Aug 23 2013, 15:19) То е...   Aug 23 2013, 11:32
|||- - MSP430F   Цитата(prig @ Aug 23 2013, 15:32) Не исхо...   Aug 23 2013, 11:57
|||- - MSP430F   Цитата(prig @ Aug 23 2013, 15:32) Если ...   Aug 23 2013, 15:43
|||- - Maverick   Цитата(MSP430F @ Aug 23 2013, 18:43) еще...   Aug 23 2013, 18:11
||- - Maverick   Цитата(MSP430F @ Aug 23 2013, 14:19) Так ...   Aug 23 2013, 12:47
||- - MSP430F   Цитата(Maverick @ Aug 23 2013, 16:47) а э...   Aug 23 2013, 13:22
|- - Golikov A.   Цитата(MSP430F @ Aug 21 2013, 21:45) Вот ...   Aug 22 2013, 05:52
- - Golikov A.   32 инт это от +- 2 147 483 648 соответственно можн...   Aug 21 2013, 10:46
- - Alex11   По поводу дополнительной обработки спектра после Ф...   Aug 22 2013, 22:20
- - prig   -Обращаться к программным кодам ADI не обязательно...   Aug 23 2013, 11:09
- - Golikov A.   Наконец то понял что куда сдвигается... то есть е...   Aug 23 2013, 12:16
- - Golikov A.   это если вы 16 бит умножая на 16 бит, пытаетесь н...   Aug 23 2013, 17:45
|- - MSP430F   Цитата(Golikov A. @ Aug 23 2013, 21:45) э...   Aug 25 2013, 19:53
|- - Golikov A.   Цитата(MSP430F @ Aug 25 2013, 23:53) И я ...   Aug 26 2013, 04:46
- - prig   Ну что, все, кто "ниасилил" фикс. точку,...   Aug 30 2013, 10:38
- - Golikov A.   Ну или опять кто-то не понятно объяснил Я имел в ...   Aug 30 2013, 10:48
- - prig   Цитата(Golikov A. @ Aug 30 2013, 14:48) Н...   Aug 30 2013, 11:34


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

 


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


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