WO1999000905A1 - Processeur et procede de traitement - Google Patents

Processeur et procede de traitement Download PDF

Info

Publication number
WO1999000905A1
WO1999000905A1 PCT/JP1998/002909 JP9802909W WO9900905A1 WO 1999000905 A1 WO1999000905 A1 WO 1999000905A1 JP 9802909 W JP9802909 W JP 9802909W WO 9900905 A1 WO9900905 A1 WO 9900905A1
Authority
WO
WIPO (PCT)
Prior art keywords
arithmetic processing
path
metric
processing device
metrics
Prior art date
Application number
PCT/JP1998/002909
Other languages
English (en)
French (fr)
Inventor
Ryutaro Yamanaka
Hidetoshi Suzuki
Hideyuki Kabuo
Minoru Okamoto
Mark Kevin Stone
Original Assignee
Matsushita Electric Industrial Co., Ltd.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co., Ltd. filed Critical Matsushita Electric Industrial Co., Ltd.
Priority to US09/147,663 priority Critical patent/US6330684B1/en
Priority to DE69827915T priority patent/DE69827915T2/de
Priority to EP98929741A priority patent/EP0923197B1/en
Publication of WO1999000905A1 publication Critical patent/WO1999000905A1/ja
Priority to US10/748,242 priority patent/US7139968B2/en
Priority to US11/022,811 priority patent/US7325184B2/en
Priority to US11/929,126 priority patent/US20080072129A1/en

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/3961Arrangements of methods for branch or transition metric calculation
    • 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/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • 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/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
    • 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/6561Parallelized implementations
    • 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/6563Implementations using multi-port memories
    • 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/6569Implementation on processors, e.g. DSPs, or software implementations

Definitions

  • the present invention relates to an arithmetic processing device that is incorporated in a mobile communication device or the like, and particularly performs an ACS (addition, comparison, selection) operation of Viterbi decoding.
  • ACS addition, comparison, selection
  • DSP digital signal processor
  • Viterbi decoding achieves maximum likelihood decoding of convolutional codes by repeating simple processing of addition, comparison, and selection, and finally by a traceback operation to decode data.
  • a convolutional code is generated by mod 2 addition of an input bit and a certain number of bits preceding the input bit, and a plurality of encoded data are generated corresponding to one input bit.
  • the number of input information bits that affect the encoded data is called the constraint length (K), and the number is equal to the number of shift registers used for mod 2 addition.
  • the coded data is determined by the input bits and the state of the preceding (K-1) input bits, and transitions to a new state when a new information bit is input.
  • the state to which the coded data transits depends on whether the new input bit is 0 or 1. Since each of the (K-1) bits can be 1 or 0, the number of states to which the coded data transitions is 2 ( ⁇ _1 ) .
  • the received encoded data sequence is observed, and the most probable state is estimated from all possible state transitions. Therefore, each time encoded data (received data sequence) corresponding to one information bit is obtained, the signal distance (metric) of the path to each state at that time is calculated, and the path of the path reaching the same state is calculated.
  • the path metric a is the distance between signals (branch metric) X between the output symbol of the path input to the state S [2 n] and the received data sequence (branch metric), and the surviving path up to the previous state S [n]. This is the sum with the path metric A, which is the sum of the branch metrics.
  • the path metric b is the distance (branch metric) y between the output symbol of the path input to the state S [2 n] and the received data sequence (branch metric), and the state S [n + 2 ( ⁇ — 2) ] is the sum with the path metric ⁇ , which is the sum of the branch metrics of the surviving paths up to and including].
  • the path metrics a and b input to the state S [2 ⁇ ] are compared, and the smaller path is selected as the surviving path.
  • a conventional arithmetic processing device for Viterbi decoding will be described with reference to an example of a general-purpose arithmetic processing device TMS320C54x (manufactured by TEXAS INSTRUMENTS, hereinafter referred to as "C54x").
  • TMS320C54x manufactured by TEXAS INSTRUMENTS, hereinafter referred to as "C54x"
  • C54x the following equation (1) is used as a convolutional code.
  • G 2 (D) 1 + D + D 3 + D4 (1)
  • the branch metric is defined by the following equation (2).
  • the butterfly structure is processed at high speed by setting the Arithmetic Logic Unit (ALU) in a dual 16-bit mode.
  • ALU Arithmetic Logic Unit
  • To determine the new path metric (J), two path metrics, 2 * J and 2 * J + 1, and a branch metric (M and —M) are calculated in parallel with the DADST instruction and compared with the CMP S instruction. I do.
  • To determine the new path metric (J + 8), the two path metrics and the branch metric (M and 1M) are calculated in parallel using the DSAD instruction. The operation results are stored in the upper and lower parts of the double-precision accumulator respectively.
  • the new path metric is determined by the CMP S instruction.
  • the CMPS instruction compares the upper and lower accumulators and stores the larger of these values in memory. Each time a comparison is made, the 16-bit transition and the register (TRN) indicate which is selected. The contents written to TRN are stored in memory after each symbol processing. The information stored in memory is used to find the best path during the traceback process.
  • Figure 4 shows a macro program for butterfly computation for Viterbi decoding. The value of the branch metric is stored in the T registry before the macro is called.
  • Figure 5 shows an example of path metric memory mapping.
  • the above is the ACS operation mechanism of the general-purpose DSP C54X.
  • the C54x realizes updating of two path metrics in four machine cycles.
  • demand for non-voice communication which requires higher transmission quality with a lower bit error rate than voice communication, is expected to increase.
  • the number of path metrics (the number of states) doubles, and the amount of computation in Viterbi decoding by the DSP doubles.
  • non-voice communication has a larger amount of information than voice communication, and as the amount of information increases, the amount of operation in Viterbi decoding including ACS operation also increases.
  • the amount of computation by the DSP increases, it becomes difficult to maintain the battery of the mobile terminal for a long time.
  • a first object of the present invention is to provide an arithmetic processing device that efficiently processes ACS operation of video decoding by a DSP with a small investment of hardware. This object is achieved by arranging two sets of the comparison unit, the addition unit, and the storage unit for storing the comparison result in the processing unit, and executing the ACS operation in parallel.
  • FIG. 1 is a trellis diagram showing a state transition path of a convolutional encoder in video decoding.
  • FIG. 2 is a schematic diagram showing a butterfly structure of a trellis diagram
  • FIG. 3 is a schematic diagram showing an example of a generated code by a convolutional encoder
  • FIG. 4 is a program diagram showing an example of a video operation for channel coding.
  • Fig. 5 is a schematic diagram showing an example of storing pointer control and path metrics.
  • FIG. 6 is a block diagram showing the configuration of the arithmetic processing unit according to Embodiment 1 of the present invention.
  • FIG. 7 is a block diagram illustrating an example of a convolutional encoder having a coding rate of 1/2
  • FIG. 9 is a block diagram illustrating a configuration of an arithmetic processing device according to Embodiment 2 of the present invention.
  • FIG. 10 is a timing chart illustrating a pipeline operation of the arithmetic processing unit according to Embodiment 2 of the present invention.
  • FIG. 11 is a schematic diagram showing an operation example of RAM memory access according to the second embodiment of the present invention.
  • FIG. 12 is a block diagram illustrating a configuration of an arithmetic processing device according to Embodiment 3 of the present invention.
  • FIG. 13 is a schematic diagram showing an operation example of memory access of a dual-port RAM according to the third embodiment of the present invention.
  • FIG. 14 is a block diagram illustrating a configuration of an arithmetic processing device according to Embodiment 4 of the present invention.
  • FIG. 15 is a timing chart illustrating a pipeline operation of the arithmetic processing unit according to Embodiment 4 of the present invention.
  • FIG. 16 is a block diagram illustrating a configuration of an arithmetic processing device according to Embodiment 5 of the present invention.
  • FIG. 17 is a diagram showing an ACS operation result of the arithmetic processing unit according to Embodiment 6 of the present invention.
  • FIG. 18 is a block diagram illustrating a configuration of an arithmetic processing device according to Embodiment 6 of the present invention.
  • FIG. 19 is a block diagram showing a configuration of an arithmetic processing unit according to Embodiment 7 of the present invention.
  • FIG. 20 is a block diagram showing a configuration of an arithmetic processing unit according to Embodiment 8 of the present invention.
  • FIG. 21 shows an input / output diagram of 4: 2 COMPRESOR in Embodiment 8 of the present invention.
  • FIG. 22 is a block diagram illustrating a configuration of an arithmetic processing device according to Embodiment 9 of the present invention.
  • FIG. 23 shows the carry control of the double precision AU.
  • FIG. 24 is a block diagram showing a configuration of the arithmetic processing device according to Embodiment 10 of the present invention.
  • FIG. 25 is a block diagram showing a configuration of the arithmetic processing device according to Embodiment 11 of the present invention.
  • FIG. 26 is a block diagram showing a configuration of a mobile station device according to Embodiment 12 of the present invention.
  • FIG. 27 is a block diagram illustrating a configuration of a mobile station device according to Embodiment 13 of the present invention.
  • FIG. 28 is a block diagram showing a configuration of a base station apparatus according to Embodiment 14 of the present invention.
  • FIG. 29 is a block diagram showing a configuration of a base station apparatus according to Embodiment 15 of the present invention.
  • FIG. 6 is a block diagram showing a configuration of the arithmetic processing device according to the first embodiment.
  • a path metric storage unit 1 stores a path metric, and supplies data and transfers a calculation result via a bus 2.
  • the branch metric storage unit 3 stores the branch metric and supplies data via the bus 4.
  • the comparison unit 5 and the comparison unit 9 compare the data inputted from the path metric storage unit 1 and the branch metric storage unit 3 via the bus 2 and the bus 4, respectively.
  • the adder 6 and the adder 10 add the data read from the path metric storage 1 and the branch metric storage 3 via the buses 2 and 4, respectively.
  • the comparison result storage unit 7 stores the comparison result of the comparison unit 5, and the comparison result storage unit 11 stores the comparison result of the comparison unit 9. Then, the comparison result storage unit 7 and the comparison result storage unit 11 transfer the comparison result to the path metric storage unit 1 via the bus 2.
  • the selection unit 8 receives the addition result of the addition unit 6, determines the output based on the comparison result of the comparison unit 5, and the selection unit 12 receives the addition result of the addition unit 10 and compares it with the comparison unit 9. The output is determined based on the result. Then, the selection units 8 and 12 transfer the selection result determined via the bus 13 to the path metric storage unit 1.
  • the ACS calculation processing of the calculation processing device will be described with reference to the drawings.
  • the path metric and branch metric data types are both single-precision data.
  • the double precision data is (X, ⁇ )
  • the upper side of the double precision data is represented by X
  • the lower side of the double precision data is represented by ⁇ .
  • node NO and node N1 are node N'0 and node N'4.
  • the branch metric when transitioning from node NO to node N '0 is BM0
  • the branch metric when transitioning from node N 1 to node N' 0 is BM1
  • the branch metric when transitioning from node NO to node N '4 The metric is BM1
  • the branch metric when transitioning from node N1 to node N'4 is BM0.
  • branch metrics BM0 and BM1 are exchanged and added to the path metric ⁇ 40 of the node NO and the path metric PM1 of the node N1, respectively.
  • a path metric of 4 results in PM'4.
  • the ACS operation from the first node N ′ 0 to the node N ′ 3 is performed by the comparison unit 5, the addition unit 6, the comparison result storage unit 7 and the selection unit 8, and in parallel with this, the second half of the node N ′ 4 From the node NO and the node N1 to the node N'0 and the node N'4 from the comparison unit 9, the addition unit 10, the comparison result storage unit 11 and the selection unit 12.
  • the ACS operation of will be described in detail.
  • two path metrics (PM1, PM0) from the path metric storage unit 1 are output to the bus 2
  • two branch metrics (BM1, BM0) from the branch metric storage unit 3 are output to the bus 4.
  • the comparison unit 5 inputs two path metrics (PM1, PM0) from the bus 2 and inputs two branch metrics (BM1, BM0) from the bus 4, and calculates PM1 + BM1-PM0-BM0. .
  • the adder 6 inputs two path metrics (PM1, PM0) from the bus 2 and inputs two branch metrics (BM1, BM0) from the bus 4, and outputs PM1 + BM1 and PMO + BM0. Is calculated and output to the selection unit 8 as (PM1 + BM1, PM0 + BM0).
  • the selecting unit 8 inputs the most significant bit (Most Significant Bit: hereinafter, referred to as “MSB”), which is the sign bit of the comparison result P Ml + BM 1 -PMO—BM 0 of the comparing unit 5, Select whether to output PM1 + BM1 or output lower PM0 + BM0 according to the MSB value.
  • MSB most significant bit
  • MSB which is the comparison result of the comparison unit 5, is simultaneously stored in the comparison result storage unit 7.
  • the comparison unit 9 receives two path metrics (PM1, PM0) from the bus 2 and two branch metrics (BM1, BM0) from the bus 4, and calculates PM1 + BM0—PM0—BM1.
  • the adder 10 inputs two path metrics (PM1, PMO) from the bus 2 and two branch metrics (BM1, BM0) from the bus 4, and outputs PM1 + BM0 and PMO + BM1. Is calculated and output to the selection unit 12 as (PM1 + BM0, PM0 + BM1).
  • the selection unit 12 calculates the comparison result of the comparison unit 9 PM 1 + BM0—PM0—BM1 Input B and select whether to output upper PM1 + BM0 or lower PM0 + BM1 according to the value of MSB.
  • the MSB which is the comparison result of the comparison unit 9, is stored in the comparison result storage unit 11 at the same time.
  • the ACS operation of video decoding by DSP can be executed in parallel, and the arithmetic processing can be performed at high speed with a relatively small amount of processing. it can.
  • FIG. 9 is a block diagram illustrating a configuration of the arithmetic processing device according to the second embodiment.
  • the same parts as those of the arithmetic processing device shown in FIG. 9 the same parts as those of the arithmetic processing device shown in FIG.
  • the storage unit for storing the path metrics is configured by the RAM 14 composed of four banks.
  • the arithmetic processing device shown in FIG. 9 is suitable for the arithmetic processing of the pipeline structure shown in FIG.
  • RAMI 4 power Double-precision RAM that can read even addresses and odd addresses consecutively Assuming that the RAM is readable, if the following conditions (a) and (b) are satisfied, calculations can be performed simply by specifying the even addresses. You can read out the two path metrics used for
  • a one-state path metric is stored in an even address and an odd address in consecutive addresses.
  • One-state path metrics are divided into the first half and the second half, and each is stored in a separate bank.
  • bank 0 of RAM 14 stores the path metrics of the first half of the old state (PMO, PM1, PM2, PM3 in Fig. 8), and bank 1 stores the path metrics of the second half of the old state (PM4, PM in Fig. 8).
  • PMO path metrics of the first half of the old state
  • PM4 path metrics of the second half of the old state
  • two path metrics are generated by executing one cycle of the ACS operation, and these are stored in bank 2 and bank 3 via the bus 13, respectively.
  • the double-precision data is transferred from the bus 13, the path metrics from the node N'0 to the node N'3 are stored in the bank 2, and the path metrics from the node N 'to the node N'7 are stored in the bank 3. Is stored.
  • FIG. 11 is a schematic diagram showing an operation example of memory access of the RAM 14 corresponding to FIG.
  • the storage unit for storing the path metric uses the RAM 14 composed of four banks, and the pair of the bank for reading the path metric and the pair of the bank for storing the storage each time the one-state ACS operation is completed. By switching, the ACS calculation of Viterbi decoding by DSP can be executed in parallel.
  • bank 0 and bank 1 and bank 2 and bank 3 Is a pair of banks, but other combinations can be implemented in the same way by simply changing the address supplied at the memory access stage and the address at the time of storage.
  • the RAM 14 is configured by four banks, but the same can be implemented as long as the number of banks is four or more.
  • FIG. 12 is a block diagram showing a configuration of the arithmetic processing device according to the third embodiment.
  • the same parts as those of the arithmetic processing device shown in FIG. 12 the same parts as those of the arithmetic processing device shown in FIG. 12
  • a storage unit for storing a path metric is configured by a dual-port RAM 15 composed of three banks.
  • the arithmetic processing device shown in FIG. 12 is suitable for the arithmetic processing of the pipeline structure shown in FIG.
  • reading and writing to the same bank can be designated by one instruction.
  • instruction 1 to execute the ACS operation in the operation execution stage of the (n + 1) th cycle, the address of the path metric to be read in the memory access stage in the nth cycle and the address of the path metric to be written to the dual port RAMI 5 Supply.
  • instruction 1 to execute the ACS operation in the operation execution stage of the (n + 1) th cycle, the address of the path metric to be read in the memory access stage in the nth cycle and the address of the path metric to be written to the dual port RAMI 5 Supply.
  • the (n + 1) th cycle even and odd addresses can be read consecutively from the dual port RAMI 5, an ACS operation is performed, and one path metric can be written to the same bank.
  • the arithmetic processing device can read out two path metrics used for the operation only by specifying an even address.
  • a one-state path metric is stored in an even address and an odd address in consecutive addresses.
  • the one-state path metric is divided into the first half and the second half, and each is stored in a separate bank.
  • the first half path metric of the old state (PM0, PM1, PM2, PM3 in Fig. 8) is stored in bank 0 of dual port RAMI 5, and the second half of the old state path metric (PM4 in Fig. 8).
  • PM5, PM6, PM7) are stored
  • two path metrics are generated in one cycle of execution of the ACS operation, and these are stored in bank 0 and bank 2 via bus 13.
  • the bus 13 transfers double-precision data
  • the path metrics from node N'0 to node N'3 are stored in bank 0, and the bank 2 stores the path metrics from node N'4 to node N'7. Is stored.
  • FIG. 13 is a schematic diagram showing an operation example of memory access of the dual-port RAM 15 corresponding to FIG.
  • the arithmetic processing unit shown in FIG. 12 performs only switching between bank 1 and bank 2 and, without switching bank 0, performs the ACS operation for Viterbi decoding by DSP in parallel. Can be performed.
  • the dual-port RAMI 5 is configured with three banks, but the same can be implemented as long as the number of banks is three or more.
  • FIG. 14 is a block diagram showing a configuration of the arithmetic processing device according to the fourth embodiment.
  • the same portions as those of the arithmetic processing device shown in FIG. 6 are denoted by the same reference numerals, and description thereof will be omitted.
  • the arithmetic processing unit shown in FIG. 14 includes an input register 16 and an input register 17 for inputting data from the bus 2 and outputting data to the comparing unit 5, the comparing unit 9, the adding unit 6 and the adding unit 10.
  • the arithmetic processing device shown in FIG. 14 is suitable for the arithmetic processing of the pipeline structure shown in FIG.
  • the ACS operation is executed in the operation execution stage of the (n + 2) th cycle of the instruction 1
  • the path metric address to be read in the memory access stage of the nth cycle is supplied to the RAM 14 in advance, and the (n + 1) th cycle is executed.
  • the data output from the RAM 14 is latched via the bus 2 into the input register 16 and the input register 17.
  • one stage of overnight transfer is inserted in the pipeline stage shown in FIG. 10 before the operation execution stage. That is, at the beginning of the operation execution stage, the data output from the RAM 14 is the input register before each of the calculators (comparator 5, comparator 9, adder 6, and adder 10). Since it is determined, the time required for data transfer from the RAM 14 can be saved.
  • FIG. 16 is a block diagram showing a configuration of the arithmetic processing device according to the fifth embodiment.
  • the same parts as those of the arithmetic processing device shown in FIG. 16 the same parts as those of the arithmetic processing device shown in FIG.
  • the arithmetic processing device shown in FIG. 16 is different from the arithmetic processing device in FIG. 14 in that a swap circuit 18 for outputting data input from the branch metric storage unit 3 as it is or for exchanging upper and lower order and outputting the data is added. .
  • the arithmetic processing device shown in FIG. 16 is suitable for the arithmetic processing of the pipeline structure shown in FIG.
  • the branch circuit 18 when the branch circuit 18 receives double-precision data from the branch metric storage unit 3 in the form of ⁇ BM1, BM0 ⁇ , it outputs the values of the two branch metrics as ⁇ BM1, BM0 ⁇ as they are.
  • Upper and lower It has a function to switch between output and output as ⁇ BM0, BM1 ⁇ by an instruction or the like.
  • both ACS operations use a common branch metric BM0 and BM1 and BM0 and BM1 It is a skipped relationship.
  • the ACS operation from the node NO and the node N1 to the node N'0 and the ACS operation from the node N6 and the node N7 to the node N'3 are performed by the comparing unit 5 and the adding unit 6.
  • the ACS operation from the node NO and the node N1 to the nodes N and 4 and the ACS operation from the node N6 and the node N7 to the node N'7 are performed by the comparing unit 9 and the adding unit 10.
  • the swap circuit 18 solves such redundancy. For example, only the form of ⁇ BM0, BM1 ⁇ is stored in the branch metric storage unit 3, and ⁇ BM0, BM1 ⁇ is stored in the swap circuit 18. By inputting BM 1 ⁇ and switching and outputting ⁇ BM0, BM 1 ⁇ or ⁇ BM1, BM0 ⁇ by an instruction or the like, the redundancy of the branch metric storage unit 3 can be omitted.
  • the above relationship also holds for N3, node N4, and node N5,
  • the present invention can be implemented in the same manner, because the above holds true for other combinations of the constraint length K and the coding rate. Further, the same can be implemented by using a dual-port RAM as a storage unit for storing a path metric.
  • FIG. 18 is a block diagram showing a configuration of the arithmetic processing device according to the sixth embodiment.
  • the same parts as those of the arithmetic processing device shown in FIG. 16 are denoted by the same reference numerals, and description thereof will be omitted.
  • the arithmetic processing unit shown in FIG. 18 is different from the arithmetic processing unit in FIG. 16 in that the comparison unit 5 is composed of an adder 19, an adder 20 and a comparator 21, and the addition unit 6 is an adder. It consists of 22 and adder 23. Further, the comparing section 9 is constituted by an adder 24, an adder 25 and a comparator 26, and the adding section 10 is constituted by an adder 27 and an adder 28.
  • adders 19 and 20 input data from bus 4 and input register 16 and add them.
  • the comparator 21 receives the addition results from the adders 19 and 20 and compares them, and outputs the comparison results to the comparison result storage unit 7 and the selection unit 8.
  • the adders 22 and 23 input the data from the bus 4 and the input register 16 and add them together, and output the addition result to the selector 8.
  • the adders 24 and 25 receive data from the bus 4 and the input register 17 and add the data.
  • the comparator 26 receives the addition results from the adders 24 and 25 and compares them, and outputs the comparison results to the comparison result storage unit 11 and the selection unit 12.
  • the adder 27 and the adder 28 input the data from the bus 4 and the input register 17 and add them, and output the addition result to the selector 12.
  • the arithmetic processing device shown in FIG. 18 is suitable for the arithmetic processing of the pipeline structure shown in FIG.
  • the comparator 21 inputs the addition result ⁇ A + C ⁇ of the adder 19 and the addition result ⁇ B + D ⁇ of the adder 20 and compares ⁇ A + C— (B + D) ⁇ . Output the MSB of the result.
  • the adder 22 inputs the path metric ⁇ A ⁇ and the branch metric ⁇ C ⁇ and outputs an addition result ⁇ A + C ⁇ , and the adder 23 inputs the path metric ⁇ B ⁇ and the branch metric ⁇ D ⁇ . And outputs the addition result ⁇ B + D ⁇ .
  • the adder 24 inputs the path metric ⁇ A ⁇ and the branch metric ⁇ D ⁇ , outputs the addition result ⁇ A + D ⁇ , and the adder 25 outputs the path metric ⁇ B ⁇ and the branch metric ⁇ C ⁇ . Input and output the addition result ⁇ B + C ⁇ .
  • the comparator 26 inputs the addition result ⁇ A + D ⁇ of the adder 24 and the addition result ⁇ B + C ⁇ of the adder 25, performs a comparison of ⁇ A + D— (B + C) ⁇ , and performs a comparison. Output the MSB of the result.
  • the adder 27 inputs the path metric ⁇ A ⁇ and the branch metric ⁇ D ⁇ , and outputs the addition result ⁇ A + D ⁇ .
  • the adder 28 inputs the path metric ⁇ B ⁇ and the branch metric ⁇ C ⁇ . And outputs the addition result ⁇ B + C ⁇ .
  • two path metrics can be updated in one machine cycle by pipeline operation by DSP.
  • the above relationship holds for the nodes N3, N4, and N5, and also holds for other combinations of the constraint length K and the coding rate.
  • the present invention can be similarly implemented by using a dual port RAM as the storage unit for storing the path metric.
  • FIG. 19 is a block diagram showing a configuration of the arithmetic processing device according to the seventh embodiment.
  • the same portions as those of the arithmetic processing device shown in FIG. 19 the same portions as those of the arithmetic processing device shown in FIG.
  • the arithmetic processing unit shown in FIG. 19 uses an arithmetic logic unit (hereinafter, referred to as “ALU”) 29 instead of the comparator 21 in comparison with the arithmetic processing unit in FIG. It has an input register 30, an input register 31, a bus 32, a node 33, a bus 37, a bus 38, and selectors 34 and 35.
  • ALU arithmetic logic unit
  • the input register 30 inputs data from the RAM 14 via the bus 37
  • the input register 31 inputs data from the RAM 14 via the bus 38.
  • the bus 32 and the bus 33 receive data from the registry file 36.
  • the selector 34 selects the output of the data input from the bus 32, the adder 19, and the input register 30, and the selector 35 selects the output of the data input from the bus 33, the adder 20, and the input register 31.
  • ALU 29 inputs data from selectors 34 and 35 and performs arithmetic and logic operations on bus 13
  • the result of the arithmetic and logic operation is output, and the MSB of the result of the arithmetic and logic operation is output to the comparison result storage unit 7 and the selection unit 8.
  • the arithmetic processing device shown in FIG. 19 is suitable for the arithmetic processing of the pipeline structure shown in FIG.
  • the selector 34 selects the output of the adder 19 and inputs it to the ALU 29, and the selector 35 selects the output of the adder 20 and inputs it to the ALU 29. Then, the ALU 29 subtracts the input two data, and outputs the subtraction result MSB to the comparison result storage unit 7 and the selection unit 8.
  • the selector 34 and the selector 35 select the bus 32 and the bus 33, respectively, and the data output to the bus 32 and the bus 33 from the register evening file 36. To ALU 29.
  • the selector 34 and the selector 35 select the bus 32 and the input register 31, respectively, and the data output from the register file 36 to the bus 32,
  • the data output from the RA 114 to the input register 31 via the bus 38 is input to the ALU 29.
  • the selector 34 and the selector 35 select the input register 30 and the bus 33, respectively, and output the input register 30 from the RAMI 4 via the bus 37.
  • the input data and the data output from the register file 36 to the bus 33 are input to the ALU 29.
  • the selector 34 and the selector 35 select the input register 30 and the input register 31 respectively, and the input register is transferred from the RAM 14 via the bus 37 and the bus 38. Input the data entered in evening 30 and input register evening 31 to ALU29.
  • the chip area can be reduced and the cost can be reduced. It should be noted that the same operation can be performed by using a dual-port RAM as a means for storing the path metric.
  • FIG. 20 is a block diagram showing a configuration of the arithmetic processing device according to the eighth embodiment.
  • the same portions as those of the arithmetic processing device shown in FIG. 19 are denoted by the same reference numerals, and description thereof will be omitted.
  • the arithmetic processing unit shown in FIG. 20 is different from the arithmetic processing unit in FIG. 19 in that two adders 19 and an adder 20 are configured by 4: 2 COMPRES SOR 39, and two adders 24 and an adder are provided. 25 is composed of 4: 2 COMPRES S OR 40.
  • the 4: 2 COMPRES SOR 39 and 4: 2C ⁇ MPRES S ⁇ R40 are connected in series by the number of single-precision bits shown in Figure 21 and perform addition processing faster than a normal full adder.
  • the 4: 2 COMPRES SOR 39 inputs data from the bus 4 and the input register 16 and outputs the operation result to the selector 34 and the selector 35.
  • 4: 2 COMPRES SOR40 inputs data from bus 4 and input register 17 and outputs the operation result to comparator 26.
  • the arithmetic processing device shown in FIG. 20 is suitable for the arithmetic processing of the pipeline structure shown in FIG.
  • two path metrics are output as ⁇ A, B ⁇ from the input register 16 and the input register 17, and two branch metrics are output as ⁇ C, D ⁇ from the swap circuit 18.
  • 2 COMPRES SOR 39 has a path metric ⁇ A ⁇ Launch metric ⁇ C ⁇ , path metric ⁇ B ⁇ inversion ⁇ — B ⁇ , and branch metric ⁇ D ⁇ inversion ⁇ — D ⁇ are input, and ⁇ A + C ⁇ and ⁇ B + D ⁇ are output.
  • Two outputs ⁇ A + C ⁇ and ⁇ B + D ⁇ of 2COMPRES SOR39 are input to ALU29 via selector 34 and selector 35 and added. However, in this case, in order to realize the two's complement of ⁇ B ⁇ and ⁇ D ⁇ ,
  • the path metric ⁇ A ⁇ and the branch metric ⁇ C ⁇ are input to the adder 22, and the addition result ⁇ A + C ⁇ is output.
  • the metric ⁇ B ⁇ and the branch metric ⁇ D ⁇ are input to the adder 23, and the addition result ⁇ B + D ⁇ is output.
  • the 4: 2 COMPRES SOR40 receives the path metric ⁇ A ⁇ , the branch metric ⁇ D ⁇ , the inversion ⁇ —B ⁇ of the path metric ⁇ B ⁇ , and the inversion ⁇ —C ⁇ of the branch metric ⁇ C ⁇ .
  • ⁇ A + C ⁇ and ⁇ B + D ⁇ are output.
  • two outputs ⁇ A + C ⁇ and ⁇ B + D- ⁇ of the 4: 2 COMPRES SOR39 are input and added.
  • "1" is input to the 4: 2 COMPRES SOR40 and the least significant carry input of the comparator 26.
  • ⁇ A + D— (B + C) ⁇ is obtained, and the MSB is output from the comparator 26.
  • the path metric ⁇ A ⁇ and the branch metric ⁇ D ⁇ are input to the adder 27, and the addition result ⁇ A + D ⁇ is output.
  • the path metric ⁇ B ⁇ and the branch metric ⁇ C ⁇ are input to the adder 28, and the addition result ⁇ B + C ⁇ is output.
  • the two path metrics ⁇ A, B ⁇ of input register 16 and input register 17 are set to ⁇ PM1, PM0 ⁇ , and the swap circuit 1 PP
  • the eighth embodiment by applying the 4: 2CO MPRESS OR to the comparison unit that performs the ACS operation, it is possible to realize a higher-speed operation than when two adders are used.
  • the constraint length K 4, the coding rate 1/2, and the description using the nodes ⁇ ⁇ 0, Nl, ⁇ 6, and ⁇ 7 in the old state, but the nodes ⁇ 2 and ⁇ 3 , Node # 4 and Node # 5, the above relationship holds, and also holds for other combinations of the constraint length ⁇ and the coding rate.
  • the present invention can be similarly implemented by using a dual port RAM as a means for storing a path metric.
  • FIG. 22 is a block diagram showing a configuration of the arithmetic processing device according to the ninth embodiment.
  • the same portions as those of the arithmetic processing device shown in FIG. 20 are denoted by the same reference numerals, and description thereof will be omitted.
  • the arithmetic processing device shown in FIG. 22 uses double-precision adders 41 and 42 as adders, and at least one uses a double-precision AU41 as compared with the arithmetic processing device in FIG.
  • double-precision AU41 inputs double-precision data from input register 16 and bus 4 and performs double-precision arithmetic operation. Evening data is input from bus 17 and bus 4 to perform double-precision addition.
  • the double precision AU 41 outputs the calculation result to the selection unit 8 and the bus 13, and the output of the double precision adder 42 outputs the calculation result to the selection unit 12.
  • the arithmetic processing device shown in FIG. 22 is suitable for the arithmetic processing of the pipeline structure shown in FIG.
  • the double-precision AU 41 When performing the ACS operation in the ninth embodiment, the double-precision AU 41 inputs two path metrics from the input register 16 as ⁇ A, B ⁇ in double-precision format, and from the swap circuit 18 via the bus 4 Input the two branch metrics as ⁇ C, D ⁇ in double precision format and add double precision.
  • the double-precision AU4 1 forces the carry from the bit position of the single-precision MSB to the next stage to be zero, and adds the two path metrics and the branch metric ⁇ A + C, B + D ⁇ at the same time.
  • the double-precision adder 42 inputs two path metrics from the input register 17 as ⁇ A, B ⁇ in double-precision format, and double-metrics the two branch metrics from the swap circuit 18 via the bus 4. Enter ⁇ D, C ⁇ in the format. Then, the double-precision adder 42 forcibly sets the carry from the bit position of the single-precision MSB to the next stage to zero, and adds the two path metrics and the branch metric ⁇ A + D, B + C ⁇ . At the same time.
  • double-precision AU 41 is used in the adder that performs ACS operation, and during ACS operation, the carry from the bit position of the single-precision MSB to the next stage is forcibly set to zero.
  • double-precision arithmetic operations other than the ACS operation by adding control to propagate the carry, for example, it is possible to double as a double-precision accumulator for multiply-accumulate operations.
  • the chip area can be further reduced, and the cost can be reduced. It should be noted that the same can be implemented by using a dual port RAM as a means for storing the path metric. (Embodiment 10)
  • FIG. 24 is a block diagram showing a configuration of the arithmetic processing device according to the tenth embodiment.
  • the same portions as those of the arithmetic processing device shown in FIG. 22 are denoted by the same reference numerals, and description thereof will be omitted.
  • the arithmetic processing device shown in FIG. 24 uses a shift register 43 and a shift register 44 as a comparison result storage unit, as compared with the arithmetic processing device of FIG.
  • shift register 43 inputs the MSB of the operation result of ALU 29 and outputs data to bus 2.
  • the shift register 44 inputs the MSB of the operation result of the comparator 26 and outputs data to the bus 2.
  • the arithmetic processing device shown in FIG. 24 is suitable for the arithmetic processing of the pipeline structure shown in FIG.
  • the MSB of the comparison result by ALU 29 is shifted into shift register 43 as needed, and the MSB of the comparison result by comparator 26 is shifted into shift register 44 as needed.
  • the path select signal can be stored in RAM 14.
  • the path select signal indicates which of the two paths is selected, and is a signal used when performing traceback after the completion of the ACS operation.
  • a pass select signal can be stored by performing the ACS operation for the number of single precision bits.
  • the shift register as the storage unit for storing the comparison result for performing the ACS operation, for example, it is possible to share the operation instruction using the shift register of the division system. If it is possible to use an arithmetic processing unit as an LSI, the chip area can be further reduced and the cost can be reduced. Note that the same operation can be performed even when a dual-port RAM is used as a means for storing a path metric. (Embodiment 11)
  • FIG. 25 is a block diagram showing a configuration of the arithmetic processing unit according to Embodiment 11.
  • the same portions as those in the arithmetic processing device shown in FIG. 24 are denoted by the same reference numerals, and description thereof will be omitted.
  • the arithmetic processing unit shown in FIG. 25 is different from the arithmetic processing unit in FIG. 24 in that the input register 17 always swaps and inputs path metric data from the bus 2 and the 4: 2 COMPRES SOR 40 is connected to the swap circuit 18 from the swap circuit 18.
  • the output branch metric data is input without being swapped, and the negate value of the comparison result of the comparator 26 is shifted into the shift register 44.
  • the arithmetic processing device shown in FIG. 25 is suitable for the arithmetic processing of the pipeline structure shown in FIG.
  • two path metrics ⁇ A, B ⁇ are input to input register 16 directly as ⁇ A, B ⁇ , and are constantly swapped to input register 17 ⁇ B, A ⁇ Is entered as Then, in the 4: 2 COMPRES SOR40, the two branch metrics from the swap circuit 18 are ⁇ C ⁇ and ⁇ —D ⁇ , and the two path metrics from the input register 17 are ⁇ B ⁇ and ⁇ —A ⁇ . Input and ⁇ A + D ⁇ and ⁇ B + C ⁇ are output. Then, the comparator 26 receives two outputs ⁇ A + D ⁇ and ⁇ B + C ⁇ of the 4: 2 COMPRES SOR 40 and calculates ⁇ A + D—B—C ⁇ .
  • the double-precision adder 42 receives two branch metrics from the swap circuit 18 as ⁇ C, D ⁇ , and two path metrics from the input register as ⁇ B, A ⁇ .
  • ⁇ And ⁇ A + D ⁇ are processed in parallel at the same time, and output to the selection unit 12 in the form of ⁇ B + C, A + D ⁇ .
  • the comparator 26 outputs the MSB of the comparison result to the selector 12, and outputs the MSB of the negation value of the comparison result to the shift register 44.
  • an input for storing two path metrics is provided.
  • By swapping and inputting one of the two digits it is possible to eliminate the need for swapping between the 4: 2 COMPRESSOR 40 and the input of the double-precision adder 42 in the execution (EX) stage, resulting in higher speed.
  • ACS operation can be performed. Note that the same can be implemented by using a dual-port RAM as a means for storing a path metric.
  • FIG. 26 is a block diagram showing a configuration of a mobile station device according to Embodiment 12.
  • a mobile station device 45 shown in FIG. 26 includes an antenna unit 46 for transmission and reception, a radio unit 47 including a reception unit 48 and a transmission unit 49, signal modulation and demodulation, encoding and decoding.
  • a display unit 61 for displaying, an operation unit 62 such as a numeric keypad, and a control unit 63 for controlling each unit are provided.
  • the baseband signal processing section 50 includes a demodulation section 51 for demodulating a reception signal, a modulation section 52 for modulating a transmission signal, and a one-chip DSP 53.
  • the DSP 53 includes a Viterbi decoding unit 55 composed of the arithmetic processing device according to any one of Embodiments 1 to 11, a convolutional encoding unit 56 for convolutionally encoding a transmission signal, and a code of an audio signal.
  • Speech codec unit 57 for decoding, timing for transmitting the received signal from demodulation unit 51 to Viterbi decoding unit 55, and timing for controlling the timing for transmitting the transmission signal from convolutional coding unit 56 to modulation unit 52
  • the control units 54 and are respectively formed by software.
  • the control unit 63 for example, displays a signal input from the operation unit 62 on the display unit 61, receives a signal input from the operation unit 62, and performs an outgoing / incoming call operation according to a communication sequence.
  • the control signal is output to the antenna unit 46, the radio unit 47, the baseband signal processing unit 50, and the like.
  • the audio signal When audio is transmitted from the mobile station device 45, the audio signal input from the microphone 59 The signal is AD-converted by an AD converter (not shown), encoded by a voice codec 57 of the DSP 53, and input to a convolutional encoder 56. When data is transmitted, externally input data is input to the convolutional encoder 56 via the data input / output unit 60.
  • the data input to the convolutional coding unit 56 is convolutionally coded, the data is rearranged and the transmission output timing is adjusted by the evening imaging control unit 54, and is output to the modulation unit 52.
  • the data input to the modulation section 52 is digitally modulated, D / A converted, and output to the transmission section 49 of the radio section 47.
  • the data input to the transmitting section 49 is converted into a radio signal and transmitted from the antenna section 46 as a radio wave.
  • the radio wave received by the antenna unit 46 is received by the receiving unit 48 of the radio unit 47, AD-converted, and subjected to baseband signal processing.
  • the signal is output to the demodulation unit 51 of the unit 50.
  • the data demodulated by the demodulation unit 51 is rearranged by the timing control unit 54, and then decoded by the video decoding unit 55.
  • the decoded data is voice-decoded by the voice codec unit 57, D / A converted, and output from the speaker 58 as voice.
  • the decoded data is output to the outside via the data input / output unit 60, and the data decoded by the Viterbi decoding unit 55.
  • the mobile station apparatus 45 includes a Viterbi decoding unit 55, a convolutional coding unit 56, an audio codec unit 57, and a timing control unit 54, each of which is a single-chip DSP 5. Since it is formed with the software of No. 3, it can be assembled with a small number of parts. Further, since this Viterbi decoding unit 55 is formed by any one of the arithmetic processing units according to the first to eleventh embodiments, the pipeline processing by the DSP 53 causes two path metrics per machine cycle. Rick update can be realized, which enables high-speed Viterbi decoding by DSP 53 with a relatively small amount of processing ACS operation can be realized.
  • the demodulation unit 51 and the modulation unit 52 are shown separately from the DSP 53, but they may be configured by DSP 53 software. Further, it is also possible to use the DSP of the sixth embodiment as the DSP, and to configure the convolution coding unit 56, the audio codec unit 57 and the timing control unit 54 with different components.
  • FIG. 27 is a block diagram showing a configuration of the mobile station apparatus according to Embodiment 13.
  • the mobile station device 45A shown in FIG. 27 the same parts as those of the mobile station device 45 shown in FIG.
  • the mobile station apparatus 45 A shown in FIG. 27 has a spreading section 65 in the modulation section 52 A and a despread section in the demodulation section 51 A, as compared with the mobile station apparatus 45 in FIG. 6 4 is provided as the baseband signal processing unit 5 OA for the CDMA communication system.
  • the timing control unit 54 may include a RAKE receiving unit that combines a plurality of fingers selected from a delay pull file or the like.
  • mobile station apparatus 45 A in Embodiment 13 provides CDMA communication by providing despreading section 64 in demodulating section 51 A and spreading section 65 in modulating section 52 A. Can be applied.
  • FIG. 28 is a block diagram showing a configuration of the base station apparatus according to Embodiment 14.
  • base station apparatus 68 in Embodiment 14 includes an antenna section 46 including a receiving antenna 66 and a transmitting antenna 67, a receiving section 48 and a transmitting section 49. , A baseband signal processing unit 69 that modulates and demodulates signals and encodes and decodes signals, and a data input / output unit that inputs and outputs data to be transmitted and received to and from a wired line 60 and a control unit 63 for controlling each unit.
  • the baseband signal processing unit 69 includes a demodulation unit 51 for demodulating a received signal, a modulation unit 52 for modulating a transmission signal, and a single-chip DSP 53A.
  • a Viterbi decoding unit 55 composed of the arithmetic processing device according to any one of Embodiments 1 to 11, a convolutional encoding unit 56 for convolutionally encoding a transmission signal, and a demodulation unit 51 for demodulating a reception signal
  • a timing control unit 54 for controlling the timing for transmitting the transmission signal from the convolutional coding unit 56 to the modulation unit 52 from the convolution encoding unit 56 to the Viterbi decoding unit 55, respectively, by software.
  • the base station device 68 When the base station device 68 receives data from a wired line, the data is input to a convolutional coding unit 56 via a data input / output unit 60, convolutionally coded, and a timing control unit 5 Rearrangement of input data and adjustment of transmission output timing input at 4 are performed and output to modulation section 52.
  • the data input to the modulation section 52 is digitally modulated, D / A converted, converted to a radio signal by the transmission section 49, and transmitted as a radio wave from the antenna section 46.
  • the base station device 68 receives data from a wireless channel
  • the radio wave received by the antenna unit 46 is AD-converted by the receiving unit 48 and the baseband signal processing unit 69
  • the demodulation unit 51 demodulates the signal.
  • the demodulated data is subjected to data rearrangement and the like at the evening control unit 54, decoded at the video decoding unit 55, and output to the wired line via the data input / output unit 60.
  • the base station device 68 in the embodiment 13 includes the Viterbi decoding unit 55, the convolutional coding unit 56, and the timing control unit 54 formed by the software of the DSP 53A of one chip. As a result, it can be assembled with a small number of parts. Also, since this Viterbi decoding unit 55 forms the arithmetic processing unit according to any one of the first to eleventh embodiments, two path metrics can be calculated in one machine cycle by pipeline processing by the DSP 53A. The update can be realized, and the ACS operation of Viterbi decoding by DSP 53 A can be performed at high speed with a relatively small amount of processing. realizable.
  • the demodulation unit 51 and the modulation unit 52 are shown separately from the DSP 53A, but they may be configured by software of the DSP 53A. Further, it is also possible to use the DSP of the sixth embodiment as DSP 53A, and to configure convolution coding section 56, audio codec section 57, and evening control section 54 as separate components.
  • FIG. 29 is a block diagram showing a configuration of a base station mobile station apparatus according to Embodiment 15. 29.
  • the base station device 68A shown in FIG. 29 the same parts as those of the mobile station device 45 shown in FIG.
  • the mobile station device 45A shown in FIG. 27 is different from the mobile station device 45 shown in FIG. 26 in that the modulation section 52A is provided with a spreading section 65, and the demodulation section 51A is provided with a despreading section 64.
  • the timing control unit 54 may include a RAKE receiving unit that combines a plurality of fingers selected from a delay pull file or the like.
  • base station apparatus 68A in Embodiment 15 can be applied to CDMA communication by providing despreading section 64 in demodulation section 51A and spreading section 65 in modulation section 52A. it can.
  • ACS calculation of Viterbi decoding by DSP can be realized at high speed with relatively small processing amount, Smaller size, lighter weight, lower price, and longer battery life.

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Error Detection And Correction (AREA)
  • Detection And Correction Of Errors (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Description

明 細 書 演算処理装置及び演算処理方法 技術分野
本発明は、 移動通信機器などに組み込まれ、 特にビタビ復号の A C S (加算、 比較、 選択) 演算を行う演算処理装置に関する。 背景技術
移動無線通信回線におけるデータ通信では、 ビット誤りが頻繁に発生するた め、 誤り訂正処理を行う必要がある。 誤り訂正の手法の中には、 入力ビットか ら生成された畳み込み符号を受信側でビタビ復号法により復号する方法がある。 この誤り訂正処理には、 ディジタル信号処理プロセッサ (以下、 「D S P」 と いう) が使用される。
ビタビ復号は、 加算 ·比較 ·選択という単純な処理の繰り返しと、 最終的に データを復号するトレースバック操作とで畳み込み符号の最尤復号を実現する。 以下、 ビタビ復号の処理を簡単に説明する。 畳み込み符号は、 入力ビットと それに先行する一定数のビッ卜との m o d 2加算により生成され、 入力ビット 1ビッ卜に対応して複数の符号化データが生成される。 この符号化データに影 響を与える入力情報ビット数のことを拘束長 (K) といい、 その数は m o d 2 加算に用いられるシフトレジス夕の段数に等しい。
符号化データは、 入力ビットと、 先行する (K一 1 ) 個の入力ビットの状態 とで決まり、 新たな情報ビットが入力すると新たな状態に遷移する。 符号化デ 一夕が遷移する状態は、 新たな入力ビッ卜が 0であるか 1であるかによって決 まる。 (K一 1 ) 個のビットのそれぞれが 1、 0をとりうるから、 符号化デ一 夕が遷移する状態の数は、 2 (κ _ 1 ) となる。 ビタビ復号では、 受信した符号化データ系列を観測し、 取り得るすべての状 態遷移の中から、 最も確からしい状態を推定する。 そのため、 情報ビット 1ビ ットに対応する符号化データ (受信データ系列) を得るごとに、 その時点での 各状態へのパスの信号間距離 (メトリック) を計算し、 同一状態に達するパス のうち、メトリックの少ない方を生き残りパスとして残す操作を順次繰り返す。 図 1の状態遷移図に示すように、 拘束長 Kの畳み込み符号器において、 ある 時点における状態 S [2 n] (nは正整数) に対し、 1つ前の時点の状態 S [n] 及び S [n + 2 2) ] から状態遷移を表す 2本のパスが延びる。 例えば、 Κ=3の場合でいえば、 η= 1のとき、 S [2] すなわち S 10の状態 (先行 する 2ビット力 S 「1」 「0」 の順に入力した状態) に対して、 S [1] すなわ ち S O 1の状態、 および S [3] すなわち S 1 1の状態からの遷移が可能であ り、 また、 n=2のとき、 S [4] すなわち S O 0の状態 (下位 2ビットの表 す状態) に対して、 S [2] すなわち S 10の状態、 および S [4] すなわち S 00の状態からの遷移が可能である。
パスメトリック aは、 状態 S [2 n] に入力するパスの出力シンボルと受信 データ系列との信号間距離 (ブランチメトリック) Xと、 1つ前の時点の状態 S [n] までの生き残りパスのブランチメトリックの総和であるパスメトリツ ク Aとの和である。 同様にパスメトリック bは、 状態 S [2 n] に入力するパ スの出力シンボルと受信デ一夕系列との距離 (ブランチメトリック) yと、 1 つ前の時点の状態 S [n + 2 2) ] までの生き残りパスのブランチメトリ ックの総和であるパスメトリック Βとの和である。 ビタビ復号では、 、 状態 S [2 η] に入力するパスメトリック a, bを比較し、 小さい方のパスを生き残 りパスとして選択する。
ビタビ復号では、 このように、 パスメトリックを求めるための加算、 パスメ トリックの比較、 パスの選択の各処理を、 各時点で 2 (K— 個の状態に対し て実行する。 更に、 パスの選択において、 どちらのパスを選択したかという履 歴をパスセレクト信号 P S [ i ] 、 [ i = 0〜2 (κυ — 1 ] として残して おく。
このとき、 選ばれたパスの 1つ前の状態の添え字 (例えば η) 力 選ばれな かった他方のパスの 1つ前の状態の添え字 (η + 2 2) ) よりも小さけれ ば、 PS Π] = 0とし、 大きければ、 PS [ i] =1とする。
図 1の場合、 nく (n + 2 (κ_2) ) であるから、 a〉bの時は状態 S [n + 2 (κ_2) ] が選択されて P S [S 2 η] = 1となり、 a≤bの時は状態 S [n] が選択されて PS [S 2 n] =0となる。
そして、 ビタビ復号では、 パスセレクト信号を基に、 最終的に生き残ったパ スをさかのぼりながらデータを復号していく。
従来のビタビ復号用の演算処理装置について、 汎用の演算処理装置である T MS 320 C 54 x (TEXAS INSTRUMENTS 社製、 以下、 「C 54 x」 という) を例に挙げて説明する。 GSMセルラー無線システムでは、 以下に示 す式 (1) が畳み込み符号として使用されている。
G 1 (D) = 1 +D 3 +D 4
G 2 (D) = 1 +D + D 3+D4 (1) この畳み込み符号は、図 2に示すバタフライ構造のトレリス線図で表される。 このトレリス線図は、 ある状態から別の状態への畳み込み符号の遷移する様子 を表している。 今、 拘束長 Kが 5であるとすると、 2 (κ_1) = 16個の状態、 または、 8個のバタフライ構造が各シンボル間ごとに存在することになり、 そ れぞれの状態には 2つのブランチが入力され、 A C S演算により新しいパスメ トリックが決定される。
ブランチメトリックを以下に示す式 (2) で定義する。
M=SD(2* i)* B(J, 0) + SD(2* i + l)* B(J, 1) (2) ここで、 SD (2* i ) は軟判定入力を表すシンボルメトリックの 1番目の シンボルであり、 SD (2* i + 1 ) はシンボルメトリックの 2番目のシンポ ルである。 B (J, 0) 及び B (J, 1) は、 図 3に示す畳み込み符号器によ り生成される符号と一致する。
C 54 Xでは、 演算論理装置 (Arithmetic Logic Unit:以下 「ALU」 と いう) をデュアル 16ビットモ一ドにセッ卜することによってバタフライ構造 を高速に処理する。 新しいパスメトリック (J) の決定には、 DADST命令 で、 2* Jと 2* J + 1の 2個のパスメトリックとブランチメトリック (Mと — M)を並列に演算し、 CMP S命令で比較を行う。新しいパスメトリック (J + 8) の決定には、 D SAD T命令で、 2個のパスメトリックとブランチメト リック (Mと一 M) を並列に演算する。 演算結果はそれぞれ倍精度アキュムレ —夕の上位と下位に格納される。 CMP S命令で新しいパスメトリックが決定 される。
CMPS命令は、 アキュムレータの上位と下位を比較し、 これらのうち大き い方の値をメモリに格納する。 また、 比較を行うたびに、 16ピットのトラン ディション, レジス夕 (TRN) にどちらが選択されたかを書き込む。 TRN に書き込まれた内容は、 各シンボル処理が終わるたびにメモリに格納される。 メモリに格納される情報は、 トレースバックの過程で最適なパスを探索するの に使われる。 図 4にビタビ復号のバタフライ演算のマクロプログラムを示す。 ブランチメトリックの値は、 マクロが呼び出される前に Tレジス夕に格納す る。 図 5にパスメトリックのメモリマッピング例を示す。
1つのシンポル区間で、 8個のバタフライ演算が実行され、 16個の新しい 状態が求められる。 この一連の処理を数シンボル区間にわたって繰り返し計算 し、 処理が終了すると、 次にトレースバックを行い、 16通りのパスから最適 パスを探索することにより、 復号ビット系列が求められる。
以上が、 汎用の DSPである C 54 Xの ACS演算の機構であり、 図 4のマ クロプログラム例から、 C 54xでは、 2個のパスメトリックの更新を 4マシ ンサイクルで実現している。 今後、 音声通信に比べ低いビット誤り率の高伝送品質が要求される非音声通 信の需要の増加が見込まれている。 低いビッ卜誤り率を達成する手段として、 ビタビ復号の拘束長 Kを大きくする手段がある。
しかし、 拘束長が 1つ大きくなると、 パスメトリックの数 (状態数) が 2倍 になるため、 DSPによるビタビ復号における演算量が 2倍になる。 また、 一 般的に非音声通信は音声通信に比べ情報量が多く、 情報量が増加すれば AC S 演算を含むビタビ復号における演算量も増加する。 DS Pによる演算量が増加 すると、 携帯端末のバッテリーを長時間持続させることが困難となる。
また、 近年、 携帯端末の小型化 ·軽量化 ·低価格化を目的として、 専用 L S Iで処理していた領域も DS P処理による 1チップ化が計られている。
しかし、 DS Pの演算量が増加すれば、 既存の DSPの処理能力を超えてし まい、 DS Pによる 1チップ化が不可能となる。
さらに、 演算量を増加させるために DSPを高機能化させると、 DSP自身 のコストアップを招き、 結果携帯端末の低価格化が実現できなくなる。 発明の開示
本発明の第 1目的は、 少ないハードウェアの投資で、 DSPによるビ夕ビ復 号の ACS演算を効率的に処理する演算処理装置を提供することである。 この目的は、 それぞれ 2組の比較部、 加算部及び比較結果を格納する記憶部 を演算処理装置に配置し、 ACS演算を並列に実行することによって達成され る。 図面の簡単な説明
図 1は、 ビ夕ビ復号における畳み込み符号器の状態遷移のパスを示すトレリ ス線図、
図 2は、 トレリス線図のバタフライ構造を示す模式図、 図 3は、 畳み込み符号器による生成符号例を示す模式図、 図 4は、 チャネル 'コーディング (Channel Coding) 向けビ夕ビ演算例を 示すプログラム図、
図 5は、 ポインタ制御とパスメトリックの格納例を示す模式図、
図 6は、 本発明の実施の形態 1における演算処理装置の構成を示すプロック 図、
図 7は、 符号化率 1 / 2の畳み込み符号器の例を示すプロック図、 図 8は、 拘束長 K= 4のバタフライ構造を示す模式図、
図 9は、 本発明の実施の形態 2における演算処理装置の構成を示すプロック 図、
図 1 0は、 本発明の実施の形態 2における演算処理装置のパイプライン動作 を説明するタイミング図、
図 1 1は、 本発明の実施の形態 2における R AMのメモリアクセスの動作例 を示す模式図、
図 1 2は、 本発明の実施の形態 3における演算処理装置の構成を示すブロッ ク図、
図 1 3は、 本発明の実施の形態 3におけるデュアルポート R AMのメモリア クセスの動作例を示す模式図、
図 1 4は、 本発明の実施の形態 4における演算処理装置の構成を示すプロッ ク図、
図 1 5は、 本発明の実施の形態 4における演算処理装置のパイプライン動作 を説明するタイミング図、
図 1 6は、 本発明の実施の形態 5における演算処理装置の構成を示すブロッ ク図、
図 1 7は、 本発明の実施の形態 6における演算処理装置の A C S演算結果を 示す図、 図 1 8は、 本発明の実施の形態 6における演算処理装置の構成を示すブロッ ク図、
図 1 9は、 本発明の実施の形態 7における演算処理装置の構成を示すブロッ ク図、
図 2 0は、 本発明の実施の形態 8における演算処理装置の構成を示すブロッ ク図、
図 2 1は、 本発明の実施の形態 8における 4 : 2 C OM P R E S S O Rの入 出力図、
図 2 2は、 本発明の実施の形態 9における演算処理装置の構成を示すブロッ ク図、
図 2 3は、 倍精度 AUのキャリー制御を示す図、
図 2 4は、 本発明の実施の形態 1 0における演算処理装置の構成を示すプロ ック図、
図 2 5は、 本発明の実施の形態 1 1における演算処理装置の構成を示すプロ ック図、
図 2 6は、 本発明の実施の形態 1 2における移動局装置の構成を示すブロッ ク図、
図 2 7は、 本発明の実施の形態 1 3における移動局装置の構成を示すブロッ ク図、
図 2 8は、 本発明の実施の形態 1 4における基地局装置の構成を示すブロッ ク図、 及び、
図 2 9は、 本発明の実施の形態 1 5における基地局装置の構成を示すブロッ ク図である。 発明を実施するための最良の形態
以下、 本発明の実施の形態について、 図面を用いて説明する。 (実施の形態 1 )
図 6は、実施の形態 1における演算処理装置の構成を示すブロック図である。 図 6において、 パスメトリック記憶部 1はパスメトリックを格納し、 バス 2を 介してデータの供給や演算結果の転送を行う。 ブランチメトリック記億部 3は ブランチメトリックを格納し、 バス 4を介してデータの供給を行う。
比較部 5および比較部 9はパスメトリツク記憶部 1およびブランチメトリッ ク記憶部 3からそれぞれバス 2およびバス 4を介して入力したデ一夕の比較を 行う。
加算部 6および加算部 1 0はパスメトリック記憶部 1およびブランチメトリ ック記憶部 3からそれぞれバス 2およびバス 4を介して読み出されたデ一夕の 加算を行う。
比較結果記憶部 7は比較部 5の比較結果を格納し、 比較結果記憶部 1 1は比 較部 9の比較結果を格納する。 そして、 比較結果記憶部 7および比較結果記憶 部 1 1は、 バス 2を介してパスメトリック記憶部 1に比較結果を転送する。 選択部 8は加算部 6の加算結果を入力し、 比較部 5の比較結果に基づいて出 力を決定し、 選択部 1 2は加算部 1 0の加算結果を入力し、 比較部 9の比較結 果に基づいて出力を決定する。 そして、 選択部 8および 1 2は選択結果はバス 1 3を介して決定した出力をパスメトリック記憶部 1に転送する。
次に、 実施の形態 1における演算処理装置の A C S演算処理について、 図面 を参照して説明する。 以下の説明において復号処理されるデ一夕は、 図 7に示 す拘束長 K= 4、 符号化率 1 / 2の畳み込み符号器にて符号化されたものとす る。 また、 パスメトリックとブランチメトリックのデータの型は、 いずれも単 精度データとする。 そして、 便宜上、 倍精度データを (X, Υ) としたとき、 倍精度デー夕の上位側を Xとし、 倍精度デー夕の下位側を Υとする。
4個のブランチメトリックをそれぞれ B M 0, Β Μ 1 , Β Μ 2 , Β Μ 3とす る。 これらのブランチメトリックを用いて状態 ( State ) の遷移を図示する と、 図 8に示すバタフライ構造になる。
ここで旧ステート ( Old State ) のノード N 0とノード N 1に着目する。 ノード NOとノード N 1の遷移先はノード N' 0とノード N' 4である。
そして、 ノード NOからノード N' 0に遷移するときのブランチメトリック は BM0、 ノード N 1からノード N' 0に遷移するときのブランチメトリック は BM1、 ノード NOからノード N' 4遷移にするときのブランチメトリック は BM1、 ノード N 1からノード N' 4遷移するときのブランチメトリックは BM0である。
このように、 ノード NOのパスメトリック Ρλ40、 ノード N1のパスメ卜リ ック PM1にそれぞれブランチメトリック BM0、 BM1を交換して加算する ことで、 ノード N' 0のパスメトリック PM' 0、 ノード N' 4のパスメトリ ック PM' 4になる。
そして、 この関係は、 他のノードのペア (図 8におけるノード Ν 2とノード Ν3のペア、 ノード Ν 4とノード Ν 5のペア、 ノード Ν 6とノード Ν 7のペア) に関しても成り立つ。
本発明者は、 この関係に着目して、 AC S演算を並列処理することで同時に 2個のパスメトリックを更新することができ、 演算処理時間を短縮できること を見出し、 本発明をするに至った。
以下、 前半のノード N' 0からノード N' 3の AC S演算を比較部 5、 加算 部 6、 比較結果記憶部 7及び選択部 8で行い、 これと並列して、 後半のノード N' 4からノード N' 7の ACS演算を比較部 9、 加算部 10、 比較結果記憶 部 1 1及び選択部 1 2で行うものとし、 ノード NOとノード N 1からノード N' 0とノード N' 4への ACS演算に関して詳細に説明する。
まず、 パスメトリック記憶部 1力 ら 2個のパスメトリック ( P M 1, PM0) が、 バス 2に出力され、 一方ブランチメトリック記憶部 3から 2個のブランチ メトリック (BM1, BM0) が、 バス 4に出力される。 比較部 5は、 バス 2から 2個のパスメトリック (PM1, PM0) を入力し、 バス 4から 2個のブランチメトリック (BM1, BM0) を入力し、 PM1 + BM 1— PM0— BM0を計算する。
一方、 加算部 6は、 バス 2から 2個のパスメトリック (PM1, PM0) を 入力し、 バス 4から 2個のブランチメトリック (BM1, BM0) を入力し、 PM 1 +BM 1と PMO +BM0を計算し、 選択部 8に (PM1 +BM1, P M0+BM0) として出力する。
選択部 8は、 比較部 5の比較結果 P Ml + B M 1一 PMO— BM0の符号ビ ットである最上位ビット (Most Significant Bit:以下、 「M S B」 という) を入力し、 バス 13に上位 PM 1 +BM 1を出力する力、 下位 PM0+BM0 を出力するかを MSBの値により選択する。
すなわち、 以下に示す式 (3) が成立する場合、 MSBは 0となり、 選択部 8は下位 PMO +BM0を PM' 0としてバス 13に出力する。 逆に、 式 (3) が成立しない場合、 MS Bは 1となり、選択部 8は上位 PM 1 +BM 1を PM' 0としてバス 13に出力する。
PM1 +BM1≥PM0+BM0 (3) また、 比較部 5の比較結果である M S Bは同時に比較結果記憶部 7に格納さ れる。
比較部 9は、 バス 2から 2個のパスメトリック (PM1, PM0) を入力し、 バス 4から 2個のブランチメトリック (BM1, BM0) を入力し、 PM1 + BM0— PM0—BM1を計算する。
一方、 加算部 10は、 バス 2から 2個のパスメトリック (PM1, PMO) を入力し、 バス 4から 2個のブランチメトリック (BM1, BM0) を入力し、 PM 1 +BM0と PMO +BM 1を計算し、 選択部 12に (PM1 +BM0, PM0+BM1) として出力する。
選択部 12は、 比較部 9の比較結果 PM 1 +BM0— PM0— BM 1の MS Bを入力し、 MS Bの値により上位 PM 1 +BM0を出力するか、 下位 PM0 + BM 1を出力するかを選択する。
すなわち、 以下に示す式 (4) が成立する場合、 MSBは 0となり、 選択部 12は下位 PM0+BM1を PM' 4としてバス 13に出力する。逆に、式( 4) が成立しない場合、 MSBは 1となり、 選択部 12は上位 PM1 +BM0を P M' 4としてバス 13に出力する。
PM 1 +BM0≥PM0 +BM 1 (4) また、 比較部 9の比較結果である MSBは同時に比較結果記憶部 1 1に格納 される。
以上の処理を他のノードのペアに関しても同様に行うことで、 DSPによる ビ夕ビ復号の AC S演算を並列に実行することができ、 比較的少ない処理量で 高速に演算処理を行うことができる。
なお、 上記において、 拘束長 K=4、 符号化率 1Z2の場合について説明が、 拘束長と符号化率の値が他の値であっても、 上記関係は成り立つ為、 それに応 じた変更を適宜施すことによって同様の効果を得ることができる。
(実施の形態 2)
図 9は、実施の形態 2における演算処理装置の構成を示すブロック図である。 なお、 図 9に示す演算処理装置において、 図 6に示す演算処理装置と同一部分 については、 同一符号を付し説明を省略する。
図 9に示す演算処理装置は、 パスメトリックを格納する記憶部を 4バンクか らなる RAM 14で構成する。
図 9に示す演算処理装置は、 図 10に示すパイプライン構造の演算処理に適 している。
例えば、 命令 1において、 n+ 1サイクル目の演算実行ステージで AC S演 算を実行するためには、 予め nサイクル目のメモリアクセス 'ステージで読み 出すパスメトリックのアドレスを RAMI 4に供給する必要がある。 RAMI 4力 偶数番地と奇数番地を連続して読み出すことができる倍精度 読み出し可能な RAMであるとすると、 以下の (a) 、 (b) の条件を満たす 場合、 偶数ァドレスを指定するだけで演算に使用する 2つのパスメトリックを 読み出すことができる。
(a) 1ステートのパスメトリックが偶数番地、 奇数番地の順に連続した番 地に格納されている。
(b) 1ステートのパスメトリックを前半と後半に分け、 それぞれが、 別々 のバンクに格納されている。
例えば、 RAM 14のバンク 0に旧ステートの前半のパスメトリック (図 8 における PMO, PM1, PM2, PM3) が格納されており、 バンク 1に旧 ステートの後半のパスメトリック (図 8における PM4, P M 5 , PM6, P M7) が格納されているとき、 1サイクルの AC S演算実行で 2個のパスメト リックが生成され、 それらがバス 13を介してそれぞれバンク 2、 バンク 3に 格納される。 このとき、 倍精度デ一夕はバス 13から転送され、 バンク 2にノ —ド N' 0からノード N' 3のパスメトリックが格納され、 バンク 3にノード N' からノード N' 7のパスメトリックが格納される。
図 1 1は、 図 8に対応した RAM 14のメモリアクセスの動作例を示す模式 図である。
1ステートの AC S演算が終了すると、 次ステ一トでは旧ステートのパスメ トリックとしてバンク 2およびバンク 3から読み出しを行い、 新ステートのパ スメトリックはバンク 0とバンク 1に格納する。
このように、 パスメトリックを格納する記憶部として 4バンクからなる RA M 14を用い、 1ステ一卜の A C S演算が終了するごとにパスメトリックを読 み出すバンクのペアと格納するバンクのペアを切り替えることにより、 DS P によるビタビ復号の AC S演算を並列に実行することができる。
なお、 上記説明において、 バンク 0とバンク 1、 及び、 バンク 2とバンク 3 をペアとなるバンクとしたが、 その他の組み合わせを用いてもメモリアクセス ステージで供給するアドレスと格納するときのアドレスを変更するだけで同様 に実施可能である。 また、 実施の形態 2では、 RAM 14を 4つのバンクで構 成したが、 バンク数は 4つ以上であれば同様に実施可能である。
(実施の形態 3)
図 12は、 実施の形態 3における演算処理装置の構成を示すブロック図であ る。 なお、 図 12に示す演算処理装置において、 図 6に示す演算処理装置と同 一部分については、 同一符号を付し説明を省略する。
図 12に示す演算処理装置は、 パスメトリックを格納する記憶部を 3バンク からなるデュアルポート RAM 1 5で構成する。
図 12に示す演算処理装置は、 図 10に示すパイプライン構造の演算処理に 適している。
図 12に示す演算処理装置は、 パスメトリックを格納する記憶部がデュアル ポート RAMI 5であるから、 1回の命令で同一バンクへのリードとライ卜の 指定ができる。 例えば、 命令 1において n+ 1サイクル目の演算実行ステージ で AC S演算を実行するために、 nサイクル目のメモリアクセス ·ステージで 読み出すパスメトリックのアドレスと、 書き込むパスメトリックのアドレスを デュアルポート RAMI 5に供給する。 これにより、 n+ 1サイクル目で、 デ ュアルポート RAMI 5から偶数番地と奇数番地を連続して読み出し、 ACS 演算を行い、 さらに同じバンクに 1個のパスメトリックを書き込むことができ る。
本実施の形態 3の演算処理装置は、 以下の (a) 、 (b) の条件を満たす場 合、 偶数ァドレスを指定するだけで演算に使用する 2つのパスメトリックを読 み出すことができる。
(a) 1ステートのパスメトリックが偶数番地、 奇数番地の順に連続した番 地に格納されている。 (b) 1ステートのパスメトリックを前半と後半に分け、 それぞれが別々の バンクに格納されている。
例えば、 デュアルポート RAMI 5のバンク 0に旧ステートの前半のパスメ トリック (図 8における PM0, PM 1 , PM2, PM3) が格納され、 バン ク 1に旧ステートの後半のパスメトリック (図 8における PM4, PM5, P M6, PM7) が格納されているとき、 1サイクルの AC S演算実行で 2個の パスメトリックが生成され、 それらがバス 13を介してそれぞれバンク 0、 バ ンク 2に格納される。 このとき、 バス 13は倍精度デ一夕を転送することにな り、 バンク 0にノード N' 0からノード N' 3のパスメトリックが格納され、 バンク 2にノード N' 4からノード N' 7のパスメトリックが格納される。 図 13は、 図 8に対応したデュアルポート RAM 15のメモリアクセスの動 作例を示す模式図である。
図 12に示す演算処理装置は、 1ステートの ACS演算が終了すると、 バン ク 1とバンク 2の切り替えのみ行い、 バンク 0に関しては切り替えなくても、 DS Pによるビタビ復号の AC S演算を並列に実行することができる。
なお、 実施の形態 3では、 デュアルポート RAMI 5を 3つのバンクで構成 したが、 バンク数は 3つ以上であれば同様に実施可能である。
(実施の形態 4)
図 14は、 実施の形態 4における演算処理装置の構成を示すプロック図であ る。 なお、 図 14に示す演算処理装置において、 図 6に示す演算処理装置と同 一部分については、 同一符号を付し説明を省略する。
図 14に示す演算処理装置は、 バス 2からデータを入力し、 比較部 5、 比較 部 9、 加算部 6及び加算部 10にデータを出力する入力レジス夕 16及び入力 レジス夕 17を具備する。
図 14に示す演算処理装置は、 図 15に示すパイプライン構造の演算処理に 適している。 例えば、 命令 1において n + 2サイクル目の演算実行ステージで AC S演算 を実行する場合、 予め nサイクル目のメモリアクセス ·ステージで読み出すパ スメトリックのァドレスを RAM 14に供給し、 n + 1サイクル目のデ一夕転 送ステージで RAM 14から出力されたデータをバス 2を介して入力レジス夕 16及び入力レジスタ 17にラッチする。
図 15に示すパイプラインは、 図 10に示したパイプラインのステージにデ 一夕転送の 1ステージを演算実行ステージの前に挿入している。 すなわち、 演 算実行ステージの始まりの時点で、 RAM 14から出力されたデ一夕は、 各演 算器 (比較部 5、 比較部 9、 加算部 6及び加算部 10) 手前の入力レジス夕で 確定しているため、 RAM 14からのデータ転送に要する時間を省くことがで さる。
したがって、 本実施の形態によれば、 比較的高速に DSPによるビタビ復号 の AC S演算を並列に実行することが可能となる。 なお、 パスメトリックを格 納する記憶部としてデュアルポート RAMを用いても同様に実施可能である。
(実施の形態 5)
図 16は、 実施の形態 5における演算処理装置の構成を示すブロック図であ る。 なお、 図 16に示す演算処理装置において、 図 14に示す演算処理装置と 同一部分については、 同一符号を付し説明を省略する。
図 16に示す演算処理装置は、 図 14の演算処理装置と比較して、 ブランチ メトリック記憶部 3から入力したデータをそのまま出力したり、 上位と下位を 入れ替えて出力するスワップ回路 18が追加される。
図 16に示す演算処理装置は、 図 15に示すパイプライン構造の演算処理に 適している。
スヮップ回路 18は、 例えば、 ブランチメトリック記憶部 3から { B M 1 , BM0} の形式で倍精度データとして入力した場合、 2つのブランチメトリツ クの値を、 そのまま {BM1, BM0 } として出力するか、 上位と下位をスヮ ップして {BM0, BM 1 } として出力するかを、 命令などにより切り替える 機能を有する。
以下、 拘束長 K=4、 符号化率 1/2とし、 図 7に示す畳み込み符号器と、 図 8に示すバタフライ構造のパスメトリックの遷移状態を用いて、 スワップ回 路 18の動作を説明する。
図 17に示すように、 旧ステート ( Old State ) のノード NOとノード N 1から、 ノード N' 0およびノード N' 4に遷移する時の AC S演算と、 旧ス テート (Old State ) のノード N6とノード N7から、 ノード N' 3およびノ ード N' 7に遷移する時の ACS演算とを比較すると、 両 ACS演算では共通 のブランチメトリック BM0と BM 1を用い、 かつ、 BM0と BM1がスヮッ プした関係になっている。
ノード NOとノード N 1からノード N' 0への AC S演算とノード N 6とノ ード N 7からノード N' 3への ACS演算は比較部 5と加算部 6で行われる。 一方、 ノード NOとノ一ド N1からノード N, 4への AC S演算とノード N 6 とノード N 7からノード N' 7への ACS演算は、 比較部 9と加算部 10で行 われる。
そのため、 ブランチメトリック記憶部 3に {BM0, BM1} と {BM1, BM0 } の両形態で格納すると冗長なハードウェア資源となる。 ,
スワップ回路 18は、 このような冗長性を解決するもので、 例えば、 ブラン チメトリック記憶部 3に {BM0, BM 1 } の形態だけを格納しておき、 スヮ ップ回路 18に {BM0, BM 1 } を入力し、 命令等により、 {BM0, BM 1} 、 又は、 {BM1, BM0 } を切り替え出力させることにより、 ブランチ メトリック記憶部 3の冗長性を省くことができる。
なお、 本実施の形態では、 拘束長 K=4、 符号化率 1 2で、 旧ステートの ノード Ν0、 ノード N l、 ノード N6、 ノード N 7を用いて説明を行ったが、 ノード N2、 ノード N3、 ノード N4、 ノード N 5でも上記関係が成り立ち、 さらに、 上記以外の拘束長 Kと符号化率の組み合わせでも成り立つため、 同様 に実施可能である。 また、 パスメトリックを格納する記憶部としてデュアルポ ート R AMを用いても同様に実施可能である。
(実施の形態 6 )
図 1 8は、 実施の形態 6における演算処理装置の構成を示すブロック図であ る。 なお、 図 1 8に示す演算処理装置において、 図 1 6に示す演算処理装置と 同一部分については、 同一符号を付し説明を省略する。
図 1 8に示す演算処理装置は、 図 1 6の演算処理装置と比較して、 比較部 5 を加算器 1 9、 加算器 2 0及び比較器 2 1で構成し、 加算部 6を加算器 2 2及 び加算器 2 3で構成する。 また、 比較部 9を加算器 2 4、 加算器 2 5及び比較 器 2 6で構成し、 加算部 1 0を加算器 2 7及び加算器 2 8で構成する。
図 1 8において、 加算器 1 9及び加算器 2 0は、 バス 4と入力レジス夕 1 6 からデ一夕を入力して加算する。 比較器 2 1は、 加算器 1 9及び加算器 2 0か ら加算結果を入力して比較し、 比較結果を比較結果記憶部 7及び選択部 8に出 力する。 加算器 2 2および 2 3は、 バス 4と入力レジス夕 1 6からデ一夕を入 力して加算し、 加算結果を選択部 8に出力する。
加算器 2 4及び加算器 2 5は、 バス 4と入力レジスタ 1 7からデータを入力 し加算する。 比較器 2 6は、 加算器 2 4及び加算器 2 5から加算結果を入力し て比較し、 比較結果を比較結果記憶部 1 1及び選択部 1 2に出力する。 加算器 2 7および加算器 2 8は、 バス 4と入力レジス夕 1 7からデ一夕を入力して加 算し、 加算結果を選択部 1 2に出力する。
図 1 8に示す演算処理装置は、 図 1 5に示すパイプライン構造の演算処理に 適している。
次に、 実施の形態 6における A C S演算の動作を説明する。 拘束長 K = 4、 符号化率 1 2として、 図 7に示す畳み込み符号器と、 図 8に示すバタフライ 構造と、 図 1 7に示す A C S演算結果を用いて説明する。 図 18に示すように、 入力レジス夕 16、 17から 2つのパスメトリックが {A, B} として出力され、 スワップ回路 18から 2つのブランチメトリック が {C, D} として出力されると、 加算器 19は、 パスメトリック {A} とブ ランチメトリック {C} を入力し加算結果 {A+C} を出力し、 加算器 20で は、 パスメトリック {B} とブランチメトリック {D} を入力し、 加算結果 {B + D} を出力する。 比較器 21は、 加算器 19の加算結果 {A + C} と加算器 20の加算結果 {B+D} とを入力し、 {A+C— (B+D) } の比較を行い、 比較結果の MSBを出力する。 加算器 22は、 パスメトリック {A} とブラン チメトリック {C} を入力し加算結果 {A + C} を出力し、 加算器 23は、 パ スメトリック {B} とブランチメトリック {D} を入力し、 加算結果 {B + D} を出力する。
一方、 加算器 24は、 パスメトリック {A} とブランチメトリック {D} を 入力し、 加算結果 {A + D} を出力し、 加算器 25は、 パスメトリック {B} とブランチメトリック {C} を入力し、 加算結果 {B + C} を出力する。 比較 器 26は、 加算器 24の加算結果 { A + D} と加算器 25の加算結果 { B + C } とを入力し、 {A + D— (B + C) } の比較を行い、 比較結果の MSBを出力 する。 加算器 27は、 パスメトリック {A} とブランチメトリック {D} を入 力し、 加算結果 {A + D} を出力し、 加算器 28は、 パスメトリック {B} と ブランチメトリック {C} を入力し、 加算結果 {B + C} を出力する。
以上の構成および動作により、 入力レジス夕 16および入力レジス夕 17の 2つのパスメトリック {A, B} = ίΡΜΙ, PM0 } とし、 スワップ回路 1 8の出力 {C, D} = {BM1, BM0 } とすると、 図 17に示す旧ステート (OldState ) のノード NOとノード Ν 1から、 ノード N' 0およびノード N' 4に遷移する時の ACS演算が実現できる。
また、入力レジス夕 16および入力レジス夕 17の 2つのパスメトリック {A , B} = {PM1, PM0 } とし、 スワップ回路 18の出力 {C, D} = {B MO, BM 1 } とすると、 図 17に示す旧ステート (Old State ) のノード N 0とノード N1から、 ノード N' 0およびノード N' 4に遷移する時の ACS 演算が実現できる。
したがって、 実施の形態 6によれば、 2つのパスメトリックの更新が D S P によるパイプライン動作により 1マシンサイクルで実現できる。 なお、 本実施 の形態では、 拘束長 K=4、 符号化率 1Z2で、 旧ステートのノード NO、 ノ ード Nl、 ノード N6、 ノード N 7を用いて説明を行ったが、 ノード N2、 ノ ード N3、 ノード N4、 ノード N 5でも上記関係が成り立ち、 さらに上記以外 の拘束長 Kと符号化率の組み合わせでも成り立つため、同様に実施可能である。 また、 パスメトリックを格納する記憶部としてデュアルポート RAMを用いて も同様に実施可能である。
(実施の形態 7)
図 19は、 実施の形態 7における演算処理装置の構成を示すブロック図であ る。 なお、 図 19に示す演算処理装置において、 図 18に示す演算処理装置と 同一部分については、 図 18と同一符号を付し説明を省略する。
図 19に示す演算処理装置は、 図 18の演算処理装置と比較して、 比較器 2 1の代りに演算論理装置 (Arithmetic Logic Unit:以下 「ALU」 という) 29を用いる。 そして、 入力レジスタ 30、 入力レジス夕 31、 バス 32、 ノ' ス 33、 バス 37、 バス 38、 セレクタ 34及び 35を具備する。
図 19において、 入力レジスタ 30は、 RAM 14からバス 37を介してデ 一夕を入力し、 入力レジスタ 31は、 RAM 14からバス 38を介してデ一夕 を入力する。 バス 32およびバス 33は、 レジス夕ファイル 36からデータを 入力する。 セレクタ 34は、 バス 32、 加算器 19及び入力レジス夕 30から 入力したデータの出力を選択し、 セレクタ 35は、 バス 33、 加算器 20及び 入力レジスタ 31から入力したデータの出力を選択する。 ALU 29は、 セレ クタ 34および 35からデータを入力して算術論理演算を行い、 バス 13に算 術論理演算結果を出力し、 算術論理演算結果の MS Bを比較結果記憶部 7及び 選択部 8に出力する。
図 19に示す演算処理装置は、 図 15に示すパイプライン構造の演算処理に 適している。
ALU 29が ACS演算を行う場合、 セレクタ 34は加算器 19の出力を選 択して ALU 29に入力し、 セレクタ 35は加算器 20の出力を選択して A L U29に入力する。 そして、 ALU29は、 入力した 2つのデータを減算し、 減算結果の M S Bを比較結果記憶部 7及び選択部 8に出力する。
また、 ALU29がレジス夕—レジス夕間の算術論理演算を行う場合、 セレ クタ 34及びセレクタ 35がそれぞれバス 32及びバス 33を選択し、 レジス 夕ファイル 36からバス 32及びバス 33に出力されたデータを ALU 29に 入力する。
また、 ALU29がレジス夕—メモリ間の算術論理演算を行う場合、 セレク 夕 34及びセレク夕 35がそれぞれバス 32及び入力レジス夕 31を選択し、 レジス夕ファイル 36からバス 32に出力されたデータ、 及び、 RA 114か らバス 38を介して入力レジス夕 31に出力されたデータを ALU 29に入力 する。
逆に、 ALU29がメモリ—レジス夕間の算術論理演算を行う場合、 セレク 夕 34及びセレクタ 35力 ^それぞれ入力レジスタ 30及びバス 33を選択し、 RAMI 4からバス 37を介して入力レジス夕 30出力されたデータ及びレジ ス夕ファイル 36からバス 33に出力されたデータを ALU29に入力する。 また、 ALU29がメモリ—メモリ間の算術論理演算を行う場合、 セレクタ 34及びセレクタ 35がそれぞれ入力レジス夕 30及び入力レジス夕 31を選 択し、 RAM 14からバス 37およびバス 38を介して入力レジス夕 30およ び入力レジス夕 31に入力されたデータを ALU29に入力する。
このように、 実施の形態 7によれば、 演算処理装置を LS I化する場合、 A P T/JP9
21
C S演算を行う比較器の一方を A L Uと兼用することにより、 チップ面積を削 減してコストを低減することができる。 なお、 パスメトリックを格納する手段 としてデュアルポート RAMを用いても同様に実施可能である。
(実施の形態 8)
図 20は、 実施の形態 8における演算処理装置の構成を示すブロック図であ る。 なお、 図 20に示す演算処理装置において、 図 19に示す演算処理装置と 同一部分については、 同一符号を付し説明を省略する。
図 20に示す演算処理装置は、 図 19の演算処理装置と比較して、 2つの加 算器 19及び加算器 20を 4 : 2 COMPRE S SOR 39で構成し、 2つの 加算器 24及び加算器 25を 4 : 2 COMPRES S OR 40で構成する。 4 : 2 COMPRES SOR 39及び 4 : 2C〇MPRES S〇R40は、 図 21 に示す単体のブロックが単精度ビット数分直列に接続され、 通常の全加算器よ りも高速に加算処理を行なう。
図 20において、 4 : 2 COMPRES SOR 39は、 バス 4と入力レジス 夕 16からデータを入力し、 セレクタ 34とセレクタ 35に演算結果を出力す る。 4 : 2 COMPRES SOR40は、 バス 4と入力レジスタ 17からデ一 夕を入力し比較器 26に演算結果を出力する。
図 20に示す演算処理装置は、 図 15に示すパイプライン構造の演算処理に 適している。
次に、 拘束長 K= 4、 符号化率 1 Ζ 2として、 図 7に示す畳み込み符号器と、 図 8に示すバタフライ構造と、 図 17に示す ACS演算結果を用いて、 実施の 形態 8における演算処理装置の動作を説明する。
まず、 入力レジス夕 16及び入力レジス夕 17から 2つのパスメトリックが {A, B} として出力され、 スワップ回路 18から 2つのブランチメトリック が {C, D} として出力される。
そして、 4 : 2 COMPRES SOR 39には、 パスメトリック {A} 、 ブ ランチメトリック {C} 、 パスメトリック {B} の反転 {— B} 及びブランチ メトリック {D} の反転 {— D} が入力され、 {A+C} 及び {B + D} が出 力される。 4 : 2COMPRES SOR39の 2つの出力 {A+C} 及び {B + D} は、 セレクタ 34及びセレクタ 35を介して ALU29に入力され加算 される。 ただし、 このとき {B} および {D} の 2の補数を実現するために、
4: 2 C〇MPRESSOR39とALU29の最下位のキヤリ一入力に " 1" が入力される。 その結果 {A+C— (B+D) } が得られ、 ALU29から M
5 Bが出力される。
また、 加算器 22には、 パスメトリック {A} とブランチメトリック {C} が入力され、 加算結果 {A + C} が出力される。 同様に、 加算器 23には、 スメトリック {B} とブランチメトリック {D} が入力され、 加算結果 {B + D} が出力される。
一方、 4 : 2 COMPRES SOR40には、 パスメトリック {A} 、 ブラ ンチメトリック {D} 、 パスメトリック {B} の反転 {— B} 及びブランチメ トリック {C} の反転 {—C} が入力され、 {A+C} 及び {B+D} が出力 される。 比較器 26では、 4 : 2 COMPRES SOR39の 2つの出力 {A + C} 及び {B+D-} が入力され加算される。 ただし、 このとき {B} および {C} の 2の補数を実現するために、 4 : 2 COMPRES SOR40と、 比 較器 26の最下位のキャリー入力に "1" が入力される。 その結果 { A + D— (B + C) } が得られ、 比較器 26から MS Bが出力される。
また、 加算器 27には、 パスメトリック {A} とブランチメトリック {D} が入力され、 加算結果 {A + D} が出力される。 同様に、 加算器 28には、 パ スメトリック {B} とブランチメトリック {C} が入力され、 加算結果 {B + C} が出力される。
以上の構成および動作により、 入力レジスタ 16および入力レジスタ 17の 2つのパスメトリック {A, B} を {PM1, PM0 } とし、 スワップ回路 1 P P
23
8の出力 {C, D} を {BM1, BMO } とすると、 図 17に示す旧ステート (OldState ) のノード NOとノード N 1から、 ノード N' 0およびノード N' 4に遷移する時の AC S演算が実現できる。
また、入力レジスタ 16および入力レジス夕 17の 2つのパスメトリック {A, B} を {PM1, PM0 } とし、 スワップ回路 18の出力 {C, D} を {BM 0, BM 1 } とすると、 図 17に示す旧ステート (Old State ) のノード NO とノード N 1から、 ノード N' 0およびノード N' 4に遷移する時の ACS演 算が実現できる。 したがって、 2つのパスメトリックの更新が DS Pによるパ ィプライン動作により 1マシンサイクルで実現できる。
このように、 実施の形態 8によれば、 AC S演算を行う比較部に 4 : 2CO MPRE S S ORを適用することによって、 2つの加算器で構成した場合より 高速な演算を実現することができる。 なお、 上記において、 拘束長 K=4、 符 号化率 1/2で、 旧ステートのノード Ν0、 ノード N l、 ノード Ν6、 ノード Ν 7を用いて説明を行ったが、 ノード Ν2、 ノード Ν3、 ノード Ν4、 ノード Ν 5でも上記関係が成り立ち、 さらに上記以外の拘束長 Κと符号化率の組み合 わせでも成り立つため、 同様に実施可能である。 また、 パスメトリックを格納 する手段としてデュアルポート RAMを用いても同様に実施可能である。
(実施の形態 9)
図 22は、 実施の形態 9における演算処理装置の構成を示すブロック図であ る。 なお、 図 22に示す演算処理装置において、 図 20に示す演算処理装置と 同一部分については、 同一符号を付し説明を省略する。
図 22に示す演算処理装置は、 図 20の演算処理装置と比較して、 加算部と して倍精度加算器 41、 42を用い、 しかも、 少なくとも一方は倍精度 AU4 1を用いる。
図 22において、 倍精度 AU41は入力レジスタ 16とバス 4から倍精度形 式のデータを入力し、 倍精度算術演算を行い、 倍精度加算器 42は入力レジス 夕 17とバス 4から倍精度形式のデータを入力し、 倍精度加算演算を行う。 倍 精度 AU41は演算結果を選択部 8及びバス 13に出力し、 倍精度加算器 42 の出力は演算結果を選択部 12に出力する。
図 22に示す演算処理装置は、 図 1 5に示すパイプライン構造の演算処理に 適している。
実施の形態 9において ACS演算を行う場合、 倍精度 AU41は、 入力レジ ス夕 16から 2つのパスメトリックを倍精度形式で {A, B} として入力し、 スワップ回路 18からバス 4を介して、 2つのブランチメトリックを倍精度形 式で {C, D} として入力し、 倍精度の加算を行う。 このとき、 倍精度 AU4 1は、 図 23に示すように、 単精度の MS Bのビット位置から次段へのキヤリ —は強制的にゼロにして、 2つのパスメトリックとブランチメトリックの加算 {A+C, B+D} を同時にする。
一方、 倍精度加算器 42は、 入力レジス夕 17から 2つのパスメトリックを 倍精度形式で {A, B} として入力し、 スワップ回路 1 8からバス 4を介して、 2つのブランチメトリックを倍精度形式で {D, C} として入力する。 そして、 倍精度加算器 42は、 単精度の MSBのビット位置から次段へのキャリーは強 制的にゼロにして、 2つのパスメトリックとブランチメトリックの加算 {A + D, B + C} を同時にする。
このように、 実施の形態 9によれば、 ACS演算を行う加算部に倍精度 A U 41を用い、 ACS演算時において、 単精度の MS Bのビット位置から次段へ のキヤリーを強制的にゼロにし、 AC S演算以外の倍精度算術演算において、 キャリーを伝播させる制御を付加することにより、 例えば、 積和演算時の倍精 度累積加算器と兼用することが可能で、 演算処理装置を LS I化する場合に、 チップ面積を一段と削減してコストを低減することができる。 なお、 パスメト リックを格納する手段としてデュアルポート RAMを用いても同様に実施可能 である。 (実施の形態 10)
図 24は、 実施の形態 10における演算処理装置の構成を示すブロック図で ある。 なお、 図 24に示す演算処理装置において、 図 22に示す演算処理装置 と同一部分については、 同一符号を付し説明を省略する。
図 24に示す演算処理装置は、 図 22の演算処理装置と比較して、 比較結果 記憶部としてシフトレジス夕 43及びシフトレジス夕 44を用いる。
図 24において、 シフトレジス夕 43は ALU 29の演算結果の MSBを入 力してバス 2にデータを出力する。 シフトレジス夕 44は比較器 26の演算結 果の MS Bを入力してバス 2にデータを出力する。
図 24に示す演算処理装置は、 図 15に示すパイプライン構造の演算処理に 適している。
実施の形態 10において ACS演算を行う場合、 ALU 29による比較結果 の MS Bをシフトレジスタ 43に随時シフトインし、 比較器 26による比較結 果の MSBをシフトレジス夕 44に随時シフトインすることにより、 パスセレ クト信号を RAM 14に格納することができる。 ここで、パスセレクト信号は、 2つのパスのうちどちらを選んだかを示し、 A C S演算終了後トレースバック するときに使用する信号である。
例えば、 シフトレジスタ 43及びシフトレジス夕 44のビット幅が単精度デ 一夕幅である場合、 単精度のビット数分の ACS演算を行うとパスセレクト信 号を格納することができる。
このように、 実施の形態 10によれば、 ACS演算を行う比較結果を格納す る記憶手段にシフトレジス夕を用いることにより、 例えば、 除算系のシフトレ ジス夕を使用する演算命令と兼用することが可能で、 演算処理装置を LS I化 する場合、チップ面積を一段と削減してコストを低減することができる。なお、 パスメトリックを格納する手段としてデュアルポート RAMを用いても同様に 実施可能である。 (実施の形態 1 1 )
図 25は、 実施の形態 1 1における演算処理装置の構成を示すプロック図で ある。 なお、 図 25に示す演算処理装置において、 図 24に示す演算処理装置 と同一部分については、 同一符号を付し説明を省略する。
図 25に示す演算処理装置は、 図 24の演算処理装置と比較して、 入力レジ ス夕 17がバス 2から常にパスメトリックデータをスワップして入力し、 4 : 2COMPRES SOR40は、 スワップ回路 18から出力されたブランチメ トリックデ一夕をスワップしないでそのまま入力し、 比較器 26の比較結果の ネゲート値がシフトレジス夕 44にシフトインする。
図 25に示す演算処理装置は、 図 15に示すパイプライン構造の演算処理に 適している。
本実施の形態において ACS演算を行う場合、 2つのパスメトリック {A, B} が、 入力レジス夕 16にそのまま {A, B} として入力され、 入力レジス 夕 17に常にスワップした状態 {B, A} として入力される。 その後、 4 : 2 COMPRES SOR40には、 スワップ回路 18から 2つのブランチメトリ ックが {C} と {— D} として、 入力レジス夕 17から 2つのパスメトリック が {B} と {— A} として入力され、 {A + D} 及び {B + C} が出力される。 そして、比較器 26にて、 4: 2 COMPRES SOR 40の 2つの出力 {A + D} 及び {B + C} が入力され、 {A + D— B— C} が計算される。
—方、 倍精度加算器 42は、 スワップ回路 18から 2つのブランチメトリツ クを {C, D} として、 入力レジス夕から 2つのパスメトリックが {B, A} として入力され、 {B + C} と {A + D} が同時に並列演算され、 選択部 12 に {B + C, A + D} の形式で出力される。
そして、 比較器 26から比較結果の MSBが選択部 12に出力され、 比較結 果のネゲート値の MS Bがシフ卜レジス夕 44に出力される。
このように、 実施の形態 11によれば、 2つのパスメトリックを格納する入 カレジス夕の一方をスワップして入力することにより、 演算実行 (E X) ステ ージで、 4 : 2 C OM P R E S S O R 4 0と倍精度加算器 4 2の入力における スワップを不要にできるため、より高速な A C S演算を行うことが可能となる。 なお、 パスメトリックを格納する手段としてデュアルポート R AMを用いても 同様に実施可能である。
(実施の形態 1 2 )
図 2 6は、 実施の形態 1 2における移動局装置の構成を示すブロック図であ る。 図 2 6に示す移動局装置 4 5は、 送受信共用のアンテナ部 4 6と、 受信部 4 8及び送信部 4 9から成る無線部 4 7と、 信号の変調及び復調と符号化及び 復号化とを行うベースバンド信号処理部 5 0と、 音声を放音するスピーカ 5 8 と、 音声を入力するマイク 5 9と、 外部装置とデータを送受信するデ一夕入出 力部 6 0と、動作状態を表示する表示部 6 1と、テンキーなどの操作部 6 2と、 各部を制御する制御部 6 3とを備えている。
また、 ベースバンド信号処理部 5 0は、 受信信号を復調する復調部 5 1と、 送信信号を変調する変調部 5 2と、 1チップの D S P 5 3とで構成される。
D S P 5 3は、 実施の形態 1から実施の形態 1 1のいずれかの演算処理装置 から成るビタビ復号部 5 5と、 送信信号を畳み込み符号化する畳み込み符号化 部 5 6と、 音声信号の符復号化を行う音声コーデック部 5 7と、 受信信号を復 調部 5 1からビタビ復号部 5 5に送るタイミング及び送信信号を畳み込み符号 化部 5 6から変調部 5 2に送るタイミングを制御するタイミング制御部 5 4と を、 それぞれソフトウェアで形成している。
制御部 6 3は、例えば、操作部 6 2から入力した信号を表示部 6 1に表示し、 操作部 6 2から入力した信号を受信して、 通信シーケンスに従って、 発着呼の 動作を行うための制御信号をアンテナ部 4 6、 無線部 4 7及びベースバンド信 号処理部 5 0等に出力する。
移動局装置 4 5から音声が送信される場合、 マイク 5 9から入力した音声信 号が、 図示しない A D変換器にて AD変換され、 D S P 5 3の音声コ一デック 部 5 7で符号化され、 畳み込み符号化部 5 6に入力する。 また、 データが送信 される場合、 外部から入力したデータが、 データ入出力部 6 0を介して畳み込 み符号化部 5 6に入力する。
畳み込み符号化部 5 6に入力されたデータは、 畳み込み符号化され、 夕イミ ング制御部 5 4にてデータの並び替えや送信出力タイミングの調整が行われ、 変調部 5 2に出力される。 変調部 5 2に入力されたデータは、 ディジタル変調 され、 D A変換され、 無線部 4 7の送信部 4 9に出力される。 送信部 4 9に入 力されたデータは、 無線信号に変換され、 アンテナ部 4 6から電波として送信 される。
一方、 移動局装置 4 5に受信されたデータを出力する場合、 アンテナ部 4 6 で受信された電波が、 無線部 4 7の受信部 4 8で受信され、 AD変換されて、 ベースバンド信号処理部 5 0の復調部 5 1に出力される。 復調部 5 1で復調さ れたデ一夕は、 タイミング制御部 5 4でデータの並び替え等が行われた後、 ビ 夕ビ復号部 5 5にて復号される。
音声通信の場合、 復号されたデータは、 音声コーデック部 5 7で音声復号化 され、 D A変換された後、 スピーカ 5 8から音声として出力される。 また、 デ 一夕通信の場合、 復号されたデータは、 ビタビ復号部 5 5で復号されたデータ は、 データ入出力部 6 0を介して外部に出力される。
このように、 実施の形態 1 2による移動局装置 4 5は、 ビタビ復号部 5 5、 畳み込み符号化部 5 6、 音声コーデック部 5 7及びタイミング制御部 5 4の各 部を 1チップの D S P 5 3のソフトウェアで形成しているため、 少ない部品点 数で組み立てることができる。 また、 このビタビ復号部 5 5を実施の形態 1か ら実施の形態 1 1のいずれかの演算処理装置形成しているため、 D S P 5 3に よるパイプライン処理で 1マシンサイクルに 2つのパスメ卜リックの更新が実 現でき、 これにより高速に比較的少ない処理量で D S P 5 3によるビタビ復号 の A C S演算が実現できる。
なお、 ここでは、 復調部 5 1及び変調部 5 2を D S P 5 3と区別して示して いるが、 それらを D S P 5 3のソフトウェアで構成することも可能である。 ま た、 D S Pとして、 実施の形態 6の D S Pを使用し、 畳み込み符号化部 5 6、 音声コーデック部 5 7及びタイミング制御部 5 4をそれぞれ別の部品で構成す ることも可能である。
(実施の形態 1 3 )
図 2 7は実施の形態 1 3における移動局装置の構成を示すブロック図である。 なお、 図 2 7に示す移動局装置 4 5 Aにおいて、 図 2 6に示す移動局装置 4 5 と同一部分については、 同一符号を付し説明を省略する。
図 2 7に示す移動局装置 4 5 Aは、 図 2 6の移動局装置 4 5と比較して、 変 調部 5 2 Aに拡散部 6 5を設け、 復調部 5 1 Aに逆拡散部 6 4を設けて C D M A通信方式のベースバンド信号処理部 5 O Aとしている。 なお、 C D MA通信 の場合、 タイミング制御部 5 4に、 遅延プルファイル等から選択された複数の フィンガを合わせ込む R AK E受信部が含まれることもある。
このように、 実施の形態 1 3における移動局装置 4 5 Aは、 復調部 5 1 Aに 逆拡散部 6 4を設け、 変調部 5 2 Aに拡散部 6 5を設けることにより、 C D M A通信に適用することができる。
(実施の形態 1 4 )
図 2 8は、 実施の形態 1 4における基地局装置の構成を示すブロック図であ る。
図 2 8において、 実施の形態 1 4における基地局装置 6 8は、 受信用のアン テナ 6 6及び送信用のアンテナ 6 7から成るアンテナ部 4 6と、 受信部 4 8及 び送信部 4 9から成る無線部 4 7と、 信号の変調及び復調と符号化及び復号化 とを行うベースバンド信号処理部 6 9と、 送受信するデータを有線回線との間 で入出力するデ一夕入出力部 6 0と、 各部を制御する制御部 6 3とを備えてい る。
また、 ベースバンド信号処理部 6 9は、 受信信号を復調する復調部 5 1と、 送信信号を変調する変調部 5 2と、 1チップの D S P 5 3 Aとで構成され、 D S P 5 3 Aは、 実施の形態 1から実施の形態 1 1のいずれかの演算処理装置か ら成るビタビ復号部 5 5と、 送信信号を畳み込み符号化する畳み込み符号化部 5 6と、 受信信号を復調部 5 1からビタビ復号部 5 5に送るタイミング及び送 信信号を畳み込み符号化部 5 6から変調部 5 2に送るタイミングを制御する夕 イミング制御部 5 4とを、 それぞれソフトウェアで形成している。
上記の基地局装置 6 8に有線回線からデータが受信された場合、 データはデ 一夕入出力部 6 0を介して畳み込み符号化部 5 6に入力され、 畳み込み符号化 され、 タイミング制御部 5 4にて入力したデ一夕の並び替えや送信出力夕イミ ングの調整が行われ、 変調部 5 2に出力される。 変調部 5 2に入力されたデー 夕は、 ディジタル変調され、 D A変換され、 送信部 4 9にて無線信号に変換さ れ、 アンテナ部 4 6から電波として送信される。
一方、 上記の基地局装置 6 8に無線回線からデータが受信された場合、 アン テナ部 4 6に受信された電波は、 受信部 4 8にて A D変換されて、 ベースバン ド信号処理部 6 9の復調部 5 1にて復調される。 復調されたデータは、 夕イミ ング制御部 5 4にてデータの並び替え等が行われ、 ビ夕ビ復号部 5 5にて復号 され、 データ入出力部 6 0を介して有線回線に出力される。
このように、実施の形態 1 3における基地局装置 6 8は、 ビタビ復号部 5 5、 畳み込み符号化部 5 6、 及びタイミング制御部 5 4の各部を 1チップの D S P 5 3 Aのソフトウェアで形成しているため、 少ない部品点数で組み立てること ができる。 また、 このビタビ復号部 5 5が実施の形態 1から実施の形態 1 1の いずれかの演算処理装置形成しているため、 D S P 5 3 Aによるパイプライン 処理で 1マシンサイクルに 2つのパスメトリックの更新が実現でき、 これによ り高速に比較的少ない処理量で D S P 5 3 Aによるビタビ復号の A C S演算が 実現できる。
なお、 ここでは、 復調部 51及び変調部 52を DSP 53Aと区別して示し ているが、それらを DS P 53 Aのソフトウェアで構成することも可能である。 また、 DSP 53Aとして、 実施の形態 6の DS Pを使用し、 畳み込み符号化 部 56、 音声コーデック部 57及び夕ィミング制御部 54をそれぞれ別の部品 で構成することも可能である。
(実施の形態 15)
図 29は実施の形態 15における基地局移動局装置の構成を示すブロック図 である。 なお、 図 29に示す基地局装置 68 Aにおいて、 図 28に示す移動局 装置 45と同一部分については、 同一符号を付し説明を省略する。
図 27に示す移動局装置 45 Aは、 図 26の移動局装置 45と比較して、 変 調部 52Aに拡散部 65を設け、 復調部 51 Aに逆拡散部 64を設けて CDM A通信方式のベースバンド信号処理部 5 OAとしている。 なお、 CDMA通信 の場合、 タイミング制御部 54に、 遅延プルファイル等から選択された複数の フィンガを合わせ込む RAKE受信部が含まれることもある。
このように、 実施の形態 15における基地局装置 68 Aは、 復調部 5 1 Aに 逆拡散部 64を設け、 変調部 52 Aに拡散部 65を設けることで、 CDMA通 信に適用することができる。
以上のように、 D S Pによるパイプライン処理で、 1マシンサイクルに 2つ のパスメトリックの更新することにより、 比較的少ない処理量で高速に DS P によるビタビ復号の ACS演算を実現でき、 携帯端末の小型化 ·軽量化 ·低価 格化 ·バッテリーの長寿命化が可能とになる。

Claims

請 求 の 範 囲
1 . パスメトリックを格納するパスメトリック記憶手段と、 ブランチメトリ ックを格納するブランチメトリック記憶手段と、 2つのパスメトリック及び 2 つのブランチメトリックを入力して A C S演算を実行し、 演算結果を前記パス メトリック記憶手段に書き込む 2組の A C S演算手段とを具備する演算処理装 置。
2 . 一方の A C S演算手段は、 第 1のパスメトリックに第 1のブランチメトリ ックを加算した値と、 第 2のパスメトリックに第 2のブランチメトリックを加 算した値とを用いて A C S演算を実行し、 他方の A C S演算手段は、 第 1のパ スメトリックに第 2のブランチメトリックを加算した値と、 第 2のパスメトリ ックに第 1のブランチメトリックを加算した値とを用いて A C S演算を実行す る請求の範囲 1記載の演算処理装置。
3 . パスメトリック記憶手段は、 4バンクの R AMを具備し、 各バンクの番 地にパスメトリックを記憶し、 連続した番地に記憶された 2つのパスメトリッ クを読み出す請求の範囲 1記載の演算処理装置。
4 . パスメトリック記憶手段は、 3バンクのデュアルポート R AMを具備し、 各バンクの番地にパスメトリックを記憶し、 連続した番地に記憶された 2つの パスメトリックを読み出し、 読み出しと同じサイクル内で前記 R AMにパスメ トリックを書き込む請求の範囲 1記載の演算処理装置。
5 . 入力レジス夕を具備し、 パスメトリック記憶手段から出力された 2つの パスメトリックを一旦前記入力レジス夕に入力する請求の範囲 1記載の演算処
6 . ブランチメトリック記憶手段は、 倍精度データのブランチメトリックを 直接出力する機能と、 上位と下位を入れ替えて出力する機能を有する請求の範 囲 1記載の演算処理装置。
7 . 2組の A C S演算手段のそれぞれは、 2つのパスメトリックと 2つのブ ランチメトリックから新たに生成される 2つのパスメトリックを比較する比較 手段と、 2つのパスメトリックと 2つのブランチメトリックから新たに 2つの パスメトリックを生成する加算手段と、 前記比較手段による比較結果に基づき 前記加算手段から出力された 2つのパスメトリックのうちいずれか一方を選択 して出力する選択手段と、 前記比較手段の比較結果を格納する比較結果記憶手 段とを具備する請求の範囲 1記載の演算処理装置。
8 . 一方の比較手段及び一方の加算手段が、 倍精度データのブランチメトリ ックを直接入力する機能と、 上位と下位を入れ替えて入力する機能を有する請 求の範囲 7記載の演算処理装置。
9 . 一方の比較手段及び一方の加算手段が、 倍精度データのパスメトリック を直接入力する機能と、 上位と下位を入れ替えて入力する機能を有する請求の 範囲 7記載の演算処理装置。
1 0 . 2つの比較手段のうち少なくとも一方が、 算術演算器である請求の範 囲 7記載の演算処理装置。
1 1 . 2つの比較手段のうち少なくとも一方が、 圧縮器と算術演算器である 請求の範囲 7記載の演算処理装置。
1 2 . 2つの加算手段のうち少なくとも一方が複数の全加算器であり、 一部 の全加算器から出力されるキャリー信号の次段への伝播を制御する請求の範囲 7記載の演算処理装置。
1 3 . 比較結果記憶手段が、 シフトレジスタである請求の範囲 7記載の演算 処理装置。
1 4 . 2つの比較結果記憶手段の一方は、 比較結果のネゲート値の符号を入 力する請求の範囲 7記載の演算処理装置。
1 5 . 請求の範囲 1記載の演算処理装置をソフトウェアで実現したプロダラ ムを記録した機械読取り可能な記録媒体。
1 6 . 請求の範囲 1記載の演算処理装置にて受信信号の復号処理を実行する 無線通信移動局装置。
17. CDMA方式にて変調及び復調を行い、 請求の範囲 1記載の演算処理 装置にて受信信号の復号処理を実行する CDMA移動局装置。
18. 請求の範囲 1記載の演算処理装置にて受信信号の復号処理を実行する 無線通信基地局装置。
19. CDMA方式にて変調及び復調を行い、 請求の範囲 1記載の演算処理 装置にて受信信号の復号処理を実行する CDMA基地局装置。
20. 移動局装置と基地局装置の少なくとも一方に請求の範囲 1記載の演算 処理装置を搭載する無線通信システム。
21. CDMA方式にて変調及び復調を行い、 移動局装置と基地局装置の少 なくとも一方に請求の範囲 1記載の演算処理装置を搭載する CDAl A無線通信 システム。
22. 格納された 2つのパスメトリック及び格納された 2つのブランチメト リックを読み出し、 読み出した 2つのパスメトリック及び 2つのブランチメト リックを用いて並列に AC S演算を実行し、 演算結果を前記パスメトリック記 憶手段に書き込む演算処理方法。
23. 並列に実行される AC S演算の一方において、 第 1のパスメトリックに 第 1のブランチメトリックを加算した値と、 第 2のパスメトリックに第 2のブ ランチメトリックを加算した値とを用い、 他方の ACS演算において、 第 1の パスメトリックに第 2のブランチメトリックを加算した値と、 第 2のパスメト リックに第 1のブランチメトリックを加算した値とを用いる請求の範囲 22記 載の演算処理方法。
PCT/JP1998/002909 1997-06-30 1998-06-29 Processeur et procede de traitement WO1999000905A1 (fr)

Priority Applications (6)

Application Number Priority Date Filing Date Title
US09/147,663 US6330684B1 (en) 1997-06-30 1998-06-29 Processor and processing method
DE69827915T DE69827915T2 (de) 1997-06-30 1998-06-29 Verarbeitungsverfahren und -vorrichtung
EP98929741A EP0923197B1 (en) 1997-06-30 1998-06-29 Processor and processing method
US10/748,242 US7139968B2 (en) 1997-06-30 2003-12-31 Processing unit and processing method
US11/022,811 US7325184B2 (en) 1997-06-30 2004-12-28 Communications digital signal processor and digital signal processing method
US11/929,126 US20080072129A1 (en) 1997-06-30 2007-10-30 Communications digital signal processor and digital signal processing method

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
JP9/173878 1997-06-30
JP17387897 1997-06-30
JP10/168567 1998-06-16
JP16856798A JP3338374B2 (ja) 1997-06-30 1998-06-16 演算処理方法および装置

Related Child Applications (3)

Application Number Title Priority Date Filing Date
US09/147,663 A-371-Of-International US6330684B1 (en) 1997-06-30 1998-06-29 Processor and processing method
US09147663 A-371-Of-International 1998-06-29
US09/974,807 Division US6477661B2 (en) 1997-06-30 2001-10-12 Processing unit and processing method

Publications (1)

Publication Number Publication Date
WO1999000905A1 true WO1999000905A1 (fr) 1999-01-07

Family

ID=26492229

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP1998/002909 WO1999000905A1 (fr) 1997-06-30 1998-06-29 Processeur et procede de traitement

Country Status (6)

Country Link
US (6) US6330684B1 (ja)
EP (1) EP0923197B1 (ja)
JP (1) JP3338374B2 (ja)
CN (3) CN1118140C (ja)
DE (1) DE69827915T2 (ja)
WO (1) WO1999000905A1 (ja)

Families Citing this family (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP3338374B2 (ja) * 1997-06-30 2002-10-28 松下電器産業株式会社 演算処理方法および装置
US6473088B1 (en) * 1998-06-16 2002-10-29 Canon Kabushiki Kaisha System for displaying multiple images and display method therefor
US6647071B2 (en) * 1998-11-06 2003-11-11 Texas Instruments Incorporated Method and apparatus for equalization and tracking of coded digital communications signals
JP3683128B2 (ja) * 1999-07-06 2005-08-17 日本電気株式会社 無線通信機および無線通信機の消費電力制御方法
WO2001069411A2 (en) 2000-03-10 2001-09-20 Arc International Plc Memory interface and method of interfacing between functional entities
US6760385B1 (en) * 2000-05-30 2004-07-06 Adtran, Inc. Universal parallel processing decoder
JP2001352254A (ja) * 2000-06-08 2001-12-21 Sony Corp 復号装置及び復号方法
US7234100B1 (en) * 2000-09-28 2007-06-19 Intel Corporation Decoder for trellis-based channel encoding
US6904105B1 (en) * 2000-10-27 2005-06-07 Intel Corporation Method and implemention of a traceback-free parallel viterbi decoder
JP3984790B2 (ja) * 2001-01-15 2007-10-03 日本電気株式会社 ビタビ復号処理装置
US6848074B2 (en) * 2001-06-21 2005-01-25 Arc International Method and apparatus for implementing a single cycle operation in a data processing system
US7020830B2 (en) * 2001-12-24 2006-03-28 Agere Systems Inc. High speed add-compare-select operations for use in viterbi decoders
US7127667B2 (en) * 2002-04-15 2006-10-24 Mediatek Inc. ACS circuit and viterbi decoder with the circuit
US7089481B2 (en) * 2002-07-22 2006-08-08 Agere Systems Inc. High speed arithmetic operations for use in turbo decoders
US7359464B2 (en) * 2003-12-31 2008-04-15 Intel Corporation Trellis decoder and method of decoding
US20050157823A1 (en) * 2004-01-20 2005-07-21 Raghavan Sudhakar Technique for improving viterbi decoder performance
JP4230953B2 (ja) * 2004-03-31 2009-02-25 株式会社ケンウッド ベースバンド信号生成装置、ベースバンド信号生成方法及びプログラム
US7779339B2 (en) * 2004-05-14 2010-08-17 Panasonic Corporation ACS circuit
CN101160729B (zh) * 2004-06-23 2011-09-14 Nxp股份有限公司 用于并行处理递归数据的定址体系结构
US7231586B2 (en) * 2004-07-21 2007-06-12 Freescale Semiconductor, Inc. Multi-rate viterbi decoder
TWI255622B (en) * 2004-10-21 2006-05-21 Mediatek Inc Method of computing path metrics in a high-speed Viterbi detector and related apparatus thereof
US7607072B2 (en) * 2005-01-28 2009-10-20 Agere Systems Inc. Method and apparatus for-soft-output viterbi detection using a multiple-step trellis
EP1746756B1 (en) * 2005-07-21 2013-01-16 STMicroelectronics Srl A method and system for decoding signals, corresponding receiver and computer program product
US8025655B2 (en) 2005-09-12 2011-09-27 Bridgepoint Medical, Inc. Endovascular devices and methods
KR100729619B1 (ko) * 2005-11-07 2007-06-19 삼성전자주식회사 고속 데이터 전송을 위한 비터비 디코딩 방법 및 장치
CN101346695A (zh) * 2005-12-27 2009-01-14 松下电器产业株式会社 具有可重构的运算器的处理器
CN101361039A (zh) * 2006-01-20 2009-02-04 松下电器产业株式会社 处理器
US20070239182A1 (en) * 2006-04-03 2007-10-11 Boston Scientific Scimed, Inc. Thrombus removal device
JP4303256B2 (ja) * 2006-04-04 2009-07-29 パナソニック株式会社 デジタル信号受信装置およびデジタル信号受信方法
US20080005842A1 (en) * 2006-07-07 2008-01-10 Ferno-Washington, Inc. Locking mechanism for a roll-in cot
US20080270658A1 (en) * 2007-04-27 2008-10-30 Matsushita Electric Industrial Co., Ltd. Processor system, bus controlling method, and semiconductor device
US8140949B2 (en) * 2007-11-13 2012-03-20 Alpha Imaging Technology Corp. ACS unit of a Viterbi decoder and method for calculating a bit error rate before a Viterbi decoder
CA2621147C (en) * 2008-02-15 2013-10-08 Connotech Experts-Conseils Inc. Method of bootstrapping an authenticated data session configuration
KR101410697B1 (ko) 2008-03-20 2014-07-02 삼성전자주식회사 수신기 및 상기 수신기의 동작 제어 방법
US8943392B2 (en) * 2012-11-06 2015-01-27 Texas Instruments Incorporated Viterbi butterfly operations
US20150170067A1 (en) * 2013-12-17 2015-06-18 International Business Machines Corporation Determining analysis recommendations based on data analysis context
KR102319779B1 (ko) * 2014-02-25 2021-11-01 도레이 카부시키가이샤 해도 복합 섬유, 복합 극세 섬유 및 섬유 제품
DE102015107509A1 (de) * 2014-10-14 2016-04-14 Infineon Technologies Ag Chip und Verfahren zum Betreiben einer Verarbeitungsschaltung
JP7007115B2 (ja) * 2017-06-01 2022-01-24 Necプラットフォームズ株式会社 ビタビ復号装置、及び、ビタビ復号方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63215227A (ja) * 1987-03-04 1988-09-07 Toshiba Corp ビタビ復号回路
US5633897A (en) * 1995-11-16 1997-05-27 Atmel Corporation Digital signal processor optimized for decoding a signal encoded in accordance with a Viterbi algorithm
JPH09148943A (ja) * 1995-11-17 1997-06-06 Nec Corp ビタビ復号装置

Family Cites Families (40)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS6081925A (ja) * 1983-10-12 1985-05-10 Nec Corp 誤り訂正装置
JPS60173930A (ja) * 1984-02-20 1985-09-07 Fujitsu Ltd パイプライン処理ビタビ復号器
JPS6468853A (en) 1987-09-10 1989-03-14 Fujitsu Ltd Memory control system
JPH01102541A (ja) * 1987-10-16 1989-04-20 Toshiba Corp 放射線画像装置
JPH03128552A (ja) * 1989-07-31 1991-05-31 Nec Corp データ伝送システムのための変復調装置
US5027374A (en) * 1990-03-26 1991-06-25 Motorola, Inc. Bit serial Viterbi decoder add/compare/select array
US5375129A (en) * 1990-07-19 1994-12-20 Technophone Limited Maximum likelihood sequence detector
US5220570A (en) * 1990-11-30 1993-06-15 The Board Of Trustees Of The Leland Stanford Junior University Programmable viterbi signal processor
US5502735A (en) * 1991-07-16 1996-03-26 Nokia Mobile Phones (U.K.) Limited Maximum likelihood sequence detector
JP2702831B2 (ja) * 1991-08-28 1998-01-26 松下電送株式会社 ヴィタビ復号法
US5327440A (en) * 1991-10-15 1994-07-05 International Business Machines Corporation Viterbi trellis coding methods and apparatus for a direct access storage device
US5280489A (en) * 1992-04-15 1994-01-18 International Business Machines Corporation Time-varying Viterbi detector for control of error event length
JPH05335972A (ja) * 1992-05-27 1993-12-17 Nec Corp ビタビ復号器
JPH0722969A (ja) 1993-06-16 1995-01-24 Matsushita Electric Ind Co Ltd 演算装置
AU652896B2 (en) 1992-09-29 1994-09-08 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus
JPH06164423A (ja) 1992-11-20 1994-06-10 Murata Mach Ltd ビタビ復号器
EP0644661B1 (en) * 1993-09-20 2000-06-14 Canon Kabushiki Kaisha Signal processing apparatus
ZA947317B (en) * 1993-09-24 1995-05-10 Qualcomm Inc Multirate serial viterbi decoder for code division multiple access system applications
US5414738A (en) * 1993-11-09 1995-05-09 Motorola, Inc. Maximum likelihood paths comparison decoder
US5550870A (en) * 1994-03-02 1996-08-27 Lucent Technologies Inc. Viterbi processor
JP3241210B2 (ja) * 1994-06-23 2001-12-25 沖電気工業株式会社 ビタビ復号方法及びビタビ復号回路
FR2724273B1 (fr) * 1994-09-05 1997-01-03 Sgs Thomson Microelectronics Circuit de traitement de signal pour mettre en oeuvre un algorithme de viterbi
JP3304631B2 (ja) 1994-09-14 2002-07-22 ソニー株式会社 ビタビ復号方法及びビタビ復号装置
JPH0946240A (ja) 1995-07-27 1997-02-14 Mitsubishi Electric Corp ビタビ復号機能を有するデータ処理装置
KR0144505B1 (ko) * 1995-09-18 1998-08-17 구자홍 영상표시기기의 화면 자동 조정장치 및 방법
US5742621A (en) * 1995-11-02 1998-04-21 Motorola Inc. Method for implementing an add-compare-select butterfly operation in a data processing system and instruction therefor
JPH09232973A (ja) * 1996-02-28 1997-09-05 Sony Corp ビタビ復号器
KR100195745B1 (ko) * 1996-08-23 1999-06-15 전주범 비터비 복호화기의 가산 비교 선택 장치
JPH10107651A (ja) 1996-09-27 1998-04-24 Nec Corp ビタビ復号装置
EP0851591B1 (en) 1996-12-24 2001-09-12 Matsushita Electric Industrial Co., Ltd. Data processor and data processing method
JPH10209882A (ja) 1997-01-24 1998-08-07 Japan Radio Co Ltd ビタビ復号方法
JP3242059B2 (ja) 1997-06-04 2001-12-25 沖電気工業株式会社 ビタビ復号器
JP3338374B2 (ja) * 1997-06-30 2002-10-28 松下電器産業株式会社 演算処理方法および装置
US6257756B1 (en) * 1997-07-16 2001-07-10 Motorola, Inc. Apparatus and method for implementing viterbi butterflies
JPH11112361A (ja) 1997-10-01 1999-04-23 Matsushita Electric Ind Co Ltd データ復号装置及びデータ復号方法
US5987490A (en) * 1997-11-14 1999-11-16 Lucent Technologies Inc. Mac processor with efficient Viterbi ACS operation and automatic traceback store
US5912908A (en) * 1997-11-21 1999-06-15 Lucent Technologies Inc. Method of efficient branch metric computation for a Viterbi convolutional decoder
US6195782B1 (en) * 1998-05-28 2001-02-27 Advanced Micro Devices, Inc. MLSE implementation using a general purpose DSP and shared hardware for a GSM application
JP3403382B2 (ja) * 1999-10-29 2003-05-06 松下電器産業株式会社 トレリス復号装置及びその方法
US20080077451A1 (en) * 2006-09-22 2008-03-27 Hartford Fire Insurance Company System for synergistic data processing

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63215227A (ja) * 1987-03-04 1988-09-07 Toshiba Corp ビタビ復号回路
US5633897A (en) * 1995-11-16 1997-05-27 Atmel Corporation Digital signal processor optimized for decoding a signal encoded in accordance with a Viterbi algorithm
JPH09148943A (ja) * 1995-11-17 1997-06-06 Nec Corp ビタビ復号装置

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
LOU H: "VITERBI DECODER DESIGN FOR THE IS-95 CDMA FORWARD LINK", 1996 IEEE 46TH. VEHICULAR TECHNOLOGY CONFERENCE. MOBILE TECHNOLOGY FOR THE HUMAN RACE. ATLANTA, APR. 28 - MAY 1, 1996., NEW YORK, IEEE., US, vol. 02, no. 02, 1 January 1996 (1996-01-01), US, pages 1346 - 1350, XP002913962, ISBN: 978-0-7803-3158-7 *
See also references of EP0923197A4 *
UEDA K, ET AL.: "A 16-BIT DIGITAL SIGNAL PROCESSOR WITH SPECIALLY ARRANGED MULTIPLY-ACCUMULATOR FOR LOW POWER CONSUMPTION", IEICE TRANSACTIONS ON ELECTRONICS, INSTITUTE OF ELECTRONICS, TOKYO, JP., vol. E78-C, no. 12, 1 December 1995 (1995-12-01), Tokyo, JP., pages 1709 - 1716, XP002913961, ISSN: 0916-8524 *

Also Published As

Publication number Publication date
US6330684B1 (en) 2001-12-11
EP0923197B1 (en) 2004-12-01
CN101018103A (zh) 2007-08-15
US7325184B2 (en) 2008-01-29
JP3338374B2 (ja) 2002-10-28
US6735714B2 (en) 2004-05-11
US20030066022A1 (en) 2003-04-03
CN1516381A (zh) 2004-07-28
US20050163233A1 (en) 2005-07-28
DE69827915T2 (de) 2005-04-07
CN100512075C (zh) 2009-07-08
CN1118140C (zh) 2003-08-13
US6477661B2 (en) 2002-11-05
DE69827915D1 (de) 2005-01-05
US20020016946A1 (en) 2002-02-07
US7139968B2 (en) 2006-11-21
US20080072129A1 (en) 2008-03-20
CN1231083A (zh) 1999-10-06
EP0923197A1 (en) 1999-06-16
CN101018103B (zh) 2013-02-27
EP0923197A4 (en) 2000-10-04
US20040177313A1 (en) 2004-09-09
JPH1174801A (ja) 1999-03-16

Similar Documents

Publication Publication Date Title
WO1999000905A1 (fr) Processeur et procede de traitement
JP3241210B2 (ja) ビタビ復号方法及びビタビ復号回路
KR100439211B1 (ko) 연산처리장치
WO2005011129A1 (ja) ビタビ復号器
EP1111798B1 (en) Digital signal processor with co-processor for Viterbi decoding
US20060143554A1 (en) Scalable traceback technique for channel decoder
JP2798123B2 (ja) ビタビ復号装置
US7661059B2 (en) High performance turbo and Viterbi channel decoding in digital signal processors
JP3996858B2 (ja) 演算処理装置
JP3634333B2 (ja) ディジタル信号処理プロセッサ
JP3383661B2 (ja) 演算処理装置
US6125153A (en) Data processor and data processing method
US7496827B2 (en) System and method for multi-mode multi-state path metric addressing
JP3253906B2 (ja) データ処理装置及びデータ処理方法
JP2002217747A (ja) ビタビ復号処理装置
JPH0730438A (ja) ビタビ復号方法
SC140 How to Implement a Viterbi Decoder on the
JPH10178356A (ja) 演算処理装置及びそれを用いた無線局装置
JP2002185337A (ja) 基地局装置
KR20030082320A (ko) 비터비 디코더의 브렌치 매트릭 연산장치
WO2007000708A1 (en) Viterbi decoder and decoding method thereof

Legal Events

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

Ref document number: 98800905.6

Country of ref document: CN

AK Designated states

Kind code of ref document: A1

Designated state(s): CN US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH CY DE DK ES FI FR GB GR IE IT LU MC NL PT SE

WWE Wipo information: entry into national phase

Ref document number: 09147663

Country of ref document: US

WWE Wipo information: entry into national phase

Ref document number: 1998929741

Country of ref document: EP

121 Ep: the epo has been informed by wipo that ep was designated in this application
WWP Wipo information: published in national office

Ref document number: 1998929741

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1998929741

Country of ref document: EP