JP4193989B2 - デジタル信号プロセッサにおける高性能ターボチャンネル復号およびViterbi(ビタビ)チャンネル復号 - Google Patents
デジタル信号プロセッサにおける高性能ターボチャンネル復号およびViterbi(ビタビ)チャンネル復号 Download PDFInfo
- Publication number
- JP4193989B2 JP4193989B2 JP2003520088A JP2003520088A JP4193989B2 JP 4193989 B2 JP4193989 B2 JP 4193989B2 JP 2003520088 A JP2003520088 A JP 2003520088A JP 2003520088 A JP2003520088 A JP 2003520088A JP 4193989 B2 JP4193989 B2 JP 4193989B2
- Authority
- JP
- Japan
- Prior art keywords
- trellis
- metric
- time
- value
- instruction
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
- 230000007704 transition Effects 0.000 claims description 51
- 238000012937 correction Methods 0.000 claims description 44
- 230000006870 function Effects 0.000 claims description 37
- 230000004044 response Effects 0.000 claims description 37
- 238000000034 method Methods 0.000 claims description 30
- 238000012545 processing Methods 0.000 claims description 16
- 238000013459 approach Methods 0.000 claims description 2
- 238000004364 calculation method Methods 0.000 description 21
- 238000010586 diagram Methods 0.000 description 19
- 230000005540 biological transmission Effects 0.000 description 7
- 230000009977 dual effect Effects 0.000 description 4
- 238000004891 communication Methods 0.000 description 2
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F17/00—Digital computing or data processing equipment or methods, specially adapted for specific functions
- G06F17/10—Complex mathematical operations
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/30003—Arrangements for executing specific machine instructions
- G06F9/30007—Arrangements for executing specific machine instructions to perform operations on data operands
- G06F9/3001—Arithmetic instructions
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/30—Arrangements for executing machine instructions, e.g. instruction decode
- G06F9/38—Concurrent instruction execution, e.g. pipeline or look ahead
- G06F9/3885—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units
- G06F9/3893—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator
- G06F9/3895—Concurrent instruction execution, e.g. pipeline or look ahead using a plurality of independent parallel functional units controlled in tandem, e.g. multiplier-accumulator for complex operations, e.g. multidimensional or interleaved address generators, macros
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/3905—Maximum 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/3911—Correction factor, e.g. approximations of the exp(1+x) function
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/37—Decoding methods or techniques, not specific to the particular type of coding provided for in groups H03M13/03 - H03M13/35
- H03M13/39—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes
- H03M13/41—Sequence estimation, i.e. using statistical methods for the reconstruction of the original codes using the Viterbi algorithm or Viterbi processors
- H03M13/4107—Sequence 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
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6508—Flexibility, adaptability, parametrability and configurability of the implementation
- H03M13/6511—Support of multiple decoding rules, e.g. combined MAP and Viterbi decoding
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M13/00—Coding, 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/65—Purpose and implementation aspects
- H03M13/6569—Implementation on processors, e.g. DSPs, or software implementations
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Probability & Statistics with Applications (AREA)
- Software Systems (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Data Mining & Analysis (AREA)
- Mathematical Analysis (AREA)
- Mathematical Optimization (AREA)
- Mathematical Physics (AREA)
- Pure & Applied Mathematics (AREA)
- Computational Mathematics (AREA)
- Algebra (AREA)
- Databases & Information Systems (AREA)
- Error Detection And Correction (AREA)
Description
本発明は、ワイヤレスモバイルおよび基地局において応用されるデジタル信号プロセッサに関し、さらに具体的には、ワイヤレス基地局において、ターボチャンネル復号およびViterbiチャンネル復号を行うためのデジタル信号プロセッサの使用に関する。
第2世代および第3世代のワイヤレスシステムは、伝送信頼度を高めるために、チャンネル符号およびチャンネル復号アルゴリズム、ならびにスペクトル拡散技術を必要とする。第三世代のワイヤレスシステムにおいて、畳み込み符号スキームが音声伝送のために指定され、および並列連接畳み込み符号(PCCC)がデータ伝送のために指定される。畳み込み符号化されたデータは、Viterbi復号アルゴリズムを使用して復号化され、PCCC符号化されたデータは、ターボ復号アルゴリズムを使用して復号化される。ターボ復号およびViterbi復号スキームは、トレリスに基づくアルゴリズムである。
本発明の第1の側面に従って、デジタル信号プロセッサにおいて、トレリス関数のメトリックを計算するための方法が提供される。トレリス命令によって指定される、ある時間t0でのトレリス状態メトリックおよび時間t0から時間t1への遷移メトリック(transition metric)に応答して、選択されるトレリス状態におけるトレリス関数のメトリックが計算される。それぞれの選択されるトレリス状態における計算は、遷移メトリックを時間t0における第1状態メトリックに加算して、第1の値を提供すること、遷移メトリックを時間t0における第2状態メトリックから減算して、第2の値を提供すること、対応する第1の値および第2の値を比較すること、および対応する第1の値および第2の値のうち最大値を選択して、時間t1におけるトレリス状態メトリックを提供すること、を含む。
また、デジタル信号プロセッサにおいて、信号値を処理する方法が提供される。この方法は、選択されるトレリス状態において、信号値に基づいて、時間t 0 でのトレリス状態メトリック、および時間t 0 から時間t 1 への遷移メトリックを指定する単一のトレリス命令に応答して、時間t 0 での第1状態メトリックに遷移メトリックを加算し、第1の値を提供するステップ;時間t 0 での第2状態メトリックから遷移メトリックを減算し、第2の値を提供するステップ;それぞれの選択される状態メトリックにおいて、前記第1の値と前記第2の値とを比較するステップ;およびそれぞれの選択されるトレリス状態において、第1の値と第2の値のうち最大値を選択して、時間t 1 でのトレリス状態メトリックを提供するステップを含む。前記単一のトレリス命令の前記加算、減算、比較、および選択するオペレーションは、前記デジタル信号プロセッサによって、その単一のクロックサイクルで実行される。
信号値を処理するためのプロセッサが提供される。このプロセッサは、デジタル信号演算のための命令およびオペランドを記憶するメモリ;前記命令のうち選択されるものを前記メモリからフェッチする命令アドレスを生成するためのプログラムシーケンサ;および演算ブロックを含む。この演算ブロックは、オペランドおよび結果を一時的に記憶するためのレジスタファイルと、時間t 0 でのトレリス状態メトリックの位置、および時間t 0 から時間t 1 への遷移メトリックの位置を指定するトレリス命令を実行するためのアクセラレータであって、前記トレリス状態メトリックが信号値に基づくものであり、遷移メトリックを時間t 0 での第1状態メトリックに加算して、第1の値を提供する加算器と、時間t 0 での第2状態メトリックから前記遷移メトリックを減算して、第2の値を提供する加算器と、それぞれのトレリス状態において第1の値および第2の値のうち、最大値を決定するための比較器と、選択されるトレリス状態において第1の値および第2の値のうち、最大値を選択するためのデータセレクタとを含む、前記アクセラレータとを含む。この演算ブロックにおいて、アクセラレータの加算器、比較器およびデータセレクタは、プロセッサの単一のクロックサイクルで、トレリス命令の加算、減算、比較、および選択のオペレーションを実行するように構成されている。
ここで、アクセラレータは、第1および第2の値の関数である訂正ファクタを、第1の値および第2の値のうちの最大値に加算するための追加の加算器を含んでもよい。
また、アクセラレータは、訂正ファクタを含有するルックアップテーブルを含んでもよい。
ワイヤレス基地局信号チェーンの例のブロック線図を図1に示す。信号チェーンは、シンボルレート処理10およびチップレート処理12を含む。シンボルレート処理10は、デジタル信号プロセッサに組み入れられることが望ましい。伝送側において、シンボルレート処理10は、CRCアタッチメントブロック20、チャンネル符号ブロック22、レートマッチングブロック24およびインターリービングブロック26を含む。受信側において、シンボルレート処理10は、デインターリーブブロック30、レート決定ブロック32、チャンネル復号ブロック34,CRCアタッチメントブロック36を含む。上述した通り、前方誤り訂正(FEC)、つまりチャンネル復号は、シンボルレート処理の80%に達し得る。
α0’=MAX[α0+γ0,α4−γ0]+C0’ (1)
α1’=MAX[α0−γ0,α4+γ0]+C1’ (2)
ここで、C0’およびC1’は、図4に示すようにα0およびα4の値に依存する訂正ファクタである。
MAX(TRmd+Rm,TRnd−Rm)+C (3)
ここで、Cは任意の訂正ファクタである。MAXオペレーションは、下記を得るための、係る括弧の2つの値の減算に相当する。
TRmd−TRnd+2Rm (4)
MAX(TRmd+Rm3,TRnd+Rm1)+C (5)
数式(5)のMAXオペレーションは、以下のような2つの値の減算に相当する。
TRmd+Rm3−TRnd−Rm1 (6)
そして、該回路は、数式(6)の値が正であるか負であるかを決定する。数式(6)の値が正である場合、数式(5)の括弧内の第1項が最大値であり、前記値が負である場合、数式(5)の括弧内の第2項が最大値である。
Claims (24)
- デジタル信号プロセッサにおいて、信号値を処理する方法であって:
選択されるトレリス状態において、信号値に基づいて、時間t0でのトレリス状態メトリック、および時間t0から時間t1への遷移メトリックを指定する単一のトレリス命令に応答して:
時間t0での第1状態メトリックに遷移メトリックを加算し、第1の値を提供するステップ;
時間t0での第2状態メトリックから遷移メトリックを減算し、第2の値を提供するステップ;
それぞれの選択される状態メトリックにおいて、前記第1の値と前記第2の値とを比較するステップ;および
それぞれの選択されるトレリス状態において、第1の値と第2の値のうち最大値を選択して、時間t1でのトレリス状態メトリックを提供するステップを含み、
前記単一のトレリス命令の前記加算、減算、比較、および選択するオペレーションは、前記デジタル信号プロセッサによって、前記単一のトレリス命令に応答して実行される、前記方法。 - それぞれの選択されるトレリス状態において、第1の値および第2の値の関数である訂正ファクタを前記最大値に加算するステップをさらに含む、請求項1に記載の方法。
- 訂正ファクタを加算するステップが、訂正ファクタを含有するルックアップテーブルにアクセスすることを含む、請求項2に記載の方法。
- 前記トレリス命令が、αトレリス状態メトリックを計算するための前方トレリス関数を実行する、請求項1に記載の方法。
- 前記トレリス命令が、βトレリス状態メトリックを計算するための逆方向トレリス関数を実行する、請求項1に記載の方法。
- 前記トレリス命令が、単一の命令、複数のデータアプローチを使用して、αトレリス状態メトリックを計算するための前方トレリス関数、およびβトレリス状態メトリックを計算するための逆方向トレリス関数を同時に実行する、請求項1に記載の方法。
- デジタル信号プロセッサにおいて、トレリス関数のメトリックを計算するための方法であって:
時間t0でのαメトリックおよびトレリス命令によって指定される時間t0から時間t1への遷移メトリックに応答して、選択されるトレリス状態における時間t1でのαメトリックを計算するステップ;および
時間t2でのβメトリック、およびトレリス命令によって指定される時間t2から時間t1への遷移メトリックに応答して、選択されるトレリス状態における時間t1でのβメトリックを計算するステップを含み、
選択されるトレリス状態におけるαメトリックを計算するステップが:
それぞれの選択されるトレリス状態において、遷移メトリックを時間t 0 での第1のαメトリックに加算して、第1の値を提供するステップ、前記遷移メトリックを時間t 0 での第2のαメトリックから減算して、第2の値を提供するステップ;
それぞれの選択されるトレリス状態において、対応する第1の値および第2の値を比較するステップ;および
それぞれの選択されるトレリス状態において、対応する第1の値と第2の値のうち最大値を選択して、時間t 1 でのαメトリックを提供するステップ、を含む、前記方法。 - 選択されるトレリス状態におけるαメトリックを計算するステップが、それぞれの選択されるトレリス状態において、対応する第1の値および第2の値の関数である訂正ファクタを前記最大値に加算するというステップをさらに含む、請求項7に記載の方法。
- デジタル信号プロセッサにおいて、トレリス関数のメトリックを計算する ための方法であって:
時間t 0 でのαメトリックおよびトレリス命令によって指定される時間t 0 から時間t 1 への遷移メトリックに応答して、選択されるトレリス状態における時間t 1 でのαメトリックを計算するステップ;および
時間t 2 でのβメトリック、およびトレリス命令によって指定される時間t 2 から時間t 1 への遷移メトリックに応答して、選択されるトレリス状態における時間t 1 でのβメトリックを計算するステップを含み、
選択されるトレリス状態におけるβメトリックを計算するステップが:
それぞれの選択されるトレリス状態において、遷移メトリックを時間t2での第1のβメトリックに加算して、第1の値を提供するステップ、遷移メトリックを時間t2での第2のβメトリックから減算して、第2の値を提供するステップ;
それぞれの選択されるトレリス状態において、対応する第1の値および第2の値を比較するステップ;および
それぞれの選択されるトレリス状態において、対応する第1の値と第2の値のうち最大値を選択して、時間t1でのβメトリックを与えるステップ、を含む、前記方法。 - 選択されるトレリス状態におけるβメトリックを計算するステップが、それぞれの選択されるトレリス状態において、対応する第1の値および第2の値の関数である訂正ファクタを前記最大値に加算するというステップをさらに含む、請求項9に記載の方法。
- デジタル信号プロセッサにおいて、トレリス関数のメトリックを計算するための方法であって:
時間t 0 でのαメトリックおよびトレリス命令によって指定される時間t 0 から時間t 1 への遷移メトリックに応答して、選択されるトレリス状態における時間t 1 でのαメトリックを計算するステップ;および
時間t 2 でのβメトリック、およびトレリス命令によって指定される時間t 2 から時間t 1 への遷移メトリックに応答して、選択されるトレリス状態における時間t 1 でのβメトリックを計算するステップを含み、
選択されるトレリス状態におけるαメトリックを計算するステップが、単一のトレリス命令に応答して、複数のトレリス状態におけるαメトリックを計算するステップを含む、前記方法。 - デジタル信号プロセッサにおいて、トレリス関数のメトリックを計算するための方法であって:
時間t 0 でのαメトリックおよびトレリス命令によって指定される時間t 0 から時間t 1 への遷移メトリックに応答して、選択されるトレリス状態における時間t 1 でのαメトリックを計算するステップ;および
時間t 2 でのβメトリック、およびトレリス命令によって指定される時間t 2 から時間t 1 への遷移メトリックに応答して、選択されるトレリス状態における時間t 1 でのβメトリックを計算するステップを含み、
選択されるトレリス状態におけるβメトリックを計算するステップが、単一のトレリス命令に応答して、複数のトレリス状態におけるβメトリックを計算するステップを含む、前記方法。 - デジタル信号プロセッサにおいて、トレリス関数のメトリックを計算するための方法であって:
時間t 0 でのαメトリックおよびトレリス命令によって指定される時間t 0 から時間t 1 への遷移メトリックに応答して、選択されるトレリス状態における時間t 1 でのαメトリックを計算するステップ;および
時間t 2 でのβメトリック、およびトレリス命令によって指定される時間t 2 から時間t 1 への遷移メトリックに応答して、選択されるトレリス状態における時間t 1 でのβメトリックを計算するステップを含み、
αメトリックを計算するステップとβメトリックを計算するステップとが、同時に行われる、前記方法。 - デジタル信号プロセッサにおいて、log MAP関数を計算する方法であって:
第1、第2、第3、および第4のパラメータの位置を指定するlog MAP命令に応答して、第1パラメータと第2パラメータの和もしくは差を計算し、第1の値を提供するステップ、第3パラメータと第4パラメータの和もしくは差を計算して、第2の値を提供するステップ;
第1の値と第2の値のうち最大値を選択するステップ;および
第1の値および第2の値の関数である訂正ファクタを前記最大値に加算して、log MAP結果を提供するステップ、を含む、前記方法。 - 訂正ファクタを加算するステップが、訂正ファクタを含有するルックアップテーブルにアクセスすることを含む、請求項14に記載の方法。
- 単一のlog MAP命令に応答して、2以上のlog MAP結果が計算される、請求項14に記載の方法。
- 信号値を処理するためのプロセッサであって:
デジタル信号演算のための命令およびオペランドを記憶するメモリ;
前記命令のうち選択されるものを前記メモリからフェッチする命令アドレスを生成するためのプログラムシーケンサ;および
演算ブロックであって、オペランドおよび結果を一時的に記憶するためのレジスタファイルと、時間t0でのトレリス状態メトリックの位置、および時間t0から時間t1への遷移メトリックの位置を指定するトレリス命令を実行するためのアクセラレータであって、前記トレリス状態メトリックが信号値に基づくものであり、遷移メトリックを時間t0での第1状態メトリックに加算して、第1の値を提供する加算器と、時間t0での第2状態メトリックから前記遷移メトリックを減算して、第2の値を提供する加算器と、それぞれのトレリス状態において第1の値および第2の値のうち、最大値を決定するための比較器と、選択されるトレリス状態において第1の値および第2の値のうち、最大値を選択するためのデータセレクタとを含む、前記アクセラレータとを含み、前記アクセラレータの加算器、比較器およびデータセレクタは、プロセッサの単一のクロックサイクルで、単一のトレリス命令に応答してトレリス命令の加算、減算、比較、および選択のオペレーションを実行するように構成されている、前記演算ブロック、を含む、前記プロセッサ。 - デジタル信号演算のための命令およびオペランドを記憶するメモリと;
前記命令のうち選択されるものを前記メモリからフェッチする命令アドレスを生成するためのプログラムシーケンサと;
演算ブロックであって、オペランドおよび結果を一時的に記憶するためのレジスタファイルと、第1、第2、第3、および第4のパラメータの位置を指定するlog MAP命令を実行するためのアクセラレータであって、第1パラメータと第2パラメータの和もしくは差を計算して、第1の値を提供する第1加算器、および第3パラメータと第4パラメータの和もしくは差を計算して、第2の値を提供する第2加算機を含む前記アクセラレータと、第1の値および第2の値のうち、最大値を選択するためのデータセレクタと、第1の値および第2の値の関数である訂正ファクタを生成するためのルックアップテーブルと、訂正ファクタを前記最大値に加算して、log MAPの結果を提供するための第3加算器、を含む前記演算ブロック、とを含むプロセッサ。 - 請求項17に記載されたデジタル信号プロセッサにおいて使用されるアクセラレータであって:
アクセラレータへの入力を受信する第1キャリーセーブ加算器と;
前記第1キャリーセーブ加算器のサム出力とキャリー出力とを組み合わせる第1全加算器と;
前記第1全加算器の出力に応答して、訂正ファクタを生成するルックアップテーブルと;
前記第1全加算器の出力サインに応答して、1または2以上のアクセラレータへの入力を選択するためのマルチプレクサと;
1または2以上のマルチプレクサの出力とルックアップテーブルの出力を加算するための第2キャリーセーブ加算器と;
前記第2キャリーセーブ加算器のサム出力とキャリー出力とを組み合わせる第2全加算器、
とを含む、前記アクセラレータ。 - 第1キャリーセーブ加算器が4個の入力を有し、マルチプレクサが4個の出力のうち2個を選択し、第2キャリーセーブ加算器が3個の入力を有する、請求項19に記載のアクセラレータ。
- 前記第2キャリーセーブ加算器のサム出力とキャリー出力とを第1キャリーセーブ加算器の出力に供給するためのデータセレクタをさらに含む、請求項20に記載のアクセラレータ。
- 前記第1キャリーセーブ加算器および前記第1全加算器が、第1パイプラインステージを含み、前記ルックアップテーブル、前記マルチプレクサ、および前記第2キャリーセーブ加算器が、第2パイプラインステージを含み、前記第2全加算器が第3パイプラインステージを含む、請求項19に記載のアクセラレータ。
- アクセラレータが、第1および第2の値の関数である訂正ファクタを、第1の値および第2の値のうちの最大値に加算するための追加の加算器を含む、請求項17に記載のプロセッサ。
- アクセラレータが、訂正ファクタを含有するルックアップテーブルを含む、請求項23に記載のプロセッサ。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US09/923,225 US7661059B2 (en) | 2001-08-06 | 2001-08-06 | High performance turbo and Viterbi channel decoding in digital signal processors |
PCT/US2002/024703 WO2003015286A1 (en) | 2001-08-06 | 2002-08-06 | High performance turbo and virterbi channel decoding in digital signal processors |
Publications (3)
Publication Number | Publication Date |
---|---|
JP2004538704A JP2004538704A (ja) | 2004-12-24 |
JP2004538704A5 JP2004538704A5 (ja) | 2006-01-05 |
JP4193989B2 true JP4193989B2 (ja) | 2008-12-10 |
Family
ID=25448337
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2003520088A Expired - Fee Related JP4193989B2 (ja) | 2001-08-06 | 2002-08-06 | デジタル信号プロセッサにおける高性能ターボチャンネル復号およびViterbi(ビタビ)チャンネル復号 |
Country Status (5)
Country | Link |
---|---|
US (1) | US7661059B2 (ja) |
EP (1) | EP1417768B1 (ja) |
JP (1) | JP4193989B2 (ja) |
CN (1) | CN100336305C (ja) |
WO (1) | WO2003015286A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6906978B2 (en) * | 2002-03-19 | 2005-06-14 | Intel Corporation | Flexible integrated memory |
US7246298B2 (en) | 2003-11-24 | 2007-07-17 | Via Technologies, Inc. | Unified viterbi/turbo decoder for mobile communication systems |
WO2009053490A2 (en) | 2007-10-26 | 2009-04-30 | Qualcomm Incorporated | Optimized viterbi decoder and gnss receiver |
US8271858B2 (en) * | 2009-09-03 | 2012-09-18 | Telefonaktiebolget L M Ericsson (Publ) | Efficient soft value generation for coded bits in a turbo decoder |
US9389854B2 (en) * | 2013-03-15 | 2016-07-12 | Qualcomm Incorporated | Add-compare-select instruction |
US11451840B2 (en) * | 2018-06-18 | 2022-09-20 | Qualcomm Incorporated | Trellis coded quantization coefficient coding |
Family Cites Families (19)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4823346A (en) * | 1986-04-16 | 1989-04-18 | Hitachi, Ltd. | Maximum likelihood decoder |
US5295142A (en) * | 1989-07-18 | 1994-03-15 | Sony Corporation | Viterbi decoder |
US5220570A (en) * | 1990-11-30 | 1993-06-15 | The Board Of Trustees Of The Leland Stanford Junior University | Programmable viterbi signal processor |
US5291499A (en) * | 1992-03-16 | 1994-03-01 | Cirrus Logic, Inc. | Method and apparatus for reduced-complexity viterbi-type sequence detectors |
DE4224214C2 (de) * | 1992-07-22 | 1995-02-09 | Deutsche Forsch Luft Raumfahrt | Verfahren zur quellengesteuerten Kanaldecodierung durch Erweiterung des Viterbi-Algorithmus |
US5490178A (en) * | 1993-11-16 | 1996-02-06 | At&T Corp. | Power and time saving initial tracebacks |
US5412669A (en) * | 1993-12-09 | 1995-05-02 | Cirrus Logic, Inc. | Add, compare and select circuit |
US6307868B1 (en) | 1995-08-25 | 2001-10-23 | Terayon Communication Systems, Inc. | Apparatus and method for SCDMA digital data transmission using orthogonal codes and a head end modem with no tracking loops |
US6028899A (en) * | 1995-10-24 | 2000-02-22 | U.S. Philips Corporation | Soft-output decoding transmission system with reduced memory requirement |
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 |
US5933462A (en) * | 1996-11-06 | 1999-08-03 | Qualcomm Incorporated | Soft decision output decoder for decoding convolutionally encoded codewords |
US5987490A (en) * | 1997-11-14 | 1999-11-16 | Lucent Technologies Inc. | Mac processor with efficient Viterbi ACS operation and automatic traceback store |
JP4178752B2 (ja) * | 1998-05-28 | 2008-11-12 | ソニー株式会社 | 畳み込み符号の軟出力復号装置及び軟出力復号方法 |
US6343368B1 (en) * | 1998-12-18 | 2002-01-29 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and system for fast maximum a posteriori decoding |
DE60007956T2 (de) | 2000-02-21 | 2004-07-15 | Motorola, Inc., Schaumburg | Vorrichtung und Verfahren zur SISO Dekodierung |
US6865710B2 (en) | 2000-09-18 | 2005-03-08 | Lucent Technologies Inc. | Butterfly processor for telecommunications |
US6393076B1 (en) * | 2000-10-11 | 2002-05-21 | Motorola, Inc. | Decoding of turbo codes using data scaling |
JP3540224B2 (ja) * | 2001-03-06 | 2004-07-07 | シャープ株式会社 | ターボ復号器とターボ復号方法及びその方法を記憶した記憶媒体 |
US6848074B2 (en) * | 2001-06-21 | 2005-01-25 | Arc International | Method and apparatus for implementing a single cycle operation in a data processing system |
-
2001
- 2001-08-06 US US09/923,225 patent/US7661059B2/en not_active Expired - Lifetime
-
2002
- 2002-08-06 WO PCT/US2002/024703 patent/WO2003015286A1/en active Application Filing
- 2002-08-06 JP JP2003520088A patent/JP4193989B2/ja not_active Expired - Fee Related
- 2002-08-06 CN CNB028175212A patent/CN100336305C/zh not_active Expired - Fee Related
- 2002-08-06 EP EP02756941.7A patent/EP1417768B1/en not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
CN1554152A (zh) | 2004-12-08 |
CN100336305C (zh) | 2007-09-05 |
WO2003015286A1 (en) | 2003-02-20 |
US20030028845A1 (en) | 2003-02-06 |
EP1417768A1 (en) | 2004-05-12 |
EP1417768B1 (en) | 2013-05-29 |
EP1417768A4 (en) | 2006-10-18 |
US7661059B2 (en) | 2010-02-09 |
JP2004538704A (ja) | 2004-12-24 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3358996B2 (ja) | 自動ビタビトレースバックビット格納機能を有する並列算術論理プロセッサ | |
US5946361A (en) | Viterbi decoding method and circuit with accelerated back-tracing and efficient path metric calculation | |
US7139968B2 (en) | Processing unit and processing method | |
US8495119B2 (en) | Efficient check node message transform approximation for LDPC decoder | |
US6848074B2 (en) | Method and apparatus for implementing a single cycle operation in a data processing system | |
US20040225949A1 (en) | Method and apparatus for implementing a data processor adapted for turbo decoding | |
JP4907802B2 (ja) | 通信の復号化の際に用いられるバタフライプロセッサ装置 | |
US5517439A (en) | Arithmetic unit for executing division | |
US6754870B2 (en) | CRC operation unit and CRC operation method | |
JP4193989B2 (ja) | デジタル信号プロセッサにおける高性能ターボチャンネル復号およびViterbi(ビタビ)チャンネル復号 | |
JP2002152057A (ja) | トレリス処理装置の適切なパスメトリックアドレスを計算する装置と方法。 | |
JPH09153822A (ja) | データ処理システムにおける加算比較選択バタフライ演算およびその命令を実行する方法 | |
US7958437B2 (en) | MAP detector with a single state metric engine | |
US8171265B2 (en) | Accelerating traceback on a signal processor | |
EP1058392A1 (en) | Method for implementing a plurality of add-compare-select butterfly operations in parallel, in a data processing system | |
JP3454393B2 (ja) | データ処理装置 | |
KR100414152B1 (ko) | 프로그래머블 프로세서에서의 비터비 디코딩 연산방법 및그 연산방법을 실행하기 위한 연산회로 | |
US7171609B2 (en) | Processor and method for convolutional decoding | |
JP3338371B2 (ja) | ビタビ復号器 | |
JPH07336239A (ja) | ビタビ復号器 | |
JP3996858B2 (ja) | 演算処理装置 | |
JP2000252840A (ja) | 誤り訂正復号器 | |
JPH0816363A (ja) | 演算回路 | |
SC140 | How to Implement a Viterbi Decoder on the | |
JPH10242871A (ja) | データ処理装置及びデータ処理方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20050726 |
|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20050726 |
|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080121 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080129 |
|
A521 | Request for written amendment filed |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080428 |
|
TRDD | Decision of grant or rejection written | ||
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 Effective date: 20080826 |
|
A01 | Written decision to grant a patent or to grant a registration (utility model) |
Free format text: JAPANESE INTERMEDIATE CODE: A01 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20080917 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20111003 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20121003 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20131003 Year of fee payment: 5 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
R250 | Receipt of annual fees |
Free format text: JAPANESE INTERMEDIATE CODE: R250 |
|
LAPS | Cancellation because of no payment of annual fees |