A method for wireless communication, comprising: receiving, at a mobile device, a message indicating a set of control options available to the mobile device for data transmissions; selecting a spreading code sequence from a number of spreading code sequences, wherein the spreading code sequence corresponds to a control option in the set of control options, wherein the number of spreading code sequences is greater than a length N of each of the spreading code sequences, wherein the spreading code sequences are generated using a first method when the length N of each of the spreading code sequences is greater than or equal to 3, wherein the first method includes generating the spreading code sequences using a Fourier Transform matrix of dimension N and a permutation matrix of ones and zeros that includes M = 1 + C N 1 + C N 2 +... + C N N − 2 vectors, each vector having a length of N, wherein the permutation matrix is generated using: C N 1 number of length-N vectors, each having N-1 ones and 1 zero, C N 2 number of length-N vectors, each having N-2 one and 2 zeroes, and C N N − 2 number of length-N vectors, each having 2 ones and N-2 zeroes; or wherein the spreading code sequences are generated using a second method different from the first method when the length N of each of the spreading code sequences is less than 3, wherein the second method includes generating the spreading code sequences by combining 1 and a set of primitive Mth roots of unity, M being greater than the length N; generating a plurality of reference signal symbols by multiplying, element by element, an original reference signal with the spreading code sequence; and transmitting, from the mobile device, the plurality of reference signal symbols. receiving, at a mobile device, a message indicating a set of control options available to the mobile device for data transmissions; selecting a spreading code sequence from a number of spreading code sequences, wherein the spreading code sequence corresponds to a control option in the set of control options, wherein the number of spreading code sequences is greater than a length N of each of the spreading code sequences, wherein the spreading code sequences are generated using a first method when the length N of each of the spreading code sequences is greater than or equal to 3, wherein the first method includes generating the spreading code sequences using a Fourier Transform matrix of dimension N and a permutation matrix of ones and zeros that includes M = 1 + C N 1 + C N 2 +... + C N N − 2 vectors, each vector having a length of N, wherein the permutation matrix is generated using: C N 1 number of length-N vectors, each having N-1 ones and 1 zero, C N 2 number of length-N vectors, each having N-2 one and 2 zeroes, and C N N − 2 number of length-N vectors, each having 2 ones and N-2 zeroes; or wherein the spreading code sequences are generated using a second method different from the first method when the length N of each of the spreading code sequences is less than 3, wherein the second method includes generating the spreading code sequences by combining 1 and a set of primitive Mth roots of unity, M being greater than the length N; generating a plurality of reference signal symbols by multiplying, element by element, an original reference signal with the spreading code sequence; and transmitting, from the mobile device, the plurality of reference signal symbols. C N 1 number of length-N vectors, each having N-1 ones and 1 zero, C N 2 number of length-N vectors, each having N-2 one and 2 zeroes, and C N N − 2 number of length-N vectors, each having 2 ones and N-2 zeroes; or wherein the spreading code sequences are generated using a second method different from the first method when the length N of each of the spreading code sequences is less than 3, wherein the second method includes generating the spreading code sequences by combining 1 and a set of primitive Mth roots of unity, M being greater than the length N; generating a plurality of reference signal symbols by multiplying, element by element, an original reference signal with the spreading code sequence; and transmitting, from the mobile device, the plurality of reference signal symbols.