Jump to content

    
Sign in to follow this  
roma-cezar

STM32 FFT (БПФ)

Recommended Posts

Как с этим правильно бороться? Почему после преобразования амплитуды сигнала занижены в 2 раза, хотя DC составляющая показывается правильно7

Share this post


Link to post
Share on other sites

Там должно быть сказано. Нулями добивают массив и делают БПФ уже не 1024 выборки, а, к примеру, 4096.

Или интерполировать результаты БПФ.

Всегда советую книгу Р. Лайонс "Цийфровая обработка сигналов". Доступна как для скачивания, так и для понимания.

Share this post


Link to post
Share on other sites
Как с этим правильно бороться? Почему после преобразования амплитуды сигнала занижены в 2 раза, хотя DC составляющая показывается правильно7

по умолчанию применяется прямоугольное окно,

а надо наложить другое окно на входные данные БПФ, которое ограничит растекание спектра - треугольное как самое простое или другие, более расчётносложные.

Но придётся пожертовать разрешением по частоте.

Share this post


Link to post
Share on other sites
по умолчанию применяется прямоугольное окно,

а надо наложить другое окно на входные данные БПФ, которое ограничит растекание спектра - треугольное как самое простое или другие более расчётносложные.

Я окна заранее рассчитываю (в Матлабе), а потом в программу просто добавляю массив окна.

 

Но придётся пожертовать разрешением по частоте.

Разрешение по частоте определяется только количеством точек БПФ. upd. типа, предельное

Share this post


Link to post
Share on other sites
Разрешение по частоте определяется только количеством точек БПФ.

..если у вас будет широкое окно , а две гармоники будут стоять рядом в пределах разрешения окна то вы их не отличите друг от друга, они сольются в одну гармонику.

 

Share this post


Link to post
Share on other sites

Ну, да, используя окно, хуже разрешение по частоте сделать можно, а лучше - уже нет. :rolleyes: Вот амплитуду точнее померить окно поможет.

Share this post


Link to post
Share on other sites
Там должно быть сказано. Нулями добивают массив и делают БПФ уже не 1024 выборки, а, к примеру, 4096.

Или интерполировать результаты БПФ.

Всегда советую книгу Р. Лайонс "Цийфровая обработка сигналов". Доступна как для скачивания, так и для понимания.

 

Думал над этим, но у STM32 библиотека dsp fft может вычислить спектр до 1024 отсчетов максимум. Т.е. с ацп я максимум могу загрузить (2048 - половина из них комплексная часть - нули.) 1024 отсчетов.

Спасибо за книгу. Буду читать.

 

Я окна заранее рассчитываю (в Матлабе), а потом в программу просто добавляю массив окна.

По расчетом окон где можно посмотреть, чтоб понятно было?

Share this post


Link to post
Share on other sites

Я бы на Вашем месте написал свою БПФ или воспользовался готовой из сети. Когда все теоретические вопросы будут решены, можно заняться оптимизациями с помощью библиотек.

https://www.dsprelated.com/freebooks/sasp/B...dow_Family.html

https://www.edn.com/electronics-news/438371...-Results-Part-I

Edited by Aleksandr Baranov

Share this post


Link to post
Share on other sites

про то какие они бывают - с картинками в википедии, на dsplib - http://www.dsplib.ru/content/winex/winex.html

 

Простые примеры окон были в знаменитом примере FIRDsgn

FIRDsgn.zip

Share this post


Link to post
Share on other sites

Конкретно для измерения амплитуды используют flat top window. С другой стороны, обычное прямоугольное окно при ДПФ синусоидального сигнала порождает лес палок в районе основного тона, среднеквадратичная сумма которых и даст амплитуду

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this