[go: up one dir, main page]

WO2013140727A1 - 復号装置 - Google Patents

復号装置 Download PDF

Info

Publication number
WO2013140727A1
WO2013140727A1 PCT/JP2013/001368 JP2013001368W WO2013140727A1 WO 2013140727 A1 WO2013140727 A1 WO 2013140727A1 JP 2013001368 W JP2013001368 W JP 2013001368W WO 2013140727 A1 WO2013140727 A1 WO 2013140727A1
Authority
WO
WIPO (PCT)
Prior art keywords
decoding
unit
clock
error correction
communication
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/JP2013/001368
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.)
Panasonic Corp
Original Assignee
Panasonic Corp
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
Priority claimed from JP2012062492A external-priority patent/JP5844667B2/ja
Priority claimed from JP2012127288A external-priority patent/JP5869968B2/ja
Application filed by Panasonic Corp filed Critical Panasonic Corp
Priority to US14/110,697 priority Critical patent/US9141470B2/en
Publication of WO2013140727A1 publication Critical patent/WO2013140727A1/ja
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING OR CALCULATING; COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/07Responding to the occurrence of a fault, e.g. fault tolerance
    • G06F11/08Error detection or correction by redundancy in data representation, e.g. by using checking codes
    • G06F11/10Adding special bits or symbols to the coded information, e.g. parity check, casting out 9's or 11's
    • 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/1131Scheduling of bit node or check node processing
    • H03M13/1137Partly parallel processing, i.e. sub-blocks or sub-groups of nodes being processed in parallel
    • 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/6522Intended application, e.g. transmission or communication standard
    • H03M13/6527IEEE 802.11 [WLAN]
    • 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
    • H03M13/1117Soft-decision decoding, e.g. by means of message passing or belief propagation algorithms using approximations for check node processing, e.g. an outgoing message is depending on the signs and the minimum over the magnitudes of all incoming messages according to the min-sum rule
    • 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/3707Adaptive decoding and hybrid decoding, e.g. decoding methods or techniques providing more than one decoding algorithm for one code
    • H03M13/3715Adaptation to the number of estimated errors or to the channel state
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • 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/6577Representation or format of variables, register sizes or word-lengths and quantization
    • H03M13/658Scaling by multiplication or division

Definitions

  • the present disclosure relates to a decoding apparatus suitable for error correction of a signal generated in a communication transmission line.
  • Patent Document 1 discloses a method (partial parallel decoding method) in which decoding processing is partially parallelized.
  • the present inventors examined a decoding device that performs decoding processing corresponding to high-speed transmission. However, even if the conventional parallel processing method is used, it has been difficult to obtain a decoding processing result sufficiently corresponding to high-speed transmission.
  • the present disclosure provides a decoding device that can further improve the processing capability of decoding processing corresponding to high-speed transmission.
  • the present disclosure uses a storage unit that stores a plurality of likelihoods obtained by demodulating a received packet and a partial check matrix obtained by dividing a check matrix used for decoding, and a decoding core that performs decoding processing in parallel for each likelihood.
  • a decoding device having a plurality of decoding units, wherein the partial parity check matrix is a matrix whose number of rows is equal to or greater than the number of columns.
  • a decoding device capable of high-speed decoding processing can be realized.
  • Timing chart showing timing of decoding processing in the first embodiment The figure which shows the example of the test matrix divided
  • Timing chart showing timing of decoding processing in the second embodiment The block diagram which shows the structure of the decoding apparatus which concerns on 3rd Embodiment.
  • Timing chart showing timing of decoding processing in the third embodiment The block diagram which shows the structure of the decoding apparatus which concerns on 4th Embodiment.
  • the figure which shows an example of the relationship between propagation path environment and MCS according to user orientation The sequence diagram which shows the handshake procedure at the time of the communication initialization in 4th Embodiment
  • the block diagram which shows the structural example of the transmission / reception apparatus of 5th Embodiment A block diagram showing an example of composition of an error correction receiving device of a 5th embodiment Block diagram showing a configuration example of an error correction decoding unit Time chart showing an operation example of the error correction receiver when the transmission line quality is poor Time chart showing an operation example of the error correction receiving apparatus when the transmission path quality is better than FIG.
  • Time chart showing an operation example of the error correction receiving apparatus when the transmission path quality is better than FIG. Schematic diagram showing a configuration example (1) of the effective bit number table
  • Schematic diagram showing a configuration example (2) of the effective bit number table Flowchart explaining the operation for the header of the error correction decoder Flowchart for explaining operation of payload of error correction decoder
  • the graph which shows the relationship between the effective bit number of a soft decision value, and an error rate (BER) Block diagram showing outline of Reference Patent Document 1
  • IEEE802.11ad adopts an LDPC code (Low Density Parity Check Code) as a code for correcting a signal error in a radio propagation path as a transmission path.
  • the LDPC code has an advantage that it is relatively easy to mount a high-speed decoding device as compared with the turbo code.
  • one method for further improving the communication speed is to increase the number of modulation levels of transmission data.
  • the LDPC decoding apparatus increases the modulation multi-level number. Depending on the situation, twice the processing capacity is required.
  • Patent Document 1 has a problem that it is difficult to double the processing throughput under the same clock speed. The reason is as follows.
  • the amount of computation required for row processing (minimum value search) per iteration which is one of the decoding units, is constant. Furthermore, the amount of computation that can be serially processed per cycle of decoding processing is limited.
  • the row processing calculation amount is constant and the number of operations that can be serially processed is limited.
  • the number of processing cycles required for row processing per iteration does not decrease. The same applies to the case where row processing is started after completion of column processing.
  • the first disclosure uses a storage unit that stores a plurality of likelihoods obtained by demodulating received packets, and a partial check matrix obtained by dividing a check matrix used for decoding, respectively, and performs decoding processing in parallel for each likelihood.
  • the partial check matrix includes a decoding device having a number of rows equal to or greater than the number of columns.
  • the decoding processing is distributed in a plurality of decoding cores, and the first decoding core and the second decoding core can be processed in parallel. Therefore, the entire decoding processing speed can be improved, and the transmission data can be modulated in many ways. It can respond to changes in the number of values.
  • the processing time can be shortened without increasing the clock speed of the decoding core, and the power consumption can be reduced. In addition, processing time can be shortened by performing distributed processing for each decoding core corresponding to the partial parallel decoding method.
  • the second disclosure is the decoding device according to the first disclosure, wherein the MCS information acquisition unit acquires MCS information of the received packet, and the clock output unit selectively outputs a clock for operating the decoding core.
  • the clock output unit is a decoding core that supplies a clock in the high-speed communication in a predetermined low-speed communication in which a communication method for transmitting the received packet is slower than a predetermined high-speed communication based on the MCS information.
  • the third disclosure is the decoding device according to the first disclosure, wherein the MCS information acquisition unit that acquires MCS information of the received packet, and the number of modulation schemes included in the MCS information, A clock output unit that outputs either a first clock used for normal operation of the decoding core or a second clock that is slower than the first clock; and a multilevel number of modulation schemes included in the MCS information. Accordingly, when the clock output unit outputs the first clock, the first power source of the normal operation voltage supplied to the decoding unit is output, and the clock output unit outputs the second clock.
  • a decoding device comprising: a power supply unit that outputs a second power supply having a voltage lower than the normal operating voltage.
  • the power consumption can be reduced by lowering the clock frequency for operating the decoding unit. Further, power consumption can be reduced by lowering the power supply voltage.
  • the fourth disclosure is the decoding device according to the third disclosure, wherein the power supply unit notifies the communication partner of information relating to an allowable communication speed of the own device at the time of communication initialization with the communication partner, and the modulation multi-value number A decoding device that outputs a low-voltage power supply of the second power supply in advance when the communication partner is notified that low-speed communication with a small amount of communication is permitted.
  • the fifth disclosure is the decoding device according to the fourth disclosure, further including a setting unit that inputs user-oriented information regarding communication speed or power consumption, wherein the clock output unit is based on the user-oriented information.
  • Selecting a clock to be output, and the power supply unit includes a decoding device that selects a voltage to be output based on the user-oriented information.
  • priority is given to low-speed communication in the case of power saving, and priority is given to high-speed communication in the case of best effort (high-speed communication).
  • the allowable MCS is limited to low-speed communication (for example, BPSK).
  • the allowable MCS is permitted up to high-speed communication (for example, QPSK).
  • low-power communication can be prioritized and power consumption can be reduced in the case of power saving.
  • the sixth disclosure is the decoding device according to the fourth disclosure or the fifth disclosure, and includes a propagation path environment estimation unit that estimates a propagation path environment for transmitting data to be decoded, and the decoding unit includes the communication initial stage A decoding device that sets the allowable communication speed using a propagation path environment estimated value at the time of conversion.
  • a seventh disclosure is the decoding device according to any one of the first disclosure to the third disclosure, and includes a propagation path environment estimation unit that estimates a propagation path environment for transmitting data to be decoded, and the control unit includes: Based on the estimation result of the propagation path environment, when the propagation path environment estimated value is equal to or greater than a predetermined value, the number of iterations in the decoding process of the decoding core is made smaller than when the propagation path environment estimated value is less than the predetermined value. And a decoding device.
  • the decoding unit has a plurality of decoding modes of MCS (for example, BPSK, QPSK) having a maximum number of iterations of 2r and MCS (for example, 16QAM) having a maximum number of iterations of r or less, and the control unit has If there is a threshold table of propagation path environment estimation values that can be communicated using the decoding mode, and the propagation path environment estimation value obtained from the propagation path environment estimation unit exceeds the threshold value of the threshold table, communication is performed to the communication partner. Notify possible MCS.
  • MCS for example, BPSK, QPSK
  • MCS for example, 16QAM
  • the channel environment estimated value is greater than or equal to a predetermined value, the number of iterations in the decoding process of the decoding core is reduced, thereby ensuring error correction capability when the channel environment is good and further reducing the processing time. And high-speed decoding can be realized.
  • FIG. 1 is a block diagram showing the configuration of the decoding apparatus according to the first embodiment.
  • the first embodiment is a configuration example for realizing high-speed decoding processing.
  • the decoding device includes a decoding unit 10, a likelihood storage unit 21, a selection unit 22, and a control unit 51.
  • the decryption unit 10 has a plurality of decryption cores 11-1 to 11-N.
  • decryption cores 11-1 to 11-N In the illustrated example, an example having N decoding cores 11-1 to 11-N is shown, but the number of decoding cores is arbitrary.
  • the decoding cores 11-1 to 11-N (N is an integer of 1 or more) may be represented as the decoding core 11. The configuration and operation of the decoding core 11 will be described later.
  • the likelihood storage unit 21 as an example of a storage unit is configured to include, for example, a memory, and stores the likelihood obtained by demodulating received packets as an example of decoding target data.
  • the receiver of the wireless communication apparatus stores the likelihood of the result of demodulating the received signal.
  • the decoding target data is not limited to the likelihood, and encoded data may be used as appropriate.
  • the decoding core 11 of the decoding unit 10 processes the input likelihood data and decodes decoded bits corresponding to one codeword per unit time.
  • the code word is an LDPC code word encoded by the encoding device, and one code word corresponds to one word obtained by LDPC encoding information bits.
  • the decoding core 11 outputs a hard decision bit (decoded bit) as a decoding result.
  • FIG. 2 is a timing chart showing the timing of the decoding process in the first embodiment.
  • likelihood # 1 likelihood # 2
  • likelihood # 3 likelihood # 4
  • Likelihood #m m is 1 or more Integers
  • the first decoding core 11-1 decodes the first likelihood (likelihood # 1) and outputs a first decoding bit (decoding bit # 1). Also, the second decoding core 11-2 (decoding core # 2) decodes the second likelihood (likelihood # 2) and outputs a second decoding bit (decoding bit # 2). The first decoding core 11-1 completes the decoding process for the likelihood # 1 before starting the decoding process for the likelihood # 3. After completing the decoding process, the first decoding core 11-1 starts the decoding process with the likelihood # 3.
  • the plurality of decoding cores 11-1 and 11-2 alternately decode input likelihoods.
  • two decoding cores 11-1 and 11-2 (decoding cores # 1 and # 2) are operated to perform decoding alternately, but the same procedure is performed using three or more decoding cores.
  • Decoding may be performed in parallel by shifting the decoding timing in order.
  • the control unit 51 controls the decoding process of the decoding unit 10.
  • the control unit 51 controls the decoding timing of each decoding core for the plurality of decoding cores 11-1 to 11-N of the decoding unit 10 so that the decoding process is performed at the decoding timing according to predetermined decoding scheduling. Control.
  • the control unit 51 causes the decoding unit 10 to decode the two decoding cores 11-1 and 11-2 (decoding cores # 1 and # 2) at the above-described decoding timing. Control.
  • the control unit 51 makes a determination on the decoding timing using the “received codeword valid signal”.
  • the received codeword valid signal is provided as a signal indicating the position of likelihood in the packet converted from the packet synchronization timing, for example.
  • the control unit 51 performs likelihood reading control of likelihood to be decoded with respect to the likelihood storage unit 21 based on the decoding timing of each likelihood. For example, when decoding likelihood # 1, the control unit 51 performs control to read the likelihood # 1 from the likelihood storage unit 21 to the decoding core 11-1 (decoding core # 1).
  • the selection unit 22 selects and outputs the hard decision bits (decoding bits) output from the plurality of decoding cores 11-1 to 11-N of the decoding unit 10 based on the control of the control unit 51, and thereby outputs them in the correct order.
  • the decryption result of is output.
  • the control unit 51 controls the selection operation in the selection unit 22 according to decoding scheduling. In the example of FIG. 2, the selection unit 22 performs decoding (likelihood # 1), decoding (likelihood # 2), decoding (likelihood # 3), decoding (likelihood # 4), decoding (likelihood #m). ) (M is an integer equal to or greater than 1), and the decoded bits obtained in order are selected and output.
  • the output decoded bits shown in FIG. 2 correspond to the decoded bits selected and output by the selection unit 22.
  • the decoding core 11 includes a column processing unit 111, a row processing unit 112, a prior value storage unit 113, an external value storage unit 114, and a hard decision unit 115.
  • the column processing unit 111 performs a column processing operation.
  • the prior value storage unit 113 stores the prior value obtained by the column processing of the column processing unit 111.
  • the row processing unit 112 performs a row processing operation.
  • the external value storage unit 114 stores an external value obtained by the row processing of the row processing unit 112.
  • the hard decision unit 115 generates and outputs hard decision bits using the soft decision values obtained by the decoding processing of the column processing unit 111 and the row processing unit 112.
  • FIG. 3 is a diagram illustrating an example of a partial check matrix divided into processing units of partial parallel decoding, a likelihood divided corresponding to the partial check matrix, and a divided codeword used for dividing the likelihood.
  • a check matrix divided into processing units for partial parallel decoding is used in order to perform decoding processing of target data.
  • the check matrix H uses the same matrix in the encoding device and the decoding device.
  • a decoded bit is obtained by decoding a code word, which is a data bit sequence encoded by the encoding device, by the decoding device.
  • the check matrix is H
  • the codeword is C
  • the likelihood is S
  • H * C 0 (1) This relationship holds in the encoding apparatus.
  • the decoding device uses a partial matrix obtained by dividing the check matrix H into processing units for partial parallel decoding, such as Hsub 1, Hsub 2, Hsub 3, ..., Hsub N-1, Hsub N.
  • the parity check matrix H is divided so that the number of rows of the partial matrix obtained by dividing the parity check matrix is equal to or greater than the number of columns.
  • the codeword vector is determined so that Hsub M (M is an integer) is multiplied by Csub M.
  • FIG. 3 shows a matrix that represents the likelihood S divided by using Ssub 1, Ssub 2, Ssub 3,..., Ssub N ⁇ 1, Ssub N.
  • the likelihood is divided by the above method.
  • column processing and row processing are performed in the order of Hsub 1, 2, 3,.
  • the parity check matrix is divided so that the number of rows of the partial matrix obtained by dividing the parity check matrix is equal to or greater than the number of columns.
  • the reason for dividing as described above is as follows.
  • the external value ⁇ mn and the prior value ⁇ mn are obtained by the following mathematical formulas (3) and (4).
  • Equation (3) The column processing and row processing for calculating the term min
  • ⁇ _min min ( ⁇ _min, ⁇ _Hsub x) (5)
  • ⁇ _Hsub x is a ⁇ value obtained by the row processing of Hsub x.
  • the number of comparators can be reduced by setting the number of rows of the partial matrix obtained by dividing the check matrix to be equal to or greater than the number of columns. Further, since ⁇ _min only needs to store the updated value, the capacity of the external value storage unit 114 can be reduced.
  • the required prior value storage capacity is from the completion of column processing corresponding to the partial matrix Hsub x until row processing is performed, and may be a pipeline register. Therefore, the prior value storage unit 113 can be configured as a pipeline register, and the capacity of the prior value storage unit 113 can be reduced. Details will be described with reference to FIG.
  • FIG. 4 is a diagram showing the timing of column processing and row processing in partial parallel decoding, and represents decoding scheduling at the time of decoding processing.
  • decoding scheduling represents the order in which row processing and column processing are performed in the partially parallel decoding method.
  • row processing is performed after column processing of a column including a row to be processed is completed. Therefore, after the column processing Hsub 1, processing is performed in the order of the row processing Hsub 1. That is, after the column processing of Hsub 1 is performed, the row processing of Hsub 1 is performed, and further, the column processing of Hsub 2 is performed.
  • the time required for processing from the start of the column processing Hsub 1 to the end of the row processing Hsub N is one iteration processing delay. After one iteration, the next iteration can be started.
  • the prior value storage unit 113 stores a pipeline register having a capacity corresponding to the submatrix Hsub x. Can be configured.
  • FIG. 5 is a schematic diagram showing the entire process of decoding processing by partial parallel decoding.
  • the column processing unit 111 and the row processing unit 112 after one iteration of the decoding process is repeated a predetermined number of times, a hard decision is performed in the hard decision unit 115, and the decoding is completed.
  • “1 likelihood decoding” at this time corresponds to “decoding (likelihood #x)” in FIG.
  • FIG. 6 is a diagram illustrating an example of doubling the number of parallel operations for column processing in partial parallel decoding, and explaining that the iteration processing delay does not decrease even if the number of parallel operations for column processing is doubled. To do.
  • Hsub 1 and Hsub 2 can be simultaneously processed in parallel by doubling the number of parallel operations in column processing.
  • the row processing of Hsub 1 and Hsub 2 does not have a parallel processing configuration like the column processing because the minimum value search (calculation of ⁇ _min) is serial processing (serial processing).
  • ⁇ _min min ( ⁇ _min, ⁇ _Hsub 1, Hsub 2) (6)
  • ⁇ _min1 min ( ⁇ _min, ⁇ _Hsub 1)
  • ⁇ _min min ( ⁇ _min1, ⁇ _Hsub 2) (7) It is. That is, in order to obtain ⁇ _min, ⁇ _min1 must first be obtained, and serial processing is required.
  • the decoding unit has a multi-core configuration having a plurality of decoding cores, and the decoding process is distributed for each decoding core. For this reason, in the conventional decoding method in which the parity check matrix is not divided into sub-matrices, the row processing and the column processing cannot be pipelined, so that the processing time of Hsub1 ⁇ N ⁇ 2 processing delay is high speed. Decoding processing can be realized.
  • the processing time per iteration can be shortened without increasing the clock speed of the decoding circuit, and an increase in power consumption accompanying the increase in speed can be suppressed. Even if a partial parallel decoding method is used, the storage capacity of the prior value storage unit and the external value storage unit can be reduced by using the above configuration, and the increase in the size and complexity of the device configuration associated with the increase in speed can be suppressed. .
  • FIG. 7 is a block diagram showing the configuration of the decoding apparatus according to the second embodiment.
  • the second embodiment is a configuration example that realizes high-speed decoding processing and low power consumption.
  • the decoding apparatus includes a decoding unit 10, a likelihood storage unit 21, a selection unit 22, a clock generation unit 23, a clock gate unit 24, a header analysis unit 25, and a control unit 52.
  • a packet communication system based on IEEE 802.11ad supports a plurality of combinations of modulation schemes and coding rates.
  • the plurality of combinations are called MCS (Modulation and Coding Scheme) information and are described in a header in packet communication.
  • MCS Modulation and Coding Scheme
  • a decoding apparatus that can support a plurality of communication methods and operates at the maximum capacity during QPSK communication of 2 bits / symbol has a redundant decoding core for 1 bit during BPSK communication of 1 bit / symbol. There is a decoding core that goes into an idle state.
  • the header analysis unit 25 as an example of the MCS information acquisition unit analyzes a header in packet communication.
  • the header includes MCS information.
  • the header analysis unit 25 acquires MCS information based on the analysis result of the header of the received packet, and notifies the control unit 52 of the acquired MCS information.
  • the clock generation unit 23 includes, for example, an oscillator, and generates a clock for operating a circuit of a decoding device including the decoding unit 10.
  • the control unit 52 controls the clock supply from the clock gate unit 24 to the decoding unit 10 according to the MCS information.
  • the clock gate unit 24 as an example of the clock output unit can selectively output a clock. Based on the control of the control unit 52, the clock gate unit 24 gates the clock generated by the clock generation unit 23, and supplies or stops the clock to each of the decoding cores 11-1 to 11-N.
  • FIG. 8 is a timing chart showing the timing of the decoding process in the second embodiment.
  • communication is performed by switching between QPSK communication and BPSK communication, corresponding to a plurality of communication methods.
  • FIG. 8A shows the operation during QPSK communication
  • FIG. 8B shows the operation during BPSK communication.
  • QPSK communication corresponds to predetermined high-speed communication
  • BPSK communication corresponds to predetermined low-speed communication.
  • the clock gate unit 24 supplies clocks to the two decoding cores to operate each decoding core. That is, the clock gate unit 24 supplies the clock # 1 to the first decoding core 11-1 (decoding core # 1) and supplies the clock # 2 to the second decoding core 11-2 (decoding core # 2). To do.
  • the decoding processing is performed in a distributed manner by the two decoding cores 11-1 and 11-2, and the likelihoods # 1, # 2, # 3, # 4, Decode #m.
  • the clock gate unit 24 operates by supplying a clock to a smaller number, in this example, one decoding core than at the time of QPSK communication. That is, the clock gate unit 24 supplies the clock # 1 to the first decoding core 11-1 (decoding core # 1) and stops supplying the clock to the second decoding core 11-2 (decoding core # 2). To do. Accordingly, in FIG. 8B, decoding processing is performed by one decoding core 11-1, and likelihoods # 1, # 2,..., #M are decoded.
  • the transmission rate of each codeword is half (transmission time is twice) and the input rate of input likelihood is halved compared to QPSK communication, so that the decoding core has half the processing capacity (2 Double the processing time).
  • the control unit 52 operates half of the decoding cores 11-1 to 11-N in the decoding unit 10 and pauses half of the decoding cores in the idle state, thereby reducing unnecessary power consumption. Reduce.
  • the clock of the decoding core in the idle state is gated, and the operation of the decoding core in the idle state is stopped.
  • unnecessary power consumption in the decoding core in the idle state can be reduced, and power consumption can be reduced. Therefore, in a configuration that realizes high-speed decoding processing, for example, power consumption can be reduced and power consumption can be reduced according to various situations during operation typified by a communication method and transmission rate.
  • FIG. 9 is a block diagram illustrating a configuration of a decoding device according to the third embodiment.
  • the third embodiment is a configuration example that realizes high throughput when the propagation path environment is good even when the maximum number of iterations of the decoding apparatus is equal to or less than a predetermined value.
  • the decoding apparatus includes a decoding unit 10, a likelihood storage unit 21, a selection unit 22, a clock generation unit 23, a clock gate unit 24, a header analysis unit 25, a radio unit 26, a demodulation unit 27, and a propagation path environment.
  • the configuration includes an estimation unit 28 and a control unit 53.
  • the radio unit 26 has a high frequency circuit including an amplifier and a frequency converter, and performs radio signal processing including amplification and frequency conversion of a radio signal received by the antenna.
  • the demodulator 27 is configured by an electronic circuit having a signal processing circuit, for example, performs demodulation processing on the received signal output from the radio unit 26, and outputs a likelihood related to the received signal.
  • the propagation path environment estimation unit 28 is based on the received signal demodulated by the demodulation unit 27, for example, SNR (Signal to Noise Ratio), CNR (Carrier to Noise Ratio), RSSI (Received Signal Strength).
  • SNR Signal to Noise Ratio
  • CNR Carrier to Noise Ratio
  • RSSI Receiveived Signal Strength
  • the control unit 53 reduces the number of iterations in the decoding process of the decoding core 11 when determining that the propagation path environment is good based on the estimation result of the propagation path environment by the propagation path environment estimation unit 28.
  • a first decoding mode corresponding to MCS for example, BPSK, QPSK
  • a second decoding mode corresponding to MCS for example, 16QAM
  • the propagation path environment estimated value is less than a predetermined value, and low-speed communication is often selected as the communication method.
  • the propagation path environment estimated value is greater than or equal to a predetermined value, and high-speed communication is often selected as the communication method.
  • the decoding process with a small number of iterations is performed using the second decoding mode.
  • the control unit 53 feeds back to the communication partner that high-speed communication is possible.
  • FIG. 10 is a timing chart showing the timing of the decoding process in the third embodiment.
  • the transmission rate (input likelihood input rate) of each codeword is twice that of QPSK (transmission time is half of QPSK).
  • the decoding time per likelihood is shortened by using the second decoding mode in which is reduced. Note that, except for a good propagation path environment, the first decoding mode that is the decoding method in the first embodiment or the second embodiment is used.
  • the error correction capability deteriorates.
  • the propagation path environment is good, the error included in the received signal is statistically small. Since the error occurrence rate is low, errors can be corrected even with a small number of iterations.
  • the decoding device changes from the first decoding mode to the second decoding mode when the propagation path environment is good even when the maximum number of iterations is not more than a predetermined value during high-speed communication.
  • High throughput can be realized by switching.
  • FIG. 11 is a block diagram illustrating a configuration of a decoding device according to the fourth embodiment.
  • the fourth embodiment is another configuration example for realizing low power consumption of the decoding device.
  • the decoding device includes a decoding unit 10, a likelihood storage unit 21, a selection unit 22, a clock generation unit 23, a clock gate unit 24, a header analysis unit 25, a radio unit 26, a demodulation unit 27, and a propagation path environment.
  • the configuration includes an estimation unit 28, a clock frequency division unit 29, a power supply 31, a low voltage power supply 32, a setting unit 33, and a control unit 54.
  • the clock divider 29 includes, for example, a divider, divides the clock for circuit operation generated by the clock generator 23, and outputs a low-speed clock.
  • the clock gate unit 24 switches the output of the clock based on the control of the control unit 54, and the clock from the clock generation unit 23 or the low-speed clock from the clock frequency division unit 29 is sent to each decoding core 11-1 to 11-N. Supply.
  • the clock from the clock generator 23 corresponds to the first clock
  • the low-speed clock from the clock divider 29 corresponds to the second clock.
  • the clock dividing unit 29 and the clock gate unit 24 realize the function of the clock output unit.
  • the power supply 31 corresponds to a first power supply that outputs power at a normal operating voltage.
  • the low voltage power supply 32 corresponds to a second power supply that outputs power having a voltage lower than the normal operating voltage.
  • the power supply 31 and the low voltage power supply 32 are each realized by a power supply circuit that outputs predetermined power.
  • the setting unit 33 receives a setting input by the user and sets the user's orientation.
  • User-oriented setting information is sent to the control unit 54.
  • As the user orientation for example, best effort (high-speed communication) orientation or power saving orientation is set.
  • the control unit 54 supplies the low-speed clock from the clock dividing unit 29 to the decoding unit 10 at the time of low-speed communication (at the time of low throughput) according to the user's preference, and reduces the clock speed. Power is supplied to the decoding unit 10 to lower the power supply voltage.
  • the decoding unit 10 of the present embodiment has a capability of performing decoding processing corresponding to the communication speed of QPSK. If the modulation method of the received packet is BPSK, the decoding unit 10 can perform the decoding process even if the clock speed is low after using a decoding method corresponding to the communication speed of QPSK.
  • K the normal clock frequency
  • L the number of clock cycles for one-likelihood decoding when decoding processing corresponding to the communication speed of QPSK is performed.
  • Tq L / K.
  • the clock speed is halved to K / 2.
  • the decoding unit 10 corresponding to QPSK can decode a packet using BPSK even if the clock speed is halved.
  • the modulation multi-level number that can be processed by the decoding unit 10 is N
  • the multi-level number of the modulation method used in the received packet is M
  • the clock frequency division number is R.
  • the control unit 54 reduces the clock speed when the received packet is BPSK modulated, that is, during BPSK communication.
  • the clock gate 24 supplies the low-speed clock from the clock divider 29 to the decoding core 11 under the control of the controller 54.
  • control unit 54 supplies low-voltage power to the decoding core 11 using the low-voltage power supply 32 during BPSK communication.
  • the clock supplied to the decoding core 11 is a low-speed clock and the power source is a low-voltage power source.
  • the voltage value supplied from the low voltage power supply 32 is lower than the normal operating voltage from the power supply 31 and is equal to or higher than the lowest voltage that can drive the decoding core 11 with a low-speed clock.
  • the circuit can be driven by lowering the operation clock even when the power supply voltage is lowered with respect to the normal operation voltage. Further, it is described that power consumption can be reduced by reducing the power supply voltage and the operation clock.
  • the clock frequency at which the decoding core 11 can operate is lowered due to the power supply voltage drop.
  • the clock frequency required in BPSK communication is half of the clock frequency required in QPSK communication
  • the lower limit of the operation clock frequency decrease due to the power supply voltage decrease in the decoding core 11.
  • the operation satisfying the desired number of iterations is possible up to half the original clock frequency. Further, power consumption can be reduced by lowering the clock frequency and lowering the power supply voltage.
  • the clock dividing unit 29 is changed.
  • the power consumption of the circuit is proportional to the square of the power supply voltage and proportional to the operating clock frequency. Therefore, power consumption can be reduced by performing low-voltage driving and low-speed clock operation.
  • the low voltage power supply may be driven after analyzing the MCS of the received packet.
  • the following control is performed.
  • the control unit 54 feeds back information (for example, MCS, communication throughput) regarding the allowable communication speed allowed by the receiving side to the communication partner at the time of handshaking with the communication partner at the start of communication.
  • the communication partner's transmitting device communicates at the allowable communication speed of the receiving side (the receiving device having the decoding device of the present embodiment).
  • an allowable MCS is used as the allowable communication speed.
  • FIG. 13 is a sequence diagram showing a handshake procedure at the time of communication initialization in the fourth embodiment.
  • the receiving device STA 2 (Rx) and the communication partner transmitting device STA 1 (Tx) have the decoding device of this embodiment.
  • the transmitting apparatus STA 1 transmits a link establishment request to the receiving apparatus STA 2 [1], and the receiving apparatus STA 2 receives the link establishment request and performs propagation path environment estimation [2]. Then, the receiving apparatus STA 2 approves the link establishment [3], refers to the MCS corresponding to the preset user orientation, and feeds back the allowable MCS information to the transmitting apparatus STA 1.
  • the transmitting device STA 1 receives the allowable MCS information and completes the link establishment confirmation [4]. Thereafter, the transmission apparatus STA 1 starts communication by the allowable MCS and transmits transmission data to the reception apparatus STA 2 [5]. Thereafter, communication is performed using the MCS set between the transmitting apparatus STA 1 and the receiving apparatus STA 2.
  • the reception device STA2 can normally demodulate and decode the received data, it feeds back ACK to the transmission device STA1.
  • the receiving device can be driven by a low voltage power source in advance.
  • the allowable communication speed information represented by MCS allowed by the receiving side may be controlled according to the user's intention. For example, when the user intends to operate with low power consumption rather than high-speed communication, the control unit 54 limits the allowable MCS to, for example, BPSK. On the other hand, when the user intends to perform high-speed communication, the control unit 54 performs control such as “allowable MCS is up to QPSK”, for example.
  • FIG. 12 is a diagram illustrating an example of the relationship between the propagation path environment and the user-oriented MCS.
  • the control unit 54 has, as user-oriented information, for example, a table in which a propagation path environment estimated value and an MCS based on user-oriented are associated.
  • MCS values 1 to 3 are such that 1 is a low transmission rate communication (for example, BPSK), 2 is a medium transmission rate communication (for example, QPSK), and 3 is a high transmission rate communication (for example, 16 QAM).
  • Best effort oriented (communication speed oriented) gives priority to transmission speed and performs high-speed communications when the propagation path environment is good. In the power saving direction, priority is given to power consumption, and low-speed or moderate communication is performed even if the propagation path environment is good.
  • the control unit 54 compares the estimated channel environment estimated value Pest (for example, CNR, SNR, RSSI) with the threshold values (P1, P2 in the example of FIG. 12), and compares the corresponding MCS with the communication on the transmission side. Give feedback to the other party.
  • the communication device on the transmission side determines the MCS based on the feedback information, and transmits the transmission data generated according to the MCS.
  • the present embodiment when performing low-speed communication with respect to the processing capability of the decoding circuit, it is possible to reduce power consumption and realize low power consumption by using a low-speed clock and a low-voltage power supply.
  • error correction technology has shifted from hard decision error correction (for example, Reed-Solomon code, BCH code) to soft decision error correction (for example, Viterbi decoding), but in recent years, soft decision error correction with higher correction capability (For example, a turbo code or a low-density parity-check (LDPC) code) is used.
  • hard decision error correction for example, Reed-Solomon code, BCH code
  • soft decision error correction for example, Viterbi decoding
  • soft decision error correction with higher correction capability for example, a turbo code or a low-density parity-check (LDPC) code
  • the soft decision error correction code does not express the received data as a binary bit string of “0” and “1” (hard decision), but expresses the probability of the received data by a plurality of bits (soft). Judgment) improves the correction ability.
  • turbo codes or LDPC codes are used as a result of efforts to solve the problem of how to realize communication close to the Shannon limit, which is a theoretical limit.
  • the circuit configuration increases in complexity and the circuit scale is large.
  • the cause of the complexity is that an operation for performing error correction on received data during communication is included in an error correction circuit currently in practical use. Therefore, the error correction circuit also increases power consumption, which hinders downsizing and low power consumption.
  • circuit scale Another factor that increases the circuit scale is the number of bits of data to be processed. That is, since the soft decision expresses the certainty of received data by a plurality of bits, the circuit scale increases as the number of bits of data (soft decision value) increases. Also, as the number of bits increases, the power consumption of the circuit also increases.
  • Reference Patent Document 1 Prior arts for changing (scaling) the number of soft decision bits according to the quality of a channel as a transmission path are disclosed in Reference Patent Document 1 and Reference Patent Document 2.
  • An outline of Reference Patent Document 1 is shown in FIG. 25, and an outline of Reference Patent Document 2 is shown in FIG.
  • a soft value (soft decision value) output from a demodulator 556 is processed through a decoder 558 to determine a scale factor to be used as a function of a preselected channel quality value 566. (CPU) 544.
  • the processor 544 returns the scaled soft value to the decoder 558.
  • the scaling circuit included at the input of the decoder 558 is a circuit used to perform a scaling dependent iterative decoding process. That is, a scaling circuit is used to scale the soft input value before iterating the decoding process.
  • the scaling factor is determined by solving an equation using the processor 544.
  • the channel monitoring unit 649 constantly calculates a bit error rate (BER) based on the correction result output from the error correction decoding unit 625, and the channel state based on the bit error rate. Is constantly monitored. Further, the communication channel monitoring unit 649 obtains a signal-to-noise ratio (SNR) of the communication channel based on the bit error rate, and outputs the signal-to-noise ratio to the scaling unit 650. Based on the signal-to-noise ratio received from communication channel monitoring unit 649, scaling unit 650 determines whether or not to multiply log-likelihood ratio ⁇ n from likelihood determining unit 648 by a predetermined magnification.
  • BER bit error rate
  • SNR signal-to-noise ratio
  • the scaling unit 650 multiplies the log likelihood ratio ⁇ n by a predetermined magnification and outputs the result to the error correction decoding unit 625.
  • the present disclosure exemplifies a decoding device, a decoding method, and a wireless communication device that perform high-speed decoding by reducing the decoding processing amount of received data according to the communication quality of the transmission path.
  • FIG. 14 is a block diagram illustrating a configuration example of the transmission / reception device 300 according to the present embodiment.
  • the transmission / reception device 300 as a wireless communication device includes a transmission unit TX and a reception unit RX.
  • the transmission unit TX of the transmission / reception apparatus 300 includes an error correction encoder 301, a modulator 302, a DAC (Digital-Analog-Converter) 303, a transmission analog processing unit 304, a PA (Power-Amplifier) 305, and an antenna (ANT) connected to an antenna Ant. ) Circuit 306.
  • the reception unit RX of the transmission / reception device 300 includes an antenna circuit 306 to which an antenna Ant is connected, a reception analog processing unit 307, an ADC (Analog Digital Converter) 308, a demodulation unit 309, an error correction decoder 310, and a data recognition unit 311.
  • the antenna Ant is configured using, for example, an antenna element.
  • the antenna circuit 306 to which the antenna Ant is connected may be included in either the transmission unit TX or the reception unit RX.
  • the error correction encoder 301 adds an error correction code (for example, a parity code generated by a low density parity check (LDPC) code as an error correction check code) to transmission data.
  • an error correction code for example, a parity code generated by a low density parity check (LDPC) code as an error correction check code
  • the transmission data to which the parity code is added by the error correction encoder 301 is input to the modulator 302.
  • the modulator 302 modulates the input transmission data according to a modulation scheme shared in advance with another receiving apparatus (not shown).
  • a modulation scheme shared in advance with another receiving apparatus (not shown).
  • modulation methods for example, there are BPSK (Binary Phase Shift Keying), QPSK (Quadrature Phase Shift Keying), and 16 QAM (Quadrature Amplitude Modulation).
  • the transmission data modulated by the modulator 302 is input to the DAC 303.
  • the DAC 303 converts digital signal transmission data into an analog signal.
  • An analog signal output from the DAC 303 is input to the transmission analog processing unit 304 and subjected to predetermined signal processing (for example, up-conversion processing from a baseband signal to a high-frequency signal), and then input to the PA 305.
  • predetermined signal processing for example, up-conversion processing from a baseband signal to a high-frequency signal
  • PA 305 amplifies the input analog signal and outputs it to antenna circuit 306. Accordingly, a wireless transmission signal (radio wave) is output from the antenna circuit 306 via the antenna Ant.
  • a radio signal transmitted from another transmission device is received by the antenna circuit 306 via the antenna Ant and input to the reception analog processing unit 307 as a reception signal.
  • the reception analog processing unit 307 performs predetermined signal processing (for example, down-conversion processing from a high-frequency signal to baseband, AGC (Auto Gain Control) processing) on the input reception signal.
  • the reception signal processed by the reception analog processing unit 307 is input to the ADC 308.
  • the ADC 308 converts the received signal input as an analog signal into a digital signal and outputs it as received data.
  • the demodulator 309 demodulates the received data input from the ADC 308 according to a predetermined modulation scheme (for example, BPSK, QPSK, 16QAM) shared in advance with another transmitting apparatus (not shown).
  • a predetermined modulation scheme for example, BPSK, QPSK, 16QAM
  • the received data demodulated by the demodulator 309 is input to an error correction decoder 310 as a decoding device of this embodiment.
  • the error correction decoder 310 performs error correction decoding on the input received data, and outputs the received data after error correction decoding to the data recognition unit 311.
  • the data recognition unit 311 receives the error-corrected received data output from the error correction decoder 310 and recognizes data necessary for control of the transmission / reception device 300. For example, the data recognizing unit 311 recognizes information on the modulation format and coding rate of the payload included in the header of the received data, and determines the timing necessary for controlling the transmission / reception device 300 based on the guard interval (GI). Generate.
  • GI guard interval
  • FIG. 15 An example of the configuration of the error correction receiving apparatus 400 of this embodiment is shown in FIG.
  • the error correction receiving apparatus 400 shown in FIG. 15 corresponds to the error correction decoder 310 shown in FIG.
  • the error correction receiving apparatus 400 includes a bit number limiting unit 401, an error correction decoding unit 402, a parity check unit 403, a control unit 404, and a clock generation unit 405.
  • the bit number limiting unit 401 inputs received data as an output of the demodulating unit 309 shown in FIG.
  • the received data is a soft decision value representing the probability of bit data “0” and “1”.
  • the reception data RD1 is input to the bit number limiting unit 401 as a 5-bit parallel signal. Note that the number of bits of the reception data RD1 may be changed as necessary.
  • the bit number limiting unit 401 limits the number of effective bits of the reception data RD2 input to the error correction decoding unit 402 as a soft decision value. Specifically, the bit number limiting unit 401 outputs, as received data RD2, a result of fixing each bit other than the most significant bit of the parallel signal to “0” for the received 5-bit received data RD1. For example, in the 5 bits of the reception data RD2, the same signal as that of the reception data RD1 is output except for the fixed bits, or a rounding process is performed on the bits fixed to 0 and output.
  • the bits fixed by the bit number limiting unit 401 are determined according to the control signal CON1 output from the control unit 404.
  • the bit number limiting unit 401 is configured to fix the received data of the input 5-bit parallel signal in a state where the least significant bit of the received data RD2 is fixed, a state where the lower 2 bits are fixed, and a lower 3 bits. To the fixed state, the lower 4 bits are fixed, or all the bits are not fixed (same as RD1).
  • changing the number of effective bits of the received data RD2 input to the error correction decoding unit 402 by the bit number limiting unit 401 is synonymous with scaling of the soft decision value. That is, if the number of effective bits of the received data RD2 is increased, the error correction capability of the error correction decoding unit 402 is increased, and if the number of effective bits is decreased, the error correction capability of the error correction decoding unit 402 is decreased.
  • the error correction decoding unit 402 receives the received data RD2 as a soft decision value and repeats predetermined decoding, that is, iteratively decodes the received data error. The number of decoding iterations may be changed as necessary.
  • the processing result of the error correction decoding unit 402 is input to the parity check unit 403 as 1-bit signal reception data RD3.
  • the error correction decoding unit 402 operates in synchronization with a clock pulse CLK having a fixed period supplied by the clock generation unit 405.
  • a parity check unit 403 serving as a data error detection unit sequentially receives the received data RD3 output from the error correction decoding unit 402 and performs parity check, thereby converting the error correction processing result data of the error correction decoding unit 402 into data. Identify if there are no errors.
  • the parity check unit 403 outputs a signal PCH indicating the presence or absence of a data error to the control unit 404 as a result of the parity check.
  • the corrected reception data RD4 output from the parity check unit 403 is a 1-bit signal that is the same as the reception data RD3 output from the error correction decoding unit 402. Note that the parity check unit 403 operates in synchronization with a clock pulse CLK having a fixed period supplied by the clock generation unit 405.
  • the control unit 404 inputs the “reception data enable” and “coding rate” signals output from the data recognition unit 311 shown in FIG.
  • “Received data enable” is a timing signal representing a valid period of received data, and is generated by the data recognition unit 311 based on a guard interval in the received signal.
  • the “coding rate” is information included in the header area of the received signal.
  • the control unit 404 grasps the number of repetitions of decoding in the error correction decoding unit 402 and grasps the presence / absence of a data error based on the signal PCH. Since the time required for one decoding in the error correction decoding unit 402 is constant, the control unit 404 grasps the number of decoding iterations of the error correction decoding unit 402 based on the elapsed time from the start of decoding. To do.
  • the control unit 404 determines the number of effective bits of the reception data RD2 limited by the bit number limiting unit 401 based on the number of decoding iterations of the error correction decoding unit 402 and the presence / absence of a data error grasped by the signal PCH, A control signal CON1 corresponding to the number of effective bits is output.
  • the control unit 404 determines the number of effective bits by monitoring the operation status of the error correction decoding unit 402, that is, the quality of the transmission path.
  • control unit 404 controls the output of the control signal CON2 to stop the supply of the clock pulse CLK output from the clock generation unit 405 or restart the supply of the clock pulse CLK. Specific operations of the control unit 404 will be described later.
  • FIG. 16 shows a configuration example of the error correction decoding unit 402 in the error correction receiving apparatus 400 of FIG. That is, when a known minisum decoding method is used as an LDPC code decoding method, the error correction decoding unit 402 can be configured by the circuit shown in FIG.
  • the error correction decoding unit 402 includes a column processing unit 501 and a row processing unit 502. Each processing unit performs arithmetic processing according to the above-described equations (3) and (4). That is, although not illustrated, the inside of the column processing unit 501 and the row processing unit 502 is configured using an adder and a comparator that searches for a minimum value.
  • the error correction decoding unit 402 using the “minisum decoding method” gives an error rate characteristic equivalent to that of the “sum-product” algorithm, for example, by giving a value of about “0.8” as ⁇ in Equation (4). Obtainable. Note that the value “0.8” is merely an example, and the optimum value varies depending on the check matrix H.
  • FIGS. 17, 18, and 19 Specific examples of timing related to the operation of the error correction receiving apparatus 400 are shown in FIGS. 17, 18, and 19.
  • FIG. 17 is a time chart illustrating an operation example of the error correction receiving apparatus 400 when the transmission path quality is poor.
  • FIG. 18 is a time chart showing an operation example of the error correction receiving apparatus 400 when the transmission path quality is better than FIG.
  • FIG. 19 is a time chart showing an operation example of the error correction receiving apparatus 400 when the transmission path quality is better than FIG.
  • the error correction receiving apparatus 400 receives the received data in the frame format shown in FIG. That is, the received data includes header data DH, and first payload data DP1, second payload data DP2, third payload data DP3,.
  • the header data DH holds information for managing data transmitted / received by the transmission / reception device 300. Specifically, it holds information on the modulation format and coding rate of the payload storing the data body.
  • the modulation format of the header of the received data is shared in advance with other transmission devices (not shown). Further, a guard interval (GI) as a known signal is provided between each data in the frame format.
  • GI guard interval
  • each unit of the error correction receiving apparatus 400 is as follows.
  • the bit number limiting unit 401 When the control signal CON1 from the control unit 404 is not input, the bit number limiting unit 401 outputs the reception data RD1 output from the demodulation unit 309 to the error correction decoding unit 402 as reception data RD2.
  • Error correction decoding section 402 receives received data RD2 and repeats error correction decoding. Each time the error correction decoding process is executed, the reception data RD3 after error correction is output.
  • the parity check unit 403 performs a parity check on the received error-corrected received data RD3. If the syndrome becomes 0, the parity check unit 403 determines that there is no data error in the error-corrected received data RD3, and outputs a signal PCH in which the parity check is “OK”.
  • the error correction decoding unit 402 shown in FIG. 15 has an upper limit on the number of repetitions of error correction decoding.
  • the upper limit of the number of repetitions of error correction decoding is six.
  • the parity check is “OK” when the number of repetitions reaches the upper limit of 6. Note that the 0th iteration is a state in which error correction is not executed.
  • the parity check is “OK” when the number of repetitions of error correction decoding is the first.
  • the error correction decoding unit 402 since the error correction decoding unit 402 has relatively good transmission path quality, the error correction decoding unit 402 can decode received data having no data error in the first error correction decoding.
  • the clock generation unit 405 stops supplying the clock pulse CLK to the error correction decoding unit 402 based on the control signal CON2 output from the control unit 404. Since the error correction decoding unit 402 operates in synchronization with the clock pulse CLK, when the supply of the clock pulse CLK is stopped, the circuit operation of the error correction decoding unit 402 is also stopped. That is, when the parity check becomes “OK” at an early stage, the error correction receiving apparatus 400 can reduce the power consumption of the error correction decoding unit 402 by stopping the supply of the clock pulse CLK.
  • the parity check is “OK” when the error correction decoding iteration number is zero. That is, since the error correction decoding unit 402 can decode the received data without data error before error correction decoding, the quality of the transmission path is good.
  • the clock generation unit 405 clocks the error correction decoding unit 402 based on the control signal CON2 from the control unit 404.
  • the supply of the pulse CLK is stopped, and the circuit operation of the error correction decoding unit 402 is stopped.
  • bit number limiting unit 401 can limit the number of effective bits of the reception data RD2 input to the error correction decoding unit 402.
  • the control unit 404 determines the number of effective bits, and controls the operation of the bit number limiting unit 401 using the control signal CON1.
  • the extent to which the number of effective bits can be limited is determined according to the quality of the transmission path. Also, in FIGS. 17 to 19, there is a large correlation between the number of repetitions of decoding by the error correction decoding unit 402 until the parity check is detected as “OK” and the quality of the transmission path. Therefore, the control unit 404 determines the number of effective bits by associating the number of repetitions of decoding until the parity check is detected as “OK” with the number of effective bits.
  • the control unit 404 holds an effective bit number table and determines the effective bit number using the effective bit number table. Thereby, the control unit 404 can efficiently determine the number of effective bits limited by the bit number limiting unit 401. Specific configuration examples of the effective bit number table are shown in FIGS. 20 and 21, respectively.
  • the effective bit number table TBL1 shown in FIG. 20 is different from the effective bit number table TBL2 shown in FIG. Either one of the effective bit number tables TBL1 and TBL2 may be used, or may be selectively used according to the state of the quality of the transmission path.
  • the contents of the effective bit number table may be stored in a memory (for example, a non-volatile memory) in the control unit 404, and the control unit 404 may rewrite the contents as necessary.
  • the effective bit number table TBL1 shown in FIG. 20 includes the following four types of data DT1, DT2, DT3, and DT4. That is, the data DT1 represents the number of times the decoding process is repeated until the parity check “OK” is detected. Data DT2 represents the number of soft decision bits. Data DT3 represents the number of effective bits. Data DT4 represents the number of bits fixed to “0”.
  • the control unit 404 can associate the number of repetitions of decoding corresponding to the data DT1 with the number of effective bits corresponding to the data DT3 or the data DT4 by referring to the effective bit number table TBL1 shown in FIG.
  • a specific example of using the effective bit number table TBL1 will be described. For example, in the operation example shown in FIG. 19, when the header data DH is decoded, the parity check “OK” is performed when the number of repetitions of decoding is 0.
  • the control unit 404 refers to the “0th” of the data DT1 in the effective bit number table TBL1, recognizes that the content of the data DT3 corresponding to the “0th” of the data DT1 is “1 bit”, and determines the number of effective bits. Is determined to be “1 bit”.
  • the control unit 404 gives information indicating that the number of effective bits is “1 bit” to the bit number limiting unit 401 as the control signal CON1.
  • the bit number limiting unit 401 fixes the lower 4 bits to “0” in the received data RD2 configured by the 5-bit parallel signal, and sets the most significant 1 bit as a valid bit.
  • the number of effective bits of the received data RD2 input to the error correction decoding unit 402 is one bit. That is, even if the 5-bit received data RD1 which is the soft decision value changes, the lower 4 bits in the 5 bits constituting the received data RD2 remain “0”.
  • the control unit 404 refers to the “first time” of the data DT1 of the effective bit number table TBL1, recognizes that the content of the data DT3 corresponding to the “first time” of the data DT1 is “2 bits”, and determines the number of effective bits. Is determined to be “2 bits”.
  • the control unit 404 gives information indicating that the number of effective bits is “2 bits” to the bit number limiting unit 401 as the control signal CON1. Accordingly, the bit number limiting unit 401 fixes the lower 3 bits to “0” in the received data RD2 configured by the 5-bit parallel signal, and sets the remaining upper 2 bits as effective bits.
  • FIG. 22 is a flowchart for explaining the operation of the error correction receiving apparatus 400 for the header.
  • FIG. 23 shows a flowchart for explaining the operation of the error correction decoder for the payload. That is, the control is performed sequentially according to the procedures shown in FIGS. 22 and 23 under the control of the control unit 404.
  • steps S11 to S16 in FIG. 22 are executed.
  • payload data (DP1, DP2,...) Appears, steps S21 to S28 in FIG. 23 are executed.
  • the bit number limiting unit 401 does not limit the number of valid bits of the reception data RD2. That is, 5-bit received data RD1 is input to error correction decoding section 402 as received data RD2.
  • the error correction decoding unit 402 calculates error correction parameters and performs error correction decoding on the received data RD2.
  • the initial value of the error correction parameter is 0. Accordingly, the error correction decoding unit 402 performs decoding without correction at the first time, that is, the “0th” in FIGS. 17 to 19 (S11).
  • the control unit 404 counts the number of repetitions of error correction decoding in the error correction decoding unit 402 (S12). The initial value of the number of repetitions is 0. Since the time required for one error correction decoding is determined in advance, the control unit 404 counts the number of repetitions of the error correction decoding in the error correction decoding unit 402 according to the elapsed time from the start of the error correction decoding. .
  • the control unit 404 monitors the signal PCH as a parity check result in which the parity check unit 403 performs a parity check on the decoding result, and whether or not the parity check is OK. Is identified (S13).
  • the parity check is NG, and the operation of the error correction receiving apparatus 400 returns from step S13 to step S11. . That is, the error correction decoding unit 402 repeats error correction decoding a plurality of times (S11). Further, the control unit 404 counts the number of repetitions (S12).
  • the control unit 404 When the parity check is OK (S13, YES), the control unit 404 outputs the control signal CON2 to the clock generation unit 405, and supplies the clock pulse CLK to the error correction decoding unit 402 and the parity check unit 403. Is stopped by the clock generator 405 (S14). As a result, the operation of the error correction decoding unit 402 and the operation of the parity check unit 403 are stopped.
  • the control unit 404 determines the effective bit number by referring to the effective bit number table TBL1 using the number of repetitions of error correction decoding (S15). The control unit 404 outputs the control signal CON1 and sets the number of effective bits limited by the bit number limiting unit 401 (S16).
  • step S16 the bit number limiting unit 401 limits the number of effective bits. Therefore, when the error correction receiving apparatus 400 receives payload data, the received data RD2 with the limited number of effective bits is error correction decoded. The data is input to the unit 402 (S21).
  • the error correction decoding unit 402 calculates error correction parameters and performs error correction decoding on the received data RD2.
  • the initial value of the error correction parameter is 0. Therefore, the error correction decoding unit 402 performs decoding without correction at the first time, that is, the “0th” in FIGS. 17 to 19 (S22).
  • the control unit 404 counts the number of repetitions of error correction decoding in the error correction decoding unit 402 (S23). The initial value of the number of repetitions is 0. Since the time required for one error correction decoding process is determined in advance, the control unit 404 performs error correction decoding in the error correction decoding unit 402 according to the elapsed time from the start of error correction decoding for one payload data. Count the number of repetitions.
  • the control unit 404 monitors the signal PCH as a parity check result in which the parity check unit 403 performs a parity check on the decoding result, and whether or not the parity check is OK. Is identified (S24).
  • step S24 If there is a data error in the received data RD3 output from the error correction decoding unit 402 (S24, NO), the parity check is NG, and the operation of the error correction receiving apparatus 400 goes from step S14 to step S26.
  • the process returns to step S22. That is, the error correction decoding unit 402 repeats error correction decoding a plurality of times (S22). Further, the control unit 404 counts the number of repetitions (S23).
  • the control unit 404 identifies whether it is NG even when the number of repetitions reaches a predetermined maximum value (for example, 6 times) (S26). ). In the case of NG even when the number of repetitions reaches the maximum value (S26, YES), the control unit 404 refers to the valid bit number table TBL1 or TBL2 again, and the number of valid bits is larger than the previous valid bit number. (S27). The control unit 404 outputs the control signal CON1, and sets the number of effective bits changed in step S27 as the number of effective bits limited by the bit number limiting unit 401 (S28).
  • step S16 The state where the number of effective bits is limited in step S16 is when the quality of the transmission path is good. Therefore, even when the bit number limiting unit 401 limits the number of valid bits, the parity check is OK before the number of repetitions of error correction decoding reaches the maximum value. Therefore, steps S26 to S28 are not always necessary.
  • the quality of the transmission path may deteriorate suddenly.
  • the error correction capability of the error correction decoding unit 402 can be improved by the control unit 404 increasing the number of effective bits in steps S27 and S28.
  • error correction receiving apparatus 400 can decode received data in response to a dynamic change in the quality of the transmission path.
  • FIG. 24 shows the relationship between the number of effective bits of the soft decision value and the error rate (BER). Specifically, FIG. 24 shows a simulation result of the relationship between the error rate (BER) in the noise ratio (Eb / No) per bit and the number of soft decision bits of the received data RD2.
  • the error rate does not change even if the number of soft decision bits is reduced from 5 bits to 1 bit, and the same error correction decoding result is obtained. Therefore, the number of effective bits of the soft decision value of the reception data RD2 input to the error correction decoding unit 402 may be reduced.
  • the control unit 404 determines that the quality of the transmission path is good when the number of decoding repetitions DT1 is small, and is effective.
  • the number of bits DT3 can be reduced.
  • control unit 404 can appropriately determine an appropriate number of effective bits using the effective bit number table TBL1.
  • the bit number limiting unit 401 fixes the lower 4 bits of the reception data RD2 to 0.
  • 4 bits are 0 and fixed, so that power consumption can be reduced.
  • the error correction decoding unit 402 uses a sum-product decoding method or a decoding method obtained by simplifying the sum-product decoding method (for example, a mini-sum decoding method) for decoding an LDPC code.
  • the internal circuit of the error correction decoding unit 402 is configured mainly using an adder, for example.
  • the multi-bit signal to be processed includes a bit fixed to “0”, a circuit for processing the fixed bit becomes unnecessary. Therefore, the power consumed by the circuit of the error correction decoding unit 402 is reduced.
  • control unit 404 determines the number of effective bits when processing the header of the received data, the number of effective bits can be reduced in the processing of the payload including the data body. Thereby, the effect of reducing power consumption increases.
  • the error correction receiving apparatus 400 of this embodiment changes the number of effective bits of the soft decision bit according to the parity check result for the number of repetitions of the error correction decoding unit 402.
  • the operation circuit of the error correction decoding unit 402 can be reduced, and the power consumption of the transmission / reception device 300 including the error correction reception device 400 can be reduced.
  • the number of repetitions is small, the quality of the transmission path is good, so the lower bit of the reception data RD2 is fixed to 0 to limit the number of effective bits.
  • the decoding processing amount of the received data can be reduced and decoded at high speed according to the communication quality of the transmission path.
  • the error correction receiver 400 further reduces the power consumption by stopping the operation of the error correction decoding unit 402 and the parity check unit 403 in addition to reducing the power consumption by stopping the clock. Can be reduced.
  • the decoding device uses a storage unit that stores a plurality of likelihoods obtained by demodulating received packets, and a partial check matrix obtained by dividing a check matrix used for decoding, in parallel for each likelihood.
  • a decoding device is the decoding device according to the first disclosure, and selectively outputs an MCS information acquisition unit that acquires MCS information of the received packet and an operation clock of the decoding core.
  • a clock output unit, and the clock output unit supplies a clock in the high-speed communication in a predetermined low-speed communication in which the communication method for transmitting the received packet is slower than a predetermined high-speed communication based on the MCS information.
  • the clock is supplied to a smaller number of decoding cores than the number of decoding cores to be performed.
  • a decoding apparatus is the decoding apparatus according to the first disclosure, wherein an MCS information acquisition unit that acquires MCS information of the received packet, and a multi-level number of modulation schemes included in the MCS information
  • a clock output unit for outputting either a first clock used for normal operation of the decoding core or a second clock slower than the first clock, and a number of modulation schemes included in the MCS information.
  • the clock output unit outputs the first clock according to the number of values
  • the first power source of the normal operation voltage supplied to the decoding unit is output, and the clock output unit outputs the second clock. Is output, the power supply unit outputs a second power supply having a voltage lower than the normal operating voltage.
  • a decoding device is the decoding device according to the third disclosure, wherein the power supply unit notifies the communication partner of information relating to an allowable communication speed of the own device at the time of communication initialization with the communication partner, and performs modulation.
  • the communication partner is notified that low-speed communication with a small multi-value is allowed, the low-voltage power supply of the second power supply is output in advance.
  • a decoding device is the decoding device according to the fourth disclosure, further including a setting unit that inputs user-oriented information regarding communication speed or power consumption, and the clock output unit includes the user-oriented information.
  • the power supply unit selects a voltage to be output based on the user-oriented information.
  • a decoding device is the decoding device according to the fourth or fifth disclosure, and includes a propagation path environment estimation unit that estimates a propagation path environment for transmitting data to be decoded.
  • the allowable communication speed is set using a propagation path environment estimated value at the time of communication initialization.
  • a decoding device is a decoding device that decodes received data including a header, wherein an error correction decoding unit that performs error correction decoding of a soft decision value of the received data by iterative decoding, and the error correction decoding Based on the output result, a data error detection unit for detecting the presence or absence of a data error, the number of repetitions of iterative decoding in the error correction decoding of the header, and the error correction decoding based on the detection result of the presence or absence of the data error And a control unit that determines the number of effective bits of the received data to be subject to the above.
  • a decoding device is the decoding device according to the seventh disclosure, wherein a bit number limiting unit that limits the number of effective bits of the soft decision value of the received data input to the error correction decoding unit;
  • the bit number limiting unit limits the effective bit number of the soft decision value of the received data input to the error correction decoding unit according to the determined effective bit number.
  • a decoding device is the decoding device according to the eighth disclosure, wherein the bit number limiting unit includes a plurality of bits constituting the soft decision value according to the determined effective bit number. , The least significant bit or a plurality of bits including the least significant bit are fixed to 0.
  • a decoding device is the decoding device according to any of the seventh to ninth disclosures, in which the control unit determines a correspondence relationship between the number of repetitions of the iterative decoding process and the number of effective bits.
  • An effective bit number table holding information to be expressed, and the control unit determines the effective bit number according to the effective bit number table.
  • a decoding device is the decoding device according to any one of the seventh to tenth disclosures, wherein the control unit determines whether the number of repetitions of iterative decoding is the error correction decoding for the payload of the received data. If the data error is detected even if the predetermined upper limit number is exceeded, the number of effective bits is increased.
  • a decoding device is the decoding device according to any of the seventh to eleventh disclosures, wherein the error correction decoding unit performs the iterative decoding using a low-density parity check code or a turbo code, Error correction decoding is performed on the input received data.
  • a decoding device is the decoding device according to any of the seventh to twelfth disclosures, wherein the data error detection unit detects the data error at the output of the error correction decoding unit by a parity check. To do.
  • a decoding method is a decoding method for decoding received data including a header, wherein the header of the received data is subjected to error correction decoding by iterative decoding, and an output result of the error correction decoding, Based on the step of detecting the presence / absence of a data error, the number of repetitions of iterative decoding in the error correction decoding of the header, and the detection result of the presence / absence of the data error, the validity of the received data to be subjected to the error correction decoding Determining the number of bits.
  • the wireless communication device includes any one of the decoding devices according to the first to thirteenth disclosures.
  • the present disclosure has been described by taking an example in which the present disclosure is configured using hardware.
  • the present disclosure can also be realized by software in cooperation with hardware.
  • each functional block used in the description of each of the above embodiments is typically realized as an LSI that is an integrated circuit. These may be individually made into one chip, or may be made into one chip so as to include a part or all of each functional block.
  • the name used here is LSI, but it may also be called IC, system LSI, super LSI, or ultra LSI depending on the degree of integration.
  • the method of circuit integration is not limited to LSI, and may be realized using a dedicated circuit or a general-purpose processor.
  • An FPGA Field Programmable Gate Array
  • a reconfigurable processor in which connection and setting of circuit cells inside the LSI can be reconfigured may be used.
  • the present disclosure has an effect of enabling high-speed decoding processing, and is useful as an implementation of high-speed, low-power-consumption decoding processing, for example, in an error correction decoding device that corrects an error in a signal generated in a communication transmission line. It is.

Landscapes

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

Abstract

 復号対象データとなる受信パケット(例えば復調処理結果の尤度)を尤度毎に並列に復号処理する復号コア11-1~11-Nを複数有し、複数の復号コアにおける第1の復号コア11-1と第2の復号コア11-2とが並列的に復号処理可能な復号部10と、復号処理を制御する制御部51と、を備え、制御部51は、第1の復号コア11-1が復号対象データの第1の尤度を復号処理中に第2の尤度が入力された場合、第2の復号コア11-2に第2の尤度を復号処理させることにより、ある尤度復号中に別の復号コアを使用して別の尤度を復号処理可能とし、全体の復号処理速度を向上させる。

Description

復号装置
 本開示は、通信の伝送路において生じる信号の誤り訂正に好適な復号装置に関する。
 情報通信においては、データ転送速度の高速化が要求されている。このため、高速伝送に対応した復号処理が必要とされている。
 高速伝送に対応した復号処理を行う従来例として、例えば特許文献1には、復号処理を部分的に並列処理化する方法(部分並列復号方式)が開示されている。
日本国特開2007-110265号公報
 本発明者らは、高速伝送に対応した復号処理を行う復号装置を検討した。しかしならが、従来の並列処理化方法を用いても、高速伝送に十分に対応した復号処理結果を得ることは困難であった。
 従って、本開示は、前記課題を解決するために、高速伝送に対応した復号処理の処理能力を一層向上させることができる復号装置を提供する。
 本開示は、受信パケットを復調処理した複数の尤度を記憶する記憶部と、復号に用いる検査行列を分割した部分検査行列をそれぞれ用いて、前記尤度毎に並列に復号処理する復号コアを複数有する復号部と、を備え、前記部分検査行列は、行数が列数以上となる行列である、復号装置を提供する。
 本開示によれば、高速な復号処理が可能な復号装置を実現できる。
第1の実施形態に係る復号装置の構成を示すブロック図 第1の実施形態における復号処理のタイミングを示すタイミングチャート 部分並列復号の処理単位に分割した検査行列の例を示す図 部分並列復号における列処理及び行処理のタイミングを示すタイミングチャート 部分並列復号による復号処理の全過程を示す概略図 部分並列復号において列処理の並列演算数を倍にした場合を示すタイミングチャート 第2の実施形態に係る復号装置の構成を示すブロック図 第2の実施形態における復号処理のタイミングを示すタイミングチャート 第3の実施形態に係る復号装置の構成を示すブロック図 第3の実施形態における復号処理のタイミングを示すタイミングチャート 第4の実施形態に係る復号装置の構成を示すブロック図 伝搬路環境とユーザ志向別のMCSとの関係の一例を示す図 第4の実施形態における通信初期化時のハンドシェイク手順を示すシーケンス図 第5の実施形態の送受信装置の構成例を示すブロック図 第5の実施形態の誤り訂正受信装置の構成例を示すブロック図 誤り訂正復号部の構成例を示すブロック図 伝送路品質が悪い場合の誤り訂正受信装置の動作例を示すタイムチャート 伝送路品質が図17よりも良い場合の誤り訂正受信装置の動作例を示すタイムチャート 伝送路品質が図18よりも良い場合の誤り訂正受信装置の動作例を示すタイムチャート 有効ビット数テーブルの構成例(1)を示す模式図 有効ビット数テーブルの構成例(2)を示す模式図 誤り訂正復号器のヘッダに対する動作を説明するフローチャート 誤り訂正復号器のペイロードに対する動作を説明するフローチャート 軟判定値の有効ビット数と誤り率(BER)との関係を示すグラフ 参考特許文献1の概要を示すブロック図 参考特許文献2の概要を示すブロック図
 <本開示の一実施形態に至る経緯>
 情報通信においては、データ転送速度の高速化を始めとした通信機能の高度化が推進されている。例えば無線LAN(Local Area Network)、移動体通信に代表される無線通信分野においても、近年、高速無線通信への需要が高まっている。高速無線通信規格として、例えば「IEEE802.11ad」の標準化が進められている。通信速度の高速化に対応するため、誤り訂正復号においても高速な復号処理が必要とされている。
 IEEE802.11adでは、伝送路としての無線伝搬路における信号の誤りを訂正するための符号として、LDPC符号(Low Density Parity Check Code)を採用している。LDPC符号は、ターボ符号と比較して相対的に高速復号装置を実装しやすいという利点がある。
 ここで、通信速度を更に向上させる一つの方法として、伝送データの変調多値数を増加することがあげられる。
 例えば、変調方式を、BPSK(Binary Phase Shift Keying、多値数=1)からQPSK(Quadrature Phase Shift Keying、多値数=2)に、変更した場合、LDPC復号装置では、変調多値数の増加に応じて2倍の処理能力を要求される。
 しかし、特許文献1の部分並列復号方式では、クロック速度同一の条件下において処理スループットを倍増させることは困難であるという課題がある。理由は、以下に示すとおりである。
 部分並列復号方式によるLDPC符号の復号処理において、列処理は、処理対象行の行処理が完了してから開始されるためである。
 また、復号単位の1つである1イタレーション(iteration)当たりの行処理(最小値探索)に必要な演算量は一定である。更に、復号処理の1サイクル当たりに、シリアル処理可能な演算量は限られている。
 ここで、部分並列数(演算器の数)を増やして1サイクル当たりの処理能力を増やしたとしても、行処理演算量は一定であり、かつシリアル処理可能な演算数は限られているので、1イタレーション当たりの行処理に必要な処理サイクル数は減少しない。これは、列処理完了後に行処理を開始する場合においても同様である。
 したがって、部分並列数を増やしたとしても、1イタレーションの処理時間がボトルネックとなり、高速処理が困難となる。一方、処理時間を短縮するために、復号回路のクロック速度を上げると、消費電力が増大する別の課題が生じる。
 <本開示の概要>
 第1開示は、受信パケットを復調処理した複数の尤度を記憶する記憶部と、復号に用いる検査行列を分割した部分検査行列をそれぞれ用いて、前記尤度毎に並列に復号処理する復号コアを複数有する復号部と、を備え、前記部分検査行列は、行数が列数以上となる行列である、復号装置を含む。
 これにより、複数の復号コアにおいて復号処理を分散し、第1の復号コアと第2の復号コアとが並列的に処理可能であるため、全体の復号処理速度を向上でき、伝送データの変調多値数の変化にも対応できる。復号コアのクロック速度を上げなくても処理時間を短縮でき、低消費電力化を図れる。また、部分並列復号方式に対応して、復号コアごとに列処理を分散処理することによって、処理時間を短縮できる。
 また、第2開示は、上記第1開示の復号装置であって、前記受信パケットのMCS情報を取得するMCS情報取得部と、前記復号コアの動作用のクロックを選択的に出力するクロック出力部と、を備え、前記クロック出力部は、前記MCS情報に基づき、前記受信パケットを伝送する通信方式が、所定の高速通信よりも遅い所定の低速通信では、前記高速通信においてクロックを供給する復号コア数よりも少ない数の復号コアに対して前記クロックを供給する、復号装置を含む。
 これにより、低速通信の場合、高速通信の場合よりも少ない数の復号コアに対してクロックを供給することにより、動作する復号コアの数を減少でき、消費電力を削減できる。
 また、第3開示は、上記第1開示の復号装置であって、前記受信パケットのMCS情報を取得するMCS情報取得部と、前記MCS情報に含まれる変調方式の多値数に応じて、前記復号コアの通常動作に用いる第1のクロックと前記第1のクロックよりも低速の第2のクロックとのいずれかを出力するクロック出力部と、前記MCS情報に含まれる変調方式の多値数に応じて、前記クロック出力部が前記第1のクロックを出力する場合、前記復号部に供給する、通常動作電圧の第1の電源を出力し、前記クロック出力部が前記第2のクロックを出力する場合、前記通常動作電圧よりも低電圧の第2の電源を出力する電源部と、を備える、復号装置を含む。
 これにより、通信方式が、復号コアの最高処理速度よりも低い処理速度により処理可能な通信方式である場合、復号部を動作させるクロック周波数を下げることにより、消費電力を低減できる。また、電源電圧を下げることにより、消費電力を低減できる。
 また、第4開示は、上記第3開示の復号装置であって、前記電源部は、通信相手との通信初期化時に自装置の許容通信速度に関する情報を通信相手に通知し、変調多値数の少ない低速通信を許容することを通信相手に通知した場合、予め前記第2の電源の低電圧電源を出力する、復号装置を含む。
 これにより、低速通信を許容することを通信相手に通知し、予め低電圧電源を用いて復号コアを動作させることにより、消費電力を低減できる。
 また、第5開示は、上記第4開示の復号装置であって、通信速度又は消費電力に関するユーザ志向情報を入力する設定部を更に有し、前記クロック出力部は、前記ユーザ志向情報に基づいて、出力するクロックを選択し、前記電源部は、前記ユーザ志向情報に基づいて、出力する電圧を選択する、復号装置を含む。ここで、例えば、省電力志向の場合は低速通信を優先し、ベストエフォート(高速通信)志向の場合は高速通信を優先する。
 例えば、ユーザが高速通信よりも低消費電力動作を志向している場合、許容MCSを低速通信用(例えばBPSK)に限定する。一方、ユーザが高速通信を志向している場合、許容MCSを高速通信用(例えばQPSK)まで許容する。
 これにより、ユーザ志向に応じて、省電力志向の場合は低速通信を優先し、消費電力を低減できる。
 また、第6開示は、上記第4開示または第5開示の復号装置であって、復号対象データを伝送する伝搬路環境を推定する伝搬路環境推定部を備え、前記復号部は、前記通信初期化時の伝搬路環境推定値を用いて前記許容通信速度を設定する、復号装置を含む。
 これにより、通信開始時の伝搬路環境推定値に応じて、許容通信速度を設定でき、低速通信を許容する場合、消費電力を低減できる。
 また、第7開示は、上記第1開示から第3開示のいずれか一つの復号装置であって、復号対象データを伝送する伝搬路環境を推定する伝搬路環境推定部を備え、前記制御部は、前記伝搬路環境の推定結果に基づき、伝搬路環境推定値が所定値以上では、前記復号コアの復号処理におけるイタレーション回数を、前記伝搬路環境推定値が所定値未満の場合よりも少なくする、復号装置を含む。
 例えば、復号部は、最大イタレーション回数が2r回のMCS(例えばBPSK、QPSK)と、最大イタレーション回数がr回以下のMCS(例えば16QAM)との複数の復号モードを有し、制御部は、上記復号モードを用いて通信できる伝搬路環境推定値の閾値テーブルを有し、伝搬路環境推定部から得られる伝搬路環境推定値が閾値テーブルの閾値を超えている場合、通信相手に対し通信可能なMCSを通知する。
 これにより、伝搬路環境推定値が所定値以上では、復号コアの復号処理におけるイタレーション回数を少なくすることにより、伝搬路環境が良好な場合に誤り訂正能力を確保し、更に、処理時間を短縮でき、高速復号を実現できる。
 <実施形態>
 以下に本開示に係る復号装置の実施形態について説明する。以下の各実施形態では、本開示に係る復号装置を用いて説明するが、復号装置の動作を規定した復号方法として表現しても良い。なお、以下の実施形態において、同一の構成には同一の符号を付し、その説明は重複するので省略する。
 (第1の実施形態)
 図1は、第1の実施形態に係る復号装置の構成を示すブロック図である。第1の実施形態は、高速復号処理を実現する構成例である。
 本実施形態の復号装置は、復号部10、尤度記憶部21、選択部22、及び制御部51を含む構成である。
 復号部10は、複数の復号コア11-1~11-Nを有する。図示例では、N個の復号コア11-1~11-Nを有する例を示しているが、復号コアの数は任意である。以降では、復号コア11-1~11-N(Nは1以上の整数)を代表して復号コア11として表す場合もある。復号コア11の構成及び動作については後述する。
 記憶部の一例としての尤度記憶部21は、例えばメモリを有して構成され、復号対象データの一例としての受信パケットの復調処理により得られた尤度を記憶する。例えば無線通信装置の受信機では、受信信号を復調処理した結果の尤度を記憶する。復号対象データとしては、尤度に限定されず、符号化されたデータを適宜用いてもよい。
 復号部10の復号コア11は、入力される尤度のデータを処理し、単位時間当たりに1コードワードに相当する復号ビットを復号する。ここで、コードワードとは符号化装置において符号化したLDPC符号語のことであり、1コードワードは情報ビットをLDPC符号化した1語に相当する。復号コア11は、復号結果として硬判定ビット(復号ビット)を出力する。
 図2は、第1の実施形態における復号処理のタイミングを示すタイミングチャートである。復号コア11において、尤度記憶部21から入力される尤度として、尤度#1、尤度#2、尤度#3、尤度#4、~、尤度#m(mは、1以上の整数)を、時系列に順次入力される。尤度#mはコードワード#mに対応する尤度である。
 第1の復号コア11-1(復号コア#1)は、第1の尤度(尤度#1)を復号処理し、第1の復号ビット(復号ビット#1)を出力する。また、第2の復号コア11-2(復号コア#2)は、第2の尤度(尤度#2)を復号処理し、第2の復号ビット(復号ビット#2)を出力する。第1の復号コア11-1は、尤度#3の復号処理開始前に、尤度#1の復号処理を完了させる。復号処理完了後、第1の復号コア11-1は尤度#3の復号処理を開始する。
 以下、同様にして、複数の復号コア11-1、11-2は、入力される尤度を交互に復号処理する。なお、図示例では、2つの復号コア11-1、11-2(復号コア#1、#2)を動作させて交互に復号するが、3つ以上の復号コアを用いて同様な手順にて順番に復号タイミングをずらして、並列的に復号してもよい。
 制御部51は、復号部10の復号処理を制御する。制御部51は、復号部10の複数の復号コア11-1~11-Nに対し、各復号コアの復号タイミングを制御し、所定の復号スケジューリングに従った復号タイミングにて復号処理が行われるよう制御する。図2の例では、制御部51は、2つの復号コア11-1、11-2(復号コア#1、#2)に対して、前述した復号タイミングにて復号するために、復号部10を制御する。
 制御部51は、復号タイミングに関して、「受信符号語有効信号」を用いて判断する。受信符号語有効信号は、例えばパケット同期タイミングから換算したパケット内の尤度の位置を示す信号として提供される。
 制御部51は、各尤度の復号タイミングに基づき、尤度記憶部21に対して復号する尤度の尤度読み出し制御を実施する。例えば、制御部51は、尤度#1の復号時には尤度記憶部21から尤度#1を復号コア11-1(復号コア#1)へと読み出す制御を行う。
 選択部22は、制御部51の制御に基づき、復号部10の複数の復号コア11-1~11-Nから出力される硬判定ビット(復号ビット)を選択し出力することにより、正しい順序での復号結果を出力させる。制御部51は、復号スケジューリングに従って選択部22における選択動作を制御する。図2の例では、選択部22は復号(尤度#1)、復号(尤度#2)、復号(尤度#3)、復号(尤度#4)、~、復号(尤度#m)(mは、1以上の整数)により得られた復号ビットを順番に選択し出力する。図2に示される出力復号ビットが、選択部22により選択し出力された復号ビットに相当する。
 次に、復号コア11の構成及び動作を詳細に説明する。復号コア11は、列処理部111、行処理部112、事前値記憶部113、外部値記憶部114、及び硬判定部115を含む構成である。
 列処理部111は、列処理演算を実施する。事前値記憶部113は、列処理部111の列処理により得られる事前値を記憶する。行処理部112は、行処理演算を実施する。外部値記憶部114は、行処理部112の行処理により得られる外部値を記憶する。硬判定部115は、列処理部111及び行処理部112の復号処理により得られた軟判定値を用いて、硬判定ビットを生成し出力する。
 部分並列復号方式の復号処理について説明する。図3は、部分並列復号の処理単位に分割した部分検査行列、部分検査行列に対応して分割した尤度、及び、尤度を分割するために用いる分割したコードワードの例を示す図である。本実施形態では、対象データの復号処理を実施するために、部分並列復号の処理単位に分割した検査行列を用いる。
 まず、検査行列Hは、符号化装置と復号装置とにおいて同じ行列を用いる。また、符号化装置において符号化されたデータビット系列であるコードワードを、復号化装置において復号することで、復号ビットが得られる。ここで、検査行列をH、コードワードをC、尤度をSとすると、
 H * C = 0  …(1)
の関係が、符号化装置において成り立つ。
 本実施形態では、復号装置において、検査行列Hを、Hsub 1,Hsub 2,Hsub 3,~,Hsub N-1,Hsub Nのように、部分並列復号の処理単位に分割した部分行列を用いる。ここで、検査行列を分割した部分行列の行数が列数以上となるよう検査行列Hを分割する。
 ここで、数式(1)を満たすように、検査行列Hを分割した部分行列に対して乗算されるコードワードをCsub 1,Csub 2,Csub 3,~,Csub N-1,Csub Nと分割すると下記の数式(2)が成立する。
 [Hsub 1,Hsub 2,~,Hsub N]
   *[Csub 1,Csub 2,~,Csub N]= 0
 [Hsub 1*Csub 1+~+Hsub N*Csub N] = 0 …(2)
 (Tは転置を表す)
 つまり、Hsub M(Mは整数)にCsub Mが乗算されるようコードワードのベクトルを決定する。
 次に、復号装置で用いる尤度Sを、分割した各コードワードCsub Mと同一の長さのベクトルを用いて、分割する。分割した尤度Sを、Ssub 1,Ssub 2,Ssub 3,~,Ssub N-1,Ssub Nを用いて表した行列を図3に示す。
 以上の方法により、尤度の分割を行う。
 本実施形態の復号コア11では、Hsub 1,2,3,…,Nの順に列処理及び行処理を実施する。
 本実施形態では、検査行列を分割した部分行列の行数が列数以上となるよう検査行列を分割する。
 上記のように分割する理由は以下のとおりである。
(i)事前値記憶部の記憶容量を削減できる。
(ii)部分並列復号における行処理時に用いる比較器数を削減できる。
(iii)外部値記憶部の記憶容量を削減できる。
 上記理由のうち、(ii)比較器削減、及び(iii)外部値記憶容量削減、の要因について以下に説明する。本実施形態では、復号方式として、Min-Sum復号アルゴリズムを用いて説明する。なお、復号方式はこれに限定されず、Sum-Product復号を始めとした他の復号方式を用いてもよい。復号アルゴリズムの詳細については、例えば参考文献1(和田山 正著、「低密度パリティ検査符号とその復号法」、トリケップス出版、2002年6月5日、(P92-P99))に説明されている。
 列処理部111及び行処理部112の処理により、外部値αmn、事前値βmnは、次の数式(3)、数式(4)によって求められる。
Figure JPOXMLDOC01-appb-M000001
Figure JPOXMLDOC01-appb-M000002
 数式(3)のmin|βmn|の項を計算する列処理、行処理は、Hsub 1,Hsub 2,~,Hsub Nの部分並列単位毎に順次実施する。現状の最小値をβ_minとする。β_minは外部値記憶部114に格納されている。
 Hsub 1の行処理により探索された最小値と、β_minとを比較し、より小さい方が新たなβ_minとなる。
 β_min = min(β_min,β_Hsub x) …(5)
 ここで、β_Hsub x、はHsub xの行処理により求められたβ値とする。
 本実施形態では、上記より、比較演算を分散して実施できるため、検査行列を分割した部分行列の行数を列数以上にすることによって比較器数を削減できる。また、β_minは更新した値を記憶すればよいので、外部値記憶部114の容量を削減できる。
 上記理由のうち、(i)事前値記憶容量削減、の要因について説明する。本実施形態では、列処理演算結果により得られる事前値を保存することなく行処理に反映して使用できるため、従来例の部分並列復号方式のように、全ての列処理中間演算結果を保存しておく必要がない。
 つまり、必要となる事前値記憶容量は、部分行列Hsub xに対応する列処理が完了した後に行処理が実施されるまでであり、パイプラインレジスタでよい。従って、事前値記憶部113をパイプラインレジスタとして構成でき、事前値記憶部113の容量を削減できる。図4を用いて詳細を説明する。
 図4は、部分並列復号における列処理及び行処理のタイミングを示す図であり、復号処理時の復号スケジューリングを表している。ここで復号スケジューリングとは、部分並列復号方式における行処理、列処理を行う順序のことを表す。
 部分並列復号において、行処理は処理対象となる行が含まれる列の列処理が終了した後に実施される。したがって、列処理Hsub 1の後に、行処理Hsub 1の順序によって処理が実施される。つまり、Hsub 1の列処理を行った後、Hsub 1の行処理を行い、更に、Hsub 2の列処理を行う。
 以降、Hsub Nまで同様にして列処理及び行処理を実行する。Hsub 1~Hsub Nまで、順次、行処理及び列処理がパイプライン処理され、行処理Hsub Nが完了した時点において1イタレーション終了である。
 よって、列処理Hsub 1の開始から行処理Hsub Nの終了までの処理に要する時間が、1イタレーション処理遅延となる。1イタレーション終了後、次のイタレーションを開始できる。
 このように、Hsub xに対応する列処理が完了した後に、列処理結果を用いた行処理が実施されるため、事前値記憶部113は、部分行列Hsub xに対応した容量のパイプラインレジスタを用いて構成できる。
 なお、図4において、列処理Hsub 1に対応する時刻において、行処理は、実施されていないため、空白となっている。
 図5は、部分並列復号による復号処理の全過程を示す概略図である。列処理部111及び行処理部112において、復号処理の1イタレーションが所定回数繰り返された後、硬判定部115において硬判定が実施され、復号完了する。このときの「1尤度復号」が、図2における「復号(尤度#x)」に相当する。
 図6は、部分並列復号において列処理の並列演算数を2倍にした場合の一例を示す図であり、列処理の並列演算数を2倍にしてもイタレーション処理遅延が小さくならないことについて説明する。
 まず、列処理の並列演算数を2倍にすることによって、Hsub 1とHsub 2とは同時に並列処理が可能である。一方、Hsub 1とHsub 2との行処理は、最小値探索(β_minの計算)が直列処理(シリアル処理)になるため、列処理のように、並列処理の構成とはならない。
 Hsub 1とHsub 2との行処理を一括して実施する演算は、
 β_min = min(β_min,β_Hsub 1、Hsub 2) …(6)
として表現されるが、実際の演算としては、
 β_min1 = min(β_min,β_Hsub 1)
 β_min = min(β_min1,β_Hsub 2) …(7)
である。すなわちβ_minを求めるためにはまずβ_min1を求めなければならず、直列処理が必要となる。
 このため、処理遅延の削減は困難となり、1イタレーション処理遅延は、図4と比較して処理時間が変わらない、Hsub1個の処理時間×(N+1)の時間が必要となる。したがって、単純に列処理の並列演算数を増やすでは、復号処理時間の短縮が困難であることがわかる。
 上記より、本実施形態では、復号部において復号コアを複数有するマルチコア構成とし、復号処理を復号コア毎に分散させている。このため、従来の検査行列を部分行列に分割しない復号方法では、行処理、列処理がパイプライン処理できないので、Hsub1個の処理時間×N×2の処理遅延、であったのに対して高速復号処理が実現できる。
 また、上記構成を用いることで、復号回路のクロック速度を上げなくても、1イタレーション当たりの処理時間を短縮でき、高速化に伴う消費電力の増加を抑制できる。また、部分並列復号方式を用いたとしても、上記構成を用いることで、事前値記憶部及び外部値記憶部の記憶容量を削減でき、高速化に伴う装置構成の大型化、複雑化を抑制できる。
 (第2の実施形態)
 図7は、第2の実施形態に係る復号装置の構成を示すブロック図である。第2の実施形態は、高速復号処理及び低消費電力化を実現する構成例である。
 第2の実施形態の復号装置は、復号部10、尤度記憶部21、選択部22、クロック生成部23、クロックゲート部24、ヘッダ解析部25、及び制御部52を含む構成である。
 例えば、IEEE802.11adによるパケット通信システムでは、変調方式と符号化率との複数の組合せに対応している。この複数の組合せは、MCS(Modulation and Coding Scheme)情報と呼ばれ、パケット通信におけるヘッダに記載されている。
 例えば、複数の通信方式に対応可能であり、2ビット/シンボルのQPSK通信時に最大能力にて動作する復号装置は、1ビット/シンボルのBPSK通信時に、1ビット分の復号コアが余剰となるため、アイドル状態になる復号コアが存在する。
 ここで、アイドル状態の復号コアも電力を消費してしまうため、不要な電力消費が生じるという課題がある。第2の実施形態では、不要な電力消費を削減させて低消費電力動作を可能とする。
 MCS情報取得部の一例としてのヘッダ解析部25は、パケット通信におけるヘッダを解析する。ヘッダは、MCS情報を含んでいる。ヘッダ解析部25は、受信パケットのヘッダの解析結果に基づき、MCS情報を取得し、取得したMCS情報を制御部52に通知する。
 クロック生成部23は、例えば発振器を有して構成され、復号部10を含む復号装置の回路を動作させるためのクロックを生成する。制御部52は、MCS情報に応じてクロックゲート部24から復号部10へのクロック供給を制御する。クロック出力部の一例としてのクロックゲート部24は、クロックを選択的に出力可能である。クロックゲート部24は、制御部52の制御に基づき、クロック生成部23において生成されたクロックをゲーティングし、各復号コア11-1~11-Nへのクロックの供給または停止を行う。
 図8は、第2の実施形態における復号処理のタイミングを示すタイミングチャートである。第2の実施形態では、複数の通信方式に対応し、QPSK通信とBPSK通信とを切り替えて通信する場合を想定する。図8(A)はQPSK通信時の動作を示し、図8(B)はBPSK通信時の動作を示している。本例では、QPSK通信が所定の高速通信、BPSK通信が所定の低速通信に相当する。
 QPSK通信時には、クロックゲート部24は、2つの復号コアにクロックを供給して各復号コアを動作させる。すなわち、クロックゲート部24は、第1の復号コア11-1(復号コア#1)にクロック#1を供給し、第2の復号コア11-2(復号コア#2)にクロック#2を供給する。これにより、図2に示した第1の実施形態と同様、2つの復号コア11-1、11-2によって分散して復号処理を行い、尤度#1、#2、#3、#4、~、#mを復号する。
 BPSK通信時には、クロックゲート部24は、QPSK通信時よりも少ない数、本例では1つの復号コアにクロックを供給して動作させる。すなわち、クロックゲート部24は、第1の復号コア11-1(復号コア#1)にクロック#1を供給し、第2の復号コア11-2(復号コア#2)へのクロック供給を停止する。これにより、図8(B)では、1つの復号コア11-1によって復号処理を行い、尤度#1、#2、~、#mを復号する。
 BPSK通信では、QPSK通信と比較して、各コードワードの伝送レートが半分(伝送時間が2倍)であり、入力尤度の入力レートが半分となるため、復号コアは半分の処理能力(2倍の処理時間)にて復号処理可能である。このため、制御部52は、復号部10における複数の復号コア11-1~11-Nのうちの半数の復号コアを動作させ、半数のアイドル状態の復号コアを休止させ、不要な消費電力を削減する。
 上記より、本実施形態では、ヘッダ解析結果より得られるMCS情報に基づき、アイドル状態となる復号コアのクロックをゲーティングし、アイドル状態の復号コアの動作を停止させる。これにより、アイドル状態の復号コアにおける不要な電力消費を削減でき、消費電力を低減できる。したがって、高速復号処理を実現する構成において、例えば通信方式、伝送レートに代表される動作時の各種状況に応じて消費電力を低減し、低消費電力化を図れる。
 (第3の実施形態)
 図9は、第3の実施形態に係る復号装置の構成を示すブロック図である。第3の実施形態は、復号装置の最大イタレーション回数が所定値以下である場合にも、伝搬路環境が良好な場合は高スループットを実現する構成例である。
 第3の実施形態の復号装置は、復号部10、尤度記憶部21、選択部22、クロック生成部23、クロックゲート部24、ヘッダ解析部25、無線部26、復調部27、伝搬路環境推定部28、及び制御部53を含む構成である。
 無線部26は、増幅器、周波数変換器を含む高周波回路を有し、アンテナにて受信した無線信号の増幅、周波数変換を含む無線信号処理を行う。復調部27は、例えば信号処理回路を有する電子回路により構成され、無線部26から出力される受信信号の復調処理を行い、受信信号に関する尤度を出力する。
 伝搬路環境推定部28は、復調部27にて復調された受信信号に基づき、無線信号の伝搬路環境、例えばSNR(Signal to Noise Ratio)、CNR(Carrier to Noise Ratio)、RSSI(Received Signal Strength Indicator)に代表される受信信号の品質を推定する。
 制御部53は、伝搬路環境推定部28による伝搬路環境の推定結果に基づき、伝搬路環境が良好であると判断した場合、復号コア11の復号処理におけるイタレーション回数を減少させる。
 例えば、最大イタレーション回数が2r回のMCS(例えばBPSK、QPSK)に対応する第1の復号モードと、最大イタレーション回数がr回以下のMCS(例えば16QAM)に対応する第2の復号モードとを有しているとする。
 第1の復号モードは、伝搬路環境推定値が所定値未満であり、通信方式として低速通信が選択される場合が多い。
 第2の復号モードは、伝搬路環境推定値が所定値以上であり、通信方式として高速通信が選択される場合が多い。伝搬路環境が良好である場合、第2の復号モードを用いて、少ないイタレーション回数による復号処理を行う。
 制御部53は、高速通信が可能であることを通信相手へフィードバックする。
 図10は、第3の実施形態における復号処理のタイミングを示すタイミングチャートである。第3の実施形態では、伝搬路環境が良好である場合に、16QAM通信を行う場合を想定する。16QAM通信では、各コードワードの伝送レート(入力尤度の入力レート)がQPSKのさらに2倍(伝送時間がQPSKの半分)である。
 高速通信時は、入力尤度の入力レートが高いため、より高いクロック周波数の復号コアを用いるか、復号コアの数を多くして対応することが考えられる。
 これに対して本実施形態では、復号装置の最大イタレーション回数が所定値以下である場合にも、良好な伝搬路環境では、通信相手へフィードバックして高速通信を行い、復号処理におけるイタレーション回数を少なくした第2の復号モードを用いて、1尤度あたりの復号時間を短くする。なお、良好な伝搬路環境以外では、第1の実施形態、又は第2の実施形態における復号方法である第1の復号モードを用いる。
 イタレーション回数を少なくすると誤り訂正能力が劣化するが、伝搬路環境が良好であるため、受信信号に含まれる誤りが統計的に少ない状態である。誤り発生率が低いため、少ないイタレーション回数でも誤り訂正できる。
 本実施形態によれば、復号装置は、高速通信時において最大イタレーション回数が所定値以下であっても、伝搬路環境が良好な場合には、第1の復号モードから第2の復号モードに切り換えることによって、高スループットを実現できる。
 (第4の実施形態)
 図11は、第4の実施形態に係る復号装置の構成を示すブロック図である。第4の実施形態は、復号装置の低消費電力化を実現する別の構成例である。
 第4の実施形態の復号装置は、復号部10、尤度記憶部21、選択部22、クロック生成部23、クロックゲート部24、ヘッダ解析部25、無線部26、復調部27、伝搬路環境推定部28、クロック分周部29、電源31、低電圧電源32、設定部33、及び制御部54を含む構成である。
 クロック分周部29は、例えば分周器を有して構成され、クロック生成部23にて生成された回路動作用のクロックを分周し、低速クロックを出力する。クロックゲート部24は、制御部54の制御に基づいてクロックの出力切り替えを行い、クロック生成部23からのクロックまたはクロック分周部29からの低速クロックを各復号コア11-1~11-Nへ供給する。本例では、クロック生成部23からのクロックが第1のクロック、クロック分周部29からの低速クロックが第2のクロックに相当する。クロック分周部29及びクロックゲート部24がクロック出力部の機能を実現する。
 本例では、電源31は、通常動作電圧の電力を出力する第1の電源に相当する。低電圧電源32は、通常動作電圧より低い電圧の電力を出力する第2の電源に相当する。電源31、及び低電圧電源32は、それぞれ所定電力を出力する電源回路により実現される。
 設定部33は、ユーザによる設定入力を受け付け、ユーザの志向を設定する。ユーザ志向の設定情報は制御部54に送られる。ユーザ志向として、例えばベストエフォート(高速通信)志向または省電力志向を設定する。
 制御部54は、ユーザ志向に応じて、低速通信時(低スループット時)には、クロック分周部29からの低速クロックを復号部10に供給してクロック速度を落とし、低電圧電源32からの電力を復号部10に供給して電源電圧を下げる。
 本実施形態の復号部10は、例えば、QPSKの通信速度に対応して復号処理する能力を有している。復号部10は、受信パケットの変調方式がBPSKであれば、QPSKの通信速度に対応した復号処理方法を用いた上でクロック速度を低速にしても復号処理が可能である。
 例えば通常のクロック周波数をK、QPSKの通信速度に対応した復号処理を実施した際の1尤度復号にかかるクロックサイクル数をLとする。このとき1尤度の復号に必要な時間はTq=L/Kである。ここでクロック速度を半分のK/2にしたとする。このとき1コードワードの復号に必要な時間はTb=L/(K/2)=2L/K=2Tqとなり2倍の時間が必要となる。
 一方でBPSKの通信速度に対応した復号処理で1尤度の復号に必要となる時間はTb=2Tqである。これは、QPSKが2ビット/シンボルの伝送レートに対して、BPSKは1ビット/シンボルの伝送レートであるためである。
 従って、QPSKに対応した復号部10において、クロック速度を半分にしてもBPSKを用いたパケットの復号処理が可能である。
 復号部10が処理可能な変調多値数をN、受信パケットに用いられている変調方式の多値数をM、クロックの分周数をRとする。
 復号部10は、
 N / R ≧ M  …(8)
を満たしていれば、クロック速度を低速にできる。
 よって、制御部54は、ヘッダ解析部25のヘッダ解析結果によって取得したMCS情報に基づき、受信パケットがBPSK変調である場合、すなわちBPSK通信時には、クロック速度を低下させる。クロックゲート部24は、制御部54の制御により、クロック分周部29からの低速クロックを復号コア11に供給する。
 なお、クロック速度が低速の場合、電源電圧を低下させても回路を駆動させることは可能である(参考文献2:「極低電圧動作による低エネルギーLSI」、電子情報通信学会誌 Vol.93、No.11、pp943-p47、2010年11月 参照)。よって、制御部54は、BPSK通信時には、低電圧電源32を使用して低電圧の電力を復号コア11に供給する。
 第4の実施形態では、復号コア11の最高処理速度よりも低い処理速度にて処理可能な通信方式である場合、復号コア11へ供給するクロックを低速クロックとし、電源を低電圧電源にする。低電圧電源32から供給する電圧値は、電源31からの通常動作電圧より低く、低速クロックにより復号コア11を駆動可能な最低電圧以上とする。
 回路の電源電圧とクロック周波数との関係については、参考文献2に記載があるように、通常動作電圧に対し、電源電圧を下げた場合にも動作クロックを低速にすることで回路を駆動できる。また、電源電圧及び動作クロックを低速にすることで消費電力を低減できることが記載されている。
 ここで、QPSK通信において設定されたクロック周波数、電源電圧に対して、BPSK通信において、電源電圧を下げると、電源電圧の低下によって復号コア11の動作可能なクロック周波数が下がる。
 しかし、本実施形態において、BPSK通信において必要とされるクロック周波数は、QPSK通信において必要とされるクロック周波数の半分であるため、復号コア11において、電源電圧の低下による動作クロック周波数の低下の下限は、元のクロック周波数の半分までであれば、所望イタレーション回数を満たす動作が可能である。さらにクロック周波数を下げること及び電源電圧を下げることにより消費電力を低減できる。
 つまり、本実施形態では、低電圧電源32に変更する場合は、クロック分周部29に変更する。
 回路の消費電力は、電源電圧の2乗に比例し、動作クロック周波数に比例する。よって、低電圧駆動、低速クロック動作を行うことにより、消費電力を低減できる。
 また、電源電圧を下げる場合、受信パケットのMCSを解析してから低電圧電源を駆動してもよいが、より安定して低電圧電源を用いて復号装置を駆動させるために、本実施形態では以下の制御を行う。
 制御部54は、通信開始時に通信相手とハンドシェイクを行う時点において、通信相手に対し受信側が許容する許容通信速度に関する情報(例えば、MCS、通信スループット)を送信側の通信相手にフィードバックする。通信相手の送信装置は、受信側(本実施形態の復号装置を有する受信装置)の許容通信速度によって通信する。許容通信速度として、ここでは許容MCSを用いる。
 図13は、第4の実施形態における通信初期化時のハンドシェイク手順を示すシーケンス図である。受信装置STA 2(Rx)と、通信相手の送信装置STA 1(Tx)とは、本実施形態の復号装置を有する。
 まず送信装置STA 1は、リンク確立リクエストを受信装置STA 2へ送信し[1]、受信装置STA 2は、リンク確立リクエストを受けて伝搬路環境推定を行う[2]。そして、受信装置STA 2は、リンク確立を承認し[3]、予め設定されたユーザ志向に対応するMCSを参照し、許容MCS情報を送信装置STA 1へフィードバックする。
 送信装置STA 1は、許容MCS情報を受けてリンク確立の確認を完了する[4]。その後、送信装置STA 1は、許容MCSによって通信を開始し、受信装置STA 2へ送信データを送信する[5]。以降は、送信装置STA 1と受信装置STA 2との間において設定されたMCSを用いて通信が行われる。受信装置STA 2は、受信データを正常に復調及び復号できた場合、ACKを送信装置STA 1へフィードバックする。
 通信初期化時に通信相手へ許容通信速度情報を通知するため、受信側の装置は予め低電圧電源にて駆動できる。
 また、受信側が許容するMCSに代表される許容通信速度情報は、ユーザの志向に応じて制御してもよい。例えば、ユーザが高速通信よりも低消費電力動作を志向している場合、制御部54は許容MCSを、例えば、BPSKに限定する。一方、ユーザが高速通信を志向している場合、制御部54は、例えば、「許容MCSはQPSKまでである」といった制御を実施する。
 図12は、伝搬路環境とユーザ志向別のMCSとの関係の一例を示す図である。制御部54は、ユーザ志向情報として、例えば伝搬路環境推定値とユーザ志向に基づくMCSとを関連付けたテーブルを持っている。MCSの値1~3は、1が低伝送レートの通信(例えばBPSK)、2が中伝送レートの通信(例えばQPSK)、3が高伝送レートの通信(例えば16QAM)とする。
 ベストエフォート志向(通信速度志向)では、伝送速度を優先し、伝搬路環境が良好な場合は高速通信を行う。省電力志向では、消費電力を優先し、伝搬路環境が良好であっても低速または中程度の通信を行う。
 制御部54は、推定した伝搬路環境推定値Pest(例えばCNR、 SNR、 RSSI)とテーブルに記載された閾値(図12の例ではP1、P2)と比較し、対応するMCSを送信側の通信相手へフィードバックする。送信側の通信装置は、フィードバック情報に基づいてMCSを決定し、MCSに従って生成した送信データを送信する。
 本実施形態によれば、復号回路の処理能力に対して低速な通信を行う場合には、低速クロック、低電圧電源を使用することにより、消費電力を低減し、低消費電力化を実現できる。
 <本開示の他の実施形態に至る経緯>
 映像及び音声を扱う電子機器の品質が向上するにつれデータの大容量化が進み、通信システムにおいても送受信されるデータの大容量化が進んでいる。電子機器(例えば、携帯電話)においては小型化、低コスト、低消費電力が求められ、更に通信システムにおいては出来るだけ少ない誤りによってデータを送受信することが要求されている。このため、データ通信においては誤り訂正機能(例えば、FEC:Forward Error Correction)が大きな役割を果たしている。
 従来、誤り訂正技術は、硬判定誤り訂正(例えば、リードソロモン符号、BCH符号)から軟判定誤り訂正(例えば、ビタビ復号)に移行してきたが、近年では、より訂正能力の高い軟判定誤り訂正(例えば、ターボ(Turbo)符号、又は低密度パリティ検査(LDPC:Low-Density Parity-Check)符号)が用いられている。
 軟判定誤り訂正符号は、受信したデータを「0」と「1」の2値のビット列として確定的に表現(硬判定)するのではなく、受信したデータの確からしさを複数ビットによって表現(軟判定)することで訂正能力を向上させている。
 最近の誤り訂正符号化システムにおいては、理論的な限界であるシャノン限界に近い通信を、如何にして実現するかという課題への取り組みの結果として、ターボ符号又はLDPC符号が用いられている。
 但し、ターボ符号又はLDPC符号が用いられる誤り訂正符号を用いるには、回路構成は複雑さを増し、回路規模も大きい。通信中における受信データに対して誤り訂正を実施する動作が、現在実用化されている誤り訂正回路に含まれることが、複雑化の要因である。従って、誤り訂正回路は消費電力も大きくなるため、小型化及び低消費電力化の妨げとなる。
 回路規模が大きくなるもう1つの要因は、処理するデータのビット数である。即ち、軟判定は、受信したデータの確からしさを複数ビットによって表現しているため、データ(軟判定値)のビット数が増えれば回路規模も大きくなる。また、ビット数が増えると回路の消費電力も増える。
 軟判定ビット数に関しては、伝送路としてのチャネルの品質に応じて軟判定ビット数を変える(スケーリングする)先行技術が、参考特許文献1及び参考特許文献2に開示されている。参考特許文献1の概要を図25に示し、参考特許文献2の概要を図26に示す。
 参考特許文献1では、復調器556から出力されたソフト値(軟判定値)を、予め選択されたチャネル品質値566の関数として使用されるべきスケールファクターを決定するために、復号器558を通してプロセッサ(CPU)544に供給する。プロセッサ544は、スケーリングされたソフト値を復号器558に返す。復号器558の入力に含まれるスケーリング回路は、スケーリング依存の反復復号プロセスを実行するために使われる回路である。即ち、反復復号プロセス処理される前にソフト入力値をスケールするためにスケーリング回路が用いられる。スケーリングファクタについては、プロセッサ544を用いて方程式を解いて決定する。
 また、参考特許文献2では、通信路監視部649は、誤り訂正復号部625から出力される訂正結果に基づいてビット誤り率(BER)を常時算出し、ビット誤り率を基に通信路の状態を常時監視している。また、通信路監視部649は、ビット誤り率に基づいて通信路の信号対雑音比(SNR)を求め、信号対雑音比をスケーリング部650に出力している。スケーリング部650は、通信路監視部649から受けた信号対雑音比に基づいて、尤度決定部648からの対数尤度比λnに所定倍率を乗算するか否かを判定する。スケーリング部650は、尤度決定部648からの対数尤度比λnに所定倍率を乗算すべき場合には、対数尤度比λnに所定倍率を乗算して誤り訂正復号部625に出力する。
 [参考特許文献1]日本国特表2006-515483号公報
 [参考特許文献2]日本国特開2009-159037号公報
 しかし、参考特許文献1では、誤り訂正を実行する前に予めスケーリングファクタの計算を終了しておく必要がある。また、スケーリングファクタの計算は複雑であるし、計算を開始してから終了するまでの時間が長い。また、参考特許文献2においても、ビット誤り率の測定から軟判定値のスケーリングの決定に至るまでの処理にかかる時間が長い。
 ここで、携帯電話等の移動端末においては通信品質が時間と共に変化するため、適応的に、スケーリング値を反映する必要がある。
 しかし、従来技術では、仮に伝送路の通信品質が良好な状況であっても、スケーリング決定の処理時間が長いため、誤り訂正復号回路が処理するビット数を適応的に減らすことは、困難であり、このため、従来構成のスケーリング値の算出では誤り訂正復号回路における消費電力の低減が困難であった。
 上記事情を鑑み、本開示では、伝送路の通信品質に応じて、受信データの復号処理量を低減して高速に復号する復号装置、復号方法及び無線通信装置を例示する。
 (第5の実施形態)
 以下、本開示に係る第5の実施形態として、復号装置、復号方法及び無線通信装置の例について、図面を参照して説明する。
<無線通信装置としての送受信装置300の構成>
 本実施形態の送受信装置300の構成例を示すブロック図を図14に示す。無線通信装置としての送受信装置300は、送信部TXと受信部RXとを含む。
 送受信装置300の送信部TXは、誤り訂正符号器301、変調器302、DAC(Digital Analog Converter)303、送信アナログ処理部304、PA(Power Amplifier)305、及びアンテナAntが接続されたアンテナ(ANT)回路306を含む。
 送受信装置300の受信部RXは、アンテナAntが接続されたアンテナ回路306、受信アナログ処理部307、ADC(Analog Digital Converter)308、復調部309、誤り訂正復号器310及びデータ認識部311を含む。なお、アンテナAntは、例えばアンテナ素子を用いて構成される。また、アンテナAntが接続されたアンテナ回路306は、送信部TX又は受信部RXのいずれかに含まれても良い。
<送受信装置300が無線信号を送信する場合の動作>
 誤り訂正符号器301は、送信データに対して、誤り訂正符号(例えば、誤り訂正の検査符号としての低密度パリティ検査(LDPC)符号により生成されたパリティ符号)を付加する。誤り訂正符号器301によりパリティ符号を付加された送信データは、変調器302に入力される。
 変調器302は、入力された送信データを、他の受信装置(不図示)と予め共有された変調方式に従って変調する。変調方式の種類としては、例えばBPSK(Binary Phase Shift Keying)、QPSK(Quadrature Phase Shift Keying)、16QAM(Quadrature Amplitude Modulation)がある。変調器302により変調された送信データはDAC303に入力される。
 DAC303は、デジタル信号の送信データをアナログ信号に変換する。DAC303から出力されるアナログ信号は、送信アナログ処理部304に入力されて所定の信号処理(例えば、ベースバンド信号から高周波信号へのアップコンバート処理)を施された後、PA305に入力される。
 PA305は、入力されたアナログ信号を電力増幅してアンテナ回路306に出力する。従って、アンテナ回路306から、アンテナAntを介して、無線送信信号(電波)が出力される。
<送受信装置300が無線信号を受信する場合の動作>
 他の送信装置(不図示)から送信された無線信号は、アンテナAntを介して、アンテナ回路306において受信され、受信信号として受信アナログ処理部307に入力される。受信アナログ処理部307は、入力される受信信号に対して所定の信号処理(例えば、高周波信号からベースバンドへのダウンコンバート処理、AGC(Auto Gain Control)処理)を施す。受信アナログ処理部307により処理された受信信号はADC308に入力される。
 ADC308は、アナログ信号として入力された受信信号をデジタル信号に変換し、受信データとして出力する。復調部309は、ADC308から入力された受信データを、他の送信装置(不図示)と予め共有された所定の変調方式(例えば、BPSK、QPSK、16QAM)に従って復調処理する。
 復調部309により復調された受信データは、本実施形態の復号装置としての誤り訂正復号器310に入力される。誤り訂正復号器310は、入力された受信データに対して誤り訂正復号し、誤り訂正復号後の受信データをデータ認識部311に出力する。
 データ認識部311は、誤り訂正復号器310から出力された誤り訂正後の受信データが入力され、送受信装置300の制御に必要なデータを認識する。例えば、データ認識部311は、受信データのヘッダに含まれているペイロードの変調形式及び符号化率の情報を認識し、ガードインターバル(GI)を基にして送受信装置300の制御に必要なタイミングを生成する。
 以下、本実施形態の復号装置としての誤り訂正復号器310の構成及び動作について詳細に説明する。
<復号装置(誤り訂正復号器310)としての誤り訂正受信装置400の構成>
 本実施形態の誤り訂正受信装置400の構成例を図15に示す。図15に示す誤り訂正受信装置400は、図14に示す誤り訂正復号器310に相当する。
 誤り訂正受信装置400は、ビット数制限部401、誤り訂正復号部402、パリティチェック部403、制御部404及びクロック発生部405を含む。
 ビット数制限部401は、図14に示す復調部309の出力としての受信データを入力する。受信データは、ビットデータの「0」、「1」の確からしさを表す軟判定値である。本実施形態では5ビットの並列信号として、受信データRD1がビット数制限部401に入力される。なお、受信データRD1のビット数については必要に応じて変更しても良い。
 ビット数制限部401は、軟判定値として誤り訂正復号部402に入力される受信データRD2の有効ビット数を制限する。具体的には、ビット数制限部401は、入力される5ビットの受信データRD1について、並列信号の最上位ビット以外の各ビットを「0」に固定した結果を受信データRD2として出力する。受信データRD2の5ビットにおいて、例えば、固定したビット以外は受信データRD1と同じ信号を出力し、又は、0固定するビットに対して四捨五入の処理をして出力する。
 ビット数制限部401が固定するビットは、制御部404から出力された制御信号CON1に応じて定まる。具体的には、ビット数制限部401は、入力された5ビットの並列信号の受信データを、受信データRD2の最下位ビットを固定した状態、下位の2ビットを固定した状態、下位の3ビットを固定した状態、下位の4ビットを固定した状態、又は全ビットを固定しない(RD1と同じ)状態のいずれかに切り替える。
 なお、ビット数制限部401が誤り訂正復号部402に入力する受信データRD2の有効ビット数を変更することは、軟判定値のスケーリングと同義である。即ち、受信データRD2の有効ビット数を増やせば、誤り訂正復号部402の誤り訂正能力が高まり、有効ビット数を減らせば、誤り訂正復号部402の誤り訂正能力が低下する。
 誤り訂正復号部402は、軟判定値として受信データRD2を入力し、所定の復号を繰り返す、即ち、反復復号することにより、受信データの誤りを訂正する。復号の繰り返し回数は必要に応じて変更されても良い。誤り訂正復号部402の処理結果は1ビット信号の受信データRD3として、パリティチェック部403に入力される。また、誤り訂正復号部402は、クロック発生部405により供給される一定周期のクロックパルスCLKに同期して動作する。
 データ誤り検出部としてのパリティチェック部403は、誤り訂正復号部402から出力された受信データRD3を順次に入力し、パリティチェックすることにより、誤り訂正復号部402の誤り訂正処理の結果のデータに誤りが無いかどうかを識別する。
 パリティチェック部403は、パリティチェックの結果として、データ誤りの有無を表す信号PCHを制御部404に出力する。パリティチェック部403が出力する訂正後の受信データRD4は、誤り訂正復号部402から出力された受信データRD3と同じ1ビットの信号である。なお、パリティチェック部403は、クロック発生部405により供給される一定周期のクロックパルスCLKに同期して動作する。
 制御部404は、図14に示すデータ認識部311から出力された「受信データイネーブル」と「符号化率」の信号を入力する。「受信データイネーブル」は、受信データの有効な期間を表すタイミング信号であり、受信信号中のガードインターバルに基づいてデータ認識部311が生成する。また、「符号化率」は、受信信号のヘッダ領域に含まれている情報である。
 制御部404は、誤り訂正復号部402における復号の繰り返し回数を把握し、信号PCHを基にしてデータ誤りの有無を把握する。誤り訂正復号部402における復号の1回あたりの所要時間は一定であるため、制御部404は復号を開始してからの経過時間を基にして、誤り訂正復号部402の復号の繰り返し回数を把握する。
 制御部404は、誤り訂正復号部402の復号の繰り返し回数と、信号PCHにより把握したデータ誤りの有無とに基づいて、ビット数制限部401が制限する受信データRD2の有効ビット数を決定し、有効ビット数に相当する制御信号CON1を出力する。制御部404は、受信信号(受信データ)のヘッダ領域を受信した場合に、誤り訂正復号部402の動作状況、即ち、伝送路の品質を監視して有効ビット数を決定する。
 また、制御部404は、制御信号CON2の出力を制御することにより、クロック発生部405が出力するクロックパルスCLKの供給を停止させ、又はクロックパルスCLKの供給を再開させる。制御部404の具体的な動作については後述する。
<誤り訂正復号部402の構成例>
 図15の誤り訂正受信装置400における誤り訂正復号部402の構成例を図16に示す。即ち、LDPC符号の復号方式として公知のミニサム復号法を用いる場合には、図16に示す回路により誤り訂正復号部402を構成できる。
 誤り訂正復号部402は、列処理部501及び行処理部502を含む。各処理部は、上述した数式(3)及び(4)に従って、それぞれ演算処理する。即ち、図示しないが、列処理部501及び行処理部502の内部は、加算器及び最小値を探索する比較器を用いて構成される。
 このため、受信データRD2の各ビットが「0」のまま変化しない場合には、該当するビットを処理する回路の状態には変化が生じない。例えば、「0」と「0」とを加算した結果は「0」であるため、入力ビットが「0」のまま変化しなければ出力ビットも変化しない。ビットを処理する回路が動かないため、誤り訂正復号部402の回路が消費する電力が大幅に削減される。数式(3)及び(4)において、mは行番号を表し、nは列番号を表し、ωは1以下の正の実数を表す。
 なお、「ミニサム復号法」を用いた誤り訂正復号部402は、例えば数式(4)のωとして「0.8」程度の値を与えれば、「sum-product」アルゴリズムと同等の誤り率特性を得ることができる。なお、「0.8」という値はあくまで一例であり、最適な値は検査行列Hによって異なる。
<誤り訂正受信装置400の動作タイミングの例>
 誤り訂正受信装置400の動作に関するタイミングの具体例を図17、図18及び図19に示す。図17は、伝送路品質が悪い場合の誤り訂正受信装置400の動作例を示すタイムチャートである。図18は、伝送路品質が図17よりも良い場合の誤り訂正受信装置400の動作例を示すタイムチャートである。図19は、伝送路品質が図18よりも良い場合の誤り訂正受信装置400の動作例を示すタイムチャートである。
 本実施形態では、一例として、図17に示すフレームフォーマットの受信データを誤り訂正受信装置400が受信することを想定している。即ち、受信データは、ヘッダデータDH、並びに、順次連続的に現れる1番目のペイロードデータDP1、2番目のペイロードデータDP2、3番目のペイロードデータDP3、・・・を含む。
 ヘッダデータDHは、送受信装置300が送受信するデータを管理するための情報を保持している。具体的には、データ本体を格納するペイロードの変調形式、符号化率の情報を保持している。受信データのヘッダの変調形式は、他の送信装置(不図示)との間において予め共有されている。また、フレームフォーマット内の各データ間には、既知信号としてのガードインターバル(GI)が設けられている。
 誤り訂正受信装置400の各部の動作を次に示す。
 ビット数制限部401は、制御部404からの制御信号CON1を入力しない場合には、復調部309から出力された受信データRD1を受信データRD2として誤り訂正復号部402に出力する。誤り訂正復号部402は、受信データRD2を入力して誤り訂正復号を繰り返す。誤り訂正復号処理を1回実行する毎に、誤り訂正後の受信データRD3を出力する。
 パリティチェック部403は、入力された誤り訂正後の受信データRD3をパリティチェックする。パリティチェック部403は、シンドロームが0になれば誤り訂正後の受信データRD3にデータ誤りが無いと判断し、パリティチェックが「OK」の信号PCHを出力する。
 また、図15に示す誤り訂正復号部402には、誤り訂正復号の繰り返し回数に上限が設けられている。例えば、図17~図19に示した動作例においては、誤り訂正復号の繰り返し回数の上限を6回としている。
 図17に示す動作例では、伝送路の品質が悪い場合を想定しているため、繰り返し回数が上限の6回になった場合においてパリティチェックが「OK」となる。なお、繰り返し回数の0回目は誤り訂正が実行されない状態である。
 従って、図17では、パリティチェックの結果が「OK」になるまで、誤り訂正復号部402が、何回も誤り訂正復号を繰り返す場合には、伝送路の品質が悪いと判断できる。制御信号CON1による有効ビット数の制限は実施されない。即ち、ビット数制限部401は、復調部309から出力された受信データRD1を、受信データRD2として誤り訂正復号部402に出力する。
 一方、図18に示す動作例では、誤り訂正復号の繰り返し回数が1回目の段階において、パリティチェックが「OK」となっている。即ち、誤り訂正復号部402は、比較的伝送路の品質が良かったために、1回目の誤り訂正復号において、データ誤りのない受信データを復号できる。
 また、パリティチェックが「OK」になると、制御部404が出力する制御信号CON2を基に、クロック発生部405は、誤り訂正復号部402に対してクロックパルスCLKの供給を停止する。誤り訂正復号部402はクロックパルスCLKに同期して動作しているため、クロックパルスCLKの供給が停止すると、誤り訂正復号部402の回路動作も停止する。つまり、誤り訂正受信装置400は、早い段階にてパリティチェックが「OK」になった場合には、クロックパルスCLKの供給の停止によって、誤り訂正復号部402の消費電力を低減できる。
 また、図19に示す動作例では、誤り訂正復号の繰り返し回数が0回目の段階において、パリティチェックが「OK」となっている。即ち、誤り訂正復号部402は誤り訂正復号する前にデータ誤りのない受信データを復号できているため、伝送路の品質が良い状態である。
 また、図19に示す動作例においても、パリティチェックが「OK」となった以降は、クロック発生部405は、制御部404からの制御信号CON2を基に、誤り訂正復号部402に対してクロックパルスCLKの供給を停止し、誤り訂正復号部402の回路動作を停止させている。
<有効ビット数の制限>
 図18又は図19に示す動作例では、伝送路の品質が良く、誤り訂正復号部402の訂正能力が下がったとしても、適切な誤り訂正結果が得られる可能性が高い。つまり、ビット数制限部401は、誤り訂正復号部402に入力される受信データRD2の有効ビット数を制限できる。
 制御部404は、有効ビット数を決定し、制御信号CON1を用いてビット数制限部401の動作を制御する。どの程度まで有効ビット数を制限できるかについては、伝送路の品質に応じて定まる。また、図17~図19では、パリティチェックが「OK」と検出されるまでの誤り訂正復号部402の復号の繰り返し回数と、伝送路の品質との間に大きな相関がある。従って、制御部404は、パリティチェックが「OK」と検出されるまでの復号の繰り返し回数と有効ビット数とを対応付けて、有効ビット数を決定する。
<有効ビット数テーブルの説明>
 制御部404は、有効ビット数テーブルを保持し、有効ビット数テーブルを用いて有効ビット数を決定する。これにより、制御部404は、ビット数制限部401が制限する有効ビット数を効率的に決定できる。有効ビット数テーブルの具体的な構成例を図20及び図21にそれぞれ示す。
 図20に示す有効ビット数テーブルTBL1と図21に示す有効ビット数テーブルTBL2とは内容が異なっている。各々の有効ビット数テーブルTBL1,TBL2については、何れか一方が用いられても良いし、伝送路の品質の状況に応じて選択的に用いられても良い。また、有効ビット数テーブルの内容は、制御部404内のメモリ(例えば、不揮発性メモリ)に格納され、必要に応じて制御部404が内容を書き換えしても良い。
 図20に示す有効ビット数テーブルTBL1は、次の4種類のデータDT1、DT2、DT3及びDT4を含む。即ち、データDT1はパリティチェック「OK」が検出されるまでの復号処理の繰り返し回数を表す。データDT2は軟判定ビット数を表す。データDT3は有効ビット数を表す。データDT4は「0」に固定されるビット数を表す。
 なお、有効ビット数テーブルTBL1の中において最低限必要な情報は、データDT1と、データDT3又はデータDT4とである。即ち、制御部404は、図20に示す有効ビット数テーブルTBL1を参照することにより、データDT1に対応する復号の繰り返し回数と、データDT3又はデータDT4に対応する有効ビット数とを対応付けできる。
<有効ビット数の決定に関する具体例>
 有効ビット数テーブルTBL1を用いる場合の具体例について説明する。例えば、図19に示す動作例では、ヘッダデータDHを復号する場合に復号の繰り返し回数が0回目にてパリティチェック「OK」となっている。制御部404は、有効ビット数テーブルTBL1のデータDT1の「0回目」を参照し、データDT1の「0回目」に対応するデータDT3の内容が「1ビット」であると認識し、有効ビット数を「1ビット」に決定する。
 制御部404は、有効ビット数が「1ビット」であることを示す情報を、制御信号CON1としてビット数制限部401に与える。これにより、ビット数制限部401は、5ビットの並列信号によって構成される受信データRD2の中において、下位の4ビットをそれぞれ「0」に固定し、最上位の1ビットを有効ビットとする。
 従って、図19に示す動作例では、ヘッダデータDHに続くペイロードデータDP1の受信データを復号する場合、誤り訂正復号部402に入力される受信データRD2の有効ビット数は1ビットになる。つまり、軟判定値である5ビットの受信データRD1が変化しても、受信データRD2を構成する5ビットの中において、下位の4ビットは「0」のまま変化しない。
 また、図18に示す動作例では、ヘッダデータDHを復号する場合に復号の繰り返し回数が1回目にてパリティチェックが「OK」となっている。制御部404は、有効ビット数テーブルTBL1のデータDT1の「1回目」を参照し、データDT1の「1回目」に対応するデータDT3の内容が「2ビット」であると認識し、有効ビット数を「2ビット」に決定する。
 制御部404は、有効ビット数が「2ビット」であることを示す情報を、制御信号CON1としてビット数制限部401に与える。これにより、ビット数制限部401は、5ビットの並列信号によって構成される受信データRD2の中において、下位の3ビットをそれぞれ「0」に固定し、残りの上位2ビットを有効ビットとする。
<誤り訂正受信装置400における動作の流れの説明>
 誤り訂正受信装置400のヘッダに対する動作を説明するフローチャートを図22に示す。また、誤り訂正復号器のペイロードに対する動作を説明するフローチャートを図23に示す。即ち、制御部404の制御により、図22及び図23に示す各手順に沿って、順次に制御が実施される。
 受信データRD1としてヘッダデータDHが現れた場合には、図22のステップS11~S16が実行される。また、ペイロードデータ(DP1,DP2,・・・)が現れた場合には、図23のステップS21~S28が実行される。
<ヘッダデータDHを復号する場合の動作>
 ビット数制限部401は、受信データRD2の有効ビット数を制限しない。つまり、5ビットの受信データRD1が受信データRD2として誤り訂正復号部402に入力される。
 誤り訂正復号部402は、誤り訂正パラメータを算出し、受信データRD2に対して誤り訂正復号する。誤り訂正パラメータの初期値は0である。従って、誤り訂正復号部402は、初回、即ち、図17~図19の「0回目」では、訂正しない状態にて復号する(S11)。
 制御部404は、誤り訂正復号部402における誤り訂正復号の繰り返し回数をカウントする(S12)。繰り返し回数の初期値は0とする。誤り訂正復号の1回あたりの所要時間が予め決まっているため、制御部404は、誤り訂正復号を開始してからの経過時間に従って、誤り訂正復号部402における誤り訂正復号の繰り返し回数をカウントする。
 制御部404は、誤り訂正復号部402が復号を1回実行する毎に、パリティチェック部403が復号結果に対してパリティチェックしたパリティチェック結果としての信号PCHを監視し、パリティチェックがOKか否かを識別する(S13)。
 誤り訂正復号部402が出力する受信データRD3にデータ誤りが生じている場合には(S13、NO)、パリティチェックがNGであるため、誤り訂正受信装置400の動作はステップS13からステップS11に戻る。つまり、誤り訂正復号部402が誤り訂正復号を複数回繰り返す(S11)。また、制御部404は、繰り返し回数をカウントする(S12)。
 パリティチェックがOKになった場合には(S13、YES)、制御部404は、制御信号CON2をクロック発生部405に出力し、クロックパルスCLKの誤り訂正復号部402及びパリティチェック部403への供給をクロック発生部405に停止させる(S14)。これにより、誤り訂正復号部402の動作及びパリティチェック部403の動作が停止する。
 パリティチェックがOKになった場合は(S13、YES)、制御部404は、誤り訂正復号の繰り返し回数を用いて、有効ビット数テーブルTBL1を参照して有効ビット数を決定する(S15)。制御部404は、制御信号CON1を出力し、ビット数制限部401が制限する有効ビット数を設定する(S16)。
<ペイロードデータ(DP1,DP2,・・・)を復号する場合の動作>
 図22に示すステップS16によってビット数制限部401は有効ビット数を制限するため、誤り訂正受信装置400がペイロードデータを受信する場合には、有効ビット数が制限された受信データRD2が誤り訂正復号部402に入力される(S21)。
 誤り訂正復号部402は、誤り訂正パラメータを算出し、受信データRD2に対して誤り訂正復号する。誤り訂正パラメータの初期値は0である。従って、誤り訂正復号部402は、初回、即ち、図17~図19の「0回目」では、訂正しない状態にて復号する(S22)。
 制御部404は、誤り訂正復号部402における誤り訂正復号の繰り返し回数をカウントする(S23)。繰り返し回数の初期値は0とする。誤り訂正復号処理の1回あたりの所要時間が予め決まっているため、制御部404は、1つのペイロードデータに対する誤り訂正復号を開始してからの経過時間に従って、誤り訂正復号部402における誤り訂正復号の繰り返し回数をカウントする。
 制御部404は、誤り訂正復号部402が復号を1回実行する毎に、パリティチェック部403が復号結果に対してパリティチェックしたパリティチェック結果としての信号PCHを監視し、パリティチェックがOKか否かを識別する(S24)。
 誤り訂正復号部402が出力する受信データRD3にデータ誤りが生じている場合は(S24、NO)、パリティチェックがNGになるため、誤り訂正受信装置400の動作はステップS14からステップS26を経由してステップS22に戻る。つまり、誤り訂正復号部402が誤り訂正復号を複数回繰り返す(S22)。また、制御部404は、繰り返し回数をカウントする(S23)。
 また、パリティチェックがNGの場合には(S24、NO)、制御部404は、繰り返し回数が事前に定めた最大値(例えば6回)になってもNGであるか否かを識別する(S26)。繰り返し回数が最大値になってもNGの場合には(S26、YES)、制御部404は、再び有効ビット数テーブルTBL1又はTBL2を参照し、有効ビット数を以前の有効ビット数よりも多い数に変更する(S27)。制御部404は、制御信号CON1を出力し、ステップS27によって変更された有効ビット数を、ビット数制限部401が制限する有効ビット数として設定する(S28)。
 ステップS16において有効ビット数を制限する状態は、伝送路の品質が良い場合である。従って、ビット数制限部401が有効ビット数を制限した場合でも、通常であれば、誤り訂正復号の繰り返し回数が最大値になる前に、パリティチェックはOKになる。従って、ステップS26~S28は必ずしも必要ではない。
 しかし、場合によっては、伝送路の品質が急に悪化する可能性も考えられる。伝送路の品質が悪化した場合には、ステップS27及びS28において制御部404が有効ビット数を増やすことにより、誤り訂正復号部402の誤り訂正能力を向上できる。これにより、誤り訂正受信装置400は、伝送路の品質の動的な変化に対応して、受信データを復号できる。
<誤り訂正受信装置400の動作の有効性に関する検証>
 軟判定値の有効ビット数と誤り率(BER)との関係を図24に示す。具体的には、各ビットあたりの雑音比(Eb/No)における誤り率(BER)と、受信データRD2の軟判定ビット数の関係のシミュレーション結果が図24に示されている。
 図24では、雑音が多い場合(Eb/No=3)では、軟判定ビット数を2ビット又は1ビットに少なくすると誤り率が劣化する。一方、雑音が少ない場合(Eb/No=9、Eb/No=10)では、軟判定ビット数を5ビットから1ビットに削減しても誤り率がほぼ一定であることが分かる。
 つまり、伝送路の品質が良好であって雑音が少ない場合には、軟判定ビット数を5ビットから1ビットに削減しても誤り率が変化せず、同じ誤り訂正復号結果が得られる。従って、誤り訂正復号部402に入力される受信データRD2の軟判定値の有効ビット数を減らしても良い。
 そのため、例えば図20の有効ビット数テーブルTBL1では、制御部404は、パリティチェックが「OK」となった場合、復号の繰り返し回数DT1が少ないと、伝送路の品質が良い状況と判断し、有効ビット数DT3を減らすことができる。
 つまり、制御部404は有効ビット数テーブルTBL1を用いて適切な有効ビット数を適宜、決定できる。図19の例では、繰り返し回数0回目にてパリティチェックが「OK」となった場合には、ビット数制限部401は、受信データRD2の下位4ビットを0に固定する。誤り訂正復号部402において計算されるデータ5ビットのうち4ビットが0であって固定となるため、消費電力を低減できる。
 誤り訂正復号部402は、LDPC符号の復号のために、サムプロダクト(sum-product)復号法又はサムプロダクト復号法を簡略化した復号方式(例えば、ミニサム(min-sum)復号法)を用いる。誤り訂正復号部402の内部回路は、例えば、主に加算器を用いて構成される。
 従って、処理対象の複数ビットの信号が「0」に固定したビットを含む場合には、固定したビットを処理する回路が不要となる。従って、誤り訂正復号部402の回路が消費する電力が削減される。
 また、図22では、制御部404は、受信データのヘッダを処理する場合に有効ビット数を決定するため、データの本体を含むペイロードの処理では、有効ビット数を削減できる。これにより、消費電力を削減する効果が高まる。
 以上により、本実施形態の誤り訂正受信装置400は、誤り訂正復号部402の繰り返し回数に対するパリティチェック結果に応じて軟判定ビット数の有効ビット数を変更する。これによって誤り訂正復号部402の動作回路を軽減でき、誤り訂正受信装置400を含む送受信装置300の消費電力を低減できる。繰り返し回数が少ない場合には、伝送路の品質が良いため、受信データRD2の下位ビットを0に固定して有効ビット数を制限する。これにより、伝送路の通信品質に応じて、受信データの復号処理量を低減して高速に復号できる。
 誤り訂正受信装置400は、特に伝送路品質の良い場合には、クロックを停止させることによる消費電力の低減に加え、誤り訂正復号部402及びパリティチェック部403の動作の停止によって更なる消費電力を低減できる。
(開示の一態様の概要)
 第1の開示に係る復号装置は、受信パケットを復調処理した複数の尤度を記憶する記憶部と、復号に用いる検査行列を分割した部分検査行列をそれぞれ用いて、前記尤度毎に並列に復号処理する復号コアを複数有する復号部と、を備え、前記部分検査行列は、行数が列数以上となる行列である。
 第2の開示に係る復号装置は、第1の開示の復号装置であって、前記受信パケットのMCS情報を取得するMCS情報取得部と、前記復号コアの動作用のクロックを選択的に出力するクロック出力部と、を備え、前記クロック出力部は、前記MCS情報に基づき、前記受信パケットを伝送する通信方式が、所定の高速通信よりも遅い所定の低速通信では、前記高速通信においてクロックを供給する復号コア数よりも少ない数の復号コアに対して前記クロックを供給する。
 第3の開示に係る復号装置は、第1の開示の復号装置であって、前記受信パケットのMCS情報を取得するMCS情報取得部と、前記MCS情報に含まれる変調方式の多値数に応じて、前記復号コアの通常動作に用いる第1のクロックと前記第1のクロックよりも低速の第2のクロックとのいずれかを出力するクロック出力部と、前記MCS情報に含まれる変調方式の多値数に応じて、前記クロック出力部が前記第1のクロックを出力する場合、前記復号部に供給する、通常動作電圧の第1の電源を出力し、前記クロック出力部が前記第2のクロックを出力する場合、前記通常動作電圧よりも低電圧の第2の電源を出力する電源部と、を備える。
 第4の開示に係る復号装置は、第3の開示の復号装置であって、前記電源部は、通信相手との通信初期化時に自装置の許容通信速度に関する情報を通信相手に通知し、変調多値数の少ない低速通信を許容することを通信相手に通知した場合、予め前記第2の電源の低電圧電源を出力する。
 第5の開示に係る復号装置は、第4の開示の復号装置であって、通信速度又は消費電力に関するユーザ志向情報を入力する設定部を更に有し、前記クロック出力部は、前記ユーザ志向情報に基づいて、出力するクロックを選択し、前記電源部は、前記ユーザ志向情報に基づいて、出力する電圧を選択する。
 第6の開示に係る復号装置は、第4または第5の開示の復号装置であって、復号対象データを伝送する伝搬路環境を推定する伝搬路環境推定部を備え、前記復号部は、前記通信初期化時の伝搬路環境推定値を用いて前記許容通信速度を設定する。
 第7の開示に係る復号装置は、ヘッダを含む受信データを復号する復号装置であって、前記受信データの軟判定値を反復復号により誤り訂正復号する誤り訂正復号部と、前記誤り訂正復号の出力結果を基に、データ誤りの有無を検出するデータ誤り検出部と、前記ヘッダの誤り訂正復号における反復復号の繰り返し回数と、前記データ誤りの有無の検出結果とを基に、前記誤り訂正復号の対象とする前記受信データの有効ビット数を決定する制御部と、を備える。
 第8の開示に係る復号装置は、第7の開示の復号装置であって、前記誤り訂正復号部に入力される前記受信データの軟判定値の前記有効ビット数を制限するビット数制限部と、を更に備え、前記ビット数制限部は、前記決定された前記有効ビット数に従って、前記誤り訂正復号部に入力される前記受信データの軟判定値の有効ビット数を制限する。
 第9の開示に係る復号装置は、第8の開示の復号装置であって、前記ビット数制限部は、前記決定された前記有効ビット数に従って、前記軟判定値を構成する複数ビットの中において、最下位ビット若しくは最下位ビットを含む複数ビットを0に固定する。
 第10の開示に係る復号装置は、第7~第9の開示のいずれかの復号装置であって、前記制御部は、前記反復復号処理の繰り返し回数と、前記有効ビット数との対応関係を表す情報を保持する有効ビット数テーブルを有し、前記制御部は、前記有効ビット数テーブルに従って、前記有効ビット数を決定する。
 第11の開示に係る復号装置は、第7~第10の開示のいずれかの復号装置であって、前記制御部は、前記受信データのペイロードに対する前記誤り訂正復号において、反復復号の繰り返し回数が所定の上限回数を超えても前記データ誤りが検出される場合には、前記有効ビット数を増やす。
 第12の開示に係る復号装置は、第7~第11の開示のいずれかの復号装置であって、前記誤り訂正復号部は、低密度パリティ検査符号又はターボ符号を用いた反復復号により、前記入力された前記受信データを誤り訂正復号する。
 第13の開示に係る復号装置は、第7~第12の開示のいずれかの復号装置であって、前記データ誤り検出部は、前記誤り訂正復号部の出力における前記データ誤りをパリティチェックにより検出する。
 第14の開示に係る復号方法は、ヘッダを含む受信データを復号する復号方法であって、前記受信データのヘッダを反復復号により誤り訂正復号するステップと、誤り訂正復号の出力結果を基に、データ誤りの有無を検出するステップと、前記ヘッダの誤り訂正復号における反復復号の繰り返し回数と、前記データ誤りの有無の検出結果とを基に、前記誤り訂正復号の対象とする前記受信データの有効ビット数を決定するステップと、を含む。
 第15の開示に係る無線通信装置は、第1~第13の開示のいずれかの復号装置を含む。
 以上、図面を参照しながら各種の実施形態について説明したが、本開示はかかる例に限定されないことは言うまでもない。当業者であれば、特許請求の範囲に記載された範疇内において、各種の変更例または修正例に想到し得ることは明らかであり、それらについても当然に本開示の技術的範囲に属するものと了解される。また、開示の趣旨を逸脱しない範囲において、上記実施形態における各構成要素を任意に組み合わせてもよい。
 上記各実施形態では、本開示を、ハードウェアを用いて構成する場合を例にとって説明したが、本開示はハードウェアとの連携においてソフトウェアでも実現可能である。
 また、上記各実施形態の説明に用いた各機能ブロックは、典型的には集積回路であるLSIとして実現される。これらは個別に1チップ化されてもよいし、各機能ブロックの一部又は全てを含むように1チップ化されてもよい。ここでは、LSIとしたが、集積度の違いにより、IC、システムLSI、スーパーLSI、ウルトラLSIと呼称されることもある。
 また、集積回路化の手法にはLSIに限らず、専用回路または汎用プロセッサを用いて実現してもよい。LSI製造後に、プログラムすることが可能なFPGA(Field Programmable Gate Array)、又は、LSI内部の回路セルの接続、設定が再構成可能なリコンフィグラブル・プロセッサーを利用してもよい。
 さらには、半導体技術の進歩または派生する別技術によりLSIに置き換わる集積回路化の技術が登場すれば、当然、別技術を用いて機能ブロックの集積化を行ってもよい。バイオ技術の適用等が可能性としてありえる。
 本出願は、2012年3月19日出願の日本特許出願(特願2012-062492)、及び2012年6月4日出願の日本特許出願(特願2012-127288)に基づくものであり、その内容はここに参照として取り込まれる。
 本開示は、高速な復号処理が可能となる効果を有し、例えば通信の伝送路において生じる信号の誤りを訂正する誤り訂正復号装置において、高速、低消費電力な復号処理を実現するものとして有用である。
 10 復号部
 11、11-1~11-N 復号コア
 21 尤度記憶部
 22 選択部
 23 クロック生成部
 24 クロックゲート部
 25 ヘッダ解析部
 26 無線部
 27 復調部
 28 伝搬路環境推定部
 29 クロック分周部
 31 電源
 32 低電圧電源
 33 設定部
 51、52、53、54 制御部
 111 列処理部
 112 行処理部
 113 事前値記憶部
 114 外部値記憶部
 115 硬判定部
 300 送受信装置
 301 誤り訂正符号器
 302 変調器
 303 DAC
 304 送信アナログ処理部
 305 PA部
 306 アンテナ回路
 307 受信アナログ処理部
 308 ADC
 309 復調部
 310 誤り訂正復号器
 311 データ認識部
 400 誤り訂正受信装置
 401 ビット数制限部
 402 誤り訂正復号部
 403 パリティチェック部
 404 制御部
 405 クロック発生部
 501 列処理部
 502 行処理部

Claims (6)

  1.  受信パケットを復調処理した複数の尤度を記憶する記憶部と、
     復号に用いる検査行列を分割した部分検査行列をそれぞれ用いて、前記尤度毎に並列に復号処理する復号コアを複数有する復号部と、を備え、
     前記部分検査行列は、行数が列数以上となる行列である、
     復号装置。
  2.  請求項1に記載の復号装置であって、
     前記受信パケットのMCS情報を取得するMCS情報取得部と、
     前記復号コアの動作用のクロックを選択的に出力するクロック出力部と、を備え、
     前記クロック出力部は、前記MCS情報に基づき、前記受信パケットを伝送する通信方式が、所定の高速通信よりも遅い所定の低速通信では、
     前記高速通信においてクロックを供給する復号コア数よりも少ない数の復号コアに対して前記クロックを供給する、
     復号装置。
  3.  請求項1に記載の復号装置であって、
     前記受信パケットのMCS情報を取得するMCS情報取得部と、
     前記MCS情報に含まれる変調方式の多値数に応じて、前記復号コアの通常動作に用いる第1のクロックと前記第1のクロックよりも低速の第2のクロックとのいずれかを出力するクロック出力部と、
     前記MCS情報に含まれる変調方式の多値数に応じて、
     前記クロック出力部が前記第1のクロックを出力する場合、前記復号部に供給する、通常動作電圧の第1の電源を出力し、
     前記クロック出力部が前記第2のクロックを出力する場合、前記通常動作電圧よりも低電圧の第2の電源を出力する電源部と、
     を備える、
     復号装置。
  4.  請求項3に記載の復号装置であって、
     前記電源部は、
     通信相手との通信初期化時に自装置の許容通信速度に関する情報を通信相手に通知し、変調多値数の少ない低速通信を許容することを通信相手に通知した場合、
     予め前記第2の電源の低電圧電源を出力する、
     復号装置。
  5.  請求項4に記載の復号装置であって、
     通信速度又は消費電力に関するユーザ志向情報を入力する設定部を更に有し、
     前記クロック出力部は、
     前記ユーザ志向情報に基づいて、出力するクロックを選択し、
     前記電源部は、
     前記ユーザ志向情報に基づいて、出力する電圧を選択する、
     復号装置。
  6.  請求項4または5に記載の復号装置であって、
     復号対象データを伝送する伝搬路環境を推定する伝搬路環境推定部を備え、
     前記復号部は、
     前記通信初期化時の伝搬路環境推定値を用いて前記許容通信速度を設定する、
     復号装置。
PCT/JP2013/001368 2012-03-19 2013-03-05 復号装置 Ceased WO2013140727A1 (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/110,697 US9141470B2 (en) 2012-03-19 2013-03-05 Decoding device

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP2012062492A JP5844667B2 (ja) 2012-03-19 2012-03-19 復号装置、復号方法及び無線通信装置
JP2012-062492 2012-03-19
JP2012-127288 2012-06-04
JP2012127288A JP5869968B2 (ja) 2012-06-04 2012-06-04 復号装置

Publications (1)

Publication Number Publication Date
WO2013140727A1 true WO2013140727A1 (ja) 2013-09-26

Family

ID=49222211

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2013/001368 Ceased WO2013140727A1 (ja) 2012-03-19 2013-03-05 復号装置

Country Status (2)

Country Link
US (1) US9141470B2 (ja)
WO (1) WO2013140727A1 (ja)

Families Citing this family (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI550628B (zh) * 2014-07-16 2016-09-21 群聯電子股份有限公司 解碼方法、記憶體儲存裝置及記憶體控制電路單元
US20160036468A1 (en) * 2014-08-01 2016-02-04 Intel IP Corporation Method and device for iterative decoding a data transfer structure
US20160212749A1 (en) * 2015-01-19 2016-07-21 Qualcomm Incorporated Systems and methods for use of multiple modulation and coding schemes in a physical protocol data unit
US10230401B2 (en) 2015-03-10 2019-03-12 Toshiba Memory Corporation Memory controller for a non-volatile memory, memory system and method
US10057019B2 (en) * 2015-05-08 2018-08-21 Qualcomm Incorporated Media access control (MAC) layer coding and hybrid automatic repeat request (HARQ) for efficient receiver pipeline processing in self-contained time division duplex (TDD) subframe
KR20170076350A (ko) * 2015-12-24 2017-07-04 에스케이하이닉스 주식회사 데이터 저장 장치 및 그것의 동작 방법
US10545821B2 (en) * 2017-07-31 2020-01-28 Hewlett Packard Enterprise Development Lp Fault-tolerant dot product engine
US11409595B2 (en) * 2019-01-17 2022-08-09 Micron Technology, Inc. Channel modulation for a memory device
US11316537B2 (en) 2019-06-03 2022-04-26 Hewlett Packard Enterprise Development Lp Fault-tolerant analog computing
US12308803B2 (en) * 2022-08-24 2025-05-20 Shenzhen Jiangnan Industrial Co., Ltd. Switching power supply frequency adaptive adjustment method, system and electronic device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008288710A (ja) * 2007-05-15 2008-11-27 Sumitomo Electric Ind Ltd 復号回路及び部分処理回路
JP2011160491A (ja) * 2011-05-24 2011-08-18 Sumitomo Electric Ind Ltd 復号器
JP2012039371A (ja) * 2010-08-06 2012-02-23 Panasonic Corp 誤り訂正復号装置及び誤り訂正復号方法

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4819470B2 (ja) 2005-10-11 2011-11-24 三星電子株式会社 復号装置および復号方法
JP4992900B2 (ja) * 2006-08-02 2012-08-08 富士通株式会社 受信装置及びその復号方法
JP4823176B2 (ja) * 2007-08-31 2011-11-24 パナソニック株式会社 復号方法及び復号装置
KR20090065411A (ko) * 2007-12-17 2009-06-22 한국전자통신연구원 그룹 단위 복호화를 위한 전처리 장치 및 그 방법
US8443270B2 (en) * 2008-12-09 2013-05-14 Entropic Communications, Inc. Multiple input hardware reuse using LDPC codes
JP5112468B2 (ja) * 2010-03-26 2013-01-09 株式会社東芝 誤り検出訂正回路、メモリコントローラ、および半導体メモリ装置
JP2012244305A (ja) * 2011-05-17 2012-12-10 Toshiba Corp メモリコントローラ、半導体メモリ装置、および復号方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2008288710A (ja) * 2007-05-15 2008-11-27 Sumitomo Electric Ind Ltd 復号回路及び部分処理回路
JP2012039371A (ja) * 2010-08-06 2012-02-23 Panasonic Corp 誤り訂正復号装置及び誤り訂正復号方法
JP2011160491A (ja) * 2011-05-24 2011-08-18 Sumitomo Electric Ind Ltd 復号器

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
TATSUYUKI ISHIKAWA ET AL.: "High-Throughput LDPC Decoder Based on Memory-Reduction Method", IEICE TECHNICAL REPORT, ICD2005-220, vol. 105, no. 570, 20 January 2006 (2006-01-20), pages 29 - 34 *

Also Published As

Publication number Publication date
US9141470B2 (en) 2015-09-22
US20140082455A1 (en) 2014-03-20

Similar Documents

Publication Publication Date Title
WO2013140727A1 (ja) 復号装置
JP5122551B2 (ja) 対数尤度マッパのスケールファクタを最適化するブロードキャストレシーバ及び方法
US8286048B1 (en) Dynamically scaled LLR for an LDPC decoder
US12476657B2 (en) Capacity achieving multicarrier modulation and coding systems and methods
US7395495B2 (en) Method and apparatus for decoding forward error correction codes
US8270543B1 (en) Scaling and quantization of soft decoding metrics
US8190962B1 (en) System and method for dynamic maximal iteration
US20070086541A1 (en) Apparatus and method for processing LLR for error correction code in a mobile communication system
US10211952B2 (en) Scheme for communication using integer-forcing scheme in wireless communication system
US11515965B2 (en) Reception device and reception method
CN101567752B (zh) 一种基于低密度奇偶校验码的自适应编解码方法
JP2010011119A (ja) 復号方法および復号装置
KR100693833B1 (ko) 고정 노이즈 분산값을 사용하는 디코더 및 디코딩 방법
US12160250B2 (en) Decoding system, and transmitting/receiving device thereof
US8700979B2 (en) Error correcting code decoding device, decoding method, and mobile station apparatus
CN101237434A (zh) 一种格雷映射m-psk调制的软判决方法
JP5844667B2 (ja) 復号装置、復号方法及び無線通信装置
JP5869968B2 (ja) 復号装置
CN101883063A (zh) 迭代检测方法及装置
WO2010102523A1 (zh) 数据发送装置及其方法、数据接收装置及其方法
CN112003626B (zh) 一种基于导航电文已知比特的ldpc译码方法、系统和介质
CN116388932B (zh) 一种盲帧同步的通信方法、装置及系统
US8621312B2 (en) Transceiver that serves LDPC codewords for decoding including clock cycle budgeting based on block transmission length
CN116318179B (zh) 低密度奇偶校验码编译码多输入多输出系统的检译码方法
WO2009102012A1 (ja) 復号化装置、復号化方法、復号化プログラム、受信装置、及び通信システム

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 14110697

Country of ref document: US

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

Ref document number: 13765037

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: 13765037

Country of ref document: EP

Kind code of ref document: A1