JPH11184549A - サイン/コサイン・ルックアップ・テーブル - Google Patents
サイン/コサイン・ルックアップ・テーブルInfo
- Publication number
- JPH11184549A JPH11184549A JP10184290A JP18429098A JPH11184549A JP H11184549 A JPH11184549 A JP H11184549A JP 10184290 A JP10184290 A JP 10184290A JP 18429098 A JP18429098 A JP 18429098A JP H11184549 A JPH11184549 A JP H11184549A
- Authority
- JP
- Japan
- Prior art keywords
- angle
- sine
- memory
- cosine
- value
- 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
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING OR CALCULATING; COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/03—Digital function generators working, at least partly, by table look-up
- G06F1/0321—Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers
- G06F1/0342—Waveform generators, i.e. devices for generating periodical functions of time, e.g. direct digital synthesizers for generating simultaneously two or more related waveforms, e.g. with different phase angles only
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Compression, Expansion, Code Conversion, And Decoders (AREA)
- Complex Calculations (AREA)
- Image Processing (AREA)
Abstract
(57)【要約】
【課題】 変換時関を短縮可能なルックアップ・テーブ
ルを提供する。 【解決手段】 補数回路、メモリおよびスイッチング素
子を含むルックアップ・テーブル。上記補数回路は、ア
ドレス信号を作成するために、複数ビットの宛先の最上
位ビットに基づいて、ある角度の複数ビットの宛先のビ
ットのサブセットについて選択的に補数をとる。上記メ
モリは、アドレス信号によりアドレスされ、二つの数値
を発生する。上記スイッチング素子は、メモリから上記
二つの数値を受信し、最上位ビットに基づいて上記数値
を選択的に出力する。
ルを提供する。 【解決手段】 補数回路、メモリおよびスイッチング素
子を含むルックアップ・テーブル。上記補数回路は、ア
ドレス信号を作成するために、複数ビットの宛先の最上
位ビットに基づいて、ある角度の複数ビットの宛先のビ
ットのサブセットについて選択的に補数をとる。上記メ
モリは、アドレス信号によりアドレスされ、二つの数値
を発生する。上記スイッチング素子は、メモリから上記
二つの数値を受信し、最上位ビットに基づいて上記数値
を選択的に出力する。
Description
【0001】
【発明の属する技術分野】本発明は、デジタル信号処理
のためのルックアップ・テーブルに関する。
のためのルックアップ・テーブルに関する。
【0002】
【従来の技術、及び、発明が解決しようとする課題】デ
ジタル信号の処理を含む多くの用途の場合には、ある角
度に対するサイン値およびコサイン値の頻度を決定する
必要がある。上記数値は、計算するか、または予めサイ
ン値およびコサイン値を記憶している、ルックアップ・
テーブルから数値を読み取るかして決定することができ
る。他の方法としては、従来のある種のシステムは、第
一の数値を見つけ出し、直列展開により、必要な数値を
計算することによりサイン値およびコサイン値を決定す
る。サイン値およびコサイン値を決定する従来の各方法
は、決定するのに複数のステップまたはクロック・サイ
クルを必要としたり、または非常に多くのメモリロケー
ションを必要とするという欠点がある。それ故、コンパ
クトで、一クロック・サイクル中に読むことができる。
サイン/コサイン・ルックアップ・テーブルの作成が待
望されている。
ジタル信号の処理を含む多くの用途の場合には、ある角
度に対するサイン値およびコサイン値の頻度を決定する
必要がある。上記数値は、計算するか、または予めサイ
ン値およびコサイン値を記憶している、ルックアップ・
テーブルから数値を読み取るかして決定することができ
る。他の方法としては、従来のある種のシステムは、第
一の数値を見つけ出し、直列展開により、必要な数値を
計算することによりサイン値およびコサイン値を決定す
る。サイン値およびコサイン値を決定する従来の各方法
は、決定するのに複数のステップまたはクロック・サイ
クルを必要としたり、または非常に多くのメモリロケー
ションを必要とするという欠点がある。それ故、コンパ
クトで、一クロック・サイクル中に読むことができる。
サイン/コサイン・ルックアップ・テーブルの作成が待
望されている。
【0003】図2は、従来のサイン/コサイン・ルック
アップ・テーブルの一例である。この図の場合には、表
105は、ロケーション107および109のような複
数のメモリロケーションを含む。メモリロケーション1
07を含む左の欄111は、複数のサイン値を含む。ロ
ケーション109を含む右の欄113は、複数のコサイ
ン値を含む。メモリロケーション107および109
は、ルックアップ・テーブルの一列の横列を含む。従来
は、ルックアップ・テーブルの横列は、0度から180
度までをカバーしていた。参照作業中、必要な角度に対
応する横列のアドレスが決定され、対応するサイン値が
縦列111から読み取られ、対応するコサイン値が縦列
113から読み取られる。図2の従来の表の欠点は、ル
ックアップ・テーブルが、かなりの数のメモリロケーシ
ョンを使用しなければならないことであった。
アップ・テーブルの一例である。この図の場合には、表
105は、ロケーション107および109のような複
数のメモリロケーションを含む。メモリロケーション1
07を含む左の欄111は、複数のサイン値を含む。ロ
ケーション109を含む右の欄113は、複数のコサイ
ン値を含む。メモリロケーション107および109
は、ルックアップ・テーブルの一列の横列を含む。従来
は、ルックアップ・テーブルの横列は、0度から180
度までをカバーしていた。参照作業中、必要な角度に対
応する横列のアドレスが決定され、対応するサイン値が
縦列111から読み取られ、対応するコサイン値が縦列
113から読み取られる。図2の従来の表の欠点は、ル
ックアップ・テーブルが、かなりの数のメモリロケーシ
ョンを使用しなければならないことであった。
【0004】あるシステムの場合には、図2の従来のル
ックアップ・テーブルとは別のルックアップ・テーブル
を使用することができ、ほぼ半分のメモリロケーション
ですませることができる。上記システムは、縦列111
に示すような、0〜180度のサイン値を含むルックア
ップ・テーブルを持つ。メモリロケーションの数の節約
は、縦列113に含まれているような、コサイン値の対
応するアレイを除去することにより行うことができる。
ある角度に対するコサイン値が必要な場合には、システ
ムは、最初、余角の数値を決定する。そのサインは、上
記角度のコサインに等しい。その後、上記角度に対する
コサイン値を見付けるために、システムは、余角のサイ
ンを見つけるだけでよい。例えば、30度のサインおよ
びコサイン値が必要な場合には、システムは、最初、3
0度に対応するメモリロケーションからサイン値を読み
取り、その後で、30度のコサインに対する数値を、6
0度のサインに対応するメモリロケーションから読み取
らなければならないと判断する。それ故、図2の従来の
ルックアップ・テーブルと比較すると、別の従来のルッ
クアップ・テーブルを使用するシステムの場合は、追加
の論理および計算を犠牲にしてメモリロケーションの数
を節約する。
ックアップ・テーブルとは別のルックアップ・テーブル
を使用することができ、ほぼ半分のメモリロケーション
ですませることができる。上記システムは、縦列111
に示すような、0〜180度のサイン値を含むルックア
ップ・テーブルを持つ。メモリロケーションの数の節約
は、縦列113に含まれているような、コサイン値の対
応するアレイを除去することにより行うことができる。
ある角度に対するコサイン値が必要な場合には、システ
ムは、最初、余角の数値を決定する。そのサインは、上
記角度のコサインに等しい。その後、上記角度に対する
コサイン値を見付けるために、システムは、余角のサイ
ンを見つけるだけでよい。例えば、30度のサインおよ
びコサイン値が必要な場合には、システムは、最初、3
0度に対応するメモリロケーションからサイン値を読み
取り、その後で、30度のコサインに対する数値を、6
0度のサインに対応するメモリロケーションから読み取
らなければならないと判断する。それ故、図2の従来の
ルックアップ・テーブルと比較すると、別の従来のルッ
クアップ・テーブルを使用するシステムの場合は、追加
の論理および計算を犠牲にしてメモリロケーションの数
を節約する。
【0005】
【課題を解決するための手段】ある観点から見た場合、
本発明は、コンパクトで、1クロック・サイクルの短い
時間内に、ある角度に対するサインおよびコサイン値を
供給することができるルックアップ・テーブルを提供す
る。本発明の一実施形態の場合には、ルックアップ・テ
ーブルは、補数回路、メモリ・アレイおよびスイッチン
グ素子を含む。上記補数回路は、アドレス信号を作成す
るために、複数ビットの宛先の最上位ビットに基づい
て、ある角度の複数ビットの宛先のビットのサブセット
について選択的に補数をとる。上記メモリは、アドレス
信号によりアドレスされ、二つの数値を発生する。上記
スイッチング素子は、メモリから上記二つの数値を受信
し、最上位ビットに基づいて数値を選択的に出力する。
上記ルックアップ・テーブルは、集積回路をベースとす
るモデムのような集積回路装置に内蔵させることができ
る。
本発明は、コンパクトで、1クロック・サイクルの短い
時間内に、ある角度に対するサインおよびコサイン値を
供給することができるルックアップ・テーブルを提供す
る。本発明の一実施形態の場合には、ルックアップ・テ
ーブルは、補数回路、メモリ・アレイおよびスイッチン
グ素子を含む。上記補数回路は、アドレス信号を作成す
るために、複数ビットの宛先の最上位ビットに基づい
て、ある角度の複数ビットの宛先のビットのサブセット
について選択的に補数をとる。上記メモリは、アドレス
信号によりアドレスされ、二つの数値を発生する。上記
スイッチング素子は、メモリから上記二つの数値を受信
し、最上位ビットに基づいて数値を選択的に出力する。
上記ルックアップ・テーブルは、集積回路をベースとす
るモデムのような集積回路装置に内蔵させることができ
る。
【0006】本発明の他の実施形態の場合、ある角度に
対応するサイン値およびコサイン値を入手するための方
法は、上記角度に対応する複数ビットの宛先を最上位部
分と最上位でない部分に分割するステップと、アドレス
信号を作成するために、最上位部分に基づいて、最上位
でない部分を選択的に補足するステップと、上記アドレ
ス信号をメモリに入力するステップと、アドレス信号に
よりアドレスされた、第一および第二の数値をメモリか
ら読み取とるステップと、最上位部分に基づいて、上記
第一および第二の数値を上記角度のサインおよびコサイ
ンとして選択的に出力するステップとを含む。
対応するサイン値およびコサイン値を入手するための方
法は、上記角度に対応する複数ビットの宛先を最上位部
分と最上位でない部分に分割するステップと、アドレス
信号を作成するために、最上位部分に基づいて、最上位
でない部分を選択的に補足するステップと、上記アドレ
ス信号をメモリに入力するステップと、アドレス信号に
よりアドレスされた、第一および第二の数値をメモリか
ら読み取とるステップと、最上位部分に基づいて、上記
第一および第二の数値を上記角度のサインおよびコサイ
ンとして選択的に出力するステップとを含む。
【0007】
【発明の実施の形態】図1は、本発明のルックアップ・
テーブル301である。サイン/コサイン・ルックアッ
プ・テーブル301は、補数回路303、メモリ・アレ
イ305およびスイッチング素子307を含む。ビット
・ライン309および311は、補数回路303に複数
ビットの宛先を供給する。ビット・ライン311は、複
数ビットの宛先の最上位ビットを含み、ビット・ライン
309は、複数ビットの宛先の残りのビットを含む。複
数ビットの宛先は、そのサインおよび/またはコサイン
を必要とするある角度を表わす。補数回路303は、ビ
ット・ライン309上のビット数値、または、例えば、
ビット・ライン309上のビット数値の、ビット・バイ
・ビット・コンプレメントのようなコンプレメントをメ
モリ・アレイ305に出力する。ビット・ライン311
上の最上位ビットは、補数回路303に、ビット・ライ
ン309上の数値を出力すべきか、ビット・ライン30
9の数値の補数を出力すべきかを指示するために使用さ
れる。例えば、ビット・ライン311上の数値が、論理
1である場合には、補数回路303は、ビット・ライン
309上の数値の余数を出力する。一方、ビット・ライ
ン311上の数値が、論理0である場合には、補数回路
303は、ビット・ライン309上の数値を出力する。
テーブル301である。サイン/コサイン・ルックアッ
プ・テーブル301は、補数回路303、メモリ・アレ
イ305およびスイッチング素子307を含む。ビット
・ライン309および311は、補数回路303に複数
ビットの宛先を供給する。ビット・ライン311は、複
数ビットの宛先の最上位ビットを含み、ビット・ライン
309は、複数ビットの宛先の残りのビットを含む。複
数ビットの宛先は、そのサインおよび/またはコサイン
を必要とするある角度を表わす。補数回路303は、ビ
ット・ライン309上のビット数値、または、例えば、
ビット・ライン309上のビット数値の、ビット・バイ
・ビット・コンプレメントのようなコンプレメントをメ
モリ・アレイ305に出力する。ビット・ライン311
上の最上位ビットは、補数回路303に、ビット・ライ
ン309上の数値を出力すべきか、ビット・ライン30
9の数値の補数を出力すべきかを指示するために使用さ
れる。例えば、ビット・ライン311上の数値が、論理
1である場合には、補数回路303は、ビット・ライン
309上の数値の余数を出力する。一方、ビット・ライ
ン311上の数値が、論理0である場合には、補数回路
303は、ビット・ライン309上の数値を出力する。
【0008】補数回路303およびメモリ・アレイ30
5は、バス313を通して接続している。バス313
は、補数回路303が、アドレス信号の形で、メモリ・
アレイ305にその出力を供給する一つの方法を示す。
しかし、バスの使用は、単に例示としてのものに過ぎ
ず、本発明を制限するものではない。補数回路303と
メモリ・アレイ305との間のすべての通信方法は、本
発明の範囲に含まれる。メモリ・アレイ305は、補数
回路からアドレス信号を受信し、アドレス信号が指定す
る横列の二つの数値を出力する。これらの数値の一方
は、縦列315からのもので、他方の数値は、縦列31
7からのものである。縦列315および317からの数
値は、メモリ・アレイ305からスイッチング素子30
7に出力される。その後、スイッチング素子307は、
これらの数値を、ビット・ライン309および311上
の数値を含む、複数ビットの宛先が表わす角度に対応す
る、サイン値およびコサイン値として出力する。
5は、バス313を通して接続している。バス313
は、補数回路303が、アドレス信号の形で、メモリ・
アレイ305にその出力を供給する一つの方法を示す。
しかし、バスの使用は、単に例示としてのものに過ぎ
ず、本発明を制限するものではない。補数回路303と
メモリ・アレイ305との間のすべての通信方法は、本
発明の範囲に含まれる。メモリ・アレイ305は、補数
回路からアドレス信号を受信し、アドレス信号が指定す
る横列の二つの数値を出力する。これらの数値の一方
は、縦列315からのもので、他方の数値は、縦列31
7からのものである。縦列315および317からの数
値は、メモリ・アレイ305からスイッチング素子30
7に出力される。その後、スイッチング素子307は、
これらの数値を、ビット・ライン309および311上
の数値を含む、複数ビットの宛先が表わす角度に対応す
る、サイン値およびコサイン値として出力する。
【0009】スイッチング素子307は、複数ビットの
宛先のビット・ライン311上の最上位ビットに応答す
る。例えば、最上位ビットが、論理0である場合には、
縦列315からの数値出力は、ビット・ライン309お
よび311上の複数のビットの宛先が表わす角度のサイ
ンとして供給される。一方、縦列317からの数値出力
は、ビット・ライン309および311上の複数のビッ
トの宛先が表わす角度のコサインとして供給される。他
の方法としては、最上位ビットが、論理1である場合に
は、スイッチング素子307は、縦列317からの数値
を、ビット・ライン309および311上の、複数のビ
ットの宛先が表わす角度のサインとして出力し、縦列3
15からの数値を、ビット・ライン309および311
上の複数のビットの宛先が表わす角度のコサインとして
出力する。
宛先のビット・ライン311上の最上位ビットに応答す
る。例えば、最上位ビットが、論理0である場合には、
縦列315からの数値出力は、ビット・ライン309お
よび311上の複数のビットの宛先が表わす角度のサイ
ンとして供給される。一方、縦列317からの数値出力
は、ビット・ライン309および311上の複数のビッ
トの宛先が表わす角度のコサインとして供給される。他
の方法としては、最上位ビットが、論理1である場合に
は、スイッチング素子307は、縦列317からの数値
を、ビット・ライン309および311上の、複数のビ
ットの宛先が表わす角度のサインとして出力し、縦列3
15からの数値を、ビット・ライン309および311
上の複数のビットの宛先が表わす角度のコサインとして
出力する。
【0010】ルックアップ・テーブル301は、図2に
示すような従来のシステムと比較するとかなりの利点を
持つ。例えば、メモリ・アレイ305は、図2のアレイ
と比較すると、メモリロケーションの数はほぼ半分であ
る。さらに、サインおよびコサインの両方の数値を同じ
動作中にルックアップ・テーブル301から読み取るこ
とができる。それ故、ルックアップ・テーブル301
は、一般的にいって、図2のルックアップ・テーブルが
必要とするのと同じ数のクロック・サイクルを必要とす
る。図2のメモリ・アレイは、0〜180度の角度に対
する数値を含む。ルックアップ・テーブル301の場合
には、0〜90度の範囲だけをメモリ・アレイ305に
記憶しさえすればよい。それ故、メモリ・アレイ305
が、図2のルックアップ・テーブルの、メモリ・ロケー
ションの半分しか使用しなくても、メモリ・アレイ30
5は、図2の従来のルックアップ・テーブルと、同じ量
子化レベルを提供する。すでに説明したように、他の従
来のシステムも、メモリロケーションの数を同様に減ら
すことができるが、一回の動作でサインおよびコサイン
両方を提供することはできない。
示すような従来のシステムと比較するとかなりの利点を
持つ。例えば、メモリ・アレイ305は、図2のアレイ
と比較すると、メモリロケーションの数はほぼ半分であ
る。さらに、サインおよびコサインの両方の数値を同じ
動作中にルックアップ・テーブル301から読み取るこ
とができる。それ故、ルックアップ・テーブル301
は、一般的にいって、図2のルックアップ・テーブルが
必要とするのと同じ数のクロック・サイクルを必要とす
る。図2のメモリ・アレイは、0〜180度の角度に対
する数値を含む。ルックアップ・テーブル301の場合
には、0〜90度の範囲だけをメモリ・アレイ305に
記憶しさえすればよい。それ故、メモリ・アレイ305
が、図2のルックアップ・テーブルの、メモリ・ロケー
ションの半分しか使用しなくても、メモリ・アレイ30
5は、図2の従来のルックアップ・テーブルと、同じ量
子化レベルを提供する。すでに説明したように、他の従
来のシステムも、メモリロケーションの数を同様に減ら
すことができるが、一回の動作でサインおよびコサイン
両方を提供することはできない。
【0011】従来は、180度より大きい角度に対する
サインおよびコサイン値を探す場合には、180度以上
の数値を同じサインおよびコサインを持つ180度以下
の数値に変換し、その後、180度以下の数値をルック
アップ・テーブルへの入力として使用するという方法
が、一般に使用されていた。本発明も、またこの周知の
特徴の利点を利用する。
サインおよびコサイン値を探す場合には、180度以上
の数値を同じサインおよびコサインを持つ180度以下
の数値に変換し、その後、180度以下の数値をルック
アップ・テーブルへの入力として使用するという方法
が、一般に使用されていた。本発明も、またこの周知の
特徴の利点を利用する。
【0012】メモリ・アレイ305の数値は、例えば、
横列319の10度から、横列321の45度まで昇順
に並べるというようなある順序で配列されている。動作
について説明するために、30度のサインおよびコサイ
ンを探すためにある動作を行い、その後で、60度のサ
インおよびコサインを探す動作を行うものと仮定する。
メモリ・セル323は、30度のサインの数値を含む。
メモリ・セル325は、30度のコサインの数値を含
む。それ故、30度のサインおよびコサインを探す場
合、ビット・ライン311上の最上位ビットは、論理0
であり、(通常、ラジアンで表す)30度の数値に対応
するビット・ライン309上の、残りのビットは横列3
27を示すアドレスである。メモリ・セル323および
325に含まれる数値は、その後、メモリ・アレイ30
5から、スイッチング素子307へ出力される。ビット
・ライン311上の数値は0であるので、スイッチング
素子307は、メモリ・アレイ305からの数値入力の
順序を変更しないで、メモリ・セル323からの数値を
サイン値として出力し、メモリ・セル325からの数値
をコサイン値として出力する。
横列319の10度から、横列321の45度まで昇順
に並べるというようなある順序で配列されている。動作
について説明するために、30度のサインおよびコサイ
ンを探すためにある動作を行い、その後で、60度のサ
インおよびコサインを探す動作を行うものと仮定する。
メモリ・セル323は、30度のサインの数値を含む。
メモリ・セル325は、30度のコサインの数値を含
む。それ故、30度のサインおよびコサインを探す場
合、ビット・ライン311上の最上位ビットは、論理0
であり、(通常、ラジアンで表す)30度の数値に対応
するビット・ライン309上の、残りのビットは横列3
27を示すアドレスである。メモリ・セル323および
325に含まれる数値は、その後、メモリ・アレイ30
5から、スイッチング素子307へ出力される。ビット
・ライン311上の数値は0であるので、スイッチング
素子307は、メモリ・アレイ305からの数値入力の
順序を変更しないで、メモリ・セル323からの数値を
サイン値として出力し、メモリ・セル325からの数値
をコサイン値として出力する。
【0013】メモリ・セル323の数値も、また60度
のコサインの数値であり、一方、メモリ・セル325の
数値も60度のサイン値である。それ故、ビット・ライ
ン309および311上の数値が60度を表す場合に
は、30度のサインおよびコサインを探すときに出力し
たのと同じ数値(すなわち、メモリ・セル323および
325の数値)も、また60度のサインおよびコサイン
を探している時に出力される。ビット・ライン311上
の数値は、45度より大きいか、45度に等しい角度に
対して論理0である。それ故、60度のサインおよびコ
サインを探すときには、ビット・ライン311上の数値
は、例えば、バス313上のメモリ・アレイ305への
アドレス信号入力を作るために、補数回路303に、ビ
ット・ライン309上の数値を補足させる。同様に、ビ
ット・ライン311上の数値は、スイッチング素子30
7に、メモリ・セル325の数値をサイン値として出力
させ、メモリ・セル323の数値をコサイン値として出
力させる。
のコサインの数値であり、一方、メモリ・セル325の
数値も60度のサイン値である。それ故、ビット・ライ
ン309および311上の数値が60度を表す場合に
は、30度のサインおよびコサインを探すときに出力し
たのと同じ数値(すなわち、メモリ・セル323および
325の数値)も、また60度のサインおよびコサイン
を探している時に出力される。ビット・ライン311上
の数値は、45度より大きいか、45度に等しい角度に
対して論理0である。それ故、60度のサインおよびコ
サインを探すときには、ビット・ライン311上の数値
は、例えば、バス313上のメモリ・アレイ305への
アドレス信号入力を作るために、補数回路303に、ビ
ット・ライン309上の数値を補足させる。同様に、ビ
ット・ライン311上の数値は、スイッチング素子30
7に、メモリ・セル325の数値をサイン値として出力
させ、メモリ・セル323の数値をコサイン値として出
力させる。
【0014】ビット・ライン311上の最上位ビット
が、45度の数値に対応することが分かれば、補数回路
303の目的は容易に理解できる。例えば、目標とする
角度が60度である場合には、ビット・ライン311上
の1(最上位ビット)は、60度値の45度に対応す
る。それ故、ビット・ライン309上の数値は、残りの
15度に対応する。何故なら、45+15=60である
からである。それ故、補数をとらなかった場合には、ビ
ット・ライン309上の数値は、30度に対応する横列
327を指さないで、15度に対応する異なる横列を指
す。しかし、15度に対応する数値の補数(60度の入
力数値に対するビット・ライン309上の数値)は、3
0度に対応する数値である。それ故、60度を例にとっ
た場合ビット・ライン309上の15度入力に対応する
数値は、例えば、バス313上にアドレス信号として出
力される、30度に対応する数値を作るために、補数回
路303により補数がとられる。それ故、補数回路30
3およびスイッチング素子307を使用することによ
り、ルックアップ・テーブル301は、従来のメモリ・
アレイのメモリロケーションの半分しか持たない、メモ
リ・アレイ305を使用することができ、また1回のク
ロック・サイクル中に、サイン値およびコサイン値の両
方を供給することができる。
が、45度の数値に対応することが分かれば、補数回路
303の目的は容易に理解できる。例えば、目標とする
角度が60度である場合には、ビット・ライン311上
の1(最上位ビット)は、60度値の45度に対応す
る。それ故、ビット・ライン309上の数値は、残りの
15度に対応する。何故なら、45+15=60である
からである。それ故、補数をとらなかった場合には、ビ
ット・ライン309上の数値は、30度に対応する横列
327を指さないで、15度に対応する異なる横列を指
す。しかし、15度に対応する数値の補数(60度の入
力数値に対するビット・ライン309上の数値)は、3
0度に対応する数値である。それ故、60度を例にとっ
た場合ビット・ライン309上の15度入力に対応する
数値は、例えば、バス313上にアドレス信号として出
力される、30度に対応する数値を作るために、補数回
路303により補数がとられる。それ故、補数回路30
3およびスイッチング素子307を使用することによ
り、ルックアップ・テーブル301は、従来のメモリ・
アレイのメモリロケーションの半分しか持たない、メモ
リ・アレイ305を使用することができ、また1回のク
ロック・サイクル中に、サイン値およびコサイン値の両
方を供給することができる。
【0015】上記の例を押し広げると、30度に等しい
ラジアンに対する二進法の数値は、12ビット値の01
0101010101で表すことができ、60度に対す
る類似の数値は、101010101010で表すこと
ができる。この例の場合、30度のサインおよびコサイ
ンが必要な場合には、ビット・ライン311は、0の最
上位ビットを持ち、ビット・ライン309は、1010
10101010の数値を含む、この数値は補数回路3
03により補数がとられず、バス313上にアドレス信
号として出力される。
ラジアンに対する二進法の数値は、12ビット値の01
0101010101で表すことができ、60度に対す
る類似の数値は、101010101010で表すこと
ができる。この例の場合、30度のサインおよびコサイ
ンが必要な場合には、ビット・ライン311は、0の最
上位ビットを持ち、ビット・ライン309は、1010
10101010の数値を含む、この数値は補数回路3
03により補数がとられず、バス313上にアドレス信
号として出力される。
【0016】一方、60度のサインおよびコサインが必
要な場合には、ビット・ライン311は、1の最上位ビ
ットを持ち、ビット・ライン309は、0101010
1010の数値を含み、この数値は補数回路303によ
り補足された後、バス313上にアドレス信号1010
1010101として出力される。それ故、30度およ
び60度両方の場合には、同じアドレス信号がバス31
3上に供給される。すでに説明したように、この例の場
合にはバス313上のアドレスは横列327に対応し、
メモリ・アレイ305に、メモリロケーション323お
よび325の数値を出力させる。ビット・ライン311
上の最上位ビットが、0(30度)である場合には、ス
イッチング素子307は、ロケーション323の数値を
サインとして出力し、ロケーション325の数値をコサ
インとして出力し、上記最上位ビットが1(60度)で
ある場合には、スイッチング素子307は、ロケーショ
ン323の数値をコサインとして出力し、ロケーション
325の数値をサインとして出力する。
要な場合には、ビット・ライン311は、1の最上位ビ
ットを持ち、ビット・ライン309は、0101010
1010の数値を含み、この数値は補数回路303によ
り補足された後、バス313上にアドレス信号1010
1010101として出力される。それ故、30度およ
び60度両方の場合には、同じアドレス信号がバス31
3上に供給される。すでに説明したように、この例の場
合にはバス313上のアドレスは横列327に対応し、
メモリ・アレイ305に、メモリロケーション323お
よび325の数値を出力させる。ビット・ライン311
上の最上位ビットが、0(30度)である場合には、ス
イッチング素子307は、ロケーション323の数値を
サインとして出力し、ロケーション325の数値をコサ
インとして出力し、上記最上位ビットが1(60度)で
ある場合には、スイッチング素子307は、ロケーショ
ン323の数値をコサインとして出力し、ロケーション
325の数値をサインとして出力する。
【0017】メモリ・アレイ305においては、上記メ
モリロケーションに記憶した数値は、与えられた角度の
サインおよびコサインに対応する。ビット・ライン30
9および311は、12ビット語を含む。メモリ・アレ
イ305の各横列は、ビット・ライン309に含まれ
る、12ビット語の対応する11ビット部分により、一
意にアドレスされる。通常の当業者にとっては周知のよ
うに、45度の領域を2 11(2,048)の個々の横列
に分割することにより、ある量子化誤差が発生する。本
発明の他の実施形態の場合には、メモリ・アレイ305
のメモリ・セルに記憶している数値を、アドレス信号3
13が表す角度、またはビット・ライン309および3
11上の数値が表す角度と、正確に対応させないように
して、上記量子化誤差を少なくしている。
モリロケーションに記憶した数値は、与えられた角度の
サインおよびコサインに対応する。ビット・ライン30
9および311は、12ビット語を含む。メモリ・アレ
イ305の各横列は、ビット・ライン309に含まれ
る、12ビット語の対応する11ビット部分により、一
意にアドレスされる。通常の当業者にとっては周知のよ
うに、45度の領域を2 11(2,048)の個々の横列
に分割することにより、ある量子化誤差が発生する。本
発明の他の実施形態の場合には、メモリ・アレイ305
のメモリ・セルに記憶している数値を、アドレス信号3
13が表す角度、またはビット・ライン309および3
11上の数値が表す角度と、正確に対応させないように
して、上記量子化誤差を少なくしている。
【0018】他の方法としては、他の実施形態の場合の
ように、メモリ・アレイ305のメモリ・セルに記憶し
た数値は、メモリ・アレイ305の二つの隣接横列の間
のある角度、好適には、半分の角度に対するサイン値お
よびコサイン値を表す。それ故、例えば、メモリ・セル
412は、0ラジアンのサインに対する数値を含まな
い。その代わり、上記メモリ・セル412は、0.5/
2,048 x π/4ラジアンのサインに対する数値
を含む。同様に、メモリ・セル414は、1.5/2,
048 x π/4ラジアンのサインに対する数値を含
む。このようにして、メモリ・アレイ305による量子
化誤差を効果的に半分に減らすことができる。他の方法
としては、同じ量子化誤差に対して、メモリ・アレイ3
05のメモリロケーションの数を半分に減らすことがで
きる。二つの隣接横列の間の、量子化距離の間にある数
値を記憶することにより、メモリ・アレイ305におい
て、切捨てによる量子誤差を半分に減らすことができ
る。なぜなら、切捨てによる最大誤差は、従来のシステ
ムの最大誤差の半分であるからである。
ように、メモリ・アレイ305のメモリ・セルに記憶し
た数値は、メモリ・アレイ305の二つの隣接横列の間
のある角度、好適には、半分の角度に対するサイン値お
よびコサイン値を表す。それ故、例えば、メモリ・セル
412は、0ラジアンのサインに対する数値を含まな
い。その代わり、上記メモリ・セル412は、0.5/
2,048 x π/4ラジアンのサインに対する数値
を含む。同様に、メモリ・セル414は、1.5/2,
048 x π/4ラジアンのサインに対する数値を含
む。このようにして、メモリ・アレイ305による量子
化誤差を効果的に半分に減らすことができる。他の方法
としては、同じ量子化誤差に対して、メモリ・アレイ3
05のメモリロケーションの数を半分に減らすことがで
きる。二つの隣接横列の間の、量子化距離の間にある数
値を記憶することにより、メモリ・アレイ305におい
て、切捨てによる量子誤差を半分に減らすことができ
る。なぜなら、切捨てによる最大誤差は、従来のシステ
ムの最大誤差の半分であるからである。
【0019】図1を参照しながら説明してきたように、
本発明のサイン/コサイン・ルックアップ・テーブル
は、モデムのようなシステムに内蔵することができる。
それ故、上記表を内蔵したモデムは、メモリ・アレイの
メモリロケーションがより少なくてすみ、1クロック・
サイクル中にサイン/コサインの参照動作を行うことが
できる。本発明の例示としてのいくつかの実施形態につ
いて説明してきたが、当業者であれば、このコンセプト
を内蔵する他の実施形態を使用することができることを
理解することができるだろう。それ故、本発明は、開示
の実施形態に限定されるものではなく、添付の特許請求
の範囲の精神および範囲によってのみ限定される。
本発明のサイン/コサイン・ルックアップ・テーブル
は、モデムのようなシステムに内蔵することができる。
それ故、上記表を内蔵したモデムは、メモリ・アレイの
メモリロケーションがより少なくてすみ、1クロック・
サイクル中にサイン/コサインの参照動作を行うことが
できる。本発明の例示としてのいくつかの実施形態につ
いて説明してきたが、当業者であれば、このコンセプト
を内蔵する他の実施形態を使用することができることを
理解することができるだろう。それ故、本発明は、開示
の実施形態に限定されるものではなく、添付の特許請求
の範囲の精神および範囲によってのみ限定される。
【図1】本発明のルックアップ・テーブルである。
【図2】従来のルックアップ・テーブルである。
───────────────────────────────────────────────────── フロントページの続き (72)発明者 マータ エム. ランバード アメリカ合衆国 18104 ペンシルヴァニ ア,アレンタウン,ノース ツェンティ シックスス ストリート 520
Claims (14)
- 【請求項1】 ルックアップ・テーブルであって、 アドレス信号を作成するために、複数ビットの宛先の最
上位ビットに基づいて、ある角度の複数ビットの宛先の
ビットのサブセットについて選択的に補数をとる補数回
路と、 アドレス信号によりアドレスされ、二つの数値を発生す
るメモリと、 メモリから上記二つの数値を受信し、最上位ビットに基
づいて数値を選択的に出力するスイッチング素子とを備
えるルックアップ・テーブル。 - 【請求項2】 請求項1に記載のルックアップ・テーブ
ルにおいて、上記複数ビットの宛先が、n個のビットを
含み、上記メモリが、2n-1 の横列を含むアレイである
ルックアップ・テーブル。 - 【請求項3】 請求項2に記載のルックアップ・テーブ
ルにおいて、2n-1の横列のそれぞれが、0度から45
度までのある角度に対応するルックアップ・テーブル。 - 【請求項4】 請求項3に記載のルックアップ・テーブ
ルにおいて、各横列が、対応する角度に関連するサイン
値およびコサイン値を含むルックアップ・テーブル。 - 【請求項5】 請求項3に記載のルックアップ・テーブ
ルにおいて、各横列が、その横列に対応する角度と隣接
する横列に対応する角度との間のある角度に対応するサ
イン値およびコサイン値を含むルックアップ・テーブ
ル。 - 【請求項6】 請求項5に記載のルックアップ・テーブ
ルにおいて、上記サイン値およびコサイン値が、その横
列に対応する角度と隣接する横列に対応する角度との間
のほぼ中央のある角度に関連するルックアップ・テーブ
ル。 - 【請求項7】 ルックアップ・テーブルを含む集積回路
よりなるモデムであって、 アドレス信号を作成するために、複数ビットの宛先の最
上位ビットに基づいて、ある角度の複数ビットの宛先の
ビットのサブセットについて選択的に補数をとる補数回
路と、 上記アドレス信号によりアドレスされ、二つの数値を発
生するメモリと、 メモリから上記二つの数値を受信し、最上位ビットに基
づいて数値を選択的に出力するスイッチング素子とを備
えるモデム。 - 【請求項8】 請求項7に記載のモデムにおいて、上記
複数ビットの宛先がn個のビットを含み、上記メモリが
2n-1 の横列を含むアレイであるモデム。 - 【請求項9】 請求項8に記載のモデムにおいて、2
n-1 の横列のそれぞれが、0度から45度までのある角
度に対応するモデム。 - 【請求項10】 請求項9に記載のモデムにおいて、各
横列が対応する角度に関連するサイン値およびコサイン
値を含むモデム。 - 【請求項11】 請求項9に記載のモデムにおいて、各
横列がその横列に対応する角度と隣接する横列に対応す
る角度との間のある角度に対応するサイン値およびコサ
イン値を含むモデム。 - 【請求項12】 請求項11に記載のモデムにおいて、
上記サイン値およびコサイン値が、その横列に対応する
角度と隣接する横列に対応する角度との間のほぼ中央の
ある角度に対応するモデム。 - 【請求項13】 ある角度に対応するサイン値およびコ
サイン値を入手するための方法であって、 上記角度に対応する複数のビットの宛先を最上位部分と
最上位でない部分に分割するステップと、 アドレス信号を作成するために、最上位部分に基づい
て、最上位でない部分を選択的に補足するステップと、 上記アドレス信号をメモリに入力するステップと、 上記アドレス信号によりアドレスされた第一および第二
の数値をメモリから読み取るステップと、 最上位部分に基づいて、上記第一および第二の数値を上
記角度のサインおよびコサインとして選択的に出力する
ステップとを含む方法。 - 【請求項14】 請求項13に記載の方法において、最
上位部分が最上位ビットであり、最上位でない部分が最
上位ビット以外のすべてのビットである方法。
Applications Claiming Priority (2)
| Application Number | Priority Date | Filing Date | Title |
|---|---|---|---|
| US08/885150 | 1997-06-30 | ||
| US08/885,150 US5937438A (en) | 1997-06-30 | 1997-06-30 | Sine/cosine lookup table |
Publications (1)
| Publication Number | Publication Date |
|---|---|
| JPH11184549A true JPH11184549A (ja) | 1999-07-09 |
Family
ID=25386262
Family Applications (1)
| Application Number | Title | Priority Date | Filing Date |
|---|---|---|---|
| JP10184290A Pending JPH11184549A (ja) | 1997-06-30 | 1998-06-30 | サイン/コサイン・ルックアップ・テーブル |
Country Status (2)
| Country | Link |
|---|---|
| US (1) | US5937438A (ja) |
| JP (1) | JPH11184549A (ja) |
Cited By (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005013105A1 (ja) * | 2003-08-04 | 2005-02-10 | Fujitsu Limited | ルックアップテーブル及びデータ取得方法 |
| JP2009514097A (ja) * | 2005-10-26 | 2009-04-02 | アナログ デバイシーズ インク | 改善されたパイプライン化デジタル信号プロセッサ |
Families Citing this family (5)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| JP3226884B2 (ja) * | 1999-01-26 | 2001-11-05 | エヌイーシーマイクロシステム株式会社 | 周期関数生成回路 |
| US6480871B1 (en) * | 1999-04-07 | 2002-11-12 | Dhananjay S. Phatak | Algorithm (Method) and VLSI architecture for fast evaluation of trigonometric functions |
| US6829678B1 (en) * | 2000-07-18 | 2004-12-07 | International Business Machines Corporation | System for determining the order and frequency in which space is allocated on individual storage devices |
| US8285972B2 (en) * | 2005-10-26 | 2012-10-09 | Analog Devices, Inc. | Lookup table addressing system and method |
| US8301990B2 (en) * | 2007-09-27 | 2012-10-30 | Analog Devices, Inc. | Programmable compute unit with internal register and bit FIFO for executing Viterbi code |
Family Cites Families (2)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| US3898446A (en) * | 1974-09-06 | 1975-08-05 | Us Army | Quadratic phase memory |
| EP0259514A1 (de) * | 1986-09-11 | 1988-03-16 | Deutsche ITT Industries GmbH | Digitalschaltung zur gleichzeitigen Erzeugung von digitalen Sinus- und Cosinusfunktionswerten |
-
1997
- 1997-06-30 US US08/885,150 patent/US5937438A/en not_active Expired - Lifetime
-
1998
- 1998-06-30 JP JP10184290A patent/JPH11184549A/ja active Pending
Cited By (4)
| Publication number | Priority date | Publication date | Assignee | Title |
|---|---|---|---|---|
| WO2005013105A1 (ja) * | 2003-08-04 | 2005-02-10 | Fujitsu Limited | ルックアップテーブル及びデータ取得方法 |
| US7620676B2 (en) | 2003-08-04 | 2009-11-17 | Fujitsu Limited | Lookup table and data acquisition method |
| JP2009514097A (ja) * | 2005-10-26 | 2009-04-02 | アナログ デバイシーズ インク | 改善されたパイプライン化デジタル信号プロセッサ |
| JP2014038640A (ja) * | 2005-10-26 | 2014-02-27 | Analog Devices Inc | 改善されたパイプライン化デジタル信号プロセッサ |
Also Published As
| Publication number | Publication date |
|---|---|
| US5937438A (en) | 1999-08-10 |
Similar Documents
| Publication | Publication Date | Title |
|---|---|---|
| US4660181A (en) | Memory system | |
| JPS58500147A (ja) | 2つ以上の状態を記憶できるメモリセルを有するメモリ装置 | |
| JPH065513B2 (ja) | メモリ・システム | |
| SU1515164A1 (ru) | Устройство дл адресации к пам ти | |
| US6611445B2 (en) | Content addressable memory having redundant circuit | |
| US3735110A (en) | Digital sine/cosine generator | |
| US4593373A (en) | Method and apparatus for producing n-bit outputs from an m-bit microcomputer | |
| US4800535A (en) | Interleaved memory addressing system and method using a parity signal | |
| US6181592B1 (en) | Content addressable memory | |
| JPH11184549A (ja) | サイン/コサイン・ルックアップ・テーブル | |
| US6490650B1 (en) | Method and apparatus for generating a device index in a content addressable memory | |
| US5089987A (en) | Refresh control circuit | |
| US6839257B2 (en) | Content addressable memory device capable of reducing memory capacity | |
| JPS6035759B2 (ja) | ゼロ検出装置 | |
| EP0814416A2 (en) | Match and match address signal generation in a content addressable memory encoder | |
| JPH0231417B2 (ja) | ||
| EP0240749A2 (en) | Disk controller bus interface | |
| JPH01103341A (ja) | アドレス検出回路 | |
| US20030126402A1 (en) | Device and method for information processing | |
| EP0788112A2 (en) | Memory addressing circuit | |
| JP3182497B2 (ja) | 演算処理装置および命令変換装置 | |
| JPH10116226A (ja) | 半導体記憶装置のアドレス整列装置 | |
| JPS5844417Y2 (ja) | チエンジデイテクタ入力モジユ−ル | |
| SU1184009A1 (ru) | Запоминающее устройство | |
| CN121879676A (zh) | 用于存储芯片的数据读取方法及装置、存储芯片、电子设备 |