Convolution เชิงเส้นและแบบวงกลมคืออะไร?


11

ฉันมีความเข้าใจพื้นฐานของสัญญาณและการโน้มน้าวใจ เท่าที่ฉันรู้มันแสดงให้เห็นถึงความคล้ายคลึงกันของสองสัญญาณ ฉันขอคำอธิบายเป็นภาษาอังกฤษธรรมดาของ:

  • สังวัตนาเชิงเส้นและแบบวงกลมคืออะไร
  • ทำไมมันถึงสำคัญ
  • สถานการณ์จริงที่ใช้

1
ไม่การบิดไม่แสดงความเหมือนกันของสัญญาณ บางทีถ้าคุณสามารถอธิบายได้ว่าคุณมีความเข้าใจขั้นพื้นฐานเกี่ยวกับสัญญาณและการชักชวนคุณอาจตอบคำถามที่คุณถามได้ง่ายขึ้น
Dilip Sarwate

โดยทั่วไปแล้ว convolution เป็นกระบวนการในการคำนวณผลลัพธ์ของระบบ LTI เพราะระบบเหล่านี้ไม่ได้แปรผันตามเวลานั่นเป็นสาเหตุที่เราไม่สามารถคำนวณผลลัพธ์โดยตรงโดยใช้ y (t) = h (t) x (t)

1
@DilipSarwate การสังวัตนาของสัญญาณทั้งสองนั้นมีความสัมพันธ์กับหนึ่งในสัญญาณที่หันกลับมา และความสัมพันธ์จะมีลักษณะคล้ายคลึงกับการแสดงของสองสัญญาณ จึงมีเป็นบางสิ่งบางอย่างในการทำความเข้าใจของ OP แต่มันคือยังไม่สมบูรณ์
robert bristow-johnson

@ robertbristow-johnson สหสัมพันธ์ยังต้องการการผันสัญญาณหนึ่งในขณะที่การสังวัตนาทำ ไม่ใช่และฉันก็ไม่เห็นด้วยกับการที่คุณยืนยันว่า "การสังเกตุสัญญาณสองอันนั้นสัมพันธ์กับสัญญาณที่หันไปรอบ ๆ " และอย่ายกระดับการป้องกันที่ว่า "ใช้งานได้กับสัญญาณที่มีค่าจริง"!
Dilip Sarwate

ใช่ฉันรู้ว่า @DilipSarwate เป็นเพียงหลายครั้งที่เรามีความสัมพันธ์ข้อมูลจริงกับข้อมูลจริง
robert bristow-johnson

คำตอบ:


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

  • การบิดแบบวงกลมเป็นสิ่งเดียวกัน แต่เมื่อพิจารณาว่าการสนับสนุนสัญญาณเป็นระยะ (เช่นในวงกลมให้ใส่ชื่อ)

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

  • หนึ่งในวิธีที่มีประสิทธิภาพมากที่สุดในการปรับใช้ convolutions คือการคูณด้วยความถี่
  • การสุ่มตัวอย่างในความถี่ต้องมีช่วงเวลาในโดเมนเวลา
  • อย่างไรก็ตามเนื่องจากคุณสมบัติทางคณิตศาสตร์ของ FFT ส่งผลให้เกิดการบิดแบบวน

วิธีการนั้นจะต้องได้รับการแก้ไขอย่างถูกต้องเพื่อให้การแปลงเชิงเส้นสามารถทำได้ (เช่นวิธีการทับซ้อน - เพิ่ม)


1

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

ความสัมพันธ์ของสองสัญญาณ f และ g สามารถคำนวณเป็น:

corr(f,g)=f(τ)g(t+τ)dτ=(f(g))
การสังวัตนาของสัญญาณเดียวกันคือ:
(fg)=f(τ)g(tτ)dτ

Convolution สามารถใช้ในการคำนวณการตอบสนองของระบบ LTI และ (normalized) cross-correlation สามารถใช้สำหรับการจับคู่รูปแบบ: สูงสุดของฟังก์ชัน cross-correlation อยู่ที่ออฟเซ็ตซึ่งรูปแบบ g น่าจะอยู่ใน สัญญาณ f. หากคุณรู้ว่าออฟเซ็ตนี้คุณสามารถใช้การวัดความคล้ายคลึงกัน (เช่นระยะทางแบบยุคลิด) เพื่อวัดความคล้ายคลึงกัน


ทำไมคุณพูดว่า convolutions มากกว่า? พวกเขาจะไม่เทียบเท่าถ้าคุณใช้เวลาหนึ่งสัญญาณของคุณ
Rojo

ทำ f(τ)g(t+τ) การผันคำกริยาที่ซับซ้อนของ f(τ)ตามมาด้วยการคูณ? เหตุผลในการถามคือในสมการที่สองที่คุณเขียนf(τ)g(tτ) โดยไม่ต้องใด ๆ และการผันคำกริยาที่ซับซ้อนถูกนำมาใช้ในสหสัมพันธ์ แต่ไม่ใช่ในการโน้มน้าวใจ
Dilip Sarwate

1

Convolution ใช้เพื่อค้นหาเอาต์พุตของระบบ LTI หากทราบการตอบสนองของระบบต่อสัญญาณอิมพัลส์ (h(t) หรือ h(n)) จากนั้นการตอบสนองต่ออินพุตอื่น ๆ ไปยังระบบสามารถพบได้โดยการแปลงสัญญาณอินพุตด้วยการตอบสนองแบบอิมพัลส์


มันตอบคำถามได้อย่างไร
jojek

0

สหสัมพันธ์ถูกใช้เพื่อค้นหาความคล้ายคลึงกันใด ๆ bwletween เพื่อส่งสัญญาณ (ข้ามสหสัมพันธ์ในแม่นยำ) Linear Convolution ใช้เพื่อค้นหาเอาต์พุต d ของระบบ LTI ใด ๆ (เช่นโดยวิธี Flip-shift-drag ฯลฯ ) ในขณะที่ Circular Convolution เป็นกรณีพิเศษเมื่อ d สัญญาณที่ได้รับเป็นระยะ


-3

การแปลงเชิงเส้น: สำหรับลำดับ aperiodic และ infinite การบิดแบบวนรอบ: สำหรับลำดับเป็นระยะและ จำกัด

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