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

 
 
> ДПФ/БПФ/ДКП на 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
Ответов
Lmx2315
сообщение Aug 19 2013, 15:08
Сообщение #2


отэц
*****

Группа: Свой
Сообщений: 1 729
Регистрация: 18-09-05
Из: Москва
Пользователь №: 8 684



QUOTE (uwboy @ Aug 19 2013, 14:39) *
Закончить следует быстрее, чем 250 мс (соответствует времени захвата четверти выборки), при этом должно остаться немного времени на анализ спектра (поиск пиков).

..если пиков немного то лучше отказаться от Фурье и считать Алгоритм Гёрцеля.


--------------------
b4edbc0f854dda469460aa1aa a5ba2bd36cbe9d4bc8f92179f 8f3fec5d9da7f0
SHA-256
Go to the top of the page
 
+Quote Post
uwboy
сообщение Aug 20 2013, 07:16
Сообщение #3


Участник
*

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



Цитата(Lmx2315 @ Aug 19 2013, 19:08) *
..если пиков немного то лучше отказаться от Фурье и считать Алгоритм Гёрцеля.

Надо наперёд знать частоту. Мне наперёд частоты пиков неизвестны, даже приблизительно. А вот комбинировать с неточным БПФ вполне здраво: сначала вычислить приблизительное положение пиков через БПФ на четверти выборки, а затем вычислить найти точные частоты пиков через Алгоритм Гёрцеля.

Цитата(Aleksandr Baranov @ Aug 20 2013, 00:38) *
Прямоугольное окно сильно испортит картину.

Лишние регулярные составляющие будут?

Цитата(Aleksandr Baranov @ Aug 20 2013, 00:38) *
Какой тогда смысл в таком высоком разрешении?

Частоту измерять.

Цитата(Aleksandr Baranov @ Aug 20 2013, 00:38) *
А сигнал, случайно не узкополосный?

Сумма нескольких узкополосных, во всех случаются периодические псевдослучайные фазовые броски.

Цитата(Aleksandr Baranov @ Aug 20 2013, 00:38) *
Если да, то частоту дискретизации можно сильно уменьшить.

Возможно, верхняя частота исследуемого сигнала может лежать в диапазоне от пары десятков герц, до 15 кГц. А вот оценить частоту нужно с точностью до 1 Гц.

Цитата(Aleksandr Baranov @ Aug 20 2013, 00:38) *
Чтобы оценить время выполнения, можно зарядить 65536 - точечное БПФ на какой-нибудь мощной PC и засечь время.

Надо зарядить его раз сто подряд, чтобы погрешность оценки времени меньше была. Попробую.

Цитата(Alex11 @ Aug 20 2013, 01:31) *
Про степень 2, что тут говорили - это относится не к частоте дискретизации, а к количеству отсчетов в окне.

Ну, да. А у меня длина маленького окна 250 мс, а большого 1 секунда.

Цитата(Alex11 @ Aug 20 2013, 01:31) *
Здесь от Вас уже все добиваются - что Вы хотите анализировать и найти: какая нижняя частота сигнала, которая Вас интересует?

Допустим, 21 герц, но нужно знать, что это не 20 Гц и не 22 Гц, с вероятностью 50% и более.

Цитата(Alex11 @ Aug 20 2013, 01:31) *
Выбор окна зависит от задачи - какие у Вас пики и что требуется получить в результате анализа - разрешение по частоте или анализ амплитуд гармоник.

Высокое разрешение по частоте строго обязательно. По амплитуде желательно, ибо нужно будет искать пики.

Цитата(Alex11 @ Aug 20 2013, 01:31) *
возможность определить частоту пика с точностью 1 Гц

Именно это. Причём нужно это как можно быстрее. Темп выдачи составляет одну секунду. Начальное запаздывание на секунду мне простительно.

Цитата(Alex11 @ Aug 20 2013, 01:31) *
Если пики отстоят друг от друга достаточно далеко, то можно обойтись гораздо меньшей кровью и подсчитать положение пика дополнительной обработкой спектра после Фурье.

Допустим, что соседние пики отстоять могут на 3 Гц. Кстати, буду очень признателен, если расскажете мне о «дополнительной обработке спектра после Фурье».

Сообщение отредактировал uwboy - Aug 20 2013, 07:17
Go to the top of the page
 
+Quote Post

Сообщений в этой теме
- uwboy   ДПФ/БПФ/ДКП на Cortex-M3 (1986ВЕ94Т)   Aug 19 2013, 10:39
- - Golikov A.   А вы с преобразование Фурье хорошо знакомы? там ...   Aug 19 2013, 11:01
|- - 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
|- - prig   Цитата(Golikov A. @ Aug 19 2013, 15:01) А...   Aug 20 2013, 08:35
|- - Golikov A.   Цитата(prig @ Aug 20 2013, 12:35) А Вы са...   Aug 20 2013, 11:53
||- - DASM   Цитата(Golikov A. @ Aug 20 2013, 15:53) Я...   Aug 20 2013, 19:14
||- - Golikov A.   Цитата(DASM @ Aug 20 2013, 23:14) Вы цену...   Aug 21 2013, 03:46
|- - 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
- - 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 Текстовая версия Сейчас: 22nd August 2025 - 22:31
Рейтинг@Mail.ru


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