در دومقاله قبلی نشان دادیم که چگونه می توان یک سیگنال دیجیتالی را با استفاده از سیگنال های ضربه تفکیک کرد. سپس مفهوم پاسخ ضربه را بررسی کردیم و دیدیم که هرگونه انتقال و تغییر مقیاس در ورودی موجب همان اندازه انتقال و تغییر مقیاس در خروجی خواهد شد. در این مقاله می خواهیم در عمل نشان دهیم که چگونه می توان با در دست داشتن پاسخ ضربه یک سیستم، خروجی آن سیستم را به ازای هر سیگنال ورودی محاسبه کرد. برای این منظور نیز از عملگری به نام عملگر کانولوشن استفاده خواهیم کرد. همانطور که می دانید هر سیگنال را می توان به شکل یک بردار تصور کرد. با دانستن این نکته می توان حدس زد که منظور از جمع/تفریق دو سیگنال همان جمع/تفریق دو بردار می باشد. به عبارت دیگر عملگر جمع و تفریق با گرفتن دو سیگنال هم اندازه در ورودی خود آن دو را ترکیب کرده و سیگنال خروجی را تولید می کند. 

فرض کنید پاسخ ضربه یک سیستم نمونه را داریم و می خواهیم به ازای هر ورودی سیگنال، خروجی سیستم را به دست آوریم. واضح است که پاسخ ضربه می تواند هم اندازه با سیگنال ورودی نباشد (در اکثر موارد نیز چنین است ). خروجی نهایی سیستم از کانوالو کردن سیگنال ورودی با پاسخ ضربه سیستم به دست می آید. 

شکل زیر نشان می دهد که عملگر کانولوشن چگونه بر روی سیگنال ورودی اعمال می شود. فرض کنید سیگنال ورودی X و سیگنال خروجی Y ثابت باشند. درمقابل، ماشین کانولوشن ( هرچیزی که داخل کادر خط چین است ) می تواند به چپ یا راست حرکت کند. پس از آنکه ماشین کانولوشن حرکت کرد، مقادیر آن زیر مقادیر سیگنال ورودی قرار می گیرند. سپس چهار نمونه از سیگنال ورودی وارد ماشین کانولوشن شده و با مقادیر نشان داده شده در ماشین کانولوشن (پاسخ ضربه) یک به یک ضرب می شوند. در نهایت نیزجمع کل حاصلضرب ها در نقطه متناظر از سیگنال خروجی قرار می گیرد. به عنوان مثال در شکل نشان داده شده، مقدار y[6] در خروجی با استفاده از مقادیر x(3..6) از سیگنال ورودی محاسبه شده است.

برای محاسبه مقدار y(7) ماشین کانولوشن یک واحد به سمت راست حرکت کرده و مقادیری از سیگنال ورودی که بالای ماشین کانولوشن قرار دارند وارد ماشین شده و با مقادیر پاسخ ضربه ضرب می شوند در نهایت نیز جمع کل آن ها به عنوان مقدار y(7) برگردانده می شود. همین روند برای محاسبه کلیه نمونه های سیگنال خروجی تکرار می شود.

توجه کنید که نحوه چینش مقادیر پاسخ ضربه در داخل ماشین کانولوشن از اهمیت ویژه ای برخوردار است و باید به شکل راست به چپ باشد. راست به چپ کردن مقادیر پاسخ ضربه در داخل ماشین کانولوشن باعث می شود تا مقدار شماره ۰ در سمت راست و سایر مقادیر به ترتیب و در سمت چپ آن قرار گیرند. حال که عمگر کانولوشن را توضیح دادیم می توانیم فرموله کردن آن بپردازیم. اگر x[n] سیگنال ورودی با N نمونه از ۰ تا N-1 باشد و h[n]نیز سیگنالی M نقطه ای با اندیس ۰ تا M-1 باشد کانولوشن این دو، سیگنالی با N+M-1 نمونه است که مقدار آن در هر نقطه به صورت زیر محاسبه می گردد:

Amini
در محیط MATLAB از تابع conv برای کانولوشن دو سیگنال می توانیم استفاده کنیم. به عنوان مثال مجموعه دستورات زیر را وارد کرده و نتایج آن مشاهده کنید.