filters

Contents

a0, a1, a2

M = 7;
rg = (M-1)/2;

x = ones(M,1)*(-rg:rg);
y = flipud(x');
rsq = x.^2+y.^2;
a0 = im2double(rsq<(M/2).^2);
%a0 = ones(M,M);
a1 = x.*a0;
a2 = y.*a0;
h = -rg:rg;
b11_a = h.*h

b11_b = conv(h,h)
plot(h,b11_a,-(M-1):(M-1),b11_b);
b11_a =

     9     4     1     0     1     4     9


b11_b =

     9    12    10     4    -5   -16   -28   -16    -5     4    10    12     9

b11

b11 = a1.*a1.*a0;
n1 = sum(sum(b11));
n2 = sum(sum(a0));
fprintf('sum b11 %d\n',n1);
factor(n1)
fprintf('sum a0 %d\n',n2);
factor(n2)
b11 = b11-a0*(n1/n2);
b11
sum(sum(b11.*a0))
sum b11 108

ans =

     2     2     3     3     3

sum a0 37

ans =

    37


b11 =

         0         0   -1.9189   -2.9189   -1.9189         0         0
         0    1.0811   -1.9189   -2.9189   -1.9189    1.0811         0
    6.0811    1.0811   -1.9189   -2.9189   -1.9189    1.0811    6.0811
    6.0811    1.0811   -1.9189   -2.9189   -1.9189    1.0811    6.0811
    6.0811    1.0811   -1.9189   -2.9189   -1.9189    1.0811    6.0811
         0    1.0811   -1.9189   -2.9189   -1.9189    1.0811         0
         0         0   -1.9189   -2.9189   -1.9189         0         0


ans =

 -7.1054e-015

br

b22 = b11';

br = b11+b22;
br
br =

         0         0    4.1622    3.1622    4.1622         0         0
         0    2.1622   -0.8378   -1.8378   -0.8378    2.1622         0
    4.1622   -0.8378   -3.8378   -4.8378   -3.8378   -0.8378    4.1622
    3.1622   -1.8378   -4.8378   -5.8378   -4.8378   -1.8378    3.1622
    4.1622   -0.8378   -3.8378   -4.8378   -3.8378   -0.8378    4.1622
         0    2.1622   -0.8378   -1.8378   -0.8378    2.1622         0
         0         0    4.1622    3.1622    4.1622         0         0

b12

b12 = a1.*a2
sum(sum(b12.*a0))
b12 =

     0     0    -3     0     3     0     0
     0    -4    -2     0     2     4     0
    -3    -2    -1     0     1     2     3
     0     0     0     0     0     0     0
     3     2     1     0    -1    -2    -3
     0     4     2     0    -2    -4     0
     0     0     3     0    -3     0     0


ans =

     0