(57)【特許請求の範囲】
【請求項１】
各段のユニットは、１／２シフトレジスタと、引き算器と、セレクターと、インバータと、からなり、
前記１／２シフトレジスタは並列ビットの除数を各段毎に順次１／２にして出力し、前記引き算器は、除数となる前記１／２シフトレジスタの出力と被除数となる被除数または前段のセレクターの出力を入力し、被除数から除数を引き算し、余りを出力すると共に、ボローが有りまたは無しのボロー信号を出力し、前記セレクターは、前記引き算器の余りと、被除数または前段のセレクターの出力を入力し、前記ボローが有りのときは初段では被除数を出力し次段以降では前段のセレクターの出力をそのまま出力し、前記ボローが無しのときは前記引き算器の余りを出力し、前記インバータは、前記引き算器のボローを反転し、表示ビットとして出力し、
前記各ユニットは、引き算器の一方入力端に１／２シフトレジスタの出力を接続し、前記引き算器の他方入力端に初段は被除数入力端子を、次段以降はセレクター出力端子を接続し、ボロー無しに関連付けられたセレクターの一方入力端に前記引き算器の出力端を接続し、ボロー有りに関連付けられた前記セレクターの他方入力端に前記引き算器の他方入力端を接続し、前記引き算器のボロー出力端子をセレクターの出力切換信号入力端子に接続すると共にインバータの入力端子に接続する回路により構成することを特徴とする割り算器。
【請求項２】
前記表示ビットは、２進の上位ビットから下位ビットに、初段から最終段のボロー信号の反転信号を対応付けし、割り算の答えとして表示したことを特徴とする請求項１記載の割り算器。
【請求項３】
前記ユニットの段数を、表示精度に応じて設定することを特徴とする請求項１または２記載の割り算器。
【請求項４】
前記除数を並列データクロック時間後の遅延追尾変化量とし、前記被除数を現在時刻の遅延追尾量と量子化変化点からの残差量とし、前記請求項１乃至３のいずれか１項記載の割り算器によって前記表示ビットに遅延量の変化点の位置を出力することを特徴とする相関器。
【請求項５】
前記除数を並列データクロック時間後のフリンジ回転変化位相量とし、前記被除数を現在時刻のフリンジ回転位相とπ／８ラジアン量子化変化点からの残差量とし、前記請求項１乃至３のいずれか１項記載の割り算器によって前記表示ビットにフリンジ回転位相の変化点の位置を出力することを特徴とする相関器。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、割り算器、特にデジタル割り算器に関する。
【０００２】
【従来技術】
デジタル信号処理の分野では、ＤＳＰ（デジタル  シグナル  プロセッサ）が使用されているが、多くのＤＳＰには割り算器が付いていない。
【０００３】
そこで信号処理の中ではできるだけ割り算は避け、固定値で割る場合には、掛け算に変換することが行われている。しかし、ある値を変数で割るならば実際に割り算をしなければならない。
【０００４】
図５は従来の割り算器の原理説明図である。
【０００５】
この割り算器は、除数レジスタ１０１、ＡＬＵ１０２、剰余レジスタ１０３、商レジスタ１０４と、これらの制御を行う制御部１０５からなる。
【０００６】
図５では、除数レジスタ１０１、ＡＬＵ１０２、剰余レジスタ１０３は、それぞれ６４ビット幅であり、商レジスタ１０４だけは３２ビット幅である。３２ビットの除数は、最初は除数レジスタ１０１の左半分に納められ、各サイクル毎に１ビット右にシフトされる。剰余レジスタ１０３には最初は被除数が設定される。制御部１０５によって、除数レジスタ１０１および商レジスタ１０４をシフトするタイミング、および剰余レジスタ１０３に新しい値を書き込むタイミングが決定される。
【０００７】
除算アルゴリズムは以下のようになる。
【０００８】
開始。
【０００９】
剰余レジスタ１０３の値から除数レジスタ１０１の値を引いて、結果を剰余レジスタ１０３に収納する。（ステップ１）
剰余が、剰余≧０か、剰余＜０かを判定する。
【００１０】
剰余≧０のとき、商レジスタ１０４の値を左にシフトし、右端の新しいビットに１を設定する。（ステップ２ａ）
剰余＜０のとき、剰余レジスタ１０３の値に除数レジスタ１０１の値を加えて値を元に戻し、結果を剰余レジスタ１０３に納める。そして、商レジスタ１０４を左にシフトし、右端の新しいビットに０を設定する。（ステップ２ｂ）
除数レジスタ１０１の値を１ビット右にシフトする。（ステップ３）
繰り返し回数を判定し、所定回数以下のときは開始へ戻り、所定回数のときは終了する。
【００１１】
このような従来の割り算器では、同じレジスタにおいて、演算中、データの読み出し、書き込み、シフト等の処理を連続して行わなければならず、時間が掛かるという問題があった。
【００１２】
【発明が解決しようとする課題】
本発明は、上記問題点に鑑み、簡単なユニットの組み合わせ構成にすると共に、前記ユニットの増減により必要な表示精度を確保することができる割り算器およびそれを用いた相関器を提供することを目的とする。
【００１３】
【課題を解決するための手段】
本発明は、上記課題を解決するために、以下の解決手段を採用する。
（１）割り算器において、各段のユニットは、１／２シフトレジスタと、引き算器と、セレクターと、インバータと、からなり、
前記１／２シフトレジスタは並列ビットの除数を各段毎に順次１／２にして出力し、
前記引き算器は、除数となる前記１／２シフトレジスタの出力と被除数となる被除数または前段のセレクターの出力を入力し、被除数から除数を引き算し、余りを出力すると共に、ボローが有りまたは無しのボロー信号を出力し、
前記セレクターは、前記引き算器の余りと、被除数または前段のセレクターの出力を入力し、前記ボローが有りのときは初段では被除数を出力し次段以降では前段のセレクターの出力をそのまま出力し、前記ボローが無しのときは前記引き算器の余りを出力し、
前記インバータは、前記引き算器のボローを反転し、表示ビットとして出力し、
前記各ユニットは、引き算器の一方入力端に１／２シフトレジスタの出力を接続し、前記引き算器の他方入力端に初段は被除数入力端子を、次段以降はセレクター出力端子を接続し、ボロー無しに関連付けられたセレクターの一方入力端に前記引き算器の出力端を接続し、ボロー有りに関連付けられた前記セレクターの他方入力端に前記引き算器の他方入力端を接続し、前記引き算器のボロー出力端子をセレクターの出力切換信号入力端子に接続すると共にインバータの入力端子に接続する回路により構成すること。
（２）上記（１）記載の割り算器において、前記表示ビットは、２進の上位ビットから下位ビットに、初段から最終段のボロー信号の反転信号を対応付けし、割り算の答えとして表示したこと。
（３）上記（１）または（２）記載の割り算器において、前記ユニットの段数を、表示精度に応じて設定すること。
（４）相関器において、前記除数を並列データクロック時間後の遅延追尾変化量とし、前記被除数を現在時刻の遅延追尾量と量子化変化点からの残差量とし、前記（１）乃至（３）のいずれか１項記載の割り算器によって前記表示ビットに遅延量の変化点の位置を出力すること。
（５）相関器において、前記除数を並列データクロック時間後のフリンジ回転変化位相量とし、前記被除数を現在時刻のフリンジ回転位相とπ／８ラジアン量子化変化点からの残差量とし、前記（１）乃至（３）のいずれか１項記載の割り算器によって前記表示ビットにフリンジ回転位相の変化点の位置を出力すること。
【００１４】
【発明の実施の形態】
本発明の実施の形態を図に基づいて詳細に説明する。
【００１５】
（第１実施例）
図１は本発明の割り算器のブロック構成図と表示ビットと答えとの関係を説明する図である。図１（ａ）は本発明の割り算器の構成図であり、図１（ｂ）は数直線上の比で決まる変位点を表示する。
【００１６】
本発明の割り算器は、図１（ａ）に示すように、１／２シフトレジスタ１〜６と、引き算器１１〜１６と、セレクター２１〜２６と、インバータ３１〜３６と、からなり、各段は同じユニットに構成されている。
【００１７】
前記１／２シフトレジスタ１〜６は、並列ビットの除数ΔΦを各段毎に順次１／２にして出力する。
【００１８】
前記引き算器１１〜１６は、並列ビットの除数となる前記１／２シフトレジスタ１〜６の出力と被除数となる並列ビットの被除数Φまたは前段のセレクターの出力を入力し、被除数から除数を引き算し、余りを出力すると共に、ボローが有り「１」または無し「０」のボロー信号を出力する。
【００１９】
前記セレクター２１〜２６は、前記引き算器１１〜１６の余りと、被除数Φまたは前段のセレクターの出力を入力し、前記ボローが「１」のときは被除数Φまたは前段のセレクターの出力をそのまま出力し、前記ボローが「０」のときは前記引き算器１１〜１６の余りを出力する。前記インバータ３１〜３６は、前記引き算器１１〜１６のボローを反転し、表示ビットＰｄ（５）〜Ｐｄ（０）として出力する。
【００２０】
前記各ユニットは、引き算器の一方入力端に１／２シフトレジスタの出力を接続し、前記引き算器の他方入力端に初段は被除数入力端子を、次段以降はセレクター出力端子を接続し、ボロー「０」に関連付けられたセレクターの一方入力端に前記引き算器の出力端を接続し、ボロー「１」に関連付けられた前記セレクターの他方入力端に前記引き算器の他方入力端を接続し、前記引き算器のボロー出力端子をセレクターの出力切換信号入力端子に接続すると共にインバータの入力端子に接続する回路により構成する。
【００２１】
この割り算器は、非同期で動作し、クロックの限界内の段数を有する。
（演算手順）
条件：被除数Φ＜除数ΔΦの場合のみとする。
【００２２】
（ なぜなら、被除数Φ＞除数ΔΦの場合、Ｐｄ（０）〜 Ｐｄ（５）のすべてが「１」となり、正しく表示できなくなるためである。）
まず、被除数Φと除数ΔΦ（被除数Φ＜除数ΔΦ）をそれぞれ設定する。
【００２３】
例えば、被除数Φを４０とし、除数ΔΦを６４とすると、
１段目
１／２シフトレジスタ１は６４／２＝３２を出力する。
引き算器１１は、４０−３２＝８を演算し、８を出力すると共に、ボローがないのでボロー「０」を出力する。
【００２４】
セレクター２１は、前記引き算器１１の出力８と前記被除数Φ４０を入力し、前記引き算器１１のボロー出力「０」を取込み、この「０」に応じて前記出力８を選択して出力する。インバータ３１は、ボロー出力「０」を入力して、「１」を出力する。
【００２５】
２段目、同様にして、
１／２シフトレジスタ２は３２／２＝１６を出力する。
引き算器１２は、８−１６＝−８を演算し、−８を出力すると共に、ボローが有るのでボロー「１」を出力する。
【００２６】
セレクター２２は、前記引き算器１２の出力−８と前記セレクター２１の出力８を入力し、前記引き算器１２のボロー出力「１」を取込み、この「１」に応じて前記出力８を選択して出力する。インバータ３２は、ボロー出力「１」を入力して、「０」を出力する。
【００２７】
３段目、同様にして、
１／２シフトレジスタ３は１６／２＝８を出力する。
引き算器１３は、８−８＝０を演算し、０を出力すると共に、ボローが無いのでボロー「０」を出力する。
【００２８】
セレクター２３は、前記引き算器１３の出力０と前記セレクター２２の出力８を入力し、前記引き算器１３のボロー出力「０」を取込み、この「０」に応じて前記出力０を選択して出力する。インバータ３３は、ボロー出力「０」を入力して、「１」を出力する。
【００２９】
４段目、同様にして、
１／２シフトレジスタ４は８／２＝４を出力する。
引き算器１４は、０−４＝−４を演算し、−４を出力すると共に、ボローが有るのでボロー「１」を出力する。
【００３０】
セレクター２４は、前記引き算器１４の出力−４と前記セレクター２３の出力０を入力し、前記引き算器１４のボロー出力「１」を取込み、この「１」に応じて前記出力０を選択して出力する。インバータ３４は、ボロー出力「１」を入力して、「０」を出力する。
【００３１】
５段目、同様にして、
１／２シフトレジスタ５は４／２＝２を出力する。
引き算器１５は、０−２＝−２を演算し、−２を出力すると共に、ボローが有るのでボロー「１」を出力する。
【００３２】
セレクター２５は、前記引き算器１５の出力−２と前記セレクター２４の出力０を入力し、前記引き算器１５のボロー出力「１」を取込み、この「１」に応じて前記出力０を選択して出力する。インバータ３５は、ボロー出力「１」を入力して、「０」を出力する。
【００３３】
６段目、同様にして、
１／２シフトレジスタ６は２／２＝１を出力する。
引き算器１６は、０−１＝−１を演算し、−１を出力すると共に、ボローが有るのでボロー「１」を出力する。
【００３４】
セレクター２６は、前記引き算器１６の出力−１と前記セレクター２５の出力０を入力し、前記引き算器１６のボロー出力「１」を取込み、この「１」に応じて前記出力０を選択して出力する。インバータ３６は、ボロー出力「１」を入力して、「０」を出力する。
【００３５】
この結果、前記表示ビットは、
Ｐｄ（５）→１
Ｐｄ（４）→０
Ｐｄ（３）→１
Ｐｄ（２）→０
Ｐｄ（１）→０
Ｐｄ（０）→０
と表示される。
【００３６】
この表示ビットは、１×２5＋０×２4＋１×２3＋０×２2＋０×２1＋０×２0＝３２＋８＝４０となる。
この結果をまとめる。
【００３７】
引き算器の被除数側入力およびセレクターの「１」側入力を「ｐｈｉ」、引き算器の除数側入力を「ｄｐｈｉ」、セレクター出力を「ｏｕｔ」、Ｐｄ（ｎ）を「Ｐ（ｎ）」と表すと、
計算値（ｃａｌｃｕｌａｔｅｄ  ｖａｌｕｅ）  ＝  ４０
５    ｐｈｉ＝４０  ｄｐｈｉ＝３２    ｏｕｔ＝８    Ｐ（５）＝１
４    ｐｈｉ＝８    ｄｐｈｉ＝１６    ｏｕｔ＝８    Ｐ（４）＝０
３    ｐｈｉ＝８    ｄｐｈｉ＝８      ｏｕｔ＝０    Ｐ（３）＝１
２    ｐｈｉ＝０    ｄｐｈｉ＝４      ｏｕｔ＝０    Ｐ（２）＝０
１    ｐｈｉ＝０    ｄｐｈｉ＝２      ｏｕｔ＝０    Ｐ（１）＝０
０    ｐｈｉ＝０    ｄｐｈｉ＝１      ｏｕｔ＝０    Ｐ（０）＝０
但し、Ｐ（ｎ）は２nと定義されている。従って、表示ビット合計は２5＋２4＋２3＋２2＋２1＋２0＝６４となり、上記の例では、１×２5＋０×２4＋１×２3＋０×２2＋０×２1＋０×２0＝３２＋８＝４０となることから、答え（Ａｎｓｗｅｒ）＝４０となる。即ち、図１（ｂ）の数直線上の左端から４０目盛目が変位点となる。
【００３８】
この割り算器の動作は、２分法で考えることができ、図１（ｂ）の数直線上の比で決まる位置と表示することができる。すなわち、左端を基準としたときの数直線上の位置を前記表示ビットＰｄ（５）〜Ｐｄ（０）で表すことができる。数直線の左端を基準にし、右端を２6としたときの変曲点を検出することができる。
【００３９】
本発明の割り算器のフローチャートは、例えば、以下に示すようになる。
１０！    プログラム  ”割り算”
２０      ＯＰＴＩＯＮ  ＢＡＳＥ  １
３０      ＤＩＭ  Ｐ（６）
４０      ＰＲＩＮＴ  ”Φ０＜ΔΦ  の場合において（Φ０／ΔΦ）*ｎを求めます。ここでｎは並列データ数。”
５０      ＰＲＩＮＴ  ”Φ０＜ΔΦ以外を選択された場合、常にｎが返されます。”
６０      ＩＮＰＵＴ  ”Ｐｈｉ  ０”  Ｐｈ０
７０      ＩＮＰＵＴ  ”Ｄｅｌｔａ  ｐｈｉ”，  Ｄｐｈ
８０      Ｎ＝６４    ！  データ並列数
９０      ＰＲＩＮＴ  ”通常計算値  ＝”；Ｐｈ０／Ｄｐｈ*Ｎ
１００    Ｎｎ＝ＬＧＴ（Ｎ）／ＬＧＴ（２）  ！  Ｎ＝２＾  [Ｎｎ]
１１０    ！      ＰＲＩＮＴ  Ｎｎ
１２０    ＦＯＲ  Ｉ＝Ｎｎ  ＴＯ  １  ＳＴＥＰ  −１
１３０            Ｄｐｈ＝Ｄｐｈ／２
１４０            Ｐｈ１  ＝Ｐｈ０−Ｄｐｈ
１５０            ＰＲＩＮＴ  Ｉ−１，  ”ｐｈｉ＝”；Ｐｈ０，”ｄｐｈｉ＝”；Ｄｐｈ，
１６０            ＩＦ  Ｐｈ０＞Ｄｐｈ  ＯＲ  Ｐｈ０＝Ｄｐｈ  ＴＨＥＮ
１７０                        Ｐ（Ｉ）＝１
１８０                        Ｐｈ０＝Ｐｈ１
１９０            ＥＬＳＥ
２００                        Ｐ（Ｉ）＝０
２１０            ＥＮＤ  ＩＦ
２２０            ＰＲＩＮＴ  ”ｏｕｔ＝”；Ｐｈ０，
２３０            ＰＲＩＮＴ  ”Ｐ（”；Ｉ−ｌ；”）＝”；Ｐ（Ｉ）
２４０  ！
２５０            Ａｎｓ１＝Ａｎｓ１＋Ｐ（Ｉ）*２＾  （Ｉ−１）
２６０        ＮＥＸＴ  Ｉ
２７０        ＰＲＩＮＴ  ”Ａｎｓｗｅｒ＝”；Ａｎｓ１
２８０        ＥＮＤ
次に、上記プログラムを組み込んだ本発明の割り算器の他の動作例を２例、上記の例と同じく説明する。
【００４０】
Φ０＜ΔΦ  の場合、変位点（Ｚｅｒｏ  ｃｒｏｓｓ）が発生する。
例１
Φ０＝２、ΔΦ＝８  の場合
計算値（通常計算値）  ＝  １６
５    ｐｈｉ＝２  ｄｐｈｉ＝４          ｏｕｔ＝２    Ｐ（５）＝０
４    ｐｈｉ＝２  ｄｐｈｉ＝２          ｏｕｔ＝０    Ｐ（４）＝１
３    ｐｈｉ＝０  ｄｐｈｉ＝１          ｏｕｔ＝０    Ｐ（３）＝０
２    ｐｈｉ＝０  ｄｐｈｉ＝０．５      ｏｕｔ＝０    Ｐ（２）＝０
１    ｐｈｉ＝０  ｄｐｈｉ＝０．２５    ｏｕｔ＝０    Ｐ（１）＝０
０    ｐｈｉ＝０  ｄｐｈｉ＝０．１２５  ｏｕｔ＝０    Ｐ（０）＝０
答え（Ａｎｓｗｅｒ）＝  １６
例２
Φ０＝５、ΔΦ＝３８  の場合
計算値（通常計算値）＝８．４２１０５２６３１５８
５    ｐｈｉ＝５  ｄｐｈｉ＝１９  ｏｕｔ＝５  Ｐ（５）＝０
４    ｐｈｉ＝５  ｄｐｈｉ＝９．５  ｏｕｔ＝５  Ｐ（４）＝０
３    ｐｈｉ＝５  ｄｐｈｉ＝４．７５  ｏｕｔ＝０．２５    Ｐ（３）＝１２    ｐｈｉ＝０．２５  ｄｐｈｉ＝２．３７５  ｏｕｔ＝０．２５  Ｐ（２）＝０
１    ｐｈｉ＝０．２５  ｄｐｈｉ＝１．１８７５  ｏｕｔ＝０．２５  Ｐ（１）＝０
０    ｐｈｉ＝０．２５  ｄｐｈｉ＝０．５９３７５  ｏｕｔ＝０．２５  Ｐ（０）＝０
答え（Ａｎｓｗｅｒ）＝  ８
前記Ａｎｓｗｅｒ、即ち、１６、８が図１（ｂ）の数直線上の基準となる左端から右端の２6＝６４のうちの変位点、即ち１６、８としてその位置が表示される。
【００４１】
（第１実施例の効果）
（１）非同期で動作する割り算器を、１／２シフトレジスタ、引き算器、セレクターおよびインバータから簡単に構成することができる。
（２）表示ビット数を任意に設定することができる。
（３）被除数Φ＜除数ΔΦの場合における割り算器を構成することができる。
（４）第１実施例の割り算器では、同じレジスタにおいて、演算中、データの読み出し、書き込み、シフト等の処理を連続して行うことがないので、処理が早くなる。
【００４２】
（第２実施例）
図２は、本発明の割り算器を備えた相関器である。
【００４３】
本発明の第２実施例は前記第１実施例の割り算器を用いた相関器の例である。
【００４４】
電波干渉計では、地球上或いは宇宙空間（衛星等）の２局（例えば、Ｘ局およびＹ局）で受信した星等の電波源からのデータの相互相関処理を行うことで、位置情報、電波源情報等を得ることができる。
【００４５】
この相関処理の間に、地球回転（衛星運動等）により発生する２局信号間のドップラ周波数補正（以下、フリンジ回転補正）、２局に電波源から信号が到達する時間差の変化（以下、遅延追尾）補正を行う必要がある。
【００４６】
遅延追尾は、相関を取っている間に地球が回転していることに起因して、電波源と受信２局の位置関係からなる信号の到達時間差（幾何学的遅延量）が変化するのを補償するために行われるものである。この遅延追尾は、予測値計算により与えられた遅延量からデジタル近似され、遅延追尾値が１／２ビットのずれ以内になるように制御されている。
【００４７】
なお、遅延追尾とフリンジ回転を独立に行った場合、フリンジ位相が遅延追尾に伴うビットシフトにより不連続となり、大きなロスを招く。このため、１ビットの遅延追尾を行った時、同時にフリンジ回転位相に９０度の位相ジャンプ（以下、９０度位相ジャンプという）を与え、フリンジ位相の連続性を確保している。
【００４８】
最近、並列処理で相関を行う方式も考えられているが、並列処理の場合、遅延追尾は、高速のメモリにデータを蓄えシフトレジスタとしてビットシフト毎に読み出し位置を変え、ビットシフトに対応する方式がとられているため、容量が小さく高価な高速のメモリを用いなければならない等の難点がある。しかも、シフトレジスタを使用すると、遅延追尾量がメモリの容量を超えると、改めて蓄え直す必要があり、この間は相関処理が停止するために、必ずしも効率の良い高速化が期待できなかった。
【００４９】
また、上記のような並列処理では、同時に処理を行う並列処理データクロック毎にしか、フリンジ回転や９０度位相ジャンプを行えないので、フリンジ回転、９０度位相ジャンプ、積分カウンタゲーティング等の処理は、並列データクロックが最少単位になってしまう問題もあった。
【００５０】
図３は、本発明の第２実施例である相関器における、遅延追尾端数ビットの検出方法の原理説明図である。図３（１）は遅延追尾量の時間変化を表す図、図３（２）は現在技術で検出した場合の量子化ビット数を表す図、図３（３）は遅延量と変化点の関係を示す図、図３（４）は遅延量変化後の変化点に基づく量子化を表す図である。
【００５１】
遅延追尾量の計算は並列データ処理クロック毎に行い、並列データクロック時間後の遅延追尾量の計算を行う。
【００５２】
現在時刻の遅延追尾量１と並列データクロック時間後の遅延追尾量２を比較し、デジタル近似された遅延量を変化させる必要がある場合、つまり、遅延の量子化変化点をまたいだ場合、精密な変化点は、現在時刻の遅延追尾量と並列データクロック時間後の遅延追尾量とのビットシフト量子化残差量の比として求められる。
【００５３】
ａ（現在時刻の遅延追尾量１と量子化変化点からの残差量）とｂ（並列データクロック時間後の遅延追尾量２と量子化変化点からの残差量）の比が、実際の変化点の位置を示すことになる。つまり、図３（３）においては、ａ：ｂ＝Ａ：Ｂの関係が成り立ち、並列データ遅延追尾における端数ビット検出が可能となる。
【００５４】
図１の割り算器を用いて前記並列データ遅延追尾における端数ビット検出を行う例を説明する。
【００５５】
図１において、被除数Φ＝ａ（現在時刻の遅延追尾量１と量子化変化点からの残差量）、除数ΔΦ＝ｂ（並列データクロック時間後の遅延追尾量２と量子化変化点からの残差量）とおくと、ａ：ｂ＝Ａ（数直線上の）：Ｂ（数直線上の）が成り立ち、変化点が表示ビットＰｄ（５）〜Ｐｄ（０）に出力される。ここで示される変化点位置は、ａ／（ａ＋ｂ）*ｎのことである。ここで、ｎは並列データビット数を示す。
【００５６】
図４は、本発明の第２実施例であり、データフリンジ回転位相端数ビットの検出方法の原理図である。
【００５７】
図４（ａ）はフリンジ位相の時間変化を表す図、図４（ｂ）は変化前の量子化位相を表す図、図４（ｃ）はフリンジ位相と変化点の関係を示す図、図４（ｄ）は位相変化後の変化点に基づく量子化を表す図である。
【００５８】
フリンジ回転位相の計算は、並列データ処理クロック毎に行い、並列データクロック時間後のフリンジ位相計算を行う。
【００５９】
地球回転によりフリンジ回転の補正は、信号相関時にＳＩＮ波を３レベル量子化近似を行ったものを掛け合わせることで実現させている。３レベル近似を行うことで、相関処理を簡単なＥＸＯＲ（排他的論理和）回路で実現可能である。３レベル近似では、位相変化量π／８ラジアンが最小の位相分解能となる。このため、現在時刻のフリンジ位相１と並列データクロック時間後のフリンジ位相２を比較し、π／８ラジアン相当のビット変化が生じた場合、デジタル近似されたフリンジ回転信号の位相を変化させる必要がある。フリンジ回転量の計算は、並列データクロック毎に２４ビット〜３２ビットの精度で行われる。
【００６０】
精密な変化点は、現在時刻のフリンジ位相１と並列データクロック時間後のフリンジ位相２とのπ／８ラジアン以下の量子化残差量の比として求められる。ａ（現在時刻のフリンジ位相１とπ／８ラジアン量子化変化点からの残差量）とｂ（並列データクロック時間後のフリンジ位相２とπ／８ラジアン量子化変化点からの残差量）の比が、実際の変化点の位置を示すことになる。つまり、図４（ｃ）においては、ａ：ｂ＝Ａ：Ｂの関係が成り立ち、並列データフリンジ回転位相における端数ビット検出が可能となる。ここで示される変化点位置（端数ビット検出）は、ａ／（ａ＋ｂ）*ｎのことである。ここで、ｎは並列データビット数を示す。
【００６１】
（第２実施例の効果）
第２実施例の割り算器を用いた相関器は、その割り算器の処理速度が速いので、リアルタイムでの相関処理が可能となる。また、段数を任意に設定することにより、表示精度を変えることができるようになる。
【００６２】
（第３実施例）
正規化用割り算器：
正規化量子化の例について説明する。
【００６３】
この例では、
Φ⇒実数部または虚数部
ΔΦ⇒√（実数×実数＋虚数×虚数）        とする。
【００６４】
但し、実数部、虚数部は原子量子化の実数部、虚数部である。
【００６５】
正規化用割り算器の回路構成は、図６（ａ）に示されている。
【００６６】
アナログ・デジタル変換器（Ａ／Ｄ）５１、５２の出力はそれぞれ割り算器５３、５４と√（Ｘ2＋Ｙ2）演算器５５に接続され、該演算器５５の出力はそれぞれ前記割り算器５３，５４に接続されている。前記割り算器５３、５４の出力が正規化量子化出力として出力される。
【００６７】
具体例を示すと、前記割り算器５３、５４は、前記第１実施例又は第２実施例で説明した割り算器を用いる。√（Ｘ2＋Ｙ2）演算器５５は一般的な演算器により構成する。
【００６８】
アナログ入力信号（図示せず）の９０°移相されたアナログ信号ＩとＱは、位相を持つベクトル量として入力され、Ａ／Ｄ５１および５２でＡ／Ｄ変換され、ｎビット量子化（Ｘ，Ｙ）される。Ｘ、Ｙの量子化精度が最大となるのは、図６（ｂ）に示すＩとＱがダイナミックレンジ最大となる場合であるが、ＩとＱの振幅が小さくなった時Ｘ、Ｙの量子化精度が劣化する。このデメリットを補うために、図６（ｃ）に示すように、Ｘ、Ｙのベクトル振幅（√（Ｘ2＋Ｙ2））でＸ、Ｙを正規化（Ａ、Ｂ）し、量子化精度を向上させる。
【００６９】
このように正規化をする場合、下記割り算を行う為にこの第３実施例の正規化用割り算器を用いる。
【００７０】
信号振幅が小さいアナログ信号ＩとＱを正規化すると、出力ＡとＢは以下のようになる。
【００７１】
Ａ＝Ｘ／（√（Ｘ2＋Ｙ2））、Ｂ＝Ｙ／（√（Ｘ2＋Ｙ2））
【００７２】
【発明の効果】
本発明は、割り算器を、簡単なユニットの組み合わせで構成でき、前記ユニットの増減により必要な表示精度を確保することができるようになる。
【００７３】
本発明の割り算器は、同じレジスタにおいて、演算中、データの読み出し、書き込み、シフト等の処理を連続して行うことがないので、処理が早くなる。
【００７４】
本発明は、割り算器の処理速度が向上したので、相関処理が早くなる。
【図面の簡単な説明】
【図１】本発明の割り算器のブロック構成図と表示ビットと答えとの関係を説明する図である。図１（ａ）は本発明の割り算器の構成図であり、図１（ｂ）は数直線上の比で決まる変位点を表示する。
【図２】本発明の割り算器を備えた相関器である。
【図３】本発明の第２実施例である相関器における、遅延追尾端数ビットの検出方法の原理説明図である。
【図４】本発明の第２実施例であり、データフリンジ回転位相端数ビットの検出方法の原理図である。
【図５】従来の割り算器の原理説明図である。
【図６】本発明の第３実施例である正規化用割り算器の説明図である。
【符号の説明】
１、２、３、４、５、６    １／２シフトレジスタ
１１、１２、１３、１４、１５、１６    引き算器
２１、２２、２３、２４、２５、２６    セレクター
３１、３２、３３、３４、３５、３６    インバータ
【図１】
0003794567.tif 000002
【図２】
0003794567.tif 000003
【図３】
0003794567.tif 000004
【図４】
0003794567.tif 000005
【図５】
0003794567.tif 000006
【図６】
0003794567.tif 000007