Форум программистов, компьютерный форум, киберфорум
Микроконтроллеры
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.84/25: Рейтинг темы: голосов - 25, средняя оценка - 4.84
momfridmomm
1

FFT Логарифмический масштаб по оси частоты.

10.12.2016, 00:11. Просмотров 4572. Ответов 4
Метки нет (Все метки)

Такой детский вопрос. CMSIS DSP Lib. CFFT от отсчётов АЦП. Но это, в общем-то, не суть важно. На выходе получаю 64 значения результатов FFT.

Значение нигнитуды в дБ я уже получил. Интересует логарифмический масштаб по оси частот, как сделать? В математику умею плохо. Я так понимаю, мне нужно брать номера отсчётов по логарифму, и потом интерполировать, чтобы получить всё те же 64 значения, но уже в логарифмическом масштабе?

Извиняюсь, если написал хрень. Прошу помочь разобраться.
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
10.12.2016, 00:11
Ответы с готовыми решениями:

Логарифмический масштаб
Тему поместила сюда, т.к. работаю с OriginPro 8.5.1 В общем-то проблема почти никакая, но не...

Логарифмический масштаб
Что такое логарифмический масштаб построения графиков?

Логарифмический масштаб
Доброго времени суток. Как изобразить трехмерный график (первая миниатюра) в логарифмическом...

Логарифмический масштаб графика
Здравствуйте! Есть функция, при попытке построить график в логарифмическом виде по оси ОУ...

4
0 / 0 / 0
Регистрация: 07.02.2106
Сообщений: 1,864
10.12.2016, 00:20 2
Тут немножко заморочно: надо не просто выбирать отсчёт с заданным номером, а осреднять (или суммировать - в зависимости от того, что вы хотите получить) по нескольким (а для высоких частот - по многим) отсчётам.
Грубо говоря, диапазоны номеров будут
2**(k/N) .. 2**((k+1)/N), где k - номер полосы, N - количество полос на октаву.

Да, ещё: чтобы в лоб получить 64 полосы в диапазоне 200 Гц - 20 кГц - нижняя полоса будет от 200 до 200*100**(1/64) = 215 Гц, т.е надо считать FFT с дискретностью 15 Гц - т.е. окно, кажется, 2048 отсчётов. Про диапазон от 20 Гц я вообще молчу. Возможно, удобней использовать пачку полосовых фильтров.
0
momfridmomm
11.12.2016, 20:30 3
В общем, да, 128 FFT будет маловато. В моём применении (Показометр для музычки) для 2048 и более уже не хватает производительности STM32F405. Буду разбираться с полосовыми фильтрами.
0 / 0 / 0
Регистрация: 05.10.2007
Сообщений: 498
11.12.2016, 21:58 4
1/3 октавы, 10 октав, 30 диапазонов. нужно как раз (1024 * 3) отсчёта. Самый верхний - один отсчёт, на октаву ниже - два. Посредине - суммирование с взвешиванием.
Для показометра достаточно диапазона в 1 или 1/2 октавы.
0
0 / 0 / 0
Регистрация: 31.01.2013
Сообщений: 1,625
11.12.2016, 22:20 5
Если лениво думать, можно содрать готовый ;))
http://rodyokot.ru/circuit/audyo/other/19/
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
11.12.2016, 22:20

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

Почему fft строит не прямую при преобразовании синуса одной частоты
Доброго времени суток!) Подскажите, пожалуйста, почему fft строит не прямую при преобразовании...

Масштаб значений оси
Здравствуйте! как можно методом TickLabels.NumberFormat изменить значения оси в n раз? например,...

ZedGraph масштаб оси Х в миллисекундах.
Здравствуйте,написана программа принимающая данные с COM порта непрерывно, и строящая график на...

Canvas - оси координат, масштаб
Здравствуйте, пожалуйста, помогите дописать программу! Нужно сделать оси координат и масштаб....


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

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

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