170 likes | 982 Views
חישוב קונבולוציה בצורה גרפית. שיטה לחישוב הפוך את ציר הזמן של h ) סובב אותו סביב הראשית) הזז את h ההפוך k יחידות ימינה, כפול את אברי a החופפים ל h וסכם את האות המתקבל. הזז את h עד שאין בינו לבין a כל חפיפה. אורך וקטור התוצאה |a|+|h|-1. a. h. h[n]a[3-n] b(3)=-1. h[-n].
E N D
חישוב קונבולוציה בצורה גרפית • שיטה לחישוב • הפוך את ציר הזמן של h)סובב אותו סביב הראשית) • הזז את h ההפוך kיחידות ימינה, כפול את אברי a החופפים ל h וסכם את האות המתקבל. • הזז את h עד שאין בינו לבין a כל חפיפה. אורך וקטור התוצאה |a|+|h|-1 a h h[n]a[3-n] b(3)=-1 h[-n]
חישוב קונבולוציה בmatlab • ע“י הפקודה: • b=conv(a,h) B(1)= -1 B(2)= -1 B(3)= -1 B(4)= -1 B(5)= 4 B(6)= 0
קונבולוציה גרפית בשני ממדים • ניתן לחשב את: • בשיטה הבאה: • הפוך את hסביב ציר xוסביב ציר y. • הזז את h ב- k1 יחידות בציר x ו- k2 יחידות בציר y הכפל באברי a החופפים וסכם את האות המתקבל, התוצאה היא b(k1,k2).
b(1,1)= -1*1= -1 k1=1, k2=1
b(1,2)= -2*1+ -1*2= -4 k1=1, k2=2
b(1,3)= -2*2= -4 k1=1, k2=3
h(n1,n2) a(k1-n1,k2-n2) b(2,1)= -1*3+0*1= -3 k1=2, k2=1
h(n1,n2) a(k1-n1,k2-n2) k1=2, k2=2 b(2,2)= -2*3+ -1*4+3*1+0*2= -7
h(n1,n2) a(k1-n1,k2-n2) k1=2, k2=3 b(2,3)= -2*4+3*2= -2
h(n1,n2) a(k1-n1,k2-n2) k1=3, k2=1 b(3,1)=0*3=0
h(n1,n2) a(k1-n1,k2-n2) k1=3, k2=2 b(3,2)=3*3+0*4=9
h(n1,n2) a(k1-n1,k2-n2) k1=3, k2=3 b(3,3)=3*4=12
ב matlabניתן לחשב קונבולוציה דו מימדית ע"י: conv2(a,b, method) % Method can be ‘valid’ (returns pixels computed without zero padding), ‘same’ (returns image the same size as a) or ‘full’ • ‘full’נותן תוצאה בגודל: xa+xh-1, ya+yh-1