Как рассчитать спектральную плоскостность по БПФ?


17

Хорошо, спектральная плоскостность (также называемая энтропией Винера) определяется как отношение геометрического среднего спектра к его среднему арифметическому.

Википедия и другие ссылки говорят о спектре мощности . Разве это не квадрат преобразования Фурье? БПФ производит «амплитудный спектр», а затем вы возводите в квадрат, чтобы получить «спектр мощности»?

В основном, что я хочу знать, если spectrum = abs(fft(signal)), какой из них является правильным?

  • spectral_flatness = gmean(spectrum)/mean(spectrum)
  • spectral_flatness = gmean(spectrum^2)/mean(spectrum^2)

Определение Википедии, кажется, использует величину непосредственно:

Flatness=n=0N1x(n)Nn=0N1x(n)N=exp(1Nn=0N1lnx(n))1Nn=0N1x(n)
где представляет величину числа бинов .нx(n)N

Документы SciPy определяют спектр мощности как:

Когда вход а является сигналом во временной области , и A = fft(a), np.abs(A)является его амплитудным спектром и np.abs(A)**2является ее спектром мощности.

Этот источник соглашается с определением «спектра мощности» и называет его :Sf(ω)

Мы можем определить который является преобразованием Фурье сигнала в периоде T, и определить спектр мощности следующим образом: FT(ω)Sf(ω)=limT1TFT(ω)2.

Этот источник определяет энтропию Винера в терминах .S(е)

Но я не вижу возведения в квадрат в таких уравнениях , которые, кажется, основаны на спектре величин :

SеLaTNеssзнак равноехр(1NΣКжурнал(aК))1NΣКaК

Аналогичным образом, другой источник определяет спектральную плоскостность в терминах спектра мощности, но затем непосредственно использует величину бункеров БПФ, что, по-видимому, противоречит приведенному выше определению «спектра мощности».

Означает ли «энергетический спектр» разные вещи для разных людей?


согласно Википедии: Спектральная плоскостность ak представляет величину числа бинов k.
Хамед Голами

Привет @endolith, ты получил удовлетворительный ответ, который готов принять?
jojek

@jojek Нет, еще нет
эндолит

1
@endolith, я полагаю, что Питер просто ударил по гвоздю в голову;)
jojek

@jojek Я пытался пробить гвоздь через доску. Peter
Питер К.

Ответы:


4

Наиболее авторитетное упоминание, которое я могу придумать, принадлежит Jayant & Noll, Digital Coding Of Waveforms , (c) Bell Telephone Laboratories, Incorporated 1984, опубликованной Prentice-Hall, Inc.

На странице 57 они определяют спектральную плоскостность:

Спектральная плоскостность

и ранее на странице 55 они определяют :SИксИкс

Определение спектра мощности

Таким образом, версия FFT в квадрате - это то, что вам нужно.

Похоже, Makhoul & Wolf, линейное прогнозирование и спектральный анализ речи , Bolt, Beranek и Newman, Inc. Технический отчет, 1972, также доступны.

И это имеет то же определение:

введите описание изображения здесь

введите описание изображения здесь


7

Если определение плоскостности требует использования спектра мощности, то да, вы должны возвести в квадрат величины, как указано в справочной документации SciPy. В уравнении, на которое вы ссылались, где вы не видели квадратуры, я не думаю, что вы сможете многое понять в этом; это говорит о том, что

SеLaTNеssзнак равноехр(1NΣКжурнал(aК))1NΣКaК

aК


Я думаю , это вопрос о том, что определение на самом деле является , то
эндолиты

aК

@HamedGholami Пожалуйста, не вводите свой комментарий как ответ снова. Ваш комментарий не дает ответа на вопрос, но пытается помочь здесь.
Питер К.

@PeterK. Я думаю, что новые пользователи не могут оставлять комментарии, но могут оставлять ответы.
эндолит

1
@endolith Понял. Но даже после того, как Джохек перевел свой первый ответ в качестве комментария к вопросу, Хамед оставил тот же комментарий в качестве ответа. Это поведение, которое я хочу отговорить: сделать репост снова после того, как их «ответ» был перенесен.
Питер К.

4

Определения меняются, не так ли? Первое, что должно быть решено, - согласны ли мы с тем, что спектральная плотность мощности эквивалентна спектру мощности , или же определим, что мы подразумеваем под обоими. Проакис и Салехи используют их как синонимы . Продолжая, я думаю, что расхождения связаны с различными определениями для сигналов, которые имеют один, спектра мощности. Обычное определение этого является квадратом величины преобразованных Фурье данных. Теорема Винера-Хинчина предоставляет другой путь к спектру мощности для сигналов WSS через преобразование Фурье автокорреляции. В зависимости от того, определяете ли вы спектр мощности квадратом, вы получаете квадрат в спектральной плоскостности.

Другие используют величину преобразования Фурье . Некоторые называют это «спектром мощности» и резервируют название « плотность спектра мощности » для производной от «спектра мощности», в то время как другие резервируют термин «спектр мощности» для интеграла от преобразования Фурье автокорреляции (что другие называют спектр мощности). Как видите, определений предостаточно; не стесняйтесь изобретать свои собственные :) Или придерживайтесь стандарта Винера-Хинчина.

Смежный вопрос : Разница между спектральной плотностью мощности, спектральной мощностью и отношениями мощности?


Это говорит о «спектре мощности» тоже.
эндолит

1
ಠ_ಠ
Эндолит

0

Это хороший вопрос, который мне тоже был интересен. Спектральная плоскостность (также известная как энтропия Вейнера) является просто мерой «пиковости» вектора.

Этот источник, по- видимому, указывает на то, что рассматриваемый вектор является спектральной плотностью мощности, и в этом случае вы должны возвести в квадрат. Если вы возводите в квадрат спектр величин, вы акцентируете пики над случаем, когда вы явно не возводите в квадрат, и я думаю, что это также имеет более интуитивный смысл.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.