Ok, kerataan spektral (juga disebut entener Wiener) didefinisikan sebagai rasio rata-rata geometrik suatu spektrum terhadap rata-rata aritmatika.
Wikipedia dan referensi lain menyebutkan spektrum kekuatan . Bukankah itu kuadrat dari transformasi Fourier? FFT menghasilkan "spektrum amplitudo" dan kemudian Anda kuadratkan untuk mendapatkan "spektrum daya"?
Pada dasarnya yang ingin saya ketahui adalah, jika spectrum = abs(fft(signal))
, yang mana yang benar?
spectral_flatness = gmean(spectrum)/mean(spectrum)
spectral_flatness = gmean(spectrum^2)/mean(spectrum^2)
Definisi Wikipedia tampaknya menggunakan besarnya secara langsung:
mana mewakili besarnya nomor bin .n
Dokumen SciPy mendefinisikan spektrum daya sebagai:
Ketika input a adalah sinyal domain waktu dan
A = fft(a)
,np.abs(A)
adalah spektrum amplitudo dannp.abs(A)**2
spektrum tenaganya.
Sumber ini setuju tentang definisi "spektrum daya" dan menyebutnya :
Kita dapat mendefinisikan yang merupakan transformasi fourier dari sinyal dalam periode T, dan mendefinisikan spektrum daya sebagai berikut: S f ( ω ) = lim T → ∞ 1
Sumber ini mendefinisikan entropi Wiener dalam hal .
Tapi saya tidak melihat kuadrat dalam persamaan seperti ini , yang tampaknya didasarkan pada spektrum besarnya :
Demikian juga, sumber lain mendefinisikan kerataan spektral dalam hal spektrum daya, tetapi kemudian menggunakan besarnya tempat sampah FFT secara langsung, yang tampaknya bertentangan dengan definisi "spektrum daya" di atas.
Apakah "spektrum kekuatan" memiliki arti yang berbeda bagi orang yang berbeda?
Jawaban:
Referensi paling otoritatif yang bisa saya dapatkan adalah dari Jayant & Noll, Digital Coding Of Waveforms , (c) Bell Telephone Laboratories, Incorporated 1984, diterbitkan oleh Prentice-Hall, Inc.
Pada halaman 57, mereka mendefinisikan kerataan spektral:
dan, sebelumnya, pada halaman 55 mereka mendefinisikan :Sx x
Jadi versi FFT-squared adalah yang Anda inginkan.
Sepertinya Makhoul & Wolf, Prediksi Linear dan Analisis Spektral Pidato , Bolt, Beranek, dan Laporan Teknis Newman, Inc., 1972 juga tersedia.
Dan itu memiliki definisi yang sama:
sumber
Jika definisi flatness menyatakan bahwa Anda menggunakan spektrum daya, maka ya, Anda harus menguadratkan magnitude seperti yang ditunjukkan oleh referensi dari dokumentasi SciPy. Dalam persamaan yang Anda referensikan di mana Anda tidak melihat kuadrat, saya tidak berpikir Anda bisa membaca banyak ke dalamnya; dikatakan itu
tapi saya tidak melihat definisi untuk mana saja. Jika Anda ingin spektrum sebanding dengan kekuatan di setiap nampan, Anda perlu kuadratkan.Sebuahk
sumber
Definisi bervariasi, bukan? Hal pertama yang harus diselesaikan adalah apakah kita setuju bahwa kerapatan spektrum daya setara dengan spektrum daya , atau menentukan apa yang kita maksudkan dengan keduanya. Proakis dan Salehi menggunakannya secara sinonim . Bergerak maju, saya pikir perbedaan disebabkan oleh definisi yang berbeda, untuk sinyal yang memiliki spektrum daya. Definisi yang biasa tentang itu adalah besarnya kuadrat dari data transformasi Fourier. The Wiener-Khinchin teorema menyediakan rute lain untuk spektrum daya untuk sinyal WSS melalui Fourier transform dari autokorelasi. Tergantung pada apakah Anda menentukan spektrum daya dengan kuadrat, Anda mendapatkan kuadrat dalam kerataan spektral.
Lainnya menggunakan besarnya transformasi Fourier . Beberapa menyebut ini "spektrum daya", dan mencadangkan nama " kerapatan spektrum daya " untuk turunan dari "spektrum daya", sementara yang lain mencadangkan istilah "spektrum daya" untuk integral dari transformasi Fourier dari autokorelasi (apa yang orang lain sebut spektrum daya). Seperti yang Anda lihat, definisi berlimpah; jangan ragu untuk menciptakan milik Anda sendiri :) Atau tetap berpegang pada standar Wiener-Khinchin.
Pertanyaan terkait : Perbedaan antara kerapatan spektral daya, daya spektral dan rasio daya?
sumber
Ini pertanyaan yang bagus, yang juga saya tanyakan pada diri saya sendiri. Kerataan spektral (juga dikenal sebagai Weiner Entropy) hanyalah ukuran dari 'puncak' vektor.
Sumber ini tampaknya menunjukkan bahwa vektor yang dipertimbangkan adalah kepadatan spektral daya, dalam hal ini Anda harus kuadratkan. Jika Anda kuadratkan spektrum magnitudo, Anda menekankan puncak pada kasus di mana Anda tidak jelas, dan saya pikir ini juga lebih masuk akal.
sumber