Patent ID: 7609749

Claim:
A method comprising: defining a variable B=SF max /SF min , where SF max is a maximum desired spreading factor and SF min is a minimum desired spreading factor, where SF max and SF min are integer values; forming B unique base matrices G k of dimension SF min ×SF min , where G i G i T =SF min I min ∀i, where T denotes a matrix transpose and I min is an SF min ×SF min identity matrix; forming a modulation matrix M of dimension B×B such that MM T =BI B , where I B is a B×B identity matrix; forming an SF max ×SF max orthogonal variable spread factor (OVSF) code matrix C′ as: C ′ = [ M 1 , 1 · G 1 M 1 , 2 · G 2 … M 1 , B · G B M 2 , 1 · G 1 M 2 , 2 · G 2 … M 2 , B · G B ⋮ ⋮ ⋰ ⋮ M B , 1 · G 1 M B , 2 · G 2 … M B , B · G B ] , where M i,j is a scalar from the i-th row and j-th column of the modulation matrix M, G l . . . G B is the k-th base matrix G k and M i,j ·G k denotes the multiplication of the elements of G k by the scalar M i,j , where i, j and k are integer values; selecting a row of the OVSF code matrix C′ to use as a pseudo-noise (PN) code; and one of spreading or despreading a signal using the selected PN code, where the steps of defining, forming the B unique base matrices, forming the modulation matrix M, forming the OVSF code matrix C′, selecting and one of spreading or despreading are performed by at least one processor.