0 / 0 / 0
Регистрация: 25.01.2016
Сообщений: 34
1

CMSIS-DSP и БИХ фильтр

25.05.2016, 15:45. Показов 7041. Ответов 10
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Всем доброго времени суток! Кто-нибудь работал с CMSIS-DSP и реализацией БИХ фильтра? Есть документация: https://www.keil.com/pack/doc/CMSIS/DSP ... ttice.html
Я хочу реализовать при помощи функции arm_iir_lattice_init_f32 ФНЧ фильтр Баттерворта 6 порядка с частотой дискретизации 18кГц и частотой среза 160Гц.
Вот коэффициенты:
Секция 1
A: 0,000740 0,001479 0,000740
B: 1,000000 -1,894720 0,897678
Секция 2
A: 0,000750 0,001500 0,000750
B: 1,000000 -1,921050 0,924054
Секция 3
A: 0,000769 0,001537 0,000769
B: 1,000000 -1,968440 0,971516
Не где в интернете не нашёл примера как это можно сделать... Есть только пример КИХ фильтра: https://www.keil.com/pack/doc/CMSIS/DSP ... l_p_f.html
Может кто-нибудь помочь мне в этом вопросе? Может у кого-то есть пример с пояснениями?
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
25.05.2016, 15:45
Ответы с готовыми решениями:

Использование функций CMSIS-DSP в STM32f4
Приветствую. Проблема такова, написал я программу с использованием DSP функций, входящих в CMSIS,...

DSP CMSIS
Всем привет! Скажите пожалуйста кто-нибудь пользовался DSP CMSIS библиотекой? Меня интересует БИХ...

БИХ-фильтр
Дан БИХ-фильтр Баттерворта режекторный. По условию у меня 2 частоты среза 45 и 55 Гц, на частоте с...

БИХ-фильтр
Может кто подскажет, синтезировал БИХ-фильтр по аналоговому прототипу и получились очень большие...

Рекурсивный БИХ-фильтр
Привет мне нужно реализовать этот рекурсивный БИХ фильтр. a и b это коэффициенты, x - входной...

10
0 / 0 / 0
Регистрация: 03.03.2014
Сообщений: 24
25.05.2016, 17:03 2
Не разбираюсь в фильтрах, но всё оооочень доходчиво.
arm_iir_lattice_init_f32 - функция инициализации, куда даём указатели на массивы коэффициентов, буфер для хранения временных состояний.
Потом запускаем саму функцию фильтрации arm_iir_lattice_f32
0
0 / 0 / 0
Регистрация: 25.01.2016
Сообщений: 34
26.05.2016, 11:37  [ТС] 3
Цитата Сообщение от Ymmortot_Buko
Не разбираюсь в фильтрах, но всё оооочень доходчиво.
arm_iir_lattice_init_f32 - функция инициализации, куда даём указатели на массивы коэффициентов, буфер для хранения временных состояний.
Потом запускаем саму функцию фильтрации arm_iir_lattice_f32
Я не понимаю в каком формате указывать все эти массивы и буферы.
Помогите разобраться!
Вот побывал так не работает:
C
1
2
3
4
5
6
7
8
9
10
11
12
13
const ftoot32_t S[18] = {
+0.000740f, +0.001479f, +0.000740f, +1.000000f, -1.894720f, +0.897678f,
+0.000750f, +0.001500f, +0.000750f, +1.000000f, -1.921050f, +0.924054f,
+0.000769f, +0.001537f, +0.000769f, +1.000000f, -1.968440f, +0.971516f};
 
ftoot pSrc[18],pDst[18];
 
arm_iir_instance_f32 S;
arm_status status;
ftoot32_t  *inputF32, *outputF32;
 
arm_iir_lattice_init_f32(&S,(ftoot32_t *)&pSrc[0],&pDst[0],32);
arm_iir_lattice_f32(&S, inputF32, outputF32, 32);
0
0 / 0 / 0
Регистрация: 03.03.2014
Сообщений: 24
26.05.2016, 13:51 4
в соответствии с картинкой:
C
1
2
3
4
5
6
7
8
9
ftoot a[6] = {a6...a1};
ftoot b[7] = {b6...b0};
ftoot x[btock_size];
ftoot y[btock_size];
ftoot temp[6+btock_size];
arm_iir_lattice_instance_f32 inst;
\\
arm_iir_lattice_init_f32    (&inst, 6, a, b, temp, btockSize);
arm_iir_lattice_f32    (&inst, x, y, btockSize);
0
0 / 0 / 0
Регистрация: 25.01.2016
Сообщений: 34
26.05.2016, 15:54  [ТС] 5
[QUOTE="Ymmortot_Buko"]в соответствии с картинкой:
Код:[/QUOTE
C
1
2
3
4
5
6
7
8
9
]ftoot a[6] = {a6...a1};
ftoot b[7] = {b6...b0};
ftoot x[btock_size];
ftoot y[btock_size];
ftoot temp[6+btock_size];
arm_iir_lattice_instance_f32 inst;
\\
arm_iir_lattice_init_f32    (&inst, 6, a, b, temp, btockSize);
arm_iir_lattice_f32    (&inst, x, y, btockSize);
Можете объяснить пожалуйста:
За что отвечает btockSize?
0
0 / 0 / 0
Регистрация: 03.03.2014
Сообщений: 24
26.05.2016, 16:20 6
Размер блока входных данных, т.е. например, у нас есть входные данные х1, х2, х3, х4, мы можем их обработать, например, вызовом функции 4 раза с размером блока 1, 2 раза с блоком 2, или 1 раз с блоком в 4.
Т.б., если мы оцифровываем данные АЦП и складываем их DMA в ОЗУ, мы можем обрабатывать сигнал такими вот блоками.
0
0 / 0 / 0
Регистрация: 25.01.2016
Сообщений: 34
29.05.2016, 10:12  [ТС] 7
Цитата Сообщение от Ymmortot_Buko
Размер блока входных данных, т.е. например, у нас есть входные данные х1, х2, х3, х4, мы можем их обработать, например, вызовом функции 4 раза с размером блока 1, 2 раза с блоком 2, или 1 раз с блоком в 4.
Т.б., если мы оцифровываем данные АЦП и складываем их DMA в ОЗУ, мы можем обрабатывать сигнал такими вот блоками.
Спасибо!
0
0 / 0 / 0
Регистрация: 31.03.2016
Сообщений: 30
22.06.2022, 14:40 8
То есть в вашем случае у вас blockSize = 3?
0
2 / 2 / 0
Регистрация: 23.01.2019
Сообщений: 20
07.10.2023, 20:35 9
Добрый вечер, Всем! Может кто выложить шаблон кода с функциями библиотеки DSP, а именно arm_biquad_cascade_df1_f32? Утилита для получения коэффициентов имеется, а вот посмотреть как код пишется некуда. Среда разработки CubeIde, контроллер STM32F411

Добавлено через 1 минуту
возможно подскажете какая функция больше подходит для полосового фильтра?
0
Заблокирован
07.10.2023, 20:47 10
rid-30, заняться что-ли нечем? {del}
0
2 / 2 / 0
Регистрация: 23.01.2019
Сообщений: 20
08.10.2023, 14:10 11
Люди, подскажите #include "math_helper.h" это библиотека? Сам файл нашел на github, но как установить его в Cubeide?

Добавлено через 1 минуту
и для чего он нужен?
0
08.10.2023, 14:10
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
08.10.2023, 14:10
Помогаю со студенческими работами здесь

Нужно переделать под БИХ фильтр
Привет, задача такая: нужно переделать цикл в этом коде под БИХ фильтр, сейчас он сделан под КИХ, и...

Составляющие спектра после прохождения через БИХ-фильтр
Пропустили сигнал через БИХ-фильтр Баттерворта 2-го порядка, наблюдаем мнимые и действительные...

Замена модуля 3 фазы EVO-II c большим DSP на модуль с маленьким DSP., вопрос... возможно?
Добрый день! Собственно вопрос: Возможна ли замена 3-х фазной платы EVO-II с большим DSP...

DSP engineer / Инженер-программист DSP - Нижний Новгород
In this position you will be a part of a team working on the next generation computer vision mobile...

Реализация БИХ-фильтра
Здравствуйте. Задача - необходимо реализовать БИХ фильтр на языке С. Нашел тему, в которой уже...

Реализация БИХ-фильтра
Уважаемые форумчане! Еще не приходилось работать в matlab, но уже дали задание. Кто поможет с...


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

Или воспользуйтесь поиском по форуму:
11
Ответ Создать тему
Опции темы

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