(57)【要約】  サンプリング間隔ごとに一回だけ所定値をフェーザに乗算し、前記フェーザ内の最上位ビットを使用して前記フェーザが４５度の整数倍であるかどうかを識別し、前記フェーザが４５度の整数倍であると決定された場合に前記フェーザ内の成分を代入することにより所望の周波数の複素正弦波を効率的に生成する方法及び装置である。前記フェーザが４５度の整数倍であるとして識別されない場合、実数成分及び虚数成分の両方に対する誤差因子が決定され、前記実数成分及び前記虚数成分が前記誤差因子を除去することにより補正される。
2007520138.tif 000002
【特許請求の範囲】
【請求項１】
所望の周波数の複素正弦波を生成する方法において、
次のフェーザを作成するためにサンプリング間隔ごとに１回だけ所定値を現在のフェーザに乗算するステップと、
前記次のフェーザの実数成分及び虚数成分に対する誤差因子を決定するステップと、
前記誤差因子を除去することにより前記実数成分及び前記虚数成分を補正するステップと、
を有する方法。
【請求項２】
前記乗算するステップが、
ゼロ値条件が前記次のフェーザの実数成分又は虚数成分のいずれかに存在するかどうかを識別するステップであって、前記ゼロ値条件が存在する場合に前記因子を決定するステップ及び前記補正するステップを実行せず、代わりに前記ゼロ値条件を示す複素フェーザ成分に単位振幅の補成分を代入するステップを実行する前記識別するステップ、
を更に有する、請求項１に記載の方法。
【請求項３】
前記乗算するステップが、
等価条件が前記次のフェーザの実数成分と虚数成分との間に存在するかどうかを識別するステップであって、前記等価条件が存在する場合に前記因子を決定するステップ及び前記補正するステップを実行せず、代わりに前記次のフェーザの実数成分及び虚数成分の両方に等しい成分を代入するステップを実行する前記識別するステップ、
を更に有する、請求項２に記載の方法。
【請求項４】
前記識別するステップが、前記ゼロ値条件又は前記等価条件に対する前記次のフェーザの複数の最上位ビットの検査を更に有する、請求項３に記載の方法。
【請求項５】
前記識別するステップが、全ての前記複数の最上位ビットが論理０又は論理１のいずれかであるかどうかを決定することにより前記ゼロ値条件を決定するための前記次のフェーザの前記複数の最上位ビットの検査を更に有する、請求項４に記載の方法。
【請求項６】
前記代入するステップが、前記次のフェーザの実数成分及び虚数成分の両方に対する２分の１の単位振幅の平方根の成分の代入を更に有する、請求項３に記載の方法。
【請求項７】
シストリックプロセッサアレイ内で実施される請求項１に記載の方法。
【請求項８】
個別論理装置内で実施される請求項１に記載の方法。
【請求項９】
コンピュータ上で実行されるアルゴリズムとして実施される請求項１に記載の方法。
【請求項１０】
前記所望の周波数の少なくとも２倍であるサンプリングレートの採用を更に有する、請求項１に記載の方法。
【請求項１１】
所望の周波数の複素正弦波を生成する方法において、
次のフェーザを作成するためにサンプリング間隔ごとに１回だけ所定値を現在のフェーザに乗算するステップと、
前記次のフェーザが４５度の整数倍であるかどうかを識別するステップであって、前記次のフェーザが４５度の整数倍であると決定される場合に前記次のフェーザ内の少なくとも１つの成分に代入する前記識別するステップと、
前記次のフェーザが４５度の整数倍であると識別されない場合に誤差因子を決定するステップと、
前記誤差因子を除去することにより実数成分及び虚数成分を補正するステップと、
を有する方法。
【請求項１２】
前記識別するステップが、前記次のフェーザの複数の最上位ビットを検査することにより実行される、請求項１２に記載の方法。
【請求項１３】
前記識別するステップは、ゼロ値条件が前記次のフェーザの実数成分又は虚数成分のいずれかに存在するかどうかの識別と、前記ゼロ値条件を示す複素フェーザ成分に対する単位振幅の補成分の代入とを更に有する、請求項１２に記載の方法。
【請求項１４】
前記識別するステップは、等価条件が前記次のフェーザの実数成分と虚数成分との間に存在するかどうかの識別と、前記等価条件が存在する場合に前記次のフェーザの実数成分及び虚数成分の両方に対する等しい成分の代入とを更に有する、請求項１２に記載の方法。
【請求項１５】
前記代入が、前記次のフェーザの実数成分及び虚数成分の両方に対する２分の１の単位振幅の平方根の代入を更に有する、請求項１４に記載の方法。
【請求項１６】
所望の周波数の複素正弦波を効率的に生成する方法において、
複数の次のフェーザを作成するために現在のフェーザに連続した複素乗算を実施するステップと、
前記次のフェーザに生じる累積的な丸め誤差を補償するステップと、
を有する方法。
【請求項１７】
前記補償するステップが、前記次のフェーザの複数の最も重要なビットを検査するステップを更に有する、請求項１６に記載の方法。
【請求項１８】
前記検査するステップが、
前記次のフェーザの成分内のゼロ値の条件を検出するステップと、
前記ゼロ値の条件が検出される前記次のフェーザの成分に対して単位振幅の成分を代入するステップと、
を更に有する、請求項１７に記載の方法。
【請求項１９】
前記検査するステップが、
前記次のフェーザの等しい絶対値成分の条件を検出するステップと、
前記等しい絶対値の条件を持つと検出された前記次のフェーザの成分に対して２分の１の平方根の振幅の成分を代入するステップと、
を更に有する、請求項１６に記載の方法。
【請求項２０】
前記実施するステップは、サンプリングレートが前記所望の周波数の少なくとも２倍であるプロセッサの採用を更に有する、請求項１６に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、数値制御発振器に関し、特に、数値制御発振器内の累積的な近似又は丸め誤差を補正する数値制御発振器に関する。
【背景技術】
【０００２】
送信された信号の復調は、しばしばベースバンドへのダウンコンバージョンを必要とし、これはダウンコンバートされるべき信号と同じキャリア又は中間周波数を持つ局所的に生成された正弦波（sinusoidal）信号とのミキシング、又は乗算を必要とする。デジタルチャネル復調システムにおいて、この機能は、典型的には、数値制御発振器（ＮＣＯ）を使用して実行される。ＮＣＯの性能は、線形に変化する位相角の三角関数をデジタルで生成するのに望ましい。例外は、所望の周波数が、ナイキスト周波数が到達されるようなデジタルのサンプリング周波数の小さな整数倍、又は分子及び分母が両方とも小さな整数である分数のいずれかである場合である。
【０００３】
デジタルチャネル復調は、しばしば、数値制御発振器により供給されるような所定の周波数の正弦波信号の自走式（free-running）のソースを必要とする。このような発振器は、所望の周波数に対応する複素定数による複素数の連続した乗算を使用して実施される（implemented）ことができる。この方法を用いる周知の問題は、結果として生じる信号の振幅が不安定であり、累積的な近似又は丸め誤差の結果として増加するか又は減少するかのいずれかであることである。数値制御発振器（ＮＣＯ）は、固定時間基準からある範囲の周波数を合成する。
【０００４】
数値制御発振器は、従来、複素フェーザ（phasor）回転に対するＣＯＲＤＩＣ（座標回転デジタルコンピュータ）アルゴリズム又はルックアップテーブルのいずれかで実施されている。高度な数値精度に対して、ルックアップテーブルは多量のメモリを必要とする可能性があり、ＣＯＲＤＩＣアルゴリズムはデジタルハードウェアの多数の段（stages）を必要とする可能性がある。ＮＣＯを実施する１つの周知の方法は、前記発振器の現在の位相角によりアドレスされるデジタルメモリを持つルックアップテーブルを使用することであり、前記デジタルメモリの内容は、各位相角に対応する所望の正弦波関数の数値である。前記メモリのサイズは、所要の位相角精度に対して指数的に（即ち、追加の２進数ごとにサイズが２倍になる）、及び前記正弦波の値の精度に対して線形に増大する。前記位相角に対して任意の値が必要とされる場合、前記必要とされるルックアップテーブルのサイズは非常に大きくなることができ、集積回路装置上で実施される場合に大きな面積を必要とする。正弦波関数をデジタルで生成する第２の周知の方法は、前記ＣＯＲＤＩＣアルゴリズムを使用する反復的な手順（procedure）であり、所望の正弦波関数が連続的に近似される。従来の実施において、前記ＣＯＲＤＩＣアルゴリズムは、実行される反復ごとに２の倍率により精度を増加する。前記ＣＯＲＤＩＣアルゴリズムは、コンピュータ上で実行されるソフトウェアで実施されることができる。前記ＣＯＲＤＩＣアルゴリズムは、デジタル回路で実施されることもでき、実行される前記ＣＯＲＤＩＣアルゴリズムの反復ごとに１つの段が必要とされる。ソフトウェア実施は、プロセッサ実行時間のような計算のオーバーヘッドの形でリソースを必要とし、デジタル回路実施は、集積回路装置の面積の形でリソースを必要とする。高度な数値精度が望まれる場合、多量のリソースが前記ＣＯＲＤＩＣアルゴリズムを実施するために必要とされる。
【発明の開示】
【発明が解決しようとする課題】
【０００５】
前述の議論から、現在利用可能なものより少ないリソースを必要とする数値制御発振器に対する要望が当技術分野内に残っていることは容易に明白であるべきである。
【課題を解決するための手段】
【０００６】
本発明は、結果として生じる信号の振幅が不安定になり、最終的に累積的な近似又は丸め誤差の結果として増加又は減少する従来技術における欠点に対処し、発振器信号振幅が一定のままであるようにこのような変化を補正する単純かつ効率的な方法を提供することにより対処する。本発明は、ルックアップテーブルの使用又はＣＯＲＤＩＣアルゴリズムのいずれよりも少量のリソースを必要とする数値制御発振器を実施するために連続した複素乗算を採用し、結果として前記の安定性の問題を解決する単純かつ効率的な方法を生じる。本発明は、１つのプロセッサのみがこの機能に対して必要とされることができる限り少ないシストリック（systolic）若しくは他の再構成可能（reconfigurable）プロセッサアレイ又は集積回路における特注設計（custom-designed）の個別論理（discrete logic）を使用して実施されることができる。
【０００７】
本発明のこれらの目的は、次のフェーザを作成するためにサンプリング間隔ごとに一回だけ現在のフェーザに所定の値を乗算し、ゼロ値条件（zero value condition）が前記次のフェーザの実数成分又は虚数成分のいずれかに存在するかどうかを識別し、前記ゼロ値条件を示す複素フェーザ成分に対して単位振幅（unity amplitude）の補成分（complementary component）を代入し（substituting）、等価条件（condition of equality）が前記次のフェーザの実数成分と虚数成分の間に存在するかどうかを識別し、前記等価条件が識別される場合に前記次のフェーザの実数成分及び虚数成分の両方に対して等しい成分を代入し、前記等価条件の前記ゼロ値条件が見つからない場合に前記次のフェーザの実数成分及び虚数成分に対して誤差因子（error factor）を決定し、前記誤差因子を除去することによって前記実数及び虚数成分を補正することにより所望の周波数の複素正弦波を効率的に生成することにより与えられる。
【発明を実施するための最良の形態】
【０００８】
正弦波関数が、複素フェーザの回転に対して少ないリソースを使用してデジタルで生成されることができることが発見されている。複素領域において、所定の角度による複素フェーザの回転は、第２の複素フェーザによる複素乗算に対応し、前記第２の複素フェーザの実数成分及び虚数成分を持つ値は、位相角インクリメントにより厳密に決定される。離散時間デジタル領域における自走式発振器は、各サンプリング間隔の間の一定量の前記位相角における反復的増加に対応する。このような発振器は、最初の複素フェーザに対する前述の第２のフェーザの連続した乗算により作成されることができる。この構成において、結果として生じるフェーザのノルム又は大きさは常に１（unity）に等しくなければならない。１からの如何なる変化も、最終的に無限小になる大きさの進行性の減少か、又は制限無しで続行する進行性の増加のいずれかを生じる。複素数の算術において、前記第２のフェーザの大きさが正確に１に等しい場合に、結果として生じる大きさが無限に一定のままであることは周知である。しかしながら、この一定の結果は、抽象的な数学的観念においてのみ保証される条件であり、実際のデジタル信号処理システムは現実的には達成することができない。結果として、デジタルシステム内の正弦波関数の生成は、前述のフェーザの大きさにおける長期間の増加又は減少を防ぐ又は補正する機構を必要とする。
【０００９】
図３を参照すると、デジタルチャネル復調器４９のブロック図は、デジタルフロントエンド５０を持つ。本発明は、フロントエンド５０内のベースバンド変換器５５の領域において有用である。これらの変換５５は、自動利得制御器（ＡＧＣ）５２によっても受信されるデジタル入力を受信する。ＡＧＣ５２はアナログ出力を提供する。ベースバンド変換器５５は、一般に、典型的には信号をミキシングすることにより、より高い周波数の変換を提供しない。サンプルレート変換器５３は、ベースバンド変換器５５により採用される周波数に対する調整を提供する。図３に示されるベースバンド変換器５５は、ダウンコンバートされた周波数に固定するキャリア再生（carrier recovery）機能を含む。サンプルレート変換器５３は、クロックレートを前記サンプリングレートと同じにするように調整する。理想的には、前記クロックレート及び前記サンプリングレートが同じであることが望ましい。ベースバンドへの信号のダウンコンバージョンの結果として、全体のプロセスが、より遅いサンプリングレートで進行することができる。サンプルレート変換器５３の他の機能は、単純に前記クロックレート及び前記サンプリングレートが同じであることを保証することである。フィルタ５９は、ナイキストフィルタ及びサンプルレート変換された信号のデシメーション（decimation）を提供する。前記ナイキストフィルタはエイリアシングを防ぐ。例えば２０ＭＨｚのサンプリングレート及び５ＭＨｚ以下の周波数を持つ信号の場合、多くの代替的なサンプルは除去されることができるが、しかしながら、５ＭＨｚより上を除去するために初めに前記信号をフィルタリングする必要がある。タイミングリカバリ（timing recovery）５７は、フィルタ５９からサンプルレート変換器５３へのフィードバックループを提供する。一度信号がベースバンド変換５５及びサンプルレート変換５３されると、フィルタリングされた信号はチャネル推定及び補正器６０により受信される。チャネル推定及び補正器６０は、典型的には、チャネル推定（channel estimation）、時間補間（time interpolation）及び周波数補間（frequency interpolation）を提供する。チャネルデコーダ６２は、チャネル推定補正器６０から推定及び補正されたチャネルデータを受信する。チャネルデコーダ６２は、典型的には、スクランブルされ、チャネルデコーダ６２により復号されたＭＰＥＧデータに対する出力インターフェースを提供する。システムコントローラ６４は、典型的には、フロントエンド５０、チャネル推定及び補正器６０並びにチャネルデコーダ６２に対して制御信号を提供する。図３に示されるデジタルチャネル復調器４９は、送信された信号をベースバンド変換器５５によりベースバンドレベルにダウンコンバートすることにより前記信号を復調し、これはダウンコンバートされるべき信号と同じキャリア又は中間周波数を持つ局所的に生成された正弦波信号とミキシング又は乗算することを必要とする。従来のデジタルチャネル復調システムにおいて、この機能は、典型的には、数値制御発振器（ＮＣＯ）を使用して実行される。ＮＣＯの性能は、線形に変化する位相角の三角関数をデジタルで生成するのに望ましい。ベースバンド変換器５５は、前記ＮＣＯをルックア��プテーブル又はＣＯＲＤＩＣ実施として実施したベースバンドに信号を変換する従来の方法内の問題を回避するように正弦波信号のミキシングを提供する。本発明により好適に採用されるベースバンド変換器５５は、以下に記載される。
【００１０】
図１ａを参照すると、本発明は、前述の長期間の変化を検出及び補正する単純化された態様を提供する。本発明は、必要とされる補償を実行するために複素数の既知の性質を使用する。２つの複素数の複素積ｘ＋ｊｙは、下の式１ａ及び１ｂに示されるようにａ＋ｊｂ及びｃ＋ｊｄの関係により与えられる。
式１ａ  ｘ＋ｊｙ＝(ａ＋ｊｂ)(ｃ＋ｊｄ)
式１ｂ  ｘ＋ｊｙ＝(ａｃ−ｂｄ)＋ｊ(ａｄ＋ｂｃ)
【００１１】
第２の複素値ａ＋ｊｂにより連続的にｎ回乗算された最初の複素値ｃ＋ｊｄに対して、結果は式２により与えられる。
式２  ｘ＋ｊｙ＝(ａ＋ｊｂ)n(ｃ＋ｊｄ)
【００１２】
この同じ乗算がｎ＋１回実行される場合、結果は式３ａ及び３ｂに示される関係により与えられる。
式３ａ  ｘ'＋ｊｙ'＝(ａ＋ｊｂ)n+1(ｃ＋ｊｄ)
式３ｂ  ｘ'＋ｊｙ'＝(ａ＋ｊｂ)(ｘ＋ｊｙ)
【００１３】
式３ｂの結果は、サンプリング間隔ごとに一回だけａ＋ｊｂを現在のフェーザ値に繰り返し乗算することにより所望の結果が得られることができることである。図１に示されるアルゴリズム１０は、好適な実施例によりサンプリング期間ごとに実行される。ａ＋ｊｂの大きさが正確に１である場合、結果は、自走式の数値制御発振器と同等である。複素数が極形式で表されることができることは非常によく知られているので、以下の式４は１の大きさを持つ位相角に対応する。
式４  ａ＋ｊｂ＝cosθ＋ｊsinθ＝ｅjθ
【００１４】
所定の位相角に対するこの複素数の値は、デジタルサンプリングレートに対する所望の発振器周波数の比の関数として決定される。前記数値制御発振器は、サンプリング間隔ごとの間にこの所定の複素数と前記複素フェーザを繰り返し乗算することにより実施されることができる。このプロセスは１回の複素乗算を必要とし、これは、複素積に対して上の式で示されたように４回の実数乗算及び２回の実数加算を有する。現在の技術を使用して、前述のプロセスは、ルックアップテーブル又はＣＯＲＤＩＣ実施のいずれよりも少ないリソースを必要とするが、依然として前記複素フェーザの大きさが１のままであることは必要である。
【００１５】
単位大きさ基準（unity magnitude criterion）の満足は、典型的には、前記フェーザの複素数の大きさの決定（２回の乗算、１回の加算、平方根演算）及び続いて前記フェーザのこの大きさの逆数による乗算（２回の除算演算）を必要とする。これらの演算に要するリソースはひどく高価である。
【００１６】
図１ａを参照すると、所望の決定及び補正は、この後に記載される適切な条件下で複素数の周知の性質を使用して実行される。図１ａのアルゴリズム１０は、システム設計プロセスの間に決定される所定の期間に開始する１２。前記システム設計プロセスの間、これらのパラメータは、補正を必要とする累積された丸め誤差がどれだけ速いかを識別することにより決定される。現在のフェーザ（Current Phasor）に対する所定値の乗算１４は、式３ｂの関係に示されるようにサンプリング間隔ごとに１回だけａ＋ｊｂを前記現在のフェーザ値に乗算する複素演算を実行する。ゼロ値条件１６は、実数成分がゼロであるかどうか、又は虚数成分がゼロであるかどうかを決定する。前記位相角が９０度の偶数倍（０又は１８０度）である場合、複素フェーザは純粋な実数であり、虚数成分はゼロである。結果として、実数成分はこれらの条件下では１に等しくなくてはならない。虚数成分に対する０の条件（又はデジタル信号処理システムで使用される表現における全ての２進数が論理０に等しいゼロ数値の条件）を検出するのは簡単なことである。この条件が検出される場合はいつでも単位振幅の成分の代入１８は、元の値の符号に依存して正又は負の１に対する値で実数成分の値を置き換える。前記位相角が９０度の奇数倍（９０又は２７０度）である場合、ゼロ値条件１６は、前記複素フェーザが純粋な虚数であり、実数成分がゼロであることを検出する。上で与えられた議論を使用すると、虚数成分は１（再び、正又は負）に等しくなくてはならず、したがって単位振幅の成分の代入１８は、元の値の符号に依存して正又は負の１に対する値で前記虚数成分の値を置き換える。この手順に必要とされるリソースは、単純に、決定を行うためのゼロとの２回の比較と、一定値（即ち１）との複素数成分の１回の代入とからなる。明らかに、これは、実際の実施に対して従来技術の直接的な方法より大幅に合理的である。
【００１７】
上述の実施の変形は、前記複素フェーザの位相角が４５度の奇数倍である場合を生じる（４５度の偶数倍はちょうど９０度の倍数であり、上で検討されている）。複素フェーザが４５度の奇数倍である場合、実数成分の絶対値は虚数成分の絶対値に等しくなくてはならず、この等価条件２０はアルゴリズム１０により検出される。特に、前記実数成分の絶対値及び前記虚数成分の絶対値は、両方とも０．７０７１０６７８（１／２の平方根）の絶対値を持たなくてはならず、これは、複素数の周知の性質から得られる。等しい成分の代入２４は、一度前記等価条件が検出されると、前記実数及び虚数成分のそれぞれが、元の成分の符号に依存して０．７０７１０６７８の正又は負により置き換えられる。再び、これは実際の値にかかわらず行われる。この手順に必要とされるリソースは、単純に、決定を行うための１回の等価比較、及び一定値との複素数成分の２回の代入である。再び、これは、実際の実施に対して従来技術の直接的な方法より大幅に合理的なアプローチである。
【００１８】
ここで図１ｂ及び図１ｃを参照すると、フローチャートにより実行される様々なステップが２つの部分で実行される。図１ｂ及び図１ｃのそれぞれは本発明の最も好適な実施例を表し、図１ｂのフローチャートは最も好適な実施例である。図１ｂにおいて、一般に３５で表されているアルゴリズムは、前に記載された現在のフェーザに対する所定値の乗算３４を実行し、ゼロ値条件に対する試験３６が後に続き、試験３６は、前に記載されたように図１ａで実行されたものと同一の試験である。単位振幅の成分の代入３８は、前記ゼロ値条件が存在するとわかった場合に実行され、等価条件３９は、図１ａで説明されたように前記ゼロ値条件が偽（false）である場合に実行される。図１ｂで実行されるアルゴリズムは、最も効率的であり、最も少ないリソースを必要とするので、最も好適である。多くの応用において、丸め誤差及び切り捨て誤差は一定に固定される必要が無く、周期的な固定（periodic fixed）が十分であるので、図１ｂに示されるアルゴリズム３５が十分であることが想定される。
【００１９】
図１ｃにおいて、図１ａにおいて実行されたが図１ｂにおいて実行されなかったステップが実行される。ここで理由は、特定の応用又はシステムにおいて、図１ｂに示されたような４５度の調整単独に対する信頼は、十分な数の補正を作動しないかもしれないことである。図１ｃに示されるステップは、所定の間隔において補正を提供する。図１ｃに示されるアルゴリズム４０の反復は、必要と決定されるたびに、開始４２で実行され、図１ａに対して上述の議論において記載されたのと同じように現在のフェーザに対する所定値の乗算４４を実行する。次いで誤差因子の決定４６は、図１ａに対する議論において前述されたように前記誤差因子を計算し、誤差因子の除去は、前記計算された誤差因子を取り除く。前記所定の間隔は、前記システム設計プロセスの間に決定され、図１ｃのアルゴリズムは、これらのパラメータにしたがって実行される。図１ｃのアルゴリズムは、図１ｂのアルゴリズムより多くのリソースを必要とするが、補正が常に行われることを保証する。図１ａのアルゴリズム１０は、図１ｂ及び図１ｃの両方の組み合わせを提供し、これも本発明により想定される。
【００２０】
上述の代入は、単一のシステムにおいて組み合わされることができ、結果として８つの可能な条件を生じ、４つだけではなくこれら８つの条件下で本発明の補正が実行されることができる。上記の方式による検出点は、図２に示される。図２において、ｙ＝０は０及び１８０度において示される。他のゼロ点は、９０度及び２７０度においてｘ＝０に対して示される。全ての前述のゼロ点は、前記フェーザ内に代入された単位成分（unity components）を持つ。０度におけるｘ＝１、ｙ＝０の単位値（unity value）、９０度におけるｘ＝０、ｙ＝１の単位値、１８０度におけるｘ＝−１、ｙ＝０の単位値、及び２７０度におけるｘ＝０、ｙ＝−１の単位値が、前記フェーザ成分に対して代入される。図２にも示されるように、前記位相角に対する４５度の整数倍は、等しい絶対値を持つ成分が前記フェーザ内に代入される結果となる。４５度におけるｘ＝０．７０７、ｙ＝０．７０７の等しい絶対値成分、１３５度におけるｘ＝−０．７０７、ｙ＝０．７０７の等しい絶対値成分、２２５度におけるｘ＝−０．７０７、ｙ＝−０．７０７の等しい絶対値成分、３１５度におけるｘ＝０．７０７、ｙ＝−０．７０７の等しい絶対値成分は、前記フェーザ成分に対して代入される。
【００２１】
上述の方式が適切に機能するように、検出される条件がいくらか規則的に生じる必要があり、そうでなければ、必要とされる補正は全く実行されなくなる。これを最良に保証するために、所望の発振器周波数が、前記システムのデジタルサンプリングレートに密接に関連しすぎないことが必要である。これらの比が小さな整数からなる単純な分数である場合、複素位相角が動作中に限定された数の値のみを想定することが可能であり、又はもっともらしくさえあり、上記の検出条件が満たされないかもしれない。これらの場合、小さなルックアップテーブル又は個別デジタル論理のいずれかが、前記数値制御発振器を実施するために使用されることができ、この結果、リソースのより効率的な使用の必要性はそれほど存在しない。
【００２２】
所要の条件が検出される周波数を増加するために、前記複素フェーザ成分の上位の２進数又はビットのみを検査することが可能であり、これに対してこれらの条件がより頻繁に生じる。こうして検査されるビットの数は、通常動作中に許可される前記数値制御発振器の振幅における最大の許容可能な"ジャンプ"に基づいて選択されることができる。前記ゼロ検出は、全ての選択された上位ビットが論理０又は論理１のいずれかに等しい（後者の場合は非常に小さい負の値に対応する）ことを確かめることにより実行され、これらの比較はそれぞれ単一のＮＯＲ関数及び単一のＡＮＤ関数を必要とする。等価比較（equality comparison）は、２つの複素成分（又は両者が反対の符号を持つ場合には１つの成分のビットごとの反転）の全ての対応する上位ビットが等しいことを確かめることにより実行され、これは、各考慮されるビットに対して２つの排他的ＯＲ関数（必要であれば１つの成分の符号反転に対して１つ、実際の比較に対して１つ）、及び全てのビット比較の結果に対して１つのＡＮＤ関数を必要とする。
【００２３】
振幅変化の速度は、自走式数値制御発振器に対して極めて遅く、前記複素フェーザの成分は合理的な数の２進数により表される。したがって、発生が待機されなければならない特別な条件の検出を必要とせずに規則的に前記フェーザの大きさを補正することが可能である。記載されるべき提案された方法は上述の方法より多数のリソースを必要とするが、それでも直接的な方法より大幅に少ないリソースを必要とし、したがって大幅に実用的である。
【００２４】
累積的な丸め誤差の結果として前記複素フェーザの大きさが時間期間にわたり小さな量のみで変化する場合、この変化は近似されることができ、この近似は必要とされる補償を実行するのに使用されることができる。下の式５は、１より大幅に小さいインクリメントεにより摂動を受ける実数成分ｘ及び虚数成分ｙを持つフェーザの大きさｒに対する関係を与える。
式５  ｒ＝1.0＋ε；  ε<<1.0
したがって、前記フェーザの大きさｒの２乗は式６により表される。
式６  ｒ2＝ｘ2＋ｙ2≒1.0
【００２５】
したがって、２乗された絶対値のインクリメントは、式７ａ、７ｂ及び７ｃの関係により与えられる。
式７ａ  Δ(ｒ2)＝ｒ2−1.0＝(1.0＋ε)2−1.0
式７ｂ  Δ(ｒ2)＝1.0ｒ2＋２ε＋ε2−1.0
式７ｃ  Δ(ｒ2)≒２ε
【００２６】
したがって、前記インクリメントεは、式８ａ及び８ｂに示される関係により表されることができる誤差決定である。前記好適な実施例内の誤差因子の決定２６は、式８ａ及び８ｂに示される関係を使用してこの誤差因子を決定する。
式８ａ  ε≒Δ(ｒ)2／２
式８ｂ  ε＝(ｘ2＋ｙ2−1.0)／２
【００２７】
前記複素フェーザのｘ成分及びｙ成分に対する補正因子（correction factor）は、この場合、式９の関係により表されることができ、誤差因子の除去２８により実行される。
式９  1.0／ｒ＝1.0／(１＋ε)≒1.0−ε
【００２８】
前記誤差決定は、２回の乗算、２回の加算及び１回の右シフト演算（２による減算）を使用して実行される。
【００２９】
結果として、補正された複素成分ｘ'及びｙ'は式１０ａ及び１０ｂにより与えられる。
式１０ａ  ｘ'≒ｘ(1.0−ε)＝ｘ−εｘ
式１０ｂ  ｙ'≒ｙ(1.0−ε)＝ｙ−εｙ
【００３０】
この補正は、１回の乗算及び１回の減算を使用して実行されることができる。明らかに、これは、極端に高価である平方根及び逆数演算を必要とする直接的な方法より大幅に効率的である。
【００３１】
本発明は、サンプリングレートに密接には関係しない任意の周波数による入力信号のダウンコンバージョンが必要とされるチャネル復調を実行するデジタル信号処理システムのフロントエンド部において特に有用である。これは、集積回路上の個別論理を使用するハードウェア、又はコンピュータプロセッサ上で実行されるソフトウェアにおいて実施されることができる。特に、これは、前記サンプリングレートの非常に大きな倍数ではない命令レートで実行する多数の小さなプロセッサからなるシストリックアレイにおける非常に効率的な実施に適している。このようなアレイにおいて、これは、１つ又は多くとも少数のこのようなプロセッサを使用して実施されることができる。
【図面の簡単な説明】
【００３２】
【図１ａ】本発明により実行される機能を示すフロー図である。
【図１ｂ】本発明により実行される機能を示すフロー図である。
【図１ｃ】本発明により実行される機能を示すフロー図である。
【図２】本発明の概念を示すフェーザ図である。
【図３】図１ａ、図１ｂ及び図１ｃのフロー図を採用することができるチャネル復調器に対するブロック図である。
【図１Ａ】
2007520138.tif 000003
【図１Ｂ】
2007520138.tif 000004
【図１Ｃ】
2007520138.tif 000005
【図２】
2007520138.tif 000006
【図３】
2007520138.tif 000007
【国際調査報告】
2007520138.tif 000008
2007520138.tif 000009