CROSS REFERENCE TO RELATED APPLICATION

This patent application claims the benefit and priority of Chinese Patent Application No. 202010490139.4, filed on Jun. 2, 2020, the disclosure of which is incorporated by reference herein in its entirety as part of the present application.

TECHNICAL FIELD

The present disclosure belongs to the field of communication technologies, and relates to a method for optimizing a protograph-based low-density parity-check (LDPC) code over an underwater acoustic (UAW) channel, which specifically optimizes the protograph-based LDPC code over a UAW channel to improve channel coding performance.

BACKGROUND ART

Marine resources have become one of the most important national strategic resources. The underwater communication technology is one of the key technologies for the exploration and development of marine resources. However, radio transmission fades severely underwater, and optical communication suffers from severe scattering. Therefore, sound waves are usually used as carriers of underwater information transmission, and the UAW technology is used for underwater long-distance communication. However, the fast time-varying effect, severe multipath effect, limited bandwidth, and severe signal fading of UAW channels bring huge difficulty to the design of a UAW communication system.

The channel coding technology is the key to ensuring the reliability of UAW communication. In early UAW communication, traditional channel coding methods such as BCH codes, RS codes, and convolutional codes are often used. However, none of these codes can reach channel capacity. Until 2011, Zhu Min et al. from the Institute of Acoustics of the Chinese Academy of Sciences used Turbo codes in channel coding for the UAW communication modem of the Jiaolong manned submersible, successfully realizing reliable underwater video transmission. In 2013, Wu Yanbo et al. from the Institute of Acoustics of the Chinese Academy of Sciences used non-binary LDPC codes in a UAW communication modem, realizing reliable underwater communication.

The existing LDPC codes over a UAW channel are mostly optimized on the basis of good codes in wireless channels. However, the optimization considers only the performance in low signal-to-noise ratio region, to lower a decoding threshold of the LDPC codes, and does not consider an error floor that may occur under a high signal-to-noise ratio. With the growing requirements for UAW communication, the performance in error floor area should also be considered.

A protograph-based LDPC code is a channel coding method with low storage capacity and simple coding, and can be applied to various scenarios due to its flexible code length. For UAW communication scenarios, the performance of channel coding can be improved and the reliability of communication can be enhanced if the design of the protograph-based LDPC code can be optimized.

SUMMARY

In order to optimize a protograph-based LDPC code for UAW communication scenarios, the present disclosure proposes a method for optimizing a protograph-based LDPC code over a UAW channel, so as to improve the reliability of UAW communication.

The method according to the present disclosure specifically includes the following steps.

Step (1). Construct a UAW channel transfer function based on an eigenray model: a channel is represented by a linear time-invariant finite impulse response filter, and z-transform for finite impulse response is: H(z)=Σi=1LAl×z−τl, where L denotes the number of multipaths of the channel in a symbol duration, Alis a signal amplitude of the l-th multipath, τlis a relative signal delay of the l-th multipath, and l=1, 2, . . . , L; and

determine, based on a basic protograph B and an LDPC code length N, first-extension times T1and second-extension times T2of the protograph, where

the basic protograph B is an m×n matrix, and

B=[B1,1B1,2…B1,nB2,1B2,2…B2,n⋮⋮⋱⋮Bm,1Bm,2…Bm,n];
each row of matrix B corresponds to one check node, and there are a total of m check nodes; each column of matrix B corresponds to one variable node, and there are a total of n variable nodes; element Bi,jrepresents a quantity of edges between the i-th check node and the j-th variable node, i=1, 2, . . . , m, and j=1, 2, . . . , n;

a value of T1is set to be greater than or equal to a maximum value of elements in the matrix of the basic protograph B,

NT1×n
is set to a minimum value among integers; and

T2=NT1×n.

The eigenray model takes the propagation of sound waves as the propagation of countless rays perpendicular to an isophase plane, where each ray is perpendicular to the isophase plane, and the ray is an eigenray; it is assumed that a sound velocity and an refractive index do not change horizontally, but are only a function of depth; sea surface and seabed interfaces are assumed to be flat interfaces; positions of a sound source and a reception point are static and unchanged; a sound field is determined by the eigenray; and an entire UAW channel is taken as a network system;

Step (2). Select two variable nodes for the first optimization:

rearranging n variable nodes in the basic protograph B in descending order of column weights, to obtain a rearranged protographB, where the column weight is the sum of values of m elements constituting a variable node;

one of the variable nodes to be optimized is a variable node with a largest column weight inB, and a sequence number of the variable node is ja=1; the other variable node to be optimized is a variable node with the smallest column weight among variable nodes with a column weight greater than 2, and a sequence number of the variable node is jb; and jb>ja.

Step (3). Among m elements of the variable node numbered jb, subtracting 1 from a value of element Bi,jbwith a maximum value, to reduce the column weight of the variable node numbered jb, where i∈(1,m); among m elements of the variable node numbered ja, adding 1 to a value of element Bi,ja, to keep a row weight of the i-th check node ciunchanged and increase the column weight of the variable node numbered ja, where the row weight is the sum of values of n elements constituting a check node; and a matrix with the values of the element Bi,jband the element Bi,jachanged is an optimized protograph {tilde over (B)}.

Step (4): If ja+1≥jb−1, rearrange n variable nodes in the optimized protograph {tilde over (B)} in descending order of column weights, repeat steps (2) and (3) until ja+1<jb−1, and then perform step (5).

Step (5). Replicate check nodes and variable nodes in the optimized protograph {tilde over (B)} in step (4) for T1times, and generate a transition graph B′ by using a traditional progressive edge growth (PEG) algorithm, where the transition graph B′ is an in m′×n′matrix, m′=T1×m, and n′=T1×n.

Step (6). Replicate check nodes and variable nodes in the transition graph B′ for T2times, to obtain a derived graph matrixH; and interleave all edges ofHby using a UAW channel-based traditional PEG/approximate cycle extrinsic message degree (ACE) hybrid construction algorithm, to generate a parity check matrix H′, where

the UAW channel-based PEG/ACE hybrid construction algorithm is as follows:

(6-1). calculating a column weight wj′of each variable node vj′inH, where j′ 1, 2, . . . , N, and rearranging the variable nodes in ascending order of column weights to obtain a rearranged derived graph {tilde over (H)}, where {tilde over (H)} is an M×N matrix, and

M=m×Nn;

(6-2). adding L virtual check nodes (c1′, c2′, . . . , c′L) to {tilde over (H)}, and adding two virtual edges (vj′, c′l) and (vj′-τl, c′l) related to the variable node vj′for any virtual check node c′l, that is, adding 2 L virtual edges in total, where L denotes the number of multipaths of the channel in a symbol duration, and l=1, 2, . . . , L;

(6-3). for vj′, generating wj′generated edges ek, where k=1, 2, . . . , wj′, and the generating process is as follows:

taking vj′as a root node, extending a path tree Rj′based on the 2 L virtual edges, where the path tree Rj′extends to layer d at most, d is a maximum number of layers that the path tree extends, and a set of candidate check nodes C=Nj′(d); Nj′(d)represents a set of check nodes in the path tree Rj′,Nj′(d)is a complement of Nj′(d),Nj′(d)=Vc\Nj′(d), and Vcis a set of check nodes in {tilde over (H)} that are allowed to be connected to Vj′;

calculating an ACE value of a ring generated by edges (vj′, cp) connecting candidate check nodes cpin C and vj′, where the ACE value of the ring is the sum of ACE values of all variable nodes on the ring, and an ACE value of a variable node is a column weight of the variable node minus 2; and

reserving an edge (vj′, cmax p) connecting a candidate check node cmax pwith the largest ACE value of the ring and vj′as the generated edge ek, and deleting other connected edges;

(6-4). deleting all virtual check nodes and virtual edges; and

(6-5). repeating (6-2) to (6-4) until the generated edges of all variable nodes in {tilde over (H)} are generated, to obtain the parity check matrix H′.

Step (7). Perform ACE check on rings in which all variable nodes vj′in the parity check matrix H′ are located:

if the ACE check on H′ fails, using variable nodes numbered j′aand j′bin B′ as two variable nodes for the next optimization, and performing step (3), where j′a=ja+1, and j′b=jb−1;

if the ACE check on H′ is successful, performing step (8);

an ACE check method for a ring in which any variable node vj′is located is as follows:

(7-1). performing initialization: making all check nodes and all variable nodes except vj′in the parity check matrix H′ satisfy ρ(μt)=∞, where μtrepresents all check nodes and all variable nodes except vj′in the parity check matrix H′, ρ(μt) is an ACE value of a path (vj′, μt), an ACE value of a path is equal to the sum of ACE values of all variable nodes in the path, and ρ(vj′) is equal to an ACE value ACE(vj′) of the variable node vj′;

(7-2). taking vj′as a root node, extending a path tree R′j′, where the path tree R′j′extends to layer dACEat most;

(7-3). finding a child node set Ch(ws) for any node wswith a depth of d′ in the path tree R′j′, where 0≤d′≤dACE; each node in Ch(ws) satisfies ws′∈Ch(ws); and if ρ(ws)+ρ(ws′)−ACE(vj′)<ε, the check fails, or if ρ(ws)+ρ(ws′)−ACE(vj′)≥ε, step (7-4) is performed, where ε represents an ACE check parameter;

(7-4). if ρ(ws)+ACE(ws′)≥ρ(ws′), deleting a path (ws, ws′) from the path tree R′j′;

if ρ(ws)+ACE(ws′)<ρ(ws′), setting ρ(ws′)=ρ(ws)+ACE(ws′), where ACE(ws′) is an ACE value of the node ws′; and

(7-5). repeating steps (7-3) and (7-4) until there is no check failure for nodes at all depths in the path tree R′j′, indicating that the check is successful.

Step (8). Calculate a decoding threshold γ′ for an optimized codeword by using an extrinsic information transfer chart algorithm of a finite-length protograph-based LDPC code over an UAW channel: if |γ−γ′|≥η, using the variable nodes numbered j′aand j′bin B′ as two variable nodes for the next optimization, and performing step (3), where γ is a target decoding threshold, η is a threshold adjustment factor, j′a=ja+1, and j′b=jb−1; if |γ−γ′|<η, performing step (9).

Step (9). Obtain a final optimized parity check matrix H=H′.

The common optimization methods only focus on optimization of the decoding threshold, and cannot ensure the performance in the high signal-to-noise ratio regions. Compared with these optimization methods, the method of the present disclosure considers both the performance of low signal-to-noise ratio regions and high signal-to-noise ratio regions, and ensures that no error floor occurs in the high signal-to-noise ratio regions.

