JP2005045727A - ビタビ復号器 - Google Patents

ビタビ復号器 Download PDF

Info

Publication number
JP2005045727A
JP2005045727A JP2003280274A JP2003280274A JP2005045727A JP 2005045727 A JP2005045727 A JP 2005045727A JP 2003280274 A JP2003280274 A JP 2003280274A JP 2003280274 A JP2003280274 A JP 2003280274A JP 2005045727 A JP2005045727 A JP 2005045727A
Authority
JP
Japan
Prior art keywords
path
select signal
path select
metric
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.)
Pending
Application number
JP2003280274A
Other languages
English (en)
Inventor
Nobuhiro Takagi
信宏 高木
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Panasonic Holdings Corp
Original Assignee
Matsushita Electric Industrial Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Matsushita Electric Industrial Co Ltd filed Critical Matsushita Electric Industrial Co Ltd
Priority to JP2003280274A priority Critical patent/JP2005045727A/ja
Priority to US10/565,377 priority patent/US7277507B2/en
Priority to PCT/JP2004/010981 priority patent/WO2005011129A1/ja
Priority to EP04748140A priority patent/EP1650874A4/en
Priority to CNA2004800216392A priority patent/CN1830151A/zh
Publication of JP2005045727A publication Critical patent/JP2005045727A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/63Joint error correction and other techniques
    • H03M13/6337Error control coding in combination with channel estimation
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4107Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing add, compare, select [ACS] operations
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/413Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors tail biting Viterbi decoding
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/37Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
    • H03M13/39Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
    • H03M13/41Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
    • H03M13/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4192Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using combined traceback and register-exchange
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6508Flexibility, adaptability, parametrability and configurability of the implementation
    • H03M13/6516Support of multiple code parameters, e.g. generalized Reed-Solomon decoder for a variety of generator polynomials or Galois fields
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6561Parallelized implementations
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • H04L1/0054Maximum-likelihood or sequential decoding, e.g. Viterbi, Fano, ZJ algorithms
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/03Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words
    • H03M13/23Error detection or forward error correction by redundancy in data representation, i.e. code words containing more digits than the source words using convolutional codes, e.g. unit memory codes

Abstract

【課題】 複数種類の拘束長及び任意の推定伝送路の係数の数に対応でき、かつ、小さな回路規模の専用ハードウエアにより構成できるようにすること。
【解決手段】 前時刻の状態から現時刻の状態に至る全てのパスのブランチメトリックを演算し、ブランチメトリック101aとパスメトリック103aとにより各状態へ至るパスの中から最も確からしいパスを選択し、パスセレクト信号102aとパスメトリック102bとを出力する。パスメトリック記憶装置103は、次時刻でのACS演算を行なう際にACS演算装置102に対して入力するパスメトリック103aを出力する。パスセレクト信号一時記憶装置104は、パスセレクト信号102aをnステート分だけ記憶し、mステート分(m<=n)のパスセレクト信号104aを出力し、ビタビ復号を行なうシステムの符号化拘束長又は想定される推定伝送路の係数の数に応じて入力ビット位置を変更する。
【選択図】 図1

Description

本発明は、畳み込み符号や受信信号の等化処理を行う最尤復号法に用いられるビタビ復号器に関する。
この種のビタビ復号器は、誤り訂正能力が高いことから、伝送経路誤りが生じやすい衛星通信及び移動体通信等の伝送方式における復号装置及び受信装置などの情報通信システムに用いられている。
ビタビ復号は、受信データ系列と期待データ系列との差分(ブランチメトリック)を求める処理と、加算、比較及び選択という単純な処理(ACS)の繰り返し処理と、最終的にデータを復号するトレースバック処理と、で復号を実現するものである。このビタビ復号では、入力ビット1ビットに対応する符号化データを得るごとに、その時刻での各状態のパスの信号間距離を計算して、生き残りパスを求めている。
例えば、符号化方式を畳み込み符号とする場合のビタビ復号の処理は、以下のように行われる。
畳み込み符号は、入力ビットと、それに先行する一定数のビットとの排他的論理和により生成され、入力ビット1ビットに対応して複数の符号化データが生成される。この符号化データに影響を与える入力ビット(情報ビット)数のことを拘束長Kといい、その数は排他的論理和に用いられるシフトレジスタの段数に等しい。
この符号化データは、入力ビットと先行する(K−1)個の入力ビットの状態とで定まる。この状態は、新たな入力ビットが入力されることによって新たな状態に遷移するが、遷移可能な状態は、新たな入力ビットが「0」であるか「1」であるかによって決定される。この状態数は、(K−1)個のビットのそれぞれが「0」又は「1」を取り得るから(2K−1)個となる。
ビタビ復号では、受信した符号化データ系列を観測し、取り得るすべての状態遷移の中から最も確からしい状態を推定する。そのため、このビタビ復号では、入力ビット1ビットに対応する符号化データを得るごとに、その時刻での各状態へのパスの信号間距離(メトリック)を計算し、同一状態に達するパスのうち、メトリックの小さいほうを生き残りパスとして残す。
図7に、拘束長Kの畳み込み符号器において、時刻tにおける状態S[2j]及びS[2j+1]に対し、1つ前の時刻t−1の状態S[j]とS[j+m/2]とからの状態遷移を表す2本のパスがそれぞれ延びている様子を示す(ここで、jは正整数)。
図7において、パスメトリックA1は、状態S[2j]に遷移される際に出力される期待データ系列と受信データ系列との信号間距離(ブランチメトリックB1)と、1つ前の時刻の状態S[j]までのパスメトリックPM[j]との和である。
同様に、パスメトリックA2は、状態S[2j]に遷移される際に出力される期待データ系列と受信データ系列との信号間距離(ブランチメトリックB2)と、1つ前の時刻の状態S[j+m/2]までのパスメトリックPM[j+m/2]との和である。
こうして求めた、状態S[2j]に入力するパスメリックA1、A2を比較し、小さいほうのパスを生き残りパスとして選択する。そして、選択したパスのパスメトリックを現時刻tでの状態S[2j]に至るまでのパスメトリックとして、パスメトリックを更新する。
さらに、パスメリックA1又はA2の、どちらのパスが選択されたかという履歴を、パスセレクト信号PS[i](i=0〜2K−1−1)として残しておく。このとき選択されたパスの1つ前の状態番号が、選択されなかった他方のパスの1つ状態番号よりも小さければ、PS[i]=0とし、大きければPS[i]=1とする。
これらの処理を、状態数×トレースバック長だけの回数行なう。そして、状態数×トレースバック長だけのパスセレクト信号と最終時刻での状態数だけのパスメトリックとを得る。その後、これらの情報よりトレースバックを行なって、符号化データを復号していく。
次に、トレースバック処理について図8を用いて簡単に説明する。図8は、拘束長を「3」、トレースバック長を「7」としたときの、前記状態数×トレースバック長だけの処理が終了した時点での各状態遷移の履歴を表したトレリス線図である。但し、各状態間の線上の数値は、それぞれの状態遷移におけるパスセレクト信号を表し、実線で示されたパスが生き残りパスであるとする。このトレースバック処理では、まず、最終時刻における各状態でのパスメトリックを参照して、パスメトリックが最小となる状態を選択する。但し、符号化データの入力データ列に、テールビットとして既知のデータ列が付加されている場合は、このテールビットにより示される状態を一意的に選択する(本例では、S[00]が選択されているものとしている)。次に、選択された状態の最終時刻でのパスセレクト信号より1つ前の時刻での状態へ遡る。そして、このときのパスセレクト信号を復号データとして出力する。以下同様に、単位時刻ごとに、パスセレクト信号を基に、状態(図8に太い実線で示されたパス)を遡りながら、トレースバック長だけの復号データを出力する。これにより、符号化データ列を復号することができる(本例では、1→0→1→1→0→0→0)。
ところで、このビタビ復号器においては、拘束長を大きくする程、その誤り訂正能力が大きくなるが、拘束長を大きくすることにより処理量が増大する。そこで、従来の情報通信システムでは、高い誤り訂正能力を必要とする情報源を送信する場合には拘束長の大きな符号化方式を用い、ある程度の誤りが許容されるような情報源を送信する場合には拘束長の短い符号化方式を用いるなどしている。しかしながら、このような方式では、1つの情報通信システムにおいて、複数種類の拘束長により符号化された信号を復号する必要がある。
一方、受信信号の等化処理を行なう場合には、伝送路の状況に応じて推定伝送路の係数の数を任意に変化させることで、より精度の高い等化処理を行なうことができる。しかし、このような精度の高い等化処理を行なうには、ビタビ復号器として、任意の推定伝送路の係数の数に対応することができる汎用性の高いものが求められる。
特に、ビタビ復号法が用いられている移動体通信分野においては、電源に電池を使用して通信端末装置の携帯性を向上させているため、その低消費電力化が必須の条件となっている。
このため、従来のビタビ復号器では、ブランチメトリックやパスメトリックの計算といった符号化の拘束長等によらない決まりきった処理は、専用ハード化を行なって低消費電力化を図っていた。また、パスセレクト信号からの復号や最尤判定といった拘束長により処理フローが変わるような処理は、ソフトウエアによってなされていた(例えば、特許文献1参照)。
特開平11-74800号公報
ところで、移動体通信分野においては、通信端末装置の連続通話時間の拡大や、携帯性を高めるための電池容量の削減などが求められている。このような低消費電力の通信端末装置を実現するためには、任意の拘束長及び任意の係数の数に対応するビタビ復号器を消費電力の少ない小さな回路規模の専用ハードウエアで構成することが望ましい。
しかしながら、従来のビタビ復号器においては、前述したように、ソフトウエアにより複雑な処理が行われていたため、その消費電力が大きく前記要求に応えることが難しいという問題がある。
本発明は、かかる点に鑑みてなされたものであり、複数種類の拘束長及び任意の推定伝送路の係数の数に対応でき、かつ、小さな回路規模の専用ハードウエアにより構成することができる汎用性の高い低消費電力のビタビ復号器を提供することを目的とする。
請求項1記載のビタビ復号器は、入力符号に基づいて前時刻の状態から現時刻の状態に至るすべてのパスのブランチメトリックを算出するブランチメトリック演算手段と、前記ブランチメトリック演算手段により算出された前記ブランチメトリックと与えられたパスメトリックとにより現時刻の各状態へ至るパスの中から選択した最も確実性の高いパスによって決定されるパスセレクト信号と現時刻の状態に至るまでに要したパスメトリックとを出力するACS演算手段と、前記ACS演算手段より出力された前記パスメトリックを記憶するパスメトリック記憶手段と、前記ACS演算手段から出力された前記パスセレクト信号をnステート分だけ記憶するパスセレクト信号一時記憶手段と、前記パスセレクト信号一時記憶手段に格納された前記パスセレクト信号を順に一連のトレースバック長分だけ記憶するパスセレクト信号記憶手段と、前記パスセレクト信号記憶手段に記憶された前記パスセレクト信号に基づいて復号データを生成するトレースバック処理手段と、を具備する構成を採る。
この構成によれば、ビタビ復号器を小さな回路規模の専用ハードウエアで構成することができ、従来のDSPにて行なっていた場合に比べ低消費電力化を実現することができる。
請求項2に記載のビタビ復号器は、請求項1記載の発明において、前記パスセレクト信号一時記憶手段はnビットのパスセレクト信号用シフトレジスタを有し、前記パスセレクト信号用シフトレジスタが所定のビット位置より前記パスセレクト信号を入力する構成を採る。
この構成によれば、請求項1記載の発明の効果に加えて、符号化において使用されている拘束長、もしくは等化処理において考えられている推定伝送路の係数の数に応じて、前記パスセレクト信号を任意のビット位置より前記パスセレクト信号用シフトレジスタに書き込むことができる。これにより、前記拘束長、もしくは前記推定伝送路の係数の数によらず、一定の形式(例えば、下位ビット詰め形式)で前記パスセレクト信号を前記パスセレクト信号記憶手段に格納できる。従って、この構成においては、前記拘束長、もしくは前記推定伝送路の係数の数に応じた特別な処理が不要となり、ソフトウエアによる余分な処理が不要となる。
請求項3記載のビタビ復号器は、請求項1又は請求項2記載の発明において、前記トレースバック処理手段は、前記パスセレクト信号記憶手段から読み出されたパスセレクト信号をシフトするバレルシフタと、前記バレルシフタより所定のビット位置にシフトされた1ビットを入力とする復号データ用シフトレジスタと、を有し、前記復号データ用シフトレジスタの入力ビット位置より入力符号の情報に応じた所定のビット位置までのビットの内容を変換して前記バレルシフタでの前記パスセレクト信号のシフト数を生成する構成を採る。
この構成によれば、請求項1又は請求項2記載の発明の効果に加えて、前記パスセレクト記憶手段から読み出されたパスセレクト信号のうち、前記入力符号の情報(符号化において使用されている拘束長、もしくは等化処理において想定されている推定伝送路の係数の数)に応じて、任意のビット位置のパスセレクト信号を取り出すことができる。そして、この取り出されたパスセレクト信号を復号データ用シフトレジスタにシフトインすることができる。これにより、任意の拘束長あるいは推定伝送路の係数の、任意の数に対応したトレースバック回路を専用ハードウエアで実現することができる。
以上説明したように、本発明によれば、複数種類の拘束長及び任意の推定伝送路の係数の数に対応でき、かつ、小さな回路規模の専用ハードウエアにより汎用性の高い低消費電力のビタビ復号器を構成することができる。
本発明の骨子は、選択されたパスによって決定されるパスセレクト信号をnスエート分だけ一時記憶し、この一時記憶したパスセレクト信号を順に一連のトレースバック長分だけ記憶したパスセレクト信号に基づいて復号データを生成することである。
以下、本発明の一実施の形態に係るビタビ復号器について、図面を参照して詳細に説明する。
(実施の形態1)
図1に、本発明の一実施の形態に係るビタビ復号器100の構成を示す。このビタビ復号器100は、図1に示すように、ブランチメトリック演算装置101、ACS演算装置102、パスメトリック記憶装置103、パスセレクト信号一時記憶装置104、パスセレクト信号記憶装置105及びトレースバック処理装置106を備えている。
図1において、ブランチメトリック演算装置101は、入力される符号化データについて、前時刻の状態から現時刻の状態に至るすべてのパスについてのブランチメトリックを演算して出力する。このブランチメトリック演算装置101により算出されたブランチメトリック101aは、ACS演算装置102に出力される。
ACS演算装置102は、ブランチメトリック演算装置101より出力されたブランチメトリック101aと、パスメトリック記憶装置103から与えられたパスメトリック103aとにより、各状態へ至るパスの中から最も確からしいパスを選択する。そして、このACS演算装置102は、選択したパスがどの状態からのパスであるかを示すパスセレクト信号102aと、現時刻における各状態に至までに要したパスメトリック102bとを出力する。
パスメトリック記憶装置103は、ACS演算装置102より出力されるパスメトリック102bを状態数分だけ記憶するメモリ領域を備えており、次時刻でのACS演算を行なう際にACS演算装置102に対して入力するパスメトリック103aを出力する。
パスセレクト信号一時記憶装置104は、ACS演算装置102により生成されたパスセレクト信号102aを、nステート分だけ記憶する。そして、このパスセレクト信号一時記憶装置104は、所用のステート分だけのパスセレクト信号が格納された後、mステート分(m<=n)のパスセレクト信号104aを出力する。このパスセレクト信号一時記憶装置104は、図2に示すように、所定のビット位置より入力することを可能としたセレクタ(不図示)を備えたシフトレジスタで構成されている。このパスセレクト信号一時記憶装置104としてのシフトレジスタは、ビタビ復号を行なうシステムの符号化拘束長又は想定される推定伝送路の係数の数に応じて入力ビット位置を変更する。
図2に示すパスセレクト信号一時記憶装置104は、8ステート分のパスセレクト信号を記憶するシフトレジスタである。このパスセレクト信号一時記憶装置104は、入力ビット位置は左側のレジスタより1番目、5番目、7番目、8番目のそれぞれのビット位置からパスセレクト信号を入力できる構成となっている。例えば、拘束長が「4」の生成多項式で符号化されたシンボルをビタビ復号器により復号する場合、1シンボル当たり「8」だけのステート数がある。そして、これらのステートを、それぞれS[0]、S[1]、…、S[7]とし、パスセレクト信号一時記憶装置104の左側から1番目のレジスタよりACS演算装置より生成された順(S[0]、S[1]、…、S[7])にパスセレクト信号を入力する。これにより、1シンボル分のパスセレクト信号が、パスセレクト信号一時記憶装置104のレジスタに、S[0]、S[1]、…、S[7]のパスセレクト信号が、右側のレジスタより順にそれぞれ格納される。
また、このビタビ復号器100にて拘束長3の生成多項式で符号化されたシンボルを復号する場合は、1シンボル当たり4だけのステート数がある。そして、これらのステートを、それぞれS[0]、S[1]、S[2]、S[3]とし、パスセレクト信号一時記憶装置104の左側から5番目のレジスタよりACS演算装置より生成された順(S[0]、S[1]、S[2]、S[3])にパスセレクト信号を入力する。これにより、1シンボル分のパスセレクト信号が、パスセレクト信号一時記憶装置104のレジスタに、S[0]、S[1]、S[2]、S[3]のパスセレクト信号が、右側のレジスタより順に格納される。
また、ACS演算を並列に行なった場合は、同時に2つ以上のパスセレクト信号が生成される。そこで、この場合には、パスセレクト信号一時記憶装置104の複数ある入力ポートに同時に入力する。これにより、パスセレクト信号を記憶するために余分な処理サイクルが不要となり、一連のレジスタに所定のステートの順でパスセレクト信号を格納することができる。例えば、拘束長が「4」の生成多項式で符号化されたシンボルを、前半のステートと後半のステートとのACS演算を2並列で復号するとする。つまり、S[0]とS[4]、S[1]とS[5]、S[2]とS[6]、S[3]とS[7]がそれぞれ同時に結果を出力するとする。この場合は、パスセレクト信号一時記憶装置104の左側から1番目と5番目のレジスタから同時に入力することで、4サイクルでパスセレクト信号一時記憶装置104のレジスタに、S[0]、S[1]、…、S[7]のパスセレクト信号が、右側のレジスタより順に格納される。同様に、拘束長が3の生成多項式で符号化されたシンボルを、前半のステートと後半のステートとのACS演算を2並列で復号するとする。つまり、S[0]とS[2]、S[1]とS[3]がそれぞれ同時に結果を出力するとする。この場合は、パスセレクト信号一時記憶装置104の左側から5番目と7番目のレジスタから同時に入力することで、2サイクルで、パスセレクト信号一時記憶装置104のレジスタに、S[0]、S[1]、S[2]、S[3]のパスセレクト信号が、右側のレジスタより順に格納される。
以上のように、パスセレクト一時記憶装置104は、所定のビット位置より入力可能なシフトレジスタで構成されることにより、この種のシステムにおいて使用されている符号化の拘束長によらず、一定のビット位置に一定のステートにおけるパスセレクト信号を格納することができる。
パスセレクト信号記憶装置105には、パスセレクト信号一時記憶装置104から取り出したnステート分のパスセレクト信号104aが、一括もしくは複数回に分けて入力される。パスセレクト信号記憶装置105は、これらを1ワード単位として、トレースバック長分だけのパスセレクト信号を記憶する。そして、パスセレクト信号記憶装置105は、トレースバック処理装置106に、制御回路(不図示)より指定されたアドレスのパスセレクト信号105aを1ワード単位で出力する。
トレースバック処理装置106は、図3に示すように、パスセレクト信号記憶装置105より読み出された1ワード単位分のパスセレクト信号105aを、シフトするためのバレルシフタ(BSHT)301を備えている。また、トレースバック処理装置106は、バレルシフタ301より所定のビット位置へシフトとされたビットを入力とする復号データ用シフトレジスタ302を備えている。さらに、この復号データ用シフトレジスタ302の入力ビット位置より入力符号の情報に応じた所定のビット位置までのビットの内容をデコードするデコーダ303を備えている。
トレースバック処理は、ある1つの受信シンボルにおける全ステートのパスセレクト信号のうち、ある1つのステートのパスセレクト信号を選択することで復号を行なっている。このため、このトレースバック処理においては、符号化を行なった際の拘束長や、等化処理を行なう際の想定している推定伝送路の係数の数によって、ステートの数が異なってくる。
そこで、このトレースバック処理装置106では、全ステートのパスセレクト信号のうち、ある1つのステートのパスセレクト信号を選択するためのバレルシフタ301の制御信号301aを、デコーダ303で生成するようにしている。つまり、トレースバック処理装置106は、デコーダ303により、入力符号の情報に応じて復号データ用シフトレジスタ302の入力ビット位置より所定のビット位置までのビットの内容をデコードするように構成されている。これにより、拘束長や推定伝送路の係数の数が変化した場合においても、ソフトウエアによる余分な処理を必要とすることなく、トレースバック処理による復号が可能となった。
次に、前述のビタビ復号器100の動作について、図4及び図5に示すフローチャートを用いて説明する。但し、以下の説明では、受信シンボルが、畳み込み符号によって符号化されているものとする。
図4に示すように、ビタビ復号器100は、まず、ST401において、時刻tでの符号化データを受信する。
ビタビ復号器100が受信した符号化データは、ブランチメトリック演算装置101に入力される。そして、ステップST402において、状態番号Nでの受信期待値と受信した符号化データ系列のハミング距離あるいはユークリッド距離を求めることにより、時刻tにおける状態番号Nでのブランチメトリック101aを計算する。
ここで、状態番号Nにおける受信期待値は、例えば、受信した符号化データが、図6に示すような畳み込み符号器600によって符号化されたものである場合、その状態番号Nは畳み込み符号器のシフトレジスタ601に保持されている値によって決定されるものである。そして、その符号化出力系列602は、畳み込み符号器600のシフトレジスタ601に保持されている値と、畳み込み符号器600への符号化入力603を排他的論理和ゲート604a〜604cによって演算された値として求められたものである。このブランチメトリックの算出においては、受信期待値の生成を複数の状態に対して同時に行なうことで、ブランチメトリックを複数の状態番号もしくは畳み込み符号器600への符号化入力603の値が異なった場合に対して同時に算出することも可能である。
次いで、ステップST403においては、図7に示したようなバタフライ演算を行ない、ACS演算を実行する。つまり、ステップST403では、時刻(t−1)から時刻tに遷移する際の、時刻tおける状態番号Nに遷移しうる時刻(t−1)での2つの状態でのパスメトリックと、ステップST402において求められた時刻tでの状態番号NでのブランチメトリックよりACS演算を行い、パスメトリックとパスセレクト信号を出力する。このようにステップST403では、生き残りパスを選択し、どちらのパスが選択されたかを示すパスセレクト信号102aと、時刻tでの状態番号Nでのパスメトリック102bとを出力する。このパスセレクト信号とパスメトリックとの算出においては、ACS演算装置を複数個備えることで2つ以上の状態番号に対して同時に算出することが可能である。
次いで、ステップST404においては、ステップST403において算出されたパスメトリック102bを、時刻tにおける状態番号Nでのパスメトリックとして、パスメトリック記憶装置103に記憶しておく。
次に、ステップST405においては、ステップST403において算出されたパスセレクト信号をパスセレクト信号一時記憶装置104のシフトレジスタに格納する。このとき、符号化を行なった際の拘束長に応じて、パスセレクト信号一時記憶装置104へ入力するビット位置を変更する。これにより、システムにおいて使用されている符号化の拘束長によらず、一定のビット位置に一定のステートにおけるパスセレクト信号が格納することができる。但し、ステップST404とステップST405とについては順不同である。
次いで、ステップST406においては、時刻tでの全状態について終了と判断されるまで、ステップST402からST405までの処理が繰り返される。
次いで、ステップST407においては、トレースバック長のデータ受信終了t=tと判断されるまで、ステップST402からST406までの処理が繰り返される。
次いで、図5に示すように、ステップST408からST410においては、トレースバック開始状態番号が一意的に決められているかどうかを判断し、各状態のパスメトリックを参照してトレースバック開始状態番号を決定する。ここで、符号化データにテールビット等の既知のビットが存在する場合は、これらのビットによりトレースバック開始状態番号が決められるのでステップST410に進み、トレースバック開始状態番号を決定する。符号化データにテールビット等の既知のビットが存在しない場合はステップST409に進み、パスメトリック記憶装置103に記憶されている各状態におけるパスメトリックを参照し、トレースバック開始状態番号を決定する。
次いで、ステップST411においては、パスセレクト信号記憶装置105に記憶されている時刻tのパスセレクト信号を読み出し、トレース開始位置に応じてその内容をバレルシフタによりシフトさせる。つまり、受信した最終時刻のシンボルにおけるパスセレクト信号をパスセレクト信号記憶装置105から読み出して、この内容をトレースバック開始位置に応じてバレルシフタによりシフトさせ、所定のビット位置のビットを得る。
次いで、ステップST412においては、ステップST411において得られたバレルシフタの出力(シフト結果)を、復号データ用シフトレジスタに代入する。
次いで、ステップST413及びST414においては、先ほど読み出したパスセレクト信号が生成されたときから1時刻前のパスセレクト信号を、パスセレクト信号記憶装置105から読み出す。そして、このパスセレクト信号を、復号データ用シフトレジスタのうち符号化の拘束長に応じたビット位置までの内容に従って、バレルシフタによりシフトさせる。これによって、複数種類の拘束長に対応したビタビ復号におけるトレースバック処理が、ハードウエアによって実現される。
次いで、ステップST415において、t=0であると判断されるまで、ST412からST414の動作が繰り返される。そして、受信したすべてのシンボル、もしくはトレースバック長だけのシンボルのトレースバック処理が終了することで、ビタビ復号が終了する。
このように、本発明の一実施の形態に係るビタビ復号器100によれば、拘束長や推定伝送路の係数の数が変化した場合においても、ソフトウエアによる余分な処理を必要とすることなく、トレースバック処理による復号をすることができる。
本発明に係るビタビ復号器は、複数種類の拘束長及び任意の推定伝送路の係数の数に対応でき、かつ、小さな回路規模の専用ハードウエアにより汎用性が高く低消費電力に構成することができるので、畳み込み符号や受信信号の等化処理を行う最尤復号法に用いられるビタビ復号器等として有用である。
本発明の一実施の形態に係るビタビ符号器の構成を示すブロック図 本発明の一実施の形態に係るビタビ復号器におけるパスセレクト信号一時記憶装置の構成を示すブロック図 本発明の一実施の形態に係るビタビ復号器におけるトレースバック処理装置の構成を示すブロック図 本発明の一実施の形態に係るビタビ復号器におけるビタビ復号の動作を説明するための一部のフローチャート 本発明の一実施の形態に係るビタビ復号器におけるビタビ復号の動作を説明するための他の部のフローチャート 畳み込み符号方式による符号化回路の一例を示す回路図 ビタビ復号器における符号の状態遷移のパスを示す状態遷移図 ビタビ復号器における符号の状態遷移の一例を示すトレリス線図
符号の説明
100 本発明のビタビ復号器本体
101 ブランチメトリック演算装置
101a 現時刻でのブランチメトリック
102 ACS演算装置
102a 現時刻でのパスセレクト信号
102b 現時刻でのパスメトリック
103 パスメトリック記憶装置
103a 前時刻でのパスメトリック
104 パスセレクト信号一時記憶装置
104a nステート分のパスセレクト信号
105 パスセレクト信号記憶装置
105a パスセレクト信号記憶装置より読み出されたパスセレクト信号
106 トレースバック処理装置
106a トレースバック処理により復号されたデータ
301 バレルシフタ
302 復号データ用シフトレジスタ
303 デコーダ
600 畳み込み符号器
601 シフトレジスタ

Claims (3)

  1. 入力符号に基づいて前時刻の状態から現時刻の状態に至るすべてのパスのブランチメトリックを算出するブランチメトリック演算手段と、
    前記ブランチメトリック演算手段により算出された前記ブランチメトリックと与えられたパスメトリックとにより現時刻の各状態へ至るパスの中から選択した最も確実性の高いパスによって決定されるパスセレクト信号と現時刻の状態に至るまでに要したパスメトリックとを出力するACS演算手段と、
    前記ACS演算手段より出力された前記パスメトリックを記憶するパスメトリック記憶手段と、
    前記ACS演算手段から出力された前記パスセレクト信号をnステート分だけ記憶するパスセレクト信号一時記憶手段と、
    前記パスセレクト信号一時記憶手段に格納された前記パスセレクト信号を順に一連のトレースバック長分だけ記憶するパスセレクト信号記憶手段と、
    前記パスセレクト信号記憶手段に記憶された前記パスセレクト信号に基づいて復号データを生成するトレースバック処理手段と、
    を具備することを特徴とするビタビ復号器。
  2. 前記パスセレクト信号一時記憶手段はnビットのパスセレクト信号用シフトレジスタを有し、前記パスセレクト信号用シフトレジスタが所定のビット位置より前記パスセレクト信号を入力することを特徴とする請求項1記載のビタビ復号器。
  3. 前記トレースバック処理手段は、前記パスセレクト信号記憶手段から読み出されたパスセレクト信号をシフトするバレルシフタと、前記バレルシフタより所定のビット位置にシフトされた1ビットを入力とする復号データ用シフトレジスタと、を有し、前記復号データ用シフトレジスタの入力ビット位置より入力符号の情報に応じた所定のビット位置までのビットの内容を変換して前記バレルシフタでの前記パスセレクト信号のシフト数を生成することを特徴とする請求項1又は請求項2記載のビタビ復号器。
JP2003280274A 2003-07-25 2003-07-25 ビタビ復号器 Pending JP2005045727A (ja)

Priority Applications (5)

Application Number Priority Date Filing Date Title
JP2003280274A JP2005045727A (ja) 2003-07-25 2003-07-25 ビタビ復号器
US10/565,377 US7277507B2 (en) 2003-07-25 2004-07-26 Viterbi decoder
PCT/JP2004/010981 WO2005011129A1 (ja) 2003-07-25 2004-07-26 ビタビ復号器
EP04748140A EP1650874A4 (en) 2003-07-25 2004-07-26 DECODEUR OF VITERBI
CNA2004800216392A CN1830151A (zh) 2003-07-25 2004-07-26 维特比解码器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003280274A JP2005045727A (ja) 2003-07-25 2003-07-25 ビタビ復号器

Publications (1)

Publication Number Publication Date
JP2005045727A true JP2005045727A (ja) 2005-02-17

Family

ID=34100857

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003280274A Pending JP2005045727A (ja) 2003-07-25 2003-07-25 ビタビ復号器

Country Status (5)

Country Link
US (1) US7277507B2 (ja)
EP (1) EP1650874A4 (ja)
JP (1) JP2005045727A (ja)
CN (1) CN1830151A (ja)
WO (1) WO2005011129A1 (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018207248A (ja) * 2017-06-01 2018-12-27 Necプラットフォームズ株式会社 ビタビ復号装置、及び、ビタビ復号方法

Families Citing this family (15)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP4580927B2 (ja) * 2004-05-27 2010-11-17 パナソニック株式会社 ビタビ復号装置、およびビタビ復号方法
JP4478119B2 (ja) * 2005-05-25 2010-06-09 パナソニック株式会社 受信装置
CN101247380B (zh) * 2008-03-27 2011-12-28 复旦大学 用于多带正交频分复用超宽带系统的高速维特比解码器
US20110090779A1 (en) * 2009-10-16 2011-04-21 Mediatek Inc. Apparatus for generating viterbi-processed data
US20110090773A1 (en) * 2009-10-16 2011-04-21 Chih-Ching Yu Apparatus for generating viterbi-processed data using an input signal obtained from reading an optical disc
CN102142849B (zh) * 2011-02-15 2014-07-30 无锡物联网产业研究院 一种维特比译码方法及维特比译码器
US8432780B1 (en) * 2012-05-10 2013-04-30 Mediatek Inc. Viterbi decoding apparatus using level information generator supporting different hardware configurations to generate level information to Viterbi decoder and related method thereof
US9444580B2 (en) 2013-08-06 2016-09-13 OptCTS, Inc. Optimized data transfer utilizing optimized code table signaling
US10523490B2 (en) 2013-08-06 2019-12-31 Agilepq, Inc. Authentication of a subscribed code table user utilizing optimized code table signaling
US9455799B2 (en) 2013-08-06 2016-09-27 OptCTS, Inc. Dynamic control of quality of service (QOS) using derived QOS measures
WO2016004185A1 (en) 2014-07-02 2016-01-07 OptCTS, Inc. Data recovery utilizing optimized code table signaling
US9705531B2 (en) * 2015-02-18 2017-07-11 eTopus Technology Inc. Multi mode viterbi decoder
CN106209119A (zh) * 2015-05-02 2016-12-07 宁波中国科学院信息技术应用研究院 一种DRM/DRM+接收机中的Viterbi解码器的硬件设计方法
CA3026281A1 (en) 2016-06-06 2017-12-14 Agilepq, Inc. Data conversion systems and methods
CN112134574A (zh) * 2020-11-23 2020-12-25 易兆微电子(杭州)股份有限公司 路径度量信息的存储方法、装置、电子设备及存储介质

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPH05206871A (ja) 1992-01-27 1993-08-13 Nippon Telegr & Teleph Corp <Ntt> ビタビ復号回路
JPH05335972A (ja) 1992-05-27 1993-12-17 Nec Corp ビタビ復号器
KR940010435B1 (ko) 1992-08-31 1994-10-22 삼성전자 주식회사 비터비 복호기의 경로기억장치
US5715470A (en) * 1992-09-29 1998-02-03 Matsushita Electric Industrial Co., Ltd. Arithmetic apparatus for carrying out viterbi decoding at a high speed
US5583889A (en) * 1994-07-08 1996-12-10 Zenith Electronics Corporation Trellis coded modulation system for HDTV
JPH08167858A (ja) 1994-12-13 1996-06-25 Oki Electric Ind Co Ltd ビタビ復号器
US5742621A (en) * 1995-11-02 1998-04-21 Motorola Inc. Method for implementing an add-compare-select butterfly operation in a data processing system and instruction therefor
JPH09232972A (ja) 1996-02-28 1997-09-05 Sony Corp ビタビ復号器
JPH10178356A (ja) 1996-10-15 1998-06-30 Matsushita Electric Ind Co Ltd 演算処理装置及びそれを用いた無線局装置
DE69719141T2 (de) 1996-10-15 2003-07-24 Matsushita Electric Ind Co Ltd Vorrichtung zur Zurückverfolgung des Pfades in einem Viterbi Dekodierer
JP3343201B2 (ja) 1997-06-12 2002-11-11 株式会社日立製作所 復号回路および情報処理装置
JP2856199B2 (ja) 1997-06-27 1999-02-10 日本電気株式会社 可変レート通信方法および装置
JP3277856B2 (ja) 1997-08-29 2002-04-22 日本電気株式会社 ビタビデコーダ
JP3196835B2 (ja) 1998-07-17 2001-08-06 日本電気株式会社 ビタビ復号法及びビタビ復号器
JP3239870B2 (ja) 1998-12-28 2001-12-17 日本電気株式会社 データ誤り訂正システム
US6587519B1 (en) * 1999-05-28 2003-07-01 Koninklijke Philips Electronics N.V. Efficient apparatus and method for generating a trellis code from a shared state counter
US6333954B1 (en) * 1999-10-21 2001-12-25 Qualcomm Incorporated High-speed ACS for Viterbi decoder implementations
US6904105B1 (en) * 2000-10-27 2005-06-07 Intel Corporation Method and implemention of a traceback-free parallel viterbi decoder
US6886473B2 (en) * 2002-08-28 2005-05-03 Martin Marietta Materials Southwest, Ltd. Rail car door closer

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2018207248A (ja) * 2017-06-01 2018-12-27 Necプラットフォームズ株式会社 ビタビ復号装置、及び、ビタビ復号方法
JP7007115B2 (ja) 2017-06-01 2022-01-24 Necプラットフォームズ株式会社 ビタビ復号装置、及び、ビタビ復号方法

Also Published As

Publication number Publication date
EP1650874A4 (en) 2006-07-26
US7277507B2 (en) 2007-10-02
CN1830151A (zh) 2006-09-06
EP1650874A1 (en) 2006-04-26
US20060209995A1 (en) 2006-09-21
WO2005011129A1 (ja) 2005-02-03

Similar Documents

Publication Publication Date Title
US7765459B2 (en) Viterbi decoder and viterbi decoding method
JP2005045727A (ja) ビタビ復号器
KR100227094B1 (ko) 큰 제약조건 길이를 갖는 소프트 결정 비터비 디코딩의 방법 및 회로
JP2009535939A (ja) ビタビ復号装置および技術
KR100779782B1 (ko) 비터비 디코더 용 고속 acs 유닛
US20050157823A1 (en) Technique for improving viterbi decoder performance
US11165446B1 (en) Parallel backtracking in Viterbi decoder
US6697442B1 (en) Viterbi decoding apparatus capable of shortening a decoding process time duration
JP4580927B2 (ja) ビタビ復号装置、およびビタビ復号方法
US7035356B1 (en) Efficient method for traceback decoding of trellis (Viterbi) codes
US20070201586A1 (en) Multi-rate viterbi decoder
US6910177B2 (en) Viterbi decoder using restructured trellis
JP3987153B2 (ja) マンハッタンあるいはハミングメトリックスキームに基づくビタビデコーダのための信号のデコード
US6904105B1 (en) Method and implemention of a traceback-free parallel viterbi decoder
JP2007174561A (ja) ビタビ復号装置
CN102282771B (zh) 解码方法
WO2000062427A1 (fr) Appareil et procede de decodage viterbi
JP4082158B2 (ja) ビタビ復号方法、ビタビ復号装置及びプログラム
JP3720251B2 (ja) ヴィタビ復号器
JPH0722969A (ja) 演算装置
JP2002076924A (ja) ビタビ復号器
JP2001094442A (ja) 復号装置及び復号方法
SC140 How to Implement a Viterbi Decoder on the
JP2001274691A (ja) 排他的論理和演算装置
Jamal et al. Design and FPGA Implementation of Low Power Punctured Soft Decision Viterbi Decoder

Legal Events

Date Code Title Description
A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20050802

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20051129