Disclosure of Invention
The embodiment of the invention provides a decoding method and a decoding device based on a soft output Viterbi decoding algorithm (SOVA), which solve the problem that the complexity of the SOVA is increased along with the increase of the length of information bits corresponding to a receiving sequence.
In a first aspect, a SOVA-based decoding method is provided, where the method includes:
determining a maximum likelihood path corresponding to a receiving sequence in a set grid graph by adopting a Viterbi algorithm, and calculating a metric difference between a competition path of each state node on the maximum likelihood path and the maximum likelihood path, wherein the grid graph is used for representing state changes of an encoder at different moments;
according to the value of the metric difference, K state nodes are selected from the state nodes on the maximum likelihood path and determined as sampling points, wherein K is a positive integer;
and taking the sampling points as backtracking nodes to perform backtracking processing so as to update the log-likelihood ratio LLR value of each information bit contained in the receiving sequence.
In one possible embodiment of the method according to the invention,
the L is the length of the information bit corresponding to the receiving sequence, the M is a set sampling coefficient,
indicating a ceiling operation.
In one possible embodiment, selecting K state nodes from the state nodes on the maximum likelihood path to be determined as sampling points according to the value of the metric difference includes:
sequencing the measurement differences in the order from small to large, and selecting state nodes corresponding to the measurement differences with the sequencing positions positioned at the first K numbers to determine as sampling points; or
And dividing the measurement difference into P groups, and selecting at least one state node corresponding to the measurement difference from each group of measurement differences according to the value of each group of measurement differences to determine the node as a sampling point, wherein P is a positive integer.
In one possible embodiment, dividing the metric differences into P groups includes:
dividing the measurement difference into P groups in sequence according to the number of the measurement difference, wherein the number of the measurement difference contained in each group is continuous; or
And according to the number of the measurement difference, sequentially dividing the measurement differences with the number interval of P into a group.
In a possible embodiment, the value of P is K; or
The value of P is
L is the length of information bits corresponding to the receiving sequence, n is a positive integer, M is a set sampling coefficient,
indicating a ceiling operation.
In one possible embodiment, selecting at least one metric difference corresponding state node from each set of metric differences according to the value of each set of metric differences to determine as a sampling point includes:
if the value of P is K, selecting the state node corresponding to the minimum metric difference from each group of metric differences according to the value of the metric difference to determine the state node as a sampling point; or
If the value of P is
And selecting the state nodes corresponding to the first n metric differences in the metric differences from small to large in the metric differences in each group to determine the state nodes as sampling points.
In a second aspect, a computer-readable storage medium is provided, in which executable program code is stored, the program code being adapted to implement the method of the first aspect.
In a third aspect, an SOVA-based decoding apparatus is provided, the apparatus comprising:
a path determining module, configured to determine, by using a viterbi algorithm, a maximum likelihood path corresponding to a received sequence in a set trellis diagram, and calculate a metric difference between a competition path of each state node on the maximum likelihood path and the maximum likelihood path, where the trellis diagram is used to represent state changes of an encoder at different times;
the sampling module is used for selecting K state nodes from the state nodes on the maximum likelihood path according to the value of the metric difference, and determining the K state nodes as sampling points, wherein K is a positive integer;
and the backtracking module is used for performing backtracking processing by taking the sampling points as backtracking nodes so as to update the log-likelihood ratio LLR value of each information bit contained in the receiving sequence.
In one possible embodiment of the method according to the invention,
l is the length of information bit corresponding to the receiving sequenceAnd M is a set sampling coefficient,
indicating a ceiling operation.
In a possible implementation, the sampling module is specifically configured to:
sequencing the measurement differences in the order from small to large, and selecting state nodes corresponding to the measurement differences with the sequencing positions positioned at the first K numbers to determine as sampling points; or
And dividing the measurement difference into P groups, and selecting at least one state node corresponding to the measurement difference from each group of measurement differences according to the value of each group of measurement differences to determine the node as a sampling point, wherein P is a positive integer.
In a possible implementation, the sampling module is specifically configured to:
dividing the measurement difference into P groups in sequence according to the number of the measurement difference, wherein the number of the measurement difference contained in each group is continuous; or
And according to the number of the measurement difference, sequentially dividing the measurement differences with the number interval of P into a group.
In a possible embodiment, the value of P is K; or
The value of P is
L is the length of information bits corresponding to the receiving sequence, n is a positive integer, M is a set sampling coefficient,
indicating a ceiling operation.
In a possible implementation, the sampling module is specifically configured to:
if the value of P is K, selecting the state node corresponding to the minimum metric difference from each group of metric differences according to the value of the metric difference to determine the state node as a sampling point; or
If the value of P is
And selecting the state nodes corresponding to the first n metric differences in the metric differences from small to large in the metric differences in each group to determine the state nodes as sampling points.
In a fourth aspect, a SOVA-based decoding apparatus is provided, which includes a transceiver and at least one processor connected to the transceiver, wherein:
the processor is used for reading the program in the memory and executing the following processes:
determining a maximum likelihood path corresponding to a receiving sequence in a set grid graph by adopting a Viterbi algorithm, and calculating a metric difference between a competition path of each state node on the maximum likelihood path and the maximum likelihood path, wherein the grid graph is used for representing state changes of an encoder at different moments;
according to the value of the metric difference, K state nodes are selected from the state nodes on the maximum likelihood path and determined as sampling points, wherein K is a positive integer; and
taking the sampling points as backtracking nodes, and performing backtracking processing to update the log-likelihood ratio LLR value of each information bit contained in the receiving sequence;
the transceiver is used for receiving and transmitting data under the control of the processor.
In one possible embodiment of the method according to the invention,
the L is the length of the information bit corresponding to the receiving sequence, the M is a set sampling coefficient,
indicating a ceiling operation.
In a possible implementation, the processor reads the program in the memory, and specifically executes the following processes:
sequencing the measurement differences in the order from small to large, and selecting state nodes corresponding to the measurement differences with the sequencing positions positioned at the first K numbers to determine as sampling points; or
And dividing the measurement difference into P groups, and selecting at least one state node corresponding to the measurement difference from each group of measurement differences according to the value of each group of measurement differences to determine the node as a sampling point, wherein P is a positive integer.
In a possible implementation, the processor reads the program in the memory, and specifically executes the following processes:
dividing the measurement difference into P groups in sequence according to the number of the measurement difference, wherein the number of the measurement difference contained in each group is continuous; or
And according to the number of the measurement difference, sequentially dividing the measurement differences with the number interval of P into a group.
In a possible embodiment, the value of P is K; or
The value of P is
L is the length of information bits corresponding to the receiving sequence, n is a positive integer, M is a set sampling coefficient,
indicating a ceiling operation.
In a possible implementation, the processor reads the program in the memory, and specifically executes the following processes:
if the value of P is K, selecting the state node corresponding to the minimum metric difference from each group of metric differences according to the value of the metric difference to determine the state node as a sampling point; or
If the value of P is
And selecting the state nodes corresponding to the first n metric differences in the metric differences from small to large in the metric differences in each group to determine the state nodes as sampling points.
In the method and the device provided by the embodiment of the invention, a Viterbi algorithm is adopted, a maximum likelihood path corresponding to a receiving sequence is determined in a set grid graph, the metric difference between a competition path of each state node on the maximum likelihood path and the maximum likelihood path is calculated, and K state nodes are selected from the state nodes on the maximum likelihood path according to the value of the metric difference and are determined as sampling points; and taking the sampling point as a backtracking node to perform backtracking processing so as to update the LLR value of each information bit contained in the receiving sequence. Therefore, on the premise of ensuring the system performance, the determined sampling points are only subjected to backtracking processing, the LLR value of each information bit contained in the receiving sequence is determined, the decoding complexity is reduced, the decoding speed is improved, the fast and efficient decoding processing is realized, and the hardware implementation is easier.
Detailed Description
In order to make the objects, technical solutions and advantages of the embodiments of the present invention clearer, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, but not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
The scheme described in the embodiments of the present invention can be used in various communication systems, such as 2G, 3G, 4G, 5G communication systems and next-generation communication systems, such as Global System for Mobile communications (GSM), Code Division Multiple Access (CDMA) System, Time Division Multiple Access (TDMA) System, Wideband Code Division Multiple Access (WCDMA) System, Frequency Division Multiple Access (FDMA) System, Orthogonal Frequency Division Multiple Access (OFDMA) System, FDMA (SC-FDMA) System, General Packet Radio Service (GPRS) System, and Long Term Evolution (LTE) System.
The trellis diagram in the embodiment of the present invention is a schematic diagram obtained by expanding state transitions of an encoder according to a time sequence, fig. 1 is a schematic diagram of the trellis diagram, and fig. 1 shows a trellis diagram of a convolutional code having an information bit length of 5 and a register number m of 2. The encoder has 2m4 states, i.e. S in fig. 10~S3The state nodes shown, and the values such as 111, 010 marked on the edge between any two state nodes in fig. 1 represent the code words output by the encoder. The decoding process is to find a path on the trellis diagram, so that the output of the path is closest to the actual received sequence, and the path is denoted as a maximum likelihood path, i.e. an ML path. The viterbi algorithm can be used to search the ML path.
As can be seen from the trellis diagram shown in fig. 1, except for the m times starting at time t (i.e., time 0 and time 1) and ending at m times (i.e., time 6 and time 7), at times 2-5 each state node has 2 edges entering the state node and 2 edges leaving the state node, corresponding to state transitions when the input is 0 and the input is 1, respectively. That is, each state has two reachable paths, and the metrics of the two paths need to be compared during decoding, and the path with the larger metric is reserved, and this path is called a survivor path, and the path with the smaller metric is discarded, and this path is called a contention path. The metric is used to characterize the length of a path between any two nodes, and for example, the metric of the path may be a hamming distance or the like. The embodiment of the present invention does not limit the specific form of the metric of the path.
For SOVA, the ML path is first determined by the viterbi algorithm, assuming that the ML path is the one shown by the bold line. Next, the SOVA needs to save the state section on the ML pathThe points are backtracked to determine the soft information value to be output, so that L state nodes on the ML path need to be backtracked. At each state node of the ML path, there are 2 edges entering the state node, e.g., at the time t-3, the state node is S2This state may be represented by the state node S3Reached, possibly also by the state node S1To achieve, respectively calculate the path S3→S2Metric of (2) and path S1→S2If the path S is measured3→S2Is greater than path S1→S2Is measured, then path S is reserved3→S2Path S3→S2Called survivor path, discard path S1→S2Path S1→S2Referred to as a contention path.
In the conventional SOVA algorithm, only the survivor path and the metric thereof need to be compared and stored, and in order to ensure the system performance in the embodiment of the present invention, the metric difference between the competing path of all state nodes on the ML path and the ML path is calculated and recorded as △1~△LThe number of the calculated metric differences is arranged in time sequence, and the number of the metric differences is the length of the information bits corresponding to the received sequence1~△LAnd selecting K state nodes to be determined as sampling points, and performing backtracking processing on the sampling points only, thereby determining the LLR value of each information bit contained in the receiving sequence.
The embodiments of the present invention will be described in further detail with reference to the drawings attached hereto. It is to be understood that the embodiments described herein are merely illustrative and explanatory of the invention and are not restrictive thereof.
In the embodiment shown in fig. 2, a SOVA-based decoding method is provided, and the method includes:
s21, determining a maximum likelihood path corresponding to a receiving sequence in a set grid graph by adopting a Viterbi algorithm, and calculating the metric difference between a competition path of each state node on the maximum likelihood path and the maximum likelihood path, wherein the grid graph is used for representing the state change of an encoder at different moments;
s22, selecting K state nodes from the state nodes on the maximum likelihood path according to the value of the metric difference, and determining the K state nodes as sampling points, wherein K is a positive integer;
and S23, taking the sampling point as a backtracking node, and performing backtracking processing to update the LLR value of each information bit contained in the receiving sequence.
In the embodiment of the invention, a Viterbi algorithm is adopted, a maximum likelihood path corresponding to a receiving sequence is determined in a set grid graph, the metric difference between a competition path of each state node on the maximum likelihood path and the maximum likelihood path is calculated, and K state nodes are selected from the state nodes on the maximum likelihood path according to the value of the metric difference and are determined as sampling points; and taking the sampling point as a backtracking node to perform backtracking processing so as to update the LLR value of each information bit contained in the receiving sequence. Therefore, on the premise of ensuring the system performance, the determined sampling points are only subjected to backtracking processing, the LLR value of each information bit contained in the receiving sequence is determined, the decoding complexity is reduced, the decoding speed is improved, the fast and efficient decoding processing is realized, and the hardware implementation is easier.
In one possible embodiment of the method according to the invention,
the L is the length of the information bit corresponding to the receiving sequence, the M is a set sampling coefficient,
indicating a ceiling operation.
Based on any of the above embodiments, since the smaller the metric difference, the greater the influence of calculation on the LLR values corresponding to the received sequence, the state node corresponding to the smaller metric difference is selected as the sampling point. Accordingly, in S22, according to the value of the metric difference, K state nodes are selected from the state nodes on the maximum likelihood path to be determined as sampling points, which includes the following two possible embodiments:
mode 1, directly sequencing sampling, namely sequencing the measurement differences in sequence from small to large, and selecting state nodes corresponding to the measurement differences with sequencing positions positioned at the first K numbers as sampling points.
In particular, directly on Δ1,Δ2,...,ΔLAnd sequencing according to the sequence from small to large, and selecting the state node corresponding to the minimum K measurement differences as a sampling point after sequencing is finished.
The metric difference of the direct sequencing sampling selection is the minimum value in the whole situation, the performance of a decoding algorithm can be guaranteed, but in the hardware implementation, L data need to be sequenced, K minimum values are selected, and certain hardware resources need to be consumed.
And 2, sampling in a segmented manner, namely dividing the measurement differences into P groups, selecting at least one state node corresponding to the measurement differences from each group of measurement differences according to the value of each group of measurement differences, and determining the node as a sampling point, wherein P is a positive integer.
The method further comprises the following two possible implementation modes:
mode 21, continuous segmented sampling, that is, the metric differences are sequentially divided into P groups according to the numbers of the metric differences, and the numbers of the metric differences included in each group are continuous.
Optionally, the value of P is K; or the value of P is
L is the length of information bits corresponding to the receiving sequence, n is a positive integer, M is a set sampling coefficient,
indicating a ceiling operation.
Specifically, if the value of P is K, then Δ is calculated
1,Δ
2,...,Δ
LBy local ordering divided into successive K segments, i.e. from Δ
1At the beginning of each
Dividing the metric difference into a group, in totalCounting K groups, and selecting a state node corresponding to the minimum measurement difference in each group as a sampling point;
if the value of P is
(where N is N × M, i.e., N is an integer multiple of the sampling coefficient), then Δ is calculated
1,Δ
2,...,Δ
LDivided into successive
The segments being ordered locally, i.e. from Δ
1At the outset, △
1-△
NGroup 1, △
N+1-△
N*2Is 1 group … … in total
And (4) grouping.
In this manner, in S22, according to the value of each group of metric differences, at least one metric difference corresponding state node is selected from each group of metric differences and determined as a sampling point, which further includes:
if the value of P is K, selecting the state node corresponding to the minimum metric difference from each group of metric differences according to the value of the metric difference to determine the state node as a sampling point; or
If the value of P is
And selecting the state nodes corresponding to the first n metric differences in the metric differences from small to large in the metric differences in each group to determine the state nodes as sampling points.
The method selects the minimum value in each measurement difference group in a continuous segmentation mode, and achieves rapidness.
And 22, interval segmented sampling, namely sequentially dividing the measurement differences with the number interval of P into a group according to the number of the measurement differences.
Optionally, the value of P is K; or the value of P is
The L is the receivingThe length of information bits corresponding to the sequence, n is a positive integer, M is a set sampling coefficient,
indicating a ceiling operation.
Specifically, if the value of P is K, the number of the metric difference and K are subjected to a remainder operation, and metric differences with the same remainder operation result are divided into one group, so as to obtain K groups of metric differences, for example, △1,△K+1,△2*K+1… is group 1, △2,△K+2,△2*K+2… is group 1, and so on;
the value of P is
(where N is N × M, i.e., N is an integer multiple of the sampling coefficient), the metric difference is numbered
Performing a remainder operation, dividing the metric differences with the same remainder operation result into a group to obtain
Group metric difference.
In this manner, in S22, according to the value of each group of metric differences, at least one metric difference corresponding state node is selected from each group of metric differences and determined as a sampling point, which further includes:
if the value of P is K, selecting the state node corresponding to the minimum metric difference from each group of metric differences according to the value of the metric difference to determine the state node as a sampling point; or
If the value of P is
And selecting the state nodes corresponding to the first n metric differences in the metric differences from small to large in the metric differences in each group to determine the state nodes as sampling points.
According to the method, the data with the interval of P is divided into one segment through an interval segmentation sampling algorithm, and the minimum metric difference is selected for sampling in each data segment, so that the hardware resource consumption is reduced, the correlation among the sampled data is reduced, and the down-sampling of the metric difference can be quickly realized under the condition of ensuring the performance.
Based on any of the above embodiments, in S23, taking the sampling point as a trace-back node, performing trace-back processing to update an LLR value of each information bit included in the received sequence, which is specifically as follows:
1) initializing LLR values corresponding to each state node on the maximum likelihood path to be + ∞;
2) tracing back from the state node at the last time t equal to L until the initial state node, and executing the following processing for each state node:
comparing each bit on the competing path of the state node with the maximum likelihood path;
if the values of the two bits are the same, the LLR value corresponding to the corresponding bit is not updated;
if the values of the two bits are different, updating the LLR value of the bit by the minimum value;
3) and adjusting the sign of the LLR by using the hard-decision bit sign, thereby realizing the complete output of the SOVA to the LLR.
The number of state nodes needing backtracking processing in the conventional SOVA algorithm is L, and the number of the state nodes needing backtracking processing is K after the downsampling of S22 in the embodiment of the invention, so that the processing complexity is reduced. However, during decoding, the LLR values of L state nodes still need to be output, and therefore, the LLR values of the remaining L-K nodes need to be estimated, which is specifically as follows:
because the path metric difference of some state nodes in the maximum likelihood path after sampling is omitted and the LLR values of the corresponding information bits cannot be updated, the LLR values of the omitted state nodes need to be estimated, the estimated value includes two parts, i.e., the internal information of the channel and the external information of the LLRs adjacent to the state nodes that are not omitted, and the calculation formula is as follows: LLR (l) ═ LLRi(l)|+|LLRn(l)|;
Wherein the LLRn(l) Is the sampling point closest to the distance lLLR, LLR ofi(l) It is the intra information from the channel, which can be specifically calculated by the following equation:
|LLRi(l)|≈|0.5Lc*(rl*cl(ul=+1)-rl*cl(ul=-1))|+|La(l)|;
wherein r is
lIndicating the received sequence at time l, u
lInformation bits indicating time l, c
lRepresenting the corresponding code word, c
l(u
l+1) represents a codeword when the input information is 1, c
l(u
l— 1) represents a codeword when the input information is 0,
a representation of a confidence factor of the channel,
a priori information representing the information bits.
The method provided by the embodiment of the invention can be applied to terminal equipment and also can be applied to network equipment.
The Terminal device may also be referred to as a User Equipment (User Equipment, abbreviated as "UE"), a Mobile Station (Mobile Station, abbreviated as "MS"), a Mobile Terminal (Mobile Terminal), or the like, and optionally, the Terminal may have a capability of communicating with one or more core networks through a Radio Access Network (RAN), for example, the Terminal may be a Mobile phone (or referred to as a "cellular" phone), a computer with Mobile property, or the like, and for example, the Terminal may also be a portable, pocket, hand-held, computer-built-in, or vehicle-mounted Mobile device.
A network device may be a base station (e.g., access point) that refers to a device in an access network that communicates over the air-interface, through one or more sectors, with wireless terminals. The base station may be configured to interconvert received air frames and IP packets as a router between the wireless terminal and the rest of the access network, which may include an Internet Protocol (IP) network. The base station may also coordinate management of attributes for the air interface. For example, the base Station may be a base Station (BTS) in GSM or CDMA, a base Station (NodeB) in WCDMA, or an evolved Node B (NodeB or eNB or e-NodeB) in LTE, which is not limited in this embodiment.
The above method process flow may be implemented by a software program, which may be stored in a storage medium, and when the stored software program is called, the above method steps are performed.
Based on the same inventive concept, the embodiment of the present invention further provides a decoding apparatus based on SOVA, and since the principle of the apparatus for solving the problem is similar to that of the decoding method based on SOVA shown in fig. 2, the implementation of the apparatus may refer to the implementation of the method, and repeated details are not repeated.
In the embodiment shown in fig. 3, there is provided a SOVA-based decoding apparatus, the apparatus comprising:
a path determining module 31, configured to determine, by using a viterbi algorithm, a maximum likelihood path corresponding to a received sequence in a set trellis diagram, and calculate a metric difference between a competition path of each state node on the maximum likelihood path and the maximum likelihood path, where the trellis diagram is used to represent state changes of an encoder at different times;
the sampling module 32 is configured to select K state nodes from the state nodes on the maximum likelihood path according to the value of the metric difference, where K is a positive integer, and determine the K as a sampling point;
a trace-back module 33, configured to perform trace-back processing on the sampling points as trace-back nodes to update log-likelihood ratio LLR values of each information bit included in the received sequence.
Alternatively to this, the first and second parts may,
the L is the length of the information bit corresponding to the receiving sequence, the M is a set sampling coefficient,
indicating a ceiling operation.
In a possible implementation, the sampling module 32 is specifically configured to:
sequencing the measurement differences in the order from small to large, and selecting state nodes corresponding to the measurement differences with the sequencing positions positioned at the first K numbers to determine as sampling points; or
And dividing the measurement difference into P groups, and selecting at least one state node corresponding to the measurement difference from each group of measurement differences according to the value of each group of measurement differences to determine the node as a sampling point, wherein P is a positive integer.
Further, the sampling module 32 is specifically configured to:
dividing the measurement difference into P groups in sequence according to the number of the measurement difference, wherein the number of the measurement difference contained in each group is continuous; or
And according to the number of the measurement difference, sequentially dividing the measurement differences with the number interval of P into a group.
Optionally, the value of P is K; or
The value of P is
L is the length of information bits corresponding to the receiving sequence, n is a positive integer, M is a set sampling coefficient,
indicating a ceiling operation.
In a possible implementation, the sampling module 32 is specifically configured to:
if the value of P is K, selecting the state node corresponding to the minimum metric difference from each group of metric differences according to the value of the metric difference to determine the state node as a sampling point; or
If the value of P is
And selecting the state nodes corresponding to the first n metric differences in the metric differences from small to large in the metric differences in each group to determine the state nodes as sampling points.
In the embodiment shown in fig. 4, there is provided a SOVA-based decoding apparatus, comprising a transceiver and at least one processor connected to the transceiver, wherein:
the processor 500, which is used to read the program in the memory 520, executes the following processes:
determining a maximum likelihood path corresponding to a receiving sequence in a set grid graph by adopting a Viterbi algorithm, and calculating a metric difference between a competition path of each state node on the maximum likelihood path and the maximum likelihood path, wherein the grid graph is used for representing state changes of an encoder at different moments;
according to the value of the metric difference, K state nodes are selected from the state nodes on the maximum likelihood path and determined as sampling points, wherein K is a positive integer; and
taking the sampling points as backtracking nodes, and performing backtracking processing to update the log-likelihood ratio LLR value of each information bit contained in the receiving sequence;
a transceiver 510 for receiving and transmitting data under the control of the processor 500.
Where in fig. 4, the bus architecture may include any number of interconnected buses and bridges, with various circuits being linked together, particularly one or more processors represented by processor 500 and memory represented by memory 520. The bus architecture may also link together various other circuits such as peripherals, voltage regulators, power management circuits, and the like, which are well known in the art, and therefore, will not be described any further herein. The bus interface provides an interface. The transceiver 510 may be a number of elements, including a transmitter and a transceiver, providing a means for communicating with various other apparatus over a transmission medium. The processor 500 is responsible for managing the bus architecture and general processing and may also provide various functions including timing, peripheral interfaces, voltage regulation, power management, and other control functions. The memory 520 may store data used by the processor 500 in performing operations.
Alternatively, the processor 500 may be a Central Processing Unit (CPU), an Application Specific Integrated Circuit (ASIC), a Field Programmable Gate Array (FPGA), or a Complex Programmable Logic Device (CPLD).
Alternatively to this, the first and second parts may,
the L is the length of the information bit corresponding to the receiving sequence, the M is a set sampling coefficient,
indicating a ceiling operation.
In one possible implementation, the processor 500 reads the program in the memory 520 and specifically executes the following processes:
sequencing the measurement differences in the order from small to large, and selecting state nodes corresponding to the measurement differences with the sequencing positions positioned at the first K numbers to determine as sampling points; or
And dividing the measurement difference into P groups, and selecting at least one state node corresponding to the measurement difference from each group of measurement differences according to the value of each group of measurement differences to determine the node as a sampling point, wherein P is a positive integer.
Further, the processor 500 reads the program in the memory 520, and specifically executes the following processes:
dividing the measurement difference into P groups in sequence according to the number of the measurement difference, wherein the number of the measurement difference contained in each group is continuous; or
And according to the number of the measurement difference, sequentially dividing the measurement differences with the number interval of P into a group.
Optionally, the value of P is K; or
The value of P is
L is the length of information bits corresponding to the receiving sequence, n is a positive integer, M is a set sampling coefficient,
indicating a ceiling operation.
In one possible implementation, the processor 500 reads the program in the memory 520 and specifically executes the following processes:
if the value of P is K, selecting the state node corresponding to the minimum metric difference from each group of metric differences according to the value of the metric difference to determine the state node as a sampling point; or
If the value of P is
And selecting the state nodes corresponding to the first n metric differences in the metric differences from small to large in the metric differences in each group to determine the state nodes as sampling points.
In the device provided by the embodiment of the invention, a Viterbi algorithm is adopted, a maximum likelihood path corresponding to a receiving sequence is determined in a set grid graph, the metric difference between a competition path of each state node on the maximum likelihood path and the maximum likelihood path is calculated, and K state nodes are selected from the state nodes on the maximum likelihood path according to the value of the metric difference and are determined as sampling points; and taking the sampling point as a backtracking node to perform backtracking processing so as to update the LLR value of each information bit contained in the receiving sequence. Therefore, on the premise of ensuring the system performance, the determined sampling points are only subjected to backtracking processing, the LLR value of each information bit contained in the receiving sequence is determined, the decoding complexity is reduced, the decoding speed is improved, the fast and efficient decoding processing is realized, and the hardware implementation is easier.
As will be appreciated by one skilled in the art, embodiments of the present invention may be provided as a method, system, or computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present invention may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present invention is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the invention. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
While preferred embodiments of the present invention have been described, additional variations and modifications in those embodiments may occur to those skilled in the art once they learn of the basic inventive concepts. Therefore, it is intended that the appended claims be interpreted as including preferred embodiments and all such alterations and modifications as fall within the scope of the invention.
It will be apparent to those skilled in the art that various changes and modifications may be made in the present invention without departing from the spirit and scope of the invention. Thus, if such modifications and variations of the present invention fall within the scope of the claims of the present invention and their equivalents, the present invention is also intended to include such modifications and variations.