A method of performing, by a user equipment, UE, multi-dimensional modulation, MM, based non-orthogonal multiple access, NOMA, communication, the method comprising: receiving information on an index of a UE-specific codebook allocated for the UE and an entire MM-based codebook set through a downlink control channel; generating information bit stream for generated traffic; generating an encoded bit stream by performing channel coding on the information bit stream; generating a complex vector by performing MM-based encoding on the encoded bit stream based on a UE-specific codebook corresponding to the index of the UE-specific codebook; converting the complex vector into an uplink data channel through resource mapping; and transmitting the uplink data channel, wherein the entire MM-based codebook set includes a plurality of UE-specific codebooks comprising the UE-specific codebook, wherein the complex vector is determined by a factor graph; wherein the factor graph is generated by a bipartite matching based on a number of expected connected UEs and a number of variable nodes K; and wherein the plurality of the UE-specific codebooks is configured based on a matrix representation of the factor graph, wherein the factor graph is represented by a matrix having K rows and J columns, and is configured to satisfy dv<K, df<J, dv is a number of non-zero coefficients in a column of the matrix, df is a number of UEs allocated to a same resource, wherein the UE-specific codebook is a matrix configured based on a vector corresponding to a specific column of the matrix representation of the factor graph, wherein the plurality of UE-specific codebooks are normalized codebook sets defined as follows: UE index k UE specific Codebook k = 00 01 10 11 [ vec 1 vec 2 vec 3 vec 4] ∗ P no UE 1 UE 2 UE 3 UE 4 UE 5 UE 6 wherein P no is an M×M normalized matrix for power constraints, P no = P no, 1 0 0 0 0 P no, 2 0 0 0 0 P no, 3 0 0 0 0 P no, 4, P no, m = 1 / vec m × K, for m = 1,..., M, where K=4, M=4, wherein J=6, dv=2 and df=3, and wherein bits 00, 01, 10 and 11, correspond to the first, the second, the third and the fourth column, respectively, of the UE specific codebook receiving information on an index of a UE-specific codebook allocated for the UE and an entire MM-based codebook set through a downlink control channel; generating information bit stream for generated traffic; generating an encoded bit stream by performing channel coding on the information bit stream; generating a complex vector by performing MM-based encoding on the encoded bit stream based on a UE-specific codebook corresponding to the index of the UE-specific codebook; converting the complex vector into an uplink data channel through resource mapping; and transmitting the uplink data channel, wherein the entire MM-based codebook set includes a plurality of UE-specific codebooks comprising the UE-specific codebook, wherein the complex vector is determined by a factor graph; wherein the factor graph is generated by a bipartite matching based on a number of expected connected UEs and a number of variable nodes K; and wherein the plurality of the UE-specific codebooks is configured based on a matrix representation of the factor graph, wherein the factor graph is represented by a matrix having K rows and J columns, and is configured to satisfy dv<K, df<J, dv is a number of non-zero coefficients in a column of the matrix, df is a number of UEs allocated to a same resource, wherein the UE-specific codebook is a matrix configured based on a vector corresponding to a specific column of the matrix representation of the factor graph, wherein the plurality of UE-specific codebooks are normalized codebook sets defined as follows: UE index k UE specific Codebook k = 00 01 10 11 [ vec 1 vec 2 vec 3 vec 4] ∗ P no UE 1 UE 2 UE 3 UE 4 UE 5 UE 6 wherein P no is an M×M normalized matrix for power constraints, P no = P no, 1 0 0 0 0 P no, 2 0 0 0 0 P no, 3 0 0 0 0 P no, 4, P no, m = 1 / vec m × K, for m = 1,..., M, where K=4, M=4, wherein J=6, dv=2 and df=3, and wherein bits 00, 01, 10 and 11, correspond to the first, the second, the third and the fourth column, respectively, of the UE specific codebook