← ECE Labsim← ECE Labsim

Convolution: flip, slide, multiply, sumคอนโวลูชัน: พลิก เลื่อน คูณ บวก

Drag the grey stems to edit the input. Scrub the shift to see the kernel flip and slide underneath it.ลากก้านสีเทาเพื่อแก้ไขสัญญาณอินพุต เลื่อนค่าการเลื่อนเพื่อดูเคอร์เนลพลิกกลับและเลื่อนอยู่ด้านล่าง

Loading module…กำลังโหลดโมดูล…

About this simulatorเกี่ยวกับโปรแกรมจำลองนี้

This convolution visualizer shows discrete-time convolution the way it is taught by hand: flip the kernel h, slide it across the input x, multiply the overlapping samples and add them up. Every step of y[n] = Σ x[k]·h[n−k] is drawn on the signal graph and written out as arithmetic.โปรแกรมแสดงภาพคอนโวลูชันนี้อธิบายคอนโวลูชันแบบไม่ต่อเนื่องแบบเดียวกับที่คำนวณด้วยมือ: พลิกเคอร์เนล h เลื่อนผ่านสัญญาณอินพุต x คูณแซมเปิลที่ซ้อนทับกัน แล้วบวกเข้าด้วยกัน ทุกขั้นของ y[n] = Σ x[k]·h[n−k] ถูกวาดบนกราฟสัญญาณและเขียนเป็นการคำนวณให้เห็น

What you can do hereสิ่งที่ทำได้ในหน้านี้

  • Scrub or play the shift n and watch the flipped kernel slide under the input signal.เลื่อนหรือกดเล่นค่าการเลื่อน n แล้วดูเคอร์เนลที่พลิกแล้วเลื่อนอยู่ใต้สัญญาณอินพุต
  • Drag any input sample to edit the signal and see the output update instantly.ลากแซมเปิลอินพุตใดก็ได้เพื่อแก้ไขสัญญาณ แล้วดูเอาต์พุตเปลี่ยนทันที
  • Compare kernels: moving average, triangular, exponential decay and the difference [1, −1].เปรียบเทียบเคอร์เนล: ค่าเฉลี่ยเคลื่อนที่ สามเหลี่ยม เอกซ์โพเนนเชียลลดลง และผลต่าง [1, −1]
  • Check the output length N + M − 1 and see which samples overlap at every shift.ตรวจสอบความยาวเอาต์พุต N + M − 1 และดูว่าแซมเปิลใดซ้อนทับกันในแต่ละการเลื่อน

Concepts coveredหัวข้อที่ครอบคลุม

  • Discrete convolutionคอนโวลูชันแบบไม่ต่อเนื่อง
  • Impulse responseผลตอบสนองอิมพัลส์
  • Moving-average filterตัวกรองค่าเฉลี่ยเคลื่อนที่
  • Commutativityสมบัติการสลับที่
  • Output length N + M − 1ความยาวเอาต์พุต N + M − 1

Common questionsคำถามที่พบบ่อย

How do you compute a convolution graphically?คำนวณคอนโวลูชันด้วยวิธีกราฟอย่างไร?
Flip h[k] to get h[−k], shift it by n to get h[n−k], multiply it sample by sample with x[k], and sum the products. Repeat for every n. The simulator animates exactly these four steps.พลิก h[k] ให้เป็น h[−k] เลื่อนไป n ให้เป็น h[n−k] คูณกับ x[k] ทีละแซมเปิล แล้วรวมผลคูณ ทำซ้ำสำหรับทุกค่า n โปรแกรมนี้แสดงแอนิเมชันของสี่ขั้นตอนนี้
Why is the output longer than the input?ทำไมเอาต์พุตจึงยาวกว่าอินพุต?
The kernel starts overlapping the input before the first sample and stops after the last, so an N-sample input convolved with an M-sample kernel gives N + M − 1 output samples.เคอร์เนลเริ่มซ้อนทับอินพุตก่อนแซมเปิลแรกและสิ้นสุดหลังแซมเปิลสุดท้าย อินพุตยาว N แซมเปิลคอนโวลูชันกับเคอร์เนลยาว M แซมเปิลจึงได้เอาต์พุต N + M − 1 แซมเปิล