SCMA sparse code multiple access modulation and demodulation system overview and matlab simulation

Table of contents

1 Introduction

2. Mathematical principles

2.1 Resource Allocation and Sparse Codebook

2.2 Coding and modulation of SCMA

2.3 SCMA channel transmission and demodulation

3. Implementation process

3.1 Construction of sparse codebook

3.2 SCMA coding process

3.3 SCMA demodulation process

4. Application fields

5. Implementation Difficulties

5.1 Resource Allocation and Code Mapping

5.2 Channel transmission and demodulation algorithm

5.3 Multi-user interference management

6. Part of the core code implementation

7. Conclusion


1 Introduction

      SCMA (Sparse Code Multiple Access) is a multiple access modulation technology used to realize simultaneous transmission of multiple users in a wireless communication system. SCMA uses the principle of sparse coding to realize efficient resource multiplexing and low-complexity demodulation process by establishing a coding mapping relationship between resources and users. This article will introduce the mathematical principle, implementation process, application fields, pseudo-code and implementation difficulties of SCMA in detail.

2. Mathematical principles

2.1 Resource Allocation and Sparse Codebook

      The SCMA system consists of K orthogonal resources and V users (layers). Resource allocation is the key to the SCMA system, and the multiplexing of resources is realized by allocating K resources to different users. Resource allocation can be described by a coding mapping relationship, and a sparse codebook (Codebook) is used here to implement coding mapping. Each user has a corresponding codebook, where each codebook is a matrix with a size of K×M, and M represents the number of resource coding levels. Assuming that the codebook of the kth user is CB(:,:,k), then CB(:,:,k) represents the encoding methods of M different levels of the kth user on K resources.

2.2 Coding and modulation of SCMA

      The encoding process of SCMA is to map user data to resource levels, and then perform multiple access modulation. Suppose the data of each user is a V×N matrix x, where N represents the number of signals per frame. SCMA coding uses a codebook CB to map user data to resource levels, generating a K×N matrix s, where s(k,n) represents the nth signal level on the kth resource. The SCMA encoding process can be expressed by the following mathematical formula:

s(k,n) = CB(k, x(k,n)+1, n), for k=1,...,K and n=1,...,N.

where x(k,n) denotes the resource level selected by the kth user in the nth signal.

2.3 SCMA channel transmission and demodulation

      In the channel transmission, the signal s is transmitted through the channel gain h, and Gaussian white noise is added. The receiving end receives the signal y and needs to demodulate to recover the user data. The SCMA system uses the Iterative Belief Propagation (Iterative Belief Propagation) algorithm for demodulation. The iterative belief propagation algorithm gradually reduces the demodulation error by iteratively updating the joint probability among users. The demodulation process of SCMA can be expressed by the following mathematical formula:

h(k,n) = (1/sqrt(2))(randn(1, N) + 1jrandn(1, N)), for k=1,...,K and n=1,...,N.

     where h(k,n) represents the channel gain of the kth resource in the nth signal. Then using an iterative belief propagation algorithm, the following two probabilities are updated iteratively:

Igv(k,n,m) = log(P(s(k,n) = CB(k,m,n))), for k=1,...,K; n=1,...,N; m=1,...,M.

Ivg(k,n,m) = log(P(x(k,n) = m)), for k=1,...,K; n=1,...,N; m=1,...,M.

Finally, the likelihood ratio (LLR) matrix LLR is obtained.

3. Implementation process

3.1 Construction of sparse codebook

      First, a sparse codebook CB is constructed. CB is a three-dimensional matrix, where CB(:,:,k) represents the codebook of the kth user. Each CB(:,:,k) is a matrix with a size of K×M, which represents the coding modes of M different levels of the k-th user on K resources.

3.2 SCMA coding process

      For each user's data x, codebook CB and channel gain h are used for encoding and channel transmission by iterative belief propagation algorithm. The encoding process maps user data to resource levels to obtain a K×N matrix s, where s(k,n) represents the nth signal level on the kth resource.

3.3 SCMA demodulation process

      After receiving the signal y, the iterative belief propagation algorithm is used for demodulation to obtain the likelihood ratio (LLR) matrix LLR. Symbol-to-bit and LLR-to-bit conversions are then performed to calculate the bit error rate.

3.4 BER simulation results

 

4. Application fields

      SCMA sparse code multiple access modulation and demodulation system is widely used in wireless communication systems. Due to its efficient resource reuse and low-complexity demodulation process, it is suitable for large-scale multi-user access scenarios. For example, SCMA technology can be applied to 5G and later mobile communication systems to support simultaneous communication of a large number of users and improve the spectral efficiency and throughput of the system.

5. Implementation Difficulties

     The realization of SCMA sparse code multiple access modulation and demodulation system faces the following main difficulties:

5.1 Resource Allocation and Code Mapping

     The performance of SCMA systems is highly dependent on the design of resource allocation and coding mapping. How to design a suitable sparse codebook so that resources between users can be reused effectively and the complexity of the demodulation process as low as possible is an important challenge.

5.2 Channel transmission and demodulation algorithm

      During channel transmission, the signal is affected by multipath channel and additive Gaussian white noise, which causes the received signal to be interfered. How to design an efficient demodulation algorithm, reduce the demodulation error rate, and improve the reliability of the system is also a key difficulty.

5.3 Multi-user interference management

      In a multi-user multiple access modulation system, there will be interference among users. How to reasonably manage the interference between users and ensure the stability and reliability of system performance when multiple users are connected is a complicated problem.

6. Part of the core code implementation

    % 循环执行信道仿真,直到达到最大错误数或最大比特数
    while ((min(Nerr(:,k)) < maxNumErrs) && (Nbits(1,k) < maxNumBits))
        [min(Nerr(:,k)),Nbits(1,k),k]
        % 生成随机的用户数据,x 是一个 VxN 矩阵,表示每个用户的编码数据
        x = randi([0 M-1], V, N); % log2(M)-bit symbols
        % 生成 Rayleigh 信道增益,h 是一个 KxVxN 三维矩阵
        h = 1/sqrt(2)*(randn(K, V, N)+1j*randn(K, V, N)); % Rayleigh 信道

        s = scmaenc(x, CB, h); % joint encoding and fading channel propagation
        y = awgn(s, SNR(k));        % 加入高斯白噪声
  % SCMA 解码,得到 LLR 似然比矩阵
        LLR = scmadec(y, CB, h, N0, Niter);

         % 符号到比特转换
        r    = de2bi(x, log2(M), 'left-msb');
        data = zeros(log2(M)*N, V);
        for kk = 1:V
            data(:,kk) = reshape(downsample(r, V, kk-1).',[],1);
        end

        % LLR 到比特转换
        datadec = reshape((LLR <= 0), [log2(M) N*V]).';
        datar   = zeros(log2(M)*N, V);
        for kk = 1:V
            datar(:,kk) = reshape(downsample(datadec, V, kk-1).', [], 1);
        end
up3006

7. Conclusion

SCMA sparse code multiple access modulation and demodulation system is an efficient multi-user multiple access modulation technology. Through the design of sparse codebook and the application of iterative belief propagation algorithm, the efficient multiplexing of resources and the demodulation process of low complexity are realized. SCMA technology has broad application prospects in wireless communication systems, but it also faces challenges in resource allocation, code mapping, channel transmission and multi-user interference management. In the future communication development, SCMA technology will continue to play an important role in promoting the performance improvement and intelligent development of wireless communication systems.

Guess you like

Origin blog.csdn.net/ccsss22/article/details/131917200
Recommended