ทำไมจึงต้องมีการสนทนา


15

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

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



3
ฉันกำลัง downvoting คำถามนี้เพราะ (หรือรูปแบบเล็กน้อยของมัน) ได้รับการถามซ้ำ ๆ และตอบในเว็บไซต์นี้เป็นสถานะความคิดเห็นของ pichenettes คุณควรมี "ท่องอินเทอร์เน็ต" บนเว็บไซต์นี้แทน
Dilip Sarwate

คำตอบ:


14

ความคิดของ Convolution

การแสดงออกที่ชื่นชอบของหัวข้อเป็นหนึ่งในแบรดโมไบล์ของการบรรยายเกี่ยวกับการแปลงฟูริเยร์ การสนทนาเกี่ยวกับการโน้มน้าวใจเริ่มต้นประมาณ 36:00 น. แต่การบรรยายทั้งหมดมีบริบทเพิ่มเติมที่น่าจับตามอง

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

F{f+g}=F{f}+F{g}.

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

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

F{f}F{g}= ?.

ปรากฎว่าเมื่อคุณคำนวณคำตอบ Convolution คือสิ่งที่ปรากฏ ได้รับมาทั้งหมดในวิดีโอและเนื่องจากคำถามของคุณเป็นแนวคิดส่วนใหญ่ฉันจะไม่สรุปที่นี่

ความหมายของการเข้าใกล้ด้วยวิธีนี้คือมันเป็นส่วนที่อยู่ภายในของ Laplace Transform (ซึ่ง Fourier Tranform เป็นกรณีพิเศษ) เปลี่ยนสมการเชิงอนุพันธ์สามัญเชิงเส้นคงที่สัมประสิทธิ์เชิงเส้น (LCCODE) เป็นสมการพีชคณิต ความจริงที่ว่าการแปลงรูปแบบดังกล่าวมีไว้เพื่อให้ LCCODE วิเคราะห์ได้ง่ายเป็นส่วนใหญ่ของเหตุผลที่พวกเขากำลังศึกษาในการประมวลผลสัญญาณ ตัวอย่างเช่นในการอ้างอิงOppenheim และ Schafer :

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

ดังนั้นหนึ่งคำตอบสำหรับคำถามก็คือถ้าคุณใช้วิธีการแปลงรูปเพื่อวิเคราะห์และ / หรือสังเคราะห์ระบบ LTI ไม่ว่าช้าหรือช้าก็จะเกิดการโน้มน้าว (ไม่ว่าจะโดยทางตรงหรือทางอ้อม) โปรดทราบว่าวิธีการในการแนะนำการสนทนานี้เป็นมาตรฐานที่ดีในบริบทของสมการเชิงอนุพันธ์ ตัวอย่างเช่นดูสิ่งนี้บรรยายโดย MIT อาเทอร์แมตตัก การนำเสนอส่วนใหญ่จะนำเสนอการผสมผสานที่สมบูรณ์โดยปราศจากความคิดเห็นจากนั้นได้รับคุณสมบัติ (เช่นดึงออกมาจากหมวก) หรือปิดล้อมและลังเลเกี่ยวกับรูปแบบที่แปลกประหลาดของอินทิกรัลพูดคุยเกี่ยวกับการพลิกและลากเวลาถอยหลัง ฯลฯ .

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

ฉันพูดว่า "มีวิธีรวม F และ G ในโดเมนเวลาหรือไม่ดังนั้นในสเปกตรัมความถี่ spectrums ทวีคูณการแปลงฟูริเยร์ทวีคูณ?" และคำตอบก็คือใช่นั่นคืออินทิกรัลที่ซับซ้อนนี้ มันไม่ชัดเจนนัก คุณจะไม่ลุกจากเตียงในตอนเช้าแล้วจดบันทึกไว้และคาดว่าสิ่งนี้จะช่วยแก้ปัญหานั้นได้ เราจะได้รับมันได้อย่างไร คุณบอกว่าสมมติว่าปัญหาได้รับการแก้ไขดูว่ามีอะไรเกิดขึ้นแล้วเราจะต้องรับรู้เมื่อถึงเวลาที่จะประกาศชัยชนะ และถึงเวลาที่จะประกาศชัยชนะ

ตอนนี้เป็นนักคณิตศาสตร์ที่น่ารังเกียจคุณครอบคลุมเพลงของคุณและพูดว่า "เอาล่ะฉันแค่จะนิยามการโน้มน้าวใจของทั้งสองฟังก์ชั่นด้วยสูตรนี้"

ระบบ LTI

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

(1)x(n)=k=x(k)δ(nk),

ที่ไหน

(2)δ(n)={0,n01,n=0,

คุณสมบัติการกำหนดของระบบ time-invariant เชิงเส้นนำผลบวกโดยตรงที่เกี่ยวข้องกับการตอบสนองต่อแรงกระตุ้น ] หากระบบที่กำหนดโดยโอเปอเรเตอร์ LTI Lแสดงเป็น y ( n ) = L [ x ( n ) ]ดังนั้นให้ใช้คุณสมบัติการทำซ้ำกล่าวคือเป็นเชิงเส้นh(n)=L[ δ(n) ]Ly(n)=L[ x(n) ]

(3)L[ ax1(n)+bx2(n) ]Transform of the sum of scaled inputs=aL[ x1(n) ]+bL[ x2(n) ]Sum of scaled transforms,

และความแปรปรวนของเวลา / การเปลี่ยนแปลง

(4)L[ x(n) ]=y(n) impliesL[ x(nk) ]=y(nk),

ระบบสามารถเขียนใหม่เป็น

y(n)=L[k=x(k)δ(nk)]Tranform of the sum of scaled inputs=k=x(k)L[δ(nk)]Sum of scaled transforms=k=x(k)h(nk).Convolution with the impulse response

นั่นเป็นวิธีมาตรฐานในการนำเสนอการชักชวนและเป็นวิธีที่สง่างามและมีประโยชน์อย่างสมบูรณ์ การสืบทอดที่คล้ายกันสามารถพบได้ในOppenheim และ Schafer , Proakis และ Manolakis , Rabiner และ Goldและฉันมั่นใจว่าคนอื่น ๆ อีกมากมาย ความเข้าใจที่ลึกซึ้งยิ่งขึ้น [ที่ไปไกลกว่าการแนะนำมาตรฐาน] นั้นได้รับจากดิลิปในคำตอบที่ยอดเยี่ยมของเขาที่นี่

อย่างไรก็ตามโปรดทราบว่าสิ่งนี้ได้มาจากการใช้เวทมนตร์ เมื่อดูอีกครั้งว่าสัญญาณถูกย่อยในเราจะเห็นว่ามันอยู่ในรูปแบบของการโน้มน้าว ถ้า(1)

(fg)(n)f convolved with g=k=f(k)g(nk),

แล้วเป็นเพียงx * δ เนื่องจากฟังก์ชั่นเดลต้าเป็นองค์ประกอบประจำตัวสำหรับการสนทนาบอกว่าสัญญาณใด ๆ ที่สามารถแสดงออกในรูปแบบนั้นเป็นจำนวนมากเช่นการพูดว่าหมายเลขใด ๆnสามารถแสดงเป็นn + 0หรือn × 1(1)xδnn+0n×1 1ตอนนี้การเลือกที่จะอธิบายสัญญาณว่ามันยอดเยี่ยมเพราะมันนำไปสู่ความคิดในการตอบสนองแบบอิมพัลส์ - มันเป็นเพียงแค่ความคิดในการโน้มน้าวใจว่า "อบใน" การสลายตัวของสัญญาณอยู่แล้ว

จากมุมมองนี้การบิดมีความสัมพันธ์กับแนวคิดของฟังก์ชันเดลต้า (เช่นเป็นการดำเนินการแบบไบนารีที่มีฟังก์ชันเดลต้าเป็นองค์ประกอบตัวตน) แม้ว่าจะไม่ได้พิจารณาถึงความสัมพันธ์กับการบิด แต่คำอธิบายของสัญญาณนั้นขึ้นอยู่กับแนวคิดของฟังก์ชันเดลต้า จากนั้นคำถามก็จะกลายเป็นว่าเราได้ความคิดเกี่ยวกับฟังก์ชันเดลต้าในตอนแรกที่ไหน? เท่าที่ฉันจะบอกได้อย่างน้อยที่สุดมันก็ย้อนกลับไปไกลเท่ากระดาษของฟูริเยร์ในทฤษฎีการวิเคราะห์ความร้อนซึ่งปรากฏโดยปริยาย แหล่งข้อมูลหนึ่งสำหรับข้อมูลเพิ่มเติมคือบทความนี้เกี่ยวกับ Origin และ History of Convolutionโดย Alejandro Domínguez

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

การคูณพหุนาม

งานนำเสนอที่ดีอย่างหนึ่งของแนวคิดที่ว่าการโน้มน้าวแบบไม่ต่อเนื่องเป็นเพียงการคูณพหุนามโดย Gilbert Strang ในการบรรยายครั้งนี้เริ่มต้นประมาณ 5:46 จากมุมมองดังกล่าวความคิดกลับไปสู่การนำระบบจำนวนตำแหน่ง (ซึ่งแทนตัวเลขโดยปริยายว่าเป็นพหุนาม) เนื่องจากการแปลง Zแทนสัญญาณเป็นพหุนามในซีการแปลงจะเกิดขึ้นในบริบทนั้นเช่นกันแม้ว่าการแปลง Z จะถูกกำหนดอย่างเป็นทางการว่าเป็นผู้ดำเนินการล่าช้าโดยไม่ต้องอาศัยการวิเคราะห์ที่ซับซ้อนและ / หรือเป็นกรณีพิเศษของLaplace แปลง


ขอบคุณมากสำหรับคำแนะนำอันล้ำค่าของคุณคุณเพิ่งแสดงให้ฉันเห็นวิธีที่ถูกต้องในการติดตาม ความช่วยเหลือของคุณสอนฉันว่าการเป็นมนุษย์ที่ดีเริ่มต้นเพื่อผู้อื่น .... :)
Mayank Tiwari

เรื่องบังเอิญที่ยิ่งใหญ่นี้อธิบายได้อย่างไรว่าคุณจำเป็นต้องทำข้อตกลงในกรณีที่เขาถาม ฉันเชื่อว่าในทุก ๆ โดเมนจะมีการดำเนินการที่จะเปลี่ยนเป็นการโน้มน้าวใจเมื่อคุณเปลี่ยนอาร์กิวเมนต์เป็นโดเมนเวลา เราจำเป็นต้องทำการ muiltiplication ในโดเมนเวลาเพื่อรับคำตอบหรือไม่? ทำไมเราควรคูณความถี่แทนการกวาดเวลา?
Val

1
เมื่อพิจารณาว่า OP ได้ถามคำถามเกี่ยวกับบทบาทของแรงกระตุ้นที่เกี่ยวข้องกับระบบ LTIฉันอ่านคำถามในขณะที่เขาใช้เป็นตัวอย่างในการกระตุ้นคำถามเกี่ยวกับที่มาจากการสนทนา - ไม่จำเป็นต้องมีบทบาทในการคำนวณแรงกระตุ้น การตอบสนองต่อ se นั่นคือสิ่งที่คุณถาม
วิเคราะห์ข้อมูล

1
การบอกว่าเราต้องการการโน้มน้าวใจเพราะมันเหมือนกับการคูณฟูริเยร์ฟังดูไร้สาระสำหรับฉันในกรณีที่เราไม่รู้ว่าทำไมเราถึงต้องการการคูณฟูริเยร์ เมื่อเราได้รับการตอบสนองแบบแรงกระตุ้นนี่หมายถึงโดเมนเวลาและการโน้มน้าวมากกว่าเวทมนตร์สีดำใด ๆ ในแบบฟูเรียร์ ฉันไม่คิดว่าการอ้างอิงถึงคำถามนั้นอาจทำให้ชัดเจน ไม่ว่าในกรณีใด ๆ มันไม่ดีที่จะให้ "คำตอบที่แปลเป็นภาษาท้องถิ่น" กับคำถามทั่วไปคำถามพื้นฐาน (เช่น phylosophical) คำถาม & คำตอบจะต้องมีประโยชน์สำหรับผู้เยี่ยมชมในอนาคต
วาล

ความคิดเห็นของ Val ด้านบนถูกต้องกับเป้าหมาย ฉันสงสัยว่าระบบเชิงเส้นทำงานอย่างไรก่อนการแปลงฟูริเยร์ถูกคิดค้น / ค้นพบ วิธีแผ่นดินที่ไม่ได้เป็นวัตถุที่ไม่มีชีวิตที่ไม่ใช่สัตว์ค้นพบสูตรที่ซับซ้อนดังกล่าวหรือไม่
Dilip Sarwate

6

ฉันเคยให้คำตอบในหน้าอภิปรายของวิกิพีเดียซึ่งถามคำถามเดียวกันโดยทั่วไปว่า: ทำไมต้องย้อนเวลา . ปรัชญาคือคุณใช้การเต้นของชีพจรครั้งเดียวที่ 0 กับตัวกรองของคุณและบันทึกการตอบสนองของมันในเวลา 0,1,2,3,4, …. โดยทั่วไปการตอบสนองจะมีลักษณะเหมือนฟังก์ชัน h (t) คุณอาจจะพล็อตมัน ถ้าพัลส์มีความสูง n / สูงกว่าพัลส์ตอบสนองจะสูงขึ้นตามสัดส่วน (เนื่องจากตัวกรองแบบเชิงเส้นจะถือว่าอยู่เสมอ) ตอนนี้ DSP ทั้งหมด (และไม่ใช่แค่ DSP เท่านั้น) กำลังจะเกิดอะไรขึ้นเมื่อคุณใช้ตัวกรองกับสัญญาณของคุณ? คุณรู้ว่าการตอบสนองแรงกระตุ้น สัญญาณของคุณ (โดยเฉพาะดิจิตอล) ไม่มีอะไรมากไปกว่าชุดของความสูง x (t) มันมีส่วนสูง / ค่าณ เวลาtxt. ระบบเชิงเส้นนั้นยอดเยี่ยมที่คุณสามารถรวมเอาท์พุทสำหรับพัลส์อินพุตแต่ละอันเพื่อรับฟังก์ชั่นการตอบสนอง y (t) สำหรับฟังก์ชั่นอินพุต x (t) คุณรู้ว่าเอาต์พุตพัลส์ y (t = 10) ขึ้นอยู่กับอินพุตทันที x (10) ซึ่งมีส่วนช่วย h (0) * x (10) แต่ยังมีส่วนร่วม x (9) * h (1) ไปยังเอาต์พุตจากพัลส์ก่อนหน้านี้ x (9) และการสนับสนุนจากค่าอินพุตก่อนหน้านี้ คุณเห็นเมื่อคุณเพิ่มการมีส่วนร่วมจากอินพุตก่อนหน้าอาร์กิวเมนต์หนึ่งครั้งจะลดลงในขณะที่อีกอันเพิ่มขึ้น คุณMACมีส่วนร่วมทั้งหมดใน y (10) = h (0) * x (10) + h (1) * x (9) + h (2) * x (8) + …ซึ่งเป็นข้อตกลง

คุณสามารถคิดถึงฟังก์ชัน y (t), h (t) และ x (t) เป็นเวกเตอร์ เมทริกซ์เป็นตัวดำเนินการในพีชคณิตเชิงเส้น พวกเขาใช้เวกเตอร์อินพุต (ชุดตัวเลข) และสร้างเวกเตอร์เอาต์พุต (ชุดตัวเลขอีกชุด) ในกรณีนี้ y เป็นผลคูณของเมทริกซ์การแปลงด้วยเวกเตอร์ x

y=[y0y1y2]=[h000h1h00h2h1h0][x0x1x2]=Hx

ตอนนี้เนื่องจาก convolution เป็นเมทริกซ์ Toeplitzจึงมี Fourier eigenbasis ดังนั้นตัวดำเนินการ convolution (ตัวดำเนินการเชิงเส้นแทนด้วยเมทริกซ์ แต่เมทริกซ์ก็ขึ้นอยู่กับพื้นฐาน) เป็นเมทริกซ์ทแยงมุมที่ดีในโดเมนฟูริเยร์

Y=[Y0Y1Y2]=[λ0000λ1000λ2][X0X1X2]=diag(H)X

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

y[currentTime]=k1x[time1]+k2x(time2)+by[time1], it makes no sense to fourier transform. You just do n multiplications, for computing every y. It is also natural for real-time. In real-time you compute only one y at a time. You may think of Fourier transform if you have your signal x recorded and you need to compute the whole vector y at once. This would need NxN MAC operations and Fourier can help to reduce them to N log(N).


A couple notes: how would you extend this description for the continuous-time case (which obviously came before the discrete-time case)? Also, there are many real-time applications that use Fourier-transform-based methods for fast convolution. Saying that outputs are always calculated one at a time for real-time applications just isn't true.
Jason R

With that said, nice job pointing out the fact that the Toeplitz structure of the convolution matrix implies that it admits a diagonal representation under a Fourier basis.
Jason R

Yes, may be you use fourier transfrom in the real-time. I am far from being DSP expert. I just expressed the idea (which I got from my scarce practice and reading DSPGuide). Anyway, I want to highlight that fourier has nothing to do with the phylosophy of convolution. Might be I need to remove all the fourier-related discussion, since it is distracting. Convolution is natural in the time domain and is needed without any Fourier, no matter how cool the Fourier is.
Val

The fact that continous-time case came before historically, does not demand us that we should learn in the same order. I think that it is easier to understand the philosophy of many things, including convolution, starting with the discrete case (and we are in DSP.se to take this approach). In continous-case a series of MAC operations is turned into integration, as we make our pulses shorter and shorter. BTW, integration itself f(x)dx is understood as a limit case of the discrete summation: f(x)dx=limdx0(f(x)dx). So, it cannot come before discrete summation.
Val

@JasonR In the continuous setting, you'd replace the Toeplitz matrix by a shift-invariant operator. You then can show that the Fourier basis functions diagonalize this operator.
lp251

3

Although the previous answers have been really good, I would like to add my viewpoint about convolution where I just make it easier to visualize due to the figures.

One wonders if there is any method through which an output signal of a system can be determined for a given input signal. Convolution is the answer to that question, provided that the system is linear and time-invariant (LTI).

Assume that we have an arbitrary signal s[n]. Then, s[n] can be decomposed into a scaled sum of shifted unit impulses through the following reasoning. Multiply s[n] with a unit impulse shifted by m samples as δ[nm]. Since δ[nm] is equal to 0 everywhere except at n=m, this would multiply all values of s[n] by 0 when n is not equal to m and by 1 when n is equal to m. So the resulting sequence will have an impulse at n=m with its value equal to s[m]. This process is clearly illustrated in Figure below.

enter image description here

This can be mathematically written as

s[n]δ[nm]=s[m]δ[nm]
Repeating the same procedure with a different delay m gives
s[n]δ[nm]=s[m]δ[nm]

The value s[m] is extracted at this instant. Therefore, if this multiplication is repeated over all possible delays <m<, and all produced signals are summed together, the result will be the sequence s[n] itself.

s[n]=+s[2]δ[n+2]+s[1]δ[n+1]+s[0]δ[n]+s[1]δ[n1]+s[2]δ[n2]+=m=s[m]δ[nm]

In summary, the above equation states that s[n] can be written as a summation of scaled unit impulses, where each unit impulse δ[nm] has an amplitude s[m]. An example of such a summation is shown in Figure below.

enter image description here

Consider what happens when it is given as an input to an LTI system with an impulse response h[n].

enter image description here

This leads to an input-output sequence as

enter image description here

During the above procedure, we have worked out the famous convolution equation that describes the output r[n] for an input s[n] to an LTI system with impulse response h[n].

Convolution is a very logical and simple process but many DSP learners can find it confusing due to the way it is explained. We will describe a conventional method and another more intuitive approach.

Conventional Method


Most textbooks after defining the convolution equation suggest its implementation through the following steps. For every individual time shift n,

[Flip] Arranging the equation as r[n]=m=s[m]h[m+n], consider the impulse response as a function of variable m, flip h[m] about m=0 to obtain h[m].

[Shift] To obtain h[m+n] for time shift n, shift h[m] by n units to the right for positive n and left for negative n.

[Multiply] Point-wise multiply the sequence s[m] by sequence h[m+n] to obtain a product sequence s[m]h[m+n].

[Sum] Sum all the values of the above product sequence to obtain the convolution output at time n.

[Repeat] Repeat the above steps for every possible value of n.

An example of convolution between two signals s[n]=[211] and h[n]=[112] is shown in Figure below, where the result r[n] is shown for each n.

Note a change in signal representation above. The actual signals s[n] and h[n] are a function of time index n but the convolution equation denotes both of these signals with time index m. On the other hand, n is used to represent the time shift of h[m] before multiplying it with s[m] point-wise. The output r[n] is a function of time index n, which was that shift applied to h[m].

enter image description here

Next, we turn to the more intuitive method where flipping a signal is not required.

Intuitive Method


There is another method to understand convolution. In fact, it is built on the derivation of convolution equation, i.e., find the output r[n] as

r[n] = +s[2]h[n+2] +s[1]h[n+1] +s[0]h[n] + s[1]h[n1] + s[2]h[n2] +
Let us solve the same example as in the above Figure, where s[n]=[2 11] and h[n]=[112]. This is shown in Table below.

enter image description here

Such a method is illustrated in Figure below. From an implementation point of view, there is no difference between both methods.

enter image description here

To sum up, convolution tells us how an LTI system behaves in response to a particular input and thanks to intuitive method above, we can say that convolution is also multiplication in time domain (and flipping the signal is not necessary), except the fact that this time domain multiplication involves memory. To further understand at a much deeper level where flipping comes from, and what happens in frequency domain, you can download a sample section from my book here.

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