The boost is only needed along the lr=0 axis. When lr is non zero the matrix element
should not be boosted. This problem can be solved by using an additive term to the
matrix elements, instead of a multiply. We define a new steering index, the boundary
limited cs value with the following Matlab code:
Assume both lr and cs > 0 – we are in the left front quadrant
(assume cs and lr follow the matlab conventions of varying from 1 to 46)
% find the bounded c/s
if (cs < 24)
bcs = cs-(lr-1);
if (bcs<1) % this limits the maximum value
bcs = 1;
end
else
bcs = 47-cs-(lr-1);
if (bcs <1)
bcs = 1;
end
end
If cs < 22.5 and lr =0, (In matlab convention cs < 24 and lr = 1) bcs is equal to cs.
However as lr increases bcs will decrease to zero. If cs > 22.5, as lr increases bcs also
decreases.
Now to find the correction function needed, we find the difference between the boosted
matrix elements and the non-boosted ones, along the lr=0 axis. We call this difference
cos_tbl_plus and sin_tbl_plus. (This code is written in a matlab, where variables are
multivalued vectors. It takes some getting used to.)
a = 0:45 % define a vector in one degree steps. a has the values of 0 to 45 degrees
a1 = 2*pi*a/360; % convert to radians