Embodiments of the present invention relate to a signal processing field, and in particular, to a decoding method and a decoding device which are applied to an OvXDM system, and an OvXDM system.
When decoding is performed in an overlapped multiplexing system, regardless of an overlapped time division multiplexing (OvTDM, Overlapped Time Division Multiplexing) system, an overlapped frequency division multiplexing (OvFDM, Overlapped Frequency Division Multiplexing) system, an overlapped code division multiplexing (OvCDM, Overlapped Code Division Multiplexing) system, an overlapped space division multiplexing (OvSDM, Overlapped Space Division Multiplexing) system, an overlapped hybrid division multiplexing (OvHDM, Overlapped Hybrid Division Multiplexing) system, or the like, a node in a trellis (Trellis) diagram corresponding to the OvXDM system needs to be continuously accessed. In addition, two memories are disposed for each node. One is configured for store a relative best path for reaching the node, and the other is configured for store a measurement corresponding to the relative best path for reaching the node. When the measurement corresponding to the relative best path for reaching the node is calculated, a conventional method is usually adding an accumulated branch measurement of a node at a previous moment to a transient branch measurement of a node at a current moment, so that an accumulated branch measurement of the node at the current moment can be obtained. Such an accumulated branch measurement of a node is widely applicable. However, when decoding is performed in the overlapped multiplexing system, all state nodes and extended paths thereof usually need to be traversed like that described above, so that a relatively accurate decoding result can be obtained.
To solve the aforementioned problem, the present invention provides a decoding method and a device applied to an OvXDM system, and an OvXDM system.
According to a first aspect of the present invention, the present invention provides a decoding method which is applied to an OvXDM system, and comprising the following steps:
calculating an accumulated branch measurement of a node; and
performing a decoding operation based on the accumulated branch measurement;
wherein the accumulated branch measurement of any node is calculated by using the following steps:
extending L nodes backwards from a node at a previous moment, to obtain all branches of a segmented data stream whose length is L, wherein L is an integer and is greater than 1;
calculating measurements of the branches of the segmented data stream whose length is L, to respectively obtain segmented path measurements of the branches;
selecting a smallest measurement from the segmented path measurements of the branches;
dividing the smallest measurement by L, to obtain an average branch measurement of the node at a current moment; and
adding the accumulated branch measurement of the node at the previous moment to the average branch measurement of the node at the current moment, so as to obtain the accumulated branch measurement of the node at the current moment.
According to a second aspect of the present invention, the present invention provides a decoding device which is applied to an OvXDM system, and comprising:
an accumulated branch measurement calculating module, configured for calculating an accumulated branch measurement of a node; and
a decoding module, configured for performing a decoding operation based on the accumulated branch measurement;
wherein the accumulated branch measurement calculating module comprises:
an extension module, configured for extending L nodes backwards from a node at a previous moment, to obtain all branches of a segmented data stream whose length is L, wherein L is an integer and is greater than 1;
a first calculation module, configured for calculating measurements of the branches of the segmented data stream whose length is L, to respectively obtain segmented path measurements of the branches;
a comparison module, configured for selecting a smallest measurement from the segmented path measurements of the branches;
an average branch measurement calculating module, configured for dividing the smallest measurement by L, to obtain an average branch measurement of the node at a current moment; and
an adder module, configured for adding the accumulated branch measurement of the node at the previous moment to the average branch measurement of the node at the current moment, so as to obtain the accumulated branch measurement of the node at the current moment.
According to a third aspect of the present invention, the present invention provides an OvXDM system, comprising the decoding device, wherein the decoding device comprises:
an accumulated branch measurement calculating module, configured for calculating an accumulated branch measurement of a node; and
a decoding module, configured for performing a decoding operation based on the accumulated branch measurement;
wherein the accumulated branch measurement calculating module comprises:
an extension module, configured for extending L nodes backwards from a node at a previous moment, to obtain all branches of a segmented data stream whose length is L, wherein L is an integer and is greater than 1;
a first calculation module, configured for calculating measurements of the branches of the segmented data stream whose length is L, to respectively obtain segmented path measurements of the branches;
a comparison module, configured for selecting a smallest measurement from the segmented path measurements of the branches;
an average branch measurement calculating module, configured for dividing the smallest measurement by L, to obtain an average branch measurement of the node at a current moment; and
an adder module, configured for adding the accumulated branch measurement of the node at the previous moment to the average branch measurement of the node at the current moment, so as to obtain the accumulated branch measurement of the node at the current moment.
Technical effects of the present invention are as follows:
According to the decoding method and the device applied to an OvXDM system, and the OvXDM system, the average branch measurement of the node at the current moment is added to the accumulated branch measurement of the node at the previous moment, to obtain the accumulated branch measurement of the node at the current moment. Therefore, information about the accumulated branch measurement of the current node not only includes measurement information of a branch before the current node, but also includes specific measurement information of a branch after the current node, so that the accumulated branch measurement of the current node has higher reference value, decoding reliability is higher, and a selected decoding path is more accurate and reliable. In addition, calculation of an accumulated branch measurement of a node is improved in the present invention. Therefore, a very accurate decoding result can be obtained without a need of traversing all state nodes and extended paths thereof like that in a conventional means.
The following further describes the present invention in detail with reference to specific embodiments and accompanying drawings.
The present invention discloses a decoding method which is applied to an OvXDM system. In one embodiment, the OvXDM system is an OvTDM system, an OvFDM system, an OvCDM system, an OvSDM system, or an OvHDM system.
It should be noted that, in the present invention, a measurement indicates a distance between two signals, and is defined as:
When p is equal to 2, the distance is an Euclidean distance. The Euclidean distance is a real distance between two signals, and can truly reflect a distance between an actual signal and an ideal signal. In the present invention, the Euclidean distance is defined as:
As shown in
Step S100: calculating an accumulated branch measurement of a node. As shown in
S101: generating L nodes that are extended backwards from a node at a previous moment, to obtain all branches of a segmented data stream whose length is L, wherein L is an integer and is greater than 1. In an M-dimension system, M is an integer and is greater than or equal to 2, M arrival nodes are extended from each node. After generating L nodes that are extended backwards from a node at the previous moment, each arrival node is corresponding to ML-1 extended branches, and there are a total of ML branches for all arrival nodes. In the embodiment, when the OvXDM system is an OvTDM system or an OvFDM system, the branch length L is smaller than or equal to a quantity of times of overlapped multiplexing of the OvXDM system, and decoding performance is best when the branch length L is equal to the quantity of times of overlapped multiplexing of the OvXDM system; or when the OvXDM system is an OvCDM system, the branch length L is smaller than or equal to a quantity of coding branches of the OvXDM system, and decoding performance is best when the branch length L is equal to the quantity of coding branches of the OvXDM system.
S103: calculating measurements of the branches of the segmented data stream whose length is L, to respectively obtain segmented path measurements of the branches. In other words, measurements of ML-1 extended branches corresponding to each arrival node of the segmented data stream whose length is L in step S101 are calculated, so as to obtain the segmented path measurements of the branches, there are M arrival nodes. M is a dimensionality of the OvXDM system, and M is an integer and is greater than or equal to 2.
S105: selecting a smallest measurement from the segmented path measurements of the branches. In other words, the segmented path measurements of the ML-1 branches of each arrival node in step S103 are compared, and a smallest measurement is selected from the segmented path measurements of the ML-1 branches, and is used as the smallest measurement of the corresponding arrival node. A total of M smallest measurements are obtained, where M is the dimensionality of the OvXDM system, and M is an integer and is greater than or equal to 2.
S107: dividing the smallest measurement by L, to obtain an average branch measurement of the node at a current moment. In other words, the average branch measurement of paths corresponding to each arrival node are obtained and includes a total of M average branch measurements.
S109: adding the accumulated branch measurement of the node at the previous moment to the average branch measurement of the node at the current moment, to obtain the accumulated branch measurement of the node at the current moment. In a conventional decoding solution, the accumulated branch measurement at a current moment is obtained by adding a transient branch measurement of a node at the current moment to the accumulated branch measurement of a node at a previous moment, and the transient branch measurement of the node at the current moment is a measurement of a branch, whose length is 1, from the node at the previous moment to the node at the current moment. Therefore, it can be seen that, in the present invention, the transient branch measurement is replaced by the average branch measurement during calculation. Therefore, the accumulated branch measurement of the current node not only includes branch measurement information before the current node, but also includes branch measurement information after the current node; so that the accumulated branch measurement of the current node has higher reference value, reliability of the decoding operation performed in step S300 is increased, and the selected decoding path is more accurate and reliable. It should be noted that the node at an initial moment does not have the node at a previous moment, therefore the accumulated branch measurement of the node at the initial moment is an average branch measurement of the node at the initial moment. In other words, the accumulated branch measurement of the node at the initial moment is equal to the average branch measurement of the node at the initial moment. In addition, when accumulated branch measurements of nodes at the last several moments are calculated, there may be no branch having a sufficient length after the nodes, that is, even if the node at the final moment is extended, a length of the branch between this nodes may also be smaller than L−1. In this case, there are several solutions. For example, assuming that a length of a data frame is N, when a decoding depth reaches N−L, for the last L symbols, a path corresponding to the selected smallest measurement may be used as an output of the decoding operation.
In a preferred embodiment, in step S109, before adding the accumulated branch measurement of the node at the previous moment to the average branch measurement of the node at the current moment, the accumulated branch measurement of the node at the previous moment is multiplied by a weighting factor, to obtain a new accumulated branch measurement of the node at the previous moment. Then the new accumulated branch measurement of the node at the previous moment is added to the average branch measurement of the node at the current moment, to obtain the accumulated branch measurement of the node at the current moment. An objective of introducing the weighting factor is to make the measurement of a node that is more far away from the node at the current moment have smaller impact on the measurement of the node at the current moment. The weighting factor is determined by a flat fading width of the OvXDM system. In one embodiment, the weighting factor is greater than or equal to 0.9 and is smaller than or equal to 1.
Step S300: performing a decoding operation based on the accumulated branch measurement. In a preferred embodiment, a decoding rule in the step S300 includes: starting from the node at the initial moment, selecting the node with a smallest accumulated branch measurement each time to perform extension. Certainly, the decoding rule in step S300 may alternatively be an existing decoding rule, or a decoding rule that may occur in the future.
If the measurement of the node needs to be used in the decoding rule, an improved accumulated branch measurement of the node in the present invention can be applied to the decoding rule. In the present invention, calculation of the accumulated branch measurement of the node is improved, therefore a very accurate decoding result can be obtained; compared to the conventional solution, there is no need to traverse all state nodes and extended paths thereof.
For example, as described above, the node with the smallest accumulated branch measurement is selected each time to perform extension, rather than extending all nodes and branches and calculating their measurements each time. Specifically, in one embodiment, M accumulated branch measurements are obtained in step S109, and are corresponding to M arrival nodes. A smallest measurement is selected from the M accumulated branch measurements, and the arrival state node corresponding to the smallest measurement is determined.
Node extension and path selection are performed on the node according to the aforementioned method. The aforementioned steps are repeated, it is started from an nth step, only first rn arrival nodes and accumulated branch measurements thereof are kept or stored. rn is determined by a tolerable performance loss of the OvXDM system. Paths having relatively large average branch measurements, and the measurements thereof are all discarded or deleted.
Correspondingly, the present invention further discloses a decoding device which is applied to an OvXDM system. In one embodiment, the OvXDM system is an OvTDM system, an OvFDM system, an OvCDM system, an OvSDM system, or an OvHDM system.
Referring to
The accumulated branch measurement calculating module 100 is configured for calculating an accumulated branch measurement of a node. In the embodiment, referring to
The extension module 101 is configured for extending L nodes backwards from a node at a previous moment, to obtain all branches of a segmented data stream whose length is L, wherein L is an integer and is greater than 1. In one embodiment, the branch length L is smaller than or equal to a quantity of times of overlapped multiplexing of the OvXDM system when the OvXDM system is the OvTDM system or the OvFDM system; or the branch length L is smaller than or equal to a quantity of coding branches of the OvXDM system when the OvXDM system is the OvCDM system.
The first calculation module 103 is configured for calculating measurements of the branches of the segmented data stream whose length is L, to respectively obtain segmented path measurements of the branches.
The comparison module 105 is configured for selecting a smallest measurement from the segmented path measurements of the branches.
The average branch measurement calculating module 107 is configured for dividing the smallest measurement by L, to obtain an average branch measurement of the node at a current moment.
The adder module 109 is configured for adding the accumulated branch measurement of the node at the previous moment to the average branch measurement of the node at the current moment, so as to obtain the accumulated branch measurement of the node at the current moment.
The weighting factor module 111 is configured for multiplying the accumulated branch measurement of the node at the previous moment by a weighting factor, to obtain a new accumulated branch measurement of the node at the previous moment.
The adder module 109 is further configured for adding the new accumulated branch measurement of the node at the previous moment to the average branch measurement of the node at the current moment, so as to obtain the accumulated branch measurement of the node at the current moment.
The weighting factor is determined by a flat fading width of the OvXDM system. In one embodiment, the weighting factor is greater than or equal to 0.9 and is smaller than or equal to 1. An objective of introducing the weighting factor is to make the measurement of a node that is more far away from the node at the current moment has smaller impact on the measurement of the node at the current moment.
The decoding module 300 is configured for performing an decoding operation based on the accumulated branch measurement. In one embodiment, the decoding module 300 includes a smallest accumulated branch measurement extending module. The smallest accumulated branch measurement extending module is configured for: starting from a node at an initial moment, selecting a node, having a smallest accumulated branch measurement, from nodes which are extended from the node at the initial moment each time.
The present invention further discloses an OvXDM system. The OvXDM system includes the decoding device to which the segmented path measurement is applied in the present invention. In one embodiment, the OvXDM system disclosed in the present invention is an OvTDM system, an OvFDM system, an OvCDM system, an OvSDM system, or an OvHDM system.
The following further describes the present invention by using several embodiments.
This embodiment is described by using an OvFDM system as an example.
Because the overlapped multiplexing modulation and coding method are used in the OvFDM system, system symbols are associated with each other in the OvFDM system. However, this is not fully utilized in a conventional decoding method.
The present invention improves the OvFDM system in the prior art by the following: a method for calculating an accumulated branch measurement of the node in the system decoding process is improved, and the transient branch measurement is replaced by the average branch measurement. Therefore, the accumulated branch measurement of the current node not only includes branch measurement information before the current node, but also includes branch measurement information after the current node; so that the accumulated branch measurement of the current node has higher reference value, and the selected decoding path is more accurate and reliable.
In addition, Viterbi decoding is usually used as a decoding rule of a conventional OvFDM system. In the OvFDM system, each node in a Trellis diagram needs to be extended in the decoding process. Therefore, a quantity of nodes determines a decoding complexity. For a system in which a quantity of times of overlapping is K and whose modulation dimensionality is M (M is an integer and is greater than or equal to 2), a quantity of nodes that are in the stable state in a Trellis diagram corresponding to the OvFDM system is MK-1, and therefore the decoding complexity is exponentially increased with the quantity K of times of overlapping. However, in the OvFDM system, spectral efficiency of the OvFDM system is 2K/symbols, and therefore the spectral efficiency is higher if the quantity K of times of overlapping is greater. Therefore, on one hand, because of a requirement for increasing the spectral efficiency, it is better if the quantity K of times of overlapping is greater; on the other hand, because of a requirement for reducing the decoding complexity, it is better if the quantity K of times of overlapping is smaller. Particularly, when the quantity K of times of overlapping is increased to a specific value, for example K is greater than 8, the decoding complexity increases rapidly. An existing decoding method cannot meet a real-time decoding requirement, and a requirement for the spectral efficiency and a requirement for the decoding complexity and the decoding efficiency are contradictory to each other. To solve this problem, when the accumulated branch measurement is calculated in this embodiment, the branch length L is configured to be equal to the quantity K of times of overlapped multiplexing, and an effect that is the same as the complex Viterbi algorithm can be achieved. In addition, according to a decoding rule used in the present invention, it is started from the node at the initial moment, the node is selected with a smallest accumulated branch measurement each time to perform extension, compared to the Viterbi algorithm, there is no need to traverse all state nodes and extended paths thereof. Therefore, the decoding complexity can be significantly reduced, and the decoding efficiency can be increased. Different from the conventional decoding solution, in the present invention, the decoding complexity does not rapidly increase as the quantity K of times of overlapped multiplexing increases, and a contradiction between the requirement for the spectral efficiency and the requirement for the decoding complexity and the decoding efficiency is solved.
The following provides detailed description.
It is assumed that a symbolic data stream received by the receiving end of the OvXDM system is y0, y1, . . . , yL-1, yL, . . . yN; and the symbolic data sent by the transmitting end of the OvXDM system is u0, u1, . . . uL-1, uL, . . . , uN; where L is the segmented path length, namely, the extended branch length, N is a frame data length, the quantity of times of overlapped multiplexing is K, and L is smaller than or equal to K. When L is equal to K, an optimal algorithm is achieved, and performance of the OvXDM system is fully consistent with that of the Viterbi algorithm. Binary input data {+1, −1} is used as an example, that is, M=2. During node transition in the Trellis diagram corresponding to the OvXDM system, two nodes are extended backwards from each node. An extended upper node indicates an arrival node when data +1 is newly entered, and an extended lower node indicates an arrival node when data −1 is newly entered. The nodes are respectively referred to as an original node, for example a first node, a second node, etc., based on locations of the nodes in the Trellis diagram. A connection line between adjacent nodes is a branch, and a complete broken line obtained by connecting branches is a final decoding path.
(1) Calculating the measurement of each extended branch whose length is L.
A formula is
L is a segmented path length, and L≤K. When K is very large, it is better if L is larger under the premise of tolerating the calculation complexity. System symbols are associated with each other in the OvFDM system. Therefore, by using the decoding method to which a segmented path measurement is applied in the present invention, reference between the measurements is enhanced, and a selected decoding path is more reliable.
A segmented data stream starting from a node i in the Trellis diagram and having a length of L is ui, ui+1, . . . , ui+L, where i indicates an index of a frame symbol sequence. There are two arrival nodes from ui to ui+1: an upper node ui=+1 and a lower node ui=−1. There are a total of 2L-1 ideal sequence arrangements from ui+1 to ui+L, that is, there are a total of 2L-1 ideal sequence arranged for an upper-node segmented data stream, ui, ui+1, . . . , ui+L, of ui=+1, and there are also a total of 2L-1 ideal sequence arranged for a lower-node segmented data stream, ui, ui+1, . . . , ui+L, of ui=−1.
Segmented path measurements Di
(2) Calculating an average branch measurement.
An average branch measurement formula is
The 2L-1 branches obtained in (1) are compared, to obtain a path corresponding to a smallest measurement; the length of each branch is L. Index j of the smallest measurement corresponding to the upper node is min+, index j of the smallest measurement corresponding to the lower node is min−. Then an averaging operation is performed for the path, to obtain an average branch measurement. The average branch measurement of the upper node is
(3) Calculating an accumulated branch measurement.
An accumulated branch measurement formula is
α indicates a weighting factor, and α is greater than or equal to 0.9 and is smaller than or equal to 1. α is determined by a flat fading width of the OvXDM system. As a decoding depth increases, the measurement of a node that is more far away from the current node has smaller impact on the measurement of the current node.
i
e indicates an accumulated branch measurement of the current node.
i
r indicates an average branch measurement of the current node.
i−1
e indicates an accumulated branch measurement of a previous node of the current node.
The average branch measurements of the upper node and the lower node of ui are obtained in (2). An accumulated branch measurement of ui−1 is multiplied by a corresponding weighting factor, to obtain a new accumulated branch measurement. The new accumulated branch measurement is respectively added to the average branch measurements of the upper node and the lower node, to obtain the accumulated branch measurement of ui=+1 and the accumulated branch measurement of ui=−1.
When i=0, the node is the original point, namely, the node at an initial moment. In this case, there is only an average branch measurement, and there is no accumulative measurement of a previous node. During calculation, mathematically, the accumulated branch measurement of the original point is equal to the average branch measurement of the original point.
(4) Decoding Rule
The accumulated branch measurements of the upper node and the lower node of ui are obtained in (3). The measurements are compared, and a node with a smaller measurement is selected and extended. Likewise, a segmented data stream whose length is L is selected from the current node, and node measurement selection and extension are performed on the node according to the manner in (1) to (3). One arrival node is added after each extension.
In one embodiment, after a specific node is extended, only first rn arrival nodes and accumulated branch measurements thereof may be kept or stored. rn is determined by a tolerable performance loss of the OvXDM system. Paths having relatively large average branch measurements, and the measurements thereof are all discarded or deleted.
In one embodiment, when a signal-to-noise ratio is very large, extension may be directly performed forwards from a segmented path provided that a measurement of the segmented path is far smaller than that of other segmented paths, so that decoding complexity is further and significantly reduced.
(5) Decision Output
Remaining data frame symbols are selected and extended according to the manner in (1) to (4), until the data frame ends. Decision output is performed on a path of an arrival node with a smallest average branch measurement, and this path is a final decoding result.
In the aforementioned process, a two-dimension OvFDM system is used as an example, and a rectangular multiplexing window H={1 1 1 1 1} is used in the OvXDM system. It should be noted that the decoding method to which a segmented path measurement is applied in the present invention may also be applied to the OvFDM system in which various multiplexing window functions are used for modulating. Assuming that the quantity K of times of overlapping is 5, there are 2K-1=16 nodes after the Trellis diagram corresponding to the OvXDM system is fully unfolded. In this case, the segmented path length L is 3, and rn is 4. A transmitted code sequence is xi={+1, −1, −1, +1, −1, +1 +1, −1, +1, −1}. After waveform multiplexing is performed in the OvFDM system, an obtained receiving sequence is yi={+1, 0, −1, 0, −1, −1, +1, +1, +1, +1}. The received sequence yi is decoded according to the decoding method to which a segmented path measurement is applied in this embodiment; a decoding path thereof is referred to
This embodiment is described by using an OvCDM system as an example.
Because the overlapped multiplexing modulation and the coding method are used in the OvCDM system, system symbols are associated with each other in the OvCDM system. However, this is not fully utilized in a conventional decoding method.
The present invention improves the OvCDM system in the prior art by the following: a method for calculating an accumulated branch measurement of a node in a system decoding process is improved, and an average branch measurement is used to replace a transient branch measurement. Therefore, the accumulated branch measurement of the current node not only includes branch measurement information before the current node, but also includes branch measurement information after the current node; so that the accumulated branch measurement of the current node has higher reference value, and the selected decoding path is more accurate and reliable.
In addition, Viterbi decoding is usually used as a decoding rule of a conventional OvCDM system. In the OvCDM system, each node in a Trellis diagram needs to be extended in the decoding process. Therefore, a quantity of nodes determines a decoding complexity. For a system in which a quantity of times of overlapping is K and whose modulation dimensionality is M (M is an integer and is greater than or equal to 2), a quantity of nodes that are in the stable state in a Trellis diagram corresponding to the OvXDM system is MK-1, and therefore the decoding complexity is exponentially increased with the quantity K of times of overlapping. However, in the OvCDM system, spectral efficiency of the OvXDM system is 2K/symbols, and therefore the spectral efficiency is higher if the quantity K of times of overlapping is greater. Therefore, on one hand, because of a requirement for increasing the spectral efficiency, it is better if the quantity K of times of overlapping is greater; on the other hand, because of a requirement for reducing the decoding complexity, it is better if the quantity K of times of overlapping is smaller. Particularly, when the quantity K of times of overlapping is increased to a specific value, for example K is greater than 8, the decoding complexity increases rapidly. An existing decoding method cannot meet a real-time decoding requirement, and a requirement for the spectral efficiency and a requirement for the decoding complexity and the decoding efficiency are contradictory to each other. To solve this problem, when the accumulated branch measurement is calculated in this embodiment, the branch length L is configured to be equal to the quantity K of times of overlapped multiplexing, and an effect that is the same as the complex Viterbi algorithm can be achieved. In addition, according to a decoding rule used in the present invention, it is started from the node at the initial moment, the node is selected with a smallest accumulated branch measurement each time to perform extension, compared to the Viterbi algorithm, there is no need to traverse all state nodes and extended paths thereof. Therefore, the decoding complexity can be significantly reduced, and the decoding efficiency can be increased. Different from the conventional decoding solution, in the present invention, the decoding complexity does not rapidly increase as the quantity K of times of overlapped multiplexing increases, and a contradiction between the requirement for the spectral efficiency and the requirement for the decoding complexity and the decoding efficiency is solved.
The following provides detailed description.
It is assumed that a symbolic data stream received by the receiving end of the OvXDM system is y0, y1, . . . , yL-1, yL, . . . , yN; and the symbolic data sent by the transmitting end of the OvXDM system is u0, u1, . . . , uL-1, uL, . . . , uN; where L is the segmented path length, namely, the extended branch length, N is a frame data length, the quantity of times of overlapped multiplexing is K, and L is smaller than or equal to K. When L is equal to K, an optimal algorithm is achieved, and performance of the OvXDM system is fully consistent with that of the Viterbi algorithm. Binary input data {+1, −1} is used as an example, that is, M=2. During node transition in the Trellis diagram corresponding to the OvXDM system, two nodes are extended backwards from each node. An extended upper node indicates an arrival node when data +1 is newly entered, and an extended lower node indicates an arrival node when data −1 is newly entered. The nodes are respectively referred to as an original node, for example a first node, a second node, etc., based on locations of the nodes in the Trellis diagram. A connection line between adjacent nodes is a branch, and a complete broken line obtained by connecting branches is a final decoding path.
A formula is
L is a segmented path length, and L≤K. When K is very large, it is better if L is larger under the premise of tolerating the calculation complexity. System symbols are associated with each other in the OvCDM system. Therefore, by using the decoding method to which a segmented path measurement is applied in the present invention, reference between the measurements is enhanced, and a selected decoding path is more reliable.
A segmented data stream starting from a node i in the Trellis diagram and having a length of L is ui, ui+1, . . . , ui+L, where i indicates an index of a frame symbol sequence. There are two arrival nodes from ui to ui+1: an upper node ui=+1 and a lower node ui=−1. There are a total of 2L-1 ideal sequence arrangements from ui+1 to ui+L, that is, there are a total of 2L-1 ideal sequence arranged for an upper-node segmented data stream, ui, ui+1, . . . , ui+L, of ui=+1, and there are also a total of 2L-1 ideal sequence arranged for a lower-node segmented data stream, ui, ui+1, . . . , ui+L, of ui=−1.
Segmented path measurements Di
(2) Calculating an average branch measurement.
An average branch measurement formula is
The 2L-1 branches obtained in (1) are compared, to obtain a path corresponding to a smallest measurement; the length of each branch is L. Index j of the smallest measurement corresponding to the upper node is min+, index j of the smallest measurement corresponding to the lower node is min−. Then an averaging operation is performed for the path, to obtain an average branch measurement. The average branch measurement of the upper node is
(3) Calculating an accumulated branch measurement.
An accumulated branch measurement formula is
α indicates a weighting factor, and α is greater than or equal to 0.9 and is smaller than or equal to 1. α is determined by a flat fading width of the OvXDM system. As a decoding depth increases, the measurement of a node that is more far away from the current node has smaller impact on the measurement of the current node.
i
e indicates an accumulated branch measurement of the current node.
i
r indicates an average branch measurement of the current node.
i−1
e indicates an accumulated branch measurement of a previous node of the current node.
The average branch measurements of the upper node and the lower node of ui are obtained in (2). An accumulated branch measurement of ui−1 is multiplied by a corresponding weighting factor, to obtain a new accumulated branch measurement. The new accumulated branch measurement is respectively added to the average branch measurements of the upper node and the lower node, to obtain the accumulated branch measurement of ui=+1 and the accumulated branch measurement of ui=−1.
When i=0, the node is the original point, namely, the node at an initial moment. In this case, there is only an average branch measurement, and there is no accumulative measurement of a previous node. During calculation, mathematically, the accumulated branch measurement of the original point is equal to the average branch measurement of the original point.
(4) Decoding Rule
The accumulated branch measurements of the upper node and the lower node of ui are obtained in (3). The measurements are compared, and a node with a smaller measurement is selected and extended. Likewise, a segmented data stream whose length is L is selected from the current node, and node measurement selection and extension are performed on the node according to the manner in (1) to (3). One arrival node is added after each extension.
In one embodiment, after a specific node is extended, only first rn arrival nodes and accumulated branch measurements thereof may be kept or stored. rn is determined by a tolerable performance loss of the OvXDM system. Paths having relatively large average branch measurements, and the measurements thereof are all discarded or deleted.
In one embodiment, when a signal-to-noise ratio is very large, extension may be directly performed forwards from a segmented path provided that a measurement of the segmented path is far smaller than that of other segmented paths, so that decoding complexity is further and significantly reduced.
(5) Decision Output
Remaining data frame symbols are selected and extended according to the manner in (1) to (4), until the data frame ends. Decision output is performed on a path of an arrival node with a smallest average branch measurement, and this path is a final decoding result.
In the aforementioned process, a two-dimension OvCDM system is used as an example, and a rectangular multiplexing window H={1 1 1 1 1} is used in the OvXDM system. It should be noted that the decoding method to which a segmented path measurement is applied in the present invention may also be applied to the OvCDM system in which various multiplexing window functions are used for modulating. Assuming that the quantity K of times of overlapping is 5, there are 2K-1=16 nodes after the Trellis diagram corresponding to the OvXDM system is fully unfolded. In this case, the segmented path length L is 3, and rn is 4. A transmitted code sequence is xi={+1, −1, −1, +1, −1, +1 +1, −1, +1, −1}. After waveform multiplexing is performed in the OvFDM system, an obtained receiving sequence is yi={+1, 0, −1, 0, −1, −1, +1, +1, +1, +1}. The received sequence yi is decoded according to the decoding method to which a segmented path measurement is applied in this embodiment; a decoding path thereof is referred to
This embodiment is described by using an OvCDM system as an example.
The key of overlapped code division multiplexing of the OvCDM system is overlapping and multiplexing, with an objective to improve spectral efficiency of a communication system. In the OvCDM system, a convolutional coding coefficient is applied to a generalized convolutional coding model in a complex field; a constraint relationship is generated through symbol overlapping, main parameters include a quantity K′ of coding branches and a coding constraint length L′. A structural diagram of the OvCDM system is shown in
Firstly, a coding process of a conventional OvCDM system is provided.
(1) converting the data to be sent into K′ sub data streams through serial-to-parallel conversion. An ith data stream is marked as ui=ui,0ui,1ui,2 . . . , for example, when K′=2, u0=u0,0u0,1u0,2 . . . , and u1=u1,0u1,1u1,2 . . . ;
(2) sending each data stream to a shift register to perform weighted superimposition. A weighting coefficient of the ith data stream is bi=bi,0bi,1bi,2 . . . , which is a complex vector.
(3) performing an adder operation on the signals for outputting. The final output of the OvCDM encoder is c=c0c1c2 . . . , where
A code rate of OvCDM is
where n is a length of a sub data stream. When n is very large, a code rate loss caused by tailing of a shift register can be ignored, and therefore rOVCDM≈k.
Conventionally, a code rate of the binary convolutional coding model is usually smaller than 1, resulting in a loss of spectral efficiency. However, in the OvCDM system, a code rate of convolutional coding in the complex domain is equal to 1. Single-path convolutional coding extension does not result in a loss of spectral efficiency, but increases an additional coding gain.
After receiving a signal, the receiving end firstly performs synchronization, channel estimation, and digital processing on the signal, and then performs fast decoding on the processed data. A key of a decoding algorithm is to calculate the measurements of the received signal and an ideal state, decide a best decoding path by using a path memory and based on the measurement, and obtain a final detection sequence. A block diagram of a sequence detection process is shown in
Because the modulation and coding method used in the OvCDM system, system symbols in the OvCDM system are associated with each other. However, this is not fully utilized in a conventional decoding method. The present invention improves the OvCDM system in the prior art by the following: a method for calculating an accumulated branch measurement of the node in the system decoding process is improved, and an average branch measurement is used to replace a transient branch measurement. Therefore, the accumulated branch measurement of the current node not only includes branch measurement information before the current node, but also includes branch measurement information after the current node; so that the accumulated branch measurement of the current node has higher reference value, and the selected decoding path is more accurate and reliable.
In addition, Viterbi decoding is usually used according to a decoding rule of a conventional OvCDM system. In the OvCDM system, a quantity of coding branches is K′, modulation dimensionality of the OvCDM system is M, a quantity of nodes that are in the stable state in a Trellis diagram corresponding to the OvCDM system is MK′-1, and therefore decoding complexity increases exponentially with the quantity K′ of coding branches. In the OvCDM system, the quantity K′ of coding branches needs to be as large as possible, to improve the spectral efficiency. However, the decoding complexity also rapidly increases as K′ increases. Therefore, a requirement for the spectral efficiency and a requirement for the decoding complexity and decoding efficiency are contradictory to each other. To solve this problem, when the accumulated branch measurement is calculated in this embodiment, the branch length L is configured to be equal to the quantity K′ of coding branches, and an effect like that of a complex Viterbi algorithm can be achieved.
In addition, according to a decoding rule used in the present invention, only a node with a smallest accumulated branch measurement needs to be selected, starting from the node at an initial moment, the node is selected with a smallest accumulated branch measurement each time to perform extension, there is no need to traverse all state nodes and extended paths thereof like that in the Viterbi algorithm. Therefore, the decoding complexity can be significantly reduced, and the decoding efficiency can be improved. Different from the conventional decoding solution, in the present invention, the decoding complexity does not rapidly increase as the quantity K′ of coding branches increases, therefore a contradiction between the requirement for the spectral efficiency and the requirement for the decoding complexity and decoding efficiency is solved.
The following provides detailed description.
(1) calculating a measurement of each extended branch whose length is L.
A formula is
L is a segmented path length, and L≤L′. When L′ is very large, it is better if L is larger on the premise that calculation complexity is tolerable. Symbols in the OvCDM system are associated with each other. Therefore, by using the decoding method to which a segmented path measurement is applied in the present invention, a reference between the measurements is enhanced, and a selected decoding path is more reliable.
A segmented data stream starting from a node i in the Trellis diagram and having a length of L is ui, ui+1, . . . , ui+L, where i indicates an index of a frame symbol sequence. Measurements of a received symbolic data stream yi, yi+1, . . . , yi+L and the segmented data stream are calculated, to obtain segmented path measurements of branches.
(2) calculating an average branch measurement.
An average branch measurement formula is
The segmented path measurements of the branches obtained in (1) are compared, to obtain the path corresponding to a smallest measurement. Then an averaging operation is performed on the path, to obtain an average branch measurement.
(3) calculating an accumulated branch measurement.
An accumulated branch measurement formula is
α indicates a weighting factor, and α is greater than or equal to 0.9 and is smaller than or equal to 1. α is determined by a flat fading width of the OvCDM system. As a decoding depth increases, a measurement of a node farther away from a current node has smaller impact.
i
e indicates an accumulated branch measurement of the current node.
i
r indicates an average branch measurement of the current node.
i−1
e indicates an accumulated branch measurement of a previous node of the current node.
Average branch measurements of arrival nodes are obtained in (2). An accumulated branch measurement of ui−1 is multiplied by a corresponding weighting factor, and is respectively added to the average branch measurements of the arrival nodes, to obtain accumulated branch measurements of the arrival nodes at a current moment.
When i=0, the node is the original point, namely, a node at an initial moment. In this case, there is only an average branch measurement, and there is no accumulative measurement of a previous node. During calculation, mathematically, the average branch measurement of the original point may be directly made to be the accumulated branch measurement of the original point.
(4) Decoding Rule
The accumulated branch measurements of the arrival nodes of ui at the current moment are obtained in (3). The measurements are compared, and a node with a smaller measurement is selected and extended. Likewise, a segmented data stream whose length is L is selected from the current node, and node measurement selection and extension are performed on the node according to the manner in (1) to (3). One arrival node is added after each extension.
In an embodiment, after a specific node is extended, only first rn arrival nodes and accumulated branch measurements thereof may be kept. rn is determined by a tolerable performance loss of the OvXDM system. Paths having relatively large average branch measurements, and measurements thereof are all discarded.
In an embodiment, when a signal-to-noise ratio is very large, extension may be directly performed forwards from a segmented path provided that the measurement of the segmented path is far smaller than that of other segmented paths, so that decoding complexity is further and significantly reduced.
(5) Decision Output
Remaining data frame symbols are selected and extended according to the manner in (1) to (4), until the data frame ends. Decision output is performed on a path of an arrival node with a smallest average branch measurement, and this path is a final decoding result.
In the aforementioned process, the OvCDM system in which an input data stream is u={+1, −1, −1, −1, −1, +1, −1, +1, +1, −1, +1, −1, −1, −1, −1, +1}, K′=2, L′=2, L=2, rn=4, and a coding matrix is
is used as an example. A Trellis diagram of the OvCDM system corresponding to these design parameters is shown in
(1) Coding
Firstly, for K′=2, the input data stream u is converted into two data streams, which are correspondingly as follows:
A convolution coefficient of each data stream is expressed as b0=[1 j],b=[j 1]. Referring to the coding structure in
(2) Decoding
After signal synchronization, channel estimation, and digital processing are performed, the receiving end obtains a signal sequence. For ease of description, it is assumed that an ideal state is achieved. In this case, the received signal sequence is c={1−j,−2,−2,0,2−2j,0,−2,−2}. The received signal is decoded according to the decoding method to which a segmented path measurement is applied. A decoding path is shown in
According to the decoding method and device applied to an OvXDM system, and the OvXDM system that are disclosed in the present invention, an access node in a Trellis diagram corresponding to the OvXDM system is selected in a decoding process. A superior path is selected by improving a method for calculating the accumulated branch measurement and with reference to a weighting factor. In addition, a node with a smallest accumulated branch measurement is extended, and a best decoding path is selected. When the present invention is applied to a decoding process of an OvXDM system in which a quantity of times of overlapped multiplexing or a quantity of coding branches is relatively large, design complexity and a calculation amount of the OvXDM system are reduced, so that the OvXDM system has a relatively low bit error rate, and performance thereof is improved.
The aforementioned content is a further detailed description of the present invention with reference to specific embodiments, and it should not be considered that specific implementation of the present invention is limited only to the description. A person of ordinary skill in the technical field to which the present invention belongs may further make simple derivations or replacements without departing from the inventive concept of the present invention.
Number | Date | Country | Kind |
---|---|---|---|
201610585883.6 | Jul 2016 | CN | national |
This application is a continuation of International Application No. PCT/CN2017/091961, filed Jul. 6, 2017, which claims priority to Chinese Patent Application No. 201610585883.6, filed Jul. 22, 2016, each of which is incorporated by reference herein in its entirety.
Number | Date | Country | |
---|---|---|---|
Parent | PCT/CN2017/091961 | Jul 2017 | US |
Child | 16254557 | US |