реклама на сайте
подробности

 
 
> FFT в db, БПФ
djhall
сообщение Jun 19 2014, 19:50
Сообщение #1


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 29-04-06
Пользователь №: 16 608



Мне необходимо построить график БПФ в том виде как он обычно представляется в даташитах на АЦП, т.е. в децибелах.
У меня есть исходный файл с отсчётами АЦП на который подан синусоидальный сигнал. Нахожу БПФ по 2048 точкам и далее нахожу 10*log10(БПФ) и строю график. Далее показан сигнал и 10*log10(БПФ) (первые две картинки)- явно не совсем хороший спектр. В чём может быть ошибка? Подскажите как правильно построить такой график.

Ожидал увидеть нечто такое (третья картика)
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
3 страниц V   1 2 3 >  
Start new topic
Ответов (1 - 14)
dm.pogrebnoy
сообщение Jun 19 2014, 19:53
Сообщение #2


Знающий
****

Группа: Свой
Сообщений: 747
Регистрация: 11-04-07
Пользователь №: 26 933



Окно жешь. Оконную функцию наложить надо. почитать можно тут
Другие статьи с этого сайта рекомендованы к прочтению.


--------------------
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 19 2014, 20:28
Сообщение #3


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



С окном получите спектр по внешнему виду как на третьей картинке, но ещё нормировка нужна, чтоб максимум был отнормирован к 0 dBFS. Про dBFS почитайте, как раз получится то, что надо и, если не ошибаюсь, то надо считать 20*log10(S).

Оконную функцию можно из Matlab-a дёрнуть, chebwin например.
Go to the top of the page
 
+Quote Post
gridinp
сообщение Jun 20 2014, 10:14
Сообщение #4


Частый гость
**

Группа: Участник
Сообщений: 121
Регистрация: 7-04-08
Из: Наро-Фоминск
Пользователь №: 36 543



Цитата(djhall @ Jun 19 2014, 23:50) *
Ожидал увидеть нечто такое (третья картика)

У вас получается спектр от бесконечной функции, которая получается путем повторения данных из АЦП. Проще говоря начало с хвостом плохо стыкуются.
Поэтому поможет либо окно, либо данные из АЦП должны представлять точно целое число периодов входной частоты.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 20 2014, 10:34
Сообщение #5


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(doom13 @ Jun 19 2014, 23:28) *
С окном получите спектр по внешнему виду как на третьей картинке...

Никогда не получит, ни при каких окнах. laughing.gif
Нет, так категорично - не правильно. Приближаться будет...
Go to the top of the page
 
+Quote Post
prig
сообщение Jun 20 2014, 13:56
Сообщение #6


Знающий
****

Группа: Свой
Сообщений: 869
Регистрация: 30-01-08
Из: СПб
Пользователь №: 34 595



Цитата(ViKo @ Jun 20 2014, 14:34) *
Никогда не получит, ни при каких окнах. laughing.gif
Нет, так категорично - не правильно. Приближаться будет...


Получится полностью аналогичный график, если точно повторить условия.
У тех же ADI условия мне попадались когда-то.
Если память не изменяет, в ADI получают выборку с кратным периодом и прямоугольным окном с "правильным" позиционированием.
"Правильное" позиционирование - это края окна на нулях, вроде бы, но точно не помню.
При использовании прочих видов окон и последующей нормировке возникнут проблемы с положением уровня шума.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 20 2014, 14:01
Сообщение #7


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(prig @ Jun 20 2014, 16:56) *
Получится полностью аналогичный график, если точно повторить условия.
У тех же ADI условия мне попадались когда-то.
Если память не изменяет, в ADI получают выборку с кратным периодом и прямоугольным окном с "правильным" позиционированием.
"Правильное" позиционирование - это края окна на нулях, вроде бы, но точно не помню.
При использовании прочих видов окон и последующей нормировке возникнут проблемы с положением уровня шума.

А как его узнать заранее, "правильное"...? Если частота сигнала известна, то и спектр не нужен. rolleyes.gif
А если в окно укладывается 20,5 периодов?
Go to the top of the page
 
+Quote Post
djhall
сообщение Jun 20 2014, 15:47
Сообщение #8


Частый гость
**

Группа: Свой
Сообщений: 168
Регистрация: 29-04-06
Пользователь №: 16 608



Спасибо большое всем.
Действительно с оконной функцией получилось. Правда я ещё не совсем разобрался - вроде на сигнале в 131 072 самплов и более не получилось таким образом преобразовать.

Было(слева), стало(справа)
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
Fat Robot
сообщение Jun 20 2014, 16:37
Сообщение #9


ʕʘ̅͜ʘ̅ʔ
*****

Группа: Свой
Сообщений: 1 008
Регистрация: 3-05-05
Пользователь №: 4 691



Желание быть в оппозиции подчас "превозмогает и рассудок".

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

Цитата(ViKo @ Jun 20 2014, 15:01) *
А как его узнать заранее, "правильное"...? Если частота сигнала известна, то и спектр не нужен. rolleyes.gif
А если в окно укладывается 20,5 периодов?
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 20 2014, 17:17
Сообщение #10


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



В софте к отладочным платам от TI в качестве одного из параметров задаётся частота анализируемого сигнала для нормировки максимально возможной амплитуды к 0, значение амплитуды в dBFS, видимо, для удобства оценки динамического диапазона АЦП. С оконной функцией там тоже можно побаловаться.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 20 2014, 19:11
Сообщение #11


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(Fat Robot @ Jun 20 2014, 19:37) *
Желание быть в оппозиции подчас "превозмогает и рассудок".
Даже если частота известна, то может быть интересна амплитуда, уровень шумов или уровень внеполосных составляющих.

Не совсем так. Говорю, основываясь на собственном опыте. Точек, правда у меня 1024. Картинку, как на среднем рисунке у ТС, имел. А как на правом рисунке - нет. Перебираю 4 различных оконных функции + плоское. Если взять точек побольше, будет ближе к идеалу. А так, даже об амплитуде можно только гадать.
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 20 2014, 19:35
Сообщение #12


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Цитата(ViKo @ Jun 20 2014, 22:11) *
Не совсем так. Говорю, основываясь на собственном опыте. Точек, правда у меня 1024. Картинку, как на среднем рисунке у ТС, имел. А как на правом рисунке - нет. Перебираю 4 различных оконных функции + плоское. Если взять точек побольше, будет ближе к идеалу. А так, даже об амплитуде можно только гадать.

Что-то не так у Вас с оконной функцией. От количества точек разрешающая по частоте увеличится и шумы просядут.
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 20 2014, 19:38
Сообщение #13


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(doom13 @ Jun 20 2014, 22:35) *
Что-то не так у Вас с оконной функцией. От количества точек разрешающая по частоте увеличится и шумы просядут.

О том и речь. Больше точек - лучше спектр. rolleyes.gif Меньше - хуже. rolleyes.gif
Go to the top of the page
 
+Quote Post
doom13
сообщение Jun 20 2014, 20:05
Сообщение #14


Профессионал
*****

Группа: Свой
Сообщений: 1 404
Регистрация: 11-03-11
Из: Минск, Беларусь
Пользователь №: 63 539



Ранее Вы утверждали, что оконная функция не позволит получить спектр как на третьем рисунке вверху, а это не так.
Цитата(ViKo @ Jun 20 2014, 22:38) *
О том и речь. Больше точек - лучше спектр. rolleyes.gif Меньше - хуже. rolleyes.gif

Да, но без оконной функции никак.

1) Сигнал и сигнал после применения оконной функции (окно Чебышева из Matlab - chebwin(1024,80)).
2) Спектр сигнала без использования оконной функции.
3) Спектр сигнала с использованием оконной функции.

Как видите, количество точек не меняется sm.gif
Эскизы прикрепленных изображений
Прикрепленное изображение
Прикрепленное изображение
Прикрепленное изображение
 
Go to the top of the page
 
+Quote Post
ViKo
сообщение Jun 20 2014, 20:16
Сообщение #15


Универсальный солдатик
******

Группа: Модераторы
Сообщений: 8 634
Регистрация: 1-11-05
Из: Минск
Пользователь №: 10 362



Цитата(doom13 @ Jun 20 2014, 23:05) *
Как видите...

Вижу - приблизились к нужной картинке. Вижу амплитуду в 2 раза меньше, чем без окна. Вижу не палку в спектре, а узкий колокол.
Go to the top of the page
 
+Quote Post

3 страниц V   1 2 3 >
Reply to this topicStart new topic
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 


RSS Текстовая версия Сейчас: 19th July 2025 - 13:14
Рейтинг@Mail.ru


Страница сгенерированна за 0.02195 секунд с 7
ELECTRONIX ©2004-2016