A method for modulating a multi-dimensional input data array V.sub.in, to produce an output modulated data array page V.sub.out such that, in each row and column of the output modulated data array V.sub.out, there are at least t transitions, where t is a predetermined integer greater than 2, the method comprising the steps of:
- a) generating fixed sets of binary arrays each comprising fixed sets of binary control vectors;
- b) combining said binary array sets so as to produce one full set of control arrays, said step of combining comprising a bit by bit modulo two summation operation;
- c) selecting one control array from said full set of control arrays;
- and
- d) combining said selected control array to said input data array V.sub.in to produce said output array V.sub.out, said step of combining comprising a bit by bit modulo two summation operation.