A data transmission method performed by a data transmission apparatus, the method comprising: • modulating, based on a codebook, every N information bits of to-be-transmitted data into one M-dimensional modulation symbol, wherein the codebook is generated based on an M-dimensional modulation constellation, the M-dimensional modulation constellation comprises M modulation constellations, wherein, for each modulation constellation in the M modulation constellations, a constellation point in an m th modulation constellation in the M modulation constellations is obtained by mapping N information bits based on an m th information bit subset, the m th information bit subset consists of information bits on some locations but not all locations in the N information bits, and a union set of M information bit subsets respectively corresponding to the M modulation constellations is the N information bits, wherein each of the M information bit subsets includes at least one information bit the same as an information bit included in another information bit subset of the M information bit subsets, and wherein M and N are integers greater than or equal to 2, and m is 1, 2, ..., or M (step 310); and • sending the generated M-dimensional modulation symbol (step 320), wherein the codebook is specifically generated in the following manner: adjusting power of real parts and/or imaginary parts of constellation points in an M-dimensional mother modulation constellation, to obtain an adjusted M-dimensional modulation constellation; and generating the codebook based on the adjusted M-dimensional modulation constellation, wherein the power of the real parts and the imaginary parts of the constellation points in the M-dimensional mother modulation constellation are amplified and/or reduced according to different ratios for different data layers. • modulating, based on a codebook, every N information bits of to-be-transmitted data into one M-dimensional modulation symbol, wherein the codebook is generated based on an M-dimensional modulation constellation, the M-dimensional modulation constellation comprises M modulation constellations, wherein, for each modulation constellation in the M modulation constellations, a constellation point in an m th modulation constellation in the M modulation constellations is obtained by mapping N information bits based on an m th information bit subset, the m th information bit subset consists of information bits on some locations but not all locations in the N information bits, and a union set of M information bit subsets respectively corresponding to the M modulation constellations is the N information bits, wherein each of the M information bit subsets includes at least one information bit the same as an information bit included in another information bit subset of the M information bit subsets, and wherein M and N are integers greater than or equal to 2, and m is 1, 2, ..., or M (step 310); and • sending the generated M-dimensional modulation symbol (step 320), adjusting power of real parts and/or imaginary parts of constellation points in an M-dimensional mother modulation constellation, to obtain an adjusted M-dimensional modulation constellation; and generating the codebook based on the adjusted M-dimensional modulation constellation, wherein the power of the real parts and the imaginary parts of the constellation points in the M-dimensional mother modulation constellation are amplified and/or reduced according to different ratios for different data layers. <EOS>