ด่วนแปลงฟูเรียใช้เวลาการดำเนินงานในขณะที่จานด่วนแปลงเวฟเล็ตใช้เวลา(N) แต่ FWT คำนวณอะไรโดยเฉพาะ?
แม้ว่าจะมีการเปรียบเทียบบ่อยครั้ง แต่ดูเหมือนว่า FFT และ FWT เป็นแอปเปิ้ลและส้ม ตามที่ฉันเข้าใจมันจะเป็นการดีกว่าที่จะเปรียบเทียบ STFT (FFTs ของชิ้นเล็ก ๆ เมื่อเวลาผ่านไป) กับMorlet WT ที่ซับซ้อนเนื่องจากทั้งคู่เป็นตัวแทนความถี่เวลาตามไซนัสที่ซับซ้อน (โปรดแก้ไขฉันหากฉันผิด ) นี่มักจะแสดงด้วยแผนภาพดังนี้:
( อีกตัวอย่าง )
ทางด้านซ้ายแสดงให้เห็นว่า STFT เป็นพวงของ FFTs ซ้อนกันอยู่ด้านบนของเวลาที่ผ่านไป (การแสดงนี้เป็นที่มาของspectrogram ) ในขณะที่ด้านขวาแสดง dyadic WT ซึ่งมีความละเอียดเวลาที่ดีกว่าที่ความถี่สูงและความถี่ที่ดีขึ้น ความละเอียดที่ความถี่ต่ำ (การแสดงนี้เรียกว่าscalogram ) ในตัวอย่างนี้สำหรับ STFT เป็นจำนวนคอลัมน์แนวตั้ง (6) และเป็นหนึ่งเดียวการดำเนินการ FFT คำนวณแถวเดียวของสัมประสิทธิ์จากตัวอย่าง รวมเป็น 8 FFTs ของ 6 คะแนนแต่ละหรือ 48 ตัวอย่างในโดเมนเวลาO ( N บันทึกN ) N N
สิ่งที่ฉันไม่เข้าใจ:
สัมประสิทธิ์การคำนวณการดำเนินงาน FWT เดียวมีค่าสัมประสิทธิ์จำนวนเท่าใดและพวกเขาอยู่ที่ไหนในแผนภูมิเวลาความถี่ด้านบน
รูปสี่เหลี่ยมใดที่ได้รับการเติมด้วยการคำนวณเดียว?
หากเราคำนวณบล็อกพื้นที่เท่ากับค่าสัมประสิทธิ์ความถี่เวลาโดยใช้ทั้งสองเราจะได้รับข้อมูลจำนวนเท่ากันหรือไม่
FWT ยังมีประสิทธิภาพมากกว่า FFT หรือไม่
ตัวอย่างคอนกรีตที่ใช้PyWavelets :
In [2]: dwt([1, 0, 0, 0, 0, 0, 0, 0], 'haar')
Out[2]:
(array([ 0.70710678, 0. , 0. , 0. ]),
array([ 0.70710678, 0. , 0. , 0. ]))
มันสร้างสัมประสิทธิ์ 4 ชุดสองชุดดังนั้นมันจึงเหมือนกับจำนวนตัวอย่างในสัญญาณดั้งเดิม แต่ความสัมพันธ์ระหว่าง 8 สัมประสิทธิ์เหล่านี้กับไทล์ในไดอะแกรมคืออะไร?
ปรับปรุง:
ที่จริงแล้วฉันอาจทำสิ่งนี้ผิดและควรใช้wavedec()
ซึ่งทำให้การแบ่งแยก DWT หลายระดับ:
In [4]: wavedec([1, 0, 0, 0, 0, 0, 0, 0], 'haar')
Out[4]:
[array([ 0.35355339]),
array([ 0.35355339]),
array([ 0.5, 0. ]),
array([ 0.70710678, 0. , 0. , 0. ])]