สิ่งที่ควรพิจารณาเมื่อเลือกฟังก์ชั่นหน้าต่างเมื่อปรับเวลาให้เรียบ


25

หากใครต้องการทำให้อนุกรมเวลาราบรื่นขึ้นโดยใช้ฟังก์ชั่นหน้าต่างเช่น Hanning, Hamming, Blackman เป็นต้นสิ่งที่ต้องคำนึงถึงในการเลือกหน้าต่างใดหน้าต่างหนึ่งเหนือหน้าต่างอื่น?

คำตอบ:


23

ปัจจัยหลักสองประการที่อธิบายฟังก์ชันของหน้าต่างคือ:

  1. ความกว้างของกลีบหลัก (เช่นที่ความถี่ของถังขยะคือกำลังครึ่งหนึ่งของการตอบสนองสูงสุด)
  2. การลดทอนของแยมด้านข้าง (กล่าวคือไกลแค่ไหนแฉกแฉกข้างจาก mainlobe) สิ่งนี้บอกคุณเกี่ยวกับการรั่วไหลของสเปกตรัมในหน้าต่าง

ปัจจัยที่ไม่ได้พิจารณาบ่อย ๆ ก็คืออัตราการลดทอนของไซเดลโบสคืออัตราการลดทอนของไซเซโลเบสที่ตายเร็วแค่ไหน

นี่คือการเปรียบเทียบอย่างรวดเร็วสำหรับฟังก์ชั่นหน้าต่างที่เป็นที่รู้จักกันดีสี่ฟังก์ชัน: Rectangular, Blackman, Blackman-Harris และ Hamming เส้นโค้งด้านล่างเป็น FFT 2048 จุดจากหน้าต่าง 64 จุด

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

คุณสามารถเห็นได้ว่าฟังก์ชั่นรูปสี่เหลี่ยมผืนผ้ามีกลีบหลักที่แคบมาก ๆ แต่กลีบด้านข้างค่อนข้างสูงที่ ~ 13 dB ฟิลเตอร์อื่น ๆ นั้นมีความสำคัญต่อแต่หลักมากขึ้น ในท้ายที่สุดมันคือการแลกเปลี่ยน คุณมีทั้งคู่ไม่ได้คุณต้องเลือกอย่างใดอย่างหนึ่ง

ฟังก์ชั่นหน้าต่างที่คุณเลือกนั้นขึ้นอยู่กับความต้องการของคุณเป็นพิเศษ ตัวอย่างเช่นหากคุณกำลังพยายามแยก / ระบุสัญญาณสองตัวที่มีความถี่ค่อนข้างใกล้เคียงกัน แต่มีความแรงคล้ายกันคุณควรเลือกรูปสี่เหลี่ยมผืนผ้าเพราะมันจะให้ความละเอียดที่ดีที่สุด

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

ในแผ่นดินไหวและธรณีฟิสิกส์มันเป็นเรื่องธรรมดาที่จะใช้Slepian windows (หรือแยกออกมาเป็นลูกคลื่น spheroidal wavefunctions ซึ่งเป็น eigenfunctions ของ sinc เคอร์เนล) เพื่อเพิ่มพลังงานเข้มข้นในกลีบหลัก


2
"สัญญาณสองตัวที่มีความถี่ค่อนข้างใกล้ชิด ... คุณควรเลือกรูปสี่เหลี่ยมผืนผ้า" ใช่ แต่โดยปกติแล้วจะเป็นการดีกว่าเพียงเพิ่มขนาดหน้าต่างแล้วใช้หน้าต่าง Hann / Gauss / Hamming / ... หากคุณต้องการหน้าหลักแคบ แฉก รูปสี่เหลี่ยมผืนผ้าค่อนข้างแย่มากที่ด้านข้างของมันและยังไม่ค่อยดีเท่าที่วางซ้อนหน้าต่างซึ่งใช้งานได้ดีกับฮัน (ที่แน่นอนประโยชน์เฉพาะในกรณีที่คุณสามารถจ่ายในการคำนวณหน้าต่างที่ทับซ้อนกันใหญ่.)
leftaroundabout

1
@leftaroundabout แน่นอน แต่โดยทั่วไปจะทำการเปรียบเทียบขนาดหน้าต่างคงที่ มันค่อนข้างไม่ยุติธรรมเลยที่จะเปรียบเทียบหน้าต่างที่มีขนาดหนึ่งกับอีกขนาดที่แตกต่างกัน ใช่รูปสี่เหลี่ยมผืนผ้านั้นเส็งเคร็งส่วนใหญ่ แต่มันมีประโยชน์ในบางกรณี สำหรับ OP: I have สั้นสั้นและไม่ใช่คณิตศาสตร์คำอธิบายเกี่ยวกับหน้าต่างที่นี่ในกองมากเกิน คุณอาจพบว่ามันและการเชื่อมโยงในนั้น (ผมเคยเชื่อมโยงกับกระดาษแฮร์ริส แต่ฉันเห็นมาร์ตินมีมันปกคลุมที่นี่) ที่มีประโยชน์
Lorem Ipsum

@ LoremIpsum ความหมายของคำว่า "2048-FFTs ของ Windows 64-point" .. ได้โปรดแนะนำ?
user6363

8

มีหน้าต่างหลากหลายขนาดใหญ่เมื่อเปรียบเทียบกับกระดาษแฮร์ริสเฟรินัลในปี 1978:

"ในการใช้งาน Windows สำหรับการวิเคราะห์เสียงประสานด้วยการแปลงฟูริเยร์แบบไม่ต่อเนื่อง"

คุ้มค่าที่จะอ่าน!


ขอบคุณ ฉันพบว่าการสแกนคุณภาพของเอกสารนั้นดีขึ้นที่นี่: utdallas.edu/~cpb021000/EE%204361/Great%20DSP%20Papers/…
Martin Scharrer

1

คำถามของคุณค่อนข้างสับสนเนื่องจากการปรับให้เรียบอนุกรมเวลาโดยปกติจะไม่ใช้ในบริบทเดียวกับการเรียงหน้าต่าง

สิ่งที่คุณอาจหมายถึงคือการเรียงลำดับเวลาของหน้าต่างมีผลต่อการตอบสนองความถี่ คุณสามารถค้นหารายละเอียดของคุณสมบัติของหน้าต่างที่ใช้มากที่สุดและการออกแบบที่ไม่ชอบการค้าได้ในเกือบหนังสือ DSP ใด ๆ และวิกิพีเดียครอบคลุมหัวข้อเช่นเดียวhttp://en.wikipedia.org/wiki/Window_function มีเกณฑ์หนึ่งสำหรับการเลือกฟังก์ชั่นหน้าต่างที่ฉันยังไม่เคยเห็นที่อธิบายไว้ในหนังสือ DSP นอกเหนือจากความกว้าง mainlobe ดั้งเดิมและการลดทอน sidelobe แบบดั้งเดิมและความสะดวกสบายในการคำนวณ ตัวอย่างเช่นในบางแอปพลิเคชั่นหน้าต่าง Hamming เป็นที่ต้องการเพราะถ้าคุณ FFT หน้าต่าง Hamming คุณจะได้รับก๊อกที่ไม่เป็นศูนย์เพียง 3 ครั้งเท่านั้น!

แน่นอนว่าคุณสามารถทำให้อนุกรมเวลาราบรื่นขึ้นได้โดยการกรองด้วยฟังก์ชั่นหน้าต่างเนื่องจากฟังก์ชั่นหน้าต่างมีคุณสมบัติ low-pass แต่นั่นอาจไม่ใช่สิ่งที่คุณถาม


@leftaroundabout: "" สัญญาณสองตัวที่ค่อนข้างใกล้ชิดกับความถี่ ... คุณควรเลือกสี่เหลี่ยม "ขวาแม้ว่าโดยปกติแล้วจะเป็นการดีกว่าเพียงเพิ่มขนาดหน้าต่างแล้วใช้หน้าต่าง Hann / Gauss / Hamming / ... คุณต้องมี lobes หลักแคบ ๆ รูปสี่เหลี่ยมผืนผ้าค่อนข้างน่ากลัวในด้านของ lobes และยังไม่ให้ยืมตัวเองได้ดีสำหรับการวางซ้อนหน้าต่างซึ่งทำงานได้ดีกับ Hann (แน่นอนว่ามีประโยชน์เฉพาะในกรณีที่คุณสามารถคำนวณหน้าต่างที่ซ้อนกันขนาดใหญ่) " คุณช่วยอธิบายได้หรือไม่ว่าทำไมการซ้อนทับจึงทำงานได้ดีกับฮันมากกว่าหน้าต่างอื่น
niaren

คำแถลงนั้นไม่ได้มีความหมายเฉพาะ ประสบการณ์หนึ่งที่ฉันมีฮันทำงานได้ดีที่สุดในบรรดาหน้าต่างที่ฉันทดสอบ แต่อาจมีบางกรณีที่หน้าต่างอื่นทำงานได้ดีกว่า มันเป็นอะไรที่มากกว่าความสงสัยที่คลุมเครือของฉันที่หน้าต่างโคไซน์ควรให้ประสิทธิภาพการซ้อนทับที่ดีที่สุดเพราะ$ \ cos ^ 2 + \ sin ^ 2 = 1 $ ; ดังนั้นการลงทะเบียนชั่วคราวจึงมีความแข็งแกร่งเท่ากันไม่ว่าจะเกิดการซ้อนทับกันที่ไหน
leftaroundabout

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