JP5177028B2 - Decryption device - Google Patents

Decryption device Download PDF

Info

Publication number
JP5177028B2
JP5177028B2 JP2009059986A JP2009059986A JP5177028B2 JP 5177028 B2 JP5177028 B2 JP 5177028B2 JP 2009059986 A JP2009059986 A JP 2009059986A JP 2009059986 A JP2009059986 A JP 2009059986A JP 5177028 B2 JP5177028 B2 JP 5177028B2
Authority
JP
Japan
Prior art keywords
time
bit
data
partial data
internal state
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Fee Related
Application number
JP2009059986A
Other languages
Japanese (ja)
Other versions
JP2010213225A (en
Inventor
真寿 毛利
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu 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 Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP2009059986A priority Critical patent/JP5177028B2/en
Publication of JP2010213225A publication Critical patent/JP2010213225A/en
Application granted granted Critical
Publication of JP5177028B2 publication Critical patent/JP5177028B2/en
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Description

本願開示は、一般に電子回路に関し、詳しくは復号化装置に関する。   The present disclosure relates generally to electronic circuits, and more particularly to a decoding device.

無線通信では、通信路のノイズ等に起因する誤りが発生する。そのような情報誤りに対する対策として、送信側で所定の規則に従った符号変換により冗長性の高い情報を生成して送信する。受信側では、受信情報にある程度の情報誤りが含まれていても、送信情報が上記の規則に従っているべきであるとの認識に基づいて復号処理を行なうことにより、誤りを訂正して正しい符号列を復元することができる。   In wireless communication, errors due to noise on the communication path occur. As a countermeasure against such an information error, information with high redundancy is generated and transmitted by code conversion according to a predetermined rule on the transmission side. On the receiving side, even if a certain amount of information error is included in the received information, the decoding process is performed based on the recognition that the transmission information should comply with the above rules, thereby correcting the error and correcting the error. Can be restored.

このような復号化技術として、畳み込み符号化された信号を最尤推定するビタビ復号処理がある。ビタビ復号処理では、ACS(Add, Compare, Select)処理とトレースバック処理とが実行される。この際、各時刻における内部状態と、ある時刻の内部状態から次の時刻の内部状態への遷移の経路を示すトレリス線図が用いられる。   As such a decoding technique, there is a Viterbi decoding process for maximum likelihood estimation of a convolutionally encoded signal. In the Viterbi decoding process, an ACS (Add, Compare, Select) process and a traceback process are executed. At this time, a trellis diagram showing the internal state at each time and the transition path from the internal state at a certain time to the internal state at the next time is used.

ACSでは、まずトレリス線図において、着目時刻Nの各内部状態から次の時刻N+1の内部状態に遷移する経路の各々と受信データとの距離を、枝メトリックとして計算する。この枝メトリックを、着目時刻Nに至る経路全体のパスメトリックに加算することで、次の時刻N+1に至る経路のパスメトリックを計算する。更に、時刻N+1の各内部状態について、同一内部状態に到達する2つの経路間でパスメトリックを比較して、メトリック値(距離)が小さいものを選択する。時刻N+1の各内部状態について、一時刻前から到達する2つの経路のうちの何れが選択されたかを示す1ビットの情報を割り当てておく。この1ビットの情報は、生き残りパスを示すデータであり、パスメモリに格納される。以上の処理を繰り返すことにより、初期時刻から最終時刻までの各内部状態に対して、生き残りパスデータがパスメモリに格納される。   In the ACS, first, in the trellis diagram, the distance between each path that transitions from each internal state at the time of interest N to the internal state at the next time N + 1 and the received data is calculated as a branch metric. By adding this branch metric to the path metric of the entire route up to the target time N, the path metric of the route up to the next time N + 1 is calculated. Further, for each internal state at time N + 1, path metrics are compared between two routes that reach the same internal state, and the one with a small metric value (distance) is selected. For each internal state at time N + 1, 1-bit information indicating which of the two paths reaching from one hour before is selected is assigned. This 1-bit information is data indicating a surviving path and is stored in the path memory. By repeating the above processing, surviving path data is stored in the path memory for each internal state from the initial time to the final time.

トレースバックでは、ACS処理により選択された経路を最終内部状態から前方にたどることにより、送信データを復元(復号)する。具体的には、着目時刻の着目内部状態に対応する生き残りパスデータをパスメモリから読み出す。読み出したデータが0であるか1であるかが、一時刻前に取り得る2つの内部状態のうちの何れが尤度の高いものであるかを示している。この読み出した生き残りパスデータに応じて、一時刻前の内部状態を確定する。この内部状態の確定により、当該時刻での復号結果が得られる。このパスメモリからのデータの読出し及び一時刻前の内部状態の確定を繰り返すことにより、受信データ全体が復号される。   In the traceback, the transmission data is restored (decoded) by following the path selected by the ACS process forward from the final internal state. Specifically, surviving path data corresponding to the target internal state at the target time is read from the path memory. Whether the read data is 0 or 1 indicates which of the two internal states that can be taken one hour before is the one with the highest likelihood. The internal state one hour before is determined according to the read surviving path data. By determining the internal state, a decoding result at the time is obtained. By repeating the reading of data from the path memory and the determination of the internal state one time ago, the entire received data is decoded.

このように従来のトレースバックにおいては、各時刻での復号処理において、毎回パスメモリからのデータの読出しを行なっている。そのように毎回メモリにアクセスするのでは効率が悪く、ビタビ復号処理の処理時間が長くなってしまう。   As described above, in the conventional traceback, data is read from the path memory every time in the decoding process at each time. Thus, accessing the memory every time is inefficient, and the processing time of the Viterbi decoding process becomes long.

特開平10−150369号公報JP-A-10-150369 特許3358996号公報Japanese Patent No. 3358996 特開平11−74800号公報JP-A-11-74800 特開2007−174561号公報JP 2007-174561 A

以上を鑑みると、ビタビ復号処理のトレースバックにおいてメモリアクセスの効率が高く、高速に復号化処理を実行できる復号化装置が望まれる。   In view of the above, there is a demand for a decoding device that has high memory access efficiency in traceback of Viterbi decoding processing and can execute decoding processing at high speed.

復号化装置は、着目時刻での内部状態を示すデータを格納する状態レジスタと、各時刻についての第1ビット数の生き残りパスデータを全時刻について格納したメモリから、前記着目時刻から所定の先行時刻迄の複数の時刻各々について前記第1ビット数よりも少ない第2ビット数の前記生き残りパスデータの部分データを前記状態レジスタの内容に応じて選択し、前記複数の時刻各々について前記部分データを読み出すメモリアクセスユニットと、前記複数の時刻のうち最後の時刻の前記部分データから前記状態レジスタの内容に応じて1ビットを選択するとともに、前記複数の時刻のうちの前記最後の時刻でない任意の時刻の前記部分データから1ビットを選択するビット選択処理においては、前記任意の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データと前記状態レジスタの内容とに応じてビット選択することにより、前記複数の時刻のそれぞれに対して前記部分データから1ビットを選択する演算部とを含み、前記演算部は、前記複数の時刻にそれぞれ対応して設けられた複数のセレクタを含み、前記複数の時刻のうちの前記最後の時刻でない任意の時刻の前記部分データから1ビットを選択するセレクタは、前記任意の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データから対応セレクタがそれぞれ選択した1ビットのセレクタ出力を入力として少なくとも用いてビット選択することを特徴とする。 The decoding apparatus includes a state register that stores data indicating an internal state at the time of interest, and a memory that stores surviving path data of the first bit number for each time for all times, and a predetermined preceding time from the time of interest. The partial data of the surviving path data having a second bit number smaller than the first bit number for each of the plurality of times until is selected according to the contents of the status register, and the partial data is read for each of the plurality of times One bit is selected according to the contents of the status register from the partial data at the last time among the plurality of times, and at any time that is not the last time among the plurality of times. In the bit selection process for selecting one bit from the partial data, the last time from the time after the arbitrary time is selected. An arithmetic unit that selects one bit from the partial data for each of the plurality of times by selecting bits according to the partial data at one or more times until the time and the contents of the status register; only containing, the arithmetic unit includes a plurality of selectors provided corresponding to said plurality of times, the 1 bit from the partial data at an arbitrary time is not the last time of the plurality of times The selector to select selects at least the 1-bit selector output respectively selected by the corresponding selector from the partial data at one or more times from the time following the arbitrary time to the last time as an input. characterized in that it.

本願開示の少なくとも1つの実施例によれば、複数の時刻に対して纏めて生き残りパスデータをメモリから読出してトレースバック処理を行なうので、メモリアクセスの効率の良い、高速な復号化処理を実現することができる。   According to at least one embodiment of the present disclosure, since survivor path data is read from a memory and trace back processing is performed for a plurality of times, a high-speed decoding process with high memory access efficiency is realized. be able to.

復号化装置の構成の一例を示す図である。It is a figure which shows an example of a structure of a decoding apparatus. トレリス線図を示す図である。It is a figure which shows a trellis diagram. 生き残りパスデータを説明するための図である。It is a figure for demonstrating survival path data. アドレス生成器の構成の一例を示す図である。It is a figure which shows an example of a structure of an address generator. メモリバンク内での生き残りパスデータの格納位置を示す図である。It is a figure which shows the storage position of the survival path data in a memory bank. メモリから読み出したデータのパッキングを示す図である。It is a figure which shows packing of the data read from the memory. トレースバックを実行する演算器の構成の一例を示す図である。It is a figure which shows an example of a structure of the calculator which performs a trace back. 演算器の各セレクタの動作を説明するための図である。It is a figure for demonstrating operation | movement of each selector of a calculating unit. 状態レジスタの更新動作について説明する図である。It is a figure explaining the update operation of a status register. 複数の時刻に対して纏めてトレースバック処理を行なう構成を種々の異なる時刻数に対して適用した場合の実行効率を示す図である。It is a figure which shows the execution efficiency at the time of applying the structure which collects a trace back process with respect to several time with respect to various different time numbers. アドレス生成器の構成の変形例を示す図である。It is a figure which shows the modification of a structure of an address generator. アドレス生成器の構成の更に別の一例を示す図である。It is a figure which shows another example of a structure of an address generator. 図12に示す汎用レジスタを状態レジスタとして用いた場合の演算器の入出力関係を示す図である。It is a figure which shows the input / output relationship of a computing unit at the time of using the general purpose register shown in FIG. 12 as a status register. 状態レジスタの更新動作について説明する図である。It is a figure explaining the update operation of a status register. OFDM受信機の構成の一例を示す図である。It is a figure which shows an example of a structure of an OFDM receiver.

以下に、本発明の実施例を添付の図面を用いて詳細に説明する。   Hereinafter, embodiments of the present invention will be described in detail with reference to the accompanying drawings.

図1は、復号化装置の構成の一例を示す図である。図1に示す復号化装置10は、命令ユニット11、レジスタファイル12、演算ユニット13、及びメモリアクセスユニット14を含む。復号化装置10は、生き残りパスデータを格納したメモリバンク20−1乃至20−4に接続される。   FIG. 1 is a diagram illustrating an example of a configuration of a decoding device. A decoding device 10 shown in FIG. 1 includes an instruction unit 11, a register file 12, an arithmetic unit 13, and a memory access unit 14. The decryption device 10 is connected to the memory banks 20-1 to 20-4 that store the surviving path data.

復号化装置10は、CPU(Central Processing Unit)等の処理装置と専用のハードウェアとを組み合わせて構成してよい。例えば命令ユニット11は、メモリから読み出した命令列をデコードして実行することにより、復号化装置10の各部に対する制御動作を行なう部分であり、CPUの処理実行部分に相当する。レジスタファイル12は、命令ユニット11が種々の処理を実行する際に使用するデータを格納する部分であり、CPUの汎用レジスタに相当する。演算ユニット13はビタビ演算器16を含み、所定の処理を行なうための専用のハードウェアに相当する。ビタビ演算器16は、本発明のトレースバック処理を実行するための演算器を少なくとも含み、更にACS処理を実行するための演算器を含んでよい。   The decoding device 10 may be configured by combining a processing device such as a CPU (Central Processing Unit) and dedicated hardware. For example, the instruction unit 11 is a part that performs a control operation on each part of the decoding apparatus 10 by decoding and executing an instruction sequence read from the memory, and corresponds to a process execution part of the CPU. The register file 12 is a part that stores data used when the instruction unit 11 executes various processes, and corresponds to a general-purpose register of the CPU. The arithmetic unit 13 includes a Viterbi arithmetic unit 16 and corresponds to dedicated hardware for performing predetermined processing. The Viterbi computing unit 16 includes at least a computing unit for executing the traceback processing of the present invention, and may further include a computing unit for executing the ACS processing.

メモリアクセスユニット14は、アドレス生成器17とパッキングユニット18とを含む。アドレス生成器17は、メモリバンク20−1乃至20−4の各々から所望の生き残りパスデータの部分データを選択的に読み出すための読出しアドレスを生成し、メモリバンク20−1乃至20−4のそれぞれに読出しアドレスを供給する。パッキングユニット18は、アドレス生成器17が生成した読出しアドレスに応じてメモリバンク20−1乃至20−4のそれぞれから読み出された生き残りパスデータの部分データを1つのデータに纏める。パッキングユニット18は、纏めた1つのデータをレジスタファイル12に供給する。   The memory access unit 14 includes an address generator 17 and a packing unit 18. The address generator 17 generates a read address for selectively reading partial data of desired survivor path data from each of the memory banks 20-1 to 20-4, and each of the memory banks 20-1 to 20-4. Is supplied with a read address. The packing unit 18 combines the partial data of the surviving path data read from each of the memory banks 20-1 to 20-4 in accordance with the read address generated by the address generator 17 into one data. The packing unit 18 supplies the collected data to the register file 12.

図2はトレリス線図を示す図である。図2において各○印は各時刻における内部状態に対応する。ここでいう内部状態とは、送信側の畳み込み符号化器の複数の内部レジスタの0又は1の状態に対応する。各時刻における内部状態の数が例えば256個であるとすると、各内部状態(図中の各○印)は32ビットのデータが示す1つのビットパターンに対応する。例えば“00000000”が1つの内部状態であり、“00000001”が別の内部状態となる。ある時刻(例えばN−2)の内部状態から次の時刻(N−1)の内部状態へ遷移する経路は、各内部状態に対して2つある。これは送信側で1ビットの送信データが符号化器に入力され、この入力1ビットにより内部状態が遷移する際に、入力1ビットの0又は1に対応して現在の内部状態から遷移する次の内部状態が2つあることを示している。またある時刻(例えばN−2)の内部状態に前の時刻(N−3)の内部状態から遷移する経路は、各内部状態に対して2つある。これは送信側の符号化器への1ビットの送信データ入力に伴い1ビットの送信データが追い出されて内部状態が遷移する際に、追い出される1ビットの0又は1に対応して現在の内部状態に至る遷移前の内部状態が2つあることを示している。   FIG. 2 is a diagram showing a trellis diagram. In FIG. 2, each ◯ mark corresponds to the internal state at each time. The internal state here corresponds to the state of 0 or 1 in a plurality of internal registers of the convolutional encoder on the transmission side. If the number of internal states at each time is, for example, 256, each internal state (each circle mark in the figure) corresponds to one bit pattern indicated by 32-bit data. For example, “00000000” is one internal state, and “00000001” is another internal state. There are two paths for each internal state to transition from the internal state at a certain time (for example, N-2) to the internal state at the next time (N-1). This is because when 1-bit transmission data is input to the encoder on the transmission side and the internal state transitions by this 1-bit input, the next transition from the current internal state corresponds to 0 or 1 of the input 1-bit. It shows that there are two internal states. Further, there are two paths for each internal state to transition from the internal state at the previous time (N-3) to the internal state at a certain time (for example, N-2). This is because when 1-bit transmission data is evicted and the internal state transitions in response to 1-bit transmission data input to the encoder on the transmission side, the current internal state corresponds to 0 or 1 of 1-bit to be evicted. It shows that there are two internal states before the transition to the state.

前述のACSの処理により、各時刻の各内部状態について、一時刻前から到達する2つの経路のうちの何れが選択されたかを示す1ビットの情報を割り当てる。この1ビットの情報は、生き残りパスを示すデータである。   Through the above-described ACS processing, 1-bit information indicating which of the two routes reaching from one hour ago is selected for each internal state at each time. This 1-bit information is data indicating a surviving path.

図3は、生き残りパスデータを説明するための図である。時刻N−2乃至Nに対して内部状態30乃至36が示されている。図示を見やすくするために、他の内部状態を示す○印の図示を省略してある。各内部状態の○印の内部に示す0又は1の値が、その内部状態の生き残りパスデータである。また、各内部状態に至る2つの経路は生き残りパスデータの値に対応付けられており、上側の経路が0に対応付けられ、下側の経路が1に対応付けられている。ACSの処理により各時刻の各内部状態について生き残りパスデータが割り当てられると、トレースバック処理により尤もらしい経路を前方に辿っていく。   FIG. 3 is a diagram for explaining survival path data. Internal states 30 through 36 are shown for times N-2 through N. In order to make the illustration easy to see, the circles indicating other internal states are not shown. A value of 0 or 1 shown inside the circle of each internal state is the surviving path data of the internal state. Also, the two routes leading to each internal state are associated with the surviving path data value, the upper route is associated with 0, and the lower route is associated with 1. When surviving path data is assigned to each internal state at each time by the ACS process, the likely path is traced forward by the traceback process.

図3の例において、時刻Nの内部状態30から尤もらしい経路を前方に辿る場合を考える。まず時刻Nの内部状態30の生き残りパスデータを参照する。この生き残りパスデータの値は0である。従って、内部状態30に至る2つの経路のうちで上側の経路が生き残り経路であり、内部状態30へ遷移する元である時刻N−1の内部状態としては内部状態31が尤もらしい。従って次に、時刻N−1の内部状態31の生き残りパスデータを参照する。この生き残りパスデータの値は1である。従って、内部状態31に至る2つの経路のうちで下側の経路が生き残り経路であり、内部状態31へ遷移する元である時刻N−2の内部状態としては内部状態34が尤もらしい。このようにして、図3に太線で示すような最尤経路が見つけられる。   In the example of FIG. 3, consider a case where a plausible route is traced forward from the internal state 30 at time N. First, the surviving path data of the internal state 30 at time N is referred to. The value of this surviving path data is zero. Therefore, the upper path of the two paths leading to the internal state 30 is the surviving path, and the internal state 31 is likely to be the internal state at the time N−1 that is the source of transition to the internal state 30. Therefore, next, the surviving path data of the internal state 31 at time N-1 is referred to. The value of this surviving path data is 1. Therefore, the lower path of the two paths reaching the internal state 31 is the surviving path, and the internal state 34 is likely to be the internal state at the time N-2 from which the transition to the internal state 31 is made. In this way, the maximum likelihood path as shown by the thick line in FIG. 3 is found.

図2に戻り、時刻Nにおいて、ハッチングされた内部状態25から尤もらしい経路を前方に辿る場合を考える。この場合、時刻N−1の内部状態のうちで、時刻Nの内部状態25に遷移可能な内部状態は、時刻N−1においてハッチングされた2つの内部状態である。また時刻N−2の内部状態のうちで、時刻Nの内部状態25に最終的に到達可能な内部状態は、時刻N−2においてハッチングされた4つの内部状態である。更に同様に、時刻N−3の内部状態のうちで、時刻Nの内部状態25に最終的に到達可能な内部状態は、時刻N−3においてハッチングされた8つの内部状態である。   Returning to FIG. 2, consider a case where a likely route is traced forward from the hatched internal state 25 at time N. In this case, of the internal states at time N-1, the internal states that can transition to the internal state 25 at time N are the two internal states hatched at time N-1. Among the internal states at time N-2, the internal states that can finally reach the internal state 25 at time N are the four internal states hatched at time N-2. Further, among the internal states at time N-3, the internal states that can finally reach the internal state 25 at time N are the eight internal states that are hatched at time N-3.

従って、時刻Nの内部状態25からトレースバックする際に、時刻Nの内部状態25の生き残りパスデータの値を参照しなくとも、1つ前の時刻N−1についてトレースバック処理に必要になる可能性のある生き残りパスデータの数は限られている。即ち、時刻N−1について、トレースバック処理に必要になる可能性のある生き残りパスデータは、時刻N−1においてハッチングされた2つの内部状態の生き残りパスデータである。同様に、2つ前の時刻N−2についてトレースバック処理に必要になる可能性のある生き残りパスデータの数は限られている。即ち、時刻N−2について、トレースバック処理に必要になる可能性のある生き残りパスデータは、時刻N−2においてハッチングされた4つの内部状態の生き残りパスデータである。更に同様に、時刻N−3について、トレースバック処理に必要になる可能性のある生き残りパスデータは、時刻N−3においてハッチングされた8つの内部状態の生き残りパスデータである。   Therefore, when tracing back from the internal state 25 at time N, it may be necessary for the traceback process for the previous time N−1 without referring to the value of the surviving path data in the internal state 25 at time N. The number of viable survivor path data is limited. That is, the surviving path data that may be necessary for the traceback process at time N-1 is surviving path data in the two internal states hatched at time N-1. Similarly, the number of surviving path data that may be required for the traceback process for the previous time N-2 is limited. That is, the surviving path data that may be necessary for the traceback process at time N-2 is surviving path data in the four internal states hatched at time N-2. Further, similarly, for the time N-3, the surviving path data that may be necessary for the traceback processing is the surviving path data in the eight internal states hatched at the time N-3.

トレースバック処理の各時刻において一時刻前の生き残りパスデータを毎回逐一メモリから読み出すことなく、着目時刻に先行する複数の時刻分の生き残りパスデータを纏めて読み出すことを考える。例えば内部状態数が256の場合、生き残りパスデータは各時刻につき256ビットある。従って、トレースバック処理に必要になる可能性のある生き残りパスデータの数が限られていることを考慮せずに着目時刻に先行する複数の時刻分の全ての生き残りパスデータを纏めて読み出すことは、バス幅等を考慮すると現実的に不可能である。しかしながら、図2に示すように、トレースバック処理に必要になる可能性のある生き残りパスデータは限定されている。これを考慮することにより、トレースバック処理に必要になる可能性のある生き残りパスデータを複数の時刻分纏めて読み出しておくことができる。これは、読出し対象のデータのビット幅が比較的小さい(例えば時刻N−3に対する読出し対象のデータのビット幅は8)ために可能になることである。   Let us consider reading the surviving path data for a plurality of times preceding the time of interest collectively without reading the surviving path data one hour before from the memory every time at the time of the traceback process. For example, if the number of internal states is 256, the surviving path data has 256 bits at each time. Therefore, it is not possible to read all the surviving path data for a plurality of times preceding the target time without considering that the number of surviving path data that may be necessary for the traceback process is limited. Considering the bus width etc., it is practically impossible. However, as shown in FIG. 2, the survivor path data that may be required for the traceback process is limited. By taking this into consideration, survivor path data that may be necessary for the traceback process can be read out collectively for a plurality of times. This is possible because the bit width of the data to be read is relatively small (for example, the bit width of the data to be read at time N-3 is 8).

図1に示す復号化装置10は、4つのメモリバンク20−1乃至20−4に接続されている。これは、着目時刻から3つ前の先行時刻迄の4つの時刻の生き残りパスデータを纏めて読み出す場合に相当する。例えば、着目時刻から1つ前の先行時刻迄の2つの時刻の生き残りパスデータを纏めて読み出す場合には、メモリバンクの数は2つであってよい。同様に、着目時刻から7つ前の先行時刻迄の8つの時刻の生き残りパスデータを纏めて読み出す場合には、メモリバンクの数は8つであってよい。本発明は、纏めて読み出す生き残りパスデータの数、即ち纏めて生き残りパスデータを読み出す対象の時刻の数は、特定の数に限られるものではない。   The decoding device 10 shown in FIG. 1 is connected to four memory banks 20-1 to 20-4. This corresponds to a case where the surviving path data at four times from the time of interest to the previous preceding time three times are read together. For example, when the surviving path data at two times from the time of interest to the previous preceding time are read together, the number of memory banks may be two. Similarly, in the case where the surviving path data at eight times from the time of interest to the seven preceding preceding time are read together, the number of memory banks may be eight. In the present invention, the number of surviving path data to be read collectively, that is, the number of times to read the surviving path data collectively is not limited to a specific number.

図4は、アドレス生成器17の構成の一例を示す図である。アドレス生成器17は、アドレス結線部41及びアドレスバッファ42−1乃至42−4を含む。汎用レジスタ12A及び12Bは、図1のレジスタファイル12内部の汎用レジスタであってよい。汎用レジスタ12Aは、メモリ空間上で各時刻の生き残りパスデータが格納されている領域の開始アドレスをベースアドレスとして格納する。この汎用レジスタ12Aのベースアドレスは、処理対象時刻に応じて適宜カウントアップ或いはカウントダウンされる。汎用レジスタ12Bは、着目時刻での内部状態を示すデータを格納する状態レジスタとして機能する。例えば、図2において着目時刻Nの内部状態25から前方に経路を辿る場合、内部状態25のビットパターンが汎用レジスタ12Bに格納される。この例では、内部状態は8ビットであり、各時刻について256個の内部状態が存在することになる。なお内部状態の数は256に限定されるものではなく、任意の数の内部状態であってよい。状態レジスタのビット数は、その内部状態の数に応じた数になる。   FIG. 4 is a diagram illustrating an example of the configuration of the address generator 17. The address generator 17 includes an address connection unit 41 and address buffers 42-1 to 42-4. The general purpose registers 12A and 12B may be general purpose registers in the register file 12 of FIG. The general-purpose register 12A stores, as a base address, the start address of an area where surviving path data at each time is stored in the memory space. The base address of the general-purpose register 12A is counted up or down as appropriate according to the processing target time. The general-purpose register 12B functions as a state register that stores data indicating the internal state at the time of interest. For example, in FIG. 2, when the path is traced forward from the internal state 25 at the time of interest N, the bit pattern of the internal state 25 is stored in the general-purpose register 12B. In this example, the internal state is 8 bits, and there are 256 internal states for each time. Note that the number of internal states is not limited to 256, and may be any number of internal states. The number of bits in the status register is a number corresponding to the number of internal states.

アドレス結線部41は、汎用レジスタ12Bに格納される8ビットのデータ“abcdefgh”のうちで、所定の5ビットをそれぞれのアドレスバッファ42−1乃至42−4に下位5ビットとして供給する。またアドレス結線部41は更に、汎用レジスタ12Aに格納されるベースアドレスをそれぞれのアドレスバッファ42−1乃至42−4に上位ビットして供給する。   The address connection unit 41 supplies predetermined 5 bits among the 8-bit data “abcdefgh” stored in the general-purpose register 12B to the address buffers 42-1 to 42-4 as lower 5 bits. The address connection unit 41 further supplies the base address stored in the general-purpose register 12A as upper bits to the address buffers 42-1 to 42-4.

具体的には、8ビットのデータ“abcdefgh”のうちの“abcde”がアドレスバッファ42−1に下位5ビットとして供給される。また8ビットのデータ“abcdefgh”のうちの“bcdef”がアドレスバッファ42−2に下位5ビットとして供給される。また8ビットのデータ“abcdefgh”のうちの“cdefg”がアドレスバッファ42−3に下位5ビットとして供給される。更に、8ビットのデータ“abcdefgh”のうちの“defgh”がアドレスバッファ42−4に下位5ビットとして供給される。ここでアドレスバッファ42−1の格納アドレスards_4k−0は、着目時刻の生き残りパスデータを読み出すアドレスである。アドレスバッファ42−2の格納アドレスards_4k−1は、着目時刻の1つ前の時刻の生き残りパスデータを読み出すアドレスである。アドレスバッファ42−3の格納アドレスards_4k−2は、着目時刻の2つ前の時刻の生き残りパスデータを読み出すアドレスである。アドレスバッファ42−4の格納アドレスards_4k−3は、着目時刻の3つ前の時刻の生き残りパスデータを読み出すアドレスである。   Specifically, “abcde” of the 8-bit data “abcdefgh” is supplied to the address buffer 42-1 as the lower 5 bits. Also, “bcdef” of the 8-bit data “abcdefgh” is supplied to the address buffer 42-2 as the lower 5 bits. Also, “cdefg” of the 8-bit data “abcdefgh” is supplied to the address buffer 42-3 as the lower 5 bits. Further, “defgh” of the 8-bit data “abcdefgh” is supplied to the address buffer 42-4 as the lower 5 bits. Here, the storage address ards_4k-0 of the address buffer 42-1 is an address for reading surviving path data at the time of interest. The storage address ards_4k-1 of the address buffer 42-2 is an address for reading the surviving path data at the time immediately before the time of interest. The storage address ards_4k-2 of the address buffer 42-3 is an address for reading the surviving path data at the time two times before the time of interest. The storage address ards_4k-3 of the address buffer 42-4 is an address for reading surviving path data at a time three times before the time of interest.

上記のアドレスバッファ42−1乃至42−4の下位5ビットにより、それぞれの時刻の256ビットの生き残りパスデータから1バイト(8ビット幅の部分データ)を選択する。即ち、256ビットの生き残りパスデータを32個の1バイトデータとして考えた場合に、5ビットのアドレスにより32バイトのうちの1バイトを選択する。図2から分かるように、ある着目時刻のある内部状態に着目した場合に、その着目内部状態に遷移可能な直前の時刻の内部状態の位置は、当該着目内部状態の位置に依存する。従って、着目内部状態の位置の情報から、そこに遷移可能な直前の時刻の内部状態の位置を特定することができる。同様に、着目内部状態の位置の情報から、そこに遷移可能な2つ前の時刻の内部状態の位置を特定することができる。更に、3つ前の時刻の内部状態の位置も特定することができる。このような位置の依存関係は、時刻に関わらず一定である。このような依存関係があるために、着目時刻の着目内部状態の位置を示す内部状態のビットパターン“abcdefgh”に基づいて、着目時刻の着目内部状態に遷移可能な内部状態を特定することができる。即ち、トレースバック処理に必要になる可能性のある生き残りパスデータのメモリ内部での位置を特定することができる。   One byte (8-bit partial data) is selected from the 256-bit surviving path data at each time by the lower 5 bits of the address buffers 42-1 to 42-4. That is, when 256-bit surviving path data is considered as 32 pieces of 1-byte data, 1 byte of 32 bytes is selected by a 5-bit address. As can be seen from FIG. 2, when attention is paid to an internal state having a certain time of interest, the position of the internal state immediately before the transition to the target internal state depends on the position of the target internal state. Therefore, the position of the internal state at the time immediately before the transition to the target internal state can be specified from the position information of the internal state of interest. Similarly, from the information on the position of the target internal state, it is possible to specify the position of the internal state at the time two times before that can be shifted to that. Furthermore, the position of the internal state at the previous three times can also be specified. Such position dependency is constant regardless of time. Since there is such a dependency relationship, it is possible to identify an internal state that can transition to the target internal state at the target time based on the bit pattern “abcdefgh” of the internal state indicating the position of the target internal state at the target time. . That is, it is possible to specify the position of the surviving path data that may be necessary for the traceback processing within the memory.

図5は、メモリバンク20−1乃至20−4内での生き残りパスデータの格納位置を示す図である。図5において0,1,2,3,・・・,4k−3,4k−2,4k−1,4kの各数字を記した欄は、それぞれ時刻0,1,2,3,・・・,4k−3,4k−2,4k−1,4kの各時刻における生き残りパスデータの256ビットの塊を示す。全部でN+1個の時刻であれば、0,1,2,3,・・・,4k−3,4k−2,4k−1,4kは時刻0〜Nに対応する。図5では、各メモリバンクにおいて4時刻おきにデータが格納されていることを明示するために、kを変数としてその4倍である4kを用いた表記としてある。   FIG. 5 is a diagram showing the storage position of the surviving path data in the memory banks 20-1 to 20-4. .., 4k-3, 4k-2, 4k-1, and 4k are shown in the columns of time 0, 1, 2, 3,. , 4k-3, 4k-2, 4k-1, 4k, the 256-bit chunk of the surviving path data. If there are a total of N + 1 times, 0, 1, 2, 3,..., 4k-3, 4k-2, 4k-1, 4k correspond to times 0-N. In FIG. 5, in order to clearly indicate that data is stored every four times in each memory bank, 4 k that is four times the variable is used as a variable.

このように、メモリバンク20−1乃至20−4は、各時刻についての第1ビット数(例えば256ビット)の生き残りパスデータを全時刻について格納してある。メモリアクセスユニット14のアドレス生成器17は、着目時刻から所定の先行時刻迄の複数の時刻各々について第1ビット数よりも少ない第2ビット数(例えば8ビット)の生き残りパスデータの部分データを状態レジスタ12Bの内容に応じて選択する。即ち、図4に示すようなアドレス生成により、8ビットデータ(バイトデータ)を選択する。複数の時刻各々(例えば着目時刻、一時刻前、二時刻前、三時刻前)について、このようにして選択された部分データが、メモリバンク20−1乃至20−4のそれぞれから並行して読み出される。   Thus, the memory banks 20-1 to 20-4 store the surviving path data of the first bit number (for example, 256 bits) for each time for all times. The address generator 17 of the memory access unit 14 states the partial data of the surviving path data having a second bit number (for example, 8 bits) smaller than the first bit number for each of a plurality of times from the time of interest to a predetermined preceding time. The selection is made according to the contents of the register 12B. That is, 8-bit data (byte data) is selected by address generation as shown in FIG. The partial data selected in this way is read out in parallel from each of the memory banks 20-1 to 20-4 for each of a plurality of times (for example, the time of interest, one hour before, two hours before, three times before). It is.

図6は、メモリから読み出したデータのパッキングを示す図である。図6において、図
1乃至5と同一の構成要素は同一の番号で参照し、その説明は省略する。図1に示すパッキングユニット18は、メモリバンク20−1乃至20−4のそれぞれから並行して読み出されたそれぞれ8ビットのデータを纏めて1つの32ビットのデータを生成し、レジスタファイル12にこの32ビットのデータを供給する。この32ビットのデータを格納するレジスタファイル12中の汎用レジスタ12Cを、以下において、パックト・パスメモリPPMと呼ぶ。
FIG. 6 is a diagram illustrating packing of data read from the memory. In FIG. 6, the same components as those in FIGS. 1 to 5 are referred to by the same numerals, and a description thereof will be omitted. The packing unit 18 shown in FIG. 1 collects 8-bit data read in parallel from each of the memory banks 20-1 to 20-4, generates one 32-bit data, and stores it in the register file 12. This 32-bit data is supplied. Hereinafter, the general-purpose register 12C in the register file 12 that stores 32-bit data is referred to as a packed path memory PPM.

図7は、トレースバックを実行する演算器の構成の一例を示す図である。図7に示す演算器51は、図1に示すビタビ演算器16に含まれてよい。演算器51は、状態レジスタである汎用レジスタ12B(その内容を配列データstate[7:0]として示す)の格納データの下位3ビットとパックト・パスメモリ12Cの格納データとを入力とする。演算器51は、パックト・パスメモリ12Cの格納データから選択した生き残りパスデータを、演算結果として汎用レジスタ12Dに出力する。   FIG. 7 is a diagram illustrating an example of a configuration of an arithmetic unit that executes traceback. The computing unit 51 shown in FIG. 7 may be included in the Viterbi computing unit 16 shown in FIG. The computing unit 51 receives the lower 3 bits of the stored data of the general-purpose register 12B which is a status register (the contents of which are shown as array data state [7: 0]) and the stored data of the packed path memory 12C. The computing unit 51 outputs the surviving path data selected from the stored data in the packed path memory 12C to the general-purpose register 12D as the computation result.

前述のように、パックト・パスメモリ12Cには、複数の時刻各々(この例では着目時刻、一時刻前、二時刻前、三時刻前)について、部分データ(8ビットの生き残りパスデータ)が4つ格納されている。演算器51は、セレクタ(マルチプレクサ)52乃至55を含む。セレクタ52は、上記複数の時刻のうち最後の時刻(着目時刻)の部分データ(1バイトデータ)から状態レジスタ12Bの内容に応じて1ビットを選択する。セレクタ53乃至55は、上記複数の時刻のうちの最後の時刻でない任意の時刻の部分データ(1バイトデータ)から1ビットを選択するビット選択処理を行なう。このビット選択処理においては、前記任意の時刻の次の時刻から最後の時刻までの1つ又は複数の時刻の部分データ(1バイトデータ)と状態レジスタ12Bの内容とに応じて、ビット選択する。これにより、上記複数の時刻のそれぞれに対して生き残りパスデータの部分データから1ビットを選択する。   As described above, the packed path memory 12C has 4 partial data (8-bit surviving path data) for each of a plurality of times (in this example, the time of interest, one hour before, two hours before, and three times before). Is stored. The computing unit 51 includes selectors (multiplexers) 52 to 55. The selector 52 selects 1 bit according to the contents of the status register 12B from the partial data (1 byte data) at the last time (time of interest) among the plurality of times. The selectors 53 to 55 perform bit selection processing for selecting one bit from partial data (1 byte data) at an arbitrary time that is not the last time among the plurality of times. In this bit selection process, bit selection is performed in accordance with partial data (one byte data) at one or more times from the next time to the last time of the arbitrary time and the contents of the status register 12B. Thereby, one bit is selected from the partial data of the surviving path data for each of the plurality of times.

図8は、演算器51の各セレクタの動作を説明するための図である。図8において、図7と同一の構成要素は同一の番号で参照する。パックト・パスメモリ12Cの例えば下位8ビットには、現在時刻4kの生き残りパスデータの部分データ“01010010”が格納されている。セレクタ52は、この部分データ“01010010”から、状態レジスタの内容の下位3ビット“fgh”の値に基づいて、濃くハッチングされたビット“0”を選択する。具体的には、“fgh”が“010”であるので、最下位ビットをb0として2番目のビットb2が選択される。これは、状態レジスタの内容“abcdefgh”のうち、上位5ビット“abcde”により256ビット中の32バイトのうちの1バイトを選択し、残りの3ビット“fgh”により1バイト中の1ビットを選択していることに相当する。   FIG. 8 is a diagram for explaining the operation of each selector of the computing unit 51. In FIG. 8, the same components as those of FIG. 7 are referred to by the same numerals. For example, in the lower 8 bits of the packed path memory 12C, the partial data “0101010010” of the surviving path data at the current time 4k is stored. The selector 52 selects the darkly hatched bit “0” from the partial data “01010010” based on the value of the lower 3 bits “fgh” of the contents of the status register. Specifically, since “fgh” is “010”, the least significant bit is b0, and the second bit b2 is selected. This means that one of the 32 bytes out of 256 bits is selected by the upper 5 bits “abcde” in the contents “abcdefgh” of the status register, and 1 bit in 1 byte is selected by the remaining 3 bits “fgh”. It corresponds to the selection.

セレクタ53乃至55は、時刻4k−3乃至4kのうちの最後の時刻4kでない時刻の部分データから1ビットを選択する際に、その時刻の次の時刻から最後の時刻4kまでの1つ又は複数の時刻の部分データからそれぞれ選択した1ビットを少なくとも用いる。以下にこれを説明する。   When the selectors 53 to 55 select one bit from partial data at a time other than the last time 4k among the times 4k-3 to 4k, one or a plurality of selectors 53 to 55 from the next time to the last time 4k are selected. At least one bit selected from the partial data at the time is used. This will be described below.

セレクタ53は、セレクタ53A及び53Bを含む。パックト・パスメモリ12Cの例えば下から2番目の8ビットには、現在時刻から一時刻前4k−1の生き残りパスデータの部分データ“11011001”が格納されている。セレクタ53Aは、この部分データ“11011001”から、セレクタ52が選択した1ビット“0”の値に応じて、0,2,4,6番目のビットb0,b2,b4,b6を選択する。またセレクタ53Bは、状態レジスタの内容の下位2ビット“gh”に応じて、ビットb0,b2,b4,b6のうちのビットb4を選択する。即ち、“gh”が“10”であるので、ビットb0,b2,b4,b6の並びのうちで、最下位ビットb0を0番目として下から2番目のビットb4を選択する。このビットb4は、濃くハッチングされたビット“1”である。   The selector 53 includes selectors 53A and 53B. In the packed path memory 12C, for example, the second 8 bits from the bottom store the partial data “11101001” of the surviving path data 4k−1 one hour before the current time. The selector 53A selects the 0th, 2nd, 4th, and 6th bits b0, b2, b4, and b6 from the partial data “11101001” according to the value of the 1 bit “0” selected by the selector 52. The selector 53B selects the bit b4 among the bits b0, b2, b4, and b6 according to the lower 2 bits “gh” of the contents of the status register. That is, since “gh” is “10”, the least significant bit b0 is set to 0th in the arrangement of bits b0, b2, b4, and b6, and the second bit b4 from the bottom is selected. The bit b4 is a bit “1” that is deeply hatched.

セレクタ54は、セレクタ54A乃至54Cを含む。パックト・パスメモリ12Cの例えば下から3番目の8ビットには、現在時刻から二時刻前4k−2の生き残りパスデータの部分データ“11000001”が格納されている。セレクタ54Aは、この部分データ“11000001”から、セレクタ52が選択した1ビット“0”の値に応じて、0,1,4,5番目のビットb0,b1,b4,b5を選択する。またセレクタ54Bは、セレクタ53が選択した1ビット“1”の値に応じて、ビットb0,b1,b4,b5からb1,b5を選択する。更に、セレクタ54Cは、状態レジスタの内容の最下位ビット“h”に応じて、ビットb1,b5のうちのビットb1を選択する。即ち、“h”が“0”であるので、ビットb1,b5の並びのうちで、下から0番目のビットb1を選択する。このビットb1は、濃くハッチングされたビット“0”である。   The selector 54 includes selectors 54A to 54C. For example, the third 8 bits from the bottom of the packed path memory 12C store the partial data “110000001” of the surviving path data 4k-2 two hours before the current time. The selector 54A selects the 0th, 1st, 4th, and 5th bits b0, b1, b4, and b5 from the partial data “11000001” according to the value of 1 bit “0” selected by the selector 52. The selector 54B selects bits b0, b1, b4, b5 from b1, b5 according to the value of 1 bit “1” selected by the selector 53. Further, the selector 54C selects the bit b1 of the bits b1 and b5 according to the least significant bit “h” of the contents of the status register. That is, since “h” is “0”, the 0th bit b1 from the bottom is selected in the sequence of bits b1 and b5. The bit b1 is a deeply hatched bit “0”.

以上のセレクタ53及び54の処理が、最後の時刻kでなく且つ最初の時刻4k−3でない任意の時刻の部分データから1ビットを選択するビット選択処理である。このビット選択処理では、ビット選択対象の時刻の次の時刻から最後の時刻までの1つ又は複数の時刻の部分データからそれぞれ選択した1ビットと状態レジスタの内容とに応じてビット選択する。   The above-described processing of the selectors 53 and 54 is bit selection processing for selecting one bit from partial data at an arbitrary time that is not the last time k and is not the first time 4k-3. In this bit selection process, bit selection is performed in accordance with one bit selected from partial data at one or more times from the next time to the last time of the bit selection target time and the contents of the status register.

また更に、複数の時刻のうちの最初の時刻の部分データから1ビットを選択するビット選択処理について以下に説明する。このビット選択処理では、最初の時刻4k−3の次の時刻4k−2から最後の時刻4kまでの1つ又は複数の時刻の部分データからそれぞれ選択した1ビットに応じてビット選択する。セレクタ55は、セレクタ55A乃至55Cを含む。パックト・パスメモリ12Cの例えば下から4番目の8ビットには、現在時刻から三時刻前4k−3の生き残りパスデータの部分データ“11100101”が格納されている。セレクタ55Aは、この部分データ“11100101”から、セレクタ52が選択した1ビット“0”の値に応じて、0,1,2,3番目のビットb0,b1,b2,b3を選択する。またセレクタ55Bは、セレクタ53が選択した1ビット“1”の値に応じて、ビットb0,b1,b2,b3からb2,b3を選択する。更に、セレクタ55Cは、セレクタ54が選択した1ビット“0”の値に応じて、ビットb2,b3からb2を選択する。このビットb2は、濃くハッチングされたビット“0”である。   Furthermore, a bit selection process for selecting one bit from partial data at the first time among a plurality of times will be described below. In this bit selection process, bit selection is performed according to one bit selected from partial data at one or a plurality of times from the next time 4k-2 to the last time 4k after the first time 4k-3. The selector 55 includes selectors 55A to 55C. For example, the fourth 8 bits from the bottom of the packed path memory 12C store the partial data “11100101” of the surviving path data 4k-3 three times before the current time. The selector 55A selects the 0th, 1st, 2nd, and 3rd bits b0, b1, b2, and b3 from the partial data “11100101” according to the value of the 1 bit “0” selected by the selector 52. The selector 55B selects bits b0, b1, b2, and b3 to b2 and b3 according to the value of 1 bit “1” selected by the selector 53. Further, the selector 55C selects bits b2 to b2 according to the value of 1 bit “0” selected by the selector 54. The bit b2 is a bit “0” that is darkly hatched.

上記のようにして、生き残りパスデータ0,1,0,1が順次選択されて、復号データ“ijkl”となる。この復号データ“ijkl”は、図7に示すように汎用レジスタ12Dに格納される。以下に説明するように、データ“ijkl”により、現在の状態レジスタの内容“abcdefgh”を更新する。   As described above, the surviving path data 0, 1, 0, 1 are sequentially selected to become decoded data “ijkl”. The decoded data “ijkl” is stored in the general-purpose register 12D as shown in FIG. As described below, the contents “abcdefgh” of the current status register is updated with the data “ijkl”.

図9は、状態レジスタの更新動作について説明する図である。時刻4k−3乃至4kに対して復号化処理(トレースバック処理)が終了すると、次の時刻4(k−1)−3乃至4(k−1)に対して復号化処理(トレースバック処理)を実行する。この際、時刻4(k−1)が着目時刻となるが、この着目時刻の最尤内部状態を求めておく必要がある。図2のトレリス線図の例では、各時刻の内部状態数が16であり、内部状態は4ビットである。図の一番上の内部状態が“0000”であり、一番下の内部状態が“1111”であり、その間は上から下に2進数の値が1つずつ増加するように内部状態が並んでいる。このトレリス線図の遷移パターンを検討すると以下のことが分かる。ある内部状態から前方に辿るときに上側の経路(“0”)を選択すると、内部状態の4ビットのビットパターンを左に1ビットシフト(2倍)して、最下位ビットに“0”を挿入した下位4ビットの値が一時刻前の内部状態となっている。また内部状態から前方に辿るときに下側の経路(“1”)を選択すると、内部状態の4ビットのビットパターンを左に1ビットシフト(2倍)して、最下位ビットに“1”を挿入した4ビットの値が一時刻前の内部状態となっている。ここで上側の経路の“0”及び下側の経路の“1”の値は、選択した1ビットの生き残りパスデータの値である。従って、時刻4(k−1)の内部状態は、元の内部状態“abcdefgh”を4ビット左にシフトして下位4ビットに復号データ“ijkl”を挿入して得られる“efghijkl”である。   FIG. 9 is a diagram for explaining the update operation of the status register. When the decoding process (traceback process) is completed for the times 4k-3 to 4k, the decoding process (traceback process) is performed for the next times 4 (k-1) -3 to 4 (k-1). Execute. At this time, the time 4 (k−1) is the time of interest, but it is necessary to obtain the maximum likelihood internal state of this time of interest. In the example of the trellis diagram of FIG. 2, the number of internal states at each time is 16, and the internal state is 4 bits. In the figure, the internal state at the top is “0000”, the internal state at the bottom is “1111”, and the internal states are arranged so that the binary value increases from top to bottom in the meantime. It is out. Examining the transition pattern of this trellis diagram reveals the following. If the upper path (“0”) is selected when tracing forward from a certain internal state, the 4-bit bit pattern of the internal state is shifted 1 bit to the left (doubled), and the lowest bit is set to “0”. The value of the inserted lower 4 bits is the internal state one hour before. If the lower path ("1") is selected when tracing forward from the internal state, the 4-bit bit pattern of the internal state is shifted 1 bit to the left (doubled), and the lowest bit is "1". The 4-bit value with inserted is the internal state one hour before. Here, the values of “0” in the upper path and “1” in the lower path are the values of the selected 1-bit survivor path data. Therefore, the internal state at time 4 (k−1) is “efghijkl” obtained by shifting the original internal state “abcdefgh” to the left by 4 bits and inserting the decoded data “ijkl” into the lower 4 bits.

図9において、汎用レジスタ12Dには、演算器51で演算した復号データ“ijkl”が格納されている。まず状態レジスタである汎用レジスタ12Bの内容“abcdefgh”を4ビット左にシフトして“efgh0000”にする。次に汎用レジスタ12Bの内容“efgh0000”と汎用レジスタ12Dの内容“0000ijkl”とのOR演算を実行し、状態レジスタである汎用レジスタ12Bの内容を“efghijkl”に更新する。このビットシフト処理とOR処理とは、図1の命令ユニット11により、通常のCPUのシフト命令及び演算命令等として実行してよい。この場合、ビットシフト処理とOR処理とにそれぞれ1サイクルかかり、状態レジスタ更新全体では合計2サイクルかかることになる。   In FIG. 9, the general-purpose register 12D stores the decoded data “ijkl” calculated by the calculator 51. First, the contents “abcdefgh” of the general-purpose register 12B, which is a status register, are shifted to the left by 4 bits to become “efgh0000”. Next, an OR operation is performed on the contents “efgh0000” of the general-purpose register 12B and the contents “0000ijkl” of the general-purpose register 12D to update the contents of the general-purpose register 12B, which is a status register, to “efghijkl”. The bit shift process and the OR process may be executed as a normal CPU shift instruction and arithmetic instruction by the instruction unit 11 of FIG. In this case, the bit shift process and the OR process each take one cycle, and the entire status register update takes two cycles in total.

従来の構成では、各時刻のトレースバック処理について、メモリ読出しに1サイクル、状態レジスタ更新に2サイクルかかり、合計で3サイクル必要とする。従って、4つの時刻についてトレースバック処理すると、12サイクルかかることになる。それに対して上記説明した複数の時刻に対して纏めてトレースバック処理を行なう構成では、メモリ読出しに1サイクル、復号演算(図8のビット選択処理)に1サイクル、状態レジスタ更新に2サイクルかかり、合計で4サイクルかかることになる。従って、従来の12サイクルが4サイクルに短縮され、大幅なスピード向上を実現することができる。   In the conventional configuration, the traceback processing at each time requires one cycle for reading the memory and two cycles for updating the status register, which requires three cycles in total. Therefore, if the traceback process is performed for four times, it takes 12 cycles. On the other hand, in the configuration in which the traceback processing is performed collectively for the plurality of times described above, it takes 1 cycle for memory reading, 1 cycle for decoding operation (bit selection processing in FIG. 8), 2 cycles for status register update, It will take 4 cycles in total. Therefore, the conventional 12 cycles are shortened to 4 cycles, and a significant speed improvement can be realized.

図10は、複数の時刻に対して纏めてトレースバック処理を行なう構成を種々の異なる時刻数に対して適用した場合の実行効率を示す図である。上記実施例に説明したように、纏めてトレースバック処理する複数の時刻の数が4である場合(図10の段数N=4)、メモリバンク数は4、部分データのビット幅は8、パックト・パスメモリの幅は32、実行サイクル数は4である。このとき、各段あたりのサイクル数を示す実行効率は1.00となる。図10の段数N=1が従来技術の構成に相当し、実行効率は4.00となっている。また例えば、纏めてトレースバック処理する複数の時刻の数が2である場合(図10の段数N=2)、メモリバンク数は2、部分データのビット幅は2、パックト・パスメモリの幅は4、実行サイクル数は4となる。この場合の実行効率は2.00となる。   FIG. 10 is a diagram showing the execution efficiency when the configuration in which the traceback processing is collectively performed for a plurality of times is applied to various numbers of times. As described in the above embodiment, when the number of times for performing the traceback processing collectively is 4 (the number of stages N = 4 in FIG. 10), the number of memory banks is 4, the bit width of partial data is 8, and the packed data The width of the path memory is 32 and the number of execution cycles is 4. At this time, the execution efficiency indicating the number of cycles per stage is 1.00. The number of stages N = 1 in FIG. 10 corresponds to the configuration of the prior art, and the execution efficiency is 4.00. Also, for example, when the number of multiple times of traceback processing collectively is 2 (number of stages N = 2 in FIG. 10), the number of memory banks is 2, the bit width of partial data is 2, and the width of the packed path memory is 4. The number of execution cycles is 4. The execution efficiency in this case is 2.00.

図11は、アドレス生成器17の構成の変形例を示す図である。図11において、図4と同一の構成要素は同一の番号で参照し、その説明は省略する。このアドレス生成器17は、アドレス結線部41B及びアドレスバッファ42−1乃至42−4を含む。汎用レジスタ12B−1乃至12B−4は、それぞれが対応時刻での内部状態を示すデータのうち必要ビットを格納するレジスタである。アドレス結線部41Bは、汎用レジスタ12B−1乃至12B−4に格納されるデータをそれぞれのアドレスバッファ42−1乃至42−4に下位5ビットとして供給する。具体的には、汎用レジスタ12B−1の格納データ“abcde”が、アドレスバッファ42−1に下位5ビットとして供給される。また汎用レジスタ12B−2の格納データ“bcdef”が、アドレスバッファ42−2に下位5ビットとして供給される。また汎用レジスタ12B−2の格納データ“cdefg”が、アドレスバッファ42−3に下位5ビットとして供給される。更に、汎用レジスタ12B−4の格納データ“defgh”が、アドレスバッファ42−4に下位5ビットとして供給される。このような構成とすれば、アドレス結線部41Bの結線構成を単純なものとすることができる。   FIG. 11 is a diagram illustrating a modification of the configuration of the address generator 17. In FIG. 11, the same components as those of FIG. 4 are referred to by the same numerals, and a description thereof will be omitted. The address generator 17 includes an address connection unit 41B and address buffers 42-1 to 42-4. Each of the general-purpose registers 12B-1 to 12B-4 is a register that stores necessary bits in data indicating an internal state at a corresponding time. The address connection unit 41B supplies the data stored in the general-purpose registers 12B-1 to 12B-4 to the respective address buffers 42-1 to 42-4 as the lower 5 bits. Specifically, the stored data “abcde” of the general-purpose register 12B-1 is supplied to the address buffer 42-1 as the lower 5 bits. The stored data “bcdef” in the general-purpose register 12B-2 is supplied to the address buffer 42-2 as the lower 5 bits. The stored data “cdefg” of the general-purpose register 12B-2 is supplied to the address buffer 42-3 as the lower 5 bits. Further, the data “defgh” stored in the general-purpose register 12B-4 is supplied to the address buffer 42-4 as the lower 5 bits. With such a configuration, the connection configuration of the address connection unit 41B can be simplified.

図12は、アドレス生成器17の構成の更に別の一例を示す図である。図12において図4と同一の構成要素は同一の番号で参照し、その説明は省略する。このアドレス生成器17は、アドレス結線部41E及びアドレスバッファ42−1乃至42−4を含む。汎用レジスタ12Eは、複数の時刻について内部状態を示すデータの必要ビットを纏めて格納する32ビットのレジスタである。アドレス結線部41Eは、汎用レジスタ12Eに格納される32ビットのデータから適宜選択した4つの5ビットデータを、それぞれのアドレスバッファ42−1乃至42−4に下位5ビットとして供給する。   FIG. 12 is a diagram showing still another example of the configuration of the address generator 17. 12, the same components as those in FIG. 4 are referred to by the same numerals, and a description thereof will be omitted. The address generator 17 includes an address connection unit 41E and address buffers 42-1 to 42-4. The general-purpose register 12E is a 32-bit register that collectively stores necessary bits of data indicating the internal state at a plurality of times. The address connection unit 41E supplies four 5-bit data appropriately selected from the 32-bit data stored in the general-purpose register 12E to the address buffers 42-1 to 42-4 as the lower 5 bits.

具体的には、アドレス結線部41Eの下位8ビットのデータ“abcdefgh”のうちの“abcde”がアドレスバッファ42−1に下位5ビットとして供給される。またアドレス結線部41Eの下から2番目の8ビットのデータ“bcdefgh_”のうちの“bcdef”がアドレスバッファ42−2に下位5ビットとして供給される。またアドレス結線部41Eの下から3番目の8ビットのデータ“cdefgh__”のうちの“cdefg”がアドレスバッファ42−3に下位5ビットとして供給される。更に、アドレス結線部41Eの下から4番目の8ビットのデータ“defgh___”のうちの“defgh”がアドレスバッファ42−4に下位5ビットとして供給される。ここで空白“_”のビットはドントケアである。このような構成とすれば、アドレス結線部41Eの結線構成を比較的単純なものとすることができる。   Specifically, “abcde” of the lower 8 bits of data “abcdefgh” of the address connection unit 41E is supplied to the address buffer 42-1 as lower 5 bits. Also, “bcdef” of the second 8-bit data “bcdefgh_” from the bottom of the address connection unit 41E is supplied to the address buffer 42-2 as the lower 5 bits. Further, “cdefg” of the third 8-bit data “cdefgh__” from the bottom of the address connection unit 41E is supplied to the address buffer 42-3 as the lower 5 bits. Further, “defgh” of the fourth 8-bit data “defgh___” from the bottom of the address connection unit 41E is supplied to the address buffer 42-4 as the lower 5 bits. Here, a blank “_” bit is don't care. With such a configuration, the connection configuration of the address connection unit 41E can be made relatively simple.

図13は、図12に示す汎用レジスタ12Eを状態レジスタとして用いた場合の演算器の入出力関係を示す図である。図13において、図7と同一の構成要素は同一の番号で参照し、その説明は省略する。状態レジスタである汎用レジスタ12E(その内容を配列データstate[31:0]として示す)の下位3ビットが演算器51に入力される。演算器51は、パックト・パスメモリ12Cの格納データから選択した生き残りパスデータを、演算結果として32ビットの汎用レジスタ12Eに出力する。この際、演算結果の4ビットのデータ“ijkl”は、32ビットの汎用レジスタ12Eの4箇所に重複して格納される。   FIG. 13 is a diagram showing the input / output relationship of the arithmetic unit when the general-purpose register 12E shown in FIG. 12 is used as a status register. In FIG. 13, the same components as those of FIG. 7 are referred to by the same numerals, and a description thereof will be omitted. The lower 3 bits of the general-purpose register 12E which is a status register (the contents of which are indicated as array data state [31: 0]) are input to the computing unit 51. The computing unit 51 outputs the surviving path data selected from the stored data in the packed path memory 12C to the 32-bit general-purpose register 12E as the computation result. At this time, the 4-bit data “ijkl” as the result of the operation is stored redundantly in four locations of the 32-bit general-purpose register 12E.

図14は、状態レジスタ12Eの更新動作について説明する図である。図14において、汎用レジスタ12Fには、演算器51で演算した復号データ“ijkl”が4箇所に格納されている。まず状態レジスタである汎用レジスタ12Eの内容を4ビット左にシフトする。次に汎用レジスタ12Eの内容に所定のマスクデータでマスクすることにより、不要なビット部分を0に設定する。最後に、マスク後の汎用レジスタ12Eの内容と汎用レジスタ12Fの内容とのOR演算を実行し、状態レジスタである汎用レジスタ12Eの内容を更新する。このビットシフト処理、マスク処理、及びOR処理は、図1の命令ユニット11により、通常のCPUのシフト命令、マスク命令、及び演算命令等として実行してよい。   FIG. 14 is a diagram for explaining the update operation of the status register 12E. In FIG. 14, the general-purpose register 12F stores the decoded data “ijkl” calculated by the calculator 51 at four locations. First, the contents of the general-purpose register 12E, which is a status register, are shifted to the left by 4 bits. Next, unnecessary bit portions are set to 0 by masking the contents of the general-purpose register 12E with predetermined mask data. Finally, an OR operation is performed on the contents of the general-purpose register 12E after masking and the contents of the general-purpose register 12F to update the contents of the general-purpose register 12E that is a status register. The bit shift process, the mask process, and the OR process may be executed as a normal CPU shift instruction, mask instruction, operation instruction, and the like by the instruction unit 11 of FIG.

図15は、OFDM受信機の構成の一例を示す図である。図15の受信機60は、受信回路71、パスサーチ部72、FFT処理部73、チャネル推定器74、及びエラー訂正部75を含む。アンテナにより受信されたOFDM受信信号(無線信号)は、受信回路71によりベースバンド信号に復調され、更にデジタル受信信号に変換される。同期処理により推定した同期点をフレーム開始点として基づいて、FFT処理部73が、FFT(Fast Fourier Transform)処理を実行し受信信号を復調する。チャネル推定器74は、FFT処理部73による復調信号に基づいて、受信信号の位相ずれを検出するチャネル推定処理を実行する。エラー訂正部75は、ビタビ復号化器76を含み、ビタビ復号処理を実行することによりデジタル受信信号中のエラーを訂正する。このビタビ復号化器76として、図1に示す復号化装置10を用いてよい。   FIG. 15 is a diagram illustrating an example of a configuration of an OFDM receiver. The receiver 60 of FIG. 15 includes a receiving circuit 71, a path search unit 72, an FFT processing unit 73, a channel estimator 74, and an error correction unit 75. The OFDM reception signal (radio signal) received by the antenna is demodulated into a baseband signal by the reception circuit 71 and further converted into a digital reception signal. Based on the synchronization point estimated by the synchronization processing as the frame start point, the FFT processing unit 73 performs FFT (Fast Fourier Transform) processing and demodulates the received signal. The channel estimator 74 performs channel estimation processing for detecting a phase shift of the received signal based on the demodulated signal from the FFT processing unit 73. The error correction unit 75 includes a Viterbi decoder 76 and corrects an error in the digital reception signal by executing a Viterbi decoding process. As the Viterbi decoder 76, the decoding apparatus 10 shown in FIG. 1 may be used.

以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。   As mentioned above, although this invention was demonstrated based on the Example, this invention is not limited to the said Example, A various deformation | transformation is possible within the range as described in a claim.

なお本発明は、以下の内容を含むものである。
(付記1)
着目時刻での内部状態を示すデータを格納する状態レジスタと、
各時刻についての第1ビット数の生き残りパスデータを全時刻について格納したメモリから、前記着目時刻から所定の先行時刻迄の複数の時刻各々について前記第1ビット数よりも少ない第2ビット数の前記生き残りパスデータの部分データを前記状態レジスタの内容に応じて選択し、前記複数の時刻各々について前記部分データを読み出すメモリアクセスユニットと、
前記複数の時刻のうち最後の時刻の前記部分データから前記状態レジスタの内容に応じて1ビットを選択するとともに、前記複数の時刻のうちの前記最後の時刻でない任意の時刻の前記部分データから1ビットを選択するビット選択処理においては、前記任意の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データと前記状態レジスタの内容とに応じてビット選択することにより、前記複数の時刻のそれぞれに対して前記部分データから1ビットを選択する演算部と
を含むことを特徴とする復号化装置。
(付記2)
前記演算部は、前記複数の時刻のうちの前記最後の時刻でない任意の時刻の前記部分データから1ビットを選択するビット選択処理においては、前記任意の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データからそれぞれ選択した1ビットを少なくとも用いてビット選択することを特徴とする付記1記載の復号化装置。
(付記3)
前記演算部は、前記複数の時刻のうちの前記最後の時刻でなく且つ最初の時刻でない任意の時刻の前記部分データから1ビットを選択するビット選択処理においては、該任意の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データからそれぞれ選択した1ビットと前記状態レジスタの内容とに応じてビット選択することを特徴とする付記1又は2記載の復号化装置。
(付記4)
前記演算部は、前記複数の時刻のうちの最初の時刻の前記部分データから1ビットを選択するビット選択処理においては、該最初の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データからそれぞれ選択した1ビットに応じてビット選択することを特徴とする付記1乃至3の何れか一項記載の復号化装置。
(付記5)
着目時刻での内部状態を示すデータを状態レジスタに格納し、
各時刻についての第1ビット数の生き残りパスデータを全時刻について格納したメモリから、前記着目時刻から所定の先行時刻迄の複数の時刻各々について前記第1ビット数よりも少ない第2ビット数の前記生き残りパスデータの部分データを前記状態レジスタの内容に応じて選択して、前記複数の時刻各々について前記部分データを読み出し、
前記複数の時刻のうち最後の時刻の前記部分データから前記状態レジスタの内容に応じて1ビットを選択し、
前記複数の時刻のうちの前記最後の時刻でない任意の時刻の前記部分データから1ビットを選択するビット選択処理において、前記任意の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データと前記状態レジスタの内容とに応じてビット選択する
各段階を含むことを特徴とするビタビ復号におけるトレースバック方法。
(付記6)
前記ビット選択する段階は、前記複数の時刻のうちの前記最後の時刻でない任意の時刻の前記部分データから1ビットを選択するビット選択処理においては、前記任意の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データからそれぞれ選択した1ビットを少なくとも用いてビット選択することを特徴とする付記5記載のトレースバック方法。
(付記7)
前記ビット選択する段階は、前記複数の時刻のうちの前記最後の時刻でなく且つ最初の時刻でない任意の時刻の前記部分データから1ビットを選択するビット選択処理においては、該任意の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データからそれぞれ選択した1ビットと前記状態レジスタの内容とに応じてビット選択することを特徴とする付記5又は6記載のトレースバック方法。
(付記8)
前記ビット選択する段階は、前記複数の時刻のうちの最初の時刻の前記部分データから1ビットを選択するビット選択処理においては、該最初の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データからそれぞれ選択した1ビットに応じてビット選択することを特徴とする付記5乃至5の何れか一項記載のトレースバック方法。
(付記9)
無線信号をデジタル受信信号に変換する受信回路と、
前記デジタル受信信号に対してビタビ復号処理を行なう復号化装置と
を含み、前記復号化装置は、
着目時刻での内部状態を示すデータを格納する状態レジスタと、
各時刻についての第1ビット数の生き残りパスデータを全時刻について格納したメモリから、前記着目時刻から所定の先行時刻迄の複数の時刻各々について前記第1ビット数よりも少ない第2ビット数の前記生き残りパスデータの部分データを前記状態レジスタの内容に応じて選択し、前記複数の時刻各々について前記部分データを読み出すメモリアクセスユニットと、
前記複数の時刻のうち最後の時刻の前記部分データから前記状態レジスタの内容に応じて1ビットを選択するとともに、前記複数の時刻のうちの前記最後の時刻でない任意の時刻の前記部分データから1ビットを選択するビット選択処理においては、前記任意の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データと前記状態レジスタの内容とに応じてビット選択することにより、前記複数の時刻のそれぞれに対して前記部分データから1ビットを選択する演算部と
を含むことを特徴とする受信機。
The present invention includes the following contents.
(Appendix 1)
A status register that stores data indicating the internal state at the time of interest;
From the memory storing the surviving path data of the first bit number for each time for all times, the second bit number smaller than the first bit number for each of a plurality of times from the time of interest to a predetermined preceding time A memory access unit that selects partial data of survivor path data according to the contents of the status register, and reads the partial data for each of the plurality of times;
One bit is selected from the partial data at the last time among the plurality of times according to the contents of the status register, and one bit is selected from the partial data at any time other than the last time among the plurality of times. In the bit selection process for selecting a bit, by selecting a bit according to the partial data at one or more times from the time after the arbitrary time to the last time and the contents of the status register And a calculation unit that selects one bit from the partial data for each of the plurality of times.
(Appendix 2)
In the bit selection process of selecting one bit from the partial data at an arbitrary time that is not the last time among the plurality of times, the arithmetic unit is from the time next to the arbitrary time to the last time. The decoding apparatus according to claim 1, wherein bit selection is performed using at least one bit selected from each of the partial data at one or a plurality of times.
(Appendix 3)
In the bit selection process for selecting one bit from the partial data at an arbitrary time which is not the last time and not the first time among the plurality of times, the arithmetic unit is a time next to the arbitrary time. The decoding apparatus according to claim 1 or 2, wherein a bit is selected according to one bit selected from the partial data at one or a plurality of times from to the last time and the contents of the status register .
(Appendix 4)
In the bit selection process of selecting one bit from the partial data at the first time among the plurality of times, the calculation unit is configured to select one or more from the time next to the first time to the last time. 4. The decoding device according to any one of appendices 1 to 3, wherein bit selection is performed in accordance with one bit selected from each of the partial data at the time.
(Appendix 5)
Store the data indicating the internal state at the time of interest in the status register,
From the memory storing the surviving path data of the first bit number for each time for all times, the second bit number smaller than the first bit number for each of a plurality of times from the time of interest to a predetermined preceding time Selecting partial data of survivor path data according to the contents of the status register, and reading the partial data for each of the plurality of times;
One bit is selected from the partial data at the last time among the plurality of times according to the contents of the status register,
In the bit selection process of selecting one bit from the partial data at an arbitrary time that is not the last time of the plurality of times, one or more of the time from the next time to the last time of the arbitrary time A traceback method in Viterbi decoding, comprising each step of selecting bits according to the partial data of time and the contents of the status register.
(Appendix 6)
In the bit selection process of selecting one bit from the partial data at an arbitrary time that is not the last time among the plurality of times, the bit selecting step includes the last time from the time next to the arbitrary time. 6. The traceback method according to appendix 5, wherein bit selection is performed using at least one bit selected from the partial data at one or a plurality of times until the time.
(Appendix 7)
In the bit selection process of selecting one bit from the partial data at an arbitrary time that is not the last time and not the first time among the plurality of times, the bit selecting step is performed after the arbitrary time. The trace according to claim 5 or 6, wherein a bit is selected according to one bit selected from the partial data at one or a plurality of times from the time to the last time and the contents of the status register Back way.
(Appendix 8)
In the bit selection process of selecting one bit from the partial data at the first time among the plurality of times, the bit selecting step includes one from the time following the first time to the last time. 6. The traceback method according to any one of appendices 5 to 5, wherein a bit is selected according to one bit selected from each of the partial data at a plurality of times.
(Appendix 9)
A receiving circuit for converting a radio signal into a digital received signal;
A decoding device that performs a Viterbi decoding process on the digital reception signal, the decoding device,
A status register that stores data indicating the internal state at the time of interest;
From the memory storing the surviving path data of the first bit number for each time for all times, the second bit number smaller than the first bit number for each of a plurality of times from the time of interest to a predetermined preceding time A memory access unit that selects partial data of survivor path data according to the contents of the status register, and reads the partial data for each of the plurality of times;
One bit is selected from the partial data at the last time among the plurality of times according to the contents of the status register, and one bit is selected from the partial data at any time other than the last time among the plurality of times. In the bit selection process for selecting a bit, by selecting a bit according to the partial data at one or more times from the time after the arbitrary time to the last time and the contents of the status register A receiver for selecting one bit from the partial data for each of the plurality of times.

10 復号化装置
11 命令ユニット
12 レジスタファイル
13 演算ユニット
14 メモリアクセスユニット
20−1乃至20−4 メモリバンク
DESCRIPTION OF SYMBOLS 10 Decoding apparatus 11 Instruction unit 12 Register file 13 Arithmetic unit 14 Memory access unit 20-1 thru | or 20-4 Memory bank

Claims (3)

着目時刻での内部状態を示すデータを格納する状態レジスタと、
各時刻についての第1ビット数の生き残りパスデータを全時刻について格納したメモリから、前記着目時刻から所定の先行時刻迄の複数の時刻各々について前記第1ビット数よりも少ない第2ビット数の前記生き残りパスデータの部分データを前記状態レジスタの内容に応じて選択し、前記複数の時刻各々について前記部分データを読み出すメモリアクセスユニットと、
前記複数の時刻のうち最後の時刻の前記部分データから前記状態レジスタの内容に応じて1ビットを選択するとともに、前記複数の時刻のうちの前記最後の時刻でない任意の時刻の前記部分データから1ビットを選択するビット選択処理においては、前記任意の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データと前記状態レジスタの内容とに応じてビット選択することにより、前記複数の時刻のそれぞれに対して前記部分データから1ビットを選択する演算部と
を含み、
前記演算部は、前記複数の時刻にそれぞれ対応して設けられた複数のセレクタを含み、前記複数の時刻のうちの前記最後の時刻でない任意の時刻の前記部分データから1ビットを選択するセレクタは、前記任意の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データから対応セレクタがそれぞれ選択した1ビットのセレクタ出力を入力として少なくとも用いてビット選択する
ことを特徴とする復号化装置。
A status register that stores data indicating the internal state at the time of interest;
From the memory storing the surviving path data of the first bit number for each time for all times, the second bit number smaller than the first bit number for each of a plurality of times from the time of interest to a predetermined preceding time A memory access unit that selects partial data of survivor path data according to the contents of the status register, and reads the partial data for each of the plurality of times;
One bit is selected from the partial data at the last time among the plurality of times according to the contents of the status register, and one bit is selected from the partial data at any time other than the last time among the plurality of times. In the bit selection process for selecting a bit, by selecting a bit according to the partial data at one or more times from the time after the arbitrary time to the last time and the contents of the status register , it looks including an arithmetic unit for selecting one bit from the partial data with respect to each of the plurality of times,
The arithmetic unit includes a plurality of selectors provided corresponding to the plurality of times, respectively, and a selector that selects one bit from the partial data at an arbitrary time other than the last time among the plurality of times is Bit selection is performed using at least a 1-bit selector output selected by the corresponding selector from the partial data at one or a plurality of times from the next time to the last time as an input. > A decoding device characterized by that.
前記演算部は、前記複数の時刻のうちの前記最後の時刻でなく且つ最初の時刻でない任意の時刻の前記部分データから1ビットを選択するビット選択処理においては、該任意の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データからそれぞれ選択した1ビットと前記状態レジスタの内容とに応じてビット選択することを特徴とする請求項1記載の復号化装置。 In the bit selection process for selecting one bit from the partial data at an arbitrary time which is not the last time and not the first time among the plurality of times, the arithmetic unit is a time next to the arbitrary time. the last one from the time or times of the partial data from claim 1 Symbol placement of a decoding device, characterized in that the bit selected according to the respective selected 1 bit and the contents of the status register from . 前記演算部は、前記複数の時刻のうちの最初の時刻の前記部分データから1ビットを選択するビット選択処理においては、該最初の時刻の次の時刻から前記最後の時刻までの1つ又は複数の時刻の前記部分データからそれぞれ選択した1ビットに応じてビット選択することを特徴とする請求項1又は2記載の復号化装置。 In the bit selection process of selecting one bit from the partial data at the first time among the plurality of times, the calculation unit is configured to select one or more from the time next to the first time to the last time. The decoding apparatus according to claim 1 or 2 , wherein bit selection is performed according to one bit selected from each of the partial data at the time.
JP2009059986A 2009-03-12 2009-03-12 Decryption device Expired - Fee Related JP5177028B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2009059986A JP5177028B2 (en) 2009-03-12 2009-03-12 Decryption device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2009059986A JP5177028B2 (en) 2009-03-12 2009-03-12 Decryption device

Publications (2)

Publication Number Publication Date
JP2010213225A JP2010213225A (en) 2010-09-24
JP5177028B2 true JP5177028B2 (en) 2013-04-03

Family

ID=42972898

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2009059986A Expired - Fee Related JP5177028B2 (en) 2009-03-12 2009-03-12 Decryption device

Country Status (1)

Country Link
JP (1) JP5177028B2 (en)

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2001186025A (en) * 1999-12-24 2001-07-06 Sanyo Electric Co Ltd Viterbi decoder
JP4729938B2 (en) * 2005-02-16 2011-07-20 日本電気株式会社 Viterbi decoder and mobile communication device, base station device, and mobile communication terminal using the same
JP4600183B2 (en) * 2005-06-28 2010-12-15 ソニー株式会社 Viterbi decoder

Also Published As

Publication number Publication date
JP2010213225A (en) 2010-09-24

Similar Documents

Publication Publication Date Title
US7398458B2 (en) Method and apparatus for implementing decode operations in a data processor
KR100187964B1 (en) Viterbi decoding method and apparatus with balance among memory and processing requirements
EP1102408B1 (en) Viterbi decoder
JPH10107651A (en) Viterbi decoder
US6333954B1 (en) High-speed ACS for Viterbi decoder implementations
WO2005011129A1 (en) Viterbi decoder
US6601215B1 (en) Traceback buffer management for VLSI Viterbi decoders
US6757864B1 (en) Method and apparatus for efficiently reading and storing state metrics in memory for high-speed ACS viterbi decoder implementations
JP4580927B2 (en) Viterbi decoding apparatus and Viterbi decoding method
EP1089441A2 (en) Viterbi decoder and Viterbi decoding method
JP5169771B2 (en) Decoder and decoding method
JP5177028B2 (en) Decryption device
JP7007115B2 (en) Viterbi decoding device and Viterbi decoding method
JP2009246474A (en) Turbo decoder
JP2010206570A (en) Decoding apparatus and decoding method
JP3357351B2 (en) Viterbi decoding apparatus and method
JP5338506B2 (en) Decoding device and signal processing system
US8583998B2 (en) System and method for Viterbi decoding using application specific extensions
JPS63129714A (en) Viterbi decoder
JPH0722969A (en) Arithmetic unit
JP5196567B2 (en) Arithmetic device, decoding device, memory control method, and program
KR100414152B1 (en) The Processing Method and Circuits for Viterbi Decoding Algorithm on Programmable Processors
JP2001024526A (en) Viterbi decoder
JPH06112848A (en) Viterbi decoding arithmetic unit
CN101527573B (en) Viterbi decoder

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20111107

A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20120528

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20120605

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20120806

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20121211

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20121224

LAPS Cancellation because of no payment of annual fees