Polar code-SCMA system optimization method for satellite-ground laser communication
By introducing Polar code and SCMA technology into the satellite-ground laser communication system, combined with the hole punching algorithm, the impact of atmospheric turbulence on laser communication performance is solved, and the system's anti-code error capability and reliability are improved.
Patent Information
- Application Number
- CN202510310600.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2025-03-17
- Publication Date
- 2025-04-15
- Estimated Expiration
- Not applicable · inactive patent
AI Technical Summary
In star-to-ground laser communication, atmospheric turbulence causes flickering and drifting of laser spots, seriously affecting communication performance, resulting in high bit error rate and low system reliability.
Polar code and SCMA system optimization methods are adopted, and through polarized code encoding and sparse code multiple access technology, reliable channels are selected to transmit information, and errors in data transmission are processed in combination with hole punching algorithms to reduce the risk of data loss and misunderstanding.
It improves the anti-bit error performance of the Star-Ground laser communication system, reduces the bit error rate, and enhances the reliability and performance of the system.
Smart Images

Figure CN119834890A_ABST
Abstract
Description
Technical Field
[0001] The present invention relates to the technical field of satellite-to-ground laser communication, and in particular to a method for optimizing a Polar code-SCMA system for satellite-to-ground laser communication. Background Art
[0002] Satellite-to-ground laser communication refers to the technology of using laser beams to transmit information between satellites and ground stations. The development of this technology is based on the need for improvement of traditional radio communication systems and the need for higher data transmission rates. With the development of information technology, especially the growth of applications such as the Internet, the Internet of Things, and high-definition video, higher requirements are placed on the bandwidth of communication systems. Traditional radio communications (such as microwave communications) are difficult to meet the growing demand for data transmission due to limited spectrum resources. In contrast, laser communication can transmit more data within the same bandwidth, making it an ideal solution. In addition, lasers have extremely high frequencies, which means they can carry a lot of information. For example, in space, laser communication can achieve data transmission speeds of Gbps or even Tbps. The laser beam is highly directional, making it less susceptible to interference from other signals. Laser communication equipment is smaller and lighter than radio frequency equipment, which is very important for space vehicles such as satellites.
[0003] Although laser communication has many advantages, it also faces some technical challenges: the earth's atmosphere will absorb and scatter laser signals, especially in bad weather conditions, which will significantly reduce the signal quality; because the laser beam is very narrow, a precise tracking system is required to keep the beam aligned; the long distance between the satellite and the ground station, plus the possible relative motion, increases the difficulty of keeping the signal stable; although the laser beam is difficult to intercept, how to ensure the safe transmission of data is still an important issue; with the advancement of technology, scientists are developing new methods to overcome the above challenges, such as using advanced signal processing technology, improved tracking and stabilization mechanisms, and developing materials and technologies suitable for various environmental conditions. At the same time, the international community is also actively formulating relevant standards to promote the application and development of laser communication technology.
[0004] Satellite-to-ground laser communications have been widely used in military, scientific research, and commercial satellite communications. As the technology matures, it is expected that more civilian applications will emerge in the future, including real-time high-definition video transmission and large-scale data exchange. As a cutting-edge communication method, satellite-to-ground laser communications are gradually becoming an important part of future space communications. Despite many technical challenges, its potential benefits have prompted countries and scientific research institutions to continue to invest in research and development to promote the development of this technology.
[0005] Although satellite-to-ground laser communication has many advantages, it also has some obvious disadvantages, such as atmospheric effects, transmission distance limitations, and difficulty in achieving precise aiming and tracking. Among them, the flickering and drift of the laser spot caused by atmospheric turbulence has a huge impact on the performance of communication. The communication method of this patent application is to suppress the impact of atmospheric turbulence on the system, improve the bit error rate and enhance system performance. Summary of the invention
[0006] In view of the above problems, the present invention proposes a method for optimizing the Polar code-SCMA system for satellite-to-ground laser communication, introduces polarization code and sparse code multiple access technology in satellite-to-ground laser communication, and selects reliable channels to transmit information to improve the error-resistant performance of the communication system. The puncturing algorithm is used to help the system better handle errors in the data transmission process, reduce the risk of data loss and misunderstanding, and improve the reliability of the system.
[0007] The above purpose is achieved through the following technical solutions:
[0008] A method for optimizing a Polar code-SCMA system for satellite-to-ground laser communication, the method comprising the following steps:
[0009] S1. Sending data information bits to the polar code encoder to generate a coded sequence for transmission on the channel;
[0010] S2. Puncture the encoded sequence obtained in step S1 to obtain the desired code length according to the code rate required by the system;
[0011] S3. The information after punching in step S2 is passed through the SCMA encoder to obtain the SCMA signal;
[0012] S4. After obtaining the SCMA signal in step S3, the signal is superimposed and sent to the channel for transmission;
[0013] S5. Demixing the received superposition signal first, and then decoding the SCMA signal obtained by demixing;
[0014] S6. Punch the information decoded in step S5 to restore the original code length;
[0015] S7. Perform polar code decoding on the information of the code length recovered in step S6 to complete the transmission process.
[0016] Furthermore, step S1 specifically includes the following sub-steps:
[0017] S1.1 Polarized channel reliability estimation: The performance of polarized channels is arranged to obtain an ordered bit channel index sequence. The most reliable K polarized channels need to be selected for encoding, where K is the number of information bits.
[0018] S1.2 Bit mixing: Place information bits on the K polarized channels selected in step S1.1, and record this index set as information bit set A; place frozen bits on the remaining polarized channels, and record this index set as frozen bit set B; mix the information bits and frozen bits according to the polarized channel index values to obtain an ordered bit index sequence , N is the code length;
[0019] S1.3 Constructing the generator matrix , generating the matrix Generated by the following formula: , in, ; Represents the matrix of Kronecker product, and , Used for bit reversal operation, recursively generated by the following formula: , Among them, when N=2 is substituted into the above formula, it satisfies , represents the 2D unit matrix, is the permutation matrix;
[0020] S1.4 Generate the encoded sequence : The encoded sequence By generating the matrix With ordered bit index sequence Multiply them together and calculate according to the following formula: ,
[0021] The encoded sequence is represented as ; Encoded sequence vector , ; is a set of information bits; , and A is taken from .
[0022] Furthermore, in step S1.1, the performance of the polarized channels is arranged to obtain an ordered bit channel index sequence, specifically by using a bus parameter method, and the iterative formula corresponding to the bus parameter is: , , in Indicates channel The bus parameters corresponding to the 2i-1th sub-channel after splitting; Indicates channel The bus parameter corresponding to the i-th sub-channel after splitting;
[0023] Assume that the binary input sequence after BPSK modulation is x, and the sequence is sent into the channel for transmission. The channel gain is h, and the signal received by the receiving end obeys the Gaussian distribution and its expression is y=hx+n0, where n0 is Gaussian white noise and obeys the Gaussian distribution. , so the channel transition probability is: , , in It indicates the probability of y occurring when 0 occurs; It indicates the probability of y occurring when 0 occurs in this channel; Indicates the degree of discreteness of data distribution; It indicates the probability of y occurring when 1 occurs; It indicates the probability of y occurring when 1 occurs in this channel; Represents an exponential function with base e.
[0024] The initial value of the bus parameter obtained from the channel transfer probability is: , in Represents the bus parameter. After obtaining the Bhattacharyya value of each channel from the channel transition probability, it is sorted to obtain an ordered bit channel index sequence.
[0025] Furthermore, step S2 specifically includes the following sub-steps:
[0026] S2.1 first determines the original polar code parameters, which include the number of information bits K, the mother code length S, and the target code rate W indicating the ratio of useful information to the transmitted information; the desired target code length V is calculated by V=K / W;
[0027] S2.2 Design a punching pattern, using a punching method based on a punching sequence or determining the punching based on a comparison cycle index;
[0028] The puncturing method based on puncturing sequence first determines the number of bits to be punctured according to the code rate and requirements required for transmission, so as to select which bits to puncture. The selection of puncturing positions has three principles: selecting the bits with the lowest reliability for puncturing to minimize the impact on the coding performance; making the puncturing positions evenly distributed in the coded bit sequence; avoiding puncturing information bits as much as possible, and giving priority to puncturing frozen bits;
[0029] According to the selected puncturing positions, a puncturing mask is generated, where the puncturing mask is a binary sequence of the same length as the coded bit sequence, where 1 indicates that the bit is retained and 0 indicates that the bit is deleted; the puncturing mask is applied to the coded bit sequence to generate a punctured bit sequence;
[0030] The method of determining puncturing according to comparison of periodic indices first generates a plurality of candidate puncturing patterns according to an ordered bit channel sequence, each puncturing pattern corresponding to a specific set of puncturing positions, and for each candidate puncturing pattern, calculates its periodic index, which is the distance between two adjacent puncturing positions in the puncturing pattern, and reflects the influence of the puncturing pattern on the performance of the polar code. The larger the periodic index, the smaller the influence of the puncturing pattern on the performance of the polar code. The periodic indices of all candidate puncturing patterns are compared, and the puncturing pattern with the largest periodic index is selected. According to the selected optimal puncturing pattern, a puncturing mask having the same length as the coded bit sequence is generated, wherein 1 indicates that the bit is retained and 0 indicates that the bit is deleted. The puncturing mask is applied to the coded bit sequence, and the bit positions marked as 0 are deleted to generate a punctured bit sequence.
[0031] S2.3 punctures the polar code using the puncturing pattern selected in step S2.2, selects K bit channel indexes from the ordered bit channel index sequence obtained in step S1.1, and selects K bit channel indexes from the ordered bit index sequence p code bit indices are selected, where p is the number of punctures, and K bit channel indices are encoded. The encoder of the polar code with a code length of N specifies which are frozen bit channels and which bit channels are used to carry data bits at the input of the encoder; on the premise of determining the number of punctures, a puncturing mode is selected to puncture the bit channels according to the order to obtain the desired code length.
[0032] Furthermore, step S3 specifically includes the following sub-steps:
[0033] S3.1 First, a sparse codebook needs to be designed, which includes unique codewords for each user device. These codewords need to meet the sparsity condition in the sparse codebook to ensure the distinction between user devices. The sparse codebook uses an allocation matrix F to represent the allocation of the number of carriers for each user. It indicates that the number of carriers occupied by user j is E for transmission, and the rest represent occupied subcarriers;
[0034] S3.2 Each user device needs to encode its data stream through a sparse codebook, that is, map the user data to a specific codeword in the sparse codebook. The encoded signal of each user device will be superimposed on the shared channel. Specifically:
[0035] Under the premise of setting the sparse codebook, Binary bit information is mapped to Y-dimensional complex domain codewords, which have a mapping relationship: ; Assume that after the data of user j is processed, the data obtained is , The data after SCMA encoding is , where M is the constellation point set, |M| represents the cardinality of M, and Y is the number of orthogonal subcarriers. Indicates user j The corresponding Y-dimensional complex field codeword.
[0036] Furthermore, after the SCMA signal is obtained in step S4, the signal is superimposed and sent to the channel for transmission using the turbulence model Gamma-Gamma. The average bit error rate of this model is for: , , , in, represents the large-scale scattering coefficient, represents the small-scale scattering coefficient, represents the total noise affecting the average bit error rate, Represents a variable, and represents the double Gamma function, H represents the amplitude of the optical carrier, represents the response coefficient, represents a computational function that satisfies ,in Represents a variable Differentiate; different turbulence intensities will correspond to different light intensity flicker indices , The order is Bessel functions of the second kind;
[0037] Further rewrite the turbulence model Gamma-Gamma's average bit error rate have to: ,
[0038] in represents the normalized noise ratio, which can be expressed as , Represents a custom operation that satisfies ; Where p1, q1 are non-negative integers used to determine the structure of the function; m1, n1 are also non-negative integers related to the parameter combination in the function; z represents the independent variable of the function; are complex parameters, forming a parameter group of length p; Represents a parameter group of length q; are the coefficients of the integral expression; The integral of a complex function representing a path; represents the sth power of the independent variable z; is the multiplication symbol; is a gamma function that satisfies ; Indicates from arrive ,right Perform continuous multiplication operations; represents differential; E represents average bit energy; Represents the square of the average bit energy.
[0039] Furthermore, the specific method of step S5 is as follows:
[0040] S5.1 uses the received mixed signal and the known sparse codebook, and needs to perform a demixing operation on the mixed signal to separate the signals sent by each user equipment;
[0041] After polar code encoding, puncturing and SCMA mapping, the sequence at the transmitting end is superimposed and sent into the channel for transmission. At the receiving end, a multi-user detection algorithm is needed to separate the superimposed signals to obtain the codewords of each user.
[0042] After the S5.2 signal is demixed, the sparse code information and the demixed signal need to be used for decoding to restore the original data stream.
[0043] SCMA decoding uses an iterative message passing algorithm, which is a method based on factor graphs and belief propagation. Under the premise of known sparse codebook information, iterative message passing is first performed on the factor graph. In this process, nodes pass information to each other and update the estimate of the original transmitted symbols. After multiple iterations, hard or soft decisions are made based on the final message or probability distribution. If the predetermined number of iterations is reached, the iteration ends and the final decoding result is output.
[0044] Furthermore, step S6, puncturing the information decoded in step S5 to recover the original code length, specifically includes the following steps:
[0045] S6.1 Obtaining the puncture mode: When performing puncture recovery, the receiving end must know the puncture mode used by the sending end;
[0046] S6.2 inserting dummy bits: inserting dummy bits at the positions that were originally punctured in the received data after determining the puncturing pattern;
[0047] S6.3 adjusts the decoding algorithm according to the puncturing pattern and the inserted virtual bits to recover the original data sequence, and then makes a soft decision on the received data, that is, estimates the probability of each bit according to the received signal strength. According to the received signal strength and the known puncturing pattern, the removed bits are inferred to achieve puncturing recovery.
[0048] Furthermore, step S7 performs polar code decoding on the information of the code length restored in step S6, specifically including the following steps:
[0049] S7.1 uses the polar code decoding algorithm to decode the received coded sequence. The SCL decoding algorithm is as follows:
[0050] When multiple decoders are decoding in parallel, it is necessary to first find the candidate codeword with the highest a posteriori probability through the sub-decoder. After initialization, the path is retained. ,set up After decoding, the CRC check is performed on the retained path, and the SCL decoder gives The information bits are estimated, denoted as , , where 1<t≤L, 1<r≤L, t and r are independent of each other; the path metric is , and its corresponding path metric value is defined as follows: , represents the path metric value, represents the log-likelihood ratio of the path, Indicates The decoded bit value of the dth node in the branch, bit Estimated value of According to the following formula: , In the formula, Indicates the result of the judgment. Indicates storage, Represents a variable node, represents the log-likelihood ratio (LLR), which represents the message between the storage and variable nodes; ,
[0051] If the final , then the judgment is Otherwise, the judgment ; Finally, the node is obtained through the judgment function The decoding result of ; ,
[0052] S7.2 If the cyclic redundancy check is passed on the best decoding path, the decoding is successful. If there are multiple paths that pass the cyclic redundancy check, the path with the smallest metric value needs to be selected.
[0053] S7.3 If the result does not pass the cyclic redundancy check, exit the decoding process and update , you need to select The CA-SCL decoder re-decodes the When S7.1-S7.2 is repeated, the decoding is successful if the cyclic redundancy check can be passed, and the output set is Compared with the prior art, the beneficial effects of this application are as follows:
[0054] This application is based on satellite-to-ground laser communications with medium-to-strong turbulence. Polarization codes and sparse code multiple access technologies are used in the coding part. Polarization channels are used to improve the error resistance of the communication system. SCMA is used to introduce sparsity so that the codewords between users have a very small inner product, which can reduce interference between users and improve the system's bit error rate. Reasonable puncturing is performed in combination with the satellite-to-ground laser communication environment to help the system better handle errors in the data transmission process, reduce the risk of data loss and misunderstanding, and thus improve the reliability of the system. This application combines channel coding and puncturing algorithms to improve system performance. BRIEF DESCRIPTION OF THE DRAWINGS
[0055] Figure 1 It is a schematic diagram of the method flow of the present invention;
[0056] Figure 2 A design diagram of a punching method based on a punching sequence according to an embodiment of the present invention;
[0057] Figure 3 This is a design diagram for determining perforation according to a comparison cycle index according to an embodiment of the present invention.
[0058] Figure 4 This is an example method of rate matching based on puncturing according to an embodiment of the present invention.
[0059] Figure 5 A flowchart of a process for jointly determining a puncturing pattern and an information set according to an embodiment of the present invention.
[0060] Figure 6 The present invention provides a general flow chart of the punching algorithm design according to an embodiment of the present invention. DETAILED DESCRIPTION
[0061] The technical solutions in the embodiments of the present application will be described in detail through the drawings in the embodiments of the present application. Obviously, the described embodiments are only part of the embodiments of the present application, not all of the embodiments. Based on the embodiments in the present application, for researchers who want to study this field, all other embodiments obtained without a certain amount of work are within the scope of protection of the present application.
[0062] In order to enable readers to have a deeper understanding of the above-mentioned objectives, performances and advantages of the present application, the present application will be further described in detail below using drawings and specific implementation methods.
[0063] like Figure 1 As shown, it is a schematic diagram of the method flow of an embodiment of the present application. In order to optimize the transmission performance, the Polar code-SCMA system optimization method for satellite-to-ground laser communication of the present invention specifically includes the following steps:
[0064] Step 1: sending the data information bits to the polar code encoder to generate an encoded sequence, specifically including:
[0065] S1.1 Polarization channel reliability estimation: In polarization code encoding, the most important step is to estimate the reliability of the polarization channel. When the polarization channel is not completely polarized, it is necessary to select the most reliable K (K is the number of information bits) polarization channels for encoding. This step has a great impact on the performance of the polarization code. Commonly used estimation methods for ranking the performance of polarization channels include the bus parameter method, DE method, Gaussian approximation method, and polarization weight method.
[0066] This embodiment uses the bus parameter method as an example to estimate the channel and then arrange it to obtain an ordered bit channel index sequence. The iterative formula corresponding to the bus parameter is: , , in Indicates channel The bus parameters corresponding to the 2i-1th sub-channel after splitting; Indicates channel The bus parameter corresponding to the i-th sub-channel after splitting;
[0067] Assume that the binary input sequence after BPSK modulation is x, and the sequence is sent into the channel for transmission. The channel gain is h, and the signal received by the receiving end obeys the Gaussian distribution and its expression is y=hx+n0, where n0 is Gaussian white noise and obeys the Gaussian distribution. , so the channel transition probability is: , , in It indicates the probability of y occurring when 0 occurs; It indicates the probability of y occurring when 0 occurs in this channel; Indicates the degree of discreteness of data distribution; It indicates the probability of y occurring when 1 occurs; It indicates the probability of y occurring when 1 occurs in this channel; Represents an exponential function with base e.
[0068] The initial value of the bus parameter obtained from the channel transfer probability is: in Represents the bus parameter. After obtaining the Bhattacharyya value of each channel from the channel transition probability, it is sorted to obtain an ordered bit channel index sequence.
[0069] S1.2 Bit mixing: After the bus parameter method is selected to complete the polarization channel reliability estimation, the next step is bit mixing. The K polarization channels with the highest reliability are selected to place information bits. This index set is called information bit set A. The remaining polarization channels are placed with frozen bits. This index set is called frozen bit set B. The information bits and frozen bits are mixed according to the polarization channel index value to form an ordered bit index sequence. , where N is the code length.
[0070] S1.3 Constructing the generator matrix: Polar code is a linear block code, so the generator matrix G can be constructed N , then the ordered bit index sequence Multiply it with the generator matrix to generate the encoded sequence, generating the matrix Generated by the following formula: , in, ; Represents the matrix of Kronecker product, and , Used for bit reversal operation, recursively generated by the following formula: , Among them, when N=2 is substituted into the above formula, it satisfies , represents the 2D unit matrix, is the permutation matrix.
[0071] S1.4 Generate the encoded sequence : The encoded sequence By generating the matrix With ordered bit index sequence Multiply them together and calculate according to the following formula: ,
[0072] The encoded sequence is represented as ; Encoded sequence vector , ; is a set of information bits; , and A is taken from .
[0073] Step 2: Punch the codeword to obtain the desired code length according to the code rate required by the system, specifically including:
[0074] S2.1 First determine the original polar code parameters: Puncturing refers to deleting symbols at certain positions in the encoded codeword. In polar codes, puncturing can be used to achieve flexible changes in code length and adjustment of code rate. Before puncturing, we first need to determine the original polar code parameters, including the number of information bits K, the mother code length S, and the target code rate W, which represents the proportion of useful information to the transmitted information. The desired target code length V can be calculated by V=K / W.
[0075] S2.2 Design of puncturing mode: The polar code is punctured after the target code length is calculated. The key to puncturing the polar code is how to select the appropriate puncturing position so as to maintain the reliability of the code while removing some symbols. This embodiment introduces the design of two different puncturing methods, namely, the design of the puncturing method based on the puncturing sequence and the design of determining the puncturing based on the comparison period index.
[0076] like Figure 2 As shown in the figure, this figure is a design diagram of the puncturing method based on the puncturing sequence. First, according to the code rate and requirements required for transmission, the number of bits required for puncturing should be determined to select which bits to puncture. The selection of puncturing positions generally has three principles. Select the bits with the lowest reliability for puncturing to minimize the impact on coding performance; try to make the puncturing positions evenly distributed in the coded bit sequence to avoid performance degradation caused by local concentration; try to avoid puncturing information bits and give priority to puncturing frozen bits.
[0077] Based on the selected puncture positions, a puncture mask is generated. The puncture mask is a binary sequence of the same length as the coded bit sequence, where 1 means to keep the bit and 0 means to delete the bit. The puncture mask is applied to the coded bit sequence to generate the punctured bit sequence.
[0078] The puncturing method based on puncturing order can effectively improve the code rate and maintain the coding performance by selecting the bits with the lowest reliability for puncturing. In practical applications, the design of the puncturing order needs to comprehensively consider factors such as channel conditions, transmission requirements and coding parameters to achieve the best communication effect.
[0079] like Figure 3 As shown in FIG. 1 , the figure is a design diagram for determining puncturing based on comparison of periodic indices. First, multiple candidate puncturing patterns are generated based on the ordered bit channel sequence. Each puncturing pattern corresponds to a specific set of puncturing positions. For each candidate puncturing pattern, its periodic index is calculated. The periodic index (the distance between two adjacent puncturing positions in the puncturing pattern) reflects the impact of the puncturing pattern on the performance of the polarization code. The larger the periodic index, the smaller the impact of the puncturing pattern on the performance of the polarization code.
[0080] The periodicity indexes of all candidate puncturing patterns are compared, and the puncturing pattern with the largest periodicity index is selected. The puncturing pattern with the largest periodicity index usually has the best performance because it has the least impact on the polarization effect of the polar code. Based on the selected optimal puncturing pattern, a puncturing mask with the same length as the coded bit sequence is generated, where 1 means to keep the bit and 0 means to delete the bit. The puncturing mask is applied to the coded bit sequence to delete the bits marked as 0. By comparing the periodicity indexes to determine the puncturing method, the optimal puncturing pattern can be effectively selected, thereby improving the performance and reliability of the polar code.
[0081] S2.3 Punch the polar code according to the selected puncturing mode to obtain the desired code length: The above puncturing mode can perform specific processing on the data, but to achieve stable transmission of communication, it is necessary to further build a rate matching mechanism based on the puncturing mode, such as Figure 4 As shown in FIG. 1 , this figure is a block diagram of an example method for rate matching based on puncturing. The polar code is punctured under the premise of determining the puncturing pattern. Figure 5 As shown, this figure is a flowchart of the process of jointly determining the puncturing pattern and the information set. Select K bit channel indexes from the ordered bit channel index sequence obtained in step S1.1, and select K bit channel indexes from the ordered bit index sequence Select p code bit indices, p is the number of punctures, encode K bit channel indices, and the encoder of the polar code with code length N specifies which are frozen bit channels and which bit channels are used to carry data bits at the input of the encoder; under the premise of determining the number of punctures, select the puncture mode to puncture the bit channels according to the order to obtain the desired code length. Under the premise of determining the number of punctures, we select the puncture mode to puncture the bit channels according to the order to obtain the desired code length.
[0082] Step 3: The punctured information is passed through the SCMA encoder to obtain the SCMA signal, as follows:
[0083] S3.1 First, a sparse codebook needs to be designed, which includes unique codewords for each user device. These codewords need to meet the sparsity condition in the sparse codebook to ensure the distinction between user devices.
[0084] The SCMA encoder actually maps the punctured information to a sparse codebook. The characteristic of each sparse codebook is that it is sparse, and in order to ensure that each user's information can be distinguished, each sparse codebook must be different. The maximum number of users that each sparse codebook can carry is determined by the total number of carriers in the codebook and the number of subcarriers occupied by each user. For example, if the total number of subcarriers is D and the number of carriers occupied by each user is E, because the sparsity of the sparse codebook must be guaranteed, E must be less than D, which determines that the maximum number of users that this sparse codebook can carry is .
[0085] First, a sparse codebook needs to be designed, which includes unique codewords for each user device. These codewords need to meet the sparsity condition in the sparse codebook to ensure the distinction between user devices. The sparse codebook uses an allocation matrix F to represent the allocation of the number of carriers for each user. Indicates that the number of carriers occupied by user j is E for transmission, and the rest represent occupied subcarriers; take F as an example below: , The columns in F represent the number of carriers, and the rows represent the number of users, indicating that under the premise that the total number of subcarriers is 4, the number of subcarriers occupied by each user is 2. In order to ensure the sparsity of the sparse codebook, the number of subcarriers occupied by each user is as small as possible.
[0086] S3.2 Each user device needs to encode its data stream through a sparse codebook, that is, map the user data to a specific codeword in the sparse codebook. The encoded signal of each user device will be superimposed on the shared channel.
[0087] Under the premise of setting the sparse codebook, Binary bit information is mapped to Y-dimensional complex domain codewords, which have a mapping relationship: . Assume that after the data of user j is processed, the data obtained is , The data after SCMA encoding is . Where M is the constellation point set, |M| represents the cardinality of M, Y is the number of orthogonal subcarriers, Indicates user j The corresponding Y-dimensional complex field codeword.
[0088] Step 4: After obtaining the SCMA signal, superimpose the signal and send it to the channel for transmission.
[0089] In this embodiment, the channel selects the Gamma-Gamma turbulence model which is currently widely used. This model is suitable for medium and strong turbulence. The average bit error rate is for: , , , in, represents the large-scale scattering coefficient, represents the small-scale scattering coefficient, represents the total noise affecting the average bit error rate, Represents a variable, and represents the double Gamma function, H represents the amplitude of the optical carrier, represents the response coefficient, represents a computational function that satisfies ,in Represents a variable Differentiate; different turbulence intensities will correspond to different light intensity flicker indices , The order is Bessel functions of the second kind;
[0090] Further rewrite the turbulence model Gamma-Gamma's average bit error rate have to: , in represents the normalized noise ratio, which can be expressed as , Represents a custom operation that satisfies , Where p1, q1 are non-negative integers used to determine the structure of the function; m1, n1 are also non-negative integers related to the parameter combination in the function; z represents the independent variable of the function; are complex parameters, forming a parameter group of length p; Represents a parameter group of length q; are the coefficients of the integral expression; The integral of a complex function representing a path; represents the sth power of the independent variable z; is the multiplication symbol; is a gamma function that satisfies ; Indicates from arrive ,right Perform continuous multiplication operations; represents differential; E represents average bit energy; Represents the square of the average bit energy.
[0091] Step 5: Demix the received superposition signal first, and then decode the SCMA signal, as follows:
[0092] S5.1 By using the received mixed signal and a known sparse codebook, a demixing operation needs to be performed on the mixed signal to separate the signals sent by each user equipment.
[0093] After polarization code encoding, puncturing, and SCMA mapping, the sequence at the transmitting end is superimposed and sent into the channel for transmission. At the receiving end, a multi-user detection algorithm is needed to separate the superimposed signals to obtain the codewords of each user, and then SCMA decoding is performed.
[0094] After the S5.2 signal is demixed, it is necessary to use the information of the sparse codebook and the demixed signal to perform a decoding operation to restore the original data stream.
[0095] SCMA decoding usually uses an iterative message passing algorithm, which is a method based on factor graphs and belief propagation. Under the premise of knowing the information of the sparse codebook, iterative message passing is first performed on the factor graph. In this process, nodes pass information to each other and update the estimation of the original transmitted symbols. After a certain number of iterations, a hard decision or soft decision is made based on the final message or probability distribution. If the predetermined number of iterations is reached (generally about 50 iterations), the iteration ends and the final decoding result is output.
[0096] Step six, puncture and restore the decoded information.
[0097] S6.1 Obtaining the puncturing pattern: When performing puncturing recovery, the receiving end must know the puncturing pattern used by the sending end, because only under this premise can it know which bits are removed before sending.
[0098] S6.2 Inserting dummy bits: After determining the puncturing pattern, dummy bits are inserted in the received data at the positions where the puncturing was originally performed. These dummy bits are generally selected based on specific rules, for example, they can all be set to 0.
[0099] S6.3 adjusts the decoding algorithm according to the puncturing pattern and the inserted virtual bits to restore the original data sequence, and then makes a soft decision on the received data, that is, estimates the probability of each bit based on the received signal strength, and uses an appropriate decoding algorithm to infer the removed bits based on the received signal strength and the known puncturing pattern, thereby achieving puncturing recovery.
[0100] Step 7: Perform polar code decoding on the information of the recovered code length.
[0101] S7.1 uses polar code decoding algorithm to decode the received coded sequence. Usually, SCL (serial cancellation list) decoding algorithm is adopted. When multiple decoders are decoding in parallel, it is necessary to first find the candidate codeword with the largest a posteriori probability through the sub-decoder. After initialization, the path is retained. ,set up After decoding, a CRC (cyclic redundancy) check is performed on the retained path, and the SCL (serial offset list) decoder gives The information bits are estimated, denoted as , , where 1<t≤L, 1<r≤L, t and r are independent of each other; the path metric is , and its corresponding path metric value is defined as follows: ; represents the path metric value, represents the log-likelihood ratio of the path, Indicates The decoded bit value of the dth node in the branch, bit Estimated value of According to the following formula: ; In the formula, Indicates the result of the judgment. Indicates storage, Represents a variable node, represents the log-likelihood ratio (LLR), which represents the message between the storage and variable nodes; ;
[0102] If the final , then the judgment is Otherwise, the judgment ; Finally, the node is obtained through the judgment function The decoding result of ; ;
[0103] S7.2 If the cyclic redundancy check passes on the best decoding path, it means that the decoding is successful. If there are multiple paths that pass the cyclic redundancy check, the smallest path metric value (Path Metrics, ) results;
[0104] S7.3 If the result does not pass the cyclic redundancy check, exit the decoding process and update , you need to select The CA-SCL (CRC assisted SCL decoding) decoder re-decodes the When S7.1-S7.2 is repeated, the decoding is successful if the cyclic redundancy check can be passed, and the output set is .
[0105] The above content only introduces the specific principles of polarization code encoding, puncturing, SCMA encoding, channels used, SCMA decoding, puncturing recovery, and polarization code decoding. The following is a schematic diagram of the overall process of satellite-to-ground laser communication using polarization code and SCMA combined with puncturing algorithm. Figure 6 As shown in the figure, the data information of n users (user 1, user 2, ... user n) is polarized and encoded to obtain the corresponding codewords. Since the length of the polarization code is limited to a power of 2 and cannot be flexibly applied, the polarization code is punctured to obtain a code length suitable for the system. The SCMA encoder is used to map the information to a codebook prepared in advance, and finally the user information is superimposed and sent to the channel for transmission.
[0106] At the receiving end, the received signal is separated and processed before SCMA decoding is performed. After the information is punctured to recover the code length of the original information, it is polarization-coded to recover the user's data information and complete error correction.
Claims
1. A method for optimizing the Polar code-SCMA system for satellite-to-ground laser communication, characterized in that: The method comprises the following steps: S1. Sending data information bits to the polar code encoder to generate a coded sequence for transmission on the channel; S2. Puncture the encoded sequence obtained in step S1 to obtain the desired code length according to the code rate required by the system; S3. The information after punching in step S2 is passed through the SCMA encoder to obtain the SCMA signal; S4. After obtaining the SCMA signal in step S3, the signal is superimposed and sent to the channel for transmission; S5. Demixing the received superposition signal first, and then decoding the SCMA signal obtained by demixing; S6. Punch the information decoded in step S5 to restore the original code length; S7. Perform polar code decoding on the information of the code length recovered in step S6 to complete the transmission process.
2. The method for optimizing the Polar code-SCMA system for satellite-to-ground laser communication according to claim 1, characterized in that: Step S1 specifically includes the following sub-steps: S1.1 Polarized channel reliability estimation: The performance of polarized channels is arranged to obtain an ordered bit channel index sequence. The most reliable K polarized channels need to be selected for encoding, where K is the number of information bits. S1.2 Bit mixing: Place information bits on the K polarized channels selected in step S1.1, and record this index set as information bit set A; place frozen bits on the remaining polarized channels, and record this index set as frozen bit set B; mix the information bits and frozen bits according to the polarized channel index values to obtain an ordered bit index sequence , N is the code length; S1.3 Constructing the generator matrix , generating the matrix Generated by the following formula: , in, ; Represents the matrix of Kronecker product, and , Used for bit reversal operation, recursively generated by the following formula: , Among them, when N=2 is substituted into the above formula, it satisfies , represents the 2D unit matrix, is the permutation matrix; S1.4 Generate the encoded sequence : The encoded sequence By generating the matrix With ordered bit index sequence Multiply them together and calculate according to the following formula: , The encoded sequence is represented as ; Encoded sequence vector , ; is a set of information bits; , and A is taken from .
3. The method for optimizing the Polar code-SCMA system for satellite-to-ground laser communication according to claim 2, characterized in that: In step S1.1, the performance of the polarized channels is arranged to obtain an ordered bit channel index sequence, specifically using a bus parameter method, and the iterative formula corresponding to the bus parameter is: , , in Indicates channel The bus parameters corresponding to the 2i-1th sub-channel after splitting; Indicates channel The bus parameter corresponding to the i-th sub-channel after splitting; Assume that the binary input sequence after BPSK modulation is x, and the sequence is sent into the channel for transmission. The channel gain is h, and the signal received by the receiving end obeys the Gaussian distribution and its expression is y=hx+n0, where n0 is Gaussian white noise and obeys the Gaussian distribution. , so the channel transition probability is: , , in It indicates the probability of y occurring when 0 occurs; It indicates the probability of y occurring when 0 occurs in this channel; Indicates the degree of discreteness of data distribution; It indicates the probability of y occurring when 1 occurs; It indicates the probability of y occurring when 1 occurs in this channel; represents an exponential function with base e; The initial value of the bus parameter obtained from the channel transfer probability is: , in Represents the bus parameter. After obtaining the Bhattacharyya value of each channel from the channel transition probability, it is sorted to obtain an ordered bit channel index sequence.
4. The method for optimizing the Polar code-SCMA system for satellite-to-ground laser communication according to claim 3, characterized in that: Step S2 specifically includes the following sub-steps: S2.1 first determines the original polar code parameters, which include the number of information bits K, the mother code length S, and the target code rate W indicating the ratio of useful information to the transmitted information; the desired target code length V is calculated by V=K / W; S2.2 Design a punching pattern, using a punching method based on a punching sequence or determining the punching based on a comparison cycle index; The puncturing method based on puncturing sequence first determines the number of bits to be punctured according to the code rate and requirements required for transmission, so as to select which bits to puncture. The selection of puncturing positions has three principles: selecting the bit with the lowest reliability for puncturing to minimize the impact on the coding performance; making the puncturing positions evenly distributed in the coded bit sequence; Try to avoid punching information bits, and give priority to punching freeze bits; According to the selected puncturing positions, a puncturing mask is generated, where the puncturing mask is a binary sequence of the same length as the coded bit sequence, where 1 indicates that the bit is retained and 0 indicates that the bit is deleted; the puncturing mask is applied to the coded bit sequence to generate a punctured bit sequence; The method of determining puncturing according to comparison of periodic indices first generates a plurality of candidate puncturing patterns according to an ordered bit channel sequence, each puncturing pattern corresponding to a specific set of puncturing positions, and for each candidate puncturing pattern, calculates its periodic index, which is the distance between two adjacent puncturing positions in the puncturing pattern, and reflects the influence of the puncturing pattern on the performance of the polar code. The larger the periodic index, the smaller the influence of the puncturing pattern on the performance of the polar code. The periodic indices of all candidate puncturing patterns are compared, and the puncturing pattern with the largest periodic index is selected. According to the selected optimal puncturing pattern, a puncturing mask having the same length as the coded bit sequence is generated, wherein 1 indicates that the bit is retained and 0 indicates that the bit is deleted. The puncturing mask is applied to the coded bit sequence, and the bit positions marked as 0 are deleted to generate a punctured bit sequence. S2.3 punctures the polar code using the puncturing pattern selected in step S2.2, selects K bit channel indexes from the ordered bit channel index sequence obtained in step S1.1, and selects K bit channel indexes from the ordered bit index sequence p code bit indices are selected, where p is the number of punctures, and K bit channel indices are encoded. The encoder of the polar code with a code length of N specifies which are frozen bit channels and which bit channels are used to carry data bits at the input of the encoder; on the premise of determining the number of punctures, a puncturing mode is selected to puncture the bit channels according to the order to obtain the desired code length.
5. The method for optimizing the Polar code-SCMA system for satellite-to-ground laser communication according to claim 3, characterized in that: Step S3 specifically includes the following sub-steps: S3.1 First, a sparse codebook needs to be designed, which includes unique codewords for each user device. These codewords need to meet the sparsity condition in the sparse codebook to ensure the distinction between user devices. The sparse codebook uses an allocation matrix F to represent the allocation of the number of carriers for each user. It indicates that the number of carriers occupied by user j is E for transmission, and the rest represent occupied subcarriers; S3.2 Each user device needs to encode its data stream through a sparse codebook, that is, map the user data to a specific codeword in the sparse codebook. The encoded signal of each user device will be superimposed on the shared channel. Specifically: Under the premise of setting the sparse codebook, Binary bit information is mapped to Y-dimensional complex domain codewords, which have a mapping relationship: ; Assume that after the data of user j is processed, the data obtained is , The data after SCMA encoding is , where M is the constellation point set, |M| represents the cardinality of M, and Y is the number of orthogonal subcarriers. Indicates user j The corresponding Y-dimensional complex field codeword.
6. The method for optimizing the Polar code-SCMA system for satellite-to-ground laser communication according to claim 5, characterized in that: After the SCMA signal is obtained in step S4, the signal is superimposed and sent to the channel for transmission using the turbulence model Gamma-Gamma. The average bit error rate of this model is for: , , , in, represents the large-scale scattering coefficient, represents the small-scale scattering coefficient, represents the total noise affecting the average bit error rate, Represents a variable, and represents the double Gamma function, H represents the amplitude of the optical carrier, represents the response coefficient, represents a computational function that satisfies ,in Represents a variable Differentiate; different turbulence intensities will correspond to different light intensity flicker indices , The order is Bessel functions of the second kind; Further rewrite the turbulence model Gamma-Gamma's average bit error rate have to: , in represents the normalized noise ratio, which can be expressed as , Represents a custom operation that satisfies ; Where p1, q1 are non-negative integers used to determine the structure of the function; m1, n1 are also non-negative integers related to the parameter combination in the function; z represents the independent variable of the function; are complex parameters, forming a parameter group of length p; Represents a parameter group of length q; are the coefficients of the integral expression; The integral of a complex function representing a path; represents the sth power of the independent variable z; is the multiplication symbol; is a gamma function that satisfies ; Indicates from arrive ,right Perform continuous multiplication operations; represents differential; E represents average bit energy; Represents the square of the average bit energy.
7. The method for optimizing the Polar code-SCMA system for satellite-to-ground laser communication according to claim 6, characterized in that: The specific method of step S5 is as follows: S5.1 uses the received mixed signal and the known sparse code book, and needs to perform an unmixing operation on the mixed signal to separate the signals sent by each user device; the sequence at the transmitting end is superimposed on the signal after polar code encoding, puncturing and SCMA mapping operations, and sent to the channel for transmission. At the receiving end, a multi-user detection algorithm needs to be used to separate the superimposed signal to obtain the codewords of each user; After the S5.2 signal is demixed, the information of the sparse code book and the demixed signal need to be used for decoding operations to restore the original data stream. The decoding of SCMA adopts an iterative message passing algorithm, which is a method based on factor graphs and belief propagation. Under the premise of knowing the information of the sparse code book, iterative message passing is first performed on the factor graph. In this process, nodes transmit information to each other and update the estimate of the original transmitted symbols. After many iterations, hard or soft decisions are made based on the final message or probability distribution. If the predetermined number of iterations is reached, the iteration is terminated and the final decoding result is output.
8. The method for optimizing the Polar code-SCMA system for satellite-to-ground laser communication according to claim 7, characterized in that: Step S6, in which the information decoded in step S5 is punctured to recover the original code length, specifically comprises the following steps: S6.1 Obtaining the puncture mode: When performing puncture recovery, the receiving end must know the puncture mode used by the sending end; S6.2 inserting dummy bits: inserting dummy bits at the positions that were originally punctured in the received data after determining the puncturing pattern; S6.3 adjusts the decoding algorithm according to the puncturing pattern and the inserted virtual bits to restore the original data sequence, and then makes a soft decision on the received data, that is, estimates the probability of each bit according to the received signal strength; infers the removed bits according to the received signal strength and the known puncturing pattern, thereby achieving puncturing recovery.
9. The method for optimizing the Polar code-SCMA system for satellite-to-ground laser communication according to claim 8, characterized in that: Step S7 performs polar code decoding on the information of the code length recovered in step S6, and specifically includes the following steps: S7.1 uses the polar code decoding algorithm to decode the received coded sequence. The SCL decoding algorithm is as follows: When multiple decoders are decoding in parallel, it is necessary to first find the candidate codeword with the highest a posteriori probability through the sub-decoder. After initialization, the path is retained. ,set up After decoding, the CRC check is performed on the retained path, and the SCL decoder gives The information bits are estimated, denoted as , , where 1<t≤L, 1<r≤L, t and r are independent of each other; the path metric is , and its corresponding path metric value is defined as follows: , represents the path metric value, represents the log-likelihood ratio of the path, Indicates The decoded bit value of the dth node in the branch, bit Estimated value of According to the following formula: , In the formula, Indicates the result of the judgment. Indicates storage, Represents a variable node, represents the log-likelihood ratio, which represents the message between the storage and variable nodes; , If the final , then the judgment is Otherwise, the judgment ; Finally, the node is obtained through the judgment function The decoding result of ; , S7.2 If the cyclic redundancy check is passed on the best decoding path, the decoding is successful. If there are multiple paths that pass the cyclic redundancy check, the path with the smallest metric value needs to be selected. S7.3 If the result does not pass the cyclic redundancy check, exit the decoding process and update , you need to select The CA-SCL decoder re-decodes the When S7.1-S7.2 is repeated, the decoding is successful if the cyclic redundancy check can be passed, and the output set is .
Citation Information
Patent Citations
Serial cyclic redundancy check assisted joint iterative detection and decoding method
CN112636768A
Relay laser communication coding method for FSO system
CN116418395A
Method of decoding polar codes based on belief propagation
US20210376863A1