A data transmission method performed by a data communication apparatus, the method comprising: obtaining N data symbols to be sent; determining N complex sequences to be used; processing the N data symbols using the N complex sequences respectively to generate N data symbol sequences; superimposing the N data symbol sequences to generate a superimposed data symbol sequence; and sending the superimposed data symbol sequence; wherein N is an integer number greater than or equal to 2; characterized in that : a length of the complex sequence is L, each element of the complex sequence is a complex number, and values of both a real part and an imaginary part of each element of the complex sequence come from an M-ary set of real numbers, wherein L is an integer number greater than 1 and M is an integer number greater than 2; wherein the M-ary set of real numbers comprises: a set consisted of M integer numbers within a range [-(M-1)/2, (M-1)/2] when M is an odd number greater than 2; or a set consisted of M odd numbers within a range [-(M-1), (M-1)] when M is an even number greater than 2; or a set consisted of M real numbers obtained by multiplying M integer numbers within a range [-(M-1)/2, (M-1)/2] by a first preset coefficient respectively when M is an odd number greater than 2; or a set consisted of M real numbers obtained by multiplying M odd numbers within a range [-(M-1), (M-1)] by a second preset coefficient respectively when M is an even number greater than 2. obtaining N data symbols to be sent; determining N complex sequences to be used; processing the N data symbols using the N complex sequences respectively to generate N data symbol sequences; superimposing the N data symbol sequences to generate a superimposed data symbol sequence; and sending the superimposed data symbol sequence; wherein N is an integer number greater than or equal to 2; characterized in that : a length of the complex sequence is L, each element of the complex sequence is a complex number, and values of both a real part and an imaginary part of each element of the complex sequence come from an M-ary set of real numbers, wherein L is an integer number greater than 1 and M is an integer number greater than 2; wherein the M-ary set of real numbers comprises: a set consisted of M integer numbers within a range [-(M-1)/2, (M-1)/2] when M is an odd number greater than 2; or a set consisted of M odd numbers within a range [-(M-1), (M-1)] when M is an even number greater than 2; or a set consisted of M real numbers obtained by multiplying M integer numbers within a range [-(M-1)/2, (M-1)/2] by a first preset coefficient respectively when M is an odd number greater than 2; or a set consisted of M real numbers obtained by multiplying M odd numbers within a range [-(M-1), (M-1)] by a second preset coefficient respectively when M is an even number greater than 2. a set consisted of M integer numbers within a range [-(M-1)/2, (M-1)/2] when M is an odd number greater than 2; or a set consisted of M odd numbers within a range [-(M-1), (M-1)] when M is an even number greater than 2; or a set consisted of M real numbers obtained by multiplying M integer numbers within a range [-(M-1)/2, (M-1)/2] by a first preset coefficient respectively when M is an odd number greater than 2; or a set consisted of M real numbers obtained by multiplying M odd numbers within a range [-(M-1), (M-1)] by a second preset coefficient respectively when M is an even number greater than 2. <EOS>