JP2004538706A - Turbo decoder with reduced size branch metric cache - Google Patents

Turbo decoder with reduced size branch metric cache Download PDF

Info

Publication number
JP2004538706A
JP2004538706A JP2003520092A JP2003520092A JP2004538706A JP 2004538706 A JP2004538706 A JP 2004538706A JP 2003520092 A JP2003520092 A JP 2003520092A JP 2003520092 A JP2003520092 A JP 2003520092A JP 2004538706 A JP2004538706 A JP 2004538706A
Authority
JP
Japan
Prior art keywords
branch metric
trellis
primary
generating
branch
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.)
Abandoned
Application number
JP2003520092A
Other languages
Japanese (ja)
Inventor
デイヴィッド ギャレット,
ビング シュー,
Original Assignee
ルーセント テクノロジーズ インコーポレーテッド
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 ルーセント テクノロジーズ インコーポレーテッド filed Critical ルーセント テクノロジーズ インコーポレーテッド
Publication of JP2004538706A publication Critical patent/JP2004538706A/en
Abandoned 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
    • 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
    • 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/3961Arrangements of methods for branch or transition metric calculation

Abstract

【課題】LogMAPターボ復号動作においてブランチ・メトリックを生成するための方法および装置を提供する。
【解決手段】トレリスの順方向再帰中に、1次ブランチ・メトリックのセットを生成する。1次ブランチ・メトリックを比較的小さいメモリ・キャッシュ・モジュール(370)に受信機形式で記憶し、1次ブランチ・メトリックをネゲートすることによって対応する2次ブランチ・メトリックを生成する。1次ブランチ・メトリックおよび前記2次ブランチ・メトリックは、トレリス中の所与の状態に関するすべての可能なブランチ・メトリックを構成する。トレリスの逆方向再帰中に、記憶済みの1次ブランチ・メトリックをメモリ・キャッシュ・モジュール(370)から取り出し、取り出した1次ブランチ・メトリックをネゲートすることによって2次ブランチ・メトリックを再生成する。
【選択図】図3
A method and apparatus for generating a branch metric in a LogMAP turbo decoding operation is provided.
A set of primary branch metrics is generated during forward recursion of the trellis. The primary branch metric is stored in a relatively small memory cache module (370) in receiver form, and a corresponding secondary branch metric is generated by negating the primary branch metric. The primary branch metric and the secondary branch metric make up all possible branch metrics for a given state in the trellis. During backward trellis recursion, the stored primary branch metric is retrieved from the memory cache module (370) and the secondary branch metric is regenerated by negating the retrieved primary branch metric.
[Selection diagram] FIG.

Description

【技術分野】
【0001】
本発明は一般に、通信システムにおける復号に関し、より詳細には、無線通信システムにおけるlogMAPターボ復号でのブランチ・メトリック計算に関する。
【背景技術】
【0002】
本出願は、2001年8月3日に出願されたオーストラリア仮出願PR6793号の優先権を主張するものである。
ターボ復号は、対話式復号およびランダム・インタリービングを利用して、シャノン限界に近いエラー性能を達成する。したがってターボ復号は、第3世代(3G)無線通信システムの場合の復号でしばしば利用される。
【0003】
トレリス図は、ある期間にわたる畳み込みエンコーダの、起こり得る状態変化を表す。トレリス中の各状態は、関連する2つのブランチ・メトリックを介して、トレリス中の次の時間枠にある2つの別々の状態に結び付けられる。受信したシンボルを復号するとき、復号アルゴリズムが一般にトレリスを順方向に横断して、個々の状態および関連するブランチ・メトリックの確率を決定する。
【0004】
logMAPアルゴリズムは、ビタビ・アルゴリズムなど他の復号アルゴリズムとは異なり、トレリス全体にわたって順方向と逆方向の両方の再帰を実施する。このアルゴリズムは、ウィンドウ化LogMAP構成を提供するように区分化することができ、各ブロックは、より小さいアルファとベータの再帰に分割される。アルファ値は、トレリス中の各状態の確率を表し、順方向の再帰で決定される。ベータ値は、各状態の反対方向の確率を表し、逆方向の再帰中に決定される。
【0005】
所与の状態に関連するブランチ・メトリックの対のそれぞれの確率が、ガンマ値(γ)である。ガンマ値は、トレリスの順方向と逆方向のそれぞれの再帰中に計算される。logMAPブランチ・メトリックは、以下の式を使用して計算される。
【数1】

Figure 2004538706
【0006】
上式で、iはパス(0または1)を表し、dおよびcはそれぞれ、予想されるデータ・ビットおよびパリティ・ビットであり、y、y、Lはそれぞれ、データ、パリティ、外来情報に関するソフト情報を表し、kは、ブランチ・メトリックが計算されているトレリス中の現在状態を表す。
【0007】
レート1/2の所与のトレリス符号では、予想される各データ・ビットdおよびパリティ・ビットcは、+1または−1の値をとる場合がある。したがって、所与の入力変数に対して、可能なブランチ・メトリックの組合せは以下の4つがある。
(y+L+y) d=+1、c=+1の場合
(y+L−y) d=+1、c=−1の場合
(−y−L−y) d=−1、c=−1の場合
(−y−L+y) d=−1、c=+1の場合
【0008】
順方向の再帰段階でトレリスを横断するときは、入力シンボルと外来メモリの両方にアクセスしてガンマ値を計算しなければならない。図1に、レート1/2のデコーダの場合にブランチ・メトリックを計算するための従来技術の構成100を示す。データ(y)130およびパリティ(y)140を第1のメモリ120から読み出す。第1のメモリ120からの読出しアクセスに必要な時間および電力は、第1のメモリ120のサイズに比例する。第1のメモリ120は、復号されているブロックの長さ全体にわたるデータおよびパリティの情報を記憶できるよう十分に大きくなければならない。第1のメモリ120のサイズは通常、移動通信の適用例では約5kワードである。
【0009】
データ130とパリティ140は、単一の第1のメモリ120ではなく2つの別々のメモリ・ユニットに記憶することも可能である。しかし、必要なデータ130とパリティ140を別々のメモリ・ユニットから読み出すには、情報を取り出すことに加えて2回のアドレス復号が必要になるので、このような実装形態に関連する明らかな利点はないと思われる。このような実装形態は、単一メモリ・ユニットの実装形態よりもそれほど速いわけではなく、より多くの電力を必要とする。
【0010】
プロセッサ150が、データ130およびパリティ140を、第2のメモリ110から読み出された外来情報(L)115と共に受け取って、トレリス中のすべてのパスに対応する出力ブランチ・メトリック155を生成する。出力ブランチ・メトリック155はトレリス計算モジュール160に提示され、トレリス計算モジュール160は出力ブランチ・メトリック155を利用してトレリスを横断する。
【0011】
ベータ値を計算するためにトレリスの逆方向再帰が開始したときは、ブランチ・メトリック計算のための4つの可能な組合せをそれぞれ再生成しなければならない。このためには、プロセッサ150中での計算コストに加えて、データおよびパリティの情報を記憶しているメモリ120への読出しアクセスと、外来情報を記憶している第2のメモリ110への1回の読出しアクセスとが必要である。前述のように、各メモリ・アクセスの時間および電力消費はメモリ・セルの数に直接に比例し、したがって、第1のメモリ120と第2のメモリ110のどちらかへの読出しアクセスはそれぞれ、電力消費の点でコストがかかる。このため、第1のメモリ120と第2のメモリ110のうちの一方または両方への読出しアクセスの数を削減することが有利であろう。
【0012】
図2に、レート1/3のLogMAPデコーダの場合にブランチ・メトリックを計算するための従来技術の構成200を示す。ブランチ・メトリックの組合せは以下の式2によって得られる。この式で、yp1は第1のパリティ・ビットを表し、yp2は第2のパリティ・ビットを表し、cは予想される第1のパリティ・ビットを表し、cは予想される第2のパリティ・ビットを表す。
【数2】
Figure 2004538706
【0013】
d、c、cはそれぞれ+1と−1のどちらかである可能性があるので、レート1/3デコーダの場合、可能なブランチ・メトリックの組合せは8つある。
【0014】
第1のメモリ220が、データ(y)230、第1のパリティ(yp1)240、第2のパリティ(yp2)245のそれぞれを記憶している。データ(y)230、第1のパリティ(yp1)240、第2のパリティ(yp2)245はそれぞれ、第1のメモリ220から読み出され、プロセッサ250に提示される。プロセッサ250はまた、第2のメモリ210から読み出された外来情報(L)215も受け取る。プロセッサ250は、すべてのブランチ・メトリック255を計算し、これらのブランチ・メトリック255をトレリス計算モジュール260に提示する。
【0015】
復号トレリスの逆方向再帰中にブランチ・メトリックを再利用することができるよう、復号トレリスの順方向再帰中に計算されたブランチ・メトリックはしばしばメモリ・ユニットに記憶される。順方向再帰中に計算されたブランチ・メトリックがすべて記憶されるので、利用されるメモリ・ユニットは大きいものである必要がある。前述のように、このようなメモリ・ユニットへの読出しアクセスは、電力消費および時間の点でコストがかかる。
【0016】
UMTSおよびCDMA2000システムでは、ベースバンド処理における計算の約40%がターボ復号プロセスだけにある。単一のコンポーネントが、低電力ハンドセットまたは大インフラストラクチャ製品の電力消費を支配する可能性がある。電池寿命が最優先事項であるハンドセット市場では、あるいは熱散逸が重要である無線インフラストラクチャ製品のパッケージングでは、どんな量の節電もかなりの利点になる。
【特許文献1】
オーストラリア仮出願PR6793号
【発明の開示】
【発明が解決しようとする課題】
【0017】
本発明は、少なくとも2つのブランチ・メトリックを生成する方法を提供する。この方法では、相互に逆の極性を有するブランチ・メトリックを生成する。
【課題を解決するための手段】
【0018】
本発明の一実施形態では、少なくとも1つの1次ブランチ・メトリックと、少なくとも1つの2次ブランチ・メトリックを生成する。2次ブランチ・メトリックは、1次ブランチ・メトリックをネゲートすることによって生成する。
【0019】
本発明の一例では、ある方法により、LogMAPターボ復号動作においてブランチ・メトリックを生成することが可能である。この方法は、トレリスの順方向再帰中に、外来とパリティと情報のデータの1次的な組合せのそれぞれについてブランチ・メトリックを生成すること、および、1次ブランチ・メトリックを記憶して、ネゲートによってブランチ・メトリックのうちの残りの2次ブランチ・メトリックを生成することを含む。また、トレリスの逆方向再帰中に、記憶済みの1次ブランチ・メトリックを取り出すこと、および、取り出した1次ブランチ・メトリックをネゲートすることによって2次ブランチ・メトリックを生成することを含む。
【0020】
本発明の他の態様も開示する。
本発明は、添付の図面を参照しながら、非限定的な実施形態に関する後続の説明を読めば、よりよく理解されるであろう。
【0021】
本出願の図面は、正確な縮尺で描いたものではなく、単なる概略図であり、したがって本発明の特定の寸法を表すものではないことを強調しておく。本発明の寸法は、当業者なら本明細書の開示を検討することによって決定することができるであろう。
【発明を実施するための最良の形態】
【0022】
添付の図面のいずれか1つまたは複数において、同じ参照番号を有する工程および/または機構を参照する場合、本明細書ではこれらの工程および/または機構は、逆の意味が記されていない限り、同じ機能または動作を有する。
【0023】
図3に、ブランチ・メトリック・キャッシュ370を利用するレート1/2のLogMAPターボ復号の場合の構成300を示す。符号化トレリスの順方向再帰中、データ(y)330およびパリティ(y)340にアクセスするために、第1のメモリ320からの読出しアクセスが必要である。データ(y)330およびパリティ(y)340はそれぞれ、通常は8ビットの情報で記述される。外来情報315が、第2のメモリ310から読み出される。メモリ310および320の容量は通常、移動実装形態の場合は5キロバイトである。取り出されたデータ330、パリティ340、外来情報315はそれぞれ、第1のプロセッサ350に提示される。第1のプロセッサ350は、取り出されたパリティ、外来、情報のデータから、データの適切な組合せの所定の半分を計算し、それにより1次ブランチ・メトリックのセット355を提供する。セット355は、キャッシュ・メモリ370に記憶され、また、トレリス計算モジュール360および第2のプロセッサ390のそれぞれにも提供される。第2のプロセッサ390は、1次ブランチ・メトリックのセット355をネゲートして、2次ブランチ・メトリックのセット395を生成する。これらの2次ブランチ・メトリックは、トレリス計算モジュール360に提供される。
【0024】
トレリス構造は対称なので、レート1/2のトレリス・デコーダの場合、4つの可能なブランチ・メトリックの組合せのうちの2つを、他の2つの可能な組合せから生成することができる。したがって、(y+L+y)および(y+L−y)をネゲートして、(−y−L−y)および(−y−L+y)をそれぞれ生成することができる。計算されるブランチ・メトリックの組合せは、1次ブランチ・メトリックである。1次ブランチ・メトリックの組合せをネゲートすることによって得られる、対応するブランチ・メトリックの組合せは、2次ブランチ・メトリックの組合せである。1次ブランチ・メトリックのセットがキャッシュ・メモリ370に記憶されるので、トレリスの順方向再帰中は、2つのメモリ・ユニット310および320からのデータ、パリティ、対応する外来情報にアクセスするだけでよい。残りの2つのブランチ・メトリックは、計算された最初の2つのブランチ・メトリックをネゲートすることによって計算される。ネゲートは、処理時間と電力消費の両方からみて相対的に低費用であり、第2のプロセッサ390によって行われる。すべての可能なブランチ・メトリックの組合せが順方向再帰中にトレリス計算モジュール360に提示されて、アルファ値が決定される。
【0025】
最初の2つのブランチ・メトリックをネゲートすることによって2つのブランチ・メトリックを生成することができるので、計算された最初の2つのブランチ・メトリックだけがブランチ・メトリック・キャッシュ370に記憶される。したがって、ブランチ・メトリック・キャッシュのサイズは、可能なブランチ・メトリックのセットの半分を記憶するのに十分な大きさであればよく、このため、このキャッシュは縮小セット・ブランチ・メトリック・キャッシュと呼ぶことができる。
【0026】
必要なベータ値を計算するためにトレリスの逆方向再帰が開始したときは、トレリス・プロセッサ360は制御信号365を送って、縮小セット・ブランチ・メトリック・キャッシュ370から、順方向トレリス再帰中に記憶された1次ブランチ・メトリック355を取り出す。これにより、第1のメモリ320および第2のメモリ310のそれぞれへのメモリ・アクセスが不要になる。縮小セット・ブランチ・メトリック・キャッシュ370のサイズが比較的小さく、一般にほぼウィンドウ・サイズなので、必要な1次ブランチ・メトリックを縮小セット・ブランチ・メトリック・キャッシュ370から取り出すための読出しアクセスに要する時間および電力は、比較できる第1のメモリ320と第2のメモリ310のどちらかからの読出しアクセスよりもかなり少ない。さらに、1次ブランチ・メトリック355を縮小セット・ブランチ・メトリック・キャッシュ370から直接取り出すことにより、トレリスの逆方向再帰では、プロセッサ350が順方向トレリス横断中に行った計算を省略することができる。したがって、比較的小さい縮小セット・ブランチ・メトリック・キャッシュ370を利用することで、従来技術の構成に勝る望ましい時間および電力の節約が可能になる。取り出された1次ブランチ・メトリック380は、トレリス計算モジュール360および第2のプロセッサ390のそれぞれに提示される。取り出された1次ブランチ・メトリック380のネゲートが第2のプロセッサ390によって再度行われて、2次ブランチ・メトリック385が生成され、トレリス計算に必要なブランチ・メトリックのセットが完成する。
【0027】
縮小セット・ブランチ・メトリック・キャッシュ370は、復号トレリスの順方向再帰中に生成される可能なブランチ・メトリックの組合せの半分を記憶するのに必要であるにすぎないので、小さい専用メモリ・ユニットを使用して実現することができる。任意のメモリ・ユニットへの読出しアクセスに関連する電力消費は、アクセスされているメモリ・ユニットのサイズに応じて決まる。縮小セット・ブランチ・メトリック・キャッシュ370は、復号トレリスの順方向再帰中に計算されるブランチ・メトリックの組合せすべてを記憶するのに必要なメモリ・ユニットよりはかなり小さいので、縮小セット・ブランチ・メトリック・キャッシュ370への読出しアクセスはより速く、その消費電力はより少ない。
【0028】
図4に、レート1/3のデコーダの場合のlogMAP復号の構成400を示す。符号化トレリスの順方向再帰中に、第1のメモリ420からの読出しアクセスにより、データ(y)430、第1のパリティ(yp1)440、第2のパリティ(yp2)445が得られる。第2のメモリ410からの読出しアクセスにより、外来情報(L)415が得られる。データ(y)430、第1のパリティ(yp1)440、第2のパリティ(yp2)445、外来情報(L)415はそれぞれ、第1のプロセッサ450に提示される。第1のプロセッサ450は、入力パラメータから4つの可能なブランチ・メトリック455を生成し、これらのブランチ・メトリック455を縮小セット・ブランチ・メトリック・キャッシュ470、第2のプロセッサ490、トレリス計算モジュール460のそれぞれに提示する。ブランチ・メトリック455はそれぞれ、縮小セット・ブランチ・メトリック・キャッシュ470に記憶される。次いで第2のプロセッサ490は、最初の4つのブランチ・メトリックの組合せ455をネゲートすることによって残りの4つの可能な組合せを生成し、2次ブランチ・メトリック・セット495を生成する。これらはトレリス計算モジュール460に提示される。
【0029】
トレリスの逆方向再帰中、トレリス計算モジュール460は、ブランチ・メトリックを再計算する必要なしに、縮小セット・ブランチ・メトリック・キャッシュ470からブランチ・メトリック455を取り出す。これにより、かなりの電力および時間の節約を実現する。トレリス計算モジュールは、縮小セット・ブランチ・メトリック・キャッシュ470に制御信号465を送る。トレリスの順方向再帰中に記憶されたブランチ・メトリック455がアクセスを受け、これらは、取り出されたブランチ・メトリック480として、トレリス計算モジュール460および第2のプロセッサ490のそれぞれに提示される。第2のプロセッサ490は、取り出されたブランチ・メトリック480をネゲートして、2次ブランチ・メトリック485を生成する。これらがトレリス計算モジュール460に提示されて、トレリス計算に必要なブランチ・メトリックのセットが完成する。
【0030】
レート1/3の復号適用例でのブランチ・メトリック・キャッシュは、レート1/2の復号適用例でのブランチ・メトリック・キャッシュよりも多くの情報を記憶する必要があり、したがってこれはより大きいサイズでなければならないが、これに対応して、レート1/3の復号適用例で利用されるメモリ・ユニットも、レート1/2の復号で利用されるメモリ・ユニットよりも大きくなければならない。したがって、比較的小さい専用ブランチ・メトリック・キャッシュを利用する原理は、復号レートの任意の組合せに拡大することができる。
【0031】
本明細書に述べた方法および構成の原理は、遠隔通信システムにおけるトレリス復号に一般的に適用可能である。
この特定の発明を例示的な実施形態に関して述べたが、この記述は限定的な意味で解釈すべきものではない。本発明について述べてきたが、この記述を参照すれば、本明細書に添付する特許請求の範囲に述べる本発明の趣旨を逸脱することなく、本発明の例示的な実施形態の様々な修正ならびに追加の実施形態も当業者には明らかになることを理解されたい。したがって、この方法、システム、これらの一部、述べた方法およびシステムの一部は、無線ユニット、基地局、基地局コントローラ、移動切換えセンタ、および/またはレーダ・システムなど、種々の位置で実現することができる。さらに、述べたシステムを実現および使用するのに必要な処理回路は、特定用途向け集積回路、ソフトウェア駆動型の処理回路、ファームウェア、プログラム可能な論理デバイス、ハードウェア、離散コンポーネントにおいて、あるいは本開示により当業者に理解されるであろうこれらのコンポーネントの各種構成において実現することができる。これらおよび他の様々な修正、構成、および方法は、本明細書に図示および記述した例示的な適用例に厳密に従うことなく、また本発明の趣旨および範囲を逸脱することなく、本発明に加えることができることを、当業者なら容易に認識するであろう。したがって、添付の特許請求の範囲は、本発明の真の範囲に含まれるこのような修正または実施形態のいずれも包含するものとする。
【図面の簡単な説明】
【0032】
【図1】レート1/2のデコーダの場合にブランチ・メトリックを計算するための既知の構成を表すブロック図である。
【図2】レート1/3のデコーダの場合にブランチ・メトリックを計算するための既知の構成を表すブロック図である。
【図3】ブランチ・メトリック・キャッシュを利用するレート1/2のlogMAPターボ・デコーダの構成を表す概略ブロック図である。
【図4】ブランチ・メトリック・キャッシュを利用するレート1/5のlogMAPターボ・デコーダの構成を表す概略ブロック図である。【Technical field】
[0001]
The present invention relates generally to decoding in communication systems, and more particularly to branch metric calculation with logMAP turbo decoding in wireless communication systems.
[Background Art]
[0002]
This application claims priority to Australian Provisional Application PR6793, filed August 3, 2001.
Turbo decoding utilizes interactive decoding and random interleaving to achieve error performance near the Shannon limit. Thus, turbo decoding is often used in decoding for third generation (3G) wireless communication systems.
[0003]
The trellis diagram represents the possible state changes of the convolutional encoder over a period of time. Each state in the trellis is tied to two separate states in the next time frame in the trellis via two associated branch metrics. When decoding received symbols, decoding algorithms generally traverse the trellis in a forward direction to determine the probabilities of the individual states and associated branch metrics.
[0004]
The logMAP algorithm, unlike other decoding algorithms such as the Viterbi algorithm, performs both forward and reverse recursion over the trellis. This algorithm can be partitioned to provide a windowed LogMAP configuration, where each block is divided into smaller alpha and beta recursions. The alpha value represents the probability of each state in the trellis and is determined by forward recursion. The beta value represents the opposite probability of each state and is determined during the backward recursion.
[0005]
The probability of each pair of branch metrics associated with a given state is a gamma value (γ). The gamma value is calculated during each forward and backward recursion of the trellis. The logMAP branch metric is calculated using the following formula:
(Equation 1)
Figure 2004538706
[0006]
In the above equation, i is represents the path (0 or 1), respectively, d and c, are data bits and parity bits are expected, y s, y p, L e , respectively, data, parity, foreign Represents soft information about the information, and k represents the current state in the trellis for which the branch metric is being calculated.
[0007]
For a given rate 1/2 trellis code, each expected data bit d and parity bit c may have a value of +1 or -1. Thus, for a given input variable, there are four possible combinations of branch metrics:
(Y s + L e + y p) d = + 1, the case of c = + 1 (y s + L e -y p) For d = + 1, c = -1 (-y s -L e -y p) d = - 1, in the case of c = -1 (-y s -L e + y p) d = -1, if the c = + 1 [0008]
When traversing the trellis in the forward recursion stage, both the input symbol and the extrinsic memory must be accessed to calculate the gamma value. FIG. 1 shows a prior art configuration 100 for calculating branch metrics for a rate 1/2 decoder. The data (y s ) 130 and the parity (y p ) 140 are read from the first memory 120. The time and power required for a read access from the first memory 120 is proportional to the size of the first memory 120. The first memory 120 must be large enough to store data and parity information over the entire length of the block being decoded. The size of the first memory 120 is typically about 5k words for mobile communication applications.
[0009]
Data 130 and parity 140 can also be stored in two separate memory units instead of a single first memory 120. However, the obvious advantage associated with such an implementation is that reading the required data 130 and parity 140 from separate memory units requires two address decodings in addition to retrieving the information. I don't think there is. Such an implementation is not much faster than a single memory unit implementation and requires more power.
[0010]
Processor 150 receives data 130 and parity 140 along with extrinsic information (L e ) 115 read from second memory 110 and generates output branch metrics 155 corresponding to all paths in the trellis. Output branch metrics 155 are presented to trellis calculation module 160, which utilizes output branch metrics 155 to traverse the trellis.
[0011]
When the backward recursion of the trellis is started to calculate the beta value, each of the four possible combinations for branch metric calculation must be regenerated. For this purpose, in addition to the computational cost in the processor 150, a read access to the memory 120 storing data and parity information and a one-time access to the second memory 110 storing external information are performed. Read access is required. As described above, the time and power consumption of each memory access is directly proportional to the number of memory cells, so that a read access to either first memory 120 or second memory 110 requires Costly in terms of consumption. Thus, it would be advantageous to reduce the number of read accesses to one or both of the first memory 120 and the second memory 110.
[0012]
FIG. 2 shows a prior art configuration 200 for calculating branch metrics for a rate 1/3 LogMAP decoder. The combination of branch metrics is obtained by Equation 2 below. In this equation, y p1 represents a first parity bits, y p2 represents a second parity bit, c 1 represents a first parity bits expected, the c 2 is expected 2 parity bits.
(Equation 2)
Figure 2004538706
[0013]
Since d, c 1 and c 2 can each be either +1 or −1, there are eight possible branch metric combinations for a rate 3 decoder.
[0014]
The first memory 220 stores data (y s ) 230, a first parity (y p1 ) 240, and a second parity (y p2 ) 245. The data (y s ) 230, the first parity (y p1 ) 240, and the second parity (y p2 ) 245 are each read from the first memory 220 and presented to the processor 250. The processor 250 also receives the extrinsic information (L e ) 215 read from the second memory 210. Processor 250 calculates all branch metrics 255 and presents these branch metrics 255 to trellis calculation module 260.
[0015]
The branch metrics calculated during the forward recursion of the decoding trellis are often stored in a memory unit so that the branch metrics can be reused during the backward recursion of the decoding trellis. Since all the branch metrics calculated during forward recursion are stored, the memory units used need to be large. As mentioned above, read access to such memory units is costly in terms of power consumption and time.
[0016]
In UMTS and CDMA2000 systems, about 40% of the calculations in baseband processing are in the turbo decoding process only. A single component can dominate the power consumption of a low power handset or large infrastructure product. In the handset market where battery life is a top priority, or in the packaging of wireless infrastructure products where heat dissipation is important, any amount of power savings can be a significant advantage.
[Patent Document 1]
Australian provisional application PR6793 [Disclosure of the invention]
[Problems to be solved by the invention]
[0017]
The present invention provides a method for generating at least two branch metrics. In this method, branch metrics having opposite polarities are generated.
[Means for Solving the Problems]
[0018]
In one embodiment of the present invention, at least one primary branch metric and at least one secondary branch metric are generated. The secondary branch metric is generated by negating the primary branch metric.
[0019]
In one example of the present invention, a method can generate a branch metric in a LogMAP turbo decoding operation. The method includes generating a branch metric for each primary combination of extraneous and parity and information data during forward recursion of the trellis, and storing the primary branch metric and negotiating Generating the remaining secondary branch metrics of the branch metrics. Also, during backward trellis recursion of the trellis, retrieving the stored primary branch metric and generating a secondary branch metric by negating the retrieved primary branch metric.
[0020]
Other aspects of the invention are also disclosed.
BRIEF DESCRIPTION OF THE DRAWINGS The invention will be better understood on reading the following description of non-limiting embodiments, with reference to the accompanying drawings, in which: FIG.
[0021]
It is emphasized that the drawings in the present application are not drawn to scale, but are only schematic views, and thus do not represent a particular dimension of the invention. The dimensions of the present invention can be determined by one of ordinary skill in the art upon reviewing the disclosure herein.
BEST MODE FOR CARRYING OUT THE INVENTION
[0022]
In any one or more of the accompanying drawings, when referring to steps and / or features having the same reference number, the steps and / or features in this specification are referred to, unless otherwise stated. Have the same function or operation.
[0023]
FIG. 3 shows a configuration 300 for rate 1/2 LogMAP turbo decoding utilizing a branch metric cache 370. During the forward recursion of the encoded trellis, a read access from the first memory 320 is required to access the data (y s ) 330 and the parity (y p ) 340. Each of the data (y s ) 330 and the parity (y p ) 340 is usually described by 8 bits of information. The foreign information 315 is read from the second memory 310. The capacity of memories 310 and 320 is typically 5 kilobytes for mobile implementations. The retrieved data 330, parity 340, and foreign information 315 are each presented to the first processor 350. The first processor 350 computes a predetermined half of the appropriate combination of data from the retrieved parity, extraneous, and informational data, thereby providing a set 355 of primary branch metrics. Set 355 is stored in cache memory 370 and is also provided to trellis calculation module 360 and second processor 390, respectively. The second processor 390 negates the set 355 of primary branch metrics to generate a set 395 of secondary branch metrics. These secondary branch metrics are provided to trellis calculation module 360.
[0024]
Since the trellis structure is symmetric, for a rate 1/2 trellis decoder, two of the four possible branch metric combinations can be generated from the other two possible combinations. Therefore, (y s + L e + y p) and negates the (y s + L e -y p ), - generating (y s -L e -y p) and the (-y s -L e + y p ) , respectively can do. The calculated branch metric combination is the primary branch metric. The corresponding branch metric combination obtained by negating the primary branch metric combination is a secondary branch metric combination. Because the set of primary branch metrics is stored in cache memory 370, only the data, parity, and corresponding extrinsic information from the two memory units 310 and 320 need be accessed during the forward recursion of the trellis. . The remaining two branch metrics are calculated by negating the first two calculated branch metrics. Negation is relatively inexpensive, both in terms of processing time and power consumption, and is performed by the second processor 390. All possible branch metric combinations are presented to trellis calculation module 360 during forward recursion to determine the alpha value.
[0025]
Since the two branch metrics can be generated by negating the first two branch metrics, only the calculated first two branch metrics are stored in the branch metric cache 370. Thus, the size of the branch metric cache need only be large enough to store half of the set of possible branch metrics, and this cache is referred to as a reduced set branch metric cache. be able to.
[0026]
When the backward recursion of the trellis begins to calculate the required beta value, trellis processor 360 sends a control signal 365 to store from reduced set branch metric cache 370 during forward trellis recursion. The extracted primary branch metric 355 is extracted. This eliminates the need for memory access to each of the first memory 320 and the second memory 310. Since the size of the reduced set branch metric cache 370 is relatively small, typically near window size, the time required for read access to retrieve the required primary branch metrics from the reduced set branch metric cache 370 and The power is significantly less than a read access from either comparable first memory 320 or second memory 310. Further, by retrieving the primary branch metric 355 directly from the reduced set branch metric cache 370, the backward recursion of the trellis may omit the calculations performed by the processor 350 during the forward trellis traversal. Thus, utilizing a relatively small reduced set branch metric cache 370 allows for desirable time and power savings over prior art configurations. The retrieved primary branch metric 380 is presented to each of the trellis calculation module 360 and the second processor 390. Negation of the retrieved primary branch metric 380 is performed again by the second processor 390 to generate a secondary branch metric 385, completing the set of branch metrics required for trellis computation.
[0027]
The reduced set branch metric cache 370 uses a small dedicated memory unit because it only needs to store half of the possible branch metric combinations generated during the forward recursion of the decoding trellis. Can be implemented using The power consumption associated with a read access to any memory unit depends on the size of the memory unit being accessed. Since reduced set branch metric cache 370 is much smaller than the memory unit required to store all combinations of branch metrics computed during the forward recursion of the decoding trellis, the reduced set branch metric cache Read access to cache 370 is faster and consumes less power.
[0028]
FIG. 4 shows a configuration 400 of logMAP decoding for a rate 1/3 decoder. During forward recursion of the encoded trellis, read access from the first memory 420 yields data (y s ) 430, a first parity (y p1 ) 440, and a second parity (yp 2 ) 445. . By the read access from the second memory 410, the extrinsic information (L e ) 415 is obtained. The data (y s ) 430, the first parity (y p1 ) 440, the second parity (yp 2 ) 445, and the extrinsic information (L e ) 415 are each presented to the first processor 450. The first processor 450 generates four possible branch metrics 455 from the input parameters and divides these branch metrics 455 into a reduced set branch metric cache 470, a second processor 490, and a trellis calculation module 460. Present to each. Each of the branch metrics 455 is stored in a reduced set branch metric cache 470. The second processor 490 then generates the remaining four possible combinations by negating the first four branch metric combinations 455 and generates a secondary branch metric set 495. These are presented to the trellis calculation module 460.
[0029]
During backward trellis recursion, trellis calculation module 460 retrieves branch metrics 455 from reduced set branch metric cache 470 without having to recalculate branch metrics. This provides significant power and time savings. The trellis calculation module sends a control signal 465 to the reduced set branch metric cache 470. The stored branch metrics 455 are accessed during the forward recursion of the trellis, and are presented to the trellis calculation module 460 and the second processor 490 as retrieved branch metrics 480, respectively. The second processor 490 negates the retrieved branch metric 480 to generate a secondary branch metric 485. These are presented to trellis calculation module 460 to complete the set of branch metrics required for trellis calculation.
[0030]
The branch metric cache in the rate 3 decoding application needs to store more information than the branch metric cache in the rate 復 号 decoding application, and thus has a larger size. Correspondingly, the memory units used in rate 1/3 decoding applications must also be larger than the memory units used in rate 1/2 decoding. Thus, the principle of utilizing a relatively small dedicated branch metric cache can be extended to any combination of decoding rates.
[0031]
The principles of the methods and arrangements described herein are generally applicable to trellis decoding in telecommunications systems.
Although this particular invention has been described with reference to exemplary embodiments, this description should not be construed in a limiting sense. Having described the invention, reference may be made to this description, without departing from the spirit of the invention, which is set forth in the claims appended hereto, for various modifications of the illustrative embodiment, as well as for the invention. It should be understood that additional embodiments will be apparent to those skilled in the art. Accordingly, the methods, systems, portions thereof, and portions of the described methods and systems are implemented at various locations, such as wireless units, base stations, base station controllers, mobile switching centers, and / or radar systems. be able to. Furthermore, the processing circuitry required to implement and use the described systems may be in application specific integrated circuits, software driven processing circuits, firmware, programmable logic devices, hardware, discrete components, or in accordance with the present disclosure. It can be implemented in various configurations of these components as will be appreciated by those skilled in the art. These and various other modifications, arrangements, and methods may be added to the invention without strictly following the exemplary applications shown and described herein and without departing from the spirit and scope of the invention. Those skilled in the art will readily recognize that this is possible. It is therefore intended that the appended claims cover any such modifications or embodiments that fall within the true scope of the invention.
[Brief description of the drawings]
[0032]
FIG. 1 is a block diagram illustrating a known configuration for calculating branch metrics for a rate デ コ ー ダ decoder.
FIG. 2 is a block diagram illustrating a known configuration for calculating a branch metric for a rate 1/3 decoder.
FIG. 3 is a schematic block diagram showing the configuration of a rate 1/2 logMAP turbo decoder utilizing a branch metric cache.
FIG. 4 is a schematic block diagram illustrating the configuration of a rate 1/5 logMAP turbo decoder utilizing a branch metric cache.

Claims (15)

少なくとも順方向の再帰中に、外来とパリティと情報のデータの1次的な組合せについて少なくとも2つのブランチ・メトリックを生成することを含む復号方法であって、前記少なくとも2つのブランチ・メトリックのうちの1つが、前記少なくとも2つのブランチ・メトリックのうちの別のブランチ・メトリックとは逆の極性を有する方法。A decoding method comprising generating at least two branch metrics for a primary combination of extraneous, parity, and information data during at least forward recursion, wherein the at least two branch metrics include: A method wherein one has a polarity opposite to another of the at least two branch metrics. 少なくとも逆方向の再帰中に、前記生成した少なくとも2つのブランチ・メトリックから2次ブランチ・メトリックを生成することをさらに含む、請求項1に記載の方法。The method of claim 1, further comprising generating a secondary branch metric from the generated at least two branch metrics during at least backward recursion. 前記1次的な組合せについて生成したブランチ・メトリックを記憶して、それに対応する前記2次ブランチ・メトリックを生成することをさらに含む、請求項2に記載の方法。The method of claim 2, further comprising storing a generated branch metric for the primary combination and generating a corresponding secondary branch metric. 前記2次ブランチ・メトリックが、前記1次的な組合せについて生成した対応する記憶済みブランチ・メトリックのネゲートである、請求項3に記載の方法。4. The method of claim 3, wherein the secondary branch metric is a negation of a corresponding stored branch metric generated for the primary combination. 前記2次ブランチ・メトリックを生成する工程が、
少なくとも逆方向の再帰中に、前記1次的な組合せについて生成した記憶済みブランチ・メトリックを取り出すことを含む、請求項4に記載の方法。
Generating the secondary branch metric comprises:
5. The method of claim 4, comprising retrieving a stored branch metric generated for the linear combination at least during recursion in the backward direction.
2次ブランチ・メトリックを生成する工程が、
前記1次的な組合せについて生成した、取り出したブランチ・メトリックをネゲートすることを含む、請求項5に記載の方法。
Generating the secondary branch metric comprises:
6. The method of claim 5, comprising negating the retrieved branch metrics generated for the linear combination.
前記順方向の再帰および前記逆方向の再帰がトレリス・アルゴリズムの一部である、請求項6に記載の方法。The method of claim 6, wherein the forward recursion and the backward recursion are part of a trellis algorithm. ブランチ・メトリックを生成する方法であって、
少なくとも1つの1次ブランチ・メトリックを生成すること、
前記1次ブランチ・メトリックをネゲートすることによって少なくとも1つの2次ブランチ・メトリックを生成することを含む方法。
A method for generating branch metrics, comprising:
Generating at least one primary branch metric;
A method comprising generating at least one secondary branch metric by negating said primary branch metric.
前記1次ブランチ・メトリックが、データ、パリティ情報、外来情報から生成される、請求項8に記載の方法。The method according to claim 8, wherein the primary branch metric is generated from data, parity information, and extrinsic information. 前記ブランチ・メトリックがLogMAP復号および/またはターボ復号の動作で利用される、請求項9に記載の方法。The method of claim 9, wherein the branch metric is utilized in LogMAP decoding and / or turbo decoding operations. 少なくとも1つの1次ブランチ・メトリックを生成するための第1の処理ユニットと、
前記1次ブランチ・メトリックをネゲートすることによって少なくとも1つの2次ブランチ・メトリックを生成するための第2の処理ユニットとを備えるデコーダ。
A first processing unit for generating at least one primary branch metric;
A second processing unit for generating at least one secondary branch metric by negating the primary branch metric.
データ、パリティ情報、外来情報を保持するための少なくとも1つの記憶域をさらに備え、
前記第1の処理ユニットが、トレリスの順方向の再帰で前記データ、前記パリティ情報、前記外来情報を前記少なくとも1つの記憶域から取り出して、前記少なくとも1つの1次ブランチ・メトリックを生成し、
さらに、前記順方向の再帰で前記少なくとも1つの1次ブランチ・メトリックを記憶するためのメモリ・キャッシュ・モジュールと、
前記少なくとも1つの1次ブランチ・メトリック、および前記第2の処理ユニットからの前記対応する2次ブランチ・メトリックを受け取って、前記トレリスを順方向の再帰で復号するためのトレリス計算機モジュールとを備える、請求項11に記載のデコーダ。
Further comprising at least one storage area for holding data, parity information, and foreign information;
The first processing unit retrieves the data, the parity information, and the extraneous information from the at least one storage area in a forward recursion of a trellis to generate the at least one primary branch metric;
A memory cache module for storing the at least one primary branch metric in the forward recursion;
A trellis calculator module for receiving the at least one primary branch metric and the corresponding secondary branch metric from the second processing unit and decoding the trellis in a forward recursion. The decoder according to claim 11.
前記トレリス計算モジュールが、前記少なくとも1つの1次ブランチ・メトリックを前記メモリ・キャッシュ・モジュールから取り出し、前記対応する2次ブランチ・メトリックを前記第2の処理ユニットから取り出して、前記トレリスを逆方向の再帰方向で復号する、請求項12に記載のデコーダ。The trellis calculation module retrieves the at least one primary branch metric from the memory cache module, retrieves the corresponding secondary branch metric from the second processing unit, and retrieves the trellis in a reverse direction. 13. The decoder according to claim 12, wherein decoding is performed in a recursive direction. 移動電話ハンドセットと、
セルラー基地局と、
遠隔通信衛星と、
マイクロ波基地局とで構成されるグループから選択されたデバイス中に実装される、請求項13に記載のデコーダ。
A mobile phone handset,
A cellular base station,
Telecommunications satellites,
14. The decoder of claim 13, implemented in a device selected from the group consisting of: a microwave base station.
LogMAPデコーダおよび/またはターボ・デコーダ中に実装される、請求項13に記載のデコーダ。14. The decoder according to claim 13, implemented in a LogMAP decoder and / or a turbo decoder.
JP2003520092A 2001-08-03 2002-08-02 Turbo decoder with reduced size branch metric cache Abandoned JP2004538706A (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
AUPR6793A AUPR679301A0 (en) 2001-08-03 2001-08-03 Arrangement for low power turbo decoding
PCT/US2002/024537 WO2003015290A1 (en) 2001-08-03 2002-08-02 Turbo decoder with reduced-size branch metric cache

Publications (1)

Publication Number Publication Date
JP2004538706A true JP2004538706A (en) 2004-12-24

Family

ID=3830749

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003520092A Abandoned JP2004538706A (en) 2001-08-03 2002-08-02 Turbo decoder with reduced size branch metric cache

Country Status (5)

Country Link
EP (1) EP1413062A1 (en)
JP (1) JP2004538706A (en)
KR (1) KR20040023709A (en)
AU (1) AUPR679301A0 (en)
WO (1) WO2003015290A1 (en)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
GB0504483D0 (en) 2005-03-03 2005-04-13 Ttp Communications Ltd Trellis calculations
KR200452419Y1 (en) * 2008-06-03 2011-02-25 이경룡 outlet
CN115085742B (en) * 2022-08-18 2022-11-15 杰创智能科技股份有限公司 Decoding method, decoding device, electronic equipment and storage medium

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5539757A (en) * 1993-12-22 1996-07-23 At&T Corp. Error correction systems with modified Viterbi decoding

Also Published As

Publication number Publication date
AUPR679301A0 (en) 2001-08-30
WO2003015290A1 (en) 2003-02-20
EP1413062A1 (en) 2004-04-28
KR20040023709A (en) 2004-03-18

Similar Documents

Publication Publication Date Title
US7127664B2 (en) Reconfigurable architecture for decoding telecommunications signals
JP4478668B2 (en) Method and system for interleaving in parallel turbo decoders.
US7246298B2 (en) Unified viterbi/turbo decoder for mobile communication systems
JP3246484B2 (en) Turbo decoder
JP2004080508A (en) Decoding method for error correction code, its program, and its device
JPH09232973A (en) Viterbi decoder
US6865710B2 (en) Butterfly processor for telecommunications
KR20080098391A (en) Map decoder with bidirectional sliding window architecture
US7020214B2 (en) Method and apparatus for path metric processing in telecommunications systems
US6580767B1 (en) Cache and caching method for conventional decoders
US7200798B2 (en) Unified serial/parallel concatenated convolutional code decoder architecture and method
JP2016502369A (en) Method and apparatus for realizing multimode decoder
KR100390416B1 (en) Method for decoding Turbo
CN201018490Y (en) TD-SCDMA/3G hard core turbo code translator
US7266756B2 (en) Read enable generator for a turbo decoder deinterleaved symbol memory
US7590928B2 (en) Apparatus and method for Viterbi decoding
KR20030036845A (en) A Decoder For Trellis-Based Channel Encoding
US8401126B2 (en) Viterbi decoding apparatus
US20080152045A1 (en) High-throughput memory-efficient BI-SOVA decoder architecture
JP2004538706A (en) Turbo decoder with reduced size branch metric cache
US7647547B2 (en) Turbo decoder with reduced-size branch metric cache
JP2003530753A (en) Method and apparatus for efficiently reading and storing distances of states in a memory for implementation of a high speed ACS Viterbi decoder
US20120047414A1 (en) Address generation apparatus and method for quadratic permutation polynomial interleaver
JP2798123B2 (en) Viterbi decoding device
US7434149B2 (en) Prediction device and method applied in a Viterbi decoder

Legal Events

Date Code Title Description
A621 Written request for application examination

Free format text: JAPANESE INTERMEDIATE CODE: A621

Effective date: 20050729

A762 Written abandonment of application

Free format text: JAPANESE INTERMEDIATE CODE: A762

Effective date: 20070808