อ่าน 4 นาที
การคอนโวลูชันแบบวงกลม
การคอนโวลูชันแบบวงกลม หรือที่เรียกว่า คอนโวลูชันแบบวัฏจักร เป็นกรณีพิเศษของ การคอนโวลูชันแบบคาบ ซึ่งเป็นการ คอนโวลูชัน ของฟังก์ชันคาบสองฟังก์ชันที่มีคาบเดียวกัน...
การคอนโวลูชันแบบวงกลม
การคอนโวลูชันแบบวงกลมหรือที่เรียกว่าคอนโวลูชันแบบวัฏจักรเป็นกรณีพิเศษของการคอนโวลูชันแบบคาบซึ่งเป็นการคอนโวลูชันของฟังก์ชันคาบสองฟังก์ชันที่มีคาบเดียวกัน การคอนโวลูชันแบบคาบเกิดขึ้น ตัวอย่างเช่น ในบริบทของการแปลงฟูริเยร์แบบเวลาไม่ต่อเนื่อง (DTFT) โดยเฉพาะอย่างยิ่ง DTFT ของผลคูณของลำดับไม่ต่อเนื่องสองลำดับคือการคอนโวลูชันแบบคาบของ DTFT ของแต่ละลำดับ และแต่ละ DTFT เป็นผลรวมแบบคาบของ ฟังก์ชัน การแปลงฟูริเยร์แบบต่อเนื่อง (ดูการแปลงฟูริเยร์แบบเวลาไม่ต่อเนื่อง § ความสัมพันธ์กับการแปลงฟูริเยร์ ) แม้ว่า DTFT มักจะเป็นฟังก์ชันต่อเนื่องของความถี่ แต่แนวคิดของการคอนโวลูชันแบบคาบและแบบวงกลมก็สามารถนำไปใช้กับลำดับข้อมูลแบบไม่ต่อเนื่องได้โดยตรง ในบริบทนั้น การคอนโวลูชันแบบวงกลมมีบทบาทสำคัญในการเพิ่มประสิทธิภาพของการดำเนินการกรองทั่วไปบางประเภทให้สูงสุด
คำจำกัดความ
การสังเคราะห์แบบคาบของฟังก์ชันคาบ T สองฟังก์ชันสามารถนิยามได้ดังนี้:
โดยที่เป็นพารามิเตอร์ที่กำหนดขึ้นเอง นิยามทางเลือกอีกแบบหนึ่ง ในแง่ของสัญกรณ์ของ การสังเคราะห์ เชิงเส้น ปกติ หรือแบบไม่เป็นคาบจะได้มาจากการแสดงและเป็นผลรวมแบบเป็นคาบของส่วนประกอบแบบไม่เป็นคาบและกล่าวคือ:
แล้ว:
| สมการที่ 1 |
การหาที่มาของสมการที่ 1 |
|---|
ทั้งสองรูปแบบสามารถเรียกว่าการสังเคราะห์แบบคาบได้ [ ก ] คำว่าการสังเคราะห์แบบวงกลม[ 2 ] [ 3 ]เกิดขึ้นจากกรณีพิเศษที่สำคัญของการจำกัดส่วนที่ไม่เป็นศูนย์ของทั้งและให้อยู่ในช่วง จาก นั้นการรวมแบบคาบจะกลายเป็นการขยายแบบคาบ[ข]ซึ่งสามารถแสดงเป็นฟังก์ชันวงกลม ได้เช่นกัน :
- ( จำนวนจริงใดๆ ) [ค]
และขอบเขตของการอินทิเกรตจะลดลงเหลือเพียงความยาวของฟังก์ชัน:
ลำดับแบบไม่ต่อเนื่อง
ในทำนองเดียวกัน สำหรับลำดับแบบไม่ต่อเนื่อง และพารามิเตอร์Nเราสามารถเขียนการสังเคราะห์แบบวงกลมของฟังก์ชันที่ไม่เป็นคาบ ได้ดังนี้:
ฟังก์ชันนี้เป็นฟังก์ชัน คาบ Nมีค่าที่ไม่ซ้ำกันอย่างมากที่สุดNค่า ในกรณีพิเศษที่ค่าที่ไม่เป็นศูนย์ของทั้งxและhมี ค่า ≤ Nสามารถลดรูปเป็นการคูณเมทริกซ์ ได้ โดยที่เคอร์เนลของการแปลงอินทิกรัลเป็นเมทริกซ์แบบวงกลม
ตัวอย่าง

ภาพประกอบแสดงให้เห็นถึงกรณีที่มีความสำคัญในทางปฏิบัติอย่างมาก ระยะเวลาของ ลำดับ xคือN (หรือน้อยกว่า) และระยะเวลาของ ลำดับ hนั้นน้อยกว่ามาก ดังนั้นค่าของการสังเคราะห์แบบวงกลมจำนวนมากจึงเหมือนกับค่าของx∗hซึ่งเป็นผลลัพธ์ที่ต้องการเมื่อ ลำดับ hเป็น ตัวกรอง แบบตอบสนองแบบจำกัด (FIR) ยิ่งไปกว่านั้น การสังเคราะห์แบบวงกลมนั้นคำนวณได้อย่างมีประสิทธิภาพมาก โดยใช้ อัลกอริธึม การแปลงฟูริเยร์แบบเร็ว (FFT) และทฤษฎีบท การสังเคราะห์แบบวงกลม
นอกจากนี้ยังมีวิธีการจัดการกับ ลำดับ xที่ยาวกว่าค่าN ที่ใช้งานได้จริง โดยจะแบ่งลำดับออกเป็นส่วนๆ ( บล็อก ) และประมวลผลทีละส่วน จากนั้นจึงนำส่วนที่ผ่านการกรองแล้วมาประกอบเข้าด้วยกันอย่างระมัดระวัง กำจัดผลกระทบจากขอบโดยการซ้อนทับบล็อกอินพุตหรือบล็อกเอาต์พุต เพื่อช่วยในการอธิบายและเปรียบเทียบวิธีการ เราจะกล่าวถึงทั้งสองวิธีในบริบทของ ลำดับ hที่มีความยาว 201 และขนาด FFT เท่ากับ N = 1024
บล็อกอินพุตที่ซ้อนทับกัน
วิธีนี้ใช้ขนาดบล็อกเท่ากับขนาด FFT (1024) เราจะอธิบายในแง่ของการคอนโวลูชันแบบปกติหรือเชิงเส้น ก่อน เมื่อทำการคอนโวลูชันแบบปกติในแต่ละบล็อก จะมีช่วงเริ่มต้นและช่วงลดลงที่ขอบบล็อกเนื่องจากความหน่วง ของตัวกรอง (200 ตัวอย่าง) มีเพียง 824 เอาต์พุตของการคอนโวลูชันเท่านั้นที่ไม่ได้รับผลกระทบจากเอฟเฟกต์ขอบ ส่วนที่เหลือจะถูกทิ้งหรือไม่ได้คำนวณ ซึ่งจะทำให้เกิดช่องว่างในเอาต์พุตหากบล็อกอินพุตต่อเนื่องกัน ช่องว่างเหล่านี้จะถูกหลีกเลี่ยงโดยการซ้อนทับบล็อกอินพุตด้วย 200 ตัวอย่าง ในแง่หนึ่ง 200 องค์ประกอบจากแต่ละบล็อกอินพุตจะถูก "บันทึก" และส่งต่อไปยังบล็อกถัดไป วิธีนี้เรียกว่าการบันทึกแบบซ้อนทับ [ 4 ] แม้ว่าวิธีที่เราอธิบายต่อไปนี้จะต้องการ "บันทึก" ที่คล้ายกันกับตัวอย่างเอาต์พุตก็ตาม
เมื่อใช้ FFT ในการคำนวณตัวอย่าง DFT ที่ไม่ได้รับผลกระทบ 824 ตัวอย่าง เราไม่มีทางเลือกที่จะไม่คำนวณตัวอย่างที่ได้รับผลกระทบ แต่ผลกระทบที่ขอบด้านหน้าและด้านหลังจะทับซ้อนและบวกกันเนื่องจากการคอนโวลูชันแบบวงกลม ดังนั้น ผลลัพธ์ของ Inverse FFT (IFFT) 1024 จุด จึงมีเพียง 200 ตัวอย่างของผลกระทบที่ขอบ (ซึ่งถูกทิ้งไป) และ 824 ตัวอย่างที่ไม่ได้รับผลกระทบ (ซึ่งถูกเก็บไว้) เพื่อให้เห็นภาพชัดเจน เฟรมที่สี่ของรูปด้านขวาแสดงบล็อกที่ถูกขยายเป็นระยะ (หรือ "แบบวงกลม") และเฟรมที่ห้าแสดงส่วนประกอบแต่ละส่วนของการคอนโวลูชันเชิงเส้นที่ดำเนินการกับลำดับทั้งหมด ผลกระทบที่ขอบคือส่วนที่ส่วนประกอบจากบล็อกที่ขยายแล้วทับซ้อนกับส่วนประกอบจากบล็อกดั้งเดิม เฟรมสุดท้ายคือผลลัพธ์แบบรวม และส่วนที่ระบายสีเขียวแสดงถึงส่วนที่ไม่ได้รับผลกระทบ
บล็อกเอาต์พุตที่ซ้อนทับกัน
วิธีนี้เรียกว่าการซ้อนทับ-บวก [ 4 ] ใน ตัวอย่างของเรา วิธีนี้ใช้บล็อกอินพุตที่ต่อเนื่องกันขนาด 824 และเติมแต่ละบล็อกด้วยตัวอย่างที่มีค่าเป็นศูนย์ 200 ตัวอย่าง จากนั้นจะซ้อนทับและบวกบล็อกเอาต์พุต 1024 องค์ประกอบ ไม่มีอะไรถูกทิ้ง แต่ค่า 200 ค่าของแต่ละบล็อกเอาต์พุตจะต้องถูก "บันทึก" ไว้สำหรับการบวกกับบล็อกถัดไป ทั้งสองวิธีจะเลื่อนตัวอย่างเพียง 824 ตัวอย่างต่อ IFFT 1024 จุด แต่การซ้อนทับ-บันทึกจะหลีกเลี่ยงการเติมศูนย์เริ่มต้นและการบวกขั้นสุดท้าย
ดูเพิ่มเติม
การอ้างอิงหน้า
- ^ McGillem และ Cooperหน้า 172 (4-6)
- ^ McGillem และ Cooperหน้า 183 (4-51)
- ^ Oppenheim และ Shaferหน้า 559 (8.59)
- ^ Oppenheim และ Shaferหน้า 571 (8.114) แสดงในรูปแบบดิจิทัล
- ^ McGillem และ Cooperหน้า 171 (4-22) แสดงในรูปแบบดิจิทัล
สรุปเนื้อหา
ข้อมูลสำคัญจากบทความ
ข้อมูลสำคัญเกี่ยวกับ การคอนโวลูชันแบบวงกลม
การคอนโวลูชันแบบวงกลม หรือที่เรียกว่า คอนโวลูชันแบบวัฏจักร เป็นกรณีพิเศษของ การคอนโวลูชันแบบคาบ ซึ่งเป็นการ คอนโวลูชัน ของฟังก์ชันคาบสองฟังก์ชันที่มีคาบเดียวกัน...
คำจำกัดความ
การ สังเคราะห์แบบคาบ ของฟังก์ชันคาบ T สองฟังก์ชันสามารถนิยามได้ดังนี้ : ชม. ที ( ที ) {\displaystyle h_{_{T}}(t)} x ที ( ที ) {\displaystyle x_{_{T}}(t)}
ลำดับแบบไม่ต่อเนื่อง
ในทำนองเดียวกัน สำหรับลำดับแบบไม่ต่อเนื่อง และพารามิเตอร์ N เราสามารถเขียน การสังเคราะห์แบบวงกลม ของฟังก์ชันที่ไม่เป็นคาบ ได้ดังนี้ : ชม. {\displaystyle h} x {\displaystyle x}
ตัวอย่าง
ภาพประกอบแสดงให้เห็นถึงกรณีที่มีความสำคัญในทางปฏิบัติอย่างมาก ระยะเวลาของ ลำดับ x คือ N (หรือน้อยกว่า) และระยะเวลาของ ลำดับ h นั้นน้อยกว่ามาก ดังนั้นค่าของการสังเคราะห์แบบวงกลมจำนวนมากจึงเหมือนกับค่าของ x∗h ซึ่งเป็นผลลัพธ์ที่ต้องการเมื่อ ลำดับ h เป็น ตัวกรอง...