【手続補正書】
【提出日】平成17年7月26日(2005.7.26)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
デジタル信号プロセッサにおいて、信号値を処理する方法であって：
選択されるトレリス状態において、信号値に基づいて、時間ｔ０でのトレリス状態メトリック、および時間ｔ０から時間ｔ１への遷移メトリックを指定する単一のトレリス命令に応答して：
時間ｔ０での第１状態メトリックに遷移メトリックを加算し、第１の値を提供するステップ；
時間ｔ０での第２状態メトリックから遷移メトリックを減算し、第２の値を提供するステップ；
それぞれの選択される状態メトリックにおいて、前記第１の値と前記第２の値とを比較するステップ；および
それぞれの選択されるトレリス状態において、第１の値と第２の値のうち最大値を選択して、時間ｔ１でのトレリス状態メトリックを提供するステップを含み、
前記単一のトレリス命令の前記加算、減算、比較、および選択するオペレーションは、前記デジタル信号プロセッサによって、その単一のクロックサイクルで実行される、前記方法。
【請求項２】
それぞれの選択されるトレリス状態において、第１の値および第２の値の関数である訂正ファクタを前記最大値に加算するステップをさらに含む、請求項１に記載の方法。
【請求項３】
訂正ファクタを加算するステップが、訂正ファクタを含有するルックアップテーブルにアクセスすることを含む、請求項２に記載の方法。
【請求項４】
前記トレリス命令が、αトレリス状態メトリックを計算するための前方トレリス関数を実行する、請求項１に記載の方法。
【請求項５】
前記トレリス命令が、βトレリス状態メトリックを計算するための逆方向トレリス関数を実行する、請求項１に記載の方法。
【請求項６】
前記トレリス命令が、単一の命令、複数のデータアプローチを使用して、αトレリス状態メトリックを計算するための前方トレリス関数、およびβトレリス状態メトリックを計算するための逆方向トレリス関数を同時に実行する、請求項１に記載の方法。
【請求項７】
デジタル信号プロセッサにおいて、トレリス関数のメトリックを計算するための方法であって：
時間ｔ０でのαメトリックおよびトレリス命令によって指定される時間ｔ０から時間ｔ１への遷移メトリックに応答して、選択されるトレリス状態における時間ｔ１でのαメトリックを計算するステップ；および
時間ｔ２でのβメトリック、およびトレリス命令によって指定される時間ｔ２から時間ｔ１への遷移メトリックに応答して、選択されるトレリス状態における時間ｔ１でのβメトリックを計算するステップを含む、前記方法。
【請求項８】
選択されるトレリス状態におけるαメトリックを計算するステップが：
それぞれの選択されるトレリス状態において、遷移メトリックを時間ｔ０での第１のαメトリックに加算して、第１の値を提供するステップ、前記遷移メトリックを時間ｔ０での第２のαメトリックから減算して、第２の値を提供するステップ；
それぞれの選択されるトレリス状態において、対応する第１の値および第２の値を比較するステップ；および
それぞれの選択されるトレリス状態において、対応する第１の値と第２の値のうち最大値を選択して、時間ｔ１でのαメトリックを提供するステップ、を含む請求項７に記載の方法。
【請求項９】
選択されるトレリス状態におけるαメトリックを計算するステップが、それぞれの選択されるトレリス状態において、対応する第１の値および第２の値の関数である訂正ファクタを前記最大値に加算するというステップをさらに含む、請求項８に記載の方法。
【請求項１０】
選択されるトレリス状態におけるβメトリックを計算するステップが：
それぞれの選択されるトレリス状態において、遷移メトリックを時間ｔ２での第１のβメトリックに加算して、第１の値を提供するステップ、遷移メトリックを時間ｔ２での第２のβメトリックから減算して、第２の値を提供するステップ；
それぞれの選択されるトレリス状態において、対応する第１の値および第２の値を比較するステップ；および
それぞれの選択されるトレリス状態において、対応する第１の値と第２の値のうち最大値を選択して、時間ｔ１でのβメトリックを与えるステップ、を含む請求項７に記載の方法。
【請求項１１】
選択されるトレリス状態におけるβメトリックを計算するステップが、それぞれの選択されるトレリス状態において、対応する第１の値および第２の値の関数である訂正ファクタを前記最大値に加算するというステップをさらに含む、請求項１０に記載の方法。
【請求項１２】
選択されるトレリス状態におけるαメトリックを計算するステップが、単一のトレリス命令に応答して、複数のトレリス状態におけるαメトリックを計算するステップを含む、請求項７に記載の方法。
【請求項１３】
選択されるトレリス状態におけるβメトリックを計算するステップが、単一のトレリス命令に応答して、複数のトレリス状態におけるβメトリックを計算するステップを含む、請求項７に記載の方法。
【請求項１４】
αメトリックを計算するステップとβメトリックを計算するステップとが、同時に行われる、請求項７に記載の方法。
【請求項１５】
デジタル信号プロセッサにおいて、log MAP関数を計算する方法であって：
第１、第２、第３、および第４のパラメータの位置を指定するlog MAP命令に応答して、第１パラメータと第２パラメータの和もしくは差を計算し、第１の値を提供するステップ、第３パラメータと第４パラメータの和もしくは差を計算して、第２の値を提供するステップ；
第１の値と第２の値のうち最大値を選択するステップ；および
第１の値および第２の値の関数である訂正ファクタを前記最大値に加算して、log MAP結果を提供するステップ、を含む、前記方法。
【請求項１６】
訂正ファクタを加算するステップが、訂正ファクタを含有するルックアップテーブルにアクセスすることを含む、請求項１５に記載の方法。
【請求項１７】
単一のlog MAP命令に応答して、２以上のlog MAP結果が計算される、請求項１５に記載の方法。
【請求項１８】
信号値を処理するためのプロセッサであって：
デジタル信号演算のための命令およびオペランドを記憶するメモリ；
前記命令のうち選択されるものを前記メモリからフェッチする命令アドレスを生成するためのプログラムシーケンサ；および
演算ブロックであって、オペランドおよび結果を一時的に記憶するためのレジスタファイルと、時間ｔ０でのトレリス状態メトリックの位置、および時間ｔ０から時間ｔ１への遷移メトリックの位置を指定するトレリス命令を実行するためのアクセラレータであって、前記トレリス状態メトリックが信号値に基づくものであり、遷移メトリックを時間ｔ０での第１状態メトリックに加算して、第１の値を提供する加算器と、時間ｔ０での第２状態メトリックから前記遷移メトリックを減算して、第２の値を提供する加算器と、それぞれのトレリス状態において第１の値および第２の値のうち、最大値を決定するための比較器と、選択されるトレリス状態において第１の値および第２の値のうち、最大値を選択するためのデータセレクタとを含む、前記アクセラレータとを含み、前記アクセラレータの加算器、比較器およびデータセレクタは、プロセッサの単一のクロックサイクルで、トレリス命令の加算、減算、比較、および選択のオペレーションを実行するように構成されている、前記演算ブロック、を含む、前記プロセッサ。
【請求項１９】
デジタル信号演算のための命令およびオペランドを記憶するメモリと；
前記命令のうち選択されるものを前記メモリからフェッチする命令アドレスを生成するためのプログラムシーケンサと；
プログラム可能な第１演算ブロックであって、オペランドおよび結果を一時的に記憶するためのレジスタファイルと、トレリス命令によって指定される、ある時間ｔ０でのαメトリックおよび時間ｔ０から時間ｔ１への遷移メトリックに応答して、トレリス命令を実行するためのアクセラレータであって、時間ｔ０でのαメトリックおよび前記遷移メトリックに基づいて、時間ｔ１での選択されるトレリス状態におけるαメトリックを計算するための手段を含む、前記アクセラレータとを含む前記第１演算ブロックと；
第２演算ブロックであって、オペランドおよび結果を一時的に記憶するためのレジスタファイルと、命令によって指定される、ある時間ｔ２でのβメトリックおよび時間ｔ２から時間ｔ１への遷移メトリックに応答して、トレリス命令を実行するためのアクセラレータであって、時間ｔ２でのβメトリックおよび時間ｔ２から時間ｔ１への遷移メトリックに基づいて、時間ｔ１での選択されるトレリス状態におけるβメトリックを計算するための手段を含む前記アクセラレータとを含む前記第２演算ブロック、とを含むプロセッサ。
【請求項２０】
デジタル信号演算のための命令およびオペランドを記憶するメモリと；
前記命令のうち選択されるものを前記メモリからフェッチする命令アドレスを生成するためのプログラムシーケンサと；
演算ブロックであって、オペランドおよび結果を一時的に記憶するためのレジスタファイルと、第１、第２、第３、および第４のパラメータの位置を指定するlog MAP命令を実行するためのアクセラレータであって、第１パラメータと第２パラメータの和もしくは差を計算して、第１の値を提供する第１加算器、および第３パラメータと第４パラメータの和もしくは差を計算して、第２の値を提供する第２加算機を含む前記アクセラレータと、第１の値および第２の値のうち、最大値を選択するためのデータセレクタと、第１の値および第２の値の関数である訂正ファクタを生成するためのルックアップテーブルと、訂正ファクタを前記最大値に加算して、log MAPの結果を提供するための第３加算器、を含む前記演算ブロック、とを含むプロセッサ。
【請求項２１】
デジタル信号プロセッサ演算ブロックに使用されるアクセラレータであって：
アクセラレータへの入力を受信する第１キャリーセーブ加算器と；
前記第１キャリーセーブ加算器のサム出力とキャリー出力とを組み合わせる第１全加算器と；
前記第１全加算器の出力に応答して、訂正ファクタを生成するルックアップテーブルと；
前記第１全加算器の出力サインに応答して、１または２以上のアクセラレータへの入力を選択するためのマルチプレクサと；
１または２以上のマルチプレクサの出力とルックアップテーブルの出力を加算するための第２キャリーセーブ加算器と；
前記第２キャリーセーブ加算器のサム出力とキャリー出力とを組み合わせる第２全加算器、
とを含む、前記アクセラレータ。
【請求項２２】
第１キャリーセーブ加算器が４個の入力を有し、マルチプレクサが４個の出力のうち２個を選択し、第２キャリーセーブ加算器が３個の入力を有する、請求項２１に記載のアクセラレータ。
【請求項２３】
前記第２キャリーセーブ加算器のサム出力とキャリー出力とを第１キャリーセーブ加算器の出力に供給するためのデータセレクタをさらに含む、請求項２２に記載のアクセラレータ。
【請求項２４】
前記第１キャリーセーブ加算器および前記第１全加算器が、第１パイプラインステージを含み、前記ルックアップテーブル、前記マルチプレクサ、および前記第２キャリーセーブ加算器が、第２パイプラインステージを含み、前記第２全加算器が第３パイプラインステージを含む、請求項２１に記載のアクセラレータ。
【請求項２５】
アクセラレータが、第１および第２の値の関数である訂正ファクタを、第１の値および第２の値のうちの最大値に加算するための追加の加算器を含む、請求項１８に記載のプロセッサ。
【請求項２６】
アクセラレータが、訂正ファクタを含有するルックアップテーブルを含む、請求項２５に記載のプロセッサ。
【手続補正２】
【補正対象書類名】明細書
【補正対象項目名】０００７
【補正方法】変更
【補正の内容】
【０００７】
発明の概要
本発明の第１の側面に従って、デジタル信号プロセッサにおいて、トレリス関数のメトリックを計算するための方法が提供される。トレリス命令によって指定される、ある時間ｔ０でのトレリス状態メトリックおよび時間ｔ０から時間ｔ１への遷移メトリック（transition metric）に応答して、選択されるトレリス状態におけるトレリス関数のメトリックが計算される。それぞれの選択されるトレリス状態における計算は、遷移メトリックを時間ｔ０における第１状態メトリックに加算して、第１の値を提供すること、遷移メトリックを時間ｔ０における第２状態メトリックから減算して、第２の値を提供すること、対応する第１の値および第２の値を比較すること、および対応する第１の値および第２の値のうち最大値を選択して、時間ｔ１におけるトレリス状態メトリックを提供すること、を含む。
また、デジタル信号プロセッサにおいて、信号値を処理する方法が提供される。この方法は、選択されるトレリス状態において、信号値に基づいて、時間ｔ０でのトレリス状態メトリック、および時間ｔ０から時間ｔ１への遷移メトリックを指定する単一のトレリス命令に応答して、時間ｔ０での第１状態メトリックに遷移メトリックを加算し、第１の値を提供するステップ；時間ｔ０での第２状態メトリックから遷移メトリックを減算し、第２の値を提供するステップ；それぞれの選択される状態メトリックにおいて、前記第１の値と前記第２の値とを比較するステップ；およびそれぞれの選択されるトレリス状態において、第１の値と第２の値のうち最大値を選択して、時間ｔ１でのトレリス状態メトリックを提供するステップを含む。前記単一のトレリス命令の前記加算、減算、比較、および選択するオペレーションは、前記デジタル信号プロセッサによって、その単一のクロックサイクルで実行される。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００１５
【補正方法】変更
【補正の内容】
【００１５】
デジタル信号プロセッサは、デジタル信号演算のための命令およびオペランドを記憶するメモリと、選択される１つの命令を前記メモリからフェッチする命令アドレスを生成するためのプログラムシーケンサと、演算ブロックであって、オペランドおよび結果を一時的に記憶するためのレジスタファイルと、前記のオペレーションを独立して、もしくはいずれかの組み合わせで実行するためのアクセラレータ、を含む前記演算ブロックを含んでもよい。ある好適な態様において、デジタル信号プロセッサは、複数のオペレーションを並列して実行するための２以上の演算ブロックを含む。
信号値を処理するためのプロセッサが提供される。このプロセッサは、デジタル信号演算のための命令およびオペランドを記憶するメモリ；前記命令のうち選択されるものを前記メモリからフェッチする命令アドレスを生成するためのプログラムシーケンサ；および演算ブロックを含む。この演算ブロックは、オペランドおよび結果を一時的に記憶するためのレジスタファイルと、時間ｔ０でのトレリス状態メトリックの位置、および時間ｔ０から時間ｔ１への遷移メトリックの位置を指定するトレリス命令を実行するためのアクセラレータであって、前記トレリス状態メトリックが信号値に基づくものであり、遷移メトリックを時間ｔ０での第１状態メトリックに加算して、第１の値を提供する加算器と、時間ｔ０での第２状態メトリックから前記遷移メトリックを減算して、第２の値を提供する加算器と、それぞれのトレリス状態において第１の値および第２の値のうち、最大値を決定するための比較器と、選択されるトレリス状態において第１の値および第２の値のうち、最大値を選択するためのデータセレクタとを含む、前記アクセラレータとを含む。この演算ブロックにおいて、アクセラレータの加算器、比較器およびデータセレクタは、プロセッサの単一のクロックサイクルで、トレリス命令の加算、減算、比較、および選択のオペレーションを実行するように構成されている。
ここで、アクセラレータは、第１および第２の値の関数である訂正ファクタを、第１の値および第２の値のうちの最大値に加算するための追加の加算器を含んでもよい。
また、アクセラレータは、訂正ファクタを含有するルックアップテーブルを含んでもよい。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００５０
【補正方法】変更
【補正の内容】
【００５０】
図１２に示されるように、図１１の最初の命令ラインは、トレリス状態Ｓ０〜Ｓ３におけるアルファメトリックおよびベータメトリックを計算する。特に、アクセラレータ回路３００は、レジスタペアTR5:4に含有されるα５およびα４の値と、レジスタペアTR1:0に含有されるα１およびα０の値と、レジスタsR24に含有されるγ１およびγ０との値に基づいて、アルファメトリックα０’、α１’、α２’およびα３’を計算する。同様に、アクセラレータ回路３０２は、レジスタペアTR5:4に含有されるβ５およびβ４の値と、レジスタペアTR1:0に含有されるβ１およびβ０の値と、レジスタsR24に含有されるγ１およびγ０との値に基づいて、ベータメトリックβ０’、β１’、β２ ’およびβ２’を計算する。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００５２
【補正方法】変更
【補正の内容】
【００５２】
アクセラレータ３００および３０２は、図１２に示されるように、第１DSPサイクルにおいて４つのバタフライ演算を実行し、また図１３に示されるように、第２のDSPサイクルにおいて４つのバタフライ演算を実行し、それによってデジタル信号プロセッサの２回のサイクルでの８個のトレリス状態における完全なアルファメトリックおよびベータメトリックを計算する。したがって、図１１のソフトウェアコードは、トレリスの４つの時点におけるアルファメトリックおよびベータメトリックを計算する。図１１〜１３の態様において、演算ブロック１１２のアクセラレータレジスタTR0:7は、第１の時点でのトレリス状態Ｓ０〜Ｓ７におけるアルファメトリックを含有し、アクセラレータレジスタTR8:15は、第２の時点でのトレリス状態Ｓ０〜Ｓ７におけるアルファメトリックを含有する。同様に、演算ブロック１１４のアクセラレータレジスタTR0:7は、第１の時点でのトレリス状態Ｓ０〜Ｓ７におけるベータメトリックを含有し、アクセラレータレジスタTR8:15は、第２の時点でのトレリス状態Ｓ０〜Ｓ７におけるベータメトリックを含有する。