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

STM32 цифровой фильтр

30.01.2013, 03:51. Показов 11277. Ответов 2
Метки нет (Все метки)

Стоит задача сделать цифровой фильтр с использованием прямого и последующего обратного преобразования Фурье (FFT/iFFT)
Использую библиотеку CMSIS от ST.

Пока пытаюсь просто сделать прямое-обратное преобразование...
Делаю следующее:
Код
q15_t ADC_input[512];
q15_t RFFT_output[1024];
Заполняю массив ADC_input значениями 0x0FFF, 0xF001... (+4095, -4095...), типа меиндр с 12-бит АЦП
Код
status = arm_rfft_init_q15(&S, &S_CFFT, 512, 0, 1);
arm_rfft_q15(&S, ADC_input, RFFT_output);
В массиве RFFT_output все нули, кроме 512-го элемента = 0x1FFC (8188), т.е. пик в спектре оно мне нашло.
Делаю обратное преобразование:
Код
S.ifftFlagR = 1u;
S_CFFT.ifftFlag = 1u;
arm_rfft_q15(&S, RFFT_output, ADC_input);
В ADC_input идут значения 0x000F, 0xFFF0... (+15, -15...), т.е. хоть оно мне и выдало меиндр, но амплитуда его жутко упала.

Что я делаю не так?

З.Ы. Если кто видел примеры фильтрации с FFT киньте ссылкой плиз
__________________
Помощь в написании контрольных, курсовых и дипломных работ здесь
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
30.01.2013, 03:51
Ответы с готовыми решениями:

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

Цифровой фильтр Гильберта.
Обсуждение статьи "Цифровой фильтр Гильберта"...

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

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

2
0 / 0 / 0
Регистрация: 23.05.2012
Сообщений: 216
30.01.2013, 07:14 2
Во первых 12бит с АЦП со знаком не могут быть, нужно преобразовывать, во вторых 12бит со знаком это -2047 до 2047 и если приводить к 16битовому типу то это 0xF801 - 0x0800.
0
0 / 0 / 0
Регистрация: 26.01.2013
Сообщений: 208
30.01.2013, 13:13 3
отсчеты АЦП ес-но будут пересчитываться со знаком, потому в массив и насчитывается "подготовленный меиндр".
а про 12 бит ступил, но роли это не играет, будем считать что в системе 13-бит АЦП.
вопрос остается - почему падает амплитуда и как правильно надо делать?
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
30.01.2013, 13:13

Цифровой фильтр
Здравствуйте. Мне требуется спроектировать цифровой фильтр по аналоговому прототипу. Чтобы...

Цифровой фильтр Гильберта
Подскажите как рассчитать коэффициенты цифрового фильтра Гильберта его передаточной f(z) функции?...

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

Цифровой согласованный фильтр
Приветствую всех. Интересует вопрос. Есть сигнал, код баркера 7 позиций. 0 заменяем на -1,...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.