|
FFT на STM32F407 |
|
|
|
Apr 17 2012, 05:15
|

Местный
  
Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544

|
Перешел на STM32F407, соответственно хочу использовать функции FFT, которые идут с STM32F4xx_DSP_StdPeriph_Lib_V1.0.0. В качестве входных данных использую массив 16-ти битных данных, полученных с АЦП. Судя по всему лучше использовать Real FFT Functions http://tech.munts.com/MCU/Frameworks/AR ... f_f_t.html Но вот каким образом мне не совсем понятно. Смотрел пример, но там вариант для Complex FFT Functions. По подобию примера делаю так: Код int16_t analysis_arr[512]; //данные с АЦП int16_t spec_ana_arr[1024];
arm_status status; arm_rfft_instance_q15 S; arm_cfft_radix4_instance_q15 S_CFFT; status = ARM_MATH_SUCCESS;
/* Initialize the RFFT/RIFFT module */ status = arm_rfft_init_q15(&S, &S_CFFT, 512, 0, 0);
/* Process the data through the RFFT/RIFFT module */ arm_rfft_q15(&S, analysis_arr, spec_ana_arr); Вопрос к знающим. Правильно ли я делаю?
|
|
|
|
|
 |
Ответов
|
Apr 24 2012, 08:11
|

Местный
  
Группа: Свой
Сообщений: 381
Регистрация: 5-07-05
Из: Уфа
Пользователь №: 6 544

|
В общем запутался в спектральном анализе. Собственно говоря, делаю так: Код float32_t analysis_arr[512]; //данные с АЦП float32_t spec_ana_arr[1024]; float32_t Output[512];
arm_status status; arm_rfft_instance_f32 S; arm_cfft_radix4_instance_f32 S_CFFT; status = ARM_MATH_SUCCESS;
/* Initialize the RFFT/RIFFT module */ status = arm_rfft_init_f32(&S, &S_CFFT, 512, 0, 1);
/* Process the data through the RFFT/RIFFT module */ arm_rfft_f32(&S, analysis_arr, spec_ana_arr);
arm_cmplx_mag_f32(spec_ana_arr, Output, 512); Правильно ли я понял, что массив Output содержит амплитуды гармоник? Мне нужно получить амплитуды гармоник с 1-й по 5-ю. Как их найти?
|
|
|
|
Сообщений в этой теме
011119xx FFT на STM32F407 Apr 17 2012, 05:15 scifi Видимо да, правильно.
Вот реальный работающий прим... Apr 17 2012, 06:00 Sekat Цитата(scifi @ Apr 17 2012, 10:00) Видимо... Mar 2 2013, 09:46 011119xx Какого размера у вас массивы f и g? Для чего нужно... Apr 17 2012, 06:23 scifi Цитата(011119xx @ Apr 17 2012, 10:23) Как... Apr 17 2012, 06:44 011119xx Спасибо. Apr 17 2012, 06:51 011119xx Входной массив у вас задан как:
Кодfloat32_t f... Apr 17 2012, 08:37 scifi Цитата(011119xx @ Apr 17 2012, 12:37) То ... Apr 17 2012, 08:50 011119xx После FFT надо полагать используете обратное преоб... Apr 17 2012, 09:31 scifi Цитата(011119xx @ Apr 17 2012, 13:31) Пос... Apr 17 2012, 10:33 011119xx Именно так?
Кодarm_cmplx_mag_squared_f32(g, f,... Apr 17 2012, 11:11 scifi Уже началось переливание из пустого в порожнее, ка... Apr 17 2012, 11:23  011119xx Цитата(scifi @ Apr 24 2012, 14:12) Ну а г... Apr 24 2012, 09:43   scifi Цитата(011119xx @ Apr 24 2012, 13:43) Дум... Apr 24 2012, 09:59 011119xx Порассуждаем. T - общее время оцифровки. В моем сл... Apr 25 2012, 08:34 011119xx Понадобилось провести линейную интерполяцию над да... Apr 26 2012, 04:42 011119xx Вновь возвращаюсь с вопросом. Необходимо провести ... Jun 14 2012, 04:51 nowhow Цитата(011119xx @ Jun 14 2012, 08:51) Вно... Jul 4 2012, 06:56 Allregia Чтобы не плодить тем, спрошу тут.
Я только начал р... Mar 2 2013, 10:42 KnightIgor Цитата(Allregia @ Mar 2 2013, 11:42) 3) б... Mar 2 2013, 12:54 HHIMERA Цитата(Allregia @ Mar 2 2013, 13:42) реве... Mar 2 2013, 14:18  Allregia Цитата(HHIMERA @ Mar 2 2013, 16:18) Кодb ... Mar 3 2013, 12:09 hd44780 Ламерский вопрос - какую либу подключать -
arm_co... Mar 3 2013, 18:36 _Артём_ Цитата(hd44780 @ Mar 3 2013, 20:36) Никак... Mar 3 2013, 20:52  hd44780 Цитата(_Артём_ @ Mar 3 2013, 22:52) Littl... Mar 4 2013, 07:31 hd44780 Получилось вот такое:
CODEbool DoFFT ( uint8_t *p... Mar 4 2013, 19:24
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|