FFT에서 스펙트럼 편평도를 어떻게 계산합니까?


17

좋아, 스펙트럼 평탄도 (도 위너 엔트로피 불리는)은 그것의 산술 평균에 대한 스펙트럼의 기하학적 평균의 비로서 정의된다.

Wikipedia와 다른 참고 문헌들은 전력 스펙트럼을 말합니다 . 푸리에 변환의 제곱이 아닌가요? FFT는 "진폭 스펙트럼"을 생성 한 다음 "전력 스펙트럼"을 얻기 위해 제곱합니까?

기본적으로 내가 알고 싶은 spectrum = abs(fft(signal))것은 이것들 중 어느 것이 맞습니까?

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

Wikipedia의 정의는 크기를 직접 사용하는 것으로 보입니다.

Flatness=n=0N1x(n)Nn=0N1x(n)N=exp(1Nn=0N1lnx(n))1Nn=0N1x(n)
여기서 은 빈 수 의 크기를 나타냅니다 .n엑스()

SciPy 문서 는 전력 스펙트럼을 다음과 같이 정의합니다.

입력 a가 시간 영역 신호이고 A = fft(a), np.abs(A)는 진폭 스펙트럼이고 np.abs(A)**2전력 스펙트럼입니다.

이 소스 는 "전력 스펙트럼"의 정의에 동의하고이를 .에스에프(ω)

우리는 정의 할 수 푸리에 기간 T에서의 신호의 변환이며, 다음과 같이 파워 스펙트럼을 정의 S f ( ω ) = 최소 T 1에프(ω)에스에프(ω)=1에프(ω)2.

이 소스S (f)로 Wiener 엔트로피를 정의합니다 에스(에프).

그러나 나는 이와 같은 방정식의 제곱을 보지 못합니다 . 크기 스펙트럼을 기반으로하는 것 같습니다 .

에스에프이자형에스에스=특급(1케이로그(케이))1케이케이

마찬가지로, 다른 소스 는 전력 스펙트럼 측면에서 스펙트럼 평탄도를 정의하지만 FFT 빈의 크기를 직접 사용하는데, 이는 위의 "전력 스펙트럼"정의와 충돌하는 것처럼 보입니다.

"전력 스펙트럼"은 사람들마다 다른 것을 의미합니까?


Wikipedia 에 따르면 : 스펙트럼 평탄도 ak는 빈 수 k의 크기를 나타냅니다.
Hamed Gholami

안녕 @ endolith, 당신은 당신이 기꺼이 받아 들일 만족스러운 답변을 받았습니까?
jojek

@jojek 아니, 아직
endolith

1
@endolith, 나는 피터가 머리에 못을 박았다고 생각합니다.)
jojek

@ jojek 보드를 통해 못을 박 으려고했습니다. 😂
Peter K.

답변:


4

내가 올릴 수있는 가장 권위있는 언급은 Jayant & Noll, Digital Coding Of Waveforms , (c) Bell Telephone Laboratories, Incorporated 1984, Prentice-Hall, Inc.

57 페이지에서 스펙트럼 평탄도를 정의합니다.

스펙트럼 평탄도

이전에는 55 페이지에서 정의했습니다 .에스엑스엑스

전력 스펙트럼의 정의

따라서 FFT 제곱 버전은 원하는 버전입니다.

그것은처럼 보이는 Makhoul & 늑대, 선형 예측과 음성의 스펙트럼 분석 , 볼트, 베라 넥과 뉴먼, Inc.의 기술 보고서, 1972도 사용할 수 있습니다.

그리고 그것은 같은 정의를 가지고 있습니다 :

여기에 이미지 설명을 입력하십시오

여기에 이미지 설명을 입력하십시오


7

평탄도의 정의에 따라 전력 스펙트럼을 사용하도록 지시하는 경우 SciPy 설명서의 참조에서 알 수 있듯이 크기를 제곱해야합니다. 제곱자가 보이지 않는 곳에서 언급 한 방정식에서, 나는 당신이 그것을 많이 읽을 수 있다고 생각하지 않습니다. 그것은 말한다

에스에프이자형에스에스=특급(1케이로그(케이))1케이케이

그러나 나는 어디에서나 대한 정의를 보지 못했다 . 스펙트럼을 각 빈의 전력에 비례하게하려면 제곱해야합니다.케이


나는이 정의가 실제로 무엇인지에 대한 질문 추측 입니다 다음
endolith

고조파-차동 차별에 대한 세그먼트 스펙트럼 평탄도 측정 에 따르면, 는 빈 수 k의 진폭 스펙트럼을 나타낸다. 케이
Hamed Gholami

@HamedGholami 다시 답변으로 댓글을 입력하지 마십시오. 귀하의 의견은 질문에 대한 답변을 제공하지 않지만 여기서 도움이 되려고합니다.
Peter K.

@PeterK. 새로운 사용자는 의견을 게시 할 수 없지만 답변을 게시 할 수 있다고 생각합니다.
endolith

1
@endolith 이해했다. 그러나 jojek이 첫 번째 답변을 질문에 대한 의견으로 옮긴 후에도 Hamed는 답변과 동일한 의견을 다시 게시했습니다. 이것이 내가 설득하고자하는 행동입니다. "답변"이 이동 된 후에 다시 게시합니다.
Peter K.

4

정의는 다양하지 않습니까? 해결하는 첫 번째 것은 우리가 동의 여부 전력 스펙트럼 밀도가 받는 것과 동일 파워 스펙트럼 , 그렇지 않으면 우리는 모두 무엇을 의미하는지 정의합니다. Proakis와 Salehi 는 동의어를 사용합니다 . 계속해서, 불일치는 전력 스펙트럼을 가진 신호에 대한 정의가 다르기 때문이라고 생각합니다. 이것의 일반적인 정의 는 푸리에 변환 된 데이터 의 크기 제곱 입니다. 위너 - Khinchin 정리는 푸리에 WSS 통해 신호를 파워 스펙트럼으로 다른 경로는 자기 상관의 변환을 제공한다. 제곱으로 전력 스펙트럼을 정의하는지 여부에 따라 스펙트럼 평탄도에서 제곱을 얻습니다.

다른 사람들 은 푸리에 변환의 크기를 사용합니다 . 어떤 사람들은 이것을 "파워 스펙트럼" 이라고 부르고 , "파워 스펙트럼" 의 미분 에 대해서는 "파워 스펙트럼 밀도 " 라는 이름 을 사용하는 반면, 다른 사람들 은 자기 상관의 푸리에 변환의 적분에 대해 "파워 스펙트럼"이라는 용어를 사용 합니다 (다른 사람들이 부르는 것) 전력 스펙트럼). 보시다시피, 정의는 풍부합니다. :) 또는 Wiener-Khinchin 표준을 고수하십시오.

관련 질문 : 전력 스펙트럼 밀도, 스펙트럼 전력 및 전력 비율의 차이?


그것은 "전력 스펙트럼"이라고도 말합니다.
endolith

1
ಠ_ಠ
endolith

0

좋은 질문입니다. 나 자신도 궁금했습니다. 스펙트럼 편평도 (와이너 엔트로피라고도 함)는 단순히 벡터의 '피크 니스'의 척도입니다.

소스 는 고려중인 벡터가 전력 스펙트럼 밀도임을 나타내며,이 경우 제곱해야합니다. 크기 스펙트럼을 제곱하면 분명히 정사각형이 아닌 경우에 피크가 강조되고 더 직관적이라고 생각합니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.