|
DSP на STM32F4 |
|
|
|
Aug 25 2016, 07:59
|
Местный
  
Группа: Участник
Сообщений: 491
Регистрация: 18-05-11
Пользователь №: 65 102

|
Здравствуйте! Помогите разобраться с DSP на STM32F429. Никогда раньше этой темой не занимался, не понимаю в какую сторону начинать копать. Задача такая: мне нужно генерировать белый шум, фильтровать его разными фильтрами и выдавать на аудио ЦАП (48 кГц). Фильтры нужны режекторный второго порядка и полосовой, четвертого порядка, с БИХ. Фильтры я посчитал в матлабе, приготовился уже реализовывать в целочисленной арифметике. Но в этом процессоре есть блок вычислений с плавающей точкой. Я с этим никогда дела не имел. В референс мануале описание этого блока не нашел. Есть некая библиотека CMSIS DSP, в которой реализованы фильтры, но я так понял она мне не подойдет, поскольку там какая то странная структура реализованного IIR фильтра и работает он с какими то блоками данных. А мне надо просто сгенерировать Х, посчитать Y, запомнить Х-1 и Y-1 для следующего отчета. Скажите, какое преимущество мне даст работа с float и вообще, могу ли я так просто, без всяких библиотек взять и расписать свои фильтры во float?
|
|
|
|
|
 |
Ответов
|
Aug 26 2016, 06:04
|
Местный
  
Группа: Участник
Сообщений: 491
Регистрация: 18-05-11
Пользователь №: 65 102

|
Цитата(sigmaN @ Aug 25 2016, 21:26)  Что нужно знать про арифметику с плавающей запятой https://habrahabr.ru/post/112953/да, я читал эту статью Цитата(sigmaN @ Aug 25 2016, 21:26)  Особо полезно прочесть вот эту часть 4. Подводные камни в арифметике с плавающей запятой а в чем польза? какой вывод можно сделать из этого пункта? не считать фильтры во float-ах?
|
|
|
|
|
Aug 26 2016, 06:18
|
Гуру
     
Группа: Свой
Сообщений: 2 724
Регистрация: 14-05-07
Из: Ярославль, Россия
Пользователь №: 27 702

|
Цитата(Atlantis- @ Aug 26 2016, 09:04)  а в чем польза? какой вывод можно сделать из этого пункта? не считать фильтры во float-ах? Считать, но правильно. Зачастую фильтрация - это сложение с накоплением произведений пар чисел. Нужно все перемножить. Полученные значения расставить по возрастанию. Суммировать от меньшего к большему. Так ошибка будет минимальна.
|
|
|
|
|
Aug 26 2016, 09:37
|
Местный
  
Группа: Участник
Сообщений: 491
Регистрация: 18-05-11
Пользователь №: 65 102

|
Цитата(adnega @ Aug 26 2016, 09:18)  Считать, но правильно. Зачастую фильтрация - это сложение с накоплением произведений пар чисел. Нужно все перемножить. Полученные значения расставить по возрастанию. Суммировать от меньшего к большему. Так ошибка будет минимальна. Не понял, как суммировать от меньшего к большему? Коэффициенты фильтра у меня отличаются в два раза, а входной сигнал - рандомный. Знак тоже не угадаешь. Или что мне сначала сравнивать произведения между собой, а потом складывать?
|
|
|
|
Сообщений в этой теме
Atlantis- DSP на STM32F4 Aug 25 2016, 07:59 adnega Цитата(Atlantis- @ Aug 25 2016, 10:5... Aug 25 2016, 08:24 Atlantis- Цитата(adnega @ Aug 25 2016, 11:24) Я воо... Aug 25 2016, 08:45  aaarrr Цитата(Atlantis- @ Aug 25 2016, 11:4... Aug 25 2016, 08:50   Atlantis- Цитата(aaarrr @ Aug 25 2016, 11:50) Ничег... Aug 25 2016, 09:30    aaarrr Цитата(Atlantis- @ Aug 25 2016, 12:2... Aug 25 2016, 09:31    adnega Цитата(Atlantis- @ Aug 25 2016, 12:3... Aug 25 2016, 10:40     Atlantis- Цитата(adnega @ Aug 25 2016, 13:40) Есть ... Aug 25 2016, 11:46      DASM Цитата(Atlantis- @ Aug 25 2016, 14:4... Aug 25 2016, 11:53       Atlantis- Цитата(DASM @ Aug 25 2016, 14:53) Насколь... Aug 25 2016, 12:04      adnega Цитата(Atlantis- @ Aug 25 2016, 14:4... Aug 25 2016, 15:32 DASM Так у флоат 23 бита мантиссы, как оно может быть м... Aug 25 2016, 12:31 Atlantis- Цитата(DASM @ Aug 25 2016, 15:31) Так у ф... Aug 25 2016, 12:36 DASM Понятно. Математик из меня никакой, может просто п... Aug 25 2016, 12:40 Atlantis- Цитата(DASM @ Aug 25 2016, 15:40) Понятно... Aug 25 2016, 13:09 DASM Не знаю что и сказать, SystemVue позволяет считать... Aug 25 2016, 13:35 Atlantis- Цитата(DASM @ Aug 25 2016, 16:35) Не знаю... Aug 25 2016, 13:48  DASM Цитата(Atlantis- @ Aug 25 2016, 16:4... Aug 25 2016, 13:53 khach Начинать писание своего фильтра надо с того что ... Aug 26 2016, 08:06 Atlantis- Цитата(khach @ Aug 26 2016, 11:06) Начина... Aug 26 2016, 11:41 sigmaN ЦитатаНачинать писание своего фильтра надо с того ... Aug 26 2016, 09:44 sigmaN https://www.keil.com/pack/doc/CMSIS/DSP/htm...scad... Aug 26 2016, 16:41 Atlantis- Цитата(sigmaN @ Aug 26 2016, 19:41) https... Aug 27 2016, 16:25 sigmaN Читаем описание функци, реализует она следующее:
Ц... Aug 28 2016, 08:37 Atlantis- Аааа, вон оно как...понял, спасибо большое!
По... Aug 29 2016, 11:56 Atlantis- Порылся в интернете, на последний вопрос вроде наш... Aug 29 2016, 14:24 sigmaN Цитата1) результат вычислений получается float, дл... Aug 29 2016, 19:11 Atlantis- Цитата(sigmaN @ Aug 29 2016, 22:11) Корре... Aug 30 2016, 07:22 sigmaN ЦитатаНашел в интернете округление - просто прибав... Aug 30 2016, 11:15 ig_z QUOTE (sigmaN @ Aug 30 2016, 14:15) Ну ка... Aug 30 2016, 12:00 sigmaN Не знал, не знал. Ну тогда даташит на ЦАП в помощь... Aug 30 2016, 12:05 Atlantis- Вот я смотрю даташиты на оба ЦАП и не нахожу даже ... Aug 30 2016, 14:02 Atlantis- Нашел ответ на свой вопрос
ЦитатаThe AD1852 accept... Aug 31 2016, 12:16 sigmaN Ну вот, значит отрицательные числа представлены та... Sep 1 2016, 10:24 ig_z QUOTE (sigmaN @ Sep 1 2016, 13:24) если B... Sep 1 2016, 17:34 Atlantis- Сделал полосовые фильтры, проверил - все нормально... Sep 5 2016, 13:51 Atlantis- Как то так получается, что при подаче на вход реже... Sep 6 2016, 07:45
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|