อินทิกรัลคอนโวลูชันบอกว่าฟังก์ชันสองตัวรวมกันอย่างไรเมื่อเลื่อนฟังก์ชันหนึ่งผ่านอีกฟังก์ชันหนึ่ง ในกรณีเวลาแบบต่อเนื่อง นิยามคือ

(fg)(t)=f(τ)g(tτ)dτ(f * g)(t) = \int_{-\infty}^{\infty} f(\tau) g(t-\tau)\,d\tau

แนวคิดแบบเร็ว ๆ นั้นง่ายมาก: สำหรับแต่ละค่า tt ให้เลื่อนฟังก์ชันหนึ่ง หาให้เจอว่าทั้งสองฟังก์ชันซ้อนทับกันตรงไหน คูณค่าของทั้งสองบนช่วงที่ซ้อนทับนั้น แล้วรวมผลลัพธ์เข้าด้วยกัน ถ้าฟังก์ชันทั้งสองเป็น causal หมายความว่าเป็นศูนย์เมื่อเวลาเป็นลบ ก็มักเขียนได้เป็น

(fg)(t)=0tf(τ)g(tτ)dτ(f * g)(t) = \int_0^t f(\tau) g(t-\tau)\,d\tau

สำหรับ t0t \ge 0 ตราบใดที่ช่วง [0,t][0,t] ครอบคลุมบริเวณที่ซ้อนทับทั้งหมด แนวคิดหลักในทางปฏิบัติคือ คอนโวลูชันเปลี่ยนการซ้อนทับขณะเลื่อนให้กลายเป็นตัวเลขหนึ่งค่าต่อหนึ่งค่า tt

นิยามและภาพเข้าใจของอินทิกรัลคอนโวลูชัน

ให้มอง f(τ)f(\tau) เป็นฟังก์ชันที่ตรึงอยู่กับที่ และมอง g(tτ)g(t-\tau) เป็นสำเนาของ gg ที่ถูกกลับด้านและเลื่อนตำแหน่ง เมื่อ tt เปลี่ยน การซ้อนทับก็เปลี่ยน ดังนั้นค่าอินทิกรัลจึงเปลี่ยนตามไปด้วย

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

ทำไมช่วงที่ซ้อนทับกันจึงเป็นตัวกำหนดขอบเขต

ขอบเขตในโจทย์คอนโวลูชันมักไม่ได้มาจากการท่องจำรูปแบบสำเร็จรูป แต่มาจากการถามว่าช่วงใดที่ทั้งสองพจน์ไม่เป็นศูนย์พร้อมกัน

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

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

ตัวอย่างอินทิกรัลคอนโวลูชัน: พัลส์หนึ่งหน่วยสองตัว

ให้

f(t)={1,0t10,otherwisef(t) = \begin{cases} 1, & 0 \le t \le 1 \\ 0, & \text{otherwise} \end{cases}

และให้ g(t)g(t) เป็นฟังก์ชันเดียวกัน เราต้องการหา (fg)(t)(f * g)(t)

ตัวอย่างนี้เหมาะมาก เพราะอินทิแกรนด์มีค่าเป็น 11 หรือ 00 เท่านั้น ดังนั้นคอนโวลูชันจึงเท่ากับความยาวของช่วงที่ซ้อนทับกัน

จากนิยาม

(fg)(t)=f(τ)g(tτ)dτ(f * g)(t) = \int_{-\infty}^{\infty} f(\tau) g(t-\tau)\,d\tau

เนื่องจาก f(τ)=1f(\tau)=1 เฉพาะบนช่วง [0,1][0,1] และ g(tτ)=1g(t-\tau)=1 เฉพาะเมื่อ 0tτ10 \le t-\tau \le 1 อินทิแกรนด์จึงมีค่าเป็น 11 พอดีในบริเวณที่ทั้งสองเงื่อนไขเป็นจริงพร้อมกัน

เงื่อนไขที่สองหมายความว่า

t1τtt-1 \le \tau \le t

ดังนั้นช่วงที่ซ้อนทับกันคือ

[0,1][t1,t][0,1] \cap [t-1,t]

จึงได้ว่า (fg)(t)(f * g)(t) เท่ากับความยาวของช่วงที่ซ้อนทับนี้

กรณีที่ 1: t<0t < 0

ไม่มีการซ้อนทับกัน ดังนั้น

(fg)(t)=0(f * g)(t) = 0

กรณีที่ 2: 0t10 \le t \le 1

ช่วงที่ซ้อนทับกันคือจาก τ=0\tau=0 ถึง τ=t\tau=t ดังนั้น

(fg)(t)=0t1dτ=t(f * g)(t) = \int_0^t 1\,d\tau = t

กรณีที่ 3: 1t21 \le t \le 2

ช่วงที่ซ้อนทับกันคือจาก τ=t1\tau=t-1 ถึง τ=1\tau=1 ดังนั้น

(fg)(t)=t111dτ=2t(f * g)(t) = \int_{t-1}^1 1\,d\tau = 2-t

กรณีที่ 4: t>2t > 2

ไม่มีการซ้อนทับกันอีกครั้ง ดังนั้น

(fg)(t)=0(f * g)(t) = 0

เมื่อนำทุกช่วงมารวมกัน จะได้ว่า

(fg)(t)={0,t<0t,0t12t,1t20,t>2(f * g)(t) = \begin{cases} 0, & t < 0 \\ t, & 0 \le t \le 1 \\ 2-t, & 1 \le t \le 2 \\ 0, & t > 2 \end{cases}

ผลลัพธ์เป็นรูปสามเหลี่ยม ความสูงจะเพิ่มขึ้นเมื่อช่วงที่ซ้อนทับกันยาวขึ้น แล้วลดลงเมื่อช่วงที่ซ้อนทับกันสั้นลง

ข้อผิดพลาดที่พบบ่อยในอินทิกรัลคอนโวลูชัน

ลืมอินพุตที่ถูกเลื่อน

พจน์ตัวที่สองคือ g(tτ)g(t-\tau) ไม่ใช่ g(τt)g(\tau-t) และไม่ใช่แค่ g(τ)g(\tau) การเลื่อนนี่เองคือหัวใจของคอนโวลูชัน

ใช้ขอบเขตผิด

วิธีที่ปลอดภัยที่สุดคือหาว่าช่วงใดที่ทั้งสองพจน์ไม่เป็นศูนย์ ถ้าช่วงที่ซ้อนทับกันเปลี่ยนไปตาม tt ขอบเขตก็มักต้องตอบแบบแบ่งเป็นช่วง

มองคอนโวลูชันเป็นการคูณแบบจุดต่อจุด

การคูณแบบจุดต่อจุดใช้ค่าที่อินพุตเดียวกัน แต่คอนโวลูชันคือการสะสมผลคูณตลอดทั้งช่วงหนึ่ง

ข้ามเงื่อนไขที่ทำให้ใช้สูตรลัดได้

สูตรลัด

(fg)(t)=0tf(τ)g(tτ)dτ(f * g)(t) = \int_0^t f(\tau)g(t-\tau)\,d\tau

ใช้ได้ในสถานการณ์ causal ที่พบบ่อย แต่ใช้ไม่ได้กับทุกคู่ของฟังก์ชัน ควรใช้ก็ต่อเมื่อสมมติฐานเรื่อง support รองรับจริง ๆ

อินทิกรัลคอนโวลูชันใช้ที่ไหน

ใช้คอนโวลูชันเมื่อปริมาณหนึ่งขึ้นอยู่กับการที่อีกปริมาณหนึ่งกระจายตัวอยู่ในเวลา หรือในอวกาศใกล้เคียงอย่างไร

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

ลองทำโจทย์คอนโวลูชันที่คล้ายกัน

ลองใช้ตัวอย่างพัลส์เดิม แต่ให้พัลส์ตัวที่สองสูงเป็นสองเท่า:

g(t)={2,0t10,otherwiseg(t) = \begin{cases} 2, & 0 \le t \le 1 \\ 0, & \text{otherwise} \end{cases}

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

ต้องการความช่วยเหลือในการแก้โจทย์?

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

เปิด GPAI Solver →