WO2002056480A1 - Decodeur de viterbi - Google Patents

Decodeur de viterbi Download PDF

Info

Publication number
WO2002056480A1
WO2002056480A1 PCT/JP2001/010624 JP0110624W WO02056480A1 WO 2002056480 A1 WO2002056480 A1 WO 2002056480A1 JP 0110624 W JP0110624 W JP 0110624W WO 02056480 A1 WO02056480 A1 WO 02056480A1
Authority
WO
WIPO (PCT)
Prior art keywords
register
stored
memory
comparison
value
Prior art date
Application number
PCT/JP2001/010624
Other languages
English (en)
French (fr)
Inventor
Masao Ikekawa
Original Assignee
Nec Corporation
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 Nec Corporation filed Critical Nec Corporation
Priority to US10/466,302 priority Critical patent/US20040054958A1/en
Priority to EP01273082A priority patent/EP1355431B1/en
Priority to DE60117705T priority patent/DE60117705T2/de
Publication of WO2002056480A1 publication Critical patent/WO2002056480A1/ja

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/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/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
    • 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/6566Implementations concerning memory access contentions
    • 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
    • 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

Definitions

  • the present invention relates to a Viterbi decoding (Viterbi decoding) processing apparatus, and more particularly to a Viterbi decoding processing apparatus that performs a Viterbi decoding process for realizing high-quality digital communication.
  • Viterbi decoding In digital wireless communication, a combination of convolutional coding and Viterbi decoding is widely used to suppress the effects of bit errors occurring on the transmission path and achieve high-quality communication.
  • This Viterbi decoding process is realized by a digital signal processor (DSP: Digital Signal Processor) incorporated in communication equipment. Therefore, in recent years, DSP is required to have an architecture that can efficiently implement Viterbi decoding.
  • Viterbi decoding uses the iterative structure of convolutional codes to efficiently execute maximum likelihood decoding by soft-decision. A series of processes called addition, comparison, and selection (ACS: Add Compare Select) is performed. This is realized by repetition and a traceback operation that finally decodes the data.
  • DSP Digital Signal Processor
  • FIG. 4 is an explanatory diagram showing the addition / comparison / selection processing.
  • states at each time point and a pattern of branches showing transitions of these states are represented by simple repetition.
  • pm (c) MAX (pm (a) + bm, pm (b-bm) (1)
  • pm '(c + 1) MAX (pm (a)-bm, pm (b) + bm) (2)
  • pm (a) and pm (b) are two states S a (t) that can be connected to states S c (t + 1) and S c + 1 (t + 1).
  • the path metric value of S b (t), and bm and bm are the path and the received data sequence associated with the branch that connects each state, as shown in Fig. 4.
  • a function for selecting the larger one of the values X and y is expressed as MAX (, y), and any one of the values x and y is used in the present invention.
  • the function that selects the smaller value is denoted as MIN (x, y)
  • MIN may be used instead of MAX depending on the branch metric representation method.
  • FIG. 5 shows a block diagram of a conventional Viterbi decoding processing device according to Document 1 described above.
  • the operands (address information) input to the adders / subtractors 52 and 53 and the value of the operation result are temporarily stored in one of a plurality of registers provided in the register file 51.
  • the adders / subtracters 52 and 53 take two registers R i and Rj as input operands respectively, and the upper side R i (H) and R j (H) and the lower side R i (L) and Rj (L ) Is performed in parallel. The result of each addition and subtraction is stored in the upper Rk (H) and lower Rk (L) of the register Rk, respectively.
  • the comparators 54 and 56 each take one register R i as an operand and perform a magnitude comparison operation on the upper side R i (H) and the lower side R i (L). Regis evening Store in Rk. At the same time, one bit of the result of the comparison operation is stored in each of the history registers 55 and 57.
  • the addition, comparison, and operation processing for two states is executed in the following procedure.
  • the branch metric value bm and the value of one bm are read from the memory 59 and stored in the upper and lower sides of the register R0, and the path metric values pm (a) and pm (b) are stored in the memory. It is read from 59 and stored in the upper and lower sides of register R1, respectively.
  • the adder / subtractor 52 the register R0 and the register R1 are added in parallel, the value of pm (a) + bm is stored in the upper side of the register R2, and pm (b) is stored in the lower side. —The value of bm is stored.
  • the adder / subtractor 53 performs parallel subtraction of the register R0 and the register R1, and stores the value of pm (a) _bm in the upper part of the register R3 and pm in the lower part.
  • Reference 2 proposes an architecture that directly exchanges the operands and operation results of an arithmetic unit with the memory, which is different from an architecture that uses a register file as described above. However, they are essentially the same in that they have two sets of adder / subtractor and comparator and perform addition, comparison, and selection processing in parallel.
  • the present invention is intended to solve such a problem, and has a high operating speed.
  • a Viterbi decoding processing device capable of efficiently performing addition, comparison, and selection processing without requiring complicated processing. It is intended to provide.
  • a Viterbi decoding device includes a memory for storing a path metric and a branch metric appearing in a Viterbi decoding process in a one-word width, and an upper side and a lower side respectively.
  • a register file having a plurality of registers of at least two words wide for temporarily storing data of one word width, and a predetermined value using a path metric and a branch metric read from the memory via a bus to an arbitrary register of the register file; And a calculating means for calculating a new path metric based on the arithmetic expression of the following formula, wherein the calculating means takes predetermined two registers of each register as input operands, Compare the upper and lower values of the first register of the One of the values is stored in the upper part of the third register of the register, the upper and lower values of the other second register are compared, and the value is selected according to the comparison result.
  • a comparison arithmetic unit that stores either value on the lower side of the third register is used.
  • a 2-word data bus is used as the bus, and the upper and lower sides of the third register are stored in a register file. It is designed to simultaneously read 2-bit data stored in the lower side and store them at adjacent addresses in the memory via the data bus.
  • a history register for simultaneously storing 2-bit values respectively representing the comparison results of the two comparison operations may be provided. At the time of the comparison operation by the comparison arithmetic unit, the larger value or the smaller value of the two values is selected according to a predetermined instruction.
  • the arithmetic means takes two predetermined registers of the register as input operands, and sets the upper side of the fourth register and the upper side of the other fifth register.
  • the first addition using the value of the first register and the second addition using the lower value of the fourth register and the lower value of the fifth register are performed in parallel, and the first addition is performed.
  • the first adder / subtracter stores the result of the second addition in the upper side of the first register and stores the result of the second addition in the upper side of the first register, and inputs the fourth and fifth registers.
  • the first subtraction using the upper values of the fourth and fifth registers as operands, and the lower values of the fourth and fifth registers and the lower values of the fifth register Is performed in parallel with the second subtraction using, and the result of the first subtraction is stored in the second register.
  • a second second may be further provided a subtracter to store the results in the upper side of the second record Soo evening subtraction.
  • the one-word-wide branch metric for the two branches that transit from the two states at the immediately preceding point to the one state at that point on the trellis diagram is Store the two branch metrics stored in memory in the register file at the same time via the data bus in the register file and load them to the upper and lower sides of the fifth register. It may be.
  • FIG. 1 is a block diagram showing a video decoding apparatus according to an embodiment of the present invention.
  • Figure 2 shows a configuration example of a register.
  • FIG. 3 is an explanatory diagram illustrating the operation of the comparison arithmetic unit.
  • FIG. 4 is an explanatory diagram showing the addition / comparison / selection processing.
  • FIG. 5 is a block diagram showing a conventional Viterbi decoding processing device. Detailed description of the embodiment
  • FIG. 1 is a block diagram showing a video decoding processing device according to one embodiment of the present invention.
  • the video processing device includes arithmetic means 10, a register file 11, a history register 15, A memory 16, data buses 17 and 18, and a program control unit 19 are provided. Further, the arithmetic means 10 is provided with two adder / subtracters 12 and 13 and a comparator 14.
  • the register file 11 is provided with a plurality of registers for temporarily storing input operands (a location for storing input data) to the arithmetic unit and operation results from the arithmetic means 10.
  • Figure 2 shows an example of the register configuration.
  • one register 20 has a 40-bit width, and the upper 8 bits (2 1) are headroom when used as an accumulator of a multiply-accumulate unit, and are denoted by R i (E). .
  • the other 32 bits can be used for storing input operands and operation results to the operation means 10, and the upper 16 bits R i (H) corresponding to the upper side and the lower bits corresponding to the lower side It can also be used as a 16-bit register (2 2, 2 3) by separating it into 16-bit R i (L).
  • the register has 40 bits
  • the header has 8 bits
  • the upper and lower bits are 16 bits.
  • the number of bits does not necessarily have to conform to this.
  • the adders / subtractors 1 2 and 1 3 take the two registers R i and R j as operands, and the upper side R i (H), R j (H) and the lower side R i (L), R j ( It is possible to perform parallel addition and subtraction operations on L). The results of addition and subtraction are These are stored in the upper Rk (H) and lower Rk (L) of the display Rk, respectively.
  • the comparison operation unit 14 takes two registers R i and R j as input operands and performs two comparison operations in parallel. At the same time, the two bits representing the results of the two comparison operations are stored together in the history register 15.
  • FIG. 3 shows the functions of the comparator 14 and the history register 15 in more detail.
  • the upper side R i (H) and R i (L) of the register R i (31) are subjected to a magnitude comparison operation by the comparator 33, and the larger or smaller value is determined by the instruction into the register Rk (35). Stored in upper Rk (H).
  • the upper side Rj (H) and Rj (L) of the second operand, the register register Rj (32), are compared for magnitude by the comparator 34, and the larger or smaller one is determined by the instruction.
  • Each of the comparators 33 and 34 outputs one bit representing the operation result.
  • the history register 15 consists of a fixed number of bits of the register 36, the contents of which are shifted two bits to the right, and the two bits output from the comparators 33 and 34 are stored in the register 36 in the history register 15. Stored in the upper two bits at the same time.
  • the memory 16 stores a path metric and a branch metric used in the Viterbi decoding process in a one-word width, and is connected to the register file 11 via buses 17 and 18 each having a two-word width.
  • the memory 16 has a multi-bank memory or a dual-port memory configuration, so that load / store can be performed in parallel via two buses 17 and 18.
  • the buses 17 and 18 can simultaneously transfer 2-word data at adjacent addresses on the memory 16 by utilizing the 2-word width of each, and can load the upper and lower sides of the register Ri. Conversely, two words of data stored on the upper and lower sides of the register Ri can be simultaneously transferred and stored at adjacent addresses on the memory 16.
  • the program control unit 19 executes the addition / comparison-arithmetic processing by sequentially outputting the instruction 1 OA based on a predetermined program 19A to control each of the above-described circuit units, and performs the Viterbi decoding processing. .
  • the comparison operation unit 14 switches the comparison condition (MAXZMIN) based on the instruction 1 OA.
  • the Viterbi decoder of Fig. 1 the information Each time a received data sequence for one report bit is obtained, the addition, comparison, and arithmetic processing for each state is performed in the following procedure.
  • the program control unit 19 calculates a branch metric for each branch transitioning from the state immediately before to the state at the time in the trellis diagram using a predetermined circuit unit (not shown). Are stored in the memory 16 in advance. At this time, the memory 16 stores 1-word-wide branch metrics relating to the two branches that transit from the two states at the immediately preceding point on the trellis diagram to the same state at that point in adjacent addresses. deep. Then, the instruction 1 OA is output to each circuit section in FIG. 1 and the surviving path is selected by sequentially performing addition, comparison, and arithmetic processing for each state at the time.
  • This embodiment focuses on the two states at the time at adjacent positions on the trellis diagram, and makes efficient addition and comparison by taking advantage of the commonality in addition, comparison, and arithmetic processing for these two states.
  • ⁇ Arithmetic processing is performed.
  • the addition and comparison of two adjacent states S c (t + 1) and S c + 1 (t + 1) on the trellis diagram at the time point t + 1 ⁇ Calculation processing will be described.
  • the branch metrics bm, — bm relating to the two branches from the state S a (t), S b (t) transitioning to the state S c (t + 1) are adjacent to the memory 16 in advance as described above. Is stored at the specified address.
  • the values of these branch metrics bm and one bm are read out simultaneously from the memory 16, and the register R0 (the fourth register) of the register file 11 is read via the bus 17 or the bus 18 having a width of 2 words.
  • the adder / subtractor 12 performs parallel addition of the register R0 and the register R1, and stores the value of pm (a) + bm on the upper side of the register R2 (the first register). The value of pm (b) — bm is stored on the side.
  • the adder / subtractor 13 performs parallel subtraction of the register R0 and the register R1, and the upper side of the register R3 (second register) has a value of pm (a) -one bm, and the lower side has pm (b). ) Stores the value of + bm.
  • the comparator 14 compares the upper side and the lower side of the register R2 and the upper side and the lower side of the register R3, and the larger value is the higher side of the register R4 (third register). And 2 bits indicating the comparison result are stored in the history register 15. At this time, the value stored in the upper part of register R4 is equal to pm '(c) in the above equation (1), and the value stored in the lower part of register R4 is pm' (c + 1) in the equation (2). ) be equivalent to. The two bits stored in the history register 15 are used for traceback processing for final decoding using the last surviving path.
  • new path metrics pm ′ (c), m of states S c (t + 1) and S c + 1 (t + 1) adjacent on the trellis diagram '(c + 1) is read and stored simultaneously to adjacent addresses in memory 16.
  • the two registers R2 (first register) and register R3 (second register) are taken as input operands, and the upper and lower sides of register R2 are compared and calculated, and according to the comparison result,
  • the selected value is stored in the upper side of another register R 4 (third register), the upper and lower sides of the register R 3 are compared, and the value selected in accordance with the comparison result is calculated.
  • Data is stored in the lower side of register R4, and the upper and lower side data of register R4 are simultaneously read out and stored in adjacent addresses on memory 16 via bus 17 or bus 18 having a 2-word width.
  • the store operation to the memory is performed. Only needs to be added once, It becomes possible to perform efficiently compare and selection process. Therefore, addition / comparison / selection processing can be performed efficiently without increasing the operating speed or requiring complicated processing.
  • one-word-wide branch metrics relating to the two branches that transition from an arbitrary state at the immediately preceding point on the trellis diagram to two new states at that point are stored in adjacent addresses, respectively.
  • these two branch metrics are read out simultaneously via the bus 17 or bus 18 having a width of 2 ⁇ and the upper part of the register R 1 (the fifth register) is read. Since the load is made on the side and the lower side, the load operation from the memory only needs to be performed once compared with the case where the two branch metrics are separately loaded from the memory as in the past, and the addition, comparison, and selection Processing can be performed efficiently.
  • addition, comparison, and selection processing for two states can be performed with a total of three load operations and one store operation in addition to the path operation of the path metric.
  • the cycle required for the operation can be reduced to about 2 Z 3 even when compared with the case where the operation is performed twice and the store operation is performed twice.
  • two buses 17 and 18 having a width of two words are provided, and the load operation described above is performed in parallel between the memory 16 and the register file 11 via these two buses. Since the store operation can be executed, pipeline processing becomes possible, and on average, two cycles of addition, comparison, and selection processing for two states can be executed. It can be reduced to about 1 Z3. .
  • the 2-bit values representing the comparison results of the two comparison operations executed by the comparison operation unit 14 are stored at the same time.
  • the number of history registers can be reduced and the circuit configuration can be simplified, as compared with the case where the comparison result is stored in different history registers one bit at a time.
  • the comparison arithmetic unit 14 selects the larger or smaller one of the two values to be compared according to the instruction 1 OA from the program control unit 19. Therefore, it is possible to easily switch the selection criteria as needed.
  • adder / subtracters 52 and 53 are provided.
  • the adder / subtractor 52 takes two register bits R 0 (fourth register bit) and a register R 1 (fifth register) as input operands, and A first addition using the upper value of one register R0 and the upper value of the other register R1, and a second addition using the lower value of the register R0 and the lower value of the register R1. Addition and execution are performed in parallel, the first addition result is stored in the upper part of register R2 (first register), and the second addition result is stored in the lower part of register R2.
  • a first subtraction using the upper value of the register R0 and the upper value of the register R1 and a second subtraction using the lower value of the register R0 and the lower value of the register R1 are performed.
  • the first subtraction result is stored in the upper part of the register R 3 (the second register evening), and the second subtraction is performed. Since the result was such that store the lower side of the register R 3, a subtraction processing for two states in parallel can be efficiently processed.
  • the present invention takes two predetermined registers as input operands, compares the upper and lower values of one of the first registers, and selects a value according to the comparison result.
  • the stored value is stored in the upper part of the third register of the register, and the upper and lower values of the other second register are compared and calculated, and according to the comparison result,
  • a comparison arithmetic unit that stores one of the selected values at the lower side of the third register and a 2-word data bus are provided, and the upper and lower sides of the third register are provided by the comparison arithmetic unit.
  • the two word width data stored in the memory are simultaneously read out and stored at adjacent addresses on the memory via the data bus.

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

明 細 書 ビタビ復号処理装置 発明の背景
本発明は、 ビタビ復号 (Vi terbi Decoding) 処理装置に関し、 特に品質の高い ディジタル通信を実現するビタビ復号処理を行うビ夕ビ復号処理装置に関するも のである。
ディジタル無線通信では、 伝送路で発生するビット誤りによる影響を抑制し品 質の良い通信を実現するために、 畳み込み符号化とビタビ復号の組み合わせが広 く用いられている。 このビタビ復号の処理は、 通信機器に組み込まれたディジ夕 ル信号処理プロセッサ (以下、 D S Pという : Digi tal Signal Processer) によ つて実現される。 そのため近年 D S Pには、 ビタビ復号処理を効率良く実現でき るアーキテクチャを有することが求められている。 ビタビ復号は、 畳み込み符号 の持つ繰り返し構造を利用して軟判定による最尤復号を効率的に実行するもので あり、 加算 ·比較 ·選択 (A C S : Add Compare Selec t) 処理と呼ばれる一連の 処理の繰り返しと、 最終的にデータを復号するトレースバック操作とにより実現 される。
このビタビ復号処理では、 その畳み込み符号の符号器の内部状態とその遷移を 示すトレリス線図において、 情報ビット 1ビッ卜に対する受信データ系列を得る ごとに、 その新たな時点での各状態で生き残りパスを順次選択することにより、 受信データ系列に最も近しい生き残りパスすなわち本来の符号化データ系列を得 て る。 このとき、 生き残りパスの選択基準として、 各生き残りパスが示す符号 化データ系列と受信データ系列との信号間距離すなわちパスメトリックをそれぞ れ算出する必要があり、 上記加算 ·比較 ·選択処理が繰り返し実行される。 した がって、 D S Pがビタビ復号を効率よく実現するためには、 この加算.比較 .選 択処理を効率良く実行することが重要となる。 図 4は加算 ·比較 ·選択処理を示 す説明図である。 一般に、 トレリス線図は、 符号器の符号化率と拘束長が決定されると各時点の 状態とこれら状態の遷移を示す枝のパ夕一ンが、 単純な繰り返しにより表現され る。 時点 t + 1において、 トレリス線図上で瞵接する 2つの状態、 すなわち各状 態に対応する符号化データ系列 (出力シンポル) の値 (2進数) が隣接する 2つ の状態 S c (t + 1) , S c + 1 (t + 1) に着目した場合、 これら状態 S c (t + 1) と状態 S c + 1 (t + 1) のパスメトリック pm' (c) と pm' (c + 1) は、 以下の式 (1) , (2) で与えられる。
pm ( c ) =MAX (pm (a) + bm, pm ( b - bm ··· (1) pm' ( c + 1 ) =MAX (pm (a) - bm, pm (b) + bm) ··· (2) ここで、 pm (a) および pm (b) は、 状態 S c (t + 1) と S c + 1 ( t + 1) に接続されうる 2つの状態 S a (t) と S b (t) のパスメトリックの値 である。 また bmと一 bmは、 図 4に示すように、 各状態を接続する枝に関連付 けられた、 その枝に対応するパスと受信データ系列とのハミング距離すなわち枝 メトリックである。 なお、 本発明では、 値 X, yのうちいずれか大きい方の値を 選択する関数を MAX ( , y) と表記し、 値 x, yのうちいずれか小さい方の 値を選択する関数を MI N (x, y) と表記する。 上記式において、 枝メトリツ クの表現方法によっては MAXに代えて M I Nを用いる場合もある。
このような加算 ·比較 ·選択処理を効率良く処理するために、 従来、 複数の加 減算器と比較器を設け、 加算 ·比較 ·選択処理を並列に処理することが可能な D S Pのプロセッサアーキテクチャが提案されている (例えば、 特開平 1 1一 26 1426号公報:文献 1、 特開平 1 1一 74801号公報:文献 2、 など参照) 。 図 5に、 上記文献 1にかかる従来のビタビ復号処理装置のブロック図を示す。 この場合、 加減算器 52, 53に入力されるオペランド (アドレス情報) や演算 結果の値は、 レジス夕ファイル 51に設けられている複数のレジスタのいずれか へ一時的に格納される。
加減算器 52, 53は、 それぞれ 2個のレジスタ R i, Rjを入力オペランド としてとり、 これらレジスタの上位側 R i (H) , R j (H) および下位側 R i (L) , Rj (L) に対する並列加減演算をする。 それぞれの加減算の結果はレ ジス夕 Rkの上位側 Rk (H) , 下位側 Rk (L) にそれぞれ格納される。 比較器 54, 56は、 それぞれ 1個のレジスタ R iをオペランドとしてとり、 その上位側 R i (H) と下位側 R i (L) とで大小比較演算を行い、 例えば大き い方の値をレジス夕 Rkに格納する。 同時に、 その比較演算の結果 1ビットをそ れぞれの履歴レジス夕 55, 57に格納する。
このようなビタビ復号処理装置において、 2つの状態に対する加算 ·比較 ·演 算処理は次のような手順で実行される。 まず、 枝メトリックの値 bmと一 bmの 値がそれぞれメモリ 59から読み出されレジス夕 R0の上位側と下位側に格納さ れるとともに、 パスメトリックの値 pm (a) , pm (b) がメモリ 59から読 み出され、 レジスタ R 1の上位側と下位側にそれぞれ格納される。 そして、 加減 算器 52では、 レジスタ R0とレジスタ R 1の並列加算が行われ、 レジスタ R 2 の上位側には; pm (a) +bmの値が格納され、 下位側には pm (b) —bmの 値が格納される。
また、 加減算器 53では、 レジスタ R 0とレジスタ R 1の並列減算が行われ、 レジスタ R 3の上位側には pm (a) _bmの値が格納され、 下位側には pm
(b) +bmの値が格納される。 続いて比較器 54では、 レジスタ R2の上位側 と下位側が比較されて、 大きい方の値がレジス夕 R 4に格納され、 同時に比較結 果を示す 1ビットが履歴レジスタ 55に格納される。 このとき R 4に格納された 値は式 (1) の pm' (c) に等しい。 また、 履歴レジスタ 54に格納されたビッ トは後にトレ一スバックと呼ばれる処理で用いられる。
また、 比較器 56によってレジス夕 R 3の上位側と下位側が比較され、 大きい 方の値がレジスタ R 5に格納され、 同時に比較結果を示す 1ビットが履歴レジス 夕 57に格納される。 このときレジスタ R 5に格納された値は式 (2) の pm'
(c + 1) に等しい。 最後にレジスタ R 4の内容とレジスタ R 5の内容がメモリ 59に格納される。 なお、 文献 2では、 演算器のオペランドや演算結果を直接メ モリとやりとりするアーキテクチャが提案されており、 上記のようなレジスタフ アイルを利用するアーキテクチャとは異なっている。 しかし、 2組の加減算器と 比較器を有して加算 ·比較 ·選択処理を並列に実行するという意味において、 本 質的に同一である。
しかしながら、 このような従来のビタビ復号処理装置では、 メモリからレジス 夕ファイルへのデ一夕の口一ドゃレジスタファイルからメモリへのデータのスト ァに時間がかかるという問題があった。 例えば上記のように 2つの状態に対する 加算 ·比較 ·選択処理を行うためには、 2つのパスメ卜リックと 2つの枝メ卜リ ックをレジス夕へ読み込むために 4回のロードが必要となり、 得られた新たな 2 つのパスメトリックをメモリへ格納するために 2回のストアが必要となる。 これ を効率良く処理するためには、 装置全体の動作速度を向上する必要があり、 プロ セッサ規模と消費電力が増大することにつながる。 発明の概要
本発明はこのような課題を解決するためのものであり、 動作速度の高速化ゃ複 雑な処理を必要とすることなく効率良く加算 ·比較 ·選択処理を行うことができ るビタビ復号処理装置を提供することを目的としている。
このような目的を達成するために、 本発明にかかるビタビ復号処理装置は、 ビ タビ復号処理で現れるパスメトリックと枝メトリックをそれぞれ 1ヮード幅で記 憶するメモリと、 上位側および下位側にそれぞれ 1ヮード幅のデータを一時記憶 する少なくとも 2ワード幅のレジスタを複数有するレジスタファイルと、 このレ ジスタフアイルの任意のレジス夕へ前記メモリからバスを介して読み込んだパス メトリックおよび枝メトリックを用いて所定の演算式に基づき新たなパスメトリ ックを算出する演算手段とを有するビタビ復号処理装置であつて、 その演算手段 に、 各レジス夕のうち所定の 2つのレジス夕を入力オペランドとしてとり、 その 一方の第 1のレジスタの上位側と下位側の値を比較演算し、 その比較結果に応じ て選択したいずれか一方の値をレジスタのうちの第 3のレジス夕の上位側に格納 するとともに、 他方の第 2のレジスタの上位側と下位側の値を比較演算し、 その 比較結果に応じて選択したいずれか一方の値を第 3のレジス夕の下位側に格納す る比較演算器を備え、 バスとして 2ワード幅のデータバスを用い、 レジスタファ ィルで、 第 3のレジス夕の上位側と下位側に格納されている 2ヮ一ド幅のデータ を同時に読み出しデ—夕バスを介してメモリ上の隣り合ったアドレスにストアす るようにしたものである。
この場合、 その後のトレースバック処理を考慮して、 比較演算器で実行された 2つの比較演算の比較結果をそれぞれ表す 2ビットの値を同時に格納する履歴レ ジス夕をさらに設けてもよい。 上記比較演算器での比較演算の際、 2つの値のう ち所定命令に応じていずれか大きい方または小さい方の値を選択するようにして ちょい。
また、 加減算処理を効率よく行うため、 演算手段に、 レジス夕のうち所定の 2 つのレジスタを入力オペランドとしてとり、 その一方の第 4のレジス夕の上位側 と他方の第 5のレジス夕の上位側の値を用いた第 1の加算と、 第 4のレジス夕の 下位側と第 5のレジス夕の下位側の値を用いた第 2の加算とを並列して実行し、 第 1の加算の結果を第 1のレジスタの上位側に格納するとともに、 第 2の加算の 結果を第 1のレジスタの上位側に格納する第 1の加減算器と、 これら第 4および 第 5のレジス夕を入力オペランドとしてとり、 第 4のレジス夕の上位側と第 5の レジスタの上位側の値を用いた第 1の減算と、 第 4のレジス夕の下位側と第 5の レジス夕の下位側の値を用いた第 2の減算とを並列して実行し、 第 1の減算の結 果を第 2のレジスタの上位側に格納するとともに、 第 2の減算の結果を第 2のレ ジス夕の上位側に格納する第 2の加減算器とをさらに設けてもよい。
加算 ·比較 '選択処理で用いる枝メトリックについて、 メモリで、 トレリス線 図上での当該時点における 1つの状態へ直前時点における 2つの状態から遷移す る 2つの枝に関する 1ワード幅の枝メトリックを、 隣り合ったアドレスにそれぞ れ記憶し、 レジスタファイルで、 メモリに記憶されている 2つの枝メトリックを デー夕バスを介して同時に読み出して第 5のレジス夕の上位側と下位側にロード するようにしてもよい。
また、 メモリとレジスタファイルとの間でデ一夕をやり取りする場合、 バスと して、 データバスに代えてそれぞれ 2ヮ一ド幅の 2つのデータバスを設け、 レジ スタファイルで、 メモリから第 5のレジス夕への 2つの枝メトリックの同時ロー ド、 メモリから第 4のレジス夕への各パスメトリックの個別ロードおよび第 3の レジス夕からメモリへの 2つの新たなパスメトリックの同時ストァのうち、 いず れか 2つの動作を 2つのデータバスを個別に用いて並列的に実行するようにして あよい。 図面の簡単な説明
図 1は、 本発明の一実施例にかかるビ夕ビ復号処理装置を示すプロック図であ る。
図 2は、 レジスタの構成例である。
図 3は、 比較演算器の動作を示す説明図である。
図 4は、 加算 ·比較 ·選択処理を示す説明図である。
図 5は、 従来のビタビ復号処理装置を示すブロック図である。 実施例の詳細な説明
次に、 本発明の実施例について図面を参照して説明する。
図 1は本発明の一実施例にかかるビ夕ビ復号処理装置を示すプロック図である c このビ夕ビ演算処理装置には、 演算手段 1 0、 レジスタファイル 1 1、 履歴レジ スタ 1 5、 メモリ 1 6、 データバス 1 7 , 1 8およびプログラム制御部 1 9が設 けられている。 また、 演算手段 1 0には、 2つの加減算器 1 2, 1 3と、 比較演 算器 1 4とが設けられている。
レジス夕ファイル 1 1には、 演算器への入力オペランド (入力データを格納し ておく場所) や演算手段 1 0からの演算結果などを一時的に格納するための複数 個のレジスタが設けられている。 図 2にレジスタの構成例を示す。 ここでは、 1 つのレジスタ 2 0が 4 0ビット幅を有し、 上位側 8ビット (2 1 ) は積和演算器 のアキュムレータとして用いる場合のヘッドルームであり、 R i (E) と表記す る。 これ以外の 3 2ビットは演算手段 1 0への入力オペランドや演算結果の格納 に用いることもできるし、 上位側に相当する上位側 1 6ビット R i (H) と下位 側に相当する下位側 1 6ビット R i ( L) とに分離して 1 6ビットレジスタ (2 2 , 2 3 ) として用いることもできる。 なお、 ここではレジスタのビット数を 4 0ビット、 へッドル一ムを 8ビット、 上位側と下位側をそれぞれ 1 6ビットとし た例を示したが、 ビット数は必ずしもこれに従う必要はない。
加減算器 1 2, 1 3は、 2個のレジス夕 R iと R jをオペランドとしてとり、 その上位側 R i (H) , R j (H) および下位側 R i (L ) , R j (L ) に対す る並列加減演算をすることが可能である。 加算および減算の結果は、 それぞれレ ジス夕 Rkの上位側 Rk (H) と下位側 Rk (L) にそれぞれ格納される。
比較演算器 14は、 2個のレジスタ R i, R jを入力オペランドとしてとり、 2つの比較演算を並列に行う。 同時に、 その 2つの比較演算の結果を表す 2ビッ トをあわせて履歴レジス夕 15に格納する。 図 3に、 比較演算器 14と履歴レジ スタ 15の機能をより詳細に示す。 レジスタ R i (31) の上位側 R i (H) と R i (L) を比較器 33によって大小比較演算を行い、 命令によって大きい方あ るいは小さい方の値をレジス夕 Rk (35) の上位側 Rk (H) に格納する。 同 時に、 2番目のオペランドであるレジス夕 R j (32) の上位側 Rj (H) と R j (L) を比較器 34によって大小比較演算を行い、 命令によって大きい方ある いは小さい方の値をレジスタ Rkの下位側 Rk (L) に格納する。 比較器 33, 34から、 その演算結果を表すそれぞれ 1ビットが出力される。 履歴レジスタ 1 5の中は固定したビット数のレジスタ 36からなり、 その内容が 2ビット右にシ フトされ、 比較器 33, 34から出力された 2ビットが履歴レジスタ 15内にあ るレジスタ 36の上位側 2ビッ卜に同時に格納される。
メモリ 16は、 ビタビ復号処理で用いるパスメトリックゃ枝メトリックを 1ヮ ード幅で記憶しており、 それぞれ 2ワード幅のバス 17, 18を介してレジスタ ファイル 11と接続されている。 このメモリ 16はマルチバンクメモリあるいは デュアルポ一トメモリ構成とすることで、 2本のバス 17, 18を介して並列的 にロード/ストアが可能になっている。 バス 17, 18は、 それぞれの 2ワード 幅を生かして、 メモリ 16上に隣り合ったアドレスにある 2ワードのデータを同 時に転送し、 レジスタ R iの上位側と下位側へロードできる。 またこれとは逆に、 レジスタ R iの上位側と下位側に格納されている 2ワードのデータを同時に転送 し、 メモリ 16上の隣り合ったアドレスにストアできる。
プログラム制御部 19は、 所定のプログラム 19 Aに基づいて、 順次、 命令 1 OAを出力することにより上記した各回路部を制御することにより加算 ·比較 - 演算処理を実行し、 ビタビ復号処理を行う。 比較演算器 14では、 加減算器 12, 13を用いて算出した新たなパスメトリックに基づき生き残りパスを選択する際、 この命令 1 OAに基づき比較条件 (MAXZMI N) の切り替えを行う。
次に、 本実施例の動作について説明する。 図 1のビタビ復号処理装置では、 情 報ビット 1ビットに対する受信データ系列を得るごとに、 次のような手順で各状 態に関する加算 ·比較 ·演算処理を実行する。
まず、 プログラム制御部 19では、 所定の回路部 (図示せず) を用いて、 トレ リス線図における直前時点の状態から当該時点の状態へ遷移する各枝についてそ れぞれ枝メトリックを算出し、 予めメモリ 16に格納しておく。 このときメモリ 16には、 トレリス線図上での直前時点の 2つの状態から当該時点の同一の状態 へ遷移する 2つの枝に関する 1ヮード幅の枝メトリックを、 隣り合ったァドレス にそれぞれ格納しておく。 そして、 命令 1 OAを図 1の各回路部へ出力し、 当該 時点における各状態について順に加算 ·比較 ·演算処理を行うことにより、 それ ぞれ生き残りパスの選択を行う。
本実施例は、 トレリス線図上で隣接する位置にある当該時点の 2つの状態に着 目し、 これら 2つの状態に関する加算 ·比較 ·演算処理での共通性を生かして、 効率よく加算 ·比較 ·演算処理を行うようにしたものである。 以下では、 前述し た図 4を例として、 当該時点 t + 1におけるトレリス線図上で隣接する 2つの状 態 S c (t + 1) , S c + 1 (t + 1) に関する加算 ·比較 ·演算処理について 説明する。
状態 S c (t + 1) へ変遷する状態 S a (t) , S b (t) からの 2つの枝に 関する枝メトリック bm, — bmは、 上記のようにして予めメモリ 16上の隣り 合ったアドレスに格納されている。 レジスタファイル 11では、 これら枝メトリ ック bm, 一 bmの値をメモリ 16から同時に読み出し、 2ワード幅のバス 17 またはバス 18を介してレジスタファイル 1 1のレジスタ R 0 (第 4のレジス 夕) の上位側と下位側に格納する。 また、 パスメトリックの値 pm (a) , pm
(b) をメモリ 16から読み出し、 バス 17またはバス 18を介してレジスタ R 1 (第 5のレジスタ) の上位側と下位側へそれぞれ格納する。 なお、 pm (a) , pm (b) は、 その S a (t) , Sb (t) が常に隣接する位置関係にないため、 メモリ 16上では隣り合うアドレスには格納されておらず、 それぞれ別個に読み 出される。
加減算器 12では、 レジスタ R0とレジス夕 R 1の並列加算が行われ、 レジス 夕 R2 (第 1のレジスタ) の上位側には pm (a) +bmの値が格納され、 下位 側には pm (b) — bmの値が格納される。 加減算器 13では、 レジスタ R0と レジスタ R 1の並列減算が行われ、 レジスタ R 3 (第 2のレジス夕) の上位側に は pm (a) 一 bmの値が、 下位側には pm (b) +bmの値が格納される。 続 いて、 比較演算器 14において、 レジスタ R 2の上位側と下位側およびレジスタ R 3の上位側と下位側がそれぞれ比較され、 大きい方の値がレジス夕 R4 (第 3 のレジス夕) の上位側と下位側にそれぞれ格納されるとともに、 その比較結果を 示す 2ビットが履歴レジスタ 15に格納される。 このとき、 レジスタ R4の上位 側に格納された値は上記式 (1) の pm' (c) に等しく、 レジスタ R4の下位側 に格納された値は式 (2) の pm' (c + 1) に等しい。 また、 履歴レジス夕 15 に格納された 2ビットは、 最後に残った 1つの生き残りパスを用いた最終的な復 号のためのトレースバック処理で用いられる。 そして、 レジスタ R 4の上位側と 下位側から、 トレリス線図上で隣接する状態 S c (t + 1) , S c + 1 (t + 1) の新たなパスメトリック pm' (c) , m' (c + 1) が読み出され、 メモ リ 16の隣り合うアドレスへ同時にストァされる。
このように、 2つのレジスタ R2 (第 1のレジスタ) とレジス夕 R3 (第 2の レジスタ) を入力オペランドとしてとり、 レジス夕 R 2の上位側と下位側を比較 演算し、 その比較結果に応じて選択した値を別のレジスタ R 4 (第 3のレジス 夕) の上位側に格納し、 またレジス夕 R 3の上位側と下位側を比較演算し、 その 比較結果に応じて選択した値をレジスタ R 4の下位側に格納し、 このレジス夕 R 4の上位側と下位側のデータを同時に読み出し、 2ヮード幅のバス 17またはバ ス 18を介してメモリ 16上の隣り合ったアドレスにストアするようにしたので、 従来のように 2つの比較器でそれぞれ選択され異なるレジス夕に格納された 2つ の新たなパスメトリックを別個にメモリへストアする場合と比較して、 メモリへ のストァ動作が 1回で済み、 加算 ·比較 ·選択処理を効率よく実行することが可 能となる。 したがって、 動作速度の高速化や複雑な処理を必要とすることなく効 率良く加算 ·比較 ·選択処理を行うことができる。
一般に、 トレリス線図を用いて加算 ·比較 ·演算処理を行う場合、 トレリス線 図上に配置された各状態の位置関係に基づき順に処理が行われる。 これは、 プロ グラム処理を効率よく実行することを目的とするものである。 上記のように、 カロ 算 ·比較 ·選択処理で得られた 2つの新たなパスメトリックについても、 メモリ 1 6内でトレリス線図上の位置関係に応じて連続するアドレスに格納することに より、 さらにプログラムすなわちソフトウエア資源とハードウェア資源との整合 性がよくなり、 プログラム処理を効率よく実行できるだけでなくプログラム開発 に要する作業負担をも軽減できる。
また、 メモリ 1 6において、 トレリス線図上での直前時点における任意の状態 から当該時点における 2つの新たな状態へ移行する 2つの枝に関する 1ワード幅 の枝メトリックを、 隣り合ったアドレスにそれぞれ記憶しておき、 加算 ·比較 · 選択処理の際、 これら 2つの枝メトリックを 2ヮ一ド幅のバス 1 7またはバス 1 8を介して同時に読み出してレジスタ R 1 (第 5のレジス夕) の上位側と下位側 にロードするようにしたので、 従来のように、 2つの枝メトリックをメモリから 別個にロードする場合と比較して、 メモリからのロード動作が 1回で済み、 加算 •比較 ·選択処理を効率よく実行することが可能となる。
したがって、 パスメトリックの口一ド動作と合わせて合計 3回のロード動作と 1回のストァ動作で 2つの状態に対する加算 ·比較 ·選択処理を実行できること になるため、 従来のように 4回のロード動作と 2回のストア動作を行う場合と単 純に比較しても、 動作に必要なサイクルを約 2 Z 3にまで削減できる。
さらに、 本実施例では、 2ワード幅の 2つのバス 1 7 , 1 8を設けるとともに、 これら 2つのバスを介してメモリ 1 6とレジスタファイル 1 1の間で並列的に上 記のロード動作ゃストァ動作を実行できるようにしたので、 パイプライン処理が 可能となり、 平均して 2サイクル分 2つの状態に対する加算 ·比較 ·選択処理 を実行できることになり、 従来と比較して動作に必要なサイクルを約 1 Z 3にま で削減できる。 .
また、 履歴レジス夕 1 5では、 比較演算器 1 4で実行された 2つの比較演算の 比較結果をそれぞれ表す 2ビットの値を同時に格納するようにしたので、 従来の ように 2つの比較器からの比較結果を 1ビットずつ異なる履歴レジスタに格納す る場合と比較して、 履歴レジス夕の数を削減でき回路構成を簡略化できる。
また、 比較演算器 1 4では、 比較する 2つの値のうちプログラム制御部 1 9か らの命令 1 O Aに応じていずれか大きい方または小さい方の値を選択するように したので、 必要に応じて選択基準を容易に切り替えることが可能となる。
また、 加減算器 5 2, 5 3を設け、 加減算器 5 2では、 2つのレジス夕 R 0 (第 4のレジス夕) とレジスタ R 1 (第 5のレジスタ) とを入力オペランドとし てとり、 その一方のレジスタ R 0の上位側と他方のレジスタ R 1の上位側の値を 用いた第 1の加算と、 レジス夕 R 0の下位側とレジスタ R 1の下位側の値を用い た第 2の加算とを並列に実行し、 第 1の加算結果をレジスタ R 2 (第 1のレジス 夕) の上位側に格納するとともに、 第 2の加算結果をレジスタ R 2の下位側に格 納し、 加減算器 5 3では、 レジス夕 R 0の上位側とレジスタ R 1の上位側の値を 用いた第 1の減算と、 レジスタ R 0の下位翻とレジスタ R 1の下位側の値を用い た第 2の減算とを並列に実行し、 第 1の減算結果をレジス夕 R 3 (第 2のレジス 夕) の上位側に格納するとともに、 第 2の減算結果をレジスタ R 3の下位側に格 納するようにしたので、 2つの状態に関する加減算処理を並列的に効率よく処理 できる。
なお、 本発明が上記実施例に限定されず、 本発明の技術思想の範囲内において、 適宜変更され得ることは明らかである。
以上説明したように、 本発明は、 所定の 2つのレジスタを入力オペランドとし てとり、 その一方の第 1のレジスタの上位側と下位側の値を比較演算し、 その比 較結果に応じて選択したいずれか一方の値をレジスタのうちの第 3のレジス夕の 上位側に格納するとともに、 他方の第 2のレジス夕の上位側と下位側の値を比較 演算し、 その比較結果に応じて選択したいずれか一方の値を第 3のレジスタの下 位側に格納する比較演算器と、 2ワード幅のデータバスとを設け、 比較演算器に より第 3のレジス夕の上位側と下位側に格納されている 2ワード幅のデータを同 時に読み出しデータバスを介してメモリ上の隣り合ったアドレスにストアするよ うにしたので、 従来のように 2つの比較器でそれぞれ選択され異なるレジス夕に 格納された 2つの新たなパスメトリックを別個にメモリヘストァする場合と比較 して、 メモリへのストア動作が 1回で済み、 加算 ·比較 ·選択処理を効率よく実 行することが可能となる。 したがって、 動作速度の高速化や複雑な処理を必要と することなく効率良く加算 ·比較 ·選択処理を行うことができる。

Claims

請 求 の 範 囲
1 . ビタビ復号処理で現れるパスメトリックと枝メトリックをそれぞれ 1ヮ一ド 幅で記憶するメモリと、 上位側および下位側にそれぞれ 1ヮ一ド幅のデータを一 時記憶する少なくとも 2ワード幅のレジス夕を複数有するレジス夕ファイルと、 このレジスタファイルの任意のレジスタへ前記メモリからバスを介して読み込ん だパスメトリックおよび枝メトリックを用いて所定の演算式に基づき新たなパス メトリックを算出する演算手段とを有するビタビ復号処理装置であって、 前記演算手段は、 前記各レジスタのうち所定の 2つのレジス夕を入力オペラン ドとしてとり、 その一方の第 1のレジス夕の上位側と下位側の値を比較演算し、 その比較結果に応じて選択したいずれか一方の値を前記レジス夕のうちの第 3の レジス夕の上位側に格納するとともに、 前記他方の第 2のレジスタの上位側と下 位側の値を比較演算し、 その比較結果に応じて選択したいずれか一方の値を第 3 のレジスタの下位側に格納する比較演算器を備え、
前記バスは、 2ワード幅のデータバスからなり、
前記レジスタフアイルは、 前記第 3のレジス夕の上位側と下位側に格納されて いる 2ワード幅のデータを同時に読み出し前記データバスを介して前記メモリ上 の隣り合ったアドレスにストアすることを特徴とするビ夕ビ復号処理装置。
2 . 前記比較演算器で実行された 2つの比較演算の比較結果をそれぞれ表す 2ビ ットの値を同時に格納する履歴レジスタをさらに備えることを特徴とする請求の 範囲第 1項記載のビ夕ビ復号処理装置。
3 . 前記比較演算器は、 前記比較演算の際、 前記 2つの値のうち所定命令に応じ ていずれか大きい方または小さい方の値を選択することを特徴とする請求の範囲 第 1項記載のビ夕ビ復号処理装置。
4. 前記演算手段は、 前記レジスタのうち所定の 2つのレジス夕を入力オペラン ドとしてとり、 その一方の第 4のレジスタの上位側と他方の第 5のレジスタの上 位側の値を用いた第 1の加算と、 第 4のレジスタの下位側と第 5のレジスタの下 位側の値を用いた第 2の加算とを並列して実行し、 第 1の加算の結果を前記第 1 のレジスタの上位側に格納するとともに、 第 2の加算の結果を前記第 1のレジス タの上位側に格納する第 1の加減算器と、 これら第 4および第 5のレジスタを入 力オペランドとしてとり、 第 4のレジスタの上位側と第 5のレジス夕の上位側の 値を用いた第 1の減算と、 第 4のレジスタの下位側と第 5のレジス夕の下位側の 値を用いた第 2の減算とを並列して実行し、 第 1の減算の結果を前記第 2のレジ ス夕の上位側に格納するとともに、 第 2の減算の結果を第 2のレジス夕の上位側 に格納する第 2の加減算器とをさらに備えることを特徴とする請求の範囲第 1項 記載のビタビ復号処理装置。
5 . 前記メモリは、 トレリス線図上での当該時点における 1つの状態へ直前時点 における 2つの状態から遷移する 2つの枝に関する 1ワード幅の枝メトリックを、 隣り合ったアドレスにそれぞれ記憶し、
前記レジス夕ファイルは、 前記メモリに記憶されている前記 2つの枝メトリッ クを前記データバスを介して同時に読み出して前記第 5のレジスタの上位側と下 位側にロードすることを特徴とする請求の範囲第 4項記載のビタビ復号処理装置。
6 . 前記バスは、 前記デ一夕バスに代えて、 それぞれ 2ワード幅の 2つのデータ バスを有し、
前記レジスタフアイルは、 前記メモリから前記第 5のレジス夕への 2つの枝メ トリックの同時ロード、 前記メモリから前記第 4のレジス夕への各パスメトリッ クの個別ロードおよび前記第 3のレジスタから前記メモリへの 2つの新たなパス メトリックの同時ストァのうち、 いずれか 2つの動作を前記 2つのデータバスを 個別に用いて並列的に実行することを特徴とする請求の範囲第 5項記載のビタビ
PCT/JP2001/010624 2001-01-15 2001-12-05 Decodeur de viterbi WO2002056480A1 (fr)

Priority Applications (3)

Application Number Priority Date Filing Date Title
US10/466,302 US20040054958A1 (en) 2001-01-15 2001-12-05 Viterbi decoder
EP01273082A EP1355431B1 (en) 2001-01-15 2001-12-05 Viterbi decoding processor
DE60117705T DE60117705T2 (de) 2001-01-15 2001-12-05 Viterbi-Decodierungsprozessor

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
JP2001-006066 2001-01-15
JP2001006066A JP3984790B2 (ja) 2001-01-15 2001-01-15 ビタビ復号処理装置

Publications (1)

Publication Number Publication Date
WO2002056480A1 true WO2002056480A1 (fr) 2002-07-18

Family

ID=18874020

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/JP2001/010624 WO2002056480A1 (fr) 2001-01-15 2001-12-05 Decodeur de viterbi

Country Status (5)

Country Link
US (1) US20040054958A1 (ja)
EP (1) EP1355431B1 (ja)
JP (1) JP3984790B2 (ja)
DE (1) DE60117705T2 (ja)
WO (1) WO2002056480A1 (ja)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4408783B2 (ja) * 2004-09-29 2010-02-03 Necエレクトロニクス株式会社 復号装置及び復号方法
JP5502739B2 (ja) * 2007-10-26 2014-05-28 クゥアルコム・インコーポレイテッド 最適化ビタビ復号器およびgnss受信機

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0690178A (ja) * 1992-07-23 1994-03-29 Matsushita Electric Ind Co Ltd 演算装置
JPH10171778A (ja) * 1996-12-13 1998-06-26 Nec Corp ブロックiirプロセッサ
JPH11261426A (ja) * 1997-11-14 1999-09-24 Lucent Technol Inc 自動ビタビトレースバックビット格納機能を有する並列算術論理プロセッサ
JP2000222174A (ja) * 1999-02-03 2000-08-11 Nec Corp 信号処理プロセッサ及びそれに用いる丸め機能付き積和演算器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5440504A (en) * 1993-02-19 1995-08-08 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus for digital signal processor
JP3338374B2 (ja) * 1997-06-30 2002-10-28 松下電器産業株式会社 演算処理方法および装置
US6601215B1 (en) * 2000-02-01 2003-07-29 Agere Systems Inc. Traceback buffer management for VLSI Viterbi decoders

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH0690178A (ja) * 1992-07-23 1994-03-29 Matsushita Electric Ind Co Ltd 演算装置
JPH10171778A (ja) * 1996-12-13 1998-06-26 Nec Corp ブロックiirプロセッサ
JPH11261426A (ja) * 1997-11-14 1999-09-24 Lucent Technol Inc 自動ビタビトレースバックビット格納機能を有する並列算術論理プロセッサ
JP2000222174A (ja) * 1999-02-03 2000-08-11 Nec Corp 信号処理プロセッサ及びそれに用いる丸め機能付き積和演算器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
See also references of EP1355431A4 *
TAKAHIRO KUMURA ET AL.: "Viterbi senyou meirei wo sonaeta hanyou DSP ni yoru kousoku viterbi fukugou", DENSHI JOHO TSUUSHIN GAKKAI, 2001-NEN SOUGOU TAIKAI KOUEN RONBUNSHUU (KISO, KYOUKAI) (A-4-40), 9 March 2001 (2001-03-09), pages 140, XP002908804 *

Also Published As

Publication number Publication date
JP2002217747A (ja) 2002-08-02
DE60117705D1 (de) 2006-05-04
EP1355431A1 (en) 2003-10-22
EP1355431B1 (en) 2006-03-08
EP1355431A4 (en) 2005-06-22
JP3984790B2 (ja) 2007-10-03
US20040054958A1 (en) 2004-03-18
DE60117705T2 (de) 2006-08-17

Similar Documents

Publication Publication Date Title
US5946361A (en) Viterbi decoding method and circuit with accelerated back-tracing and efficient path metric calculation
JP3338374B2 (ja) 演算処理方法および装置
KR100439211B1 (ko) 연산처리장치
JPH10107651A (ja) ビタビ復号装置
US5742621A (en) Method for implementing an add-compare-select butterfly operation in a data processing system and instruction therefor
WO2002056480A1 (fr) Decodeur de viterbi
JP3607116B2 (ja) 演算処理装置
EP1322041A1 (en) Viterbi decoder using restructured trellis
JP3191442B2 (ja) ビタビ復号用演算装置
EP1058392A1 (en) Method for implementing a plurality of add-compare-select butterfly operations in parallel, in a data processing system
JP3996858B2 (ja) 演算処理装置
JP2002521907A (ja) ビタビ復号器のための高速メトリック計算
JP3634333B2 (ja) ディジタル信号処理プロセッサ
KR100414152B1 (ko) 프로그래머블 프로세서에서의 비터비 디코딩 연산방법 및그 연산방법을 실행하기 위한 연산회로
JPH04352518A (ja) 演算装置
JP3193830B2 (ja) 演算回路
JP2001024526A (ja) ビタビ復号装置
JPH0722969A (ja) 演算装置
JPH0766735A (ja) ビタビ復号装置およびステートメトリック正規化方法
JP2001186021A (ja) 誤り検出装置及びそれを内蔵した演算処理装置
JP2001222408A (ja) プロセッサ
JPH08234983A (ja) ディジタル・シグナル・プロセッサ
JPH0746145A (ja) 演算装置
JPH10107652A (ja) 演算装置
JP2003051750A (ja) 演算処理装置

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): KR 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 TR

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 2001273082

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 10466302

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 2001273082

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 2001273082

Country of ref document: EP