JP5177028B2 - Decryption device - Google Patents
Decryption device Download PDFInfo
- 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
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.
以上を鑑みると、ビタビ復号処理のトレースバックにおいてメモリアクセスの効率が高く、高速に復号化処理を実行できる復号化装置が望まれる。 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.
以下に、本発明の実施例を添付の図面を用いて詳細に説明する。 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
復号化装置10は、CPU(Central Processing Unit)等の処理装置と専用のハードウェアとを組み合わせて構成してよい。例えば命令ユニット11は、メモリから読み出した命令列をデコードして実行することにより、復号化装置10の各部に対する制御動作を行なう部分であり、CPUの処理実行部分に相当する。レジスタファイル12は、命令ユニット11が種々の処理を実行する際に使用するデータを格納する部分であり、CPUの汎用レジスタに相当する。演算ユニット13はビタビ演算器16を含み、所定の処理を行なうための専用のハードウェアに相当する。ビタビ演算器16は、本発明のトレースバック処理を実行するための演算器を少なくとも含み、更にACS処理を実行するための演算器を含んでよい。
The
メモリアクセスユニット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
図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
図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
従って、時刻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
トレースバック処理の各時刻において一時刻前の生き残りパスデータを毎回逐一メモリから読み出すことなく、着目時刻に先行する複数の時刻分の生き残りパスデータを纏めて読み出すことを考える。例えば内部状態数が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
図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
アドレス結線部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-
具体的には、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
このように、メモリバンク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
図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
図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
前述のように、パックト・パスメモリ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
図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
セレクタ53乃至55は、時刻4k−3乃至4kのうちの最後の時刻4kでない時刻の部分データから1ビットを選択する際に、その時刻の次の時刻から最後の時刻4kまでの1つ又は複数の時刻の部分データからそれぞれ選択した1ビットを少なくとも用いる。以下にこれを説明する。
When the
セレクタ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
セレクタ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
以上のセレクタ53及び54の処理が、最後の時刻kでなく且つ最初の時刻4k−3でない任意の時刻の部分データから1ビットを選択するビット選択処理である。このビット選択処理では、ビット選択対象の時刻の次の時刻から最後の時刻までの1つ又は複数の時刻の部分データからそれぞれ選択した1ビットと状態レジスタの内容とに応じてビット選択する。
The above-described processing of the
また更に、複数の時刻のうちの最初の時刻の部分データから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
上記のようにして、生き残りパスデータ0,1,0,1が順次選択されて、復号データ“ijkl”となる。この復号データ“ijkl”は、図7に示すように汎用レジスタ12Dに格納される。以下に説明するように、データ“ijkl”により、現在の状態レジスタの内容“abcdefgh”を更新する。
As described above, the surviving
図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
図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-
従来の構成では、各時刻のトレースバック処理について、メモリ読出しに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
図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
具体的には、アドレス結線部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-
図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
図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
以上、本発明を実施例に基づいて説明したが、本発明は上記実施例に限定されるものではなく、特許請求の範囲に記載の範囲内で様々な変形が可能である。 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
(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
(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
(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
(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
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.
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)
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 |
-
2009
- 2009-03-12 JP JP2009059986A patent/JP5177028B2/en not_active Expired - Fee Related
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 |