Top.Mail.Ru
Уведомления
Очистить все

[Решено] STM32F4 DSP IIR Filter

(@ruslan)
Level 1

Всем привет! Скажите пожалуйста кто-нибудь пользовался DSP CMSIS библиотекой? Меня интересует БИХ фильтр 2-ого порядка. Не как мне могу понять как его реализовать((
Есть две функции "Функция инициализации БИХ фильтра 2-ого порядка" arm_biquad_cascade_df1_init_f32 и функция "Функция обработки для вычислений БИХ фильтра 2-ого порядка" arm_biquad_cascade_df1_f32. Но я не как не могу понять как эти функции заставить работать( Нашёл единственный пример БИХ фильтра ( https://www.keil.com/pack/doc/CMSIS/DSP/html/arm_graphic_equalizer_example_q31_8c-example.html#a26), но из него не чего не понятно. Помогите пожалуйста разобраться. Буду очень рад любой помощи!!!
Сейчас я его реализовал вот так:

int Sum,s1,s2, b0=3622,b1=7243,b2=3622,a1=822690,a2=-837162; 
int in0,in1,in2;

in0 = ADC1->DR; // pass ADC -> circular buffer x1 
Sum = 0; 
Sum +=in0*b0+b1*in1+b2*in2+a1*s1+a2*s2; 
in2=in1; 
in1=in0; 
s2=s1; 
s1=Sum;

На коэффициенты не обращайте внимания, они просто заданы чтобы проверить скорость выполнения. Этот кусок кода выполняется за примерно за 0,2 uS, если задать коэффициенты типом float, программа будет выполняться дольше где то 0,25 uS. Для данного кода как я понимаю контроллер использует FPU. Я хочу попробовать DSP, но не могу разобраться как...

Цитата
Создатель темы Размещено : 19.02.2016 18:53
Aveal
(@aveal)
Top level Admin

Мне не доводилось DSP CMSIS опробовать, к сожалению (

ОтветитьЦитата
Размещено : 20.02.2016 00:10
Поделиться: