JP2007510337A - 移動通信システムのビタビ/ターボ統合デコーダ - Google Patents

移動通信システムのビタビ/ターボ統合デコーダ Download PDF

Info

Publication number
JP2007510337A
JP2007510337A JP2006537041A JP2006537041A JP2007510337A JP 2007510337 A JP2007510337 A JP 2007510337A JP 2006537041 A JP2006537041 A JP 2006537041A JP 2006537041 A JP2006537041 A JP 2006537041A JP 2007510337 A JP2007510337 A JP 2007510337A
Authority
JP
Japan
Prior art keywords
turbo
viterbi
decoder
interleaver
path
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
JP2006537041A
Other languages
English (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.)
Via Technologies Inc
Original Assignee
Via Technologies Inc
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 Via Technologies Inc filed Critical Via Technologies Inc
Publication of JP2007510337A publication Critical patent/JP2007510337A/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/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/3905Maximum a posteriori probability [MAP] decoding or approximations thereof based on trellis or lattice decoding, e.g. forward-backward algorithm, log-MAP decoding, max-log-MAP decoding
    • H03M13/3927Log-Likelihood Ratio [LLR] computation by combination of forward and backward metrics into LLRs
    • 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/29Coding, 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 combining two or more codes or code structures, e.g. product codes, generalised product codes, concatenated codes, inner and outer codes
    • H03M13/2957Turbo codes and 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
    • 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/4161Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management
    • H03M13/4169Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors implementing path management using traceback
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M13/00Coding, decoding or code conversion, for error detection or error correction; Coding theory basic assumptions; Coding bounds; Error probability evaluation methods; Channel models; Simulation or testing of codes
    • H03M13/65Purpose and implementation aspects
    • H03M13/6502Reduction of hardware complexity or efficient processing
    • 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

Landscapes

  • Physics & Mathematics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computing Systems (AREA)
  • Artificial Intelligence (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Error Detection And Correction (AREA)

Abstract

【課題】ビタビとターボ統合デコーダを提供する。
【解決手段】ビタビとターボ統合デコーダは、音声、データストリームをデコードする。デコーダの実施形態は同一の制御回路によりビタビ/ターボデコーダのパスメトリックを処理、計算し、ハードウェアコストを抑制する効果を達成する。制御回路は数個のプロセッサとメモリバンクを有し、ビタビ、或いは、ターボ符号語をデコードし、プロセッサは固定ルーティングルールに従って、メモリバンクからパスメトリック情報を読み取り/書き込みする。
【選択図】図4

Description

本発明は、無線通信システム中のビタビ/ターボ統合デコーダに関するものであって、特に、音声及びデータストリームを適応的に受信しデコードするシステムに関するものである。
エラーコントロールコード化技術は送信機のチャンネルエンコーダと受信機のデコーダの使用を必要とする。チャンネルエンコーダはメッセージビットを受信し、所定のルールに従って冗長度を付加し、高ビットレートのエンコードデータを生成する。チャンネルデコーダはこの冗長度を利用してどのメッセージビットが実際に伝送されたのか判断する。エラーコントロールコード化の目的はチャンネルノイズの影響を最小にすることである。エラーコントロールコードは一般にブロックコードと畳み込み符号の2種に分類される。畳み込み符号は、データの再送及び遅延が容認しえない無線音声通信システム中に応用するのに好ましい。ブロックコードは高スループットを伝送する能力があり、待ち時間が長くないデータ伝送に好ましい。
ビタビアルゴリズムは最尤(ML)シーケンスを検出するシーケンシャルトレリスサーチアルゴリズムであり、畳み込み符号に最適な復号アルゴリズムである。S.B.Wickerによる“デジタルコミュニケーションとストレージのエラーコントロールシステム,Pretice Hall, 1995”で開示されるように、ビタビデコーダが移動通信システム中に応用されている。
図1はビタビデコーダに用いられる復号アルゴリズムのフローチャートである。復号化工程は、量子化、ブランチメトリック演算処理、パスメトリック更新、残存パス記録、出力判断生成を含む。受信信号はまずサンプリングにより回復され、その後、デジタル信号に転換される。デジタル信号中のフレーム境界とコード符号の位置が検出されてブロック同期化がなされる。ブランチメトリック演算処理後、一部のパスメトリックは新しいブランチメトリックにより更新され、各ノードの残存パスがタグ付けされる。最後に、復号出力シーケンスが残存パス情報に基づいて生成される。
図2は一般的なビタビデコーダ20を示す図である。ビタビデコーダ20は,ブランチメトリック計算(BMC)ユニット202を有し、出力が加法比較選択(ACS)ユニット204に送られる。状態コントローラ206は、入力を、BMCユニット202、ACSユニット204及びパスメトリックメモリ208に提供する。パスメトリックメモリ208は、ダブルバッファとして機能し、ACSユニット204と情報を交換する。ACSユニット204の出力205は、トレースバックメモリとコントローラ210に提供され、その出力は、受信された情報信号211である。
ターボコードは並列連接符号とも称され、その効果がシャノン限界は非常に接近している符号である。ターボエンコーダは畳み込み符号を並列か直列に接続することにより実行され、連結出力を得る。1つのエンコーダからもう1つのエンコーダを経るビットシーケンスは擬似乱数インタリーバにより順序が変えられ、これにより、単一のエンコーダにより生成される低比重の符号語は高比重の符号語に転換される。例えば、符号分割多重接続(CDMA)2000やユニバーサル・モバイル・テレコミュニケーション・システム(UMTS)のような第三世代(3G)移動無線基準は、データストリームのためにターボエンコーダを必要とする。英国特許出願番号GB2352943A、及び、B. VuceticとJ. Yuanにより書かれた” ターボコード、原理と応用、Kluwer Academic Publishers、2000”は、最大事後確率判定(MAP)アルゴリズム、及びソフト出力ビタビアルゴリズム(SOVA)を伴うターボデコーダの具体例を開示する。
図3はMAPアルゴリズムに基づく反復ターボデコーダを示す図である。ターボデコーダ中の受信符号は実際に伝送されるデータを表す系統データ、及び、伝送されるデータの符号化形式を表すパリティデータを含む。第1入力rは受信符号のパリティデータで、インタリーバ304により第1、第2MAPデコーダ302と306に入力される。第2入力rは受信符号のシステムデータで、第1MAPデコーダ302中に送られる。逆インタリーバ310から得られた再帰入力311も第1MAPデコーダ302中に送られる。第1MAPデコーダ302の出力303はインタリーバ308に提供され、インタリーバ308は出力を第2MAPデコーダ306に送る。第2MAPデコーダ306はrから入力を受信すると共に、2つの出力を生成する。第2MAPデコーダ306の第1出力307aは逆インタリーバ310に伝送され、第2出力307bはもう1つの逆インタリーバ312に伝送される。逆インタリーバ312の出力はスライサー314に提供され、スライサー314は1つのスレショルドによりソフト出力をハード出力に転換し、受信情報信号315となる。
3Gコミュニケーションシステムは、標準的には、音声及びデータ信号の各々のために、例えばビタビ符号化とターボ符号化の両方の畳み込み符号化を必要とする。音声とデータの伝送は、伝送速度対遅延時間という相反する要求を提起するからである。現在の解決方法は、高データ転送速度のデータストリームのターボ符号と、音声、或いは、低データ転送速度のデータストリームの畳み込み符号との、分離したそれぞれのエンコードシステムを提供することでである。これらのシステムの受信器は2つの独立したデコーダが必要なので、ハードウェアプラットホームの複雑さとコストが増す。
本発明においては、入力コードタイプに基づいて、畳み込みデコードか、或いは、ターボデコードを実行することができるビタビ/ターボ統合デコーダを提供する。
実施形態において、デコーダは、ブランチメトリック計算(BMC)ユニット、制御回路、トレースバックユニット、インタリーバ/逆インタリーバ、ターボバッファを有する。BMCユニットはビタビ、或いは、ターボ符号を受信し、符号語の各ノードに対応するブランチメトリックを決定する。デコーダは入力に適応するように設定可能で、制御回路は2つのコード化型の共通素子で、メモリとプロセッサ能力を十分に利用する。制御回路は対応するブランチメトリックと、第1メモリブロック中に記憶された前のノード上の部分的パスメトリックに従って、各ノード上の部分的パスメトリックを計算する。制御回路は、その後、計算した部分的パスメトリックを第2ブロック中に記憶する。次のノードを処理する時、制御回路はまず第2メモリブロック中から読み取り、計算終了後、第1ブロック中に記憶する。この読み取りと記憶の動作を反復実行する。この2つのメモリブロックとプロセッサはパスメトリック情報を交換する。この2つのブロックから、部分的パスメトリックの順序とアドレスを読み取り、書き込むのは、並列処理する1つの固定ルーティングルールに従い、部分的パスメトリックに並列処理させて、処理能力を十分に利用する。制御回路は入力コードタイプに基づいて、選択か最大事後確率判定法(MAP)計算を実行し、各ノードで残存パスが特定される。
ビダビデコードを実行する間、トラックバックユニットは制御回路の出力を受信し、制御回路から得られる残存パスを追跡する。ターボデコードを実行する間、インタリーバ/逆インタリーバは制御回路の出力を受信し、決定論的方式で入力順序を変更したり、復元したりする。ターボバッファは入力符号とインタリーバ/逆インタリーバの出力を受信し、BMCユニットとインタリーバ/逆インタリーバに記憶を提供する。
実施形態において、制御ユニットは、J個のACPS(J=2,mは正の整数で、m+1はエンコーダの制約長さn+1より小さくなければならない)を有する加法比較選択プロセッサ(ACSP)アレイと、第1、第2メモリブロックを有するパスメトリック計算ユニットと、固定ルーティング回路、及び、選択/MAP計算ユニットとを有する。ACSPアレイは対応するブランチメトリックに従って、各ノードの部分的パスメトリックを計算する。各ACSPは、これらの部分的パスメトリックを並列処理する2つの加法比較選択ユニット(ACSU)を有する。パスメトリック計算ユニットは、現在のノードと前のノードの部分的パスメトリックを、それぞれ、2つのブロック中に記憶する。各ブロックはIメモリバンクからなり、I=2m+1 である。固定ルーティング回路は、固定ルーティングルールに従って、各ACSP、及び、4個のメモリバンク間に固定連接線を構築する。選択/MAP計算ユニットは選択、或いは、MAP計算を実行し、各ノードの残存パスを判断する。選択/MAP計算ユニットは、BMCユニットから得られたブランチメトリック、及び、パスメトリック計算ユニットにより得られるパスメトリックに従って、ターボ符号語の対数尤度比(LLR)を計算する。
第1実施形態
図4は本発明の具体例によるビタビ/ターボ統合デコーダの実施形態を示す。ビタビ/ターボ統合デコーダ4は受信データのエンコード方法に基づいて、畳み込み、或いは、ターボデコードを実行することができる。ビタビ/ターボ統合デコーダ4は入力端子40から得られるノイズを含むwビットの符号をデコードする。統合デコーダ4は入力バッファ43、ブランチメトリック計算(BMC)ユニット41、制御回路42、インタリーバ/逆インタリーババッファ45、インタリーバ/逆インタリーバ44、残存パス更新ユニット46、トレースバックユニット47、後入れ先出し(LIFO)バッファ48を有する。
図4で示されるように、制御回路42は、パスメモリバンクのパスメトリック計算ユニット421、固定ルーティング回路422、ACSPアレイ423、選択/MAP計算ユニット424を有する。選択/MAP計算ユニット424は、ビタビデコードに必要な選択ユニットと、ターボデコーダの対数尤度比(LLR)を計算するのに必要なMAPユニットを有する。制御回路42はビタビ、或いは、ターボデコーダに必要な主要演算を実行し、この制御回路はビタビ/ターボデコーダの共通の作業領域である。この制御回路42は、ビタビ及びターボデコーダの各計算ユニットのために最適に代替される。これにより、ビタビ/ターボコードをデコードするレシーバのチップサイズを減少させることができる。音声、或いは、低データ伝送速度の入力はビタビコードによりコード化され、高データ転送速度の入力はターボコードによりコード化される。よって、この2種の入力タイプをデコードする処理工程は異なる。音声ストリーム、データストリームは受信後にBMCユニット41に伝送され、そして、制御回路42に伝送される。制御回路42でデータが処理された後、処理済のビタビストリームを残存パス更新ユニット46、及び、トレースバックユニット47に伝送する。制御回路42は処理済のターボストリームをインタリーバ/逆インタリーバ44とバッファ43、45に伝送し、インタリーバ/逆インタリーバを実行する。
残存パス更新ユニット46は残存パスメモリ(SPM)を有し、ビタビデコードのトレリス図中の各ノードで判断される残存パスを記憶する。
第1実施形態中、畳み込みエンコーダの制約長さは5(n=4)で、よって、ビタビデコードは16個の状態(2=16)を有する。ACSPアレイ中のACSPの数は2に選択され、mはn以下でなければならず、mは本実施形態中で2に選択される。各ACSPは1組の加法比較選択ユニット(ACSU)を有し、これにより、2つの入力を同時に処理することができる。よって、8組のメモリバンク(2m+1 =8)と4個のACSPを合わせて、4個のACSPに8個の部分的なパスメトリクスを同時に処理させることができる。
図5は制御回路5を示す図で、図4中の制御回路42の実施形態を示す。制御回路5はメモリバンク52、固定ルーティング回路54、ACSPアレイ56、選択/MAP計算ユニット58を有する。ランダムアクセスメモリ(RAM)により実行される8組のメモリバンク520〜527は固定ルーティング回路54に接続される。ACSPアレイ56は、ACSP560〜563を有し、各ACSPはさらに、2つのACSUを有する。各ACSP560〜563は、選択/MAP計算ユニット58中の1つのACSU580〜583に対応する。ACSU580〜583の出力は比較選択(CS)ユニット584〜585に提供され、CSユニット584〜585の出力はもう1つのCSユニット586に提供される。
図6aと図6bは前述のACSPの2タイプのACSU回路を示す図である。図6aのACSUは3個の加算器、2つの比較器、3つのマルチプレクサを有し、図6bのACSUはルックアップテーブルによりその中の1つの比較器を代替する。この2種のタイプのACSUの接続及び関係はほぼ同一である。
図7aはパスメトリックメモリバンクの構成の例を示す図で、図4中の固定ルーティング回路422により定義される読み/書き選択ルールを示す。図5aのメモリバンクは図4中のパスメトリック計算ユニット421中に位置する。本発明の読み/書き選択ルールは、ACSPアレイ423中から、パスメトリック情報を並列に取得、提供して、処理速度を加速する。メモリバンクとACSPアレイ423間の接続線はトレリス図に従って配列し、ACSPアレイ423と協働して、ブランチメトリクスと部分的パスメトリクスとを同時に処理する。各パスメトリックメモリバンクはアドレス生成器(AG)により管理される。
図7aで示されるように、8組のメモリバンク(バンク(0)〜バンク(7))、及び、4個のACSP(ACSP0〜ACSP3)がある。各メモリバンクは2個のブロック(ブロックAとブロックB)を有し、それぞれ、2つの異なる時点に対応するパスメトリック情報を記憶する。ビタビデコードが使用する読み/書きメモリバンクの選択ルールは下の例で説明する。第1組のパスメトリック情報は時間tの時、それぞれ、ブロックAのバンク(0)とブロックAのバンク(4)中に記憶する。ACSP0は第1組のパスメトリック情報を獲得し、2つの新しい部分的パスメトリックを生成すると共に、新しい部分的パスメトリックを、時間t1+p に、それぞれ、ブロックBのバンク(0)とブロックBのバンク(1)中に記憶し、pはACSPが新しい部分的パスメトリックを生成する処理時間を表す。
図7bは図7aの詳細図で、その数字と索引は2進法で表示される。各バンクに2つのメモリ素子があるので、ACSPはメモリバンクに対し2度アクセスして、2つのメモリ素子中のデータを処理する。例えば、ACSP(00)は時間tで、ブロックA中の状態索引が0000のメモリ素子及び状態索引が1000のメモリ素子からパスメトリック情報を取得する。その後、ACSP(00)は2つの新しい部分的パスメトリックを生成すると共に、この2つの新しい部分的パスメトリックを、時間t1+p で、ブロックB中の状態索引が0000、及び、0010のメモリ素子内に記憶する。同時に、ACSP(01)、ACSP(10)、及び、ACSP(11)は、ACSP(00)と同様に、対応するブロックと相互作用する。
各組のメモリバンクの第1メモリ素子を処理後、ACSP(00)は、時間tで、ブロックA中の状態索引が0001と1001のメモリ素子中からパスメトリック情報を取得する。同様に、ACSP(00)は2つの新しい部分的パスメトリックを生成し、t2+p の時、ブロックB中の状態索引が0001と0011のメモリ素子中に記憶する。残りのACSPも同様のACSP(00)により読み/書き動作を実行し、同時に、各組メモリバンクの第2メモリ素子を処理する。
次の時点で、ACSPアレイの各ACSPはブロックB中の対応するバンクからパスメトリック情報を読み取り、新しいパスメトリック情報を生成し、その後、新しいパスメトリック情報をブロックA中に記憶する。このような読み/書き操作は2度繰り返され、1度は各組メモリバンク中の第1メモリバンクのためで、1度は第2メモリバンクのためである。ACSPは同様のダブルバッファの2つのブロック(ブロックA及びブロックB)を利用して、前のノードに対応する部分的パスメトリックは、現在のノードの部分的パスメトリックを獲得した後だけ上書きされる。本来のブロックAに記憶されるパスメトリック情報は対応するブランチメトリックにより計算されて、ブロックB中に記憶され、その後、ブロックBのパスメトリック情報も対応するブランチメトリックにより計算され、ブロックA中に記憶され、以下同様である。
固定ルーティングユニットにより定義される読み/書き選択ルールは、メモリバンクにアクセスするルーティングルールとも称され、以下のような工程により分析される。状態の数2とデコードの入力符号の制約長さ(n+1)は関係し、特定の状態索引Sn−1 ・・・Sが各状態に分配される。第1実施形態中、エンコーダの制約長さは5(n=4)で、これにより、全部で16個の状態(2=16)を有する。メモリバンクの数は2m+1 で、m+1はn以下でなければならない。第1実施形態中、mは2に選択され、よって、8組のメモリバンクがある。メモリバンク索引Sn−1 n−2 ・・・Sn−m−1 とACSP索引Sn−2 n−3 ・・・Sn−m−1 は、対応するメモリバンクとACSPを表す。
第1実施形態中、n=4、且つ、m=2で、状態索引がSのメモリ素子はこのメモリ素子が索引Sのメモリバンク内に含まれることを表し、例えば、状態索引が0010のメモリ素子はメモリバンク001中に属する。各ACSPは自身のACSP索引Sに従って、状態索引がSのメモリ素子内に記憶した2つの部分的パスメトリックを読み取る。ACSP10は、状態索引が0100、或いは、0101、及び、1100、1101のメモリ素子中に記憶した部分的パスメトリックを読み取る。ACSPが新しい部分的パスメトリックを生成した後、これらの新しい部分的パスメトリックは状態索引がSのメモリ素子中に書き込まれ、この状態索引中の2つの最も有効なビットSとACSP索引は同一である。例えば、ACSP10は新しい部分的パスメトリックを、状態索引が1000、或いは、1001、及び、状態索引が1010、或いは、1011のメモリ素子中に書き込む。
図8は第1実施形態によるターボデコードのパスメトリックメモリアクセス方式を示す図である。ターボデコードのルーティングルールとビタビデコードはほぼ同一で、よって、この2種のデコードは同一の固定ルーティングユニット、ACSPアレイ、及び、パスメトリック計算ユニットに記憶されたメモリバンクをシェアする。ターボデコードは状態索引にビット反転を実行しなければならず、つまり、メモリ素子の状態索引は001から100に変化し、メモリ素子の状態索引は011から110に変化する。図8で示されるように、メモリバンクとACSPの間の読み/書き連接方式と前述のビタビデコードは同じであるが、状態索引(図示されない)、及び、対応するメモリバンクの索引は反転する。
図4で示されるように、BMCユニット41はブランチメトリックγを計算し、パスメトリック計算ユニット421はACSPアレイ423により計算される前方のパスメトリックα、及び、後方のパスメトリックβを記憶する。この3個のα、β、及び、γは、選択/MAP計算ユニット424に用いられ、対数尤度比(LLR)を計算する。LLRは以下で示される。
Figure 2007510337
第1実施形態中のターボデコードはMAP復号アルゴリズムを利用し、ブランチメトリックγ、前方パスメトリックα、後方パスメトリックβに基づいて、各時点のLLRを計算する。
第2実施形態
図9は第2実施形態によるパスメトリックのメモリバンクアクセス規則を示す図で、エンコーダの制約長さは6(n=5)で、これにより、ビタビデコードは32個の状態 (2)を有する。つまり、第2実施形態中、4個のACSP(2,m≦4, m=2を選択)、及び、8組のメモリバンク(2m+1 )を有する。各メモリバンク中、4個のメモリ素子があり、各ACSPは1つの周期内で、1つのメモリバンクにだけアクセスするので、各ACSPは第1ブロック中の2つの対応するメモリバンクから部分的パスメトリックを4回読み取り、各メモリ素子は全て読み取られなければならず、同様に、新しい部分的パスメトリックは第2ブロック中の2つの対応するメモリバンクに4回書き込まれる。メモリバンクの読み/書きのルーティングルールは第1実施形態と同様である。
第3実施形態
図10aと図10bは第3実施形態中、256状態のビタビデコードのパスメトリックメモリバンクに対応する構成とデータ構造を示す図である。第3実施形態中、エンコーダの制約長さは9で、4個のACSPと8組のメモリバンクを使用する。各パスメトリックメモリバンクはどれも2つのブロックを有し(ブロックAとブロックB)、ブロックAとブロックBのブロック索引はそれぞれ0と1である。4個のACSPは1周期間で8個の状態を処理し、これにより、256状態のビタビ符号語をデコードするのに、ACSPは32個の周期(256/8=32)が必要で、メモリバンク中から、1ノードの部分的パスメトリックを読み取り、或いは、書き込みする。
256状態のビタビデコードに用いるハードウェア(例えば、ACSPとメモリバンク)は処理速度とメモリサイズ上、8状態のターボデコーダ中にも適用できる。ターボデコード中、エンコーダの制約長さは4(n=3)で、8個の可能状態を形成する。図11は第3実施形態によるターボデコーダのパスメトリックメモリバンクのデータ構造を示す図である。ターボデコーダの状態索引とビタビデコーダは異なり、これは、ターボデコーダがビット反転が必要だからである。第3実施形態のウィンドウサイズは32に設定され(k=32)、これにより、ターボデコーダは32個後方パスメトリックβに従って、1つのターボ符号語をデコードする。各周期中、ACSPは8個の状態を処理して、後方パスメトリックβを獲得すると共に、時間序列t、t+1、t+k−1に基づいて、メモリバンク中に記憶する。第k個の周期中(本実施形態中、k=32)、ACSPは8k(8*32=256)の状態を処理し、k個後方パスメトリックβ、及び、前方パスメトリックαを生成し、メモリバンク中に記憶する。
図4中の選択/MAP計算ユニット424はBMCユニット41中からブランチメトリックγを獲得し、パスメトリック計算ユニット421に記憶されたメモリバンク中から1つ前方パスメトリックα記録、及び、32個後方パスメトリックβ記録を獲得すると共に、これらのメトリックに従って、LLRを計算する。選択/MAP計算ユニットの結果はインタリーバ/逆インタリーバ44中に出力され、最終のターボデコーダの結果を生成する。
図12はターボデコーダ中に使用するMAP復号アルゴリズムを示す図である。図10は4個の状態の4個のステージだけが示されている。各ステージは1つ後方パスメトリックβを算出するが、各符号語は1つ前方パスメトリックαだけを算出する。LLRは1の確率P(1)と0の確率P(0)の間の比率の対数である。
ビタビ/ターボ統合デコーダは受信データのタイプによってデコード方式を調整し、且つ、制御回路はビタビ/ターボデコーダが得られる部分的パスメトリックを記憶、並びに、計算できるように設計される。2種のデコーダが利用するACSPアレイがアクセスするメモリバンクのルーティングルールは固定である。実施形態中、部分的パスメトリックを記憶するメモリバンクは、ビタビ、或いは、ターボに用いられても、十分に使用される。例えば、デコーダが256状態のビタビ符号語、或いは、8状態のターボ符号語の受信専用に設計される場合、ターボデコーダのウィンドウサイズは32(256/8)に選択される。8状態のターボ符号語をデコードする時、メモリバンクは32の時点(ステージ)に対応する後方パスメトリックの8個の状態を記憶し、256状態のビタビ符号語をデコードする時、ACSPアレイは1周期中、8個の状態を処理する。これにより、全部で32個の周期がないと、1つのビタビ符号語をデコードすることができない。よって、この2種のデコードのメモリサイズと処理時間は大体同じである。もう1つの実施形態中、本発明の複数のビタビ/ターボ統合デコーダは同時に使用され、ターボ符号、或いは/及び、ビタビ符号を含むデータストリームの束をデコードし、各デコーダはいかなる入力タイプもデコードする能力がある。各デコーダのデコード時間はデコード方式にかかわらず、同じに設計される。各デコーダはいかなるビタビ、或いは、ターボ符号に対しもデコードできるので、このような設計構造はデコーダの数量を減少させる。もう1つの長所は、全てのデコーダはほぼ同一の時間でデコード作業を完成でき、よって、これらのデコーダはデータストリームの並列処理ができ、あるデコーダの遅延を待つ必要がない。
本発明では好ましい実施形態を前述の通り開示したが、これらは決して本発明に限定するものではなく、当該技術を熟知する者なら誰でも、本発明の精神と領域を脱しない範囲内で各種の変更や改編を加えることができ、従って本発明の保護範囲は、特許請求の範囲で指定した内容を基準とする。
ビタビデコーダのフローチャートである。 ビタビデコーダの実施形態を示す図である。 MAPアルゴリズムによる反復ターボデコーダを示す図である。 第1実施形態によるビタビ/ターボ統合デコーダを示す図である。 図4中の制御回路の実施形態を示す図である。 ACSUの回路図である。 ACSUのもう1つの例を示す回路図である。 第1実施形態によるパスメトリックのメモリバンク構造を示す図である。 図7aの詳細図である。 第1実施形態によるターボデコーダのパスメトリックのメモリバンクのアクセス規則を示す図である。 第2実施形態によるパスメトリックのメモリバンク構造を示す図である。 第3実施形態中の256状態のビタビデコーダのパスメトリックのメモリバンク構造を示す図である。 第3実施形態中の256状態のビタビデコーダのパスメトリックのメモリバンクの対応するデータ構造を示す図である。 第3実施形態中のターボデコーダのパストリックのメモリバンクのデータ構造を示す図である。 ターボデコーダ中に応用されるMAP復号アルゴリズムを示す図である。

Claims (12)

  1. ビタビ或いはターボ符号語をデコードするビタビ/ターボ統合デコーダであって、
    複数の符号を受信すると共に、前記符号語の各ノードに関連するブランチメトリックを決定するブランチメトリック計算(BMC)ユニットと、
    前記BMCユニットから受け取った対応するブランチメトリック及び第1メモリブロックに記憶されている前のノードの部分的パスメトリックに基づいて各ノードの部分的パスメトリックを計算し、得られた前記部分的パスメトリックを第2メモリブロックに記憶し、なおその際の前記メモリブロックに対する前記部分的パスメトリックの読み出し及び書き込みの順序とアドレスは並列処理のための固定ルーティングルールに従い、さらに前記符号語のタイプに基づいて選択或いは最大事後確率(MAP)計算の何れかを実行して各ノードの残存パスを特定する制御回路と、
    前記制御回路に接続され、前記制御回路により示される前記残存パスを追随することにより、ビタビ符号語のためのデコード出力を生成するトレースバックユニットと、
    前記制御回路に接続され、決定論的方式により入力の順序を変更或いは回復し、ターボ符号語のためのデコード出力を生成するインタリーバ/逆インタリーバと、
    入力符号と前記インタリーバ/逆インタリーバの出力を受け取り、前記BMCユニットと前記インタリーバ/逆インタリーバに記憶領域を提供するターボバッファと
    を有することを特徴とするビタビ/ターボ統合デコーダ。
  2. 前記制御回路は、
    前記対応するブランチメトリックに従って各ノードの前記部分的パスメトリックを計算するJ個の加法比較選択プロセッサ(ACSP)を有し、各ACSPは前記部分的パスメトリックを並列処理する2つの加法比較選択ユニット(ACSU)を有し、前記J=2(mは整数)であるところの加法比較選択プロセッサ(ACSP)アレイと、
    各々現在のノードと前のノードの前記部分的パスメトリックを記憶する前記第1及び第2のメモリブロックを有し、各メモリブロックはI個のメモリバンクを有し、前記I=2m+1であるところのパスメトリック計算ユニットと、
    前記ACSPアレイと前記パスメトリック計算ユニットとに接続され、各ACSPと、2つは前記第1メモリブロックに属しもう2つは前記第2メモリブロックに属する4個のメモリバンクとの間の固定連接線を、前記固定ルーティングルールに従って構築する固定ルーティング回路と、
    選択或いはMAP計算の何れかを実行して、各ノードの前記残存パスを特定する選択/MAP計算ユニットと
    を有することを特徴とする請求項1に記載のビタビ/ターボ統合デコーダ。
  3. 前記m+1は、エンコーダの制約長さ以下でなければならないことを特徴とする請求項2に記載のビタビ/ターボ統合デコーダ。
  4. 前記第1、第2メモリブロックはサイズが等しく、各メモリバンクは前記パスメトリックを記憶するメモリ素子を同数有することを特徴とする請求項2に記載のビタビ/ターボ統合デコーダ。
  5. 前記選択/MAP計算ユニットが、前記BMCユニットから得られる前記ブランチメトリックと前記パスメトリック計算手段により得られる前記部分的パスメトリックに従って、前記ターボ符号語の対数尤度比(LLR)を計算することを特徴とする請求項2に記載のビタビ/ターボ統合デコーダ。
  6. 前記LLR比は、
    Figure 2007510337
    (但し、前記αは前方再帰、βは後方再帰、γはブランチ確率を表す)であって、前記残存パスを追跡する確率を推定することを特徴とする請求項5に記載のビタビ/ターボ統合デコーダ。
  7. 前記パスメトリック計算ユニットは、ターボ符号語の各状態の前方パスメトリックα及びK個後方パスメトリックβを記憶し、前記Kはターボデコードのウィンドウサイズであることを特徴とする請求項2に記載のビタビ/ターボ統合デコーダ。
  8. 前記m=2、K=32で、前記デコーダは256状態のビタビと8状態のターボ符号語をデコードすることができることを特徴とする請求項7に記載のビタビ/ターボ統合デコーダ。
  9. 各ノードに関連する前記ブランチメトリックは、前記ノードにおける前記受信符号と前記デコード出力との間の平方距離であることを特徴とする請求項1に記載のビタビ/ターボ統合デコーダ。
  10. 前記トレースバックユニットに接続されて前記デコードビタビ出力を出力するLIFOバッファをさらに有することを特徴とする請求項1に記載のビタビ/ターボ統合デコーダ。
  11. さらに、前記制御回路と前記トレースバックユニットに接続される残存パス更新ユニットを有し、最新の計算で得られる残存パスを記憶することを特徴とする請求項1に記載のビタビ/ターボ統合デコーダ。
  12. 前記ターボバッファは入力バッファとインタリーバ/逆インタリーババッファからなり、前記入力バッファは前記受信符号を記憶し、前記インタリーバ/逆インタリーババッファは前記インタリーバ/逆インタリーバの出力を記憶することを特徴とする請求項1に記載のビタビ/ターボ統合デコーダ。
JP2006537041A 2003-11-24 2004-11-24 移動通信システムのビタビ/ターボ統合デコーダ Pending JP2007510337A (ja)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US52398103P 2003-11-24 2003-11-24
PCT/CN2004/001345 WO2005050848A1 (en) 2003-11-24 2004-11-24 Unified viterbi/turbo decoder for mobile communication systems

Publications (1)

Publication Number Publication Date
JP2007510337A true JP2007510337A (ja) 2007-04-19

Family

ID=34619623

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2006537041A Pending JP2007510337A (ja) 2003-11-24 2004-11-24 移動通信システムのビタビ/ターボ統合デコーダ

Country Status (7)

Country Link
US (1) US7246298B2 (ja)
JP (1) JP2007510337A (ja)
CN (1) CN100517984C (ja)
DE (1) DE112004002008B4 (ja)
GB (1) GB2418822B (ja)
TW (1) TWI313107B (ja)
WO (1) WO2005050848A1 (ja)

Families Citing this family (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7131055B2 (en) * 2003-02-25 2006-10-31 Intel Corporation Fast bit-parallel Viterbi decoder add-compare-select circuit
US7725798B2 (en) * 2004-02-27 2010-05-25 Joanneum Research Forschungsgesellschaft Mbh Method for recovering information from channel-coded data streams
KR100630168B1 (ko) * 2004-08-09 2006-09-29 삼성전자주식회사 이동통신 시스템에서 비터비 디코더의 공유 방법 및 장치
US8023554B2 (en) 2004-10-06 2011-09-20 Broadcom Corporation Method and system for single antenna receiver system for WCDMA
TWI255622B (en) * 2004-10-21 2006-05-21 Mediatek Inc Method of computing path metrics in a high-speed Viterbi detector and related apparatus thereof
JP4432781B2 (ja) * 2005-01-17 2010-03-17 株式会社日立製作所 誤り訂正復号器
KR100675389B1 (ko) * 2005-01-27 2007-01-29 삼성전자주식회사 역추적 작업을 병렬적으로 수행하는 비터비 디코더 및 그디코딩 방법
US7450668B2 (en) * 2005-02-02 2008-11-11 At&T Intellectual Property I, L.P. Soft bit viterbi equalizer using partially collapsed metrics
US7877674B2 (en) 2006-07-25 2011-01-25 Broadcom Corporation Method and system for redundancy-based decoding of voice content in a wireless LAN system
US7917834B2 (en) * 2005-12-08 2011-03-29 Electronics And Telecommunications Research Institute Apparatus and method for computing LLR
US8127214B2 (en) * 2007-06-14 2012-02-28 Intel Corporation Unified decoder for convolutional, turbo, and LDPC codes
CN101312531B (zh) * 2007-11-02 2010-11-17 北京创毅视讯科技有限公司 一种广播***中的流媒体业务传输方法及流媒体帧封装器
TWI339956B (en) * 2007-12-31 2011-04-01 Ind Tech Res Inst Method and apparatus for convolutional turbo decoding
US8327058B2 (en) * 2008-07-25 2012-12-04 Broadcom Corporation Method and system for routing data in a parallel turbo decoder
US8332735B1 (en) * 2009-03-09 2012-12-11 Xilinx, Inc. Generating a log-likelihood ratio for signal processing
TWI383596B (zh) * 2009-04-28 2013-01-21 Via Tech Inc 維特比解碼器
CN102064839B (zh) * 2009-11-11 2013-11-20 中国科学院微电子研究所 一种高速低功耗多码率的Viterbi译码器
US8402342B2 (en) * 2010-02-26 2013-03-19 Research In Motion Limited Method and system for cyclic redundancy check
US8433004B2 (en) 2010-02-26 2013-04-30 Research In Motion Limited Low-latency viterbi survivor memory architecture and method using register exchange, trace-back, and trace-forward
WO2012032371A1 (en) * 2010-09-08 2012-03-15 Agence Spatiale Europeenne Flexible channel decoder.
JP6155959B2 (ja) * 2013-08-19 2017-07-05 富士通株式会社 復号化装置、及び、復号化方法
KR20150061253A (ko) * 2013-11-27 2015-06-04 한국전자통신연구원 하프 파이프라인 방식의 터보 디코더 및 그의 제어 방법

Family Cites Families (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
KR930004862B1 (ko) * 1990-12-17 1993-06-09 삼성전자 주식회사 상태 평가량 기억장치
JPH09182067A (ja) * 1995-10-27 1997-07-11 Toshiba Corp 画像符号化/復号化装置
JP3239870B2 (ja) * 1998-12-28 2001-12-17 日本電気株式会社 データ誤り訂正システム
US7127664B2 (en) * 2000-09-18 2006-10-24 Lucent Technologies Inc. Reconfigurable architecture for decoding telecommunications signals
JP3823731B2 (ja) 2001-01-17 2006-09-20 株式会社日立製作所 誤り訂正復号器
KR100415116B1 (ko) 2001-02-19 2004-01-13 삼성전자주식회사 비터비 디코더와 터보 디코더의 통합 디코더 및 통합디코딩 방법
US6823489B2 (en) * 2001-04-23 2004-11-23 Koninklijke Philips Electronics N.V. Generation of decision feedback equalizer data using trellis decoder traceback output in an ATSC HDTV receiver
KR100438537B1 (ko) 2001-07-19 2004-07-03 엘지전자 주식회사 이동 통신 단말기에서의 복호 장치 및 그 제어 방법
US7661059B2 (en) 2001-08-06 2010-02-09 Analog Devices, Inc. High performance turbo and Viterbi channel decoding in digital signal processors
KR100436434B1 (ko) * 2001-11-19 2004-06-16 한국전자통신연구원 상태 메트릭을 갖는 터보 복호기 및 그를 이용한 계산 방법

Also Published As

Publication number Publication date
GB2418822A (en) 2006-04-05
US20050149838A1 (en) 2005-07-07
GB2418822B (en) 2007-12-12
CN100517984C (zh) 2009-07-22
US7246298B2 (en) 2007-07-17
DE112004002008B4 (de) 2009-10-01
WO2005050848A1 (en) 2005-06-02
TWI313107B (en) 2009-08-01
DE112004002008T5 (de) 2006-09-07
GB2418822A8 (en) 2006-08-08
CN1853350A (zh) 2006-10-25
GB0600603D0 (en) 2006-02-22
TW200518475A (en) 2005-06-01

Similar Documents

Publication Publication Date Title
JP2007510337A (ja) 移動通信システムのビタビ/ターボ統合デコーダ
JP3604955B2 (ja) 畳込み復号装置
KR100803957B1 (ko) 고도의 병렬식 맵 디코더
CN1808912B (zh) 纠错译码器
JP3246484B2 (ja) ターボデコーダ
KR20010072498A (ko) 맵 디코더용 분할 디인터리버 메모리
US6563890B2 (en) Maximum a posteriori probability decoding method and apparatus
US20130007551A1 (en) Stochastic Stream Decoding of Binary LDPC Codes
EP1130789A2 (en) Soft-decision decoding of convolutionally encoded codeword
US7584389B2 (en) Turbo decoding apparatus and method
US20130007568A1 (en) Error correcting code decoding device, error correcting code decoding method and error correcting code decoding program
EP2339757B1 (en) Power-reduced preliminary decoded bits in viterbi decoder
KR100390416B1 (ko) 터보 디코딩 방법
JP2004511162A (ja) チャネルコード化のためのシステム及び方法
KR100628201B1 (ko) 터보 디코딩 방법
US7584407B2 (en) Decoder and method for performing decoding operation using map algorithm in mobile communication system
JP3823731B2 (ja) 誤り訂正復号器
Cholan Design and implementation of low power high speed Viterbi decoder
JP3892471B2 (ja) 復号方法
KR100305293B1 (ko) 터보 복호기에서 최소 메모리를 이용하여 대수 근사화 확률비를구하는 방법
JP3235333B2 (ja) ビタビ復号方法およびビタビ復号化装置
JP2006115534A5 (ja)
WO2011048997A1 (ja) 軟出力復号器
KR20010011736A (ko) 엠에이피 방식을 사용한 터보 복호기
KR20020066556A (ko) 터보 코드 복호화 장치 및 방법

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20080522

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080527

A601 Written request for extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A601

Effective date: 20080826

A602 Written permission of extension of time

Free format text: JAPANESE INTERMEDIATE CODE: A602

Effective date: 20080902

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080926

A02 Decision of refusal

Free format text: JAPANESE INTERMEDIATE CODE: A02

Effective date: 20081125