Disclosure of Invention
The present invention is directed to a low complexity LDPC-Hadamard code encoding and decoding method under OTFS modulation that, at least in part, addresses one or more of the problems due to limitations and disadvantages of the related art.
The invention provides an LDPC-Hadamard code coding and decoding method with low complexity under OTFS modulation, which comprises the following steps:
the transmitting end carries out Cyclic Redundancy Check (CRC) additional check information on the information sequence and then carries out LDPC-Hadamard code coding to form coded data;
constellation mapping is carried out on the coded data, OTFS modulation is carried out on complex value symbols after constellation mapping, wherein the OTFS modulation comprises the steps of carrying out inverse octyl finite Fourier transform and Hessenberg transform on the complex value symbols to output time domain signals,
Generating a transmitting signal after generating time delay and Doppler shift on the time domain signal through a multipath time-varying channel;
the receiving end carries out OTFS demodulation on the received sending signal, wherein the OTFS demodulation comprises carrying out Wiegner transformation and octyl Fourier transformation on the sending signal to output a symbol matrix,
Performing constellation inverse mapping on the symbol matrix to restore the symbol matrix into a received bit stream;
And performing LDPC-Hadamard decoding processing on the received bit stream, removing check information from the decoded bit stream through cyclic redundancy check, and outputting the original bit stream.
In an exemplary embodiment of the present disclosure, the LDPC-Hadamard code encoding is a concatenated encoding combining an LDPC code and a Hadamard code, comprising:
Constructing LDPC codes by adopting a low-complexity quasi-cyclic method, and encoding by utilizing a shift register;
and carrying out Hadamard coding on the LDPC coded output.
In an exemplary embodiment of the present disclosure, the constructing an LDPC code using a low complexity quasi-cyclic method, encoding using a shift register, includes:
Forming a check matrix by a plurality of permutation matrixes or shift matrixes, wherein each submatrix in the check matrix is a cyclic shift matrix, and the cyclic shift matrix cyclically shifts elements of the vector;
converting the check matrix into a system form by using a quasi-cyclic structure of the check matrix through a Gaussian elimination method to obtain a generation matrix;
the generator matrix and the information bit vector are encoded by matrix multiplication.
In an exemplary embodiment of the present disclosure, the expressions of the check matrix and the cyclic shift matrix are respectively:
Pi=Ii
Wherein H is a check matrix, P i,j is a cyclic shift matrix or zero matrix of size z×z, referred to as a permutation matrix or unit shift matrix, and the entire matrix is composed of m b×nb submatrices, where each submatrix is a cyclic shift matrix or zero matrix of z×z, and I i represents that columns of the unit matrix are cyclically shifted by I bits to the right.
In an exemplary embodiment of the present disclosure, the expression of the system form is:
H=[P|I]
where P is a submatrix and I is an identity matrix.
In an exemplary embodiment of the present disclosure, the expression that the generating matrix and the information bit vector are encoded by matrix multiplication is:
c=uG
where c is the code, u is the information bit vector, and G is the generation matrix.
In an exemplary embodiment of the present disclosure, the OTFS modulation includes performing an inverse-octave finite fourier transform and a hessian transform on the complex-valued symbols to output a time-domain signal, including:
converting the complex value symbol from a Delay-Doppler domain to a time-frequency domain through inverse discrete Fourier transform;
the time-frequency domain signal is converted into a time domain signal by the hessian-burg transformation.
In an exemplary embodiment of the present disclosure, the OTFS demodulation includes performing a wiener transform and a symplectic fourier transform on the transmission signal to output a symbol matrix, including:
Performing wiener transformation on the transmitted signal, and recovering the representation of the signal in the Delay Doppler domain;
The signal is remapped from the time-frequency domain to the Delay-Doppler domain by the symplectic fourier transform, outputting a symbol matrix.
In an exemplary embodiment of the present disclosure, the constellation mapping employs QAM or PSK.
In an exemplary embodiment of the present disclosure, the LDPC-Hadamard decoding includes:
performing LDPC code iterative decoding on the received signal by adopting BP algorithm;
after the LDPC decoding is completed, the output soft information is transmitted to a Hadamard decoding part, and the Hadamard code is decoded by adopting the fast Hadamard transformation. .
The LDPC-Hadamard code coding and decoding method with low complexity under the OTFS modulation can have the advantages that on one hand, through OTFS pretreatment and OTFS post-treatment, a dual-selective fading channel under a high-speed moving scene can be better handled, on the other hand, through the combination of the LDPC-Hadamard code and the OTFS, the error correction performance of the system under the low signal-to-noise ratio is improved, more information can be transmitted under the same bandwidth condition, the frequency spectrum efficiency and the transmission rate are improved, the reliability of the system in the high-speed moving environment is enhanced, and on the other hand, the low-density characteristic of the LDPC code is combined with the strong error correction performance of the Hadamard code through the LDPC-Hadamard coding, and the error correction performance of the OTFS system under the low signal-to-noise ratio is further improved.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. However, the exemplary embodiments may be embodied in many forms and should not be construed as limited to the examples set forth herein, but rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of the exemplary embodiments to those skilled in the art. The described features, structures, or characteristics may be combined in any suitable manner in one or more embodiments.
Furthermore, the drawings are merely schematic illustrations of the present disclosure and are not necessarily drawn to scale. The same reference numerals in the drawings denote the same or similar parts, and thus a repetitive description thereof will be omitted. Some of the block diagrams shown in the figures are functional entities and do not necessarily correspond to physically or logically separate entities. These functional entities may be implemented in software or in one or more hardware modules or integrated circuits or in different networks and/or processor devices and/or microcontroller devices.
The present exemplary embodiment provides a low complexity encoding and decoding method of LDPC-Hadamard codes under OTFS modulation, as shown in fig. 1-2, which may include the following steps:
s101, after the sending end carries out cyclic redundancy check and additional check information on the information sequence, LDPC-Hadamard code encoding is carried out to form encoded data.
S102, performing constellation mapping on the coded data, and performing OTFS modulation on complex-valued symbols after constellation mapping, wherein the OTFS modulation comprises performing inverse-octyl finite Fourier transform and Hassenberg transform on the complex-valued symbols to output a time domain signal.
And S103, generating a transmission signal after generating delay and Doppler shift on the time domain signal through a multipath time-varying channel.
And S104, the receiving end carries out OTFS demodulation on the received sending signal, wherein the OTFS demodulation comprises carrying out Wiggner transformation and octyl Fourier transformation on the sending signal to output a symbol matrix.
And S105, carrying out constellation inverse mapping on the symbol matrix to restore the symbol matrix into a received bit stream.
S106, performing LDPC-Hadamard decoding processing on the received bit stream, removing check information from the decoded bit stream through cyclic redundancy check, and outputting the original bit stream.
The LDPC-Hadamard code coding and decoding method with low complexity under the OTFS modulation can have the advantages that on one hand, through OTFS pretreatment and OTFS post-treatment, a dual-selective fading channel under a high-speed moving scene can be better handled, on the other hand, through the combination of the LDPC-Hadamard code and the OTFS, the error correction performance of the system under the low signal-to-noise ratio is improved, more information can be transmitted under the same bandwidth condition, the frequency spectrum efficiency and the transmission rate are improved, the reliability of the system in the high-speed moving environment is enhanced, and on the other hand, the low-density characteristic of the LDPC code is combined with the strong error correction performance of the Hadamard code through the LDPC-Hadamard coding, and the error correction performance of the OTFS system under the low signal-to-noise ratio is further improved.
Next, each step of the above-described method in the present exemplary embodiment will be described in more detail.
Step S101, after the sending end carries out cyclic redundancy check and additional check information on the information sequence, LDPC-Hadamard code encoding is carried out to form encoded data.
Specifically, the input bit stream u is first subjected to cyclic redundancy processing (CRC) to generate a bit stream c' with a check code.
And encoding the LDPC-Hadamard code in a channel encoding link.
First, LDPC encoding is performed, in a Tanner graph of a conventional LDPC code, information bits are allocated to variable nodes, and the variable nodes are connected with check nodes to form a graph structure. The check nodes represent parity check constraints, each of which is connected to a plurality of variable nodes, ensuring that the weighted sum of the variable nodes satisfies certain parity check rules.
Secondly, hadamard coding is carried out, the LDPC-Hadamard code introduces Hadamard constraint on the basis of a standard LDPC code, and a bipartite graph is similar to the standard LDPC code, but different in that check nodes are changed into super check nodes which are connected with a plurality of variable nodes, but the check relation of the super check nodes is not simple parity check, but is based on the Hadamard code, and the nodes lead the coding process to be more complex and have stronger error correction capability by introducing Hadamard transformation. The Hadamard encoded output is x, and its formula is:
x=H·c′ (1)
H is a Hadamard transform matrix.
S102, performing constellation mapping on the coded data, and performing OTFS modulation on complex-valued symbols after constellation mapping, wherein the OTFS modulation comprises performing inverse-octyl finite Fourier transform and Hassenberg transform on the complex-valued symbols to output a time domain signal.
Specifically, constellation mapping is performed on the data x after Hadamard coding, and the data x is converted into complex-valued symbols so as to facilitate transmission. Constellation mapping schemes such as QAM (quadrature amplitude modulation) or PSK (phase shift keying) are employed. Using QAM, the mapped symbols are x [ k, l ], k and l representing the Doppler index and Delay index, respectively, in the Delay-Doppler domain. The expression is as follows:
x[k,l]=Modulate(x) (2)
the symbol x [ k, l ] will undergo an inverse discrete octyl Fourier transform (ISFFT) that converts it from the Delay-Doppler domain to the time-frequency domain. The symbol is processed by ISFT to be expressed as:
x[n,m]=ISFFT(x[k,l]) (3)
Where n and m are indices of the time-frequency domain. The time-frequency domain signal is then converted into a time domain signal x (t) by the hessian transformation, which step is used to prepare the transmission signal:
Where g tx (T) is the transmit window function, T is the symbol duration, and Δf is the subcarrier spacing.
And S103, generating a transmission signal after generating delay and Doppler shift on the time domain signal through a multipath time-varying channel.
Specifically, after hessian transformation, the signal x (t) is transmitted through a multipath time-varying channel h (τ, v). The channel imparts delay and doppler shifts to the signal and the received signal r (t) can be expressed in terms of convolution:
r(t)=∫∫h(τ,ν)x(t-τ)ej2πν(t-τ)dτdν+w(t) (5)
where w (t) is the noise in the channel and h (τ, v) is the channel response.
And S104, the receiving end carries out OTFS demodulation on the received sending signal, wherein the OTFS demodulation comprises carrying out Wiggner transformation and octyl Fourier transformation on the sending signal to output a symbol matrix.
Specifically, the receiving end first performs Wigner Transform (Wigner Transform) on the received signal r (t), and resumes the representation of the signal in the DelayDoppler domain. The signal is then remapped from the time-frequency domain to the Delay-Doppler domain by SFFT (symplectic fourier transform), outputting a symbol matrix:
y[n,m]=SFFT(r(t)) (6)
and S105, carrying out constellation inverse mapping on the symbol matrix to restore the symbol matrix into a received bit stream.
Specifically, the received symbol matrix y [ n, m ] is restored to the received bit stream y [ k, l ] by constellation inverse mapping:
y[k,l]=Demodulate(y[n,m]) (7)
s106, performing LDPC-Hadamard decoding processing on the received bit stream, removing check information from the decoded bit stream through cyclic redundancy check, and outputting the original bit stream.
Specifically, error correction is performed by LDPC-Hadamard decoding. First, hadamard decoding is performed on the received bit stream y [ k, l ], and the expression is:
c′′=H-1·y[k,l] (8)
then, the error is corrected by LDPC decoding, restoring the final bit stream c':
c′=LDPC-Decode(c′′) (9)
The decoding process of the LDPC-Hadamard code carries out preliminary error correction through iterative message passing decoding of the LDPC code. At this stage, the variable nodes and check nodes exchange confidence information, gradually repairing bit errors. Then at the Hadamard check node, the received bit sequence is processed by Hadamard transformation, and the most probable code word is selected by using maximum likelihood decoding. The strong error correction capability of Hadamard helps to address decoding in low signal-to-noise environments.
The decoded bit stream c' removes redundant bits through CRC check and checks error code, restoring the original bit stream
The whole transmission process is completed.
In the embodiment of the disclosure, the LDPC-Hadamard coding structure can be represented by a Tanner graph for a standard LDPC code, as shown in the left part of FIG. 3. The variable node with a degree j is a (j, 1) repetition code, where the edges connecting the left and right nodes need to satisfy both the constraint of the repetition code at the variable node and the constraint of the SPC at the check node. By replacing with an SPC code in an LDPC code any other block code. Considering that the LDPC-Hadamard code is obtained by using the Hadamard code at the right check node, the LDPC-Hadamard code has good performance under very noisy channel conditions as shown in the right part of FIG. 3. The invention only considers the situation that the orders of all Hadamard code check nodes are the same.
Firstly, constructing the QC-LDPC code, and constructing the LDPC code by adopting a low-complexity Quasi-cyclic construction method to obtain a Quasi-cyclic LDPC code (Qsi-CYCLIC LDPC, QC-LDPC for short). The QC-LDPC code is a structured LDPC code, and the check matrix of the structured LDPC code has a quasi-cyclic structure, so that the structure can greatly reduce the complexity in hardware implementation, and is more efficient in storage and decoding. The construction process is generally generated by cyclic shift in combination with quasi-cyclic characteristics of the generator matrix or the check matrix. The construction process of the QC-LDPC code is as follows:
1) Construction of check matrix
The check matrix H of QC-LDPC codes is typically composed of several permutation matrices or shift matrices, where each sub-matrix is a cyclic shift matrix. Thus, the check matrix of the QC-LDPC code can be expressed as a concatenation of a plurality of block matrices:
Where P i,j is a cyclic shift matrix or zero matrix of size z x z, referred to as a permutation matrix or identity shift matrix. Thus, the entire matrix is made up of m b×nb sub-matrices, each of which is a zxz cyclic shift matrix or zero matrix.
2) Cyclic shift matrix
The cyclic shift matrix P i is a special matrix that cyclically shifts the elements of the vector. Assuming that the identity matrix is denoted z×z, the cyclic shift matrix can be expressed as:
Pi=Ii (12)
Where I i denotes that the columns of the identity matrix are cyclically shifted to the right by I bits. For example, a simple 4×4 cyclic shift matrix P 1 can be expressed as:
3) QC-LDPC code generation matrix
The generator matrix G of the QC-LDPC code can be constructed by the quasi-cyclic nature of the check matrix H. The construction method of the generator matrix G is generally based on the steps of first converting the check matrix H into a systematic form, i.e. h= [ p|i ], where P is a submatrix and I is an identity matrix. And then, using a quasi-cyclic structure of the check matrix, and converting the check matrix into a system form by a Gaussian elimination method so as to obtain a generation matrix G.
4) Encoding of QC-LDPC codes
The encoding process of the QC-LDPC code is simpler. Because of the quasi-cyclic structure, the shift register can be used for coding, thereby greatly reducing the complexity of hardware. In particular, the encoding of QC-LDPC codes may be achieved by matrix multiplication. Given the generator matrix G and the information bit vector u, codeword c can be generated by matrix multiplication:
c=uG (14)
Since the generator matrix G has a quasi-cyclic structure, the encoding result can be rapidly calculated by a shift operation.
Next, hadamard encoding is performed, and the Hadamard matrix is a square matrix defined on the binary alphabet. The n-th order (n=2 r) Hadamard matrix on {1, -1} can be constructed as follows:
Each column of the Hadamard matrix.+ -. H n is denoted {.+ -. H j:j=0,1,...,2r -1}. It can be demonstrated that each column of + -H n constitutes exactly one linear space, and that the dimension of this linear space is exactly r+1. Thus, replacing { +1, -1} in each column of.+ -. H n with {0,1} results in a linear block code of parameter (2 r, r+1), i.e., hadamard code.
The generation matrix G H,r+1 of the Hadamard code in the system form can be obtained by a recursive method:
Wherein J r is a matrix of the same order as G H,r, having the form:
The recursion termination conditions are:
Codeword c of a systematic form Hadamard code with r being an even number has the following properties:
i.e. the bits in the codeword at the corresponding positions satisfy the parity check relation. This property plays an important role in LDPC-Hadamard.
And a Hadamard code encoding process, wherein the Hadamard code encoding process maps information bits to rows of a Hadamard matrix, and a codeword is generated through the mapping. Assuming that there are k information bits, the coding process of the Hadamard code maps the information bits onto rows of the Hadamard matrix. For m bits of information, a codeword of length n=2 m may be encoded.
Let the input information vector be u= [ u 0,u1,...,um-1 ], and total m bits of information. Each information vector corresponds to a row in the Hadamard matrix according to the coding rules of the Hadamard code. The information bits u are mapped to a certain row of the Hadamard matrix. Defining the ith row H i of Hadamard matrix H n, the encoded codeword c is a row in the matrix, namely:
c=hu (20)
Where h u denotes a certain row in the Hadamard matrix, the position of which is determined by the binary value of the information bit u. We will exemplify the above encoding process.
Let m=2, then n=2 2 =4, and the corresponding Hadamard matrix H 4 is:
If the input information bit u= [1,0] has a binary value of 2, the encoded codeword is line 3 of H 4:
c=[1,1,-1,-1] (22)
From the above process, it can be seen that the LDPC-Hadamard coding scheme is a concatenated coding scheme combining LDPC codes and Hadamard codes. The system firstly carries out LDPC coding on input data to generate code words which have strong sparsity and are easy to realize by hardware. The sparsity of LDPC coding makes it less complex in large data transmissions. And then, carrying out Hadamard coding on the output of the LDPC coding, and further improving the anti-noise performance. The Hadamard codes are used as maximum distance separable codes, and can effectively correct errors in an environment with extremely low signal-to-noise ratio. Through the cascade mode, the LDPC-Hadamard coding not only has the high efficiency of the LDPC code, but also can enhance the robustness of the system under noise and interference environments by utilizing the Hadamard code, and is suitable for a communication system with high reliability requirements.
In the embodiment of the disclosure, in the LDPC-Hadamard decoding structure, as shown in FIG. 4, information is iteratively exchanged between a variable node and a Hadamard check node, and after a certain number of iterations, a decoder outputs a decoding result.
The BP decoding algorithm of the LDPC code is an iterative process that approximates maximum likelihood estimation through message passing. The LDPC code may be represented as a sparse check matrix H, where each row corresponds to a check node and each column corresponds to a variable node, and the BP decoding algorithm of the LDPC code is performed on this factor graph.
1) Initially, the received signal y= [ y 1,y2,...,yn ] is transmitted over the channel. For each variable node i, the message is initialized (i.e., a priori probabilities for each bit):
Where P (c i=0|yi) and P (c i=1|yi) represent probabilities that codeword bit c i is 0 or 1, respectively, given received signal y i. For AWGN channels, these probabilities can be calculated from a gaussian distribution.
2) Message iterative transfer BP decoding of LDPC codes primarily performs message transfer on factor graphs. In each iteration, information is transmitted from the variable node to the check node, and then transmitted back to the variable node after being processed by the check node.
The variable node sends messages to the connected check nodes, and the messages are updated according to signals received by the variable node and information transmitted from other check nodes. For each variable node i and check node j to which it is connected, the message m i→j passed is:
Where L (q i) is the log-likelihood ratio of the received signal, r k→i is the information N (i) \j from the other check nodes k to variable node i, representing all check nodes connected to variable node i except j.
The check node updates information according to the information of the variable nodes connected with the check node, and for each check node j and the variable node i connected with the check node, the transmitted information r j→i is as follows:
Where tanh -1 is an anti-hyperbolic tangent function, N (j) \i represents all variable nodes connected to check node j except i.
3) Decision and hard decision
At the end of each iteration, each variable node updates its estimate based on the initially received information and the message received from the check node. For each variable node j, we calculate the posterior log-likelihood ratio:
a hard decision is then made for each q i:
after each iteration, according to the current estimated codeword Checking whether all check conditions are met, i.eIf yes, decoding is successful, and if not, the next iteration is carried out.
The fast APP decoding of Hadamard codes uses the product of the Hadamard matrix and the current vector to update probability information in each iteration step of the Hadamard code posterior probability (APP) decoding algorithm. However, the complexity of directly computing these products is high, and the introduction of a Fast Hadamard Transform (FHT) can significantly reduce this computational complexity. FHT utilizes the structural characteristic of Hadamard matrix, and through recursion decomposition to accelerate the operation speed, makes the iterative decoding of Hadamard code more efficient.
The general method calculates the Hadamard matrix of order n, which requires n (n-1) times of addition operations, i.e., 2 r(2r -1) times when y=h n x, but the complexity can be significantly reduced by utilizing the nature of the Hadamard matrix. Order the
In this way, the two sub-problems H n/2 x' and H n/2 x″ can be solved. This process is recursively carried out until it is reduced to H 1. It can be shown that this method requires only r2 r additions, the computational complexity is greatly reduced, and the above method of calculating y=h n x is called FHT.
The fast Hadamard transform is very similar to the fast Fourier transform as shown in fig. 5. The fast APP decoding algorithm of the Hadamard code comprises the following steps:
let x= (X 0,X1,...,Xn-1) be the transmission sequence (X i∈{+1,-1}),y=(y1,y2,...,yn-1) be the reception sequence, the posterior probability log likelihood ratio is:
Wherein, In order to calculate γ (+/- j) it is necessary to calculate the inner productThe latter is justIs a component of the group. Note thatA fast Hadamard transform calculation can be used and thus γ (±h j) can be conveniently obtained.
In the decoding process of the LDPC-Hadamard code, an LLR-BP (log likelihood ratio belief propagation) algorithm is adopted to perform iterative decoding on the LDPC code on a received signal. The algorithm continuously updates LLR values of variable nodes and check nodes by carrying out message transfer on bipartite graphs corresponding to check matrixes of LDPC codes, and gradually approximates to an optimal decoding result. After the LDPC decoding is completed, the output soft information is transferred to the Hadamard decoding part. For decoding of Hadamard codes, fast Hadamard Transform (FHT) is used for processing. The FHT algorithm can quickly and efficiently execute Hadamard transformation, and the operation complexity is obviously reduced, so that the original information data is restored. The whole LDPC-Hadamard decoding process realizes high-efficiency and low-complexity decoding performance by combining two algorithms, and is suitable for a communication system in a high-noise environment.
In order to verify the method of the present application, the following simulation experiment was performed. And comparing the error code performance of the LDPC-Hadamard code with that of the LDPC code under the OTFS system.
In the OTFS system, the signal is affected by serious delay spread and Doppler frequency shift after passing through a multipath time-varying channel, and compared with the single LDPC code, the LDPC-Hadamard code has better error correction performance in a complex environment due to the combination of the anti-interference characteristic of Hadamard code.
As shown in fig. 6, the experimental parameters were set to the number of information bits k=1024, the code rate r=1/9, and simulations were performed under different signal-to-noise conditions (Eb/N0). The Bit Error Rate (BER) versus curve shows the performance of the bit error under the same conditions for both coding schemes. Experimental results show that with the increase of the signal-to-noise ratio, the error rate of the LDPC-Hadamard code is obviously lower than that of the traditional LDPC code, and particularly, the performance advantage is obvious in a low signal-to-noise ratio area (such as Eb/N0 is lower than 0 dB). The LDPC-Hadamard code is in the signal to noise ratio range of-0.8 to 0.6dB, the error rate is kept at a lower level, and higher stability and anti-interference capability are shown.
Simulation results show that the LDPC-Hadamard code remarkably improves the error code performance of the system under the condition of low signal to noise ratio by introducing the anti-noise characteristic of the Hadamard code, so that the LDPC-Hadamard code is more suitable for the communication requirement in a high-speed mobile environment.
In the description of the present specification, a description referring to terms "one embodiment," "some embodiments," "examples," "specific examples," or "some examples," etc., means that a particular feature, structure, material, or characteristic described in connection with the embodiment or example is included in at least one embodiment or example of the present invention. In this specification, schematic representations of the above terms are not necessarily directed to the same embodiment or example. Furthermore, the particular features, structures, materials, or characteristics described may be combined in any suitable manner in any one or more embodiments or examples. Furthermore, one skilled in the art can combine and combine the different embodiments or examples described in this specification.
Other embodiments of the application will be apparent to those skilled in the art from consideration of the specification and practice of the application disclosed herein. This application is intended to cover any variations, uses, or adaptations of the application following, in general, the principles of the application and including such departures from the present disclosure as come within known or customary practice within the art to which the application pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the application being indicated by the following claims.