คุณคำนวณความเรียบของสเปกตรัมจาก FFT อย่างไร


17

ตกลงความเรียบของสเปกตรัม (หรือเรียกอีกอย่างว่า Wiener เอนโทรปี) ถูกกำหนดเป็นอัตราส่วนของค่าเฉลี่ยเรขาคณิตของสเปกตรัมต่อค่าเฉลี่ยเลขคณิต

วิกิพีเดียและการอ้างอิงอื่น ๆ บอกว่าสเปกตรัมกำลัง นั่นคือจตุรัสของฟูริเยร์ใช่ไหม FFT สร้าง "สเปกตรัมแอมพลิจูด" แล้วคุณยกกำลังสองนั้นเพื่อให้ได้ "สเปกตรัมพลังงาน"?

โดยพื้นฐานแล้วสิ่งที่ฉันอยากรู้คือถ้าspectrum = abs(fft(signal))สิ่งใดที่ถูกต้อง?

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

คำนิยามของ Wikipedia ดูเหมือนว่าจะใช้ขนาดโดยตรง:

Fล.aเสื้อnอีss=Πn=0ยังไม่มีข้อความ-1x(n)ยังไม่มีข้อความΣn=0ยังไม่มีข้อความ-1x(n)ยังไม่มีข้อความ=ประสบการณ์(1ยังไม่มีข้อความΣn=0ยังไม่มีข้อความ-1LNx(n))1ยังไม่มีข้อความΣn=0ยังไม่มีข้อความ-1x(n)
ที่x(n)หมายถึงขนาดของจำนวนถังnn

SciPy docsกำหนดสเปกตรัมพลังงานเป็น:

เมื่อป้อนข้อมูลที่เป็นสัญญาณโดเมนเวลาและA = fft(a), np.abs(A)เป็นคลื่นความถี่ที่กว้างและnp.abs(A)**2เป็นคลื่นไฟฟ้าของมัน

แหล่งที่มานี้เห็นด้วยเกี่ยวกับความหมายของ "สเปกตรัมพลังงาน" และเรียกมันว่า :S(ω)

FT(ω)S(ω)=LimT1T|FT(ω)|2.

แหล่งที่มานี้กำหนด Wiener เอนโทรปีในแง่ของ )S()

แต่ฉันไม่เห็นการยกกำลังสองในสมการเช่นนี้ซึ่งดูเหมือนว่าจะขึ้นอยู่กับสเปกตรัมขนาด :

Sล.aเสื้อnอีss=ประสบการณ์(1ยังไม่มีข้อความΣkเข้าสู่ระบบ(ak))1ยังไม่มีข้อความΣkak

ในทำนองเดียวกันแหล่งอื่นกำหนดความเรียบสเปกตรัมในแง่ของคลื่นไฟฟ้า แต่แล้วใช้ขนาดของถังขยะ FFT โดยตรงซึ่งก็ดูเหมือนจะขัดแย้งกับคำนิยามข้างต้นของ "พลังคลื่นความถี่"

"สเปกตรัมพลังงาน" หมายถึงสิ่งที่แตกต่างกับคนอื่นหรือไม่?


ตามที่Wikipedia: ความเรียบของสเปกตรัมเอเคแสดงถึงขนาดของหมายเลขถังขยะ k
Hamed Gholami

สวัสดี @endolith คุณได้รับคำตอบที่น่าพอใจว่าคุณยินดีที่จะยอมรับหรือไม่?
jojek

@jojek ไม่, ยังไม่
endolith

1
@endolith ฉันเชื่อว่าปีเตอร์เพิ่งตีเล็บในหัว;)
jojek

@jojek ฉันพยายามต่อยเล็บผ่านกระดาน 😂
ปีเตอร์เค

คำตอบ:


4

การอ้างอิงที่เชื่อถือได้มากที่สุดที่ฉันสามารถหาได้คือ Jayant & Noll, การเข้ารหัสแบบดิจิทัลของรูปคลื่น (c) Bell Telephone Laboratories, Incorporated 1984 เผยแพร่โดย Prentice-Hall, Inc.

บนหน้า 57 พวกเขากำหนดความเรียบของสเปกตรัม:

ความเรียบสเปกตรัม

Sxx

ความหมายของสเปกตรัมพลังงาน

ดังนั้นเวอร์ชัน FFT-squared จึงเป็นเวอร์ชั่นที่คุณต้องการ

ดูเหมือนว่าMakhoul & Wolf, การทำนายเชิงเส้นและการวิเคราะห์สเปกตรัมของ Speech , Bolt, Beranek และ Newman, Inc. รายงานทางเทคนิค, 1972 ก็มีให้เช่นกัน

และมันก็มีความหมายเดียวกัน:

ป้อนคำอธิบายรูปภาพที่นี่

ป้อนคำอธิบายรูปภาพที่นี่


7

หากคำจำกัดความของความเรียบบอกว่าคุณใช้สเปกตรัมพลังงานแล้วใช่คุณควรจัดให้มีขนาดเป็นสี่เหลี่ยมตามการอ้างอิงจากเอกสารของ SciPy ในสมการที่คุณอ้างถึงซึ่งคุณไม่ได้เห็นการยกกำลังสองฉันไม่คิดว่าคุณจะอ่านอะไรมากมาย มันบอกว่า

Sล.aเสื้อnอีss=ประสบการณ์(1ยังไม่มีข้อความΣkเข้าสู่ระบบ(ak))1ยังไม่มีข้อความΣkak

ak


ผมคิดว่านี้เป็นคำถามเกี่ยวกับสิ่งที่หมายจริงเป็นแล้ว
endolith

ak

@HamedGholami กรุณาอย่าใส่ความคิดเห็นของคุณเป็นคำตอบอีกครั้ง ความคิดเห็นของคุณไม่ได้ให้คำตอบสำหรับคำถาม แต่พยายามเป็นประโยชน์ที่นี่
ปีเตอร์เค

@PeterK ฉันคิดว่าผู้ใช้ใหม่ไม่สามารถโพสต์ความคิดเห็น แต่สามารถโพสต์คำตอบ
endolith

1
@ endolith เข้าใจ แต่หลังจาก jojek ได้ย้ายคำตอบแรกของเขาเพื่อเป็นความคิดเห็นเกี่ยวกับคำถาม Hamed ได้ทำการ reposted ความคิดเห็นเดียวกันกับคำตอบ นั่นคือพฤติกรรมที่ฉันต้องการจะห้ามปราม: โพสต์อีกครั้งหลังจาก "ตอบ" ถูกย้าย
Peter K.

4

คำจำกัดความแตกต่างกันไปใช่ไหม สิ่งแรกที่ต้องแก้ไขคือว่าเรายอมรับว่าความหนาแน่นของสเปกตรัมพลังงานเทียบเท่ากับสเปกตรัมพลังงานหรืออื่น ๆ กำหนดสิ่งที่เราหมายถึงโดยทั้งสอง ชื่อเรียกตามคุณสมบัติ Salehi ใช้พวกเขา synonymously ฉันคิดว่าความขัดแย้งนั้นเกิดจากคำจำกัดความที่แตกต่างกันสำหรับสัญญาณที่มีสเปกตรัมกำลังหนึ่ง คำจำกัดความปกติของนั่นคือขนาดกำลังสองของข้อมูลที่แปลงฟูริเยร์ ทฤษฎีบท Wiener-Khinchinให้เส้นทางอีกครั้งเพื่อให้คลื่นไฟฟ้าสำหรับสัญญาณ WSS ผ่านฟูเรียร์ของอัต ขึ้นอยู่กับว่าคุณกำหนดสเปกตรัมพลังงานด้วยสี่เหลี่ยมจัตุรัสหรือไม่คุณจะได้สี่เหลี่ยมจัตุรัสในความเรียบของสเปกตรัม

อื่น ๆใช้ขนาดของฟูริเยร์แปลง บางสายนี้ "พลังคลื่นความถี่" และขอสงวนชื่อ "พลังคลื่นความถี่หนาแน่น " สำหรับอนุพันธ์ของ "พลังคลื่นความถี่" ในขณะที่คนอื่น ๆ ขอสงวนคำว่า "คลื่นไฟฟ้า" สำหรับหนึ่งของฟูริเยร์แปลงของอัต (สิ่งที่คนอื่นโทร สเปกตรัมพลังงาน) อย่างที่คุณเห็นคำจำกัดความมากมาย รู้สึกอิสระที่จะประดิษฐ์คุณเป็นเจ้าของ :) หรือยึดติดกับมาตรฐาน Wiener-Khinchin

คำถามที่เกี่ยวข้อง : ความแตกต่างระหว่างความหนาแน่นสเปกตรัมพลังงานกำลังสเปกตรัมและอัตราส่วนกำลังหรือไม่


นั่นบอกว่า "สเปกตรัมพลังงาน" ด้วย
endolith

1
ಠ_ಠ
endolith

0

เป็นคำถามที่ดีที่ฉันสงสัยในตัวเองเช่นกัน ความเรียบของสเปคตรัม (หรือที่เรียกว่า Weiner Entropy) เป็นเพียงการวัดความ 'ยอด' ของเวกเตอร์

ดูเหมือนว่าแหล่งข้อมูลนี้จะระบุว่าเวกเตอร์ที่กำลังพิจารณาคือความหนาแน่นสเปกตรัมพลังงานซึ่งในกรณีนี้คุณต้องยกกำลังสอง หากคุณยกกำลังสองสเปกตรัมออกมาคุณจะเน้นจุดสูงสุดในกรณีที่คุณไม่ได้ยกกำลังสองอย่างชัดเจนและฉันคิดว่าสิ่งนี้จะช่วยให้เข้าใจได้ง่ายขึ้น

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.