(57)【特許請求の範囲】
【請求項１】
位相角を表す位相信号を発生するように構成された位相アキュムレータと、
前記位相信号を位相入力として受信し、変換器出力としてsin-cos曲線値を発生するように構成されたsin-cos変換器であって、前記sin-cos曲線値が、前記位相角におけるsin-cos値と、あらかじめ定義された許容誤差でほぼ等しいsin-cos変換器とを備える周波数発生器であって、
前記sin-cos変換器が、
第1の角度範囲内のあらかじめ定義された間隔でのメインsin-cos端点からなるポイントルックアップテーブルであって、前記メインsin-cos端点の各々が、前記あらかじめ定義された間隔の間の所与の角度での前記sin-cos曲線値を含むポイントルックアップテーブルと、
前記ポイントルックアップテーブル中の2つの関連付けられたメインsin-cos端点の間の第2の角度範囲内のあらかじめ定義された間隔での第1のサブメインsin-cos端点の間の差を表す複数の補正値と、前記あらかじめ定義された間隔の間の所与の角度での前記sin-cos曲線値の近似値からなる補正ルックアップテーブルと、
前記ポイントルックアップテーブルから、前記位相角の第1の辺に関連付けられた第1のメインsin-cos端点および前記位相角の第2の辺に関連付けられた第2のメインsin-cos端点を与えるように構成されたポイント選択回路と、
前記補正ルックアップテーブルから、前記第1のメインsin-cos端点と相関性がある第1の補正値および前記第2のメインsin-cos端点と相関性がある第2の補正値を与えるように構成された補正選択回路と、
前記第1および第2のメインsin-cos端点ならびに前記第1および第2の補正値に基づいて、前記位相角における前記sin-cos曲線値を、変換器出力信号中で与えるように構成された変換器回路とを備える、周波数発生器。
【請求項２】
前記複数の補正値の各々が、Buneman恒等式用の正割ベースの係数の少なくとも1つを含む、請求項1に記載の周波数発生器。
【請求項３】
前記係数が、中心値付近の対向端から、互いを近似的に映し、前記係数すべてを表すのに単一データセットを使用できるようにする、請求項2に記載の周波数発生器。
【請求項４】
前記あらかじめ定義された間隔の間の前記所与の角度での前記sin-cos曲線値の前記近似値が、第2のサブメインsin-cos端点を生じる線形補間を含む、請求項1に記載の周波数発生器。
【請求項５】
前記メインsin-cos端点が前記あらかじめ定義された間隔の所にある前記第1の角度範囲が、単位円のπ/4ラジアンに及ぶ、請求項1に記載の周波数発生器。
【請求項６】
前記位相入力が、前記位相角と相関する前記単位円のセクションをさらに表し、
前記ポイント選択回路が、
前記第1の角度範囲内の等価位相角を表す基準位相角と相関する前記メインsin-cos端点を選択するように構成されたセレクタと、
必要な場合、前記位相角と相関するメインsin-cos端点値を切り替えるように構成されたスイッチと、
必要な場合、前記位相角と相関する前記メインsin-cos端点値を否定するように構成された否定素子とをさらに備える、請求項5に記載の周波数発生器。
【請求項７】
前記ポイント選択回路が、複数の第1のポイント出力を備え、
前記補正選択回路が複数の補正出力を備え、
前記変換器回路が、
ポイント出力および補正出力によって与えられた値を乗算するように構成されるとともに、第1の一次乗算器出力を有する、前記第1のポイント出力のうちそれぞれの1つおよび前記補正出力のうちそれぞれの1つと通信する第1の一次乗算器と、
前記第1の一次乗算器によって与えられた前記値を減算するように構成されるとともに、第1の減算器出力を有する、前記第1の一次乗算器出力と通信する第1の減算器と、
前記第1の減算器によって与えられた前記値と前記位相入力を乗算するように構成されるとともに、第1の二次乗算器出力を有する、前記第1の減算器出力および前記位相アキュムレータと通信する第1の二次乗算器と、
前記第1の一次乗算器出力、前記第1のポイント出力のうち1つ、および前記第1の二次乗算器出力と通信する第1の一次加算器であって、各出力によって与えられた前記値を加算するように構成された第1の一次加算器とをさらに備える、請求項1に記載の周波数発生器。
【請求項８】
前記変換器回路が、前記sin-cos曲線値のsin部分およびcos部分を直列に与えるように構成される、請求項7に記載の周波数発生器。
【請求項９】
前記ポイント選択回路が、複数の第2のポイント出力を備え、
前記変換器回路が、
前記第2のポイント出力および前記補正出力によって与えられた値を乗算するように構成されるとともに、第2の一次乗算器出力を有する、前記第2のポイント出力のうちそれぞれの1つおよび前記補正出力のうちそれぞれの1つと通信する第2の一次乗算器と、
前記第2の一次乗算器によって与えられた前記値を減算するように構成されるとともに、第2の減算器出力を有する、前記第2の一次乗算器出力と通信する第2の減算器と、
前記第2の減算器によって与えられた前記値と前記位相入力を乗算するように構成されるとともに、第2の二次乗算器出力を有する、前記第2の減算器出力および前記位相アキュムレータと通信する第2の二次乗算器と、
前記第2の一次乗算器出力、前記第2のポイント出力のうち1つ、および前記第2の二次乗算器出力と通信する第2の一次加算器であって、各出力によって与えられた前記値を加算するように構成された第2の一次加算器とをさらに備える、請求項7に記載の周波数発生器。
【請求項１０】
前記変換器回路が、前記sin-cos曲線値のsin部分およびcos部分を並列に与えるように構成される、請求項9に記載の周波数発生器。
【請求項１１】
前記sin-cos変換器が、
前記補正ルックアップテーブルの2つの関連付けられた補正値の間の差を表す複数のデルタ補正値からなるとともに、複数のデルタ補正出力を有するデルタ補正ルックアップテーブルと、
前記ポイント出力および前記デルタ補正出力によって与えられた値を乗算するように構成されるとともに、第1の三次乗算器出力を有する、前記第1のポイント出力のうちそれぞれの1つおよび前記デルタ補正出力のうちそれぞれの1つと通信する第1の三次乗算器と、
前記第1の三次乗算器および前記第1の減算器によって与えられた前記値を加算するように構成されるとともに、第1の二次加算器出力を有する、前記第1の三次乗算器出力および前記第1の減算器出力と通信する第1の二次加算器と、
前記第1の二次加算器によって与えられた前記値と前記位相入力を乗算するように構成されるとともに、第1の四次乗算器出力を有する、前記第1の二次加算器出力および前記位相アキュムレータと通信する第1の四次乗算器とをさらに備え、
前記第1の一次加算器が、前記第1の四次乗算器出力とさらに通信する、請求項7に記載の周波数発生器。
【請求項１２】
前記位相角での前記sin-cos曲線値が、対応するsinおよびcos値を含む、請求項1に記載の周波数発生器。
【請求項１３】
半導体ダイに統合される、請求項1に記載の周波数発生器。
【請求項１４】
前記周波数発生器が統合されるセットトップボックス、娯楽機器、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビ、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤからなる群から選択されたデバイスをさらに含む、請求項1に記載の周波数発生器。
【請求項１５】
位相角を表す位相信号を発生するための手段と、
前記位相信号を位相入力として受信するための手段と、
出力としてsin-cos曲線値を発生するための手段であって、前記sin-cos曲線値が、あらかじめ定義された許容誤差で、前記位相角におけるsin-cos値とほぼ等しい、手段と、
第1の角度範囲内のあらかじめ定義された間隔でのメインsin-cos端点からなるポイントルックアップテーブルを記憶するための手段であって、前記メインsin-cos端点の各々が、前記あらかじめ定義された間隔の間に、所与の角度での前記sin-cos曲線値を含む、手段と、
前記ポイントルックアップテーブル中の2つの関連付けられたメインsin-cos端点の間の第2の角度範囲内のあらかじめ定義された間隔での第1のサブメインsin-cos端点の間の差を表す複数の補正値と、前記あらかじめ定義された間隔の間の所与の角度での前記sin-cos曲線値の近似値からなる補正ルックアップテーブルを記憶するための手段と、
前記ポイントルックアップテーブルから、前記位相角の第1の辺に関連付けられた第1のメインsin-cos端点および前記位相角の第2の辺に関連付けられた第2のメインsin-cos端点を選択するための手段と、
前記補正ルックアップテーブルから、前記第1のメインsin-cos端点と相関性がある第1の補正値および前記第2のメインsin-cos端点と相関性がある第2の補正値を選択するための手段と、
前記第1および第2のメインsin-cos端点ならびに前記第1および第2の補正値に基づいて、前記sin-cos曲線値を前記出力として発生するための前記手段の中に、前記位相角における前記sin-cos曲線値を、出力信号上で発生するための手段とを備える周波数発生器。
【請求項１６】
周波数信号を発生する方法であって、
位相アキュムレータを通して、位相角を表す位相信号を発生するステップと、
sin-cos変換器回路において前記位相信号を位相入力として受信するステップと、
変換器回路において、メインsin-cos端点の各々が、あらかじめ定義された間隔の間の所与の角度でのsin-cos曲線値を含む、第1の角度範囲内の前記あらかじめ定義された間隔での前記メインsin-cos端点を含むポイントルックアップテーブルから、前記位相角の第1の辺に関連付けられた第1のメインsin-cos端点および前記位相角の第2の辺に関連付けられた第2のメインsin-cos端点を受信するステップと、
前記sin-cos変換器回路において、前記ポイントルックアップテーブル中の2つの関連付けられたメインsin-cos端点の間の第2の角度範囲内の前記あらかじめ定義された間隔での第1のサブメインsin-cos端点の間の差を表す複数の補正値と、前記あらかじめ定義された間隔の間の所与の角度での前記sin-cos曲線値の近似値とを含む補正ルックアップテーブルから、前記第1のメインsin-cos端点と相関性がある第1の補正値および前記第2のメインsin-cos端点と相関性がある第2の補正値を受信するステップと、
前記sin-cos曲線値を変換器出力として発生するステップであって、前記sin-cos曲線値が、前記第1および第2のメインsin-cos端点ならびに前記第1および第2の補正値に基づくあらかじめ定義された許容誤差で、前記位相角におけるsin-cos値とほぼ等しいステップとを含む方法。
【請求項１７】
前記複数の補正値の各々が、Buneman恒等式用の正割ベースの係数の少なくとも1つを含む、請求項16に記載の方法。
【請求項１８】
前記係数が、中心値付近の対向端から、互いを近似的に映し、前記係数すべてを表すのに単一データセットを使用できるようにする、請求項17に記載の方法。
【請求項１９】
前記あらかじめ定義された間隔の間の前記所与の角度での前記sin-cos曲線値の前記近似値が、第2のサブメインsin-cos端点を生じる線形補間を含む、請求項16に記載の方法。
【請求項２０】
前記メインsin-cos端点が前記あらかじめ定義された間隔の所にある前記第1の角度範囲が、単位円のπ/4ラジアンに及ぶ、請求項16に記載の方法。
【請求項２１】
前記位相入力が、前記位相角と相関する前記単位円のセクションをさらに表し、
前記第1の角度範囲内の等価位相角を表す基準位相角と相関する前記メインsin-cos端点を、ポイント選択回路のセレクタによって選択するステップと、
必要な場合、前記位相角と相関する前記メインsin-cos端点の値を、前記ポイント選択回路のスイッチによって切り替えるステップと、
必要な場合、前記位相角と相関する前記メインsin-cos端点の値を、前記ポイント選択回路の否定素子によって否定するステップとをさらに含む、請求項20に記載の方法。
【請求項２２】
前記変換器回路において、前記ポイントルックアップテーブルから、複数の第1のメインsin-cos端点値を受信するステップと、
前記変換器回路において、前記補正ルックアップテーブルから、前記複数の補正値を受信するステップと、
前記第1のメインsin-cos端点値のそれぞれの1つと、前記補正値のそれぞれの1つを、第1の一次乗算器によって乗算するステップと、
前記第1の一次乗算器による前記乗算の結果を、第1の減算器によって減算するステップと、
前記第1の減算器による前記減算の結果と、前記位相入力を、第1の二次乗算器によって乗算するステップと、
前記第1のメインsin-cos端点の値の前記それぞれの1つ、前記第1の一次乗算器による前記乗算の前記結果、および前記第1の二次乗算器による前記乗算の前記結果を、第1の一次加算器によって加算するステップとをさらに含む、請求項16に記載の方法。
【請求項２３】
前記sin-cos曲線値のsin部分およびcos部分を、前記変換器回路によって直列に提供するステップをさらに含む、請求項22に記載の方法。
【請求項２４】
前記変換器回路において、前記ポイントルックアップテーブルから、複数の第2のメインsin-cos端点値を受信するステップと、
前記第2のメインsin-cos端点値のそれぞれの1つと、前記補正値のそれぞれの1つを、第2の一次乗算器によって乗算するステップと、
前記第2の一次乗算器による前記乗算の結果を、第2の減算器によって減算するステップと、
前記第2の減算器による前記減算の結果と、前記位相入力を、第2の二次乗算器によって乗算するステップと、
前記第2のメインsin-cos端点の値の前記それぞれの1つ、前記第2の一次乗算器による前記乗算の前記結果、および前記第2の二次乗算器による前記乗算の前記結果を、第2の一次加算器によって加算するステップとをさらに含む、請求項22に記載の方法。
【請求項２５】
前記sin-cos曲線値のsin部分およびcos部分を並列に提供するステップをさらに含む、請求項24に記載の方法。
【請求項２６】
デルタ補正ルックアップテーブルの2つの関連付けられた補正値の間の差を表す複数のデルタ補正値からなるとともに、複数のデルタ補正出力を有する前記デルタ補正ルックアップテーブルを提供するステップと、
前記第1のメインsin-cos端点値のそれぞれの1つと、前記デルタ補正値のそれぞれの1つを、第1の三次乗算器によって乗算するステップと、
前記第1の三次乗算器による前記乗算の結果と、前記第1の減算器による前記減算の前記結果を、第1の二次加算器によって加算するステップと、
前記第1の二次加算器の前記結果と、前記位相入力を、第1の四次乗算器によって乗算するステップと、
前記第1の四次乗算器の前記結果を、前記第1の一次加算器によって加算するステップとをさらに含む、請求項22に記載の方法。
【請求項２７】
コンピュータ実行可能命令を記憶したコンピュータ可読記憶媒体であって、前記コンピュータ実行可能命令が、周波数発生器に、
位相角を表す位相信号を発生させ、
前記位相信号を位相入力として受信させ、
メインsin-cos端点の各々が、あらかじめ定義された間隔の間の所与の角度でのsin-cos曲線値を含む、第1の角度範囲内の前記あらかじめ定義された間隔での前記メインsin-cos端点を含むポイントルックアップテーブルから、前記位相角の第1の辺に関連付けられた第1のメインsin-cos端点および前記位相角の第2の辺に関連付けられた第2のメインsin-cos端点を受信させ、
前記ポイントルックアップテーブル中の2つの関連付けられたメインsin-cos端点の間の第2の角度範囲内の前記あらかじめ定義された間隔での第1のサブメインsin-cos端点の間の差を表す補正値と、前記あらかじめ定義された間隔の間の所与の角度での前記sin-cos曲線値の近似値とを含む補正ルックアップテーブルから、前記第1のメインsin-cos端点と相関性がある第1の補正値および前記第2のメインsin-cos端点と相関性がある第2の補正値を受信させ、
前記sin-cos曲線値を変換器出力として発生させ、前記sin-cos曲線値が、前記第1および第2のメインsin-cos端点と前記第1および第2の補正値とに基づく、変換器出力信号中のあらかじめ定義された許容誤差で、前記位相角におけるsin-cos値とほぼ等しい、コンピュータ可読記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
優先権出願
本出願は、参照によってその全体が本明細書に組み込まれている、2012年1月18日に出願した「HIGH ACCURACY SIN-COS WAVE AND FREQUENCY GENERATORS, AND RELATED SYSTEMS AND METHODS」と題する米国仮特許出願第61/587,689号の優先権を主張する。
【０００２】
本開示の技術は、正弦値および余弦値に基づいて周波数信号を測定する周波数発生器に関する。
【背景技術】
【０００３】
多数の産業では、既存のまたは発生された入力信号からの正弦(sin)および/または余弦(cos)(sin-cos)波信号を近似するのに、様々な方法を用いるのが一般的である。そのような信号近似は、遠隔通信および娯楽産業におけるオーディオおよびビジュアル通信を含むデータおよび音声通信に使われる。他の使用は、電子部品の開発および製造のために機器を検査するための、または欠陥のある電子部品を追跡するための信号の提供を含み得る。信号近似の使用の一例は、トーン発生器を有するモデムにおいて実装される。発生されたトーンは、高速フーリエ変換回転因子発生、周波数偏移補正、およびドップラーシフト補正に使うことができる。
【０００４】
sin-cos波信号近似の様々な実装形態は、これまで、様々なレベルの精度および効率まで実装されていた。一般的方法は、あらかじめ算出された(sin-cos)値の非常に大きいルックアップテーブルを提供するものであり、ここで近似の精度は、テーブルのサイズ(すなわち、あらかじめ算出された値の数)に依存する。従来から、ルックアップテーブルのサイズは、近似的に2level of accuracyであり、精度がわずかに増加しただけで、指数関数的により大きいテーブルとなる。いくつかの事例において、大きいルックアップテーブルは、サイズを削減するために、線形補間と対にされている。多項式曲線適合と組み合わされた係数のテーブルも、曲線を近似するのに使われている。ただし、より多くのテーブルが必要とされ、多項式により算出の複雑さが増すので、ハードウェアコストが増大する。無限インパルス応答(IIR)フィルタはsin波を生じ得るが、少ない数の周期に対して求められるだけであるとしても、再帰的算出の安定性は、精密度が高速に減衰する。
【０００５】
sin-cos波を近似する既存の方法のうちいずれを用いても、精度、コスト、および効率の間のトレードオフが存在する。より高い精度を達成するために、より多くのデータが記憶される場合があり、および/またはより複雑な算出が実行される場合がある。結果として、求められるハードウェアの量および複雑さ、ならびに処理時間および電力の需要増加に基づいてハードウェアコストがより高くなり得る。
【発明の概要】
【発明が解決しようとする課題】
【０００６】
したがって、典型的なコストの増加および効率の低下を招かずにハイレベルな精度を達成するとともに、sin-cos波信号を近似することができる周波数発生器を開発することが望ましい。
【課題を解決するための手段】
【０００７】
発明を実施するための形態で開示する実施形態は、高精度正弦および/または余弦(sin-cos)波および周波数発生器、ならびに関連システムおよび方法を含む。本明細書で開示する非限定的実施形態では、sin-cos波発生器は、低ハードウェアコストおよび少ないルックアップテーブル要件で、sin-cos波発生のための高精度のsin-cos値を与えることができる。本明細書で開示する実施形態は、位相入力に基づいてsin-cos曲線の算術的近似を実施するための回路を含み得る。この回路は、ポイントルックアップテーブルおよび補正ルックアップテーブルと通信することができる。これらのテーブルは、位相入力を受信し、位相入力を、位相に関連付けられたメインsin-cos端点と、および位相についての補正値と照合することができる。位相入力に基づいて選択されるこれらの値は、変換器回路に通信されてよく、変換器回路において、算術関数が値に適用され、sin-cos曲線値が生じる。
【０００８】
この点について、一実施形態では、周波数発生器が提供される。周波数発生器は、位相角を表す位相信号を発生するように構成された位相アキュムレータを含む。位相アキュムレータと通信しているsin-cos変換器は、位相信号を位相入力として受信する。sin-cos変換器は、sin-cos曲線値を変換器出力として発生する。sin-cos曲線値は、あらかじめ定義された許容誤差で、位相角におけるsin-cos値とほぼ等しい。sin-cos変換器は、第1の角度範囲内のあらかじめ定義された間隔でのメインsin-cos端点を有するポイントルックアップテーブルをさらに含む。メインsin-cos端点の各々は、これらの間隔の中に、所与の角度でのsin-cos曲線値を含む。sin-cos変換器は、ポイントルックアップテーブル中の2つの関連付けられたメインsin-cos端点の間の第2の角度範囲内の間隔でのサブメインsin-cos端点の間の差を表す複数の補正値と、間隔の間の所与の角度でのsin-cos曲線値の近似値とを有する補正ルックアップテーブルも含む。sin-cos変換器のポイント選択回路は、位相角の第1の辺に関連付けられた第1のメインsin-cos端点と、位相角の第2の辺に関連付けられた第2のメインsin-cos端点とを、ポイントルックアップテーブルから与える。sin-cos変換器の補正選択回路は、第1のメインsin-cos端点と相関性がある第1の補正値、および第2のメインsin-cos端点と相関性がある第2の補正値を、補正ルックアップテーブルから与える。sin-cos変換器の変換器回路は、第1および第2のメインsin-cos端点と、第1および第2の補正値とに基づいて、変換器出力信号中の位相角におけるsin-cos曲線値を与える。このようにして、単位円全体について多数のsin-cos値を記憶する必要なく、同じ補正値を有する位相角に繰り返し適用することができるメインsin-cos端点から、補正値を算出することができる。
【０００９】
別の実施形態では、周波数発生器が提供される。周波数発生器は、位相角を表す位相信号を発生するための手段を備える。周波数発生器は、位相信号を位相入力として受信するための手段も備える。周波数発生器は、出力としてsin-cos曲線値を発生するための手段も備え、sin-cos曲線値は、あらかじめ定義された許容誤差で、位相角におけるsin-cos値とほぼ等しい。周波数発生器は、第1の角度範囲内のあらかじめ定義された間隔でのメインsin-cos端点からなるポイントルックアップテーブルを記憶するための手段も備え、メインsin-cos端点の各々は、あらかじめ定義された間隔の間の所与の角度でのsin-cos曲線値を含む。周波数発生器は、ポイントルックアップテーブル中の2つの関連付けられたメインsin-cos端点の間の第2の角度範囲内のあらかじめ定義された間隔での第1のサブメインsin-cos端点の間の差を表す複数の補正値と、あらかじめ定義された間隔の間の所与の角度でのsin-cos曲線値の近似値とからなる補正ルックアップテーブルを記憶するための手段も備える。周波数発生器は、ポイントルックアップテーブルから、位相角の第1の辺に関連付けられた第1のメインsin-cos端点および位相角の第2の辺に関連付けられた第2のメインsin-cos端点を選択するための手段も備える。周波数発生器は、補正ルックアップテーブルから、第1のメインsin-cos端点と相関性がある第1の補正値および第2のメインsin-cos端点と相関性がある第2の補正値を選択するための手段も備える。周波数発生器は、第1および第2のメインsin-cos端点と第1および第2の補正値とに基づいて、sin-cos曲線値出力信号を発生するための手段の中に、位相角におけるsin-cos曲線値を発生するための手段も備える。
【００１０】
別の実施形態では、周波数信号を発生する方法が提供される。この方法は、位相アキュムレータを通して、位相角を表す位相信号を発生するステップと、sin-cos変換器回路において位相信号を位相入力として受信するステップとを含む。この方法は、変換器回路において、メインsin-cos端点の各々が間隔の間の所与の角度でのsin-cos曲線値を含む、第1の角度範囲内のあらかじめ定義された間隔でのメインsin-cos端点を含むポイントルックアップテーブルから、位相角の第1の辺に関連付けられた第1のメインsin-cos端点および位相角の第2の辺に関連付けられた第2のメインsin-cos端点を受信するステップも含む。この方法は、sin-cos変換器回路において、ポイントルックアップテーブル中の2つの関連付けられたメインsin-cos端点の間の第2の角度範囲内の間隔での第1のサブメインsin-cos端点の間の差を表す補正値と、間隔の間の所与の角度でのsin-cos曲線値の近似値とを含む補正ルックアップテーブルから、第1のメインsin-cos端点と相関性がある第1の補正値および第2のメインsin-cos端点と相関性がある第2の補正値を受信するステップも含む。この方法は、sin-cos曲線値を変換器出力として発生するステップをさらに含む。sin-cos曲線値は、第1および第2のメインsin-cos端点と第1および第2の補正値とに基づくあらかじめ定義された許容誤差で、位相角におけるsin-cos値とほぼ等しい。
【００１１】
別の実施形態では、コンピュータ可読媒体が提供される。コンピュータ可読媒体は、周波数発生器に、位相角を表す位相信号を発生させ、位相信号を位相入力として受信させるためのコンピュータ実行可能命令を記憶している。コンピュータ実行可能命令は、周波数発生器にさらに、メインsin-cos端点の各々が間隔の間の所与の角度でのsin-cos曲線値を含む、第1の角度範囲内のあらかじめ定義された間隔でのメインsin-cos端点を含むポイントルックアップテーブルから、位相角の第1の辺に関連付けられた第1のメインsin-cos端点および位相角の第2の辺に関連付けられた第2のメインsin-cos端点を受信させる。コンピュータ実行可能命令は、周波数発生器にさらに、ポイントルックアップテーブル中の2つの関連付けられたメインsin-cos端点の間の第2の角度範囲内の間隔での第1のサブメインsin-cos端点の間の差を表す補正値と、間隔の間の所与の角度でのsin-cos曲線値の近似値とを含む補正ルックアップテーブルから、第1のメインsin-cos端点と相関性がある第1の補正値および第2のメインsin-cos端点と相関性がある第2の補正値を受信させる。コンピュータ実行可能命令は、周波数発生器にさらに、sin-cos曲線値を変換器出力として発生させ、sin-cos曲線値は、第1および第2のメインsin-cos端点と第1および第2の補正値とに基づくあらかじめ定義された許容誤差で、位相角におけるsin-cos値とほぼ等しい。
【図面の簡単な説明】
【００１２】
【図１】高精度sin-cos波発生用の例示的な正弦余弦(sin-cos)変換器と通信する位相アキュムレータを示すブロック図である。
【図２】メインsin-cos端点についてのポイントルックアップテーブルと、メインsin-cos端点の間のsin-cos値を判断するための補正ルックアップテーブルとを利用する、高精度sin-cos波発生のための例示的なsin-cos変換器を示すブロック図である。
【図３】π/4ラジアンの8つの弓形に分割された、例示的な2πラジアンの単位円を示す図である。
【図４】各々がメインsin-cos端点を有する、π/32ラジアンの弓形に下位分割された図3の2πラジアンの単位円の、例示的なπ/4ラジアンの扇形を示す図である。
【図５】中間点を判断するための別個の補正ルックアップテーブルとともに、メインsin-cos点を発生するための縮小サイズのsin-cos値ルックアップテーブルを利用する、高精度正弦波発生のための別の例示的なsin-cos変換器を示すブロック図である。
【図６】補正値ルックアップテーブルの2つの関連付けられた補正値の間の差を表す複数のデルタ補正値からなる追加デルタ補正ルックアップテーブルを利用する、高精度正弦波発生のための別の例示的なsin-cos変換器を示すブロック図である。
【図７】高精度sin-cos波発生のための、本明細書で開示する例示的なsin-cos変換器を含み得る例示的なプロセッサベースのシステムを示すブロック図である。
【発明を実施するための形態】
【００１３】
ここで図面を参照して、本開示のいくつかの例示的な実施形態を説明する。「例示的な」という言葉は、「例、事例、または例示として機能する」ことを意味するように本明細書で使用される。「例示的な」として本明細書で説明する任意の実施形態は、必ずしも他の実施形態よりも好ましいか、または有利であると解釈されるべきではない。
【００１４】
発明を実施するための形態で開示する実施形態は、高精度正弦および/または余弦(sin-cos)波および周波数発生器、ならびに関連システムおよび方法を含む。本明細書で開示する非限定的実施形態では、sin-cos波発生器は、低ハードウェアコストおよび少ないルックアップテーブル要件で、sin-cos波発生のための高精度のsin-cos値を与えることができる。本明細書で開示する実施形態は、位相入力に基づいてsin-cos曲線の算術的近似を実施するための回路を含み得る。この回路は、ポイントルックアップテーブルおよび補正ルックアップテーブルと通信することができる。これらのテーブルは、位相入力を受信し、位相入力を、位相に関連付けられたメインsin-cos端点と、および位相についての補正値と照合することができる。位相入力に基づいて選択されるこれらの値は、変換器回路に通信されてよく、変換器回路において、算術関数が値に適用され、sin-cos曲線値が生じる。
【００１５】
この点について、一実施形態では、周波数発生器が提供される。周波数発生器は、位相角を表す位相信号を発生するように構成された位相アキュムレータを含む。位相アキュムレータと通信しているsin-cos変換器は、位相信号を位相入力として受信する。sin-cos変換器は、sin-cos曲線値を変換器出力として発生する。sin-cos曲線値は、あらかじめ定義された許容誤差で、位相角におけるsin-cos値とほぼ等しい。sin-cos変換器は、第1の角度範囲内のあらかじめ定義された間隔でのメインsin-cos端点を有するポイントルックアップテーブルをさらに含む。メインsin-cos端点の各々は、これらの間隔の中に、所与の角度でのsin-cos曲線値を含む。sin-cos変換器は、ポイントルックアップテーブル中の2つの関連付けられたメインsin-cos端点の間の第2の角度範囲内の間隔でのサブメインsin-cos端点の間の差を表す複数の補正値と、間隔の間の所与の角度でのsin-cos曲線値の近似値とを有する補正ルックアップテーブルも含む。sin-cos変換器のポイント選択回路は、位相角の第1の辺に関連付けられた第1のメインsin-cos端点と、位相角の第2の辺に関連付けられた第2のメインsin-cos端点とを、ポイントルックアップテーブルから与える。sin-cos変換器の補正選択回路は、第1のメインsin-cos端点と相関性がある第1の補正値、および第2のメインsin-cos端点と相関性がある第2の補正値を、補正ルックアップテーブルから与える。sin-cos変換器の変換器回路は、第1および第2のメインsin-cos端点と、第1および第2の補正値とに基づいて、位相角におけるsin-cos曲線値を与える。このようにして、単位円全体について多数のsin-cos値を記憶する必要なく、同じ補正値を有する位相角に繰り返し適用することができるメインsin-cos端点から、補正値を算出することができる。
【００１６】
この点について、図1は、例示的な周波数発生器10のブロック図である。周波数発生器は、後でより詳しく論じるように、ハードウェアコストが低く、ルックアップテーブル要件が少ない例示的な高精度sin-cos発生器12と通信する位相アキュムレータ11を含む。位相アキュムレータ11は、sin-cos値を発生するための入力信号14を受信するように構成される。位相アキュムレータ11は、入力信号14を受信し、入力信号14の位相角を表す位相信号16を発生するように構成される。位相アキュムレータ11は、入力信号14と、位相アキュムレータ11の以前の出力(位相信号)16を合計するための加算器を含み得る。位相アキュムレータ11は、位相アキュムレータ11によって発生された位相信号16で表される位相値を記憶するための、レジスタなどの記憶ユニット18を含む。定期的間隔で、位相アキュムレータ11は、入力信号14と合計された、記憶ユニット18から取得された以前の位相信号16を含む位相信号16を生じる。得られる位相信号16は、離散波形であり、位相角を表す位相信号の離散インスタンスを与える。位相アキュムレータ11の実装形態は、変わってよい。たとえば、位相アキュムレータ11の構成要素の前述の例は、様々なハードウェアまたはソフトウェア構成で実施されてよい。
【００１７】
図1の参照を続けると、入力信号14の位相角を表す位相信号16は、sin-cos変換器12に入力される。sin-cos変換器12は、sin-cos曲線値を変換器出力信号20として発生する。変換器出力信号20で表されるsin-cos曲線値は、あらかじめ定義された許容誤差で、位相信号16によって表される位相角でのsin-cos値とほぼ等しくなり得る。本開示の残りの部分では、位相信号16から導出される位相入力22(図2、図5、および図6参照)に基づいて高精度のsin-cos曲線値を発生することが可能な低コストsin-cos変換器12の例示的な実施形態および例を挙げる。
【００１８】
この点について、図2は、図1の周波数発生器10において利用することができる例示的なsin-cos変換器12(1)のブロック図である。本実施形態におけるsin-cos変換器12(1)は、位相入力22を、変換器出力信号20中の、位相入力22の位相角におけるsin-cos曲線についてのsin値およびcos値からなるsin-cos値に変換するのに使われるルックアップテーブルのサイズが小さいので、ハードウェアコストが低い。本実施形態では、sin-cos変換器12(1)は、ポイントルックアップテーブル26、補正ルックアップテーブル28、および変換器回路30を含む。ポイントルックアップテーブル26は、単位円32(図3参照)上の様々な点に対応する少なくとも1つのデータセットを含み、補正ルックアップテーブル28は、単位円32上の2つの点の間の様々な角度に対応する補正値48の少なくとも1つのデータセットを含む。ポイントルックアップテーブル26および補正ルックアップテーブル28のデータセットは、様々なデータ構造によって実装され、または様々な形のメモリ上に記憶され得る。
【００１９】
ポイントルックアップテーブル26は、第1の角度範囲38(図3および図4参照)内のあらかじめ定義された間隔36(図4参照)でのメインsin-cos端点34(図4参照)を含む。メインsin-cos端点34の各々は、あらかじめ定義された間隔36の間の所与の位相角でのsin-cos曲線値を含む。したがって、所与の位相角についての正弦(sin)値および余弦(cos)値が、ポイントルックアップテーブル26中で与えられる。メインsin-cos端点34は、正弦波発生用に所望される精度レベルに依存して、所定の有効桁数だけ与えられ得る。同様に、あらかじめ定義された間隔36の数およびサイズにより、ポイントルックアップテーブル26中のメインsin-cos端点34の数が決定される。より小さいあらかじめ定義された間隔36にある値が多いほど、正弦波発生の精度が増し得る。
【００２０】
メインsin-cos端点34は、sin波を発生するとき、これらのメインsin-cos端点34が、メインsin-cos端点34が必要とされる瞬間に算出される必要がないように、あらかじめ算出および記憶し、またはハードコードすることができる。この手法は、ハードウェアがメインsin-cos端点34を計算する必要をなくすので、sin波を発生するのに必要とされるハードウェアのコストを削減することができる。さらに、要求が多く時間を消費する算出を稼動するのではなく、メインsin-cos端点34のみがアクセスされ、読み取られるので、処理能力および時間というコストも削減される。
【００２１】
第1の角度範囲38が大きく、および/またはあらかじめ定義された間隔36が小さい場合、ポイントルックアップテーブル26は法外に大きくなり得るので、メインsin-cos端点34を記憶するための大量のメモリが必要になる。ここに、精度と効率との間のトレードオフが存在する。ハイレベルな精度を維持したまま、ポイントルックアップテーブル26に記憶される値を減らすために、一実施形態では、単位円32中のメインsin-cos端点34用に存在する三角関数恒等式を利用すればよい。この点について、図3は、π/4ラジアン(または45度)の8つの弓形に分割された、2πラジアンの単位円32の図である。
【００２２】
π/4ラジアンの弓形の各々において、所与の角度でのメインsin-cos端点34が繰り返される。ただし、メインsin-cos端点34は、否定されるか、またはsin値とcos値との間で切り替えられ得る。不一致が引き起こされる場合、本明細書でさらに論じるように、ポイントルックアップテーブル26は、第1の角度範囲38の間の所与の角度に対するメインsin-cos端点34のすべてを表すのに必要な値の1/8を含むことができる。この例において論じる単位円32の分割は、排他的であることを意図するものではなく、単位円32の他の分割が、所望のレベルの精度を維持したままポイントルックアップテーブル26のサイズを削減するのに、三角関数恒等式を利用することが可能である。
【００２３】
この点について、この例を続けると、図4は、メインsin-cos端点34(0)〜34(7)を各々が有する、π/32ラジアンの弓形(あらかじめ定義された間隔36(0)〜36(7))によって下位分割された、図3の2πラジアンの単位円32のπ/4ラジアンの弓形(第1の角度範囲38)の図である。π/4ラジアンの弓形を、π/32ラジアンの8つのあらかじめ定義された間隔36(0)〜36(7)に分割すると、16個のメインsin-cos端点34(0)〜34(7)(8つのsin値および8つのcos値、または8つのsin-cos曲線値)が生じ、ポイントルックアップテーブル26に記憶される。単位円32の三角関数恒等式と、この例では、単位円32が8つの弓形に分割されているという事実とを利用すると、ポイントルックアップテーブル26の16個の値は、単位円32上の異なる角度における128個のメインsin-cos端点34(0)〜34(127)(64個のsin値および64個のcos値、または64個のsin-cos曲線値)を表すのに使うことができる。
【００２４】
この点について、図2のポイントルックアップテーブル26は、ポイントルックアップテーブル26から、位相入力22の位相角のいずれかの辺に関連付けられたメインsin-cos端点34を与えるためのポイント選択回路40を含み得る。ポイント選択回路40の構成要素は、セレクタ42、スイッチ44、および否定素子46を含み得る。セレクタ42は、第1の角度範囲38内の等価な位相角を表す位相入力22の基準位相角と相関するメインsin-cos端点34を選択するように実装され得る。したがって、位相入力22の位相角が第1の角度範囲38の外であっても、正確な関連付けられたメインsin-cos端点34が選択され得る。スイッチ44および否定素子46は、否定され、またはsin値とcos値との間で切り替えられるメインsin-cos端点34を、それらの三角関数恒等式を利用しながら構成するように実装され得る。スイッチ44は、必要な場合、位相入力22の位相角と相関するメインsin-cos端点34値を切り替えるように実装され得る。否定素子46は、必要な場合、位相入力22の位相角と相関するメインsin-cos端点34値のうち1つまたは複数を否定するように実装され得る。メインsin-cos端点34値を切り替え、または否定するという判断は、位相入力22によって与えられる位相角に依存するが、それは、位相角が、最終的なメインsin-cos端点34を、ポイントルックアップテーブル26に記憶されたものとは異なる、単位円32の弓形内に置くことができるからである。
【００２５】
効率および精度の問題により、ポイントルックアップテーブル26だけでは、所望の精度のsin-cos値を生じるのに不十分な場合がある。ポイントルックアップテーブル26が大きい場合は効率が悪化し、小さい場合は精度が悪化する。一実施形態では、精度と効率の両方を達成するのに、補正ルックアップテーブル28がポイントルックアップテーブル26とともに使われ得る。補正ルックアップテーブル28は、ポイントルックアップテーブル26中の2つの隣接するメインsin-cos端点34の間の第2の角度範囲内の間隔でのサブメインsin-cos端点34の間の差を表す値48と、第2の角度範囲内の間隔の間の所与の角度でのsin-cos曲線値の近似値との数補正を含み得る。ポイントルックアップテーブル26のように、補正ルックアップテーブル28の補正値48は、正弦波発生に所望される精度レベルに依存して、所定の有効桁数だけ与えられ得る。同様に、第2の角度範囲内の間隔の数およびサイズにより、補正ルックアップテーブル28中の補正値48の数が決定され、より小さい間隔にある値が多いほど、正弦波発生の精度が増し得る。
【００２６】
やはり、メインsin-cos端点34と同様に、補正値48は、sin波を発生するとき、これらの補正値48が、補正値48が必要とされる瞬間に算出される必要がないように、あらかじめ算出および記憶し、またはハードコードすることができる。補正値48のこの事前判断および記憶により、ハードウェアが補正値48を計算する必要がなくなるので、sin波を発生するのに必要とされるハードウェアのコストを削減することができる。要求事項が多く時間を消費する算出を稼動するのではなく、求められるのは補正値48がアクセスされ、読み取られることだけなので、処理能力および時間というコストも削減される。
【００２７】
さらに、補正ルックアップテーブル28が大きくなりすぎた場合、補正値48に関する問題があり得る。これは、第2の角度範囲内のあらかじめ定義された間隔36が小さく、補正値48を記憶するのに大量のメモリを必要とする場合に起こり得る。ただし、補正値48の算出の特徴により、本明細書でさらに論じるように、メインsin-cos端点34のsin値とcos値の両方について、単一データセットが記憶されることが可能であり、メモリ要件が減る。
【００２８】
一実施形態では、2つのメインsin-cos端点34の間の位相角についてのsin-cos曲線値の近似値を用いることができる。ただし、第1の角度範囲38に対してさえも、様々なあらかじめ定義された間隔36内の多数の位相角についての近似値を算出または記憶するのは、コストがかかり得る。ここでは、精密なsin波を発生するコストを削減するために、(近似値自体を使うのではなく)補正値48を、近似値から算出し、様々な繰り返される角度範囲内の複数のあらかじめ定義された間隔36内の同様の位相角に対して繰り返し適用することができると判断される。そうすることによって、補正値48は、第1の角度範囲38の1つのあらかじめ定義された間隔36について算出され記憶されるだけでよい。
【００２９】
例示的な実施形態では、Buneman恒等式を利用する手法を適用し、この式では、三角関数恒等式に基づいて、未知の値(「a」)の両側において等距離である2つの点(「d」および「-d」)がわかっている場合、それらの間の値に対する厳密解が存在する。
【００３０】
【数１】
0005680811.tif 000002
【００３１】
この恒等式は、2つの他の既知のsin-cos端点34の間のsin-cos端点34の値を判断するのに使うことができる。したがって、1対のメインsin-cos端点34で始まり、以下の式が、サブメインsin-cos端点34を判断するために、メインsin-cos端点34のペアの間で再帰的に適用され得る。次いで、式は、別のsin-cos端点34を判断するために、ペアの中の2つのメインsin-cos端点34のうち1つと、サブメインsin-cos端点34との間に、次いで、以下に示すように、さらに別のサブメインsin-cos端点34を判断するために、2つのサブメインsin-cos端点34の間にさえも適用され得る(「Δ」は、角度「x」の各辺における距離である)。
【００３２】
【数２】
0005680811.tif 000003
【００３３】
これらの再帰算出から、いくつかのサブメインsin-cos端点34を算出することができる。この算出の特徴は、式への代入により、下位係数で乗算されるcos(x0)と、上位係数で乗算されるcos(xn)との関数として、サブメインsin-cos端点34の各々についての式を導出することができることである。cos(x0)およびcos(xn)の関数としてサブメインsin-cos端点34を導出するのに、直前の式が使われると、cos(x0)項についての正割ベースの係数(すなわち、上位係数)およびcos(xn)項についての正割ベースの係数(すなわち、下位係数)が与えられる。これを、例として、n=8のときの、関数cos(x0)およびcos(xn)として与えられるcos(x1)〜cos(x7)について導出および平坦化された式についての直後の式に示す。これらの上位および下位係数は、cos(x0)およびcos(xn)の関数としてサブメインsin-cos端点34を判断するために、sin-cos端点34(すなわち、cos(x+Δ)、cos(x-Δ)、sin(x+Δ)、sin(x-Δ))に適用され得る。
【００３４】
【数３】
0005680811.tif 000004
【００３５】
これらの係数は、あらかじめ算出し、使用するためにメモリに記憶することができる。たとえば、以下のTable 1(表1)に示すこれらの係数の以下の例では、下のTable 1(表1)に示すように、上位係数は、中心索引値付近の対向する索引値からの下位係数と同じなので、上位係数または下位係数のみが、記憶され、補正値48として使われる必要があり得ることに留意されたい。したがって、上位係数は、下位係数を与えるのに使うことができ、その逆も同様である。
【００３６】
【表１】
0005680811.tif 000005
【００３７】
上のTable 1(表1)中のランプ値は、Buneman恒等式を使って算出される厳密値の線形補間である。小さい間隔の間、線形補間値は、上位係数値に近いが、所望の精度を達成するのに十分近くはない。したがって、補正値48(Table 1(表1)中のデルタ)は、上位係数とランプ値との間の差として算出することができる。さらに、上位係数および下位係数は、中心値付近の対向端から互いを映すので、補正ルックアップテーブル28中でただ1組の補正値48が必要とされ、それは、下位係数についての対応する補正値48の選択が、補正値48を選択する順序を反転させることによって選ばれ得るからである。
【００３８】
補正ルックアップテーブル28は、補正ルックアップテーブル28から補正値48を与えるための補正選択回路50を含み得る。補正選択回路50は、位相角の一方の辺におけるメインsin-cos端点34と相関性がある補正値48と、位相角の他方の辺におけるメインsin-cos端点34と相関性がある補正値48とを選択する。一実施形態では、この判断は、位相入力22に基づいて行うことができる。あるいは、判断は、ポイントルックアップテーブル26から選択されたメインsin-cos端点34に基づいて行うことができる。
【００３９】
本明細書においてさらに記載する変換器回路30は、ポイントルックアップテーブル26からメインsin-cos端点34を、および補正ルックアップテーブル28から補正値48を受信する。テーブルからの値および位相入力22を用いて、変換器回路30は、所与の位相角についてのsin-cos曲線値を算出する。
【００４０】
図5は、低ハードウェアコストおよび少ないルックアップテーブル要件での高精度正弦波発生のための例示的な装置(sin-cos変換器12(2))のブロック図である。この図には、変換器回路30がより詳細に示されている。変換器回路30の構成要素は、一次乗算器52、減算器54、二次乗算器56、および一次加算器58を含み得る。メインsin-cos端点34がポイントルックアップテーブル26から選択され、対応する補正値48が補正ルックアップテーブル28から選択されると、sin-cos端点34および補正値48のsinまたはcos値の対応するペアが、一次乗算器52によって乗算される。一実施形態では、2つの一次乗算器52が実装され、各一次乗算器52が、sin-cos端点34および補正値48のsinまたはcos値の対応するペアのうち1つの乗算を担当する。sin-cos曲線値のsin値を算出するとき、一方の一次乗算器52が、位相角の一方の辺におけるsin値を対応する補正値48で乗算し、他方の一次乗算器52が、位相角の他方の辺におけるsin値を対応する補正値48で乗算する。ただ1つの一次乗算器52がある場合、このプロセスは、2つの一次乗算器52があるときのように、並列ではなく直列に起こる。
【００４１】
一次乗算器52からの結果が、減算器54によって互いから減算される。得られる差は、二次乗算器56によって位相入力22で乗算される。次いで、一次乗算器52からの結果、二次乗算器56からの結果、およびメインsin-cos端点34の値のうち1つが、一次加算器58によって加算される。代替実施形態では、丸めビットも一次加算器58によって加算され得る。一次加算器58の得られる和は、一次乗算器52において乗算された値が、メインsin-cos端点34のsin値であるか、それともcos値であるかに依存して、所与の位相角についてのsin-cos曲線値のsinまたはcos曲線値のいずれかである。sin-cos曲線値のsinまたはcos曲線値のうち最初の値が少なくとも算出され始めた後、sin-cos曲線値のうち他の値が算出を始めることができる。
【００４２】
直列に算出されるsin-cos曲線値の算出の代替法として、一次乗算器52、減算器54、二次乗算器56、および一次加算器58の第2のセットが存在し得る。そのような代替実施形態は、sin-cos曲線値のsin値およびcos値の算出が並列に算出されることを可能にし得る。
【００４３】
この例では、単位円32は、0〜π/8ラジアンである第1の角度範囲38に分けられる。その角度範囲内で、単位円32の恒等式は、16個のメインsin-cos端点34(8つのsin値および8つのcos値)を与え、これらの点は、あらかじめ算出され、ポイントルックアップテーブル26に記憶される。0〜π/64ラジアンの範囲に及ぶメインsin-cos端点34の間のあらかじめ定義された間隔36内で、32個の補正値48があらかじめ算出され、補正ルックアップテーブル28に記憶される。θは位相角を表し、φは、第1の角度範囲38内の、θに等価な角度を表し、δは、最も近い補正値48を選択するのに使われる副角度を表し、sintable(φ)、sintable(φ+π/64)、costable(φ)、costable(φ+π/64)は、メインsin-cos端点34を選択するための関数であり、bctable(δ)およびbctable(π/64-δ)は、補正値48の選択のための関数であり、sin-cos曲線値の算出の数式表現は、次のようになる。
【００４４】
【数４】
0005680811.tif 000006
【００４５】
図6は、低ハードウェアコストおよび少ないルックアップテーブル要件での高精度sin波発生のための例示的な装置(sin-cos変換器12(3))のブロック図である。図6の実施形態により、サブメインsin-cos端点34の間に線形補間を導入することによって、sin-cos曲線値の算出の精度がより一層高くなり得る。サブメインsin-cos端点34の間の角度は、厳密なsin-cos曲線値からのどの偏差も所望される精度レベルを超え得るように小さくてよい。この線形補間をサブメインsin-cos端点34の間に組み込むために、変換器回路30は、デルタ補正ルックアップテーブル60、三次乗算器62、二次加算器64、および四次乗算器66も含み得る。
【００４６】
デルタ補正ルックアップテーブル60は、補正ルックアップテーブル28からの関連付けられた補正値48の各々の間の差を含む。デルタ補正値68は、補正選択回路50が補正値48を選択するのと同じやり方で、デルタ補正選択回路70によってデルタ補正ルックアップテーブル60から選択される。
【００４７】
三次乗算器62は、メインsin-cos端点34値を補正値48で乗算する代わりに、三次乗算器62が、メインsin-cos端点値34をそれぞれのデルタ補正値68で乗算することを除いて、一次乗算器52と等価に機能する。一次乗算器52と同様、複数の三次乗算器62があってよい。二次加算器64は、三次乗算器62の結果と、減算器54からの得られる差を合計する。二次加算器64からの得られる和は、四次乗算器66によって位相入力22で乗算される。本実施形態では、一次加算器58は、四次乗算器66からの結果を、その合計に含める。
【００４８】
sin-cos曲線値を算出する前述の実施形態と同様、sin曲線値およびcos曲線値は直列に算出することができ、または本明細書に記載する構造は、値を並列に算出することができるように二重にされてもよい。
【００４９】
本明細書で開示する実施形態による高精度sin-cos波および周波数発生器は、どのプロセッサベースのデバイス内に設けられても、統合されてもよい。例として、限定されないが、セットトップボックス、娯楽機器、ナビゲーションデバイス、通信デバイス、固定ロケーションデータユニット、モバイルロケーションデータユニット、モバイルフォン、セルラーフォン、コンピュータ、ポータブルコンピュータ、デスクトップコンピュータ、携帯情報端末(PDA)、モニタ、コンピュータモニタ、テレビ、チューナ、ラジオ、衛星ラジオ、音楽プレーヤ、デジタル音楽プレーヤ、ポータブル音楽プレーヤ、デジタルビデオプレーヤ、ビデオプレーヤ、デジタルビデオディスク(DVD)プレーヤ、およびポータブルデジタルビデオプレーヤが含まれる。
【００５０】
この点について、図7は、たとえば、図1の周波数発生器10と同様であり得る周波数発生器73を利用することができるプロセッサベースのシステム72の例を示す。この例における周波数発生器73は、図1〜図4の例によって提供されるような、ハードウェアコストが低く、ルックアップテーブル要件が少ない、高精度sin波発生器である。この例では、プロセッサベースのシステム72は、1つまたは複数の中央処理装置(CPU)74を含む。周波数発生器73は、この例ではCPU74内に設けられるが、プロセッサベースのシステム72内の他の箇所に設けられてもよい。CPU74は、マスターデバイスでもよい。CPU74はシステムバス80に結合され、システムバス80は、プロセッサベースのシステム72に含まれるマスターデバイスおよびスレーブデバイスを相互に結合することができる。システムバス80は、バス相互接続であってよい。当業者にはよく知られているように、CPU74は、アドレス情報、制御情報、およびデータ情報を、システムバス80を通じて交換することによって、これらの他のデバイスと通信する。スレーブデバイスの例として働くので、CPU74は、バストランザクション要求をメモリコントローラ82に通信することができる。図7には示さないが、複数のシステムバス80を設けてもよく、この場合、各システムバス80は異なるファブリックを構成する。
【００５１】
他のマスターおよびスレーブデバイスが、システムバス80に接続され得る。図7に示されるように、これらのデバイスは、例として、メモリシステム84、1つまたは複数の入力デバイス86、1つまたは複数の出力デバイス88、1つまたは複数のネットワークインターフェースデバイス90、ならびに1つまたは複数のディスプレイコントローラ92を含み得る。入力デバイス86は、入力キー、スイッチ、音声プロセッサなどを含むが、それに限定されない、どのタイプの入力デバイスも含み得る。出力デバイス88は、オーディオ、ビデオ、他の視覚インジケータなどを含むが、それに限定されない、どのタイプの出力デバイスも含み得る。ネットワークインターフェースデバイス90は、ネットワーク94との間でデータの交換をさせるように構成されたどのデバイスでもよい。ネットワーク94は、限定はされないが、有線ネットワークまたはワイヤレスネットワーク、非公開ネットワークまたは公開ネットワーク、ローカルエリアネットワーク(LAN)、ワイドローカルエリアネットワーク(WLAN)、およびインターネットを含む、任意のタイプのネットワークであってよい。ネットワークインターフェースデバイス92は、所望の任意のタイプの通信プロトコルをサポートするように構成され得る。メモリシステム84は、1つまたは複数のメモリユニット96を含むことができる。アービタ98は、システムバス80と、たとえば、メモリシステム84に設けられたメモリユニット96など、システムバス80に結合されたマスターおよびスレーブデバイスとの間に設けられていてもよい。
【００５２】
CPU74はまた、システムバス80を通じてディスプレイコントローラ92にアクセスして、1つまたは複数のディスプレイ100に送られる情報を制御するようにも構成され得る。ディスプレイコントローラ92は、1つまたは複数のビデオプロセッサ102を介して表示されるべき情報を、ディスプレイ100に送り、ビデオプロセッサ102は、表示されるべき情報を、ディスプレイ100に適切なフォーマットとなるように処理する。ディスプレイ100は、限定はされないが、陰極線管(CRT)、液晶ディスプレイ(LCD)、プラズマディスプレイなどを含む、任意のタイプのディスプレイを含み得る。
【００５３】
CPU74およびディスプレイコントローラ92は、システムバス80を介してアービタ98へのメモリアクセス要求を行うためのマスターデバイスとして作用し得る。CPU74およびディスプレイコントローラ92内の異なるスレッドが、アービタ98への要求を行うことができる。
【００５４】
本明細書で開示する実施形態とともに説明する様々な例示的な論理ブロック、モジュール、回路、およびアルゴリズムは、電子的なハードウェアとして、メモリもしくは別のコンピュータ可読媒体に記憶されプロセッサもしくは他の処理デバイスにより実行される命令として、またはこれら両方の組合せとして実装され得ることが、当業者にはさらに理解されよう。本明細書に記載したアービタ、マスターデバイス、およびスレーブデバイスは、例として、どの回路、ハードウェア構成要素、集積回路(IC)、またはICチップ内でも利用することができる。本明細書で開示するメモリは、どのタイプおよびサイズのメモリでもよく、所望されるどのタイプの情報も記憶するように構成され得る。この互換性を明確に示すために、上記では、様々な例示的構成要素、ブロック、モジュール、回路、およびステップは全般的に、それらの機能に関して説明されている。そのような機能がどのように実装されるかは、具体的な用途、設計の選択、および/またはシステム全体に課される設計制約により決まる。当業者は、説明した機能を特定の適用例ごとに様々な方法で実装し得るが、そのような実装の決定は、本発明の範囲からの逸脱を生じるものと解釈すべきではない。
【００５５】
本明細書で開示する実施形態に関して説明する様々な例示的な論理ブロック、モジュール、および回路は、プロセッサ、デジタルシグナルプロセッサ(DSP)、特定用途向け集積回路(ASIC)、フィールドプログラマブルゲートアレイ(FPGA)もしくは他のプログラマブル論理デバイス、個別ゲートもしくはトランジスタ論理回路、個別ハードウェア構成要素、または本明細書で説明する機能を実施するように設計されたそれらの任意の組合せで実装または実施することができる。プロセッサはマイクロプロセッサであり得るが、代替として、プロセッサは任意の従来のプロセッサ、コントローラ、マイクロコントローラ、または状態機械であり得る。プロセッサはまた、コンピューティングデバイスの組合せ、たとえば、DSPとマイクロプロセッサとの組合せ、複数のマイクロプロセッサ、DSPコアと連携する1つまたは複数のマイクロプロセッサ、あるいは任意の他のそのような構成として実装され得る。
【００５６】
本明細書で開示される実施形態は、ハードウェアで具現化されてよく、ハードウェアに記憶される命令により具現化されてよく、たとえば、ランダムアクセスメモリ(RAM)、フラッシュメモリ、読取り専用メモリ(ROM)、電気的にプログラム可能なROM(EPROM)、電気的に消去可能なプログラム可能ROM(EEPROM)、レジスタ、ハードディスク、リムーバブルディスク、CD-ROM、または、当技術分野で知られている任意の他の形態のコンピュータ可読媒体に、存在し得る。例示的な記憶媒体は、プロセッサが記憶媒体から情報を読み取り、記憶媒体に情報を書き込むことができるように、プロセッサに結合される。代替として、記憶媒体はプロセッサと一体であり得る。プロセッサおよび記憶媒体はASIC中に常駐し得る。ASICは遠隔局に存在し得る。代替的には、プロセッサおよび記憶媒体は、遠隔局、基地局、またはサーバの中に、個別の構成要素として存在し得る。
【００５７】
本明細書の例示的な実施形態のいずれかで説明した動作ステップは、例および議論を提供するために説明したものであることにも、留意されたい。説明された動作は、例示された順序以外の多くの異なる順序で実施されてもよい。さらに、単一の動作ステップで説明される動作は、実際には、多くの異なるステップで実施され得る。加えて、例示的な実施形態において論じられた1つまたは複数の動作ステップは、組み合わされてもよい。フローチャートにおいて例示される動作ステップは、当業者に容易に明らかとなるような多くの異なる修正を受けてもよいことを、理解されたい。情報および信号は、多種多様な技術および技法のいずれかを使用して表され得ることも、当業者には理解されよう。たとえば、上記の説明全体にわたって言及され得るデータ、命令、コマンド、情報、信号、ビット、シンボル、およびチップは、電圧、電流、電磁波、磁界または磁性粒子、光場または光学粒子、あるいはそれらの任意の組合せによって表され得る。
【００５８】
本開示の上記の説明は、当業者が本開示を構成または使用できるようにするために提供される。本開示への様々な変更が当業者には容易に明らかになり、本明細書において規定される一般原理は、本開示の趣旨または範囲を逸脱することなく、他の変形形態に適用することができる。したがって、本開示は、本明細書で説明した例および設計に限定されることを意図するものではなく、本明細書で開示する原理および新規の特徴に一致する最も広い範囲を与えられるべきである。
【符号の説明】
【００５９】
10  周波数発生器
11  位相アキュムレータ
12  sin-cos発生器
14  入力信号
16  位相信号
18  記憶ユニット
20  変換器出力信号
22  位相入力
26  ポイントルックアップテーブル
28  補正ルックアップテーブル
30  変換器回路
32  単位円
34  sin-cos端点
36  間隔
38  角度範囲
40  ポイント選択回路
42  セレクタ
44  スイッチ
46  否定素子
48  補正値、値
50  補正選択回路
52  一次乗算器
54  減算器
56  二次乗算器
58  一次加算器
60  デルタ補正ルックアップテーブル
62  三次乗算器
64  二次加算器
66  四次乗算器
70  デルタ補正選択回路
72  システム
73  周波数発生器
74  中央処理装置(CPU)
80  システムバス
82  メモリコントローラ
84  メモリシステム
86  入力デバイス
88  出力デバイス
90  ネットワークインターフェースデバイス
92  ディスプレイコントローラ
94  ネットワーク
96  メモリユニット
98  アービタ
100  ディスプレイ
102  ビデオプロセッサ
【図１】
0005680811.tif 000007
【図２】
0005680811.tif 000008
【図３】
0005680811.tif 000009
【図４】
0005680811.tif 000010
【図５】
0005680811.tif 000011
【図６】
0005680811.tif 000012
【図７】
0005680811.tif 000013