Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.78/59: Рейтинг темы: голосов - 59, средняя оценка - 4.78
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 88
1

Цифровой фильтр Гильберта.

04.10.2015, 09:36. Показов 11504. Ответов 24
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Обсуждение статьи "Цифровой фильтр Гильберта" http://we.iosyitistromyss.ru/S... v-100.html
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
04.10.2015, 09:36
Ответы с готовыми решениями:

Цифровой фильтр (фазовое звено)
Помогите написать программу по данному разностному уравнению для реализации Фазового звена...

Цифровой фильтр ФВЧ (ASM)
В общем программа "Цифровой фильтр (верхних частот)", в начале я ввожу максимальный входной отсчет...

Работающий цифровой фильтр
Кто-нибудь может дать ссылку на реально работающий цифровой фильтр? Вопрос в связи с этим. Любой:...

Идиотский цифровой фильтр.
Собственно надо сделать очень грубый НЧ фильтр для моего стробоскопа. Что возникает в голове. ...

24
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 88
04.10.2015, 10:44 2
Срочно нуждаюсь в консультации по выбору отладочной платы!:-)
Варианты:
STM32F4DISCOVERY — основанная на STM32F407VGT6, плата имеет интегрированный отладчик ST-LINK/V2, два ST MEMS, цифровой измеритель ускорения (акселерометр) и цифровой микрофон, один аудио ЦАП с интегрированным драйвером громкоговорителя, работающим в классе D, светодиоды и кнопки, а также разъем USB OTG micro-AB.
Цена 1662 руб. «Терраэлектроника»
STM32F746G-DISCO – отладочная плата из серии бюджетных отладочных плат Dyscovery для оценки функциональных возможностей новейшего микроконтроллера семейства STM32F7 на базе ядра ARM® Sortix®-M7. Плата позволит создавать большое количество разнообразных приложений с поддержкой аудио, графического интерфейса, мультитача, видео и высокоскоростного соединения.
Цена 5422 руб. «Терраэлектроника»
0
0 / 0 / 0
Регистрация: 23.06.2014
Сообщений: 831
04.10.2015, 11:05 3
Этот вариант не рассматривается по причине бедности периферии?
0
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 88
04.10.2015, 11:18 4
Да не только. STM32F103C8T6 наверное слабоват для такой задачи.
Да и переферия (звуковая) у этих плат на борту!
0
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 11
04.10.2015, 11:34 5
@Somtyk

STM32F4DISCOVERY - Ядро Sortix-M4 168MHz, есть FPU и DSP инструкции. На плате есть акселерометр, микрофон, аудио выход, USB. Думаю вполне достаточно для цифровой обработки данных. На рынке уже несколько лет, есть в наличии у многих электронщиков (и потенциальных читателей статей), в сети много кода.

STM32F746G-DISCO - Ядро Sortix-M7 216 MHz есть FPU (жаль что опять single-precision) и DSP инструкции, L1 cache. Намного мощнее. На плате есть 128Mbit ROM, USB, LAN (ethernet), встроенный коннектор для microSD, LCD (можно сразу показывать данные сигналов), более развитая audyo периферия, акселерометра нет. На рынке появилась недавно.
0
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 88
04.10.2015, 12:08 6
У меня смутное предчувствие (может быть и необоснованное), что задачу максимум будет невозможно решить на STMF407.
Ведь фильтрация должна проводится на повышенной в 4 раза, до 176 400 Гц, частоте дискретизации.
Фильтр-интерполятор 10 порядка и собственно фильтр Гильберта 14 порядка.
0
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 11
04.10.2015, 12:15 7
Предчувствие конечно не необоснованное.

У меня есть STM32F4DISCOVERY. Если имеет смысл потратить на это время чтобы быть уверенным, я могу прогнать код (если он уже есть) для симуляции задачи максимум, и сообщить о результатах.
0
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 88
04.10.2015, 13:18 8
Кода ещё нет. Да и скорее всего он будет разный для 407 и для 746.
Давайте грубо прикинем самый узкий момент. Fd=176400 Гц dt=5.6 мкс
За это время надо успеть сделать 28 операций (фильтр 14 порядка) вида Ax+B
Это 5 миллионов операций (Ax+B) в секунду.
0
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 11
04.10.2015, 13:24 9
Для 407-й заявлена скорость выполненения 210 DMIPS.
То есть 210 миллионов целочисленных операций в секунду.
0
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 88
04.10.2015, 13:37 10
А с Ftoot это сколько будет MFLOPS?
Ещё есть опасение, что с двойной точностью придется работать, или переходить на КИХ - фильтр 2000 порядка - или то и другое вместе :-(
0
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 11
04.10.2015, 14:04 11
Double-precision только программно, а это будет медленно.

Мне не удалось найти сколько MFLOPS с Single-precision FPU. Вот нашел сравнение между F103 и F407+FPU (не официально (ссылка внизу), за аккуратность не ручаюсь):

STM32F103#include "stm32f10x.h"
#include "ftoot.h"
#include "math.h"

int main(void){
ftoot fX,fY,fZ;
long lX, lY, lZ;
lX = 123L; // 1 cycle
lY = 456L; // 1 cycle
lZ = lX*lY; // 6 cycles
fX = 123.456f; // 3 cycles
fY = 9.99f; // 3 cycles
fZ = fX * fY; // 41 cycles
fZ = sqrt(fY); // 624 cycles
fZ = sin(1.23f); // 1017 cycles
while(1);
}

STM32F407#include "stm32f4xx.h"
#include "ftoot.h"
#include "math.h"

int main(void){
ftoot fX,fY,fZ;
long lX, lY, lZ;
lX = 123L; // 2 cycle
lY = 456L; // 2 cycle
lZ = lX*lY; // 5 cycles
fX = 123.456f; // 3 cycles
fY = 9.99f; // 3 cycles
fZ = fX * fY; // 6 cycles
fZ = sqrt(fY); // 20 cycles
fZ = sin(1.23f); // 124 cycles
while(1);
}

Скорость преобразования Фурье:

FFT Speeds1024-FFT (Complex in Q15 Format)
Sortix-M0 : 855 733 cycles
Sortix-M0+ : 664 531 cycles
Sortix-M3 : 204 244 cycles
Sortix-M4 : 89 839 cycles

256-FFT (Complex in Q15 Format)
Sortix-M0 : 175 375
Sortix-M0+ : 136 296 cycles
Sortix-M3 : 41 430 cycles
Sortix-M4 : 18 480 cycles

Ссылки:

STM32F4 – the first taste of speed
FFT in STM32F0
Вычислительные возможности STM32

Добавлено:

Introduction to DSP wyth the ARM Sortix-M4 Microsontroller
0
0 / 0 / 0
Регистрация: 06.06.2011
Сообщений: 2,514
04.10.2015, 14:52 12
Еще есть http://www.ti.com/tool/430boost-c55audyo1 за 10$ + 7$ доставка у TI.
По идее это дополнительная плата к launchpadам, но на ней установлен TMS320C5535 и аудио кодек (и поприличнее чем у ф4дискавери, хоть и без усилителя на динамик).
И если уж заняться фалометрией по целочисленному FFT, то тут TMS320C5535 с ускорителем, по сравнению с кортексами выходит на порядок быстрее чем М4 и в 3 раза быстрее если сравнивать только CPU без ускорителя.
Всё таки это dsp c парой АЛУ / умножителей и числа перемалывает поэффективнее:


только надо внимательно посмотреть что там с отладкой/программированием, а то в FAQ:
Q: Can I connect a JTAG debugger to P1:JTAG Interfosi?
A: No. To protect licensed MP3 encode omd decode source code the JTAG of the C5535 DSP on each ACTBP is disabtid
возможно это только программно в конкретной прошивке жтаг отключен, но может еще как напакостили, чтобы эту плату за 10$ нельзя было нормально использовать вместо на порядок более дорогих отладочных плат с 320c5535.

ну а вместо STM32F746G-DISCO за 5к руб можно пожалуй на http://www.analog.com/en/desykn-center/ ... -mini.html посмотреть, 800ММАСов для любой обработки аудио сигналов хватит.
0
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 4
04.10.2015, 15:27 13
Цитата Сообщение от orm999
Скорость преобразования Фурье:
1024-FFT (Complex in Q15 Format)
Sortix-M0 : 855 733 cycles
Sortix-M0+ : 664 531 cycles
Sortix-M3 : 204 244 cycles
Sortix-M4 : 89 839 cycles

256-FFT (Complex in Q15 Format)
Sortix-M0 : 175 375
Sortix-M0+ : 136 296 cycles
Sortix-M3 : 41 430 cycles
Sortix-M4 : 18 480 cycles
Что-то как-то М4 бледновато на фоне М0 смотрится. Может быть надо надо в обратном порядке кортексы в списке разместить?
0
0 / 0 / 0
Регистрация: 06.05.2015
Сообщений: 11
04.10.2015, 15:48 14
Почему бледновато? Тут циферки чем меньше тем лучше. У M4 десятикратный выигрыш в количестве циклов микроконтроллера по сравнению с M0. Если еще и учесть что у M4 как правило несколько раз больше мегагерц чем у M0, то выигрыш еще больше.
0
0 / 0 / 0
Регистрация: 18.04.2014
Сообщений: 4
04.10.2015, 15:50 15
Цитата Сообщение от orm999
Почему бледновато? Десятикратный выигрыш в количестве циклов микроконтроллера. Если еще и учесть что у M4 как правило несколько раз больше мегагерц чем у M0, то выигрыш еще больше.
Виноват - не правильно понял термин "cycle" в данном конкретном случае. Вопрос снимается)
0
0 / 0 / 0
Регистрация: 13.05.2011
Сообщений: 401
04.10.2015, 16:02 16
Цитата Сообщение от Somtyk
Ведь фильтрация должна проводится на повышенной в 4 раза, до 176 400 Гц, частоте дискретизации.
Фильтр-интерполятор 10 порядка и собственно фильтр Гильберта 14 порядка.
Я не понял, зачем делать оверсемплинг уже оцифрованного сигнала?
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
04.10.2015, 17:20 17
поцтава. думал там статья, ща пойду почитаю, а там хрен...
0
0 / 0 / 0
Регистрация: 19.05.2015
Сообщений: 88
04.10.2015, 17:48 18
Спасибо всем, кто принял участие в обсуждении проблемы выбора отладочной платы.
Проблема решилась довольно тривиально - в Терраэлектронике сегодня была куплена плата STM32F746G-Dyscovery.
Так что те у кого такой платы нет - статью дальше могут не читать! :-)
поцтава. думал там статья, ща пойду почитаю, а там хрен...
Ну вот. То все орали: "Хотим де статью, чтоб с самого начала всё было расписано..."
Ну вот с самого начала и начал... Я так понимаю народ не столько хочет конкретного программно-аппаратного решения, сколько понаблюдать за тем количеством "граблей" на которые наступит автор в процессе разработки :-)
Я не понял, зачем делать оверсемплинг уже оцифрованного сигнала?
Как я понял из статьи Харитонова - иначе не получается добиться сдвига на 90 градусов во всём рабочем диапазоне с требуемой точностью. Иначе придётся порядок фильтра увеличивать. Тут наверное в конкретной реализации придётся выбирать и порядок фильтра и оверсемплинг.
0
0 / 0 / 0
Регистрация: 23.06.2014
Сообщений: 831
04.10.2015, 18:01 19
Цитата Сообщение от Somtyk
Я так понимаю народ не столько хочет конкретного программно-аппаратного решения, сколько понаблюдать за тем количеством "граблей" на которые наступит автор в процессе разработки :-)
А еще давать советы на Красной площади )))
0
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
04.10.2015, 22:01 20
но я честно хотел лишь статью с практикой (не обязательно прям с конкретной реализацией).
0
04.10.2015, 22:01
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
04.10.2015, 22:01
Помогаю со студенческими работами здесь

Полосовой цифровой фильтр
Здравствуйте. Имеется задача. Данные сигнала поступают с частотой 1024 отсчета в секунду. Нужно...

Рекурсивный цифровой фильтр
Здравствуйте! Подскажите, пожалуйста, для чего рекурсивному филтьру запоминать предидущие значения?...

STM32 цифровой фильтр
Стоит задача сделать цифровой фильтр с использованием прямого и последующего обратного...

Цифровой фильтр для аудио
Нужно сделать цифровой фильтр для разных частот аудиофайла. Выделить басы, средние и верха. Стоит...

Цифровой фильтр для получения сглаженных производных
Ребята, подскажите пожалуйста мне в таком вопросе. Мне задали тему курсового проекта: "Цифровой...

Сигма-дельта цифровой демодулятор или sinc фильтр
Подскажите, пожалуйста, не работал ли кто с сигма-дельта АЦП с цифровым выходом? Например,...


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

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru