A method of deriving a subset out of N codes of length N, with N being an even number for binary codes and being an integer for non-binary codes, for use in a network utilizing quasi-synchronous code division multiple access combined with time division duplexing, for which all mutual cross-correlation functions are zero over more than one subsequent point, starting with the first point of the cross-correlation function, the method comprising:
- a) selecting an orthogonal code set, wherein the orthogonal code set is represented as a matrix;
- b) grouping zeros in the cross-correlation function as the first points of the cross-correlation function, comprising:
- exchanging columns in the matrix,
- exchanging rows in the matrix,
- inverting columns in the matrix, and
- inverting rows in the matrix;
- c) selecting the solutions which have well-peaked auto-correlation functions;
- and
- d) applying the solutions selected in c) to a plurality of data streams in the network so as to provide spread spectrum data streams.