WO2020179966A1 - 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치 - Google Patents

연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치 Download PDF

Info

Publication number
WO2020179966A1
WO2020179966A1 PCT/KR2019/004753 KR2019004753W WO2020179966A1 WO 2020179966 A1 WO2020179966 A1 WO 2020179966A1 KR 2019004753 W KR2019004753 W KR 2019004753W WO 2020179966 A1 WO2020179966 A1 WO 2020179966A1
Authority
WO
WIPO (PCT)
Prior art keywords
error correction
substituted
candidate word
signal
correction candidate
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/KR2019/004753
Other languages
English (en)
French (fr)
Inventor
최창열
정제창
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Industry University Cooperation Foundation IUCF HYU
Original Assignee
Industry University Cooperation Foundation IUCF HYU
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Industry University Cooperation Foundation IUCF HYU filed Critical Industry University Cooperation Foundation IUCF HYU
Priority to US16/651,005 priority Critical patent/US11152955B2/en
Publication of WO2020179966A1 publication Critical patent/WO2020179966A1/ko
Anticipated expiration legal-status Critical
Priority to US17/479,612 priority patent/US11616515B2/en
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/43Majority logic or threshold decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1111Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/45Soft decoding, i.e. using symbol reliability information
    • H03M13/451Soft decoding, i.e. using symbol reliability information using a set of candidate code words, e.g. ordered statistics decoding [OSD]
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/11Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits using multiple parity bits
    • H03M13/1102Codes on graphs and decoding on graphs, e.g. low-density parity check [LDPC] codes
    • H03M13/1105Decoding
    • H03M13/1108Hard decision decoding, e.g. bit flipping, modified or weighted bit flipping
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/61Aspects and characteristics of methods and arrangements for error correction or error detection, not provided for otherwise
    • H03M13/611Specific encoding aspects, e.g. encoding by means of decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/05Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using block codes, i.e. a predetermined number of check bits joined to a predetermined number of information bits
    • H03M13/13Linear codes
    • H03M13/15Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes
    • H03M13/151Cyclic codes, i.e. cyclic shifts of codewords produce other codewords, e.g. codes defined by a generator polynomial, Bose-Chaudhuri-Hocquenghem [BCH] codes using error location or error correction polynomials
    • H03M13/1575Direct decoding, e.g. by a direct determination of the error locator polynomial from syndromes and subsequent analysis or by matrix operations involving syndromes, e.g. for codes with a small minimum Hamming distance

Definitions

  • the present invention relates to a method and apparatus for high-speed decoding of a linear code based on a soft decision, and more particularly, to a technique for high-speed encoding by omitting some operation processes in a method of decoding a linear code based on soft decision.
  • a decision means a threshold decision based on quantization in a demodulator immediately before the decoder.
  • the judgment methods include Hard Decision and Soft Decision.
  • Hard decision means that the waveform output by the demodulator is demodulated into a binary signal (for example, 0 or 1) and then decoded.
  • soft decision means that the output of the demodulator is demodulated into two or more quantized signals and then decoded instead of making a solid integer decision like a hard decision.
  • Hard decision may cause irreversible information loss in the receiver, but less data processing is required and implementation is simple.
  • soft decision is often used because it requires more data processing and is complicated to implement, but has excellent decoding performance compared to hard plate information.
  • the process of decoding the soft-determined signal into the original signal is performed through a combination of information such as conditional probability or likelihood of the soft-determined signal.
  • an ordered statistics decoder (OSD)
  • OSD ordered statistics decoder
  • ML maximum likelihood
  • An object of the present invention for solving the above problems is to provide a method for high-speed decoding of a linear code based on a soft decision.
  • Another object of the present invention for solving the above problems is to provide an apparatus for high-speed decoding of a linear code based on a soft decision.
  • the present invention for achieving the above object provides a method for high-speed decoding of a linear code based on a soft decision.
  • the method for high-speed decoding of a linear code based on the soft decision includes: obtaining an alignment signal by arranging received signals in order of magnitude, obtaining a hard decision signal by hard decision on the alignment signal, the Acquiring an upper signal corresponding to the most reliable bases (MRB) from the hard decision signal, obtaining a permuted and corrected codeword candidate using the higher signal and an error vector according to the current order , Calculating the cost for the current order using a cost function, the substituted error correction candidate word as a permuted and corrected codeword according to the result of comparing the calculated cost with the minimum cost. It may include the step of determining and determining a predefined high-speed condition.
  • the obtaining of the error correction candidate word may include multiplying the upper signal and the error vector according to the current order by a substituted generation matrix to obtain a substituted error correction candidate word.
  • the cost function may be defined as an operation of adding all the sizes of components corresponding to positions in which the substituted error correction candidate word and the hard decision signal have different values in the alignment signal.
  • the error vector may have the same length as the MRB, and may be defined as a vector whose hamming weight is the current order.
  • the determining of the predefined speed-up condition may include calculating a speed-up threshold value by adding smaller components among components of the alignment signal corresponding to the MRB, and comparing the calculated speed-up threshold value with the minimum cost. It may include.
  • the step of obtaining the substituted error correction candidate word for the next order of the current order may be performed only when the comparison result is less than the minimum cost.
  • the step of calculating the speedup threshold may include calculating the speedup threshold by adding a function having a signal to noise ratio (SNR) and an order and an error correction code as factors to the sum of the components having the small size. have.
  • SNR signal to noise ratio
  • the determining of the predefined high speed condition may include comparing a Hamming distance between the hard decision signal and the substituted error correction candidate word with a preset first threshold.
  • the step of comparing the Hamming distance with a preset first threshold value After the step of comparing the Hamming distance with a preset first threshold value, if the comparison result is that the Hamming distance is greater than the preset first threshold value, the operation on the error vector is omitted, and an error vector according to the current order By changing, the step of obtaining the substituted error correction candidate word may be performed.
  • the step of omitting the step of calculating the cost and immediately determining the substituted error correction candidate word as the substituted error correction coder may be further included.
  • Another aspect of the present invention for achieving the above object is to provide an apparatus for high-speed decoding of a linear code based on a soft decision.
  • An apparatus for high-speed decoding of a linear code based on a soft decision includes at least one processor and a memory storing instructions instructing the at least one processor to perform at least one step. can do.
  • the at least one step comprises: obtaining an alignment signal by arranging the received signals in order of magnitude, obtaining a hard decision signal by hard decision on the alignment signal, and obtaining a hard decision signal from the hard decision signal. reliable bases), obtaining a permuted and corrected codeword candidate using the higher signal and an error vector according to the current order, using a cost function Calculating the cost for the current order, determining the substituted error correction candidate word as a permuted and corrected codeword according to the result of comparing the calculated cost with the minimum cost, and a predefined It may include the step of determining the speeding condition.
  • the obtaining of the error correction candidate word may include multiplying the upper signal and the error vector according to the current order by a substituted generation matrix to obtain a substituted error correction candidate word.
  • the cost function may be defined as an operation of adding all the sizes of components corresponding to positions in which the substituted error correction candidate word and the hard decision signal have different values in the alignment signal.
  • the error vector may have the same length as the MRB, and may be defined as a vector whose hamming weight is the current order.
  • the determining of the predefined speed-up condition may include calculating a speed-up threshold value by adding smaller components among components of the alignment signal corresponding to the MRB, and comparing the calculated speed-up threshold value with the minimum cost. It may include.
  • the step of obtaining the substituted error correction candidate word for the next order of the current order may be performed only when the comparison result is less than the minimum cost.
  • the step of calculating the speedup threshold may include calculating the speedup threshold by adding a function having a signal to noise ratio (SNR) and an order and an error correction code as factors to the sum of the components having the small size. have.
  • SNR signal to noise ratio
  • the determining of the predefined high speed condition may include comparing a Hamming distance between the hard decision signal and the substituted error correction candidate word with a preset first threshold.
  • the step of comparing the Hamming distance with a preset first threshold value After the step of comparing the Hamming distance with a preset first threshold value, if the comparison result is that the Hamming distance is greater than the preset first threshold value, the operation on the error vector is omitted, and an error vector according to the current order By changing, the step of obtaining the substituted error correction candidate word may be performed.
  • the step of omitting the step of calculating the cost and immediately determining the substituted error correction candidate word as the substituted error correction coder may be further included.
  • FIG. 1 is an exemplary diagram for explaining the concept of linear encoding according to an embodiment of the present invention.
  • FIG. 2 is a flowchart illustrating a method of decoding an ordered statistics decoder (OSD) according to an embodiment of the present invention.
  • OSD ordered statistics decoder
  • PNC probabilistic necessary conditions
  • PSC probabilistic sufficient conditions
  • FIG. 5 is a flowchart illustrating a method for high-speed decoding of a linear code based on soft decision according to an embodiment of the present invention.
  • 6A to 6J are graphs analyzing decoding performance and speed of the proposed methods according to an embodiment of the present invention for each order.
  • 7A to 7D are graphs analyzing decoding performance and speed according to Method 2 among proposed methods according to an embodiment of the present invention.
  • 8A to 8H are graphs comparing decoding performance and speed of proposed methods according to an embodiment of the present invention under different experimental conditions.
  • 9A to 9D are graphs analyzing decoding performance and speed according to Method 2 in different experimental conditions among proposed methods according to an embodiment of the present invention.
  • FIG. 10 is a hardware configuration diagram of an apparatus for high-speed decoding of a linear code based on a soft decision according to an embodiment of the present invention.
  • first, second, A, and B may be used to describe various elements, but the elements should not be limited by the terms. These terms are used only for the purpose of distinguishing one component from another component. For example, without departing from the scope of the present invention, a first element may be referred to as a second element, and similarly, a second element may be referred to as a first element.
  • the term and/or includes a combination of a plurality of related listed items or any of a plurality of related listed items.
  • FIG. 1 is an exemplary diagram for explaining the concept of linear encoding according to an embodiment of the present invention.
  • Block coding may refer to a coding method in which data is grouped in a predetermined block unit and encoding and decoding are performed for each block.
  • Linear coding may mean a code in which a set of codewords forms a linear vector space (or satisfies a linear condition).
  • a general linear encoding process may be expressed using a generation matrix (G). If the message m to be transmitted is expressed as a vector of 1 ⁇ k, the codeword x expressed as a vector of 1 ⁇ n can be derived by multiplying the message m by a generation matrix having a size of k ⁇ n.
  • k may mean a dimension (or rank of a generation matrix), and n may mean a length of a codeword.
  • the generation matrix for generating codewords can be determined according to the codewords used, and in general, the larger the minimum distance between codewords is, the higher the error correction capability is, which is advantageous.
  • the minimum distance may mean the smallest distance among Hamming distances between codewords.
  • the Hamming distance may mean the number of different symbols between two codewords.
  • the codeword linearly encoded through the above process is transmitted from the transmitting side of the wired/wireless communication system to the receiving side, and the receiving side recovers the original waveform through a demodulator, and uses a decoder to correct errors mixed in the recovered waveform. It can detect and recover valid codewords (or data symbols).
  • the transmission channel is AWGN (Additive white Gaussian noise) and the modulation method is described on the premise that BPSK (Binary Phase Shift Keying) is used, but the channel or modulation method is interpreted as being limited. Can't.
  • AWGN Additional white Gaussian noise
  • BPSK Binary Phase Shift Keying
  • FIG. 2 is a flowchart illustrating a method of decoding an ordered statistics decoder (OSD) according to an embodiment of the present invention.
  • OSD ordered statistics decoder
  • the sorting order may be sorted in descending order, but is not necessarily limited thereto, and it is not necessarily sorted according to the size order.
  • a hard decision signal may be obtained by hard-determining the alignment signal y (S110).
  • a hard decision signal Y (Y 0 , Y 1 , ..., Y n -1 ) may be obtained by hard decision on the alignment signal y (hereinafter, the hard decision signal may be referred to as Y. ).
  • an upper signal corresponding to Most Reliable Bases (MRB) may be obtained from the hard decision signal (S120, hereinafter, the upper signal may be referred to as ⁇ ).
  • MRB Most Reliable Bases
  • a substituted error correction candidate word may be obtained using an error vector according to an upper signal ⁇ and an order (hereinafter, referred to as o) (S130).
  • o an order
  • an error correction candidate Eo substituted for an arbitrary degree o is the following Equation 1 It can be defined as
  • the substituted error correction candidate word E o may be obtained by multiplying the upper signal ⁇ and the error vector k o according to the order by the substituted generation matrix G′.
  • the substituted error correction candidate word (E o ) is obtained by multiplying the sum of the upper signal ( ⁇ ) and the error vector (k o ) according to the order by the substituted generation matrix (G'), or It may be obtained as a sum of a value obtained by multiplying the signal ⁇ by the substituted generation matrix G′ and the value obtained by multiplying the error vector k o by the substituted generation matrix G′.
  • the substituted generation matrix is obtained by substituting the column of the generation matrix G described in FIG. Can be.
  • the substituted error correction candidate words have a substituted order according to the substitution order of the substituted generation matrix, and may be defined as a candidate of a corrected codeword.
  • the substituted generation matrix G' may have a form as shown in Equation 2 below.
  • I may be an identity matrix having a size of k ⁇ k
  • P may be a matrix having a size of k ⁇ (n-k).
  • the column of the generation matrix G according to FIG. 1 may be appropriately substituted to derive the form according to Equation 2, and at this time, the substituted generation matrix G'
  • the order of substitution for and the order of alignment signals may have to be the same.
  • the error vector is interpreted as a vector indicating a component predicted to have an error (or a vector indicating a component predicted to be different from the substituted error correction candidate word among the components corresponding to the MRB of the alignment signal).
  • the error vector may be defined as a vector having the same length as the MRB (length of k) and the Hamming weight (the number of non-zero components in the codeword) of the current order (o). For example, when the order is 0, the error vector k 0 has a Hamming weight of 0, and thus can be derived as in Equation 3 below.
  • the error vector according to the case where the degree is 0 may be a vector in which all k components are 0.
  • an error vector for a case of order 1 may be derived as shown in Equation 4 below.
  • the location of the component having a value of 1 may vary. That is, a total of k k 1 can be derived according to the selected location.
  • the error vector (k 2 ) for the case of order 2 is derived by selecting two positions among the MRBs, and having only the component values for the selected positions 1 (or non-zero values) and the remaining component values as 0. Can be.
  • the substituted error correction candidate words are candidates that have the potential to become permuted and corrected codewords, such as a generation matrix whose order is substituted, and can be evaluated through a cost function according to an error vector. For example, it is predicted that the error vector is a vector having 1 in the j-th component as shown in Equation 4 (that is, the error correction candidate word substituted in the j-th component among the components corresponding to the MRB of the alignment signal and the hard decision signal are different) If it is), the cost function can be defined as in Equation 5 below.
  • the cost function is the size of the j-th component in the alignment signal (y), and among the components corresponding to the remaining nk LRBs, the substituted error correction candidate word (E i ) and the hard decision signal ( It can be defined as the sum of the sizes of components corresponding to positions where Y i ) has different values.
  • the cost function for an error vector in which all components are 0 has no component indicated by the error vector, and thus can be defined as Equation 6 below.
  • the cost function for an error vector having a degree of 0 according to Equation 3 is that the substituted error correction candidate word and the hard decision signal among the components corresponding to nk LRBs have different values. It can be defined as the sum of the sizes of components corresponding to the location.
  • Equation 7 Equation 7 below.
  • the cost function may be defined as an operation of adding all the sizes of components corresponding to positions in which the substituted error correction candidate word and the hard decision signal have different values in the alignment signal.
  • the cost for the current order may be calculated using the cost function (S140).
  • the current order may be a variable that starts from 0 and increases by one each time step S130 is passed.
  • the substituted error correction candidate word may be determined as a permuted and corrected codeword according to a result of comparing the calculated cost with the minimum cost (S150).
  • the minimum cost may mean a minimum value among costs calculated from order 0 to the current order.
  • a substituted error correction candidate word may be determined as a substituted error correction codeword.
  • updating the calculated cost to the minimum cost may be included.
  • the cost calculated in step S140 may be determined as the minimum cost, and a substituted error correction candidate word may be determined as a substituted error correction codeword.
  • step S150 it is determined whether there is an error vector that can be changed in the current order (S160), and if there is an error vector that can be changed in the current order, the error vector is changed (S180), and the process according to step S130 may be performed again.
  • the change of the error vector may be performed by varying the position of a non-zero component (or a 1 component) in the error vector.
  • step S160 it is determined whether the current order has reached a preset maximum order (S170), and if the maximum order has been reached, the encoding process may be terminated. However, if the maximum order has not been reached, the current order may be increased by one (S190) and may be performed again from step S130.
  • the maximum order is a value that can be input by a user, and can generally be derived by Equation 8 below.
  • Equation 8 d may mean the minimum distance of the codeword, and k may mean the dimension.
  • PNC probabilistic necessary conditions
  • the OSD described in FIG. 2 has a problem that computational complexity is high and unnecessary computations are repeatedly performed because the cost function is continuously calculated up to a preset maximum order and a substituted error correction candidate word is derived.
  • the PNC (probabilistic necessary conditions) is a method of determining an error correction codeword only from the results of the investigation so far, if there is no possibility that a lower cost than the minimum cost exists even when the order is raised.
  • the PNC may first perform the determination according to step S165 instead of performing steps S160 according to FIG. 2 and determining whether the maximum order has been reached (S170 ). That is, in step S165, among the components of the alignment signal corresponding to the MRB, the sum of components having a small size (hereinafter, may be referred to as an acceleration threshold) may be compared with the minimum cost determined up to the current order (S165).
  • the small components may be selected and added by one more number than the current order, since the number corresponding to the cost function operation for the next order of the current order should be considered.
  • the speedup threshold S PNC for determining whether to perform an operation on the next order o+1 may be defined as in Equation 9 below.
  • the acceleration threshold (S) by adding o+1 components upside down from the k-1th component, which is the last component of the components corresponding to the MRB of the alignment signal. PNC ) can be determined.
  • step S165 if the sum of the components of the small size is greater than the minimum cost, there is no possibility or a very low possibility of becoming an error correction codeword because the subsequent orders must be greater than the minimum cost according to the current order. Accordingly, if the sum of components having a small size as a result of the comparison in step S165 is greater than the minimum cost, the process of repetitive calculation (S130 to S150) by increasing the order (S190) may be omitted, and decoding may be terminated.
  • PSC probabilistic sufficient conditions
  • PSC probabilistic sufficient conditions
  • the PSC may perform the process according to step S135 instead of step S140. That is, in step S135, the Hamming distance between the hard decision signal Y and the substituted error correction candidate word E o according to the current order o is compared with a preset first threshold (S135) and according to the comparison result An error correction candidate may be obtained (S130) by omitting the operations S140 to S150 for the current error vector and changing the error vector of the current order (S180).
  • the substituted error correction code is unlikely to become an actual error correction codeword. Operations on the current error vector can be omitted and other candidate words of the current order can be calculated.
  • FIG. 5 is a flowchart illustrating a method for high-speed decoding of a linear code based on soft decision according to an embodiment of the present invention.
  • a method of high-speed decoding of a linear code based on a soft decision includes the steps of obtaining an alignment signal by arranging the received signal in order of magnitude (S200), and performing a hard decision on the alignment signal.
  • Acquiring a decision signal (S210) obtaining an upper signal corresponding to the most reliable bases (MRB) from the hard decision signal (S220), an error substituted by using the higher signal and an error vector according to the current order
  • It may include determining the substituted error correction candidate word as a permuted and corrected codeword (S250) and determining a predefined speedup condition (S260).
  • the step of obtaining the error correction candidate word may include obtaining a substituted error correction candidate word by multiplying the upper signal and the error vector according to the current order by a substituted generation matrix.
  • the substituted error correction candidate word may be obtained according to Equation 1 above.
  • the cost function may be defined as an operation of adding all the sizes of components corresponding to positions in which the substituted error correction candidate word and the hard decision signal have different values in the alignment signal.
  • the cost function may refer to Equations 5 to 7.
  • the error vector may have the same length as the MRB, and may be defined as a vector whose hamming weight is the current order.
  • the error vector may refer to Equations 3 to 4.
  • the step of determining the predefined speedup condition (S260) includes calculating a speedup threshold value by adding smaller components among components of the alignment signal corresponding to the MRB, and calculating the speedup threshold value to the minimum cost and It may include the step of comparing.
  • a predefined acceleration condition S260
  • the description according to FIG. 3 may be referred to, and Equation 9 may be referred to for the acceleration threshold.
  • the step of obtaining the substituted error correction candidate word for the next order of the current order may be performed only when the comparison result is less than the minimum cost.
  • comparing a Hamming distance between the hard decision signal and the substituted error correction candidate word with a preset first threshold may refer to the description of FIG. 4.
  • the step of comparing the Hamming distance with a preset first threshold value After the step of comparing the Hamming distance with a preset first threshold value, if the comparison result is that the Hamming distance is greater than the preset first threshold value, the operation on the error vector is omitted, and an error vector according to the current order By changing, the step of obtaining the substituted error correction candidate word may be performed.
  • the step of obtaining the substituted error correction candidate word may be performed. In more detail, reference may be made to the description according to FIG. 4.
  • step S140 when it is determined to perform step S130 for the next order o+1 as a result of determining step S165 as a pre-defined fastening condition for the current order o by applying the PNC according to FIG. 3, step S140 at the order o+1
  • the cost calculated from may be expressed as Equation 10 below.
  • the front end is an operation that adds the magnitudes of o+1 components indicated by the error vector in the alignment signal y according to the MRB, and corresponds to the front end in Equations 5 to 7 I can.
  • the rear end of Equation 10 is a partial sum of reliability of symbols corresponding to LRB, and may correspond to the rear end of Equations 5 to 7.
  • Equation 10 the speedup threshold value defined in Equation 9 (a threshold value for determining whether to omit the operation for the next order o+1) can be changed as shown in Equation 11 below.
  • the newly defined high-speed threshold (S proposed ) is a signal to noise ratio (SNR) and an order and error correction code (code) as factors in the high-speed threshold (S PNC ) defined in Equation 9. It can be defined as the sum of the function f.
  • the calculating of the speeding threshold value includes calculating the speeding threshold value by adding a function having a signal to noise ratio (SNR) and an order and an error correction code as factors to the sum of the components having the small size.
  • SNR signal to noise ratio
  • a second preset threshold may be used by replacing or adding the step of comparing the Hamming distance with a preset first threshold value. Specifically, after the step of obtaining the substituted error correction candidate word (S230) (or after the step of comparing with the preset first threshold value), between the hard decision signal and the substituted error correction candidate word Comparing the Hamming distance with a preset second threshold value, and if the Hamming distance is less than the second threshold value, omitting the step of calculating the cost and immediately correcting the substituted error correction candidate word It may further include determining a code word.
  • 6A to 6J are graphs analyzing decoding performance and speed of the proposed methods according to an embodiment of the present invention for each order.
  • HDD means general hard decision-based decoding
  • PNC means a case in which step S165 according to FIG. 3 is applied
  • step S135 in FIG. 4 is additionally applied to the PNC.
  • proposed 1 applies a process of determining the speeding condition using a speeding threshold value newly defined according to Equation 11 above in the flow chart according to FIG. 5, and comparing the second threshold value and the Hamming distance to cost It may mean a method in which the calculation step is omitted.
  • proposed2 refers to a method in which the operation on the current error vector is omitted by applying step S135 according to FIG. 4 in addition to Method 1.
  • a BCH (Bose-Chaudhuri-Hocquenghem) code with a code length (n) of 127, a dimension (k) of 64, and a minimum distance (d) of 21 was used.
  • the minimum distance (d) of 21 points for the HDD it was decided to fix all errors of 10 or less.
  • the vertical axis represents a code error rate (WER) or a decoding speed (Speed-up) representing decoding performance.
  • the horizontal axis represents SNR (signal-to-noise ratio).
  • the decoding speed is a relative indication of how fast the decoding speed is compared with the full ssearch algorithm of the OSD described in FIG. 2.
  • all data was quantized to 7 bits, and the first preset threshold according to the PSC of FIG. 4 was set to 25, and the second threshold according to the description of FIG. 5 was set to 10.
  • the value of the function (f) having the signal to noise ratio (SNR) and the order and error correction code as factors is 346.5, 346.5, 321.3, respectively from orders 1 to 5, respectively. 270.9 and 270.9 were used.
  • Method 1 and Method 2 are almost the same in terms of decoding performance as PNC and PSC.
  • Method 1 and Method 2 are significantly faster than that of PNC and PSC.
  • there is a section in which the decoding speed is slower than that of the PSC at low SNR but it can be seen that the decoding speed of Method 2 rapidly converges as the SNR increases. It can be seen that method 2 exhibits a much faster decoding speed than all other methods.
  • Method 1 and Method 2 are up to about 13770 times faster (Method 1) and 14609 times (Method 2) compared to OSD-FS according to each order, and up to about 336 times faster than PNC (Method 1). , And 797 times (Method 2) is faster. And compared to PSC, it is about 61 times faster (Method 1) and 139 times (Method 2) faster.
  • 7A to 7D are graphs analyzing decoding performance and speed according to Method 2 among proposed methods according to an embodiment of the present invention.
  • FIGS. 7A to 7B Experimental conditions in FIGS. 7A to 7B are the same as those of FIGS. 6A to 6J.
  • the decoding speed shown in FIG. 7B represents a relative speed compared to the OSD-FS (full search) in order 1.
  • Method 2 converges to the speed of the OSD-FS according to the order 1 regardless of the order as the SNR increases. That is, when the SNR becomes more than a certain degree, the higher the order, the better the decoding performance is, and the computational complexity can be minimized.
  • the decoding speed represents a relative speed compared to the OSD-FS in order 4. From the viewpoint of decoding performance, the same performance is exhibited before the ⁇ value exceeds a specific value, and as the ⁇ value increases, the decoding performance gradually decreases. The decoding speed exhibits a characteristic that becomes faster and faster as the ⁇ value increases. In other words, a detailed trade-off relationship between decoding performance and decoding speed is established according to the value of ⁇ , so that the user can change the parameters to suit the system environment.
  • 8A to 8H are graphs comparing decoding performance and speed of proposed methods according to an embodiment of the present invention under different experimental conditions.
  • a BCH code having a length of 255, a dimension of 131, and a minimum distance of 37 is used. Also, since the minimum distance of the HDD is 37, all errors of 18 or less are set to be fixed.
  • the decoding speed is a relative indication of how fast the decoding speed is compared to the full ssearch algorithm (OSD-FS) of the OSD described in FIG. 2.
  • OSD-FS full ssearch algorithm
  • method 1 Proposed 1
  • method 2 Proposed 2
  • the value of the function (f) having the signal to noise ratio (SNR) and the order and error correction code as factors is 706.8, 706.8, 706.8, respectively from orders 1 to 7, It was set to 706.8, 706.8, 644.8, and 620.0.
  • methods 1 to 2 show substantially the same performance in terms of decoding performance as PNC and PSC.
  • the decoding speed of Methods 1 to 2 is about 5287 times faster (Method 1) and 7420 times (Method 2) compared to OSD-FS for each order, and up to about 747 times faster than PNC (Method 1). ), and 1775 times (Method 2) is faster.
  • Methods 1 to 2 are about 5287 times faster (Method 1) and 7420 times (Method 2) compared to OSD-FS for each order, and up to about 747 times faster than PNC (Method 1). ), and 1775 times (Method 2) is faster.
  • up to about 101 times (Method 1) and 240 times (Method 2) are faster.
  • methods 1 to 2 can be predicted to be significantly faster compared to PNC or PSC.
  • 9A to 9D are graphs analyzing decoding performance and speed according to Method 2 in different experimental conditions among proposed methods according to an embodiment of the present invention.
  • FIGS. 9A to 9D are the same as those of FIGS. 8A to 8H.
  • the decoding performance and the decoding speed of Method 2 according to each order can be checked.
  • the Relative Speed of FIG. 9B represents a relative speed compared to the OSD-FS in order 1.
  • Method 2 significantly increases.
  • method 2 rapidly converges to the OSD-FS speed of order 1 as the SNR increases regardless of the order. That is, when the SNR becomes more than a certain degree, it can be seen that the computational complexity always maintains a constant level (lowest level) regardless of the order.
  • the decoding speed represents a relative speed compared to the OSD-FS in order 4.
  • the same decoding performance is displayed before the ⁇ value exceeds the specific value, and the decoding performance gradually decreases after the ⁇ value exceeds the specific value.
  • the decoding speed exhibits a characteristic that the speed increases as the value of ⁇ increases. Using these characteristics, the user can change the parameters to suit the system environment.
  • FIG. 10 is a hardware configuration diagram of an apparatus for high-speed decoding of a linear code based on a soft decision according to an embodiment of the present invention.
  • an apparatus 100 for high-speed decoding of a linear code based on a soft decision includes at least one processor 110 and an instruction instructing the at least one processor 110 to perform at least one step. It may include a memory (memory, 120) for storing instructions.
  • the apparatus 100 for high-speed decoding of a linear code based on a soft decision may include a transceiver 130 that communicates with a base station through a wired or wireless network.
  • the apparatus 100 for high-speed decoding of a linear code based on a soft decision may further include an input interface device 140, an output interface device 150, and a storage device 160.
  • Each of the components included in the apparatus 100 for high-speed decoding of a linear code based on a soft decision may be connected by a bus 170 to communicate with each other.
  • the processor 110 may mean a central processing unit (CPU), a graphics processing unit (GPU), or a dedicated processor on which methods according to embodiments of the present invention are performed.
  • Each of the memory 120 and the storage device 160 may be configured with at least one of a volatile storage medium and a nonvolatile storage medium.
  • the memory 120 may be formed of at least one of read only memory (ROM) and random access memory (RAM).
  • the at least one step comprises: obtaining an alignment signal by arranging the received signals in order of magnitude, obtaining a hard decision signal by hard decision on the alignment signal, and obtaining a hard decision signal from the hard decision signal. reliable bases), obtaining a permuted and corrected codeword candidate using the higher signal and an error vector according to the current order, using a cost function Calculating the cost for the current order, determining the substituted error correction candidate word as a permuted and corrected codeword according to the result of comparing the calculated cost with the minimum cost, and a predefined It may include the step of determining the speeding condition.
  • the obtaining of the error correction candidate word may include multiplying the upper signal and the error vector according to the current order by a substituted generation matrix to obtain a substituted error correction candidate word.
  • the cost function may be defined as an operation of adding all the sizes of components corresponding to positions in which the substituted error correction candidate word and the hard decision signal have different values in the alignment signal.
  • the error vector may have the same length as the MRB, and may be defined as a vector whose hamming weight is the current order.
  • the determining of the predefined speed-up condition may include calculating a speed-up threshold value by adding smaller components among components of the alignment signal corresponding to the MRB, and comparing the calculated speed-up threshold value with the minimum cost. It may include.
  • the step of obtaining the substituted error correction candidate word for the next order of the current order may be performed only when the comparison result is less than the minimum cost.
  • the step of calculating the speedup threshold may include calculating the speedup threshold by adding a function having a signal to noise ratio (SNR) and an order and an error correction code as factors to the sum of the components having the small size. have.
  • SNR signal to noise ratio
  • a step of comparing a Hamming distance between the hard decision signal and the substituted error correction candidate word with a preset first threshold value After the step of obtaining the substituted error correction codeword, a step of comparing a Hamming distance between the hard decision signal and the substituted error correction candidate word with a preset first threshold value.
  • the step of comparing the Hamming distance with a preset first threshold value After the step of comparing the Hamming distance with a preset first threshold value, if the comparison result is that the Hamming distance is greater than the preset first threshold value, the operation on the error vector is omitted, and an error vector according to the current order By changing, the step of obtaining the substituted error correction candidate word may be performed.
  • a Hamming distance between the hard decision signal and the substituted error correction candidate word is set in advance. 2 Comparing the threshold value and if the Hamming distance is less than the second threshold value, omitting the step of calculating the cost and immediately determining the substituted error correction candidate word as the substituted error correction coder It may contain more.
  • Examples of the apparatus 100 for high-speed decoding of linear codes based on soft decision for example, a desktop computer, a laptop computer, a notebook, and a smart phone capable of communication according to error correction coding.
  • phone tablet PC
  • mobile phone smart watch, smart glass
  • e-book reader portable multimedia player (PMP)
  • portable game console navigation Device
  • digital camera digital multimedia broadcasting (DMB) player
  • digital audio recorder digital audio player
  • digital video recorder digital video player player
  • PDA Personal Digital Assistant
  • the methods according to the present invention may be implemented in the form of program instructions that can be executed through various computer means and recorded in a computer-readable medium.
  • the computer-readable medium may include program instructions, data files, data structures, and the like alone or in combination.
  • the program instructions recorded on the computer-readable medium may be specially designed and configured for the present invention, or may be known and usable to those skilled in computer software.
  • Examples of computer-readable media may include hardware devices specially configured to store and execute program instructions, such as ROM, RAM, flash memory, and the like.
  • Examples of program instructions may include high-level language codes that can be executed by a computer using an interpreter or the like as well as machine language codes such as those created by a compiler.
  • the above-described hardware device may be configured to operate as at least one software module to perform the operation of the present invention, and vice versa.
  • the above-described method or apparatus may be implemented by combining all or part of its configuration or function, or may be implemented separately.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)

Abstract

연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치가 개시된다. 상기 연판정 기반으로 선형 부호를 고속 복호화하는 방법은, 수신된 신호를 크기 순서로 정렬하여 정렬 신호를 획득하는 단계, 상기 정렬 신호를 경판정(hard decision)하여 경판정 신호를 획득하는 단계, 상기 경판정 신호에서 MRB(most reliable bases)에 해당하는 상위 신호를 획득하는 단계, 상기 상위 신호와 현재 차수에 따른 오류 벡터를 이용하여 치환된 오류 정정 후보어(permuted and corrected codeword candidate)를 획득하는 단계, 비용함수를 이용하여 상기 현재 차수에 대한 비용을 산출하는 단계, 산출된 비용을 최소 비용과 비교한 결과에 따라 상기 치환된 오류 정정 후보어를 치환된 오류 정정 부호어(permuted and corrected codeword)로 결정하는 단계 및 미리 정의된 고속화 조건을 판단하는 단계를 포함할 수 있다.

Description

연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
본 발명은 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치에 관한 것으로, 더욱 상세하게는 연판정 기반의 선형 부호 복호화 방법에서 일부 연산 과정을 생략함으로써 고속으로 부호화하는 기술에 관한 것이다.
디지털 통신에서 판정은 복호화기 직전에 있는 복조기에서 양자화에 따른 임계 판정(threshold decision)을 의미한다. 이때, 판정 방법에는 경판정(Hard Decision)과 연판정(Soft Decision)이 있다.
경판정은 복조기에 의한 파형 출력이 2진 신호(예를 들면 0 또는 1)로만 복조된 후 복호화되는 것을 의미한다. 반면, 연판정은 경판정과 같이 확고한 정수 판정을 하는 대신에 복조기 출력이 2 단계 이상의 양자화된 신호로 복조된 후 복호화되는 것을 의미한다.
경판정은 수신기에서 돌이킬 수 없는 정보 손실을 유발할 수 있으나, 더 적은 데이터 처리가 요구되고 구현이 단순하다. 반면, 연판정은 더 많은 데이터 처리가 요구되고 구현이 복잡하지만 경판정보다 우수한 복호 성능을 갖기 때문에 많이 사용된다.
한편, 연판정된 신호를 원래의 신호로 복호화하는 과정은 연판정된 신호의 조건부 확률 또는 우도(likelihood) 등의 정보 조합을 통해 수행된다. 이러한 연판정 기반 복호화 방법 중 하나인 OSD(Ordered statistics decoder)는 최대우도(ML, maximum likelihood)에 거의 근접한 성능을 나타내고 있어 많은 관심을 받고 있다.
그러나, OSD는 모든 부호어 중에서 수신된 데이터와 가장 유사한 부호어를 찾는 방법과 유사하기 때문에 모든 조합을 다 조사하는 과정에 따른 연산 복잡도가 매우 높다. 따라서, 연산 복잡도를 낮추면서 복호화 성능을 높게 유지할 수 있는 방안이 필요한 실정이다.
상기와 같은 문제점을 해결하기 위한 본 발명의 목적은, 연판정 기반으로 선형 부호를 고속 복호화하는 방법을 제공하는 데 있다.
상기와 같은 문제점을 해결하기 위한 본 발명의 다른 목적은, 연판정 기반으로 선형 부호를 고속 복호화하는 장치를 제공하는 데 있다.
상기 목적을 달성하기 위한 본 발명은, 연판정 기반으로 선형 부호를 고속 복호화하는 방법을 제공한다.
상기 연판정 기반으로 선형 부호를 고속 복호화하는 방법은, 수신된 신호를 크기 순서로 정렬하여 정렬 신호를 획득하는 단계, 상기 정렬 신호를 경판정(hard decision)하여 경판정 신호를 획득하는 단계, 상기 경판정 신호에서 MRB(most reliable bases)에 해당하는 상위 신호를 획득하는 단계, 상기 상위 신호와 현재 차수에 따른 오류 벡터를 이용하여 치환된 오류 정정 후보어(permuted and corrected codeword candidate)를 획득하는 단계, 비용함수를 이용하여 상기 현재 차수에 대한 비용을 산출하는 단계, 산출된 비용을 최소 비용과 비교한 결과에 따라 상기 치환된 오류 정정 후보어를 치환된 오류 정정 부호어(permuted and corrected codeword)로 결정하는 단계 및 미리 정의된 고속화 조건을 판단하는 단계를 포함할 수 있다.
상기 오류 정정 후보어를 획득하는 단계는, 상기 상위 신호와 상기 현재 차수에 따른 오류 벡터를 치환된 생성행렬과 곱하여 치환된 오류 정정 후보어를 획득하는 단계를 포함할 수 있다.
상기 비용함수는, 상기 정렬 신호에서, 상기 치환된 오류 정정 후보어와 상기 경판정 신호가 서로 다른 값을 갖는 위치에 해당하는 성분들의 크기를 모두 더하는 연산으로 정의될 수 있다.
상기 오류 벡터는, 상기 MRB와 동일한 길이를 갖고, 해밍 무게(hamming weight)가 상기 현재 차수인 벡터로 정의될 수 있다.
상기 미리 정의된 고속화 조건을 판단하는 단계는, 상기 MRB에 해당하는 정렬 신호의 성분들 중에서 크기가 작은 성분들을 더하여 고속화 임계값을 산출하는 단계 및 산출된 고속화 임계값을 상기 최소 비용과 비교하는 단계를 포함할 수 있다.
상기 비교하는 단계 이후에, 비교 결과 상기 고속화 임계값이 상기 최소비용보다 작은 경우에 한하여, 상기 현재 차수의 다음 차수에 대하여 상기 치환된 오류 정정 후보어를 획득하는 단계를 수행할 수 있다.
상기 고속화 임계값을 산출하는 단계는, 상기 크기가 작은 성분들의 합에 SNR(Signal to Noise Ratio)과 차수 및 오류 정정 부호를 인자로 갖는 함수를 더하여 상기 고속화 임계값을 산출하는 단계를 포함할 수 있다.
상기 미리 정의된 고속화 조건을 판단하는 단계는, 상기 경판정 신호와 상기 치환된 오류 정정 후보어 사이의 해밍 거리를 미리 설정된 제1 임계값과 비교하는 단계를 포함할 수 있다.
상기 해밍 거리를 미리 설정된 제1 임계값과 비교하는 단계 이후에, 비교 결과 상기 해밍 거리가 상기 미리 설정된 제1 임계값보다 크면, 상기 오류 벡터에 대한 연산을 생략하고, 상기 현재 차수에 따른 오류 벡터를 변경하여 상기 치환된 오류 정정 후보어를 획득하는 단계를 수행할 수 있다.
상기 치환된 오류 정정 후보어를 획득하는 단계 이후에, 상기 경판정 신호와 상기 치환된 오류 정정 후보어 사이의 해밍 거리를 미리 설정된 제2 임계값과 비교하는 단계 및 상기 해밍 거리가 상기 제2 임계값보다 작으면, 상기 비용을 산출하는 단계를 생략하고 곧바로 상기 치환된 오류 정정 후보어를 상기 치환된 오류 정정 부호어로 결정하는 단계를 더 포함할 수 있다.
상기 목적을 달성하기 위한 본 발명의 다른 측면은, 연판정 기반으로 선형 부호를 고속 복호화하는 장치를 제공한다.
연판정 기반으로 선형 부호를 고속 복호화하는 장치는, 적어도 하나의 프로세서(processor) 및 상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함할 수 있다.
상기 적어도 하나의 단계는, 수신된 신호를 크기 순서로 정렬하여 정렬 신호를 획득하는 단계, 상기 정렬 신호를 경판정(hard decision)하여 경판정 신호를 획득하는 단계, 상기 경판정 신호에서 MRB(most reliable bases)에 해당하는 상위 신호를 획득하는 단계, 상기 상위 신호와 현재 차수에 따른 오류 벡터를 이용하여 치환된 오류 정정 후보어(permuted and corrected codeword candidate)를 획득하는 단계, 비용함수를 이용하여 상기 현재 차수에 대한 비용을 산출하는 단계, 산출된 비용을 최소 비용과 비교한 결과에 따라 상기 치환된 오류 정정 후보어를 치환된 오류 정정 부호어(permuted and corrected codeword)로 결정하는 단계 및 미리 정의된 고속화 조건을 판단하는 단계를 포함할 수 있다.
상기 오류 정정 후보어를 획득하는 단계는, 상기 상위 신호와 상기 현재 차수에 따른 오류 벡터를 치환된 생성행렬과 곱하여 치환된 오류 정정 후보어를 획득하는 단계를 포함할 수 있다.
상기 비용함수는, 상기 정렬 신호에서, 상기 치환된 오류 정정 후보어와 상기 경판정 신호가 서로 다른 값을 갖는 위치에 해당하는 성분들의 크기를 모두 더하는 연산으로 정의될 수 있다.
상기 오류 벡터는, 상기 MRB와 동일한 길이를 갖고, 해밍 무게(hamming weight)가 상기 현재 차수인 벡터로 정의될 수 있다.
상기 미리 정의된 고속화 조건을 판단하는 단계는, 상기 MRB에 해당하는 정렬 신호의 성분들 중에서 크기가 작은 성분들을 더하여 고속화 임계값을 산출하는 단계 및 산출된 고속화 임계값을 상기 최소 비용과 비교하는 단계를 포함할 수 있다.
상기 비교하는 단계 이후에, 비교 결과 상기 고속화 임계값이 상기 최소비용보다 작은 경우에 한하여, 상기 현재 차수의 다음 차수에 대하여 상기 치환된 오류 정정 후보어를 획득하는 단계를 수행할 수 있다.
상기 고속화 임계값을 산출하는 단계는, 상기 크기가 작은 성분들의 합에 SNR(Signal to Noise Ratio)과 차수 및 오류 정정 부호를 인자로 갖는 함수를 더하여 상기 고속화 임계값을 산출하는 단계를 포함할 수 있다.
상기 미리 정의된 고속화 조건을 판단하는 단계는, 상기 경판정 신호와 상기 치환된 오류 정정 후보어 사이의 해밍 거리를 미리 설정된 제1 임계값과 비교하는 단계를 포함할 수 있다.
상기 해밍 거리를 미리 설정된 제1 임계값과 비교하는 단계 이후에, 비교 결과 상기 해밍 거리가 상기 미리 설정된 제1 임계값보다 크면, 상기 오류 벡터에 대한 연산을 생략하고, 상기 현재 차수에 따른 오류 벡터를 변경하여 상기 치환된 오류 정정 후보어를 획득하는 단계를 수행할 수 있다.
상기 치환된 오류 정정 후보어를 획득하는 단계 이후에, 상기 경판정 신호와 상기 치환된 오류 정정 후보어 사이의 해밍 거리를 미리 설정된 제2 임계값과 비교하는 단계 및 상기 해밍 거리가 상기 제2 임계값보다 작으면, 상기 비용을 산출하는 단계를 생략하고 곧바로 상기 치환된 오류 정정 후보어를 상기 치환된 오류 정정 부호어로 결정하는 단계를 더 포함할 수 있다.
상기와 같은 본 발명에 따른 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치를 이용할 경우에는 OSD에 따른 복호화 성능을 최대한 유지하면서 연산 복잡도를 낮출 수 있다.
도 1은 본 발명의 일 실시예에 따른 선형 부호화의 개념을 설명하기 위한 예시도이다.
도 2는 본 발명의 일 실시예에 따른 OSD(ordered statistics decoder)의 복호화 방법을 설명하기 위한 흐름도이다.
도 3은 본 발명의 일 실시예에 따른 PNC(probabilistic necessary conditions)의 복호화 방법을 설명하기 위한 흐름도이다.
도 4는 본 발명의 일 실시예에 따른 PSC(probabilistic sufficient conditions)의 복호화 방법을 설명하기 위한 흐름도이다.
도 5는 본 발명의 일 실시예에 따른 연판정 기반으로 선형 부호를 고속 복호화하는 방법에 대한 흐름도이다.
도 6a 내지 도 6j는 본 발명의 일 실시예에 따른 제안 방법들의 복호화 성능과 속도를 각 차수에 대하여 분석한 그래프이다.
도 7a 내지 도 7d는 본 발명의 일 실시예에 따른 제안 방법들 중에서 방법 2에 따른 복호화 성능과 속도를 분석한 그래프이다.
도 8a 내지 도 8h는 본 발명의 일 실시예에 따른 제안 방법들의 복호화 성능과 속도를 다른 실험조건에서 비교한 그래프이다.
도 9a 내지 도 9d는 본 발명의 일 실시예에 따른 제안 방법들 중에서 방법 2에 따른 복호화 성능과 속도를 다른 실험조건에서 분석한 그래프이다.
도 10은 본 발명의 일 실시예에 따른 연판정 기반으로 선형 부호를 고속 복호화하는 장치에 대한 하드웨어 구성도이다.
본 발명은 다양한 변경을 가할 수 있고 여러 가지 실시예를 가질 수 있는 바, 특정 실시예들을 도면에 예시하고 상세한 설명에 상세하게 설명하고자 한다. 그러나, 이는 본 발명을 특정한 실시 형태에 대해 한정하려는 것이 아니며, 본 발명의 사상 및 기술 범위에 포함되는 모든 변경, 균등물 내지 대체물을 포함하는 것으로 이해되어야 한다. 각 도면을 설명하면서 유사한 참조부호를 유사한 구성요소에 대해 사용하였다.
제1, 제2, A, B 등의 용어는 다양한 구성요소들을 설명하는데 사용될 수 있지만, 상기 구성요소들은 상기 용어들에 의해 한정되어서는 안 된다. 상기 용어들은 하나의 구성요소를 다른 구성요소로부터 구별하는 목적으로만 사용된다. 예를 들어, 본 발명의 권리 범위를 벗어나지 않으면서 제1 구성요소는 제2 구성요소로 명명될 수 있고, 유사하게 제2 구성요소도 제1 구성요소로 명명될 수 있다. 및/또는 이라는 용어는 복수의 관련된 기재된 항목들의 조합 또는 복수의 관련된 기재된 항목들 중의 어느 항목을 포함한다.
어떤 구성요소가 다른 구성요소에 "연결되어" 있다거나 "접속되어" 있다고 언급된 때에는, 그 다른 구성요소에 직접적으로 연결되어 있거나 또는 접속되어 있을 수도 있지만, 중간에 다른 구성요소가 존재할 수도 있다고 이해되어야 할 것이다. 반면에, 어떤 구성요소가 다른 구성요소에 "직접 연결되어" 있다거나 "직접 접속되어" 있다고 언급된 때에는, 중간에 다른 구성요소가 존재하지 않는 것으로 이해되어야 할 것이다.
본 출원에서 사용한 용어는 단지 특정한 실시예를 설명하기 위해 사용된 것으로, 본 발명을 한정하려는 의도가 아니다. 단수의 표현은 문맥상 명백하게 다르게 뜻하지 않는 한, 복수의 표현을 포함한다. 본 출원에서, "포함하다" 또는 "가지다" 등의 용어는 명세서상에 기재된 특징, 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것이 존재함을 지정하려는 것이지, 하나 또는 그 이상의 다른 특징들이나 숫자, 단계, 동작, 구성요소, 부품 또는 이들을 조합한 것들의 존재 또는 부가 가능성을 미리 배제하지 않는 것으로 이해되어야 한다.
다르게 정의되지 않는 한, 기술적이거나 과학적인 용어를 포함해서 여기서 사용되는 모든 용어들은 본 발명이 속하는 기술 분야에서 통상의 지식을 가진 자에 의해 일반적으로 이해되는 것과 동일한 의미를 가지고 있다. 일반적으로 사용되는 사전에 정의되어 있는 것과 같은 용어들은 관련 기술의 문맥 상 가지는 의미와 일치하는 의미를 가지는 것으로 해석되어야 하며, 본 출원에서 명백하게 정의하지 않는 한, 이상적이거나 과도하게 형식적인 의미로 해석되지 않는다.
이하, 본 발명에 따른 바람직한 실시예를 첨부된 도면을 참조하여 상세하게 설명한다.
도 1은 본 발명의 일 실시예에 따른 선형 부호화의 개념을 설명하기 위한 예시도이다.
블록 부호화(Block coding)는 데이터를 일정한 블록 단위로 묶고, 블록마다 부호화와 복호화를 수행하는 코딩 방식을 의미할 수 있다. 선형 부호화는 부호어 집합이 선형 벡터공간을 형성하는(또는 선형 조건을 만족하는) 부호를 의미할 수 있다.
도 1을 참조하면, 일반적인 선형 부호화 과정은 생성행렬(G)을 이용하여 표현될 수 있다. 전송하고자 하는 메시지 m을 1Хk의 벡터로 표현하면, 메시지 m에 kХn의 크기를 갖는 생성행렬을 곱하여 1Хn의 벡터로 표현되는 부호어 x를 도출할 수 있다. 이하에서, k는 차원(또는 생성행렬의 랭크, rank)을 의미할 수 있고, n은 부호어의 길이를 의미할 수 있다.
여기서 부호어를 생성하기 위한 생성행렬은 사용하는 부호어에 따라 결정될 수 있으며, 일반적으로 부호어간 최소거리가 클수록 오류 정정 능력이 높으므로 유리하다. 여기서 최소 거리는 부호어들 사이의 해밍 거리(Hamming Distance) 중에서 가장 작은 거리를 의미할 수 있다. 또한, 해밍 거리는 두 부호어 사이의 서로 다른 심볼의 개수를 의미할 수 있다.
상기 과정을 통해 선형 부호화된 부호어는 유무선 통신 시스템의 전송측에서 수신측으로 전송되며, 수신측에서는 복조기(Demodulator)를 통해 원래 파형을 복구하고, 복호화기(Decoder)를 이용하여 복구된 파형에 섞인 오류를 검출하고 유효한 부호어(또는 데이터 심볼)를 복원할 수 있다.
이하에서는 이러한 개념들을 기초로 하여 본 발명의 일 실시예에 따른 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치를 설명한다.
또한, 이하에서는 설명의 편의를 위해 전송 채널은 AWGN(Additive white Gaussian noise)으로 하고, 변조 방식은 BPSK(Binary Phase Shift Keying)를 사용하는 것으로 전제하여 설명하지만 채널이나 변조 방식이 한정되는 것으로 해석되어서는 안된다.
도 2는 본 발명의 일 실시예에 따른 OSD(ordered statistics decoder)의 복호화 방법을 설명하기 위한 흐름도이다.
도 2를 참조하면, 본 발명의 일 실시예에 따른 OSD에서는, 먼저 복호화기에서 수신된 신호를 크기 순서로 정렬하여 정렬 신호를 획득할 수 있다(S100). 예를 들어, r = (r0, r1, ..., rn - 1)를 수신된 신호라고 할 때(여기서 n은 부호어의 길이일 수 있음), 수신된 신호의 개별 성분(r0, r1, ..., rn - 1)에 대하여 절대값을 취하고 절대값의 크기 순서대로 정렬하여 정렬 신호 y = (y0, y1, ..., yn - 1)를 획득할 수 있다(이하에서 정렬 신호는 y로 지칭될 수 있음). 여기서 정렬 순서는 내림차순으로 정렬할 수 있으나 반드시 그에 한정되는 것이 아니며 반드시 정확하게 크기 순서를 따라 정렬해야 되는 것은 아니다.
단계 S100 다음으로, 정렬 신호(y)를 경판정하여 경판정 신호를 획득할 수 있다(S110). 예를 들어 정렬 신호(y)를 경판정하여 경판정 신호 Y = (Y0, Y1, ..., Yn -1)를 획득할 수 있다(이하에서 경판정 신호는 Y로 지칭될 수 있음). 경판정 신호(Y)가 획득되면, 경판정 신호에서 MRB(Most Reliable Bases)에 해당하는 상위 신호를 획득할 수 있다(S120, 이하에서 상위 신호는 α로 지칭될 수 있음). 구체적으로 경판정 신호에서 크기가 큰 상위 k 개(이때 k는 도 1에서 설명한 차원일 수 있음)의 성분을 MRB로, 나머지 n-k개의 성분을 LRB로 구분하고, 상위 k개의 성분을 갖는 상위 신호(α)를 획득할 수 있다.
단계 S120 다음으로, 상위 신호(α)와 차수(order, 이하 o로 표기)에 따른 오류 벡터를 이용하여 치환된 오류 정정 후보어를 획득할 수 있다(S130). 구체적으로 예를 들어 임의의 차수 o에 대한 오류 벡터를 ko 라 하고, 치환된 생성 행렬을 G'로 하면, 임의의 차수 o에 대하여 치환된 오류 정정 후보어(Eo)는 다음의 수학식 1과 같이 정의할 수 있다.
Figure PCTKR2019004753-appb-M000001
상기 수학식 1을 참조하면, 치환된 오류 정정 후보어(Eo)는 상위 신호(α)와 차수에 따른 오류 벡터(ko)를 치환된 생성 행렬(G')과 곱하여 획득될 수 있다. 좀 더 상세한 표현으로, 치환된 오류 정정 후보어(Eo)는 상위 신호(α)와 차수에 따른 오류 벡터(ko)를 더한 값을 치환된 생성 행렬(G’)과 곱하여 획득하거나, 상위 신호(α)를 치환된 생성 행렬 (G’) 과 곱한 값과 오류 벡터(ko)를 치환된 생성 행렬(G’)와 곱한 값의 합으로 획득될 수 있다. 이때, 치환된 생성 행렬은 도 1에서 설명한 생성 행렬(G)의 열(Column)을 앞선 정렬 신호(y)를 생성한 정렬 순서와 동일한 순서로 치환하고, 가우스 소거(Gaussian elimination)를 수행하여 획득될 수 있다. 또한, 치환된 오류 정정 후보어는 치환된 생성 행렬의 치환 순서에 따라 치환된 순서를 갖고, 오류가 정정된 부호어(corrected codeword)의 후보(candidate)로 정의될 수 있다. 이때, 치환된 생성 행렬(G')은 다음의 수학식 2와 같은 형태를 가질 수 있다.
Figure PCTKR2019004753-appb-M000002
수학식 2를 참조하면, I는 k Х k의 크기를 갖는 항등 행렬(identity matrix)이고, P는 k × (n-k) 의 크기를 갖는 행렬일 수 있다. 여기서 수학식 2와 같은 형태가 되지 않는 경우 도 1에 따른 생성 행렬(G)의 열을 적절히 치환하여 수학식 2에 따른 형태를 도출할 수 있고, 이때 치환된 생성 행렬(G')을 도출하기 위한 치환 순서와 정렬 신호의 순서는 동일하여야 할 수 있다.
한편, 오류 벡터는 오류가 발생한 것으로 예측되는 성분을 지시하는 벡터(또는 정렬 신호의 MRB에 해당하는 성분들 중에서 치환된 오류 정정 후보어와 경판정 신호가 다를 것으로 예측되는 성분을 지시하는 벡터)로 해석될 수 있는데, 구체적으로 오류 벡터는 MRB와 동일한 길이(k의 길이)를 갖고, 해밍 무게(부호어 내에서 0이 아닌 성분의 갯수)가 현재 차수(o)인 벡터로 정의될 수 있다. 예를 들어, 차수 0인 경우 오류 벡터(k0)는 해밍 무게가 0이므로 다음의 수학식 3과 같이 도출될 수 있다.
Figure PCTKR2019004753-appb-M000003
즉, 차수가 0인 경우에 따른 오류 벡터는 k개의 성분이 모두 0인 벡터일 수 있다. 또한, 차수가 1인 경우에 대한 오류 벡터는 다음의 수학식 4와 같이 도출될 수 있다.
Figure PCTKR2019004753-appb-M000004
수학식 4에서 값이 1인 성분의 위치(또는, 오류가 발생한 것으로 예측되는 성분의 위치)는 달라질 수 있다. 즉, 선정되는 위치에 따라 k1은 총 k개가 도출될 수 있다. 그 밖에도 차수가 2인 경우에 대한 오류 벡터(k2)는 MRB 중에서 2개의 위치를 선정하고 선정된 위치에 대한 성분값만 1(또는 0이 아닌 값)을 갖고 나머지 성분값은 0으로 하여 도출될 수 있다.
치환된 오류 정정 후보어는, 순서가 치환된 생성 행렬과 같이 치환되고 오류 정정된 부호어(permuted and corrected codeword)가 될 가능성이 있는 후보로서, 오류 벡터에 따른 비용함수를 통해 평가될 수 있다. 예를 들어, 오류 벡터가 수학식 4와 같이 j번째 성분에 1을 갖는 벡터(즉, 정렬 신호의 MRB에 해당하는 성분들 중 j번째 성분에서 치환된 오류 정정 후보어와 경판정 신호가 다를 것으로 예측하는 경우)라면, 비용함수는 다음의 수학식 5와 같의 정의할 수 있다.
Figure PCTKR2019004753-appb-M000005
상기 수학식 5를 참조하면, 비용함수는 정렬 신호(y)에서 j번째 성분의 크기와, 나머지 n-k개의 LRB에 해당하는 성분들 중에서, 치환된 오류 정정 후보어(Ei)와 경판정 신호(Yi)가 서로 다른 값을 갖는 위치에 해당하는 성분들의 크기를 더한 값으로 정의할 수 있다. 또한, 수학식 3과 같이 모든 성분이 0인 오류 벡터에 대한 비용함수는 오류 벡터에 의해 지시되는 성분이 없으므로, 다음의 수학식 6과 같이 정의할 수 있다.
Figure PCTKR2019004753-appb-M000006
구체적으로 수학식 6을 참조하면, 수학식 3에 따라 차수가 0인 오류 벡터에 대한 비용 함수는, n-k개의 LRB에 해당하는 성분들 중에서 치환된 오류 정정 후보어와 경판정 신호가 서로 다른 값을 갖는 위치에 해당하는 성분들의 크기를 더한 값으로 정의될 수 있다.
수학식 5와 수학식 6에서와 같은 방식으로 차수가 2인 오류 벡터에 의해 지시되는 0이 아닌 성분이 l번째 성분과 m번째 성분이면, 비용함수는 다음의 수학식 7과 같이 정의할 수 있다.
Figure PCTKR2019004753-appb-M000007
즉, 수학식 5 내지 7을 종합하면, 비용 함수는 정렬 신호에서, 치환된 오류 정정 후보어와 경판정 신호가 서로 다른 값을 갖는 위치에 해당하는 성분들의 크기를 모두 더하는 연산으로 정의할 수 있다.
따라서, 단계 S130 이후에, 비용 함수를 이용하여 현재 차수에 대한 비용을 산출할 수 있다(S140). 여기서 현재 차수는 0부터 시작하여 단계 S130을 거칠때마다 하나씩 증가하는 변수일 수 있다.
단계 S140에서 현재 차수에 대한 비용이 산출되면, 산출된 비용을 최소 비용과 비교한 결과에 따라 치환된 오류 정정 후보어를 치환된 오류 정정 부호어(permuted and corrected codeword)로 결정할 수 있다(S150). 여기서 최소 비용은 차수 0부터 현재 차수까지 산출된 비용 중에서 최소값을 의미할 수 있다. 단계 S150을 더 구체적으로 설명하면, 산출된 비용이 최소 비용보다 작으면, 치환된 오류 정정 후보어를 치환된 오류 정정 부호어로 결정할 수 있다. 또한, 단계 S150에서 산출된 비용이 최소 비용보다 작으면, 산출된 비용을 최소 비용으로 갱신하는 단계를 포함할 수 있다. 한편, 차수가 0인 경우에는 단계 S140에 따라 산출된 비용을 최소 비용으로 결정하고, 치환된 오류 정정 후보어를 치환된 오류 정정 부호어로 결정할 수 있다.
단계 S150 이후에, 현재 차수에서 변경 가능한 오류 벡터가 존재하는지 판단(S160)하고, 현재 차수에서 변경 가능한 오류 벡터가 존재하면 오류 벡터를 변경하여(S180) 다시 단계 S130에 따른 과정부터 재수행할 수 있다. 여기서 오류 벡터의 변경은 오류 벡터에서 0이 아닌 성분(또는 1인 성분)의 위치를 달리함으로써 수행될 수 있다.
단계 S160 이후에, 현재 차수가 미리 설정된 최대 차수에 도달되었는지 판단하고(S170), 최대 차수에 도달하였다면 부호화 과정을 종료할 수 있다. 그러나, 최대 차수에 도달하지 않았다면 현재 차수를 하나 증가시키고(S190), 단계 S130부터 다시 수행할 수 있다. 여기서 최대 차수는 사용자에 의해 입력될 수 있는 값으로서, 일반적으로는 다음의 수학식 8에 의해 도출될 수 있다.
Figure PCTKR2019004753-appb-M000008
상기 수학식 8에서, d는 부호어의 최소 거리를 의미할 수 있고, k는 차원을 의미할 수 있다.
도 3은 본 발명의 일 실시예에 따른 PNC(probabilistic necessary conditions)의 복호화 방법을 설명하기 위한 흐름도이다.
도 2에서 설명한 OSD는 미리 설정된 최대 차수까지 계속해서 비용함수를 산출하고, 치환된 오류 정정 후보어를 도출하기 때문에 연산 복잡도가 높고, 불필요한 연산이 반복해서 수행되는 문제가 있다.
이러한 연산 복잡도를 낮추기 위하여 최대 차수에 도달하지 않더라도 이후 차수에 대한 연산을 생략함으로써 복호화를 고속화하는 방법을 고려할 수 있다. 이때, PNC(probabilistic necessary conditions)는 차수를 올려도 최소 비용보다 더 낮은 비용이 존재할 가능성이 없다면, 지금까지 조사된 결과만으로 오류 정정 부호어를 결정하는 방법이다.
도 3을 참조하면, PNC는 도 2에 따른 단계 S160까지를 수행하고, 최대 차수에 도달하였는지 판단(S170)하는 대신, 단계 S165에 따른 판단을 먼저 수행할 수 있다. 즉, 단계 S165에서는, MRB에 해당하는 정렬 신호의 성분들 중에서, 크기가 작은 성분들의 합(이하에서 고속화 임계값으로 지칭할 수 있음)을 현재 차수까지 결정된 최소비용과 비교할 수 있다(S165). 여기서 크기가 작은 성분들은, 현재 차수의 다음 차수에 대한 비용함수 연산에 해당하는 개수를 고려해야 하므로, 현재 차수보다 하나 더 많은 개수만큼 선정되어 서로 더해질 수 있다.
예를 들어, 현재 차수가 o이면, 다음 차수 o+1에 대한 연산을 수행할지 결정하기 위한 고속화 임계값(SPNC)은 다음의 수학식 9와 같이 정의할 수 있다.
Figure PCTKR2019004753-appb-M000009
수학식 9를 참조하면, 정렬 신호가 내림차순으로 정렬되었다고 할 때, 정렬 신호의 MRB에 해당하는 성분들 중 마지막 성분인 k-1번째 성분부터 거꾸로 o+1개의 성분을 더함으로써 고속화 임계값(SPNC)가 결정될 수 있다. 반면에 정렬 신호가 오름차순으로 정렬되었다면, j=0부터 j=o 까지 더해질 수 있다.
단계 S165에서 비교한 결과, 크기가 작은 성분들의 합이 최소비용보다 크다면 이후에 차수들은 현재 차수에 따른 최소비용보다 클 수 밖에 없기 때문에 오류 정정 부호어가 될 가능성이 없거나 매우 낮다. 따라서, 단계 S165에서 비교한 결과 크기가 작은 성분들의 합이 최소비용보다 크다면 차수를 증가(S190)시켜 반복 연산하는 과정(S130~S150)을 생략하고, 복호화를 종료할 수 있다.
도 4는 본 발명의 일 실시예에 따른 PSC(probabilistic sufficient conditions)의 복호화 방법을 설명하기 위한 흐름도이다.
본 발명의 일 실시예에 따르면, 도 2에 따른 OSD를 개선하여 연산량을 줄이는 또다른 실시예(PSC, probabilistic sufficient conditions)를 제공할 수 있다.
도 4를 참조하면, PSC는 도 2에 따른 단계 S130을 수행한 후 단계 S140 대신에 단계 S135에 따른 과정을 수행할 수 있다. 즉, 단계 S135에서는 경판정 신호(Y)와 현재 차수(o)에 따른 치환된 오류 정정 후보어(Eo) 사이의 해밍 거리를 미리 설정된 제1 임계값과 비교하고(S135) 비교 결과에 따라 현재 오류 벡터에 대한 연산들(S140~S150)을 생략하고 현재 차수의 오류 벡터를 변경(S180)하여 오류 정정 후보를 획득(S130)할 수 있다.
구체적으로, 경판정 신호와 치환된 오류 정정 부호어 사이의 해밍 거리가 미리 설정된 제1 임계값보다 크면(또는 크거나 같으면), 상기 치환된 오류 정정 부호는 실제 오류 정정 부호어가 될 가능성이 낮으므로 현재 오류 벡터에 대한 연산들을 생략하고 현재 차수의 다른 후보어를 연산할 수 있다.
도 5는 본 발명의 일 실시예에 따른 연판정 기반으로 선형 부호를 고속 복호화하는 방법에 대한 흐름도이다.
도 5를 참조하면, 연판정 기반으로 선형 부호를 고속 복호화하는 방법은, 수신된 신호를 크기 순서로 정렬하여 정렬 신호를 획득하는 단계(S200), 상기 정렬 신호를 경판정(hard decision)하여 경판정 신호를 획득하는 단계(S210), 상기 경판정 신호에서 MRB(most reliable bases)에 해당하는 상위 신호를 획득하는 단계(S220), 상기 상위 신호와 현재 차수에 따른 오류 벡터를 이용하여 치환된 오류 정정 후보어(permuted and corrected codeword candidate)를 획득하는 단계(S230), 비용함수를 이용하여 상기 현재 차수에 대한 비용을 산출하는 단계(S240), 산출된 비용을 최소 비용과 비교한 결과에 따라 상기 치환된 오류 정정 후보어를 치환된 오류 정정 부호어(permuted and corrected codeword)로 결정하는 단계(S250) 및 미리 정의된 고속화 조건을 판단하는 단계(S260)를 포함할 수 있다.
상기 오류 정정 후보어를 획득하는 단계(S230)는, 상기 상위 신호와 상기 현재 차수에 따른 오류 벡터를 치환된 생성행렬과 곱하여 치환된 오류 정정 후보어를 획득하는 단계를 포함할 수 있다. 예를 들어, 치환된 오류 정정 후보어는 앞선 수학식 1에 따라 획득될 수 있다.
상기 비용함수는, 상기 정렬 신호에서, 상기 치환된 오류 정정 후보어와 상기 경판정 신호가 서로 다른 값을 갖는 위치에 해당하는 성분들의 크기를 모두 더하는 연산으로 정의될 수 있다. 예를 들어, 비용함수는 수학식 5 내지 7을 참조할 수 있다.
상기 오류 벡터는, 상기 MRB와 동일한 길이를 갖고, 해밍 무게(hamming weight)가 상기 현재 차수인 벡터로 정의될 수 있다. 예를 들어, 오류 벡터는 수학식 3 내지 4를 참조할 수 있다.
상기 미리 정의된 고속화 조건을 판단하는 단계(S260)는, 상기 MRB에 해당하는 정렬 신호의 성분들 중에서 크기가 작은 성분들을 더하여 고속화 임계값을 산출하는 단계 및 산출된 고속화 임계값을 상기 최소 비용과 비교하는 단계를 포함할 수 있다. 예를 들어 미리 정의된 고속화 조건을 판단하는 단계(S260)는, 도 3에 따른 설명을 참조할 수 있으며, 고속화 임계값은 수학식 9를 참조할 수 있다.
상기 비교하는 단계 이후에, 비교 결과 상기 고속화 임계값이 상기 최소비용보다 작은 경우에 한하여, 상기 현재 차수의 다음 차수에 대하여 상기 치환된 오류 정정 후보어를 획득하는 단계를 수행할 수 있다.
상기 치환된 오류 정정 후보어를 획득하는 단계(S230) 이후에, 상기 경판정 신호와 상기 치환된 오류 정정 후보어 사이의 해밍 거리를 미리 설정된 제1 임계값과 비교하는 단계를 포함할 수 있다. 예를 들어 상기 해밍 거리를 미리 설정된 제1 임계값과 비교하는 단계는 도 4에 따른 설명을 참조할 수 있다.
상기 해밍 거리를 미리 설정된 제1 임계값과 비교하는 단계 이후에, 비교 결과 상기 해밍 거리가 상기 미리 설정된 제1 임계값보다 크면, 상기 오류 벡터에 대한 연산을 생략하고, 상기 현재 차수에 따른 오류 벡터를 변경하여 상기 치환된 오류 정정 후보어를 획득하는 단계를 수행할 수 있다. 더욱 상세하게는 도 4에 따른 설명을 참조할 수 있다.
한편, 도 3에 따른 PNC를 적용하여 단계 S165을 현재 차수 o에 대하여 미리 정의된 고속화 조건으로서 판단한 결과 다음 차수 o+1에 대한 단계 S130을 수행하는 것으로 결정되는 경우, o+1 차수에서 단계 S140에서 산출되는 비용은 다음의 수학식 10과 같이 표현될 수 있다.
Figure PCTKR2019004753-appb-M000010
수학식 10을 참조하면, 전단부는, MRB에 따른 정렬 신호(y)에서 오류 벡터에 의해 지시되는 o+1개의 성분들에 대한 크기를 더하는 연산으로서 수학식 5 내지 7에서의 전단부와 대응될 수 있다. 또한, 수학식 10에서의 후단부는 LRB에 해당하는 심볼들의 신뢰도(reliability)에 대한 부분 합으로서, 수학식 5 내지 7에서의 후단부와 대응될 수 있다.
일반적으로 LRB는 신뢰도가 낮은 값들이기 때문에, MRB에 해당하는 성분들보다는 오류 가능성이 높다. 따라서, 수학식 10에서의 γ는 0보다 큰 값을 가질 것으로 예상할 수 있다. 이러한 점을 이용하여 수학식 9에서 정의한 고속화 임계값(다음 차수 o+1에 대한 연산을 생략할지 결정하는 임계값)은 다음의 수학식 11과 같이 변경할 수 있다.
Figure PCTKR2019004753-appb-M000011
수학식 11을 참조하면, 새롭게 정의하는 고속화 임계값(Sproposed)은 수학식 9에서 정의한 고속화 임계값(SPNC)에 SNR(Signal to Noise Ratio)과 차수 및 오류 정정 부호(code)를 인자로 갖는 함수(f)를 더한 값으로 정의할 수 있다.
따라서, 상기 고속화 임계값을 산출하는 단계는, 상기 크기가 작은 성분들의 합에 SNR(Signal to Noise Ratio)과 차수 및 오류 정정 부호를 인자로 갖는 함수를 더하여 상기 고속화 임계값을 산출하는 단계를 포함할 수도 있다.
한편, 상기 해밍 거리를 미리 설정된 제1 임계값과 비교하는 단계를 대체 또는 추가하여, 미리 설정된 제2 임계값을 사용할 수 있다. 구체적으로, 상기 치환된 오류 정정 후보어를 획득하는 단계(S230) 이후에(또는 상기 미리 설정된 제1 임계값과 비교하는 단계 이후에), 상기 경판정 신호와 상기 치환된 오류 정정 후보어 사이의 해밍 거리를 미리 설정된 제2 임계값과 비교하는 단계 및 상기 해밍 거리가 상기 제2 임계값보다 작으면, 상기 비용을 산출하는 단계를 생략하고 곧바로 상기 치환된 오류 정정 후보어를 상기 치환된 오류 정정 부호어로 결정하는 단계를 더 포함할 수 있다. 즉, 해밍 거리가 제2 임계값보다 작으면 비용을 산출하는 단계를 비롯한 이후의 모든 과정을 생략하고, 곧바로 치환된 오류 정정 후보어를 치환된 오류 정정 부호어로 결정하여 복호화 절차를 종료할 수 있다.
도 6a 내지 도 6j는 본 발명의 일 실시예에 따른 제안 방법들의 복호화 성능과 속도를 각 차수에 대하여 분석한 그래프이다.
이하의 그래프들에서 HDD는 일반적인 경판정 기반 복호화(Hard Decision Decoding)을 의미하고, PNC는 도 3에 따른 단계 S165를 적용한 경우를 의미하며, PSC는 도 4에 따른 단계 S135를 PNC에 추가로 적용한 경우를 의미한다. 또한 proposed 1(방법 1)은 도 5에 따른 흐름도에서, 앞선 수학식 11에 따라 새롭게 정의된 고속화 임계값을 이용하여 고속화 조건을 판단하는 과정을 적용하고 제2 임계값과 해밍 거리를 비교하여 비용 산출 단계를 생략한 방법을 의미할 수 있다.
또한, proposed2(방법 2)는 방법 1에 추가로 도 4에 따른 단계 S135를 함께 적용하여 현재 오류 벡터에 대한 연산을 생략한 방법을 의미한다.
도 6a 내지 도 6j에서 사용한 부호화어는 부호의 길이(n)가 127이고, 차원(k)는 64이며, 최소거리(d)는 21인 BCH(Bose-Chaudhuri-Hocquenghem) 부호를 사용하였다. 또한, HDD는 최소거리(d)가 21 점을 감안하여 10개 이하의 오류는 모두 고치는 것으로 하였다. 또한, 그래프에서 세로축은 복호화 성능을 나타내는 부호 오류율(WER, word error rate) 또는 복호화 속도(Speed-up)을 나타낸다. 또한, 그래프에서 가로축은 SNR(신호 대 잡음비)를 나타낸다. 이때, 복호화 속도는 도 2에서 설명한 OSD의 full ssearch 알고리즘과 비교하여 얼마나 빨라졌는지를 상대적으로 표시한 것이다. 각 실험에서 모든 데이터는 7 비트로 양자화하였으며, 도 4의 PSC에 따른 미리 설정된 제1 임계값은 25, 도 5의 설명에 따른 제2 임계값은 10으로 설정하였다. 또한, 방법 1(proposed 1), 방법 2(proposed2)에서 SNR(Signal to Noise Ratio)과 차수 및 오류 정정 부호를 인자로 갖는 함수(f)값은 차수1부터 5까지 각각 346.5, 346.5, 321.3, 270.9, 270.9를 사용하였다.
도 6a 내지 도 6j를 참조하면, 차수 1부터 5까지에 대하여 복호화 성능과 속도를 비교한 결과를 확인할 수 있다. 그래프에서 확인할 수 있듯이 방법 1, 방법 2는 PNC, PSC와 복호화 성능 면에서 거의 동일하다. 또한, 복호화 속도는 방법 1, 방법 2가 PNC, PSC보다 확실하게 빠르다. 방법1의 경우는 낮은 SNR에서는 PSC에 비해서 복호화 속도가 느린 구간이 있지만, SNR이 증가함에 따라서 빠르게 방법2의 복호화 속도에 수렴하는 것을 알 수 있다. 방법2의 경우는 다른 모든 방법들보다 월등히 빠른 복호화 속도를 나타내는 것을 알 수 있다.
구체적으로, 방법 1, 방법 2는 각 order에 따른 OSD-FS와 비교해서 최대 약 13770배 (방법1), 그리고 14609배 (방법2)가 빠르고, PNC와 비교해서 최대 약 336배 (방법1), 그리고 797배 (방법2)가 빠르다. 그리고 PSC와 비교해서 최대 약 61배 (방법1), 그리고 139배 (방법2)가 빠르다.
도 7a 내지 도 7d는 본 발명의 일 실시예에 따른 제안 방법들 중에서 방법 2에 따른 복호화 성능과 속도를 분석한 그래프이다.
도 7a 내지 도 7b에서 실험 조건은 도 6a 내지 도 6j와 같다.
도 7a 내지 도 7b를 참조하면, 각 차수에 따른 방법 2의 복호화 성능과 속도를 확인할 수 있다. 여기서 도 7b에 도시된 복호화 속도(Relative Speed)는 차수 1에서의 OSD-FS(full search)와 비교한 상대 속도를 나타낸다. 구체적으로 방법 2는 SNR이 커짐에 따라서 차수와 관계없이 차수 1에 따른 OSD-FS의 속도에 수렴한다. 즉, SNR이 어느 정도 이상이 되면, 차수를 높일수록 복호화 성능은 월등히 좋아지면서 연산 복잡도는 최소화할 수 있다.
도 7c 내지 도 7d를 참조하면, 방법 2(proposed2)에서 SNR(Signal to Noise Ratio)과 차수 및 오류 정정 부호를 인자로 갖는 함수 값(그래프에서는 β로 표시)을 변화시켰을 때의 차수 4에 대한 복호화 성능 및 속도를 확인할 수 있다. 이때, 복호화 속도는 차수 4에서 OSD-FS와 비교하여 상대적 속도를 나타낸다. 복호화 성능 관점으로 봤을 때, β 값이 특정값을 넘어가기 전에는 동일한 성능을 나타내게 되고, β 값이 증가함에 따라서 복호화 성능은 점진적으로 떨어진다. 복호화 속도는 β 값이 커질수록 점점 더 빨라지는 특성을 나타낸다. 즉, β 값에 따라서 복호 성능과 복호 속도간의 세밀한 trade-off 관계가 성립함으로, 시스템 환경에 맞도록 사용자가 파라미터들을 변경할 수 있다.
도 8a 내지 도 8h는 본 발명의 일 실시예에 따른 제안 방법들의 복호화 성능과 속도를 다른 실험조건에서 비교한 그래프이다.
도 8a 내지 도 8h에서 부호어는 길이가 255이고 차원이 131이며 최소거리가 37인 BCH 부호를 사용하였다. 또한, HDD는 최소 거리가 37이므로, 18개 이하의 오류는 모두 고치도록 설정하였다. 이때, 복호화 속도는 도 2에서 설명한 OSD의 full ssearch 알고리즘(OSD-FS)과 비교하여 얼마나 빨라졌는지를 상대적으로 표시한 것이다. 각 실험에서 모든 데이터는 7 비트로 양자화하였으며, 도 4의 PSC에 따른 미리 설정된 제1 임계값은 46, 도 5의 설명에 따른 제2 임계값은 18로 설정하였다. 또한, 방법 1(proposed 1), 방법 2(proposed2)에서 SNR(Signal to Noise Ratio)과 차수 및 오류 정정 부호를 인자로 갖는 함수(f)값은 차수1부터 7까지 각각 706.8, 706.8, 706.8, 706.8, 706.8, 644.8, 620.0으로 설정하였다.
도 6a 내지 도 6j에서 사용한 부호어는 차수가 5를 넘어가도 복호 성능이 더 이상 향상되지 않으나, 도 8a 내지 도 8h에서 사용한 부호어는 차수 7까지 증가시켰을 때 복호화 성능이 확실히 향상된다. 그러나, PSC나 PNC의 경우 차수 5에서도 엄청난 시간이 소요되기 때문에, 도 8a 내지 도 8h에서는 차수 4 까지의 성능을 비교하였다.
도 8a 내지 도 8h를 참조하면, 방법 1 내지 2는 PNC 및 PSC와 복호 성능에 있어서 거의 동일한 성능을 보여준다. 그에 반해서, 방법 1 내지 2의 복호 속도는 각 차수에 따른 OSD-FS와 비교해서 최대 약 5287배 (방법1)와 7420배 (방법2)가 빠르고, PNC와 비교해서 최대 약 747배 (방법1), 그리고 1775배 (방법2)가 빠르다. 그리고, PSC와 비교해서 최대 약 101배 (방법1)와 240배 (방법2)가 빠르다. 또한, 차수를 5이상 높여 비교할 경우, 방법 1 내지 2는 PNC나 PSC와 비교해서 월등히 더 빨라질 것으로 예측할 수 있다.
도 9a 내지 도 9d는 본 발명의 일 실시예에 따른 제안 방법들 중에서 방법 2에 따른 복호화 성능과 속도를 다른 실험조건에서 분석한 그래프이다.
도 9a 내지 도 9d의 실험 조건은 도 8a 내지 도 8h와 같다.
도 9a 내지 도 9b를 참조하면, 각 차수에 따른 방법 2의 복호 성능과 복호 속도를 확인할 수 있다. 이때, 도 9b의 복호화 속도(Relative Speed)는 차수 1에서의 OSD-FS와 비교한 상대적 속도를 나타낸다.
도 9a에서 확인되는 것과 같이, 차수가 증가함에 따라서, 방법2의 복호 성능이 현저히 증가하는 것을 알 수 있다. 도 6a 내지 도 6j에서와 마찬가지로 방법2는 차수와 상관없이 SNR이 증가함에 따라서 빠르게 차수 1의 OSD-FS 속도에 수렴한다. 즉, SNR이 어느 정도 이상이 되면, 연산 복잡도는 차수와 상관없이 항상 일정한 수준(가장 낮은 수준)을 유지하게 되는 현상을 볼 수 있다.
도 9c 내지 도 9d를 참조하면, 방법 2(proposed2)에서 SNR(Signal to Noise Ratio)과 차수 및 오류 정정 부호를 인자로 갖는 함수 값(그래프에서는 β로 표시)을 변화시켰을 때의 차수 4에 대한 복호화 성능 및 속도를 확인할 수 있다. 여기서 복호화 속도는 차수 4에서의 OSD-FS와 비교한 상대적 속도를 나타낸다. 도 7a 내지 도 7d에서와 마찬가지로, β 값이 특정값을 넘어가기 전에는 동일한 복호 성능을 나타내고, β 값이 특정값을 넘어간 후에는 복호 성능이 점진적으로 떨어지게 된다. 이에 반해서, 복호 속도는 β 값이 커질수록 속도가 점점 더 빨라지는 특성을 나타낸다. 이러한 특성을 활용하면, 사용자가 시스템 환경에 맞도록 파라미터들을 변경할 수 있다.
도 10은 본 발명의 일 실시예에 따른 연판정 기반으로 선형 부호를 고속 복호화하는 장치에 대한 하드웨어 구성도이다.
도 10을 참조하면 연판정 기반으로 선형 부호를 고속 복호화하는 장치(100)는, 적어도 하나의 프로세서(processor, 110) 및 상기 적어도 하나의 프로세서(110)가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory, 120)를 포함할 수 있다.
또한, 연판정 기반으로 선형 부호를 고속 복호화하는 장치(100)는, 유무선 네트워크를 통해 기지국과 통신을 수행하는 송수신 장치(transceiver, 130)를 포함할 수 있다. 또한, 연판정 기반으로 선형 부호를 고속 복호화하는 장치(100)는 입력 인터페이스 장치(140), 출력 인터페이스 장치(150), 저장 장치(160) 등을 더 포함할 수 있다. 연판정 기반으로 선형 부호를 고속 복호화하는 장치(100)에 포함된 각각의 구성 요소들은 버스(bus, 170)에 의해 연결되어 서로 통신을 수행할 수 있다.
여기서 프로세서(110)는 중앙 처리 장치(central processing unit, CPU), 그래픽 처리 장치(graphics processing unit, GPU), 또는 본 발명의 실시예들에 따른 방법들이 수행되는 전용의 프로세서를 의미할 수 있다. 메모리(120) 및 저장 장치(160) 각각은 휘발성 저장 매체 및 비휘발성 저장 매체 중에서 적어도 하나로 구성될 수 있다. 예를 들어, 메모리(120)는 읽기 전용 메모리(read only memory, ROM) 및 랜덤 액세스 메모리(random access memory, RAM) 중에서 적어도 하나로 구성될 수 있다.
상기 적어도 하나의 단계는, 수신된 신호를 크기 순서로 정렬하여 정렬 신호를 획득하는 단계, 상기 정렬 신호를 경판정(hard decision)하여 경판정 신호를 획득하는 단계, 상기 경판정 신호에서 MRB(most reliable bases)에 해당하는 상위 신호를 획득하는 단계, 상기 상위 신호와 현재 차수에 따른 오류 벡터를 이용하여 치환된 오류 정정 후보어(permuted and corrected codeword candidate)를 획득하는 단계, 비용함수를 이용하여 상기 현재 차수에 대한 비용을 산출하는 단계, 산출된 비용을 최소 비용과 비교한 결과에 따라 상기 치환된 오류 정정 후보어를 치환된 오류 정정 부호어(permuted and corrected codeword)로 결정하는 단계 및 미리 정의된 고속화 조건을 판단하는 단계를 포함할 수 있다.
상기 오류 정정 후보어를 획득하는 단계는, 상기 상위 신호와 상기 현재 차수에 따른 오류 벡터를 치환된 생성행렬과 곱하여 치환된 오류 정정 후보어를 획득하는 단계를 포함할 수 있다.
상기 비용함수는, 상기 정렬 신호에서, 상기 치환된 오류 정정 후보어와 상기 경판정 신호가 서로 다른 값을 갖는 위치에 해당하는 성분들의 크기를 모두 더하는 연산으로 정의될 수 있다.
상기 오류 벡터는, 상기 MRB와 동일한 길이를 갖고, 해밍 무게(hamming weight)가 상기 현재 차수인 벡터로 정의될 수 있다.
상기 미리 정의된 고속화 조건을 판단하는 단계는, 상기 MRB에 해당하는 정렬 신호의 성분들 중에서 크기가 작은 성분들을 더하여 고속화 임계값을 산출하는 단계 및 산출된 고속화 임계값을 상기 최소 비용과 비교하는 단계를 포함할 수 있다.
상기 비교하는 단계 이후에, 비교 결과 상기 고속화 임계값이 상기 최소비용보다 작은 경우에 한하여, 상기 현재 차수의 다음 차수에 대하여 상기 치환된 오류 정정 후보어를 획득하는 단계를 수행할 수 있다.
상기 고속화 임계값을 산출하는 단계는, 상기 크기가 작은 성분들의 합에 SNR(Signal to Noise Ratio)과 차수 및 오류 정정 부호를 인자로 갖는 함수를 더하여 상기 고속화 임계값을 산출하는 단계를 포함할 수 있다.
상기 치환된 오류 정정 부호어를 획득하는 단계 이후에, 상기 경판정 신호와 상기 치환된 오류 정정 후보어 사이의 해밍 거리를 미리 설정된 제1 임계값과 비교하는 단계를 포함할 수 있다.
상기 해밍 거리를 미리 설정된 제1 임계값과 비교하는 단계 이후에, 비교 결과 상기 해밍 거리가 상기 미리 설정된 제1 임계값보다 크면, 상기 오류 벡터에 대한 연산을 생략하고, 상기 현재 차수에 따른 오류 벡터를 변경하여 상기 치환된 오류 정정 후보어를 획득하는 단계를 수행할 수 있다.
상기 치환된 오류 정정 후보어를 획득하는 단계 이후에(또는 상기 미리 설정된 제1 임계값과 비교하는 단계 이후에), 상기 경판정 신호와 상기 치환된 오류 정정 후보어 사이의 해밍 거리를 미리 설정된 제2 임계값과 비교하는 단계 및 상기 해밍 거리가 상기 제2 임계값보다 작으면, 상기 비용을 산출하는 단계를 생략하고 곧바로 상기 치환된 오류 정정 후보어를 상기 치환된 오류 정정 부호어로 결정하는 단계를 더 포함할 수 있다.
연판정 기반으로 선형 부호를 고속 복호화하는 장치(100)의 예를 들면, 오류 정정 부호화에 따른 통신이 가능한 데스크탑 컴퓨터(desktop computer), 랩탑 컴퓨터(laptop computer), 노트북(notebook), 스마트폰(smart phone), 태블릿 PC(tablet PC), 모바일폰(mobile phone), 스마트 워치(smart watch), 스마트 글래스(smart glass), e-book 리더기, PMP(portable multimedia player), 휴대용 게임기, 네비게이션(navigation) 장치, 디지털 카메라(digital camera), DMB(digital multimedia broadcasting) 재생기, 디지털 음성 녹음기(digital audio recorder), 디지털 음성 재생기(digital audio player), 디지털 동영상 녹화기(digital video recorder), 디지털 동영상 재생기(digital video player), PDA(Personal Digital Assistant) 등일 수 있다.
본 발명에 따른 방법들은 다양한 컴퓨터 수단을 통해 수행될 수 있는 프로그램 명령 형태로 구현되어 컴퓨터 판독 가능 매체에 기록될 수 있다. 컴퓨터 판독 가능 매체는 프로그램 명령, 데이터 파일, 데이터 구조 등을 단독으로 또는 조합하여 포함할 수 있다. 컴퓨터 판독 가능 매체에 기록되는 프로그램 명령은 본 발명을 위해 특별히 설계되고 구성된 것들이거나 컴퓨터 소프트웨어 당업자에게 공지되어 사용 가능한 것일 수도 있다.
컴퓨터 판독 가능 매체의 예에는 롬(ROM), 램(RAM), 플래시 메모리(flash memory) 등과 같이 프로그램 명령을 저장하고 수행하도록 특별히 구성된 하드웨어 장치가 포함될 수 있다. 프로그램 명령의 예에는 컴파일러(compiler)에 의해 만들어지는 것과 같은 기계어 코드뿐만 아니라 인터프리터(interpreter) 등을 사용해서 컴퓨터에 의해 실행될 수 있는 고급 언어 코드를 포함할 수 있다. 상술한 하드웨어 장치는 본 발명의 동작을 수행하기 위해 적어도 하나의 소프트웨어 모듈로 작동하도록 구성될 수 있으며, 그 역도 마찬가지이다.
또한, 상술한 방법 또는 장치는 그 구성이나 기능의 전부 또는 일부가 결합되어 구현되거나, 분리되어 구현될 수 있다.
상기에서는 본 발명의 바람직한 실시예를 참조하여 설명하였지만, 해당 기술 분야의 숙련된 당업자는 하기의 특허 청구의 범위에 기재된 본 발명의 사상 및 영역으로부터 벗어나지 않는 범위 내에서 본 발명을 다양하게 수정 및 변경시킬 수 있음을 이해할 수 있을 것이다.

Claims (20)

  1. 수신된 신호를 크기 순서로 정렬하여 정렬 신호를 획득하는 단계;
    상기 정렬 신호를 경판정(hard decision)하여 경판정 신호를 획득하는 단계;
    상기 경판정 신호에서 MRB(most reliable bases)에 해당하는 상위 신호를 획득하는 단계;
    상기 상위 신호와 현재 차수에 따른 오류 벡터를 이용하여 치환된 오류 정정 후보어(permuted and corrected codeword candidate)를 획득하는 단계;
    비용함수를 이용하여 상기 현재 차수에 대한 비용을 산출하는 단계;
    산출된 비용을 최소 비용과 비교한 결과에 따라 상기 치환된 오류 정정 후보어를 치환된 오류 정정 부호어(permuted and corrected codeword)로 결정하는 단계; 및
    미리 정의된 고속화 조건을 판단하는 단계를 포함하는, 연판정 기반으로 선형 부호를 고속 복호화하는 방법.
  2. 청구항 1에서,
    상기 오류 정정 후보어를 획득하는 단계는,
    상기 상위 신호와 상기 현재 차수에 따른 오류 벡터를 치환된 생성행렬과 곱하여 치환된 오류 정정 후보어를 획득하는 단계를 포함하는, 연판정 기반으로 선형 부호를 고속 복호화하는 방법.
  3. 청구항 1에서,
    상기 비용함수는,
    상기 정렬 신호에서, 상기 치환된 오류 정정 후보어와 상기 경판정 신호가 서로 다른 값을 갖는 위치에 해당하는 성분들의 크기를 모두 더하는 연산으로 정의되는, 연판정 기반으로 선형 부호를 고속 복호화하는 방법.
  4. 청구항 1에서,
    상기 오류 벡터는,
    상기 MRB와 동일한 길이를 갖고, 해밍 무게(hamming weight)가 상기 현재 차수인 벡터로 정의되는, 연판정 기반으로 선형 부호를 고속 복호화하는 방법.
  5. 청구항 1에서,
    상기 미리 정의된 고속화 조건을 판단하는 단계는,
    상기 MRB에 해당하는 정렬 신호의 성분들 중에서 크기가 작은 성분들을 더하여 고속화 임계값을 산출하는 단계; 및
    산출된 고속화 임계값을 상기 최소 비용과 비교하는 단계를 포함하는, 연판정 기반으로 선형 부호를 고속 복호화하는 방법.
  6. 청구항 5에서,
    상기 비교하는 단계 이후에,
    비교 결과 상기 고속화 임계값이 상기 최소비용보다 작은 경우에 한하여,
    상기 현재 차수의 다음 차수에 대하여 상기 치환된 오류 정정 후보어를 획득하는 단계를 수행하는, 연판정 기반으로 선형 부호를 고속 복호화하는 방법.
  7. 청구항 5에서,
    상기 고속화 임계값을 산출하는 단계는,
    상기 크기가 작은 성분들의 합에 SNR(Signal to Noise Ratio)과 차수 및 오류 정정 부호를 인자로 갖는 함수를 더하여 상기 고속화 임계값을 산출하는 단계를 포함하는, 연판정 기반으로 선형 부호를 고속 복호화하는 방법.
  8. 청구항 1에서,
    상기 치환된 오류 정정 후보어를 획득하는 단계 이후에,
    상기 경판정 신호와 상기 치환된 오류 정정 후보어 사이의 해밍 거리를 미리 설정된 제1 임계값과 비교하는 단계를 더 포함하는, 연판정 기반으로 선형 부호를 고속 복호화하는 방법.
  9. 청구항 8에서,
    상기 해밍 거리를 미리 설정된 제1 임계값과 비교하는 단계 이후에,
    비교 결과 상기 해밍 거리가 상기 미리 설정된 제1 임계값보다 크면, 상기 오류 벡터에 대한 연산을 생략하고, 상기 현재 차수에 따른 오류 벡터를 변경하여 상기 치환된 오류 정정 후보어를 획득하는 단계를 수행하는, 연판정 기반으로 선형 부호를 고속 복호화하는 방법.
  10. 청구항 1에서,
    상기 치환된 오류 정정 후보어를 획득하는 단계 이후에,
    상기 경판정 신호와 상기 치환된 오류 정정 후보어 사이의 해밍 거리를 미리 설정된 제2 임계값과 비교하는 단계; 및
    상기 해밍 거리가 상기 제2 임계값보다 작으면, 상기 비용을 산출하는 단계를 생략하고 곧바로 상기 치환된 오류 정정 후보어를 상기 치환된 오류 정정 부호어로 결정하는 단계를 더 포함하는, 연판정 기반으로 선형 부호를 고속 복호화하는 방법.
  11. 연판정 기반으로 선형 부호를 고속 복호화하는 장치로서,
    적어도 하나의 프로세서(processor); 및
    상기 적어도 하나의 프로세서가 적어도 하나의 단계를 수행하도록 지시하는 명령어들(instructions)을 저장하는 메모리(memory)를 포함하고,
    상기 적어도 하나의 단계는,
    수신된 신호를 크기 순서로 정렬하여 정렬 신호를 획득하는 단계;
    상기 정렬 신호를 경판정(hard decision)하여 경판정 신호를 획득하는 단계;
    상기 경판정 신호에서 MRB(most reliable bases)에 해당하는 상위 신호를 획득하는 단계;
    상기 상위 신호와 현재 차수에 따른 오류 벡터를 이용하여 치환된 오류 정정 후보어(permuted and corrected codeword candidate)를 획득하는 단계;
    비용함수를 이용하여 상기 현재 차수에 대한 비용을 산출하는 단계;
    산출된 비용을 최소 비용과 비교한 결과에 따라 상기 치환된 오류 정정 후보어를 치환된 오류 정정 부호어(permuted and corrected codeword)로 결정하는 단계; 및
    미리 정의된 고속화 조건을 판단하는 단계를 포함하는, 연판정 기반으로 선형 부호를 고속 복호화하는 장치.
  12. 청구항 11에서,
    상기 오류 정정 후보어를 획득하는 단계는,
    상기 상위 신호와 상기 현재 차수에 따른 오류 벡터를 치환된 생성행렬과 곱하여 치환된 오류 정정 후보어를 획득하는 단계를 포함하는, 연판정 기반으로 선형 부호를 고속 복호화하는 장치.
  13. 청구항 11에서,
    상기 비용함수는,
    상기 정렬 신호에서, 상기 치환된 오류 정정 후보어와 상기 경판정 신호가 서로 다른 값을 갖는 위치에 해당하는 성분들의 크기를 모두 더하는 연산으로 정의되는, 연판정 기반으로 선형 부호를 고속 복호화하는 장치.
  14. 청구항 11에서,
    상기 오류 벡터는,
    상기 MRB와 동일한 길이를 갖고, 해밍 무게(hamming weight)가 상기 현재 차수인 벡터로 정의되는, 연판정 기반으로 선형 부호를 고속 복호화하는 장치.
  15. 청구항 11에서,
    상기 미리 정의된 고속화 조건을 판단하는 단계는,
    상기 MRB에 해당하는 정렬 신호의 성분들 중에서 크기가 작은 성분들을 더하여 고속화 임계값을 산출하는 단계; 및
    산출된 고속화 임계값을 상기 최소 비용과 비교하는 단계를 포함하는, 연판정 기반으로 선형 부호를 고속 복호화하는 장치.
  16. 청구항 15에서,
    상기 비교하는 단계 이후에,
    비교 결과 상기 고속화 임계값이 상기 최소비용보다 작은 경우에 한하여,
    상기 현재 차수의 다음 차수에 대하여 상기 치환된 오류 정정 후보어를 획득하는 단계를 수행하는, 연판정 기반으로 선형 부호를 고속 복호화하는 장치.
  17. 청구항 15에서,
    상기 고속화 임계값을 산출하는 단계는,
    상기 크기가 작은 성분들의 합에 SNR(Signal to Noise Ratio)과 차수 및 오류 정정 부호를 인자로 갖는 함수를 더하여 상기 고속화 임계값을 산출하는 단계를 포함하는, 연판정 기반으로 선형 부호를 고속 복호화하는 장치.
  18. 청구항 17에서,
    상기 치환된 오류 정정 후보어를 획득하는 단계 이후에,
    상기 경판정 신호와 상기 치환된 오류 정정 후보어 사이의 해밍 거리를 미리 설정된 제1 임계값과 비교하는 단계를 더 포함하는, 연판정 기반으로 선형 부호를 고속 복호화하는 장치.
  19. 청구항 18에서,
    상기 해밍 거리를 미리 설정된 제1 임계값과 비교하는 단계 이후에,
    비교 결과 상기 해밍 거리가 상기 미리 설정된 제1 임계값보다 크면, 상기 오류 벡터에 대한 연산을 생략하고, 상기 현재 차수에 따른 오류 벡터를 변경하여 상기 치환된 오류 정정 후보어를 획득하는 단계를 수행하는, 연판정 기반으로 선형 부호를 고속 복호화하는 장치.
  20. 청구항 18에서,
    상기 치환된 오류 정정 후보어를 획득하는 단계 이후에,
    상기 경판정 신호와 상기 치환된 오류 정정 후보어 사이의 해밍 거리를 미리 설정된 제2 임계값과 비교하는 단계; 및
    상기 해밍 거리가 상기 제2 임계값보다 작으면, 상기 비용을 산출하는 단계를 생략하고 곧바로 상기 치환된 오류 정정 후보어를 상기 치환된 오류 정정 부호어로 결정하는 단계를 더 포함하는, 연판정 기반으로 선형 부호를 고속 복호화하는 장치.
PCT/KR2019/004753 2019-03-07 2019-04-19 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치 Ceased WO2020179966A1 (ko)

Priority Applications (2)

Application Number Priority Date Filing Date Title
US16/651,005 US11152955B2 (en) 2019-03-07 2019-04-19 Method and apparatus for fast decoding linear code based on soft decision
US17/479,612 US11616515B2 (en) 2019-03-07 2021-09-20 Method and apparatus for fast decoding linear code based on soft decision

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
KR1020190026387A KR102118899B1 (ko) 2019-03-07 2019-03-07 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
KR10-2019-0026387 2019-03-07

Related Child Applications (2)

Application Number Title Priority Date Filing Date
US16/651,005 A-371-Of-International US11152955B2 (en) 2019-03-07 2019-04-19 Method and apparatus for fast decoding linear code based on soft decision
US17/479,612 Continuation US11616515B2 (en) 2019-03-07 2021-09-20 Method and apparatus for fast decoding linear code based on soft decision

Publications (1)

Publication Number Publication Date
WO2020179966A1 true WO2020179966A1 (ko) 2020-09-10

Family

ID=71080924

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/KR2019/004753 Ceased WO2020179966A1 (ko) 2019-03-07 2019-04-19 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치

Country Status (3)

Country Link
US (2) US11152955B2 (ko)
KR (1) KR102118899B1 (ko)
WO (1) WO2020179966A1 (ko)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR102144732B1 (ko) * 2019-05-10 2020-08-14 한양대학교 산학협력단 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
CN115665795B (zh) * 2022-09-20 2026-03-06 北京邮电大学 一种译码方法及装置

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1443657A1 (en) * 1998-09-28 2004-08-04 Comtech Telecommunications Corp. Turbo product code decoder
KR101125497B1 (ko) * 2005-11-18 2012-03-20 퀄컴 인코포레이티드 통신 시스템에서의 수신기를 위한 감소된 복잡도의 검출 및디코딩
KR20170041730A (ko) * 2014-08-08 2017-04-17 톰슨 라이센싱 코드 생성 방법, 코드 생성 장치, 및 컴퓨터 판독가능 저장 매체
KR101769134B1 (ko) * 2016-10-17 2017-08-30 엘아이지넥스원 주식회사 코드의 복호화 과정에서 셔플을 이용한 최소 신뢰도 산출 방법 및 장치
KR101792868B1 (ko) * 2010-11-25 2017-11-02 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법

Family Cites Families (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6381726B1 (en) 1999-01-04 2002-04-30 Maxtor Corporation Architecture for soft decision decoding of linear block error correcting codes
US7184486B1 (en) * 2000-04-27 2007-02-27 Marvell International Ltd. LDPC encoder and decoder and method thereof
CA2465332C (en) * 2003-05-05 2012-12-04 Ron Kerr Soft input decoding for linear codes
US7260762B2 (en) * 2004-07-26 2007-08-21 Motorola, Inc. Decoder performance for block product codes
KR100863702B1 (ko) * 2005-12-14 2008-10-15 삼성전자주식회사 다중 안테나 통신시스템에서 반복적 검출 및 복호를 위한장치 및 방법
WO2008076214A2 (en) * 2006-12-14 2008-06-26 Regents Of The University Of Minnesota Error detection and correction using error pattern correcting codes
US8352840B2 (en) * 2008-03-25 2013-01-08 Her Majesty The Queen in Right of Canada, As Represented by The Minister of Industry, Through The Commincations Research Centre Canada Event cleanup processing for improving the performance of sequence-based decoders
US8468431B2 (en) * 2010-07-01 2013-06-18 Densbits Technologies Ltd. System and method for multi-dimensional encoding and decoding
US9240808B2 (en) * 2010-09-10 2016-01-19 Trellis Phase Communications, Lp Methods, apparatus, and systems for coding with constrained interleaving
US9191256B2 (en) * 2012-12-03 2015-11-17 Digital PowerRadio, LLC Systems and methods for advanced iterative decoding and channel estimation of concatenated coding systems
WO2015079193A1 (en) * 2013-11-29 2015-06-04 Toshiba Research Europe Limited Belief propagation decoding for short algebraic codes with permutations within the code space
US9564927B2 (en) * 2015-05-27 2017-02-07 John P Fonseka Constrained interleaving for 5G wireless and optical transport networks
US10404280B2 (en) * 2015-11-19 2019-09-03 Westhold Corporation Error correction using cyclic code-based LDPC codes
EP3188427B1 (en) * 2015-12-28 2019-08-21 Institut Mines-Télécom Reordered sub-block decoding
US10312946B2 (en) * 2017-02-06 2019-06-04 Mitsubishi Electric Research Laboratories, Inc. Soft-output decoding of codewords encoded with polar code
US10998922B2 (en) * 2017-07-28 2021-05-04 Mitsubishi Electric Research Laboratories, Inc. Turbo product polar coding with hard decision cleaning

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
EP1443657A1 (en) * 1998-09-28 2004-08-04 Comtech Telecommunications Corp. Turbo product code decoder
KR101125497B1 (ko) * 2005-11-18 2012-03-20 퀄컴 인코포레이티드 통신 시스템에서의 수신기를 위한 감소된 복잡도의 검출 및디코딩
KR101792868B1 (ko) * 2010-11-25 2017-11-02 삼성전자주식회사 플래시 메모리 장치 및 그것의 읽기 방법
KR20170041730A (ko) * 2014-08-08 2017-04-17 톰슨 라이센싱 코드 생성 방법, 코드 생성 장치, 및 컴퓨터 판독가능 저장 매체
KR101769134B1 (ko) * 2016-10-17 2017-08-30 엘아이지넥스원 주식회사 코드의 복호화 과정에서 셔플을 이용한 최소 신뢰도 산출 방법 및 장치

Also Published As

Publication number Publication date
US20210242883A1 (en) 2021-08-05
US11616515B2 (en) 2023-03-28
US11152955B2 (en) 2021-10-19
US20220006472A1 (en) 2022-01-06
KR102118899B1 (ko) 2020-06-04

Similar Documents

Publication Publication Date Title
WO2020231020A1 (ko) 연판정 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
KR100508613B1 (ko) 복호화 장치, 복호화 방법, 이동국 장치 및 기지국 장치
CN101595446B (zh) 字预测
WO2009110722A2 (en) Apparatus and method for channel encoding and decoding in communication system using low-density parity-check codes
WO2014098480A1 (en) Communication system with compound coding mechanism and method of operation thereof
WO2017222259A1 (ko) 데이터 전송 방법 및 송신기
WO2013191435A1 (en) Communication system with repeat-response combining mechanism and method of operation thereof
WO2024186177A1 (ko) 비전-언어 트랜스포머를 사전 훈련하는 방법 및 이를 통해 사전 훈련된 비전-언어 트랜스포머를 포함하는 인공지능 시스템
WO2024107035A1 (ko) 지식 증류를 통한 비전 트랜스포머 사전 훈련 방법 및 시스템, 이를 통해 사전 훈련된 비전 트랜스포머
CN111177082A (zh) 一种pdf文件去重存储方法及系统
WO2023106638A1 (ko) Can 메시지 분석과 신경망 모델을 이용한 경량화된 실시간 이상 탐지 방법
WO2013015548A2 (ko) Ldpc 부호화, 복호화 방법 및 그 방법을 이용하는 장치
KR102269322B1 (ko) 비트 매칭 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
US7199729B2 (en) Character code conversion methods and systems
JP2008204287A (ja) データ生成方法、データ復元方法、データ生成装置およびデータ復元装置
US11616515B2 (en) Method and apparatus for fast decoding linear code based on soft decision
WO2014010938A1 (en) Apparatus and method for transmitting/receiving packet in broadcasting and communication system
WO2022250195A1 (ko) 연속적인 부분 신드롬 검색을 이용하는 고속 연판정 기반 선형 부호의 복호화 방법 및 장치
WO2020001638A1 (zh) 一种提高Turbo译码性能的方法、装置及计算机设备
WO2023018157A1 (ko) 저밀도 패리티 체크 부호를 이용한 dna 데이터 부호화 및 복호화 방법, 프로그램 및 장치
WO2022030805A1 (ko) 데이터 라벨을 자동 교정하는 음성 인식 시스템 및 방법
WO2020213885A1 (en) Server and control method thereof
KR102189920B1 (ko) 비트 매칭 기반으로 선형 부호를 고속 복호화하는 방법 및 장치
US20170085625A1 (en) Technologies for handling message passing interface operations
CN111400563B (zh) 一种模式匹配方法、装置和用于模式匹配的装置

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 19917567

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 19917567

Country of ref document: EP

Kind code of ref document: A1