Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры ARM, Cortex, STM32
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.99/75: Рейтинг темы: голосов - 75, средняя оценка - 4.99
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693

Вейвлеты на STM32F4

27.05.2013, 12:20. Показов 14479. Ответов 23
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Почему я не могу найти информацию во вейвлет преобразованию (обработке сигналов) на STM32F4? Исходный сигнал int16 с частотой семплирования 100Гц. Смогу в реальном времени обработать на STM32F407?
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
27.05.2013, 12:20
Ответы с готовыми решениями:

Вейвлеты
Уже совсем с ними запутался. Для аналитических функций вроде понятно.. А от как бить с дискретным набором данных, когда функция...

Вейвлеты
Всем привет, прошу помощи, так как не получается сделать вейвлетное преобразование Имеется синус 3-х герц c частотой дискретизации...

Вейвлеты
Вопрос, наверное, глупый, но с вейвлетами до этого не сталкивалась. Возникла необходимость в их применении к изображениям, но времени...

23
1 / 1 / 0
Регистрация: 08.03.2013
Сообщений: 76
27.05.2013, 15:31
какая именно обработка?
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
27.05.2013, 15:53
Цитата Сообщение от Smytiidytyom
какая именно обработка?
да без разницы, 100Гц это больше милиона тактов на отсчёт на 168МГц. очень сильно постараться надо чтобы не хватило.
0
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
27.05.2013, 19:38
Цитата Сообщение от Smytiidytyom
какая именно обработка?
Конкретно, фильтрация (De-moysi). Сейчас в Matlabe моделирую для поиска оптимальных коэффициентов.
0
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 87
25.08.2013, 03:34
Я тоже ищу информацию о фильтрации на ядре кортекс. Пробовал испотльзовать функции из библиотек, сам писал фильтры на МАК инструкциях, писал в ЛОБ - время отличаеться максимум на порядок... Уже мясяц ищу нужную информацию.. Если вы чтото нарыли - поделитесь ))
0
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 214
25.08.2013, 06:23
Народ, в чем проблема? 407 имеет быстрый FPU, считает ftoot не медленнее int, идут обычные алгоритмы с п\з и быстро. Недостаток тока отсутствие аппаратных sin cos и т.п. Хорошо что корень аппаратный.
А фильтрацию и на более слабых 103 выполняется в лет на килогерцах отчетов и в инете есть проект.
Вот для ленивых искать - http://itistro.luxmentis.ru/?p=975
0
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
25.08.2013, 22:28
Цитата Сообщение от moksir
http://itistro.luxmentis.ru/?p=975
Спасибо тебе добрый человек! Да прибудет с тобой великая сила. То что нужно.
0
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 87
26.08.2013, 00:01
Статья полезная НО ОПЯТЬ ЖЕ !!!!!
ТАМ ОПИСАНО КАК РЕАЛИЗОВАТЬ ФИЛЬТР В ЛОБ !!!!! БЕЗ ИСПОЛЬЗОВАНИЯ ДСП ВОЗМОЖНОСТЕЙ ПРОЦЕСОРА ИЛИ ХОТЯ БЫ ФУНКЦИЙ ФИЛЬТРАЦИИ ИЗ БИБЛИОТЕКИ CMIS.
0
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 214
26.08.2013, 06:33
Это какие еще дсп возможности в кортексе? Нет там такого, только FPU и то с ограниченными мат. функциями, правда быстрый. Вообще уже при такой производительности, какие то спец команды не нужны. Так же в CMIS нет ни каких библиотек DSP, есть отдельный набор. Фокус в том, что использование их не оптимально по скорости. Например, сторонняя функция CFFT с п\з на массиве комплексных чисел 2048 выполняется около 300000 тактов, что при 168Мгц занимает около 2мс, а из библиотеке, уже не помню, но гораздо дольше.
При использовании F407 нужно брать мат. обработку по стандартным алгоритмам, иначе какой смысл использовать этот камень, который по производительности не хуже pentium 166 во всех смыслах?
Так же мне не понятна проблема с фильтрацией, это же обычные несколько умножений в цикле, сложнее с расчетом коэффициентов, там дольше, но тоже не смертельно.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
26.08.2013, 13:39
Цитата Сообщение от moksir
Это какие еще дсп возможности в кортексе?
МАС-команды считаются DSPшными. MAC в STM32F4xx есть. Немного, но всё-таки.

SIMD-команды - хотя официально и не "причислены к лику" DSPшных, но imho сильно помогают вытянуть ещё больше производительности.
0
0 / 0 / 0
Регистрация: 01.03.2012
Сообщений: 87
26.08.2013, 15:13
Уважаимый moksir DSP инструкции это одна из фишек 4-й серии.
Идем в описание CMSIS-DSP, раздел Filtering Functions, и там 14 реализаций и вариантов фильтров, например Finite Imputsi Rysponse (FIR) Filters (фильтр с конечной импульсной х-кой).
По идее они должны быть реализованы через МАС функции, но так ли это, непонятно. Я замерял время выполнения фильтрации написаной мною в лоб функцией (умножение с накоплением), и функциэй из библиотеки - библиотечная эфективнее по времени в 2-4 раза ...
Написал функцию фильтрации с использованием МАС инструкций - __SMLALD (умножение с накоплением, думал взлечу)... Так нет... большого выграша (хотябы порядок) не получил, а очень надо.
Кто работал с МАС инструкциямы, отозвитесь!!!
0
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
26.08.2013, 16:42
Добрый день!
Сейчас в MatLabе запускаю след код, который фильтрует сигнал делая декомпозицию:
Code
1
2
3
4
5
6
t = 0:0.001:6
syk_sin = sin(t);
syk  = awgn(syk_sin,10,measured);
lev = 7;
syk_filt = wden(syk,heursure,s,one,lev,db7);
plot(t,syk,-,t,syk_filt,-o);
Подскажите как это в С перевести.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
26.08.2013, 17:15
Цитата Сообщение от __bt__
Подскажите как это в С перевести.
Что-то типа этого:
Code
1
2
3
4
5
6
t = convirt_time(0, 0.001, 6);
syk_sin = sin(t);
syk  = awgn(syk_sin, 10, "measured");
lev = 7;
syk_filt = wden(syk, "heursure", s, "one", lev, "db7");
plot(t, syk, -, t, syk_filt, "-o");
А в чём подвох?
0
0 / 0 / 0
Регистрация: 16.01.2011
Сообщений: 21
26.08.2013, 17:35
Цитата Сообщение от Kooddjomp
Кто работал с МАС инструкциямы, отозвитесь!!!
Примерно полтора года назад питался сделать FIR на F4. Тут http://itistromyx.ru/forum/ind... t&p=991912 выкладывал ссилок где описаны методы оптимизации алгоритма.
Сам в то время, кое какие результаты постиг, однако затеел другой проект, идея была позаброшена.
Писал несколько варианта, на С, на асме, сравнивал время выполнения.
В основном самая медленая операция ето считывание/запис значения в память. Пробовал переменые запихнуть с CCM, но результат о скорости выполнения уже не помню.
Могу поделится наработками, но код не причесан, без коментарии, даже сам трудно разбираюсь. Среда Keil.
0
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
26.08.2013, 17:42
Цитата Сообщение от OtyxPM
А в чём подвох?
Чего-то не хватает.
0
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 214
26.08.2013, 18:03
[quote="-JommS-"] В память ССМ работает с той же скоростью. что и остальная, но по отдельной шине, соответственно если работает интенсивно DMA с основной памятью, то ядро при обращении к ССМ не тормозит.
В целом конечно, есть декларация DSP для M4F но по моему мнению не очевидна ее преимущество, может в какито особо тяжелых случаях и на asm, но пока это напишешь куча времени пройдет.
Я почему так уверенно заявляю, т.к. писал несколько прошивок со сложными ДСП функциями, после кучи всяких тестов решил, что само оптимально это писать на Си оптимизируемые стандартные алгоритмы (есть в инете) с п\з, расчетные буферы в ССМ размещать.
0
1 / 1 / 0
Регистрация: 11.01.2013
Сообщений: 5,479
26.08.2013, 18:26
Цитата Сообщение от __bt__
Цитата Сообщение от OtyxPM
А в чём подвох?
Чего-то не хватает.
Чего? Исходников сишной реализации матлабовскких функций?
0
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
26.08.2013, 19:53
Цитата Сообщение от OtyxPM
Чего? Исходников сишной реализации матлабовскких функций?
С одной стороны знаний. Я самоучка - контроллеры, программирование, MatLab, ЦОС. Получить Сишный код можно и из матлаба, но функцию wden не переводит в С. Сейчас буду пробовать dwt.
0
0 / 0 / 0
Регистрация: 21.11.2012
Сообщений: 1,400
27.08.2013, 03:19
Цитата Сообщение от __bt__
Цитата Сообщение от OtyxPM
Чего? Исходников сишной реализации матлабовскких функций?
С одной стороны знаний. Я самоучка - контроллеры, программирование, MatLab, ЦОС. Получить Сишный код можно и из матлаба, но функцию wden не переводит в С. Сейчас буду пробовать dwt.

Простейшие вейвлеты реализуются элементарно. Понятное дело, во всяких GSL они уже есть, но для МК GSL не подходит.
Гугол в помощь! На просторах интернета полным-полно реализаций вейвлет-фильтрации для простых вейвлетов. Хаар, например, вообще рекурсивно реализуется очень просто.
0
1 / 1 / 0
Регистрация: 09.02.2012
Сообщений: 693
27.08.2013, 11:40
Правильно ли я понимаю алгоритм обработки сигнала:
1. Получаю коэффициенты вейвлета добеши.
2. Делаю dwt с этими коэффициентами. Получаю 2 рядя коэффициентов НЧ и ВЧ.
3. Подставляю НЧ коэффициенты в dwt, т.е. повторяю пункт 2 6 раз.
4. По окончательно полученным НЧ коэффициентам делаю inverse DWT и получаю нужный мне сигнал.
?

Или по другому:
1. Беру коэффициенты вейлета добеши для 7 уровня
2. Делаю свёртку сигнала с коэффициентами.
?
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
27.08.2013, 11:40
Помогаю со студенческими работами здесь

Вейвлеты в Mathcad
Ребята,помогите, пожалуйста! У меня есть гармоническая функция и вейвлет "мексиканская шляпа". График этих функция отдельно...

Требуется изучить вейвлеты. Нужна доступная литература
Требуется изучить вейвлеты. Мною были прочитаны книги: Юкио Сато. Обработка сигналов. Первое знакомство (начинающим) Стивен В.Смит....

Получить спектр аудио сигнала используя вейвлеты
Кто знает, как получить значения спектра аудиосигнала, используя wavelet. У меня есть амплитудные значения. Но я не знаю, как получить...

Stm32f4 + CAN
Здравствуйте, форумчане! При настройке CAN интерфейса возникли проблемы с прерываниями. Каким образом, с помощью прерываний, мне...

Stm32f4 + CAN
Здравствуйте, форумчане! При настройке CAN интерфейса возникли проблемы с прерываниями. Каким образом, с помощью прерываний, мне...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
SDL3 для Web (WebAssembly): Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 12.02.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами и вызывать обработчики событий столкновения. . . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL_LoadPNG (без SDL3_image)
8Observer8 11.02.2026
Содержание блога Библиотека SDL3 содержит встроенные инструменты для базовой работы с изображениями - без использования библиотеки SDL3_image. Пошагово создадим проект для загрузки изображения. . .
SDL3 для Web (WebAssembly): Загрузка PNG с прозрачным фоном с помощью SDL3_image
8Observer8 10.02.2026
Содержание блога Библиотека SDL3_image содержит инструменты для расширенной работы с изображениями. Пошагово создадим проект для загрузки изображения формата PNG с альфа-каналом (с прозрачным. . .
Установка Qt-версии Lazarus IDE в Debian Trixie Xfce
volvo 10.02.2026
В общем, достали меня глюки IDE Лазаруса, собранной с использованием набора виджетов Gtk2 (конкретно: если набирать текст в редакторе и вызвать подсказку через Ctrl+Space, то после закрытия окошка. . .
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru