(57)【要約】　　　（修正有）【課題】回路規模の低減が可能な対数変換器。【解決手段】対数変換上位ビット列生成部が、入力データＢの各ビットのうち論理“１”となっている最も上位に位置するビットをアクティブビットとして検出し、このビット位置Ｓを表すバイナリデータを対数変換上位ビット列Ｄとする。ここで、入力データＢのビット数ｎに基いて、ｎ＝２ｐの関係から対数変換上位ビット列Ｄのビット数ｐを設定する。対数変換下位ビット列生成手段が、入力データＢの各ビットのうち、ビット位置Ｓより下位に位置する所定ビット数ｑのビット列を求め、対数変換下位ビット列ＤＬＯＷとする。そして、対数変換上位ビット列ＤＵＰを入力データＢを対数変換した場合に得られる整数の対数変換値、対数変換下位ビット列ＤＬＯＷを入力データＢを対数変換した場合に得られる小数点以下の対数変換値とする総計ｐ＋ｑビットの対数変換データＤを生成し、対数変換した結果として出力する。【選択図】　　　図２
2004056642.tif 000002
【特許請求の範囲】
【請求項１】
対数変換すべきデジタルデータの各ビットのうち論理“１”となっている最も上位に位置するビットの位置を表す２進数のバイナリデータを生成する対数変換上位ビット列生成手段と、
前記最も上位に位置するビットより下位に位置するビット列を前記デジタルデータより求める対数変換下位ビット列生成手段とを備え、
前記２進数のバイナリデータを前記デジタルデータを対数変換した場合に得られる整数の対数変換値、前記下位に位置するビット列を前記デジタルデータを対数変換した場合に得られる小数点以下の対数変換値、とする対数変換データとして出力することを特徴とする対数変換器。
【請求項２】
前記対数変換上位ビット列生成手段は、
前記対数変換すべきデジタルデータの各ビットのうち論理“１”となっている最も上位に位置するビットの位置を検出する検出部と、
前記検出部の検出結果に従って、前記２進数のバイナリデータの各ビット列を生成する生成部と、を備えることを特徴とする請求項１に記載の対数変換器。
【請求項３】
前記検出部は、
前記対数変換すべきデジタルデータをデコードすることにより、前記論理“１”となっている最も上位に位置するビットを検出することを特徴とする請求項２に記載の対数変換器。
【請求項４】
前記生成部は、
前記対数変換すべきデジタルデータの各ビットの位置を表す２進数のバイナリデータを有し、前記検出部の前記検出結果に従って、前記各ビットの位置を表す２進数のバイナリデータの１つを選択することにより、前記論理“１”となっている最も上位に位置するビットの位置を表す前記２進数のバイナリデータを生成することを特徴とする請求項２に記載の対数変換器。
【請求項５】
前記生成部は、前記検出結果に従って、前記各ビットの位置を表す２進数のバイナリデータの１つを選択する切換え回路で形成されていることを特徴とする請求項４に記載の対数変換器。
【請求項６】
前記検出部は、前記対数変換すべきデジタルデータの各ビットのうち、前記論理“１”となっている最も上位に位置するビットより下位に位置するビット列を対象外とするデータを出力する第１の論理回路と、
前記対数変換すべきデジタルデータの各ビットのうち、前記データで対象外とされたビットを除くことで、前記論理“１”となっている最も上位に位置するビットを検出する第２の論理回路と、を備えることを特徴とする請求項２に記載の対数変換器。
【請求項７】
前記第１の論理回路は、
前記対数変換すべきデジタルデータの最上位ビットから最下位ビットまでの各ビットを入力すると共に、夫々の出力と入力とが前記最上位ビットから最下位ビット側へと対応付けて従属接続された複数の論理和ゲートを備え、
前記各論理和ゲートが、上位ビット側の論理和ゲートの出力と前記デジタルデータの各ビットとを論理和演算することにより、前記対象外とするデータを生成することを特徴とする請求項６に記載の対数変換器。
【請求項８】
第２の論理回路は、前記対数変換すべきデジタルデータの各ビットと、前記対象外とするデータとを論理積演算することにより、前記論理“１”となっている最も上位に位置するビットを検出することを特徴とする請求項６に記載の対数変換器。
【請求項９】
前記下位ビット列生成手段は、
前記デジタルデータの各ビットのうち、前記論理“１”となっている最も上位に位置するビットの次の下位ビットを含む予め決められた所定個数のビット列を、前記小数点以下の対数変換値として求めることを特徴とする請求項１に記載の対数変換器。
【請求項１０】
前記下位ビット列生成手段は、前記最も上位に位置するビットの次の下位ビットから前記デジタルデータの最下位ビットまでのビット数が前記所定個数に満たないと、満たない分のビットを前記最下位ビットに追加して、所定個数のビット列を生成することを特徴とする請求項９に記載の対数変換器。
【請求項１１】
前記下位ビット列生成手段は、
前記対数変換すべきデジタルデータを、連続した前記所定個数ずつのビット列の組として入力する下位ビット列抽出部と、
前記デジタルデータの前記論理“１”となっている最も上位に位置するビットの次の下位ビットを最上位ビットとして有する前記所定個数のビット列を、前記小数点以下の対数変換値として、前記下位ビット列抽出部に抽出させる下位ビット列選択部と、を備えることを特徴とする請求項９又は１０に記載の対数変換器。
【請求項１２】
前記下位ビット列選択部は、
前記対数変換すべきデジタルデータをデコードすることにより、前記論理“１”となっている最も上位に位置するビットを検出することを特徴とする請求項１１に記載の対数変換器。
【請求項１３】
前記下位ビット列抽出部は、
前記下位ビット列選択部でデコードされた前記検出結果に従って、最も上位に位置するビットの次の下位ビットを最上位ビットとして有する前記所定個数のビット列を抽出することを特徴とする請求項１２に記載の対数変換器。
【請求項１４】
前記下位ビット列抽出部は、前記下位ビット列選択部の前記検出結果に従って、前記所定個数のビット列を抽出する切換え回路で形成されていることを特徴とする請求項１１に記載の対数変換器。
【請求項１５】
対数変換すべきデジタルデータの各ビットのうち論理“１”となっている最も上位に位置するビットの位置を表す２進数のバイナリデータを生成する上位ビット列生成工程と、
前記最も上位に位置するビットより下位に位置するビット列を前記デジタルデータより求める下位ビット列生成工程とを備え、
前記２進数のバイナリデータを前記デジタルデータを対数変換した場合に得られる整数の対数変換値、前記下位に位置するビット列を前記デジタルデータを対数変換した場合に得られる小数点以下の対数変換値とすることで、前記デジタルデータに対する対数変換データを生成することを特徴とする対数変換方法。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、例えばデジタルデータ等を対数変換する対数変換器及び対数変換方法に関する。
【０００２】
【従来の技術】
従来、デジタル信号処理の分野において、例えばビット数の多いデジタルデータをそれより少ないビット数のデジタルデータにデータ圧縮したり、複数のデジタルデータを乗算又は除算する代わりに、対数変換を施したデジタルデータを加算又は減算することにより演算の効率化を図る等、有用な手段として対数変換が広く利用されている。
【０００３】
従来の一般的な対数変換器として、図１（ａ）に示す構成のものが知られている。
【０００４】
この対数変換器は、対数変換を高速で行うべくハードウェアで構成され、同図（ａ）に示すように、論理回路としてのアドレスデコーダ１と、読出し専用の半導体メモリで形成された対数ＲＯＭ２を備えて構成されている。
【０００５】
対数ＲＯＭ２は、所謂ルックアップテーブルの形態で形成されており、対数変換すべきデジタルデータに対応した多数の対数変換データが予め記憶されている。
【０００６】
アドレスデコーダ１は、対数変換すべきデジタルデータが入力されると、そのデジタルデータをアドレスデータに変換（デコード）して対数ＲＯＭ２のアドレスを指定することにより、デジタルデータに対応する対数変換データを読み出させる。
【０００７】
つまり、対数変換すべきデジタルデータの値と、対数ＲＯＭ２のアドレスを指定するためのアドレスデータと、そのアドレスデータで指定されるアドレスに予め記憶されている対数変換データとが互いに一対一の関係で決められているため、対数変換すべきデジタルデータをアドレスデコーダ１に供給すると、そのデジタルデータに対応する対数変換データを対数変換の結果として、対数ＲＯＭ２から出力させ、それによって高速の対数変換を行うことを可能にしている。
【０００８】
【課題を解決するための手段】
ところが、従来の対数変換器は、回路規模が極めて大きなものとなってしまうという問題があった。
【０００９】
例えば高密度実装や小形軽量化等の必要な電子機器に対数変換器を設ける場合や、対数変換器を半導体集積回路装置として形成する場合等、その他の場合において、解決すべき重要な課題となっていた。
【００１０】
具体的な一事例を上げて説明すれば、図１（ａ）に示したアドレスデコーダ１は、図１（ｂ）に示すような複数段の論理回路１ａ，１ｂ等で構成され、更に各論理回路１ａ，１ｂ等は多数の論理演算素子（インバータ、ＯＲゲート、ＮＯＲゲート、ＡＮＤゲート、ＮＡＮＤゲート等）を組み合わせて形成されている。
【００１１】
ここで、初段に位置する複数の論理回路１ａ，１ａ…は、入力されるｎビット（ｎは任意の自然数）のデジタルデータを複雑に組み合わせて論理演算するための複数個のインバータとＮＯＲゲートで形成され、次段の論理回路１ｂも同様に、複数の論理回路１ａ，１ａ…から出力される多数のデータを複雑に組み合わせて論理演算すべく多数の論理演算素子で形成され、更に論理回路１ｂは１段のみではなく多段の論理回路で形成されている。
【００１２】
このように、対数ＲＯＭ２の全アドレス空間をアクセスし得るアドレスデータを生成しなければならない等の必要性から、アドレスデコーダ１の回路規模が大きくなっていた。
【００１３】
また、対数ＲＯＭ２がルックアップテーブルの形態で形成されていることからも、回路規模が大きくなる一因となっていた。
【００１４】
つまり、対数ＲＯＭ２には、対数変換すべきデジタルデータのビット数ｎに応じて、少なくとも２ｎ通りの対数変換データを予め記憶させておく必要がある。
【００１５】
更に各対数変換データを、ｎビットのデジタルデータよりも少ないビット数ｍのデータとして記憶させたとしても、対数ＲＯＭ２の総記憶容量として少なくとも２ｎ×ｍビット分が必要である。
【００１６】
こうしたことから、記憶容量の大きな対数ＲＯＭ２が必要となり、回路規模が大きくなる一因となっていた。
【００１７】
本発明は、例示したような従来の課題に鑑みてなされたものであり、新規な構成を有する対数変換器を提供することを目的とする。
【００１８】
【課題を解決するための手段】
請求項１に記載の対数変換器は、対数変換すべきデジタルデータの各ビットのうち論理“１”となっている最も上位に位置するビットの位置を表す２進数のバイナリデータを生成する対数変換上位ビット列生成手段と、前記最も上位に位置するビットより下位に位置するビット列を前記デジタルデータより求める対数変換下位ビット列生成手段とを備え、前記２進数のバイナリデータを前記デジタルデータを対数変換した場合に得られる整数の対数変換値、前記下位に位置するビット列を前記デジタルデータを対数変換した場合に得られる小数点以下の対数変換値、とする対数変換データとして出力することを特徴とする。
【００１９】
請求項２に記載の対数変換器は、請求項１に記載の対数変換器において、前記対数変換上位ビット列生成手段は、前記対数変換すべきデジタルデータの各ビットのうち論理“１”となっている最も上位に位置するビットの位置を検出する検出部と、前記検出部の検出結果に従って、前記２進数のバイナリデータの各ビット列を生成する生成部とを備えることを特徴とする。
【００２０】
請求項３に記載の対数変換器は、請求項２に記載の対数変換器において、前記検出部は、前記対数変換すべきデジタルデータをデコードすることにより、前記論理“１”となっている最も上位に位置するビットを検出することを特徴とする。
【００２１】
請求項４に記載の対数変換器は、請求項２に記載の対数変換器において、前記生成部は、前記対数変換すべきデジタルデータの各ビットの位置を表す２進数のバイナリデータを有し、前記検出部の前記検出結果に従って、前記各ビットの位置を表す２進数のバイナリデータの１つを選択することにより、前記論理“１”となっている最も上位に位置するビットの位置を表す前記２進数のバイナリデータを生成することを特徴とする。
【００２２】
請求項５に記載の対数変換器は、請求項４に記載の対数変換器において、前記生成部は、前記検出結果に従って、前記各ビットの位置を表す２進数のバイナリデータの１つを選択する切換え回路で形成されていることを特徴とする。
【００２３】
請求項６に記載の対数変換器は、請求項２に記載の対数変換器において、前記検出部は、前記対数変換すべきデジタルデータの各ビットのうち、前記論理“１”となっている最も上位に位置するビットより下位に位置するビット列を対象外とするデータを出力する第１の論理回路と、前記対数変換すべきデジタルデータの各ビットのうち、前記データで対象外とされたビットを除くことで、前記論理“１”となっている最も上位に位置するビットを検出する第２の論理回路とを備えることを特徴とする。
【００２４】
請求項７に記載の対数変換器は、請求項６に記載の対数変換器において、前記第１の論理回路は、前記対数変換すべきデジタルデータの最上位ビットから最下位ビットまでの各ビットを入力すると共に、夫々の出力と入力とが前記最上位ビットから最下位ビット側へと対応付けて従属接続された複数の論理和ゲートを備え、前記各論理和ゲートが、上位ビット側の論理和ゲートの出力と前記デジタルデータの各ビットとを論理和演算することにより、前記対象外とするデータを生成することを特徴とする。
【００２５】
請求項８に記載の対数変換器は、請求項６に記載の対数変換器において、第２の論理回路は、前記対数変換すべきデジタルデータの各ビットと、前記対象外とするデータとを論理積演算することにより、前記論理“１”となっている最も上位に位置するビットを検出することを特徴とする。
【００２６】
請求項９に記載の対数変換器は、請求項１に記載の対数変換器において、前記下位ビット列生成手段は、前記デジタルデータの各ビットのうち、前記論理“１”となっている最も上位に位置するビットの次の下位ビットを含む予め決められた所定個数のビット列を、前記小数点以下の対数変換値として求めることを特徴とする。
【００２７】
請求項１０に記載の対数変換器は、請求項９に記載の対数変換器において、前記下位ビット列生成手段は、前記最も上位に位置するビットの次の下位ビットから前記デジタルデータの最下位ビットまでのビット数が前記所定個数に満たないと、満たない分のビットを前記最下位ビットに追加して、所定個数のビット列を生成することを特徴とする。
【００２８】
請求項１１に記載の対数変換器は、請求項９又は１０に記載の対数変換器において、前記下位ビット列生成手段は、前記対数変換すべきデジタルデータを、連続した前記所定個数ずつのビット列の組として入力する下位ビット列抽出部と、
前記デジタルデータの前記論理“１”となっている最も上位に位置するビットの次の下位ビットを最上位ビットとして有する前記所定個数のビット列を、前記小数点以下の対数変換値として、前記下位ビット列抽出部に抽出させる下位ビット列選択部と、を備えることを特徴とする。
【００２９】
請求項１２に記載の対数変換器は、請求項１１に記載の対数変換器において、前記下位ビット列選択部は、前記対数変換すべきデジタルデータをデコードすることにより、前記論理“１”となっている最も上位に位置するビットを検出することを特徴とする。
【００３０】
請求項１３に記載の対数変換器は、請求項１２に記載の対数変換器において、前記下位ビット列抽出部は、前記下位ビット列選択部でデコードされた前記検出結果に従って、最も上位に位置するビットの次の下位ビットを最上位ビットとして有する前記所定個数のビット列を抽出することを特徴とする。
【００３１】
請求項１４に記載の対数変換器は、請求項１１に記載の対数変換器において、前記下位ビット列抽出部は、前記下位ビット列選択部の前記検出結果に従って、前記所定個数のビット列を抽出する切換え回路で形成されていることを特徴とする。
【００３２】
請求項１５に記載の対数変換方法は、対数変換すべきデジタルデータの各ビットのうち論理“１”となっている最も上位に位置するビットの位置を表す２進数のバイナリデータを生成する上位ビット列生成工程と、前記最も上位に位置するビットより下位に位置するビット列を前記デジタルデータより求める下位ビット列生成工程とを備え、前記２進数のバイナリデータを前記デジタルデータを対数変換した場合に得られる整数の対数変換値、前記下位に位置するビット列を前記デジタルデータを対数変換した場合に得られる小数点以下の対数変換値とすることで、前記デジタルデータに対する対数変換データを生成することを特徴とする。
【００３３】
【発明の実施の形態】
本発明の好適な実施の形態を図２乃至図４を参照して説明する。
なお、図２乃至図４は、本実施形態の対数変換器の構成並びに機能を示した図である。
【００３４】
また、説明の便宜上、対数変換すべきデジタルデータＢは、一般的表現形態であるＢ（ｂｎ−１，ｂｎ−２，ｂｎ−３，…，ｂ２，ｂ１，ｂ０）等で表されるｎビットのバイナリデータとし、また、対数変換後の対数変換データＤも同様に、Ｄ（ｄｍ−１，ｄｍ−２，ｄｍ−３，…，ｄｍ−ｐ，ｄｍ−ｐー１，…，ｄ２，ｄ１，ｄ０）等で表し得るｍビットのバイナリデータであるものとして説明することとする。
【００３５】
また、上述の各データＢとＤのビット数ｎとｍは、必ずしもこれに限定されるものではないが、一般に行われる対数変換の意義を考慮して、ｎ≧ｍの関係にあるものとして説明することとする。
【００３６】
図２において、本対数変換器は、対数変換すべき入力データＢに対して対数変換の処理を施し、対数変換の結果としての対数変換データＤを出力する。
【００３７】
かかる対数変換の処理を行うべく、対数変換上位ビット列生成部３と対数変換下位ビット列生成部４が備えられている。
【００３８】
対数変換上位ビット列生成部３は、図３に示す如く、アクティブビット検出部３ａと上位ビット列生成部３ｂを備えて構成されている。
【００３９】
対数変換下位ビット列生成部４は、図４に示す如く、下位ビット選択部４ａと下位ビット列抽出部４ｂを備えて構成されている。
【００４０】
ただし、これらの対数変換上位ビット列生成部３と対数変換下位ビット列生成部４及び、アクティブビット検出部３ａ、上位ビット列生成部３ｂ、下位ビット選択部４ａ、下位ビット列抽出部４ｂは、個別独立して形成することが可能であるが、融合した１又は複数の回路等として形成することも可能である。
【００４１】
つまり、これらの各構成要素３，４，３ａ，３ｂ，４ａ，４ｂを最適に論理設計する際、個別独立な構成とする代わりに、例えば論理演算素子や一部回路等の共有化を図ることで、融合した１又は複数の回路等として回路規模をシュリンクすることが可能である。
【００４２】
図２、図３において、対数変換上位ビット列生成部３は、ｎビットの変換すべき入力データＢが供給されると、その入力データＢの各ビットｂｎ−１，ｂｎ−２，ｂｎ−３，…，ｂ２，ｂ１，ｂ０のうち、論理“１”となっているビットであって最も上位に位置しているビット（以下「アクティブビット」という）を検出する。
【００４３】
この検出処理を、図３のアクティブビット検出部３ａが行い、上述の検出した最上位のビットをアクティブビットとし、更にそのアクティブビットが入力データＢにおける何ビット目の位置にあるかを表すためのビット番号Ｓを特定する。
【００４４】
例えば、上述のアクティブビットが最上位（ＭＳＢ）からｋ番目に位置するビットｂｎ−ｋであった場合、そのビットｂｎ−ｋのビット番号Ｓをｎ−ｋとする。
【００４５】
更に具体的な場合を例示すれば、入力データＢが、Ｂ（０，０，０，１，０，１，１，０，１，０，０，０，０，０，０，１）で表される１６ビット（ｎ＝１６）のデータであった場合、最上位ビット（ＭＳＢ）ｂ１５から４番目に位置する論理“１”のビットｂｎ−ｋ（つまり、ｂ１２）をアクティブビットとし、更に、ビット番号Ｓを「１２」とする。
【００４６】
なお、ビットｂ１２よりも下位のビットｂ１１〜ｂ０で、論理“１”となっているものがあっても、アクティブビットとはしない。
【００４７】
そして、アクティブビット検出部３ａは、ビット番号Ｓをアクティブビットの検出結果として、上位ビット列生成部３ｂと対数変換下位ビット列生成部４へ供給する。
【００４８】
次に、上位ビット列生成部３ｂは、ｍビットの対数変換データＤにおける、最上位ビットｄｍ−１を含む上位ｐ個分のビットである、対数変換上位ビット列ＤＵＰ（ｄｍ−１，ｄｍ−２，ｄｍ−３，…，ｄｍ−ｐ）を生成する。
【００４９】
ここで、対数変換上位ビット列ＤＵＰのビット数ｐは、ｎビットの入力データＢに対応させて、ｎ＝２ｐの関係（別言すれば、ｐ＝ｌｏｇ２ｎの関係）を満足するように予め決められている。
【００５０】
そして、アクティブビット検出部３ａからビット番号Ｓが供給されると、そのビット番号Ｓに相当する２進数のバイナリデータ（ｐ個のビットから成るバイナリデータ）を生成し、そのビット数ｐのバイナリデータを対数変換上位ビット列ＤＵＰとする。
【００５１】
より具体的な事例を上げて説明すれば、入力データＢが、前述したＢ（０，０，０，１，０，１，１，０，１，０，０，０，０，０，０，１）で表される１６ビットのデータであった場合、アクティブビットのビット番号Ｓは「１２」となるから、ビット番号Ｓに相当する２進数のバイナリデータ（１，１，０，０）を生成する。
【００５２】
そして、ｎ＝２ｐの関係から、１６ビット（ｎ＝１６）の入力データＢに対応する対数変換上位ビット列ＤＵＰのビット数ｐは「４」となり、更に上述のビット番号Ｓに相当する２進数のバイナリデータ（１，１，０，０）となることから、上述の４ビットの対数変換上位ビット列をＤＵＰ（１，１，０，０）とする。
【００５３】
また、生成すべき対数変換データＤのビット数ｍが、入力データＢのビット数ｎより小さい場合であっても、ｎ＝２ｐの関係から対数変換上位ビット列ＤＵＰのビット数ｐを決め、ビット番号Ｓに相当する２進数のバイナリデータに相当する対数変換上位ビット列ＤＵＰ、つまりビット数ｐの対数変換上位ビット列ＤＵＰを生成する。
【００５４】
このように、アクティブビット検出部３ａと上位ビット列生成部３ｂを備えた対数変換上位ビット列生成部３は、入力データＢ中の論理“１”となっているビットのうち、最も上位に位置しているビットをアクティブビットとして着目し、アクティブビットのビット番号Ｓの２進数のバイナリデータを対数変換上位ビット列ＤＵＰとして生成する。
【００５５】
次に、図２、図４に基づいて対数変換下位ビット列生成部４を説明する。
【００５６】
対数変換下位ビット列生成部４は、ｎビットの変換すべき入力データＢが供給されると、その入力データＢに基づいて、対数変換データＤの下位ｍ−ｐビット分を表す対数変換下位ビット列ＤＬＯＷを生成する。
【００５７】
この対数変換下位ビット列ＤＬＯＷを生成するのに、図４の下位ビット選択部４ａと下位ビット列抽出部４ｂが備えられている。
【００５８】
下位ビット選択部４ａは、入力データＢの各ビットｂｎ−１，ｂｎ−２，ｂｎ−３，…，ｂ２，ｂ１，ｂ０のうち、上述のビット番号Ｓで特定されたアクティブビットｂｎ−ｋよりも下位に位置するビット列（ｂｎ−ｋ−１，ｂｎ−ｋ−２，……，ｂ１，ｂ０）を選択し、その選択結果を下位ビット列抽出部４ｂへ出力する。
【００５９】
なお、本実施形態では、ビット番号Ｓに基づいて、下位のビット列（ｂｎ−ｋ−１，ｂｎ−ｋ−２，……，ｂ１，ｂ０）を選択することとしているが、他の方法で行ってもよい。
【００６０】
変形例として、上述のｐビットの対数変換上位ビット列ＤＵＰ（ｄｍ−１，ｄｍ−２，…ｄｍ−ｐ）に基づいて、下位のビット列（ｂｎ−ｋ−１，ｂｎ−ｋ−２，……，ｂ１，ｂ０）を選択してもよい。つまり、対数変換上位ビット列ＤＵＰ（ｄｍ−１，ｄｍ−２，…ｄｍ−ｐ）はビット番号Ｓの２進数のデータであることから、ビット番号Ｓの代わりに対数変換上位ビット列ＤＵＰ（ｄｍ−１，ｄｍ−２，…ｄｍ−ｐ）に基づいて、下位のビット列（ｂｎ−ｋ−１，ｂｎ−ｋ−２，……，ｂ１，ｂ０）を選択するようにしてもよい。
【００６１】
次に、下位ビット列抽出部４ｂは、生成すべき対数変換データＤのビット数ｍと対数変換上位ビット列ＤＵＰのビット数ｐとの差（ｍ−ｐ）に相当する個数ｑのビットを、下位のビット列（ｂｎ−ｋ−１，ｂｎ−ｋ−２，……，ｂ１，ｂ０）のうちの上位から抽出し、その抽出したｑ個（つまり、ｍ−ｐ個）のビット列（ｂｎ−ｋ−１，ｂｎ−ｋ−２，……，ｂｎ−ｋ−１−ｑ）を、対数変換データＤにおける対数変換下位ビット列ＤＬＯＷ（ｄｍ−ｐ−１，ｄｍ−ｐ−２，…，ｄ１，ｄ０）とする。
【００６２】
なお、下位のビット列（ｂｎ−ｋ−１，ｂｎ−ｋ−２，……，ｂ１，ｂ０）のビット総数が、ｑ個（つまり、ｍ−ｐ個）よりも少ない場合には、不足分のビットを論理“０”として、最下位（ＬＳＢ）ビットｂ０に続けて付加することにより、ｑ個のビットから成る対数変換下位ビット列ＤＬＯＷ（ｄｍ−ｐ−１，ｄｍ−ｐ−２，…，ｄ１，ｄ０）を生成する。
【００６３】
そして、図２に示すように、ｐビットの対数変換上位ビット列ＤＵＰ（ｄｍ−１，ｄｍ−２，ｄｍ−３，…，ｄｍ−ｐ）を、入力データＢを対数変換することによって得られる整数値として出力し、ｑビットの対数変換下位ビット列ＤＬＯＷ（ｄｍ−ｐ−１，…，ｄ２，ｄ１，ｄ０）を、入力データＢを対数変換することによって得られる小数点以下の値として出力する。
【００６４】
そして、これら対数変換上位ビット列ＤＵＰを対数変換データＤの上位ビット列、対数変換下位ビット列ＤＬＯＷを対数変換データＤの下位ビット列とする総計ｍビットの対数変換データＤを出力する。
【００６５】
より具体的な場合を例示すると、下位ビット列抽出部４ｂは次に述べる処理を行うこととなる。なお、一具体例として、１６ビット（ｎ＝１６）の入力データＢに対して８ビット（ｍ＝８）の対数変換データＤを生成すべく本対数変換器を形成し、入力データＢが、前述のＢ（０，０，０，１，０，１，１，０，１，０，０，０，０，０，０，１）で表される１６ビットのデータであった場合について説明することとする。
【００６６】
入力データＢ（０，０，０，１，０，１，１，０，１，０，０，０，０，０，０，１）が入力されると、論理“１”となる最上位ビットは第１２ビットｂ１２であることから、既述したように対数変換上位ビット列ＤＵＰ（ｄｍ−１，ｄｍ−２，…ｄｍ−ｐ）は、ＤＵＰ（１，１，０，０）となる。
【００６７】
ここで、生成すべき８ビット（ｍ＝８）の対数変換データＤのうち、対数変換上位ビット列ＤＵＰ（１，１，０，０）が４ビット（ｐ＝４）分を占めることとなり、残りの４ビット（ｍ−ｐ＝４）に対数変換下位ビット列ＤＬＯＷを割り当てる。
【００６８】
そして、対数変換下位ビット列ＤＬＯＷの候補として、入力データＢ（０，０，０，１，０，１，１，０，１，０，０，０，０，０，０，１）のうち、上述の第１２ビットｂ１２よりも下位のビット列（ｂ１１，ｂ１０，ｂ９，ｂ８，……，ｂ０）であるビット列（０，１，１，０，１，０，０，０，０，０，０，１）を選択し、更に、上位４ビット分のビット列（ｂ１１，ｂ１０，ｂ９，ｂ８）に該当するビット列（０，１，１，０）を対数変換下位ビット列ＤＬＯＷ（ｄ３，ｄ２，ｄ１，ｄ０）、すなわちＤＬＯＷ（０，１，１，０）とする。
【００６９】
そして、対数変換上位ビット列ＤＵＰ（１，１，０，０）と対数変換下位ビット列ＤＬＯＷ（０，１，１，０）とによって、最終的な対数変換データＤ（１，１，０，０，０，１，１，０）とする。
【００７０】
なお、図２中、変換後の対数変換データＤに付けられているポインタｔが、小数点の位置であることを示している。これにより、例えば対数変換データＤをレジスタ回路等でバッファリングしてから並列出力する場合に、そのレジスタ回路等における物理的なビットの位置をポインタｔで表すことで、対数変換上位ビット列ＤＵＰと対数変換下位ビット列ＤＬＯＷとの境（小数点の位置）を表すことが可能である。
【００７１】
ただし、ポインタｔによって、対数変換データＤにおける対数変換上位ビット列ＤＵＰと対数変換下位ビット列ＤＬＯＷとの境（小数点の位置）を表す表現方法に限定されるものではない。
【００７２】
変形例として、対数変換上位ビット列ＤＵＰと対数変換下位ビット列ＤＬＯＷとの境の位置に１ビット追加し、その追加した１ビットを小数点の位置を表すビットとして、総計ｍ＋１ビットの対数変換データＤとしてもよい。
【００７３】
また、他の変形例として、対数変換上位ビット列ＤＵＰと対数変換下位ビット列ＤＬＯＷとの境の位置に１ビット追加し、その追加した１ビットを小数点の位置を表すビットとすると共に、対数変換下位ビット列ＤＬＯＷのうちの最下位ビットｄ０を除去することにより、総計ｍビットの対数変換データＤとするようにしてもよい。
【００７４】
本実施形態によれば、入力データＢを対数変換した場合、その対数変換データＤの値は、理論値とほぼ一致する結果が得られた。なお、具体的な対数変換の精度については、次の実施例において説明するが、図１２の評価結果に示すように、本対数変換器で１６ビットの入力データＢを対数変換した場合、その対数変換データＤの値は、理論値とほぼ一致する結果が得られた。
【００７５】
更に、本実施形態の対数変換器によれば、図１に示した従来のアドレスデコーダ１に比して、極めて少ない論理演算素子で形成することができ、回路規模の低減等を実現することができる。
【００７６】
例えば、対数変換上位ビット列生成部３は、論理演算素子を用いた小規模の比較器やデコーダ回路によって、入力データＢ中のアクティブビット及びビット番号Ｓを検出し特定することが可能である。
【００７７】
また、ビット番号Ｓに相当するｐビットの対数変換上位ビット列ＤＵＰを生成するのに、論理演算素子を用いた小規模のデコーダ回路によって、ビット番号Ｓからバイナリデータを生成することが可能である。
【００７８】
また、対数変換下位ビット列生成部４は、入力データＢから所定のビットを単に選択して抽出することで、対数変換下位ビット列ＤＬＯＷを求めることができるため、規模の小さな例えばレジスタ回路等で実現することが可能である。
【００７９】
また、従来技術のような対数変換に相当するデータをＲＯＭ等に予め記憶しておく構成ではないことから、回路規模を低減することが可能である。
【００８０】
以上例示したように、本実施形態の対数変換器は回路規模の低減等を可能にする新規な構成を有し、デジタル信号処理の分野において有用な効果を提供することができるものである。
【００８１】
【実施例】
次に、図５乃至図１２を参照して、より具体的な実施例を説明する。
【００８２】
なお、図５は、本実施例の対数変換器を利用したＦＭ／ＡＭ受信機の構成を示す図、図６及び図７は、本対数変換器の回路を示す図、図８乃至図１１は、本対数変換器の動作及び機能を示す図、図１２は本対数変換器の評価結果を示す図である。
【００８３】
図５において、本実施例の対数変換器を利用したＦＭ／ＡＭ受信機は、到来電波をアンテナ５を介して受信するＲＦアンプ６と、ＰＬＬ及びＶＣＯ等の回路を有して局発信号を生成する局発回路８と、局発信号と受信信号とを混合して中間周波信号（ＩＦ信号）等を生成するミキサ７と、中間周波信号を増幅するＩＦアンプ９が備えられている。
【００８４】
更に、ＩＦアンプ９にて増幅された中間周波信号をデジタルデータにアナログデジタル変換するＡ／Ｄ変換部１０と、そのデジタルデータに対して所定のデジタル信号処理を施すことによってＦＭ検波信号を検波するＦＭ検波部１１と、そのデジタルデータに対して所定のデジタル信号処理を施すことによってＡＭ検波信号を検波するＡＭ検波部１２が備えられている。
【００８５】
ここで、ＡＭ検波部１２は、上述のＡＭ検波信号を生成する他、Ａ／Ｄ変換部１０から供給されるデジタルデータを全波整流し、ＡＭ検波を行うことによって、送信局の有無等を検出するのに利用される電界強度を示すデータを出力する。
【００８６】
ただし、上述の全波整流とＡＭ検波によって電界強度を示すデータを生成すると、その電界強度を示すデータはリニアなデータとなり、本ＦＭ／ＡＭ受信機のダイナミックレンジ等を考慮すると、リニアなデータのままでは処理し難いことから、電界強度を示すデータを対数変換して処理すべく、本実施例の対数変換器が設けられている。
【００８７】
次に、図６及び図７に基づいて、本実施例の対数変換器の回路構成を詳述する。
【００８８】
本対数変換器は、１６ビット（ｎ＝１６）の電界強度を示すリニアなデータ（以下「入力データ」という）Ｂを、８ビット（ｍ＝８）の対数変換データＤに変換する構成となっており、図６に示す回路が、図２に示した対数変換上位ビット列生成部３、図７に示す回路が、図２に示した対数変換下位ビット列生成部４となっている。
【００８９】
図６において、対数変換上位ビット列生成部３は、１５個の論理和ゲート（ＯＲゲート）Ｕ１４〜Ｕ０と、１５個の論理積ゲート（ＡＮＤゲート）Ｇ１４〜Ｇ０と、マルチプレクサ１３を備えて構成されている。
【００９０】
マルチプレクサ１３は、図中の符号ｄで示す１７個の入力端子を備えたデータ入力ポートと、図中の符号ｅで示す１７個の制御端子ｅを備えた切換え制御ポートとを有し、更に図中の符号ｄ６，ｄ５，ｄ４で示す３ビットのバイナリデータを並列出力する出力ポートが備えられている。
【００９１】
データ入力ポートの各入力端子ｄには、図示するように、１０進数の「０」から「７」までの各値に相当する３ビットのバイナリデータ（０，０，０）〜（１，１，１）が予め印加されている。
【００９２】
つまり、図中の最上位に位置する入力端子（後述のデコードビットｇ１５が印加される制御端子ｅと対を成している入力端子）ｄにはバイナリデータ（１，１，１）、次の入力端子ｄにはバイナリデータ（１，１，０）、更に次の入力端子ｄにはバイナリデータ（１，０，１）が印加され、残余の各入力端子ｄにも、図示の如く、３ビットのバイナリデータ（０，０，０）〜（１，１，１）のうちの所定のバイナリデータが予め印加されている。
【００９３】
また、これら３ビットのバイナリデータ（０，０，０）〜（１，１，１）の各論理値“１”と“０”は、いわゆる電源供給端子とグランド端子に、プルアップ抵抗とプルダウン抵抗を接続するという簡単な回路構成によって設定されている。
【００９４】
上述の各制御端子ｅには、後述するデコードビットｇ１５〜ｇ０とｈ０が夫々独立して供給されるようになっている。
【００９５】
そして、図中、隣り合って示されている１個ずつの入力端子ｄと制御端子ｅが１組ずつの対を成しており、各組における制御端子ｅに論理“１”となるデコードビットが印加されると、その制御端子ｅと対を成している入力端子ｄに印加されている上述のバイナリデータを出力データ（ｄ６，ｄ５，ｄ４）として、出力ポートより出力する。
【００９６】
つまり、詳細については後述するが、マルチプレクサ１３は、各制御端子ｅに印加されるデコードビットｇ１５〜ｇ０，ｈ０の何れかが論理“１”になると、その論理“１”に設定された制御端子ｅと対を成している入力端子ｄに印加されているバイナリデータを出力データ（ｄ６，ｄ５，ｄ４）とすべくマルチルレックスする。
【００９７】
次に、ＯＲゲートＵ１４〜Ｕ０とＡＮＤゲートＧ１４〜Ｇ０は、所定の関係で組み合わせて配線されることにより、最上位ビット（ＭＳＢ）ｂ１５から最下位ビット（ＬＳＢ）ｂ０までの１６ビットの入力データＢ（ｂ１５，ｂ１４，…，ｂ１，ｂ０）を１６ビットのデコードデータＧ（ｇ１５，ｇ１４，…，ｇ１，ｇ０）にデコードすると共に、１ビット分のデコードビットｈ０をデコードし、上述の１７個の制御端子ｅへ並列出力する。
【００９８】
ただし、デコードデータＧのうちの最上位のデコードビットｇ１５については、上述のＯＲゲートとＡＮＤゲートが関与することなく、入力データＢの最上位のビットｂ１５をそのままマルチプレクサ１３の最上位に位置する制御端子ｅへ供給するようになっている。
【００９９】
また、２入力型の各ＡＮＤゲートＧ１４〜Ｇ０は、一方が論理反転入力端子、他方が論理非反転入力端子となっており、ＯＲゲートＵ１４〜Ｕ０は、夫々２入力型の論理和ゲートで形成され、そしてＯＲゲートＵ１４〜Ｕ０及びＡＮＤゲートＧ１４〜Ｇ０は、入力データＢの各ビットｂ１５，ｂ１４，…，ｂ１，ｂ０に対応して設けられている。
【０１００】
そして、図示するように、ＯＲゲートＵ１４〜Ｕ０は、夫々の上位に位置するＯＲゲートの出力と、入力データＢ（ｂ１５，ｂ１４，…，ｂ１，ｂ０）の所定のビットとの論理和演算を行うべく、上位側から下位側へといわゆる従属接続が成されており、各ＯＲゲートＵ１４〜Ｕ１の出力ｕ１４〜ｕ１がＡＮＤゲートＧ１３〜Ｇ０の上記の論理反転入力端子に夫々供給され、ＡＮＤゲートＧ１４〜Ｇ０より出力されるデコードビットｇ１４〜ｇ０がマルチプレクサ１３の所定の制御端子ｅに供給されるように配線されている。
【０１０１】
そして、マルチプレクサ１３の出力ポートより出力される３ビットのビット列（ｄ６，ｄ５，ｄ４）と、ＯＲゲートＵ８の出力ｕ８を最上位ビットｄ７とする総計４ビットのビット列（ｄ７，ｄ６，ｄ５，ｄ４）を、上述の対数変換上位ビット列ＤＵＰとして出力する。
【０１０２】
次にかかる構成を有する対数変換上位ビット列生成部３の動作を説明する。
【０１０３】
まず、ＯＲゲートＵ１４〜Ｕ０の動作を説明する。ＯＲゲートＵ１４〜Ｕ０は、入力データＢの各ビットｂ１５〜ｂ０のうちで、論理“１”となっている最上位のビットに対応しているＯＲゲート及び、そのＯＲゲートより下位に位置しているＯＲゲートの出力を全て論理“１”にすべく動作する。
【０１０４】
例えば、入力データＢ（ｂ１５，…，ｂ０）の各ビット列が上述した（０，０，０，１，０，１，１，０，１，０，０，０，０，０，０，１）であった場合、論理“１”となっている最上位のビットｂ１２に対応しているＯＲゲートＵ１２に論理“１”の値が印加され、更にＯＲゲートＵ１２より下位に位置しているＯＲゲートＵ１１〜Ｕ０は従属接続されていることから、これらのＯＲゲートＵ１１〜Ｕ０にも論理“１”の値が印加される。
【０１０５】
この結果、ＯＲゲートＵ１２〜Ｕ０の出力ｕ１２〜ｕ１，ｈ０の全てが論理“１”となり、残余のＯＲゲートＵ１４，Ｕ１３の出力ｕ１４，ｕ１３は論理“０”となる。
【０１０６】
このようにＯＲゲートＵ１４〜Ｕ０は、入力データＢの各ビットｂ１５〜ｂ０のうちで、論理“１”となっている最上位のビットを検出すると共に、その論理“１”となっているビット及びそのビットより下位に位置しているＯＲゲートの出力を全て論理“１”とすることで、上述したアクティブビットの候補を出力する。
【０１０７】
次に、ＡＮＤゲートＧ１４〜Ｇ０の動作を説明する。
【０１０８】
ＡＮＤゲートＧ１４は、図示の如く、ビットｂ１５，ｂ１４との論理積演算を行い、ＡＮＤゲートＧ１３〜Ｇ０は、ＯＲゲートＵ１４〜Ｕ１よりの出力ｕ１４〜ｕ１とビットｂ１３〜ｂ０との夫々の論理積演算を行う。そして、デコードビットｇ１５と、これらのＡＮＤゲートＧ１４〜Ｇ０の出力（デコードビット）ｇ１４〜ｇ０とによって、真のアクティブビット（すなわち、１つのアクティブビット）及びそのビット番号Ｓを示す検出結果を出力する。
【０１０９】
つまり、入力データＢの最上位ビットｂ１５が論理“１”のときには、デコードビットｇ１５が論理“１”となり、ＡＮＤゲートＧ１４から出力されるデコードビットｇ１４は論理“０”となる。
【０１１０】
更に、ＯＲゲートＵ１４の出力ｕ１４はビットｂ１５が論理“１”であるため論理“１”となり、更に残余のＯＲゲートＵ１３〜Ｕ１の出力ｕ１３〜ｕ１も論理“１”となる。そして、ＡＮＤゲートＧ１３〜Ｇ０の論理反転入力端子に、全てが論理“１”となっている出力ｕ１３〜ｕ１が印加される結果、ＡＮＤゲートＧ１３〜Ｇ０から出力されるデコードビットｇ１３〜ｇ０は全て論理“０”になる。
【０１１１】
このようにＯＲゲートＵ１４〜Ｕ１とＡＮＤゲートＧ１４〜Ｇ０とによる論理演算が行われると、デコードビットｇ１５〜ｇ０のうち、ビットｇ１５のみが論理“１”、残余のビットｇ１４〜ｇ０は全て論理“０”となり、上述した真のアクティブビットｂ１５及びそのビット番号Ｓ（すなわち、１５）を検出して特定する。
【０１１２】
また、入力データＢの第１５ビットｂ１５が論理“０”で、第１４ビットｂ１４が論理“１”のときには、デコードビットｇ１５が論理“０”となり、ＡＮＤゲートＧ１４から出力されるデコードビットｇ１４は論理“１”となる。
【０１１３】
更に、ＯＲゲートＵ１４〜Ｕ１の出力ｕ１４〜ｕ１は全て論理“１”になるため、ＡＮＤゲートＧ１３〜Ｇ０のデコードビットｇ１３〜ｇ０は全て論理“１”となる。
【０１１４】
したがって、入力データＢの第１４ビットｂ１４が論理“１”となる最上位のビットであった場合には、デコードビットｇ１５〜ｇ０のうちのビットｇ１４のみが論理“１”となって、第１４ビットｂ１４を真のアクティブビットとし更にそのビット番号Ｓ（すなわち、１４）を検出して特定する。
【０１１５】
また、入力データＢの第１５ビットｂ１５と第１４ビットｂ１４が共に論理“０”で、第１３ビットｂ１３が論理“１”のときには、デコードビットｇ１５，ｇ１４が共に論理“０”となる。
【０１１６】
更に、ＯＲゲートＵ１４の出力ｕ１４は論理“０”となり、第１３ビットｂ１３は論理“１”であるから、ＡＮＤゲートＧ１３のデコードビットｇ１３は論理“１”となる。
【０１１７】
そして更に、ＯＲゲートＵ１３〜Ｕ１の出力ｕ１３〜ｕ１は全て論理“１”になるため、ＡＮＤゲートＧ１２〜Ｇ０のデコードビットｇ１２〜ｇ０は全て論理“０”となる。
【０１１８】
したがって、入力データＢの第１３ビットｂ１３が論理“１”となる最上位のビットであった場合には、デコードビットｇ１５〜ｇ０のうちのビットｇ１３のみが論理“１”となって、第１３ビットｂ１３を真のアクティブビットとし更にそのビット番号Ｓ（すなわち、１３）を検出して特定する。
【０１１９】
以下同様の論理演算処理が行われ、デコードビットｇ１５〜ｇ０のうちの１つのデコードビットのみが論理“１”となることから、その論理“１”となったデコードビットに対応している入力データＢのビットをアクティブビットとして検出すると共に、そのビット番号Ｓを一義的に特定することが可能となっている。
【０１２０】
次に、マルチプレクサ１３の動作を説明する。マルチプレクサ１３は、既述した如く、１７個の制御端子ｅのうち、論理“１”が印加された制御端子ｅに対応している入力端子ｄのバーナリデータを、ビット列（ｄ６，ｄ５，ｄ４）として出力ポートより出力する。
【０１２１】
したがって、デコードビットｇ１５〜ｇ０のうちの１つのデコードビットのみが論理“１”となると、その論理“１”が印加される制御端子ｅに対応している入力端子ｄのバーナリデータを、ビット列（ｄ６，ｄ５，ｄ４）として出力する。
【０１２２】
その結果、入力データＢのうちのアクティブビットに相当するビット列（ｄ６，ｄ５，ｄ４）を出力する。
【０１２３】
ここで、夫々の入力端子ｄには、ビット番号Ｓに相当する２進数のバイナリデータが予め印加されているため、デコードビットｇ１５〜ｇ０で示されるアクティブビットのビット番号Ｓに相当するバイナリデータをビット列（ｄ６，ｄ５，ｄ４）として出力する。
【０１２４】
例えば、入力データＢ（ｂ１５，…，ｂ０）の各ビット列が上述した（０，０，０，１，０，１，１，０，１，０，０，０，０，０，０，１）であった場合、図６中のデコードビットｇ１５〜ｇ０のうちのビットｇ１２のみが論理“１”となり、ビットｇ１２が印加される制御端子ｅに対応している入力端子ｄのバイナリデータは、（１，０，０）であるため、そのバイナリデータ（１，０，０）をビット列（ｄ６，ｄ５，ｄ４）として出力する。
【０１２５】
更に、ＯＲゲートＵ８の出力ｕ８を最上位のビットｄ７として、総計４ビットから成るビット列（ｄ７，ｄ６，ｄ５，ｄ４）を対数変換上位ビット列ＤＵＰ（ｄ７，ｄ６，ｄ５，ｄ４）、すなわちＤＵＰ（１，１，０，０）とする。
【０１２６】
なお、入力データＢの第１５ビットから第７ビットまでのビット列（ｂ１５〜ｂ７）の何れかのビットが論理“１”となると、ＯＲゲートＵ８の出力ｕ８は必ず論理“１”となり、そのため対数変換上位ビット列ＤＵＰ（ｄ７，ｄ６，ｄ５，ｄ４）のうちのビットｄ７は論理“１”となる。
【０１２７】
また、入力データＢの第１５ビットから第７ビットまでのビット列（ｂ１５〜ｂ７）の全てのビットが論理“０”となると、ＯＲゲートＵ８の出力ｕ８は必ず論理“０”となり、そのため対数変換上位ビット列ＤＵＰ（ｄ７，ｄ６，ｄ５，ｄ４）のうちのビットｄ７は論理“０”となる。
【０１２８】
このように、入力データＢの第１５ビットから第７ビットまでのビット列（ｂ１５〜ｂ７）の何れか１つが論理“１”となったか、全てが論理“０”となったかに応じて、対数変換上位ビット列ＤＵＰ（ｄ７，ｄ６，ｄ５，ｄ４）のビットｄ７を論理“１”又は“０”に設定することにより、アクティブビットのビット番号Ｓに相当する対数変換上位ビット列ＤＵＰを生成することを可能にしている。
【０１２９】
図８及び図９は、以上に述べた対数変換上位ビット列生成部３の動作を真理値表として示した図である。なお、紙面の都合上、入力データＢの代表的な値に対する対数変換上位ビット列ＤＵＰの出力結果を示している。また、入力データＢは１０進数と２進数で示し、対数変換上位ビット列ＤＵＰの値を１０進数で示している。
【０１３０】
図８に示すように、様々な値を示す入力データＢが入力されると、その入力データＢの各ビットのうち、論理“１”となる最も上位のビット（アクティブビット）のビット番号Ｓに相当する対数変換上位ビット列ＤＵＰを出力する。したがって、対数変換上位ビット列ＤＵＰの値を１０進数で表すと、図示の如く、入力データＢを対数演算した場合に得られる整数値を対数変換上位ビット列ＤＵＰとして出力するようになっている。
【０１３１】
つまり、図９中、□で囲って示されているアクティブビットよりも下位のビット（符号「＊」で示している）をドントケアー（Ｄｏｎ’ｔ　Ｃａｒｅ）として、アクティブビットのビット番号Ｓを対数変換し、それによって得られる整数の対数値を対数変換上位ビット列ＤＵＰとして出力するようになっている。
【０１３２】
次に、図７を参照して、本実施例の対数変換下位ビット列生成部４の構成を説明する。
この対数変換下位ビット列生成部４は、複数のＡＮＤゲートＸ１５〜Ｘ１と、ＯＲゲ−トＸ０と、マルチプレクサ１４を備えて構成されている。
【０１３３】
ここで、マルチプレクサ１４は、図６に示したマルチプレクサ１３と同様の構成を有しており、１６個の入力端子ｄを備えるデータ入力ポートと、夫々の入力端子ｄに対応して１組ずつの対を成している１６個の制御入力端子ｅを備える切換え制御ポートが設けられ、更に、後述する４ビット（ｍ＝４）の対数変換下位ビット列ＤＬＯＷ（ｄ３，ｄ２，ｄ１，ｄ０）を出力する出力ポートが設けられている。
【０１３４】
そして、１６個の制御端子ｅのうちの１つの制御端子が論理“１”に設定されると、その制御端子と対をなしている入力端子ｄに印加されている４ビットのバイナリデータを対数変換下位ビット列ＤＬＯＷ（ｄ３，ｄ２，ｄ１，ｄ０）として出力する。
【０１３５】
ここで、図示するように、マルチプレクサ１４の最上位に位置している制御端子ｅとＡＮＤゲートＸ１５の出力とが接続され、次に位置している制御端子ｅとＡＮＤゲートＸ１４の出力とが接続され、更に次に位置している制御端子ｅとＡＮＤゲートＸ１３の出力とが接続され、以下同様に、残余の制御端子ｅとＡＮＤゲートＸ１２〜Ｘ１の夫々の出力とが一対一に対応付けて接続され、最下位に位置している制御端子ｅには、ＯＲゲートＸ０の出力とが接続されている。
【０１３６】
更に、上述した最上位から最下位に位置している１６個の各制御端子ｅに対応して設けられている各入力端子ｄには、入力データＢ（ｄ１５，ｄ１４，……ｂ１，ｂ０）のうちのビットｄ１５，ｄ１４，……ｂ１，ｂ０が、４ビットずつずらした関係で割り当てて供給されている。
【０１３７】
つまり、ＡＮＤゲートＸ１５に接続されている制御端子ｅと対を成している最上位の入力端子ｄにはビット列（ｄ１４，ｄ１３，ｄ１２，ｄ１１）が並列入力され、ＡＮＤゲートＸ１４に接続されている制御端子ｅと対を成している最上位の入力端子ｄにはビット列（ｄ１３，ｄ１２，ｄ１１，ｄ１０）が並列入力され、ＡＮＤゲートＸ１３に接続されている制御端子ｅと対を成している最上位の入力端子ｄにはビット列（ｄ１２，ｄ１１，ｄ１０，ｄ９）が並列入力され、以下同様にして、残余の入力端子ｄにも、入力データＢのうちの特定の４ビットが順次に並列入力されている。
【０１３８】
ただし、このように入力データＢを４ビットずつずらした関係で割り当てていくと、割り当てるべきビットが途中で不足することなり、それに対処すべく、不足分のビットを論理“０”のビットにして追加することで、入力端子ｄには必ず４ビットのバイナリデータが入力されるようになっている。
【０１３９】
つまり、マルチプレクサ１４の最下位に位置している入力端子（ＯＲゲートＸ０と接続している制御端子ｅと対をなしている入力端子）ｄには、バイナリーデータ（０，０，０，０）が印加され、その上に位置している入力端子ｄには、バイナリーデータ（ｂ０，０，０，０）が印加され、更にその上に位置している２つの入力端子ｄ，ｄには、夫々バイナリーデータ（ｂ１，ｂ０，０，０）と（ｂ２，ｂ１，ｂ０，０）が印加されている。
【０１４０】
また、追加した論理“０”のビットは、いわゆるグランド端子にプルダウン抵抗を介して接続するという簡単な回路構成によって設定されている。
【０１４１】
次に、ＡＮＤゲートＸ１５〜Ｘ１は、４入力型のＡＮＤゲートで形成され、対数変換上位ビット列ＤＵＰ（ｄ７，ｄ６，ｄ５，ｄ４）を入力すべく配線がなされている。
【０１４２】
また、図示のように、ＡＮＤゲートＸ１５〜Ｘ１の４つの入力端子のうち、所定の入力端子が論理反転入力端子となっている。
【０１４３】
したがって、ＡＮＤゲートＸ１５〜Ｘ１は、対数変換上位ビット列ＤＵＰ（ｄ７，ｄ６，ｄ５，ｄ４）のバイナリの値を検出し、その結果、上述したアクティブビットのビット番号Ｓを検出する。
【０１４４】
具体的な場合を例示すれば、前述した入力データＢ（０，０，０，１，０，１，１，０，１，０，０，０，０，０，０，１）が入力され、対数変換上位ビット列ＤＵＰ（ｄ７，ｄ６，ｄ５，ｄ４）として、ＤＵＰ（１，１，０，０）が入力されると、ＡＮＤゲートＸ１２の出力のみが論理“１”となり、残余のＡＮＤゲートＸ１５〜Ｘ１３とＸ１１〜Ｘ１の出力は全て論理“０”になる。
【０１４５】
したがって、ＡＮＤゲートＸ１５〜Ｘ１によって、対数変換上位ビット列ＤＵＰ（１，１，０，０）に相当する第１２ビットｂ１２をアクティブビットとして検出し、ＡＮＤゲートＸ１２の論理“１”の出力をマルチプレクサ１４の所定の制御端子ｅに供給する。
【０１４６】
なお、ＡＮＤゲートＸ１２に接続されている当該制御端子ｅに対応している入力端子ｅには、入力データＢの第１１ビットから第８ビットのビット列（ｂ１１〜ｂ８）がバイナリデータとして印加されているため、上述の入力データＢ（０，０，０，１，０，１，１，０，１，０，０，０，０，０，０，１）のうちのビット列（０，１，１，０）が、対数変換下位ビット列ＤＬＯＷ（ｄ３，ｄ２，ｄ１，ｄ０）としてマルチプレクサ１４より出力される。
【０１４７】
このように、ＡＮＤゲートＸ１５〜Ｘ１は、対数変換上位ビット列ＤＵＰ（ｄ７，ｄ６，ｄ５，ｄ４）で示されるアクティブビットのビット番号Ｓを検出し、更に、入力データＢのビット列のうち、ビット番号Ｓよりも下位４ビット分のビット列のデータをマルチプレクサ１４より出力させるようになっている。
【０１４８】
次に、図１０及び図１１を参照して対数変換下位ビット列生成部４の動作を説明する。なお、図１０及び図１１は、動作を真理値表として示した図であり、入力データＢは１０進数と２進数で示し、最終的生成される対数変換データＤの値を１０進数で示している。
【０１４９】
まず図９において、入力データＢの各ビットのうち、同図中の□で囲まれているアクテティブビットに基づいて、対数変換上位ビット列生成部３が対数変換上位ビット列ＤＵＰを生成する。
【０１５０】
これに対して、対数変換下位ビット列生成部４は、図９中の符号「＊」で示されているアクテティブビットよりも下位の４ビット分を、少数点以下の値を表す対数変換下位ビット列ＤＬＯＷとする。
【０１５１】
したがって、図１０に示すように、図９中の符号「＊」で示されているビット列を全体的に１ビット分下位側にシフトさせて、符号「・」で示す位置を小数点とすると、符号「・」を境にして、整数の対数変換値を表す対数変換上位ビット列ＤＵＰと、小数点以下の対数変換値を表す対数変換下位ビット列ＤＬＯＷとから成る対数変換データＤが生成される。
【０１５２】
対数変換下位ビット列生成部４は、図７に示した回路によって、この小数点以下の対数変換値を表す対数変換下位ビット列ＤＬＯＷを入力データＢから選択して抽出する処理を行い、その対数変換下位ビット列ＤＬＯＷを対数変換上位ビット列ＤＵＰに続く下位のビット列として出力する。
【０１５３】
つまり、図１１に示すように、□で囲まれているアクテティブビットに基づいて生成された対数変換上位ビット列ＤＵＰに続けて、そのアクテティブビットよりも下位４ビット分のビット列をそのまま対数変換下位ビット列ＤＬＯＷとして出力する。
【０１５４】
そして、本対数変換器が、対数変換上位ビット列ＤＵＰと対数変換下位ビット列ＤＬＯＷとを合わせたｍビットのバイナリデータを対数変換データＤとして出力する。
【０１５５】
この結果、対数変換データＤは、図１１中に１０進数の値として示されているように、整数値と小数点以下の値との和として、対数変換の結果を表すこととなり、十分な精度が得られない整数値に対して小数点以下の値が加わることで、より精度の高い対数変換データＤを生成することを可能にしている。
【０１５６】
図１２は、本実施例の対数変換器の変換精度を示す図であり、１６ビットの入力データＢを８ビットの対数変換データＤに対数変換した場合の評価結果を示している。
【０１５７】
同図から解る通り、入力データＢを１０進数の「０」から「６５５３５」まで変化させ、夫々の値に対応する対数出力の理論値と、本対数変換器により求めた対数変換データＤの実際の結果を比較すると、ほぼ理論値に極めて近い結果が得られた。これにより、極めて高い対数変換精度が得られることを実証することができた。
【０１５８】
以上説明したように、本実施形態と実施例及びそれらの変形例によれば、少ない論理演算素子で対数変換を行うことができるため、回路規模の大幅な低減等を実現することができる。また、対数変換に要する処理時間を大幅に短縮することも可能である。また、図１２に示したように、高い対数変換精度を得ることができる。
【０１５９】
このように、対数変換器に要求される要件を満足した新規な構成の対数変換器を提供することができ、デジタル信号処理を行う各分野、例えばマルチメディア化に伴って研究開発が進められているデジタル通信機器やデジタルテレビジョンセット等を含めた広い分野に、有効な効果を提供することができる。
【０１６０】
なお、図２、図４、図７、図９、図１０、図１１を参照して説明したように、本実施形態と実施例及びそれらの変形例では、小数点以下の対数変換値を表す２進数のバイナリデータ列（対数変換下位ビット列）ＤＬＯＷを、入力データＢのアクティブビットより下位に位置するビット列から抽出して、対数変換上位ビット列ＤＵＰと合わせることで、最終的に対数変換データＤを生成することとしている。
【０１６１】
そして、入力データＢのアクティブビットより下位に位置するビット列から抽出する処理を１回だけ行って、対数変換上位ビット列ＤＵＰと合わせるだけで、対数変換データＤを生成することとしているので、対数変換の処理に要する時間を大幅に短縮するのとが可能となっている。
【０１６２】
ただし、更に対数変換精度を向上させるべく次の処理を行うようにしてもよい。
【０１６３】
つまり、入力データＢのアクティブビットより下位に位置するビット列、つまり、予め決められたｑ個（ｑ＝４）のビット列ではなく、アクティブビットより下位に位置する残余の全てのビット列の中で、上述したの同様の論理“１”となる最も上位に位置するビットを検出する。すなわち、図９、図１０中の符号「＊」で示されている小数点以下の対数値を表すビット列の中から、アクティブビット（以下「小数点以下アクティブビット」という）を検出する。
【０１６４】
そして、小数点以下アクティブビットの位置に相当する２進数のバイナリーデータ（小数点以下の値を表すバイナリーデータ）と、その小数点以下アクティブビットより下位の残りのビット列によって、小数点以下の対数値を表す対数変換下位ビット列ＤＬＯＷを生成する。
【０１６５】
このようにすると、限られたビット数ｍの対数変換データＤを生成する一般的要請に応じるべく、小数点以下の対数値を表すバイナリーデータのビット数を低減することとなっても、精密に小数点以下の対数値を表す対数変換データＤを生成することができる。別言すれば、少ないビット数で、小数点以下の対数値の分解能を向上させることができ、それによって、入力データＢに対応する高精度の対数変換データＤを生成することができる。
【０１６６】
更に、こうした小数点以下アクティブビットを検出する処理を複数回（２回以上）繰り返してもよい。２回以上繰り返すと、小数点以下の対数値の分解能を更に向上させことができ、高精度の対数変換データＤｍを求めることが可能となる。
【０１６７】
また、実施形態及び実施例の説明では、主にハードウェアで形成される対数変換器ついて説明したが、デジタル演算処理が可能なコンピュータ（ＣＰＵ）等を備えた電子機器で実行される対数変換用のコンピュータプログラムとすることも可能である。
【０１６８】
つまり、実施形態及び実施例で説明した対数変換器と同等の機能を有するコンピュータプログラムを作成し、パーソナルコンピュータ（ＰＣ）等の電子機器で実行させることにより、対数変換に要する処理時間を大幅に短縮化し、また高い対数変換精度等を得ることができる。
【図面の簡単な説明】
【図１】従来の対数変換器の構成を示す図である。
【図２】本発明の実施の形態に係る対数変換器の構成及び作用を説明するための図である。
【図３】本発明の実施の形態に係る対数変換器の構成及び作用を更に説明するための図である。
【図４】本発明の実施の形態に係る対数変換器の構成及び作用を更に説明するための図である。
【図５】本実施例の対数変換器を適用した電子機器の構成を示す図である。
【図６】本実施例の対数変換器に備えられた回路の構成を示す図である。
【図７】本実施例の対数変換器に備えられた回路の構成を更に示した図である。
【図８】本実施例の対数変換器の動作を説明するための図である。
【図９】本実施例の対数変換器の動作を更に説明するための図である。
【図１０】本実施例の対数変換器の動作を更に説明するための図である。
【図１１】本実施例の対数変換器の動作を更に説明するための図である。
【図１２】本実施例の対数変換器における変換精度の評価結果を示す図である。
【符号の説明】
３…対数変換上位ビット列生成部
３ａ…アクティブビット検出部
３ｂ…上位ビット列生成部
４…対数変換下位ビット列生成部
４ａ…下位ビット選択部
４ｂ…上位ビット列抽出部
１２…ＡＭ検波部
１３，１４…マルチプレクサ
Ｕ０〜Ｕ１４…ＯＲゲート
Ｇ０〜Ｇ１４…ＡＮＤゲート
Ｘ０…ＯＲゲート
Ｘ１〜Ｘ１５…ＡＮＤゲート
ｅ…制御端子
ｄ…入力端子
【図１】
2004056642.tif 000003
【図２】
2004056642.tif 000004
【図３】
2004056642.tif 000005
【図４】
2004056642.tif 000006
【図５】
2004056642.tif 000007
【図６】
2004056642.tif 000008
【図７】
2004056642.tif 000009
【図８】
2004056642.tif 000010
【図９】
2004056642.tif 000011
【図１０】
2004056642.tif 000012
【図１１】
2004056642.tif 000013
【図１２】
2004056642.tif 000014