図面 (/)

技術 演算装置およびその演算方法、信号処理装置、演算装置制御プログラム、並びに該プログラムを記録した記録媒体

出願人 シャープ株式会社
発明者 齊藤晶浜元誠司夏見昌之酒井敦司岡崎守
出願日 2008年5月14日 (12年6ヶ月経過) 出願番号 2008-127304
公開日 2009年11月26日 (10年11ヶ月経過) 公開番号 2009-276990
状態 未査定
技術分野 特定演算一般(初等関数/乱数発生/非基数)
主要キーワード 初等関数 直列演算 演算用パラメータ 繰返し演算 波動信号 演算結果値 加法定理 対数計算
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2009年11月26日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (12)

課題

演算装置演算精度を改善する。

解決手段

入力値Xに対し対数演算を行って出力値logXを出力する対数演算装置演算方法では、入力値Xに基づいて演算用パラメータαの値が設定される(S12)。設定された演算用パラメータαの値を含む演算用変換関数Z=αXで、入力値Xが演算対象値Zに変換される(S13)。変換された演算対象値Zに対し対数演算が施され、演算結果値logZが取得される(S14)。演算用パラメータαの値に基づいて設定された出力用パラメータlogαの値を含む出力用変換関数logX=logZ−logαを用いて、演算結果値logZが出力値logXに変換される(S15)。演算用パラメータαの値の設定は、演算結果値logZの誤差許容範囲内となるような演算対象値Zの範囲の一部または全部が演算用変換関数Z=αXの値域となるように行われる。

概要

背景

デシベルは、波動振幅の2乗に比例する量の比、或る面を通って単位時間に伝えられるエネルギーの大きさの比、その他の比を対数目盛で表す指標一種である。デシベルの値は、上記比の常用対数の10倍を取ったものであり、デシベルの単位はdBである。なお、波動の振幅の2乗に比例する量の例としては、音波の圧力の振幅の2乗に比例する音の強さが挙げられる。また、或る面を通って単位時間に伝えられるエネルギーの大きさの例としては、導体を伝わる交流電力が挙げられる。

デシベルは、音波、電磁波などの波動の強度の指標として頻繁に用いられている。これは以下の理由による。すなわち、非特許文献1によると、刺激の強さをRとし、該刺激による感覚の大きさをEとすると、EはRの対数に比例する。これは、ウェーバー‐フェヒナー(Weber-Fechner)の法則として知られている。この法則に基づき、或る基準値に対する波動の信号強度の比を対数目盛で表現するデシベルが広く採用されている。このことから、音波信号電磁波信号などの波動信号を扱う回路またはソフトウェアにおいて、デシベルの算出のために対数が精度良く計算できることは重要である。

特許文献1と非特許文献2によると、対数を計算する方法としては、テーブルを逐次参照しながら関数の計算を行うSTL(Sequential Table Look-up)法が挙げられる。図9は、上記STL法を用いて、1≦X<2を満たす実数Xの対数logXを求めるアルゴリズム(ステップS100(以下「S100」と略称することがある。他のステップについても同様である。))を示している。なお、本願では、対数logは10を底とする常用対数とする。

図9に示すように、まず、変数j・Sj・Pjの初期化を次式のように行う(ステップS111)。
j=0,P0=0,S0=X−1 (1)。

次に、変数Sjから判定条件Cj+1を次式に基づいて求める(S112)。
Cj+1=2Sj−(1+2−jSj) (2)。

次に、判定条件Cj+1が0以上であるか否かに応じて、変数aj+1・Aj+1を次式に基づいて求める(S113〜S115)。
Cj+1≧0の場合,aj+1=1,Aj+1=1−2−j−1、
Cj+1<0の場合,aj+1=0,Aj+1=1 (3)。

次に、変数aj+1・Aj+1から変数Sj+1・Pj+1を次式に基づいて求めると共に、変数jをj+1に変更する(S116)。
Pj+1=Pj−logAj+1,Sj+1=2SjAj+1−aj+1 (4)。

次に、上記ステップS112〜S116をj=Nとなるまで繰り返す(S117)。そして、変数PNからlogXが次式により求まる(S118)。
logX=PN (5)。

図10は、図9に示すアルゴリズム(S100)を実装した従来の対数演算装置の一例を示している。対数演算装置110は、入力された1以上の実数Yに対し対数計算logYを行い、その結果を出力するものであり、図示のように、STL演算回路120、演算レンジ用変換部130、および出力レンジ用変換部131を備えている。

STL演算回路120は、図9に示すように、1≦X<2を満たす実数Xから対数logXを、STL法を用いて演算するものである。すなわち、実数Xは、STL演算回路120における演算の対象となる演算対象値であり、対数logXは、STL演算回路120が演算した結果である演算結果値である。なお、STL演算回路120の詳細は後述する。

なお、以下では、STL演算回路120に入力可能な演算対象値の範囲を「演算レンジ」と称し、該演算レンジ内の演算対象値に対しSTL演算回路120が演算した演算結果値の範囲を「演算結果レンジ」と称する。例えば、図9の場合では、演算レンジは1以上2未満の実数となり、演算結果レンジは0以上log2未満の実数となる。

演算レンジ用変換部130は、対数演算装置110に入力された入力値Yを、STL演算回路120における演算レンジに適した数値に変換して、演算対象値XとしてSTL演算回路120に送出するものである。

具体的には、演算レンジ用変換部130には、入力値Yの範囲(正の実数)を定義域とし、演算対象値Xの範囲(1以上2未満の実数)を値域として、入力値Yを演算対象値Xに変換するための演算レンジ用変換関数が予め設定されている。次に、演算レンジ用変換部130は、上記演算レンジ用変換関数に含まれる演算レンジ用パラメータの値を、入力値Yに基づいて設定する。そして、演算レンジ用変換部130は、設定した演算レンジ用パラメータの値を含む上記演算レンジ用変換関数を利用して、入力値Yから演算対象値Xを計算し、計算した演算対象値XをSTL演算回路120に送出する。

出力レンジ用変換部131は、STL演算回路120が演算した演算結果値logXを、対数演算装置110から出力される出力レンジに適した数値に変換して、出力値logYとして出力するものである。

具体的には、出力レンジ用変換部131には、演算結果値logXの範囲(0以上log2未満の実数)を定義域とし、出力値logYの範囲(実数)を値域として、演算結果値logXを出力値logY変換するための出力レンジ用変換関数が予め設定されている。次に、出力レンジ用変換部131は、上記出力レンジ用変換関数に含まれる出力レンジ用パラメータの値を、演算レンジ用変換部130が設定した演算レンジ用パラメータの値に基づいて設定する。そして、出力レンジ用変換部131は、設定した出力レンジ用パラメータの値を含む上記出力レンジ用変換関数を利用して、演算結果値logXから出力値logYを計算し、計算した出力値logYを出力する。

次に、STL演算回路120について説明する。図10に示すように、STL演算回路120は、処理を繰り返し行う繰返し処理部121と、繰返し処理部121における現在の繰返し数jを計数するカウンタ129とを備える構成である。また、繰返し処理部121は、2つの変数Sj・Pjの値をそれぞれ記憶する2つのレジスタ122・123と、上記式(2)により判定条件Cj+1を計算して条件判定を行う条件判定部128と、log(1−2−j−1)の値を予め記憶するLUT(Look Up Table)124と、レジスタ122の変数Sjの値をシフトさせるバレルシフタ125と、上記式(4)を演算する演算部126・127とを備える構成である。
米国特許第3631230号明細書(1971年12月28日発行
大賀寿郎著 、「マルチメディアシステム工学」、株式会社コロナ社、2004年
高木直史著、「算術演算VLSIアルゴリズム」、株式会社コロナ社、2005年

概要

演算装置演算精度を改善する。入力値Xに対し対数演算を行って出力値logXを出力する対数演算装置の演算方法では、入力値Xに基づいて演算用パラメータαの値が設定される(S12)。設定された演算用パラメータαの値を含む演算用変換関数Z=αXで、入力値Xが演算対象値Zに変換される(S13)。変換された演算対象値Zに対し対数演算が施され、演算結果値logZが取得される(S14)。演算用パラメータαの値に基づいて設定された出力用パラメータlogαの値を含む出力用変換関数logX=logZ−logαを用いて、演算結果値logZが出力値logXに変換される(S15)。演算用パラメータαの値の設定は、演算結果値logZの誤差許容範囲内となるような演算対象値Zの範囲の一部または全部が演算用変換関数Z=αXの値域となるように行われる。

目的

本発明は、上記の問題点に鑑みてなされたものであり、その目的は、演算精度の改善された演算装置などを提供することにある。

効果

実績

技術文献被引用数
0件
牽制数
0件

この技術が所属する分野

(分野番号表示ON)※整理標準化データをもとに当社作成

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

入力された入力値に対し演算を行って出力値を出力する演算装置であって、前記入力値に基づいて演算用パラメータの値を設定する演算用設定手段と、該演算用設定手段が設定した演算用パラメータの値を含む演算用変換関数で、前記演算の対象となる値である演算対象値に前記入力値を変換する演算用変換手段と、該演算用変換手段が変換した演算対象値に対し前記演算を行って、該演算の結果である演算結果値を取得する演算手段と、前記演算用パラメータの値に基づいて設定された出力用パラメータの値を含む出力用変換関数で、前記演算手段が取得した演算結果値を前記出力値に変換する出力用変換手段とを備えており、前記演算手段は、前記演算結果値の誤差が、前記演算対象値に依存しており、前記演算用設定手段は、前記演算結果値の誤差が許容範囲内となるような前記演算対象値の範囲の一部または全部が前記演算用変換関数の値域となるように、前記演算用パラメータの値を設定することを特徴とする演算装置。

請求項2

前記入力値の範囲と前記演算用パラメータの値とを対応付け対応情報を記憶する記憶部をさらに備えており、前記演算用設定手段は、前記入力値が含まれる前記範囲に対応する前記演算用パラメータの値を、前記記憶部の前記対応情報から検索して設定することを特徴とする請求項1に記載の演算装置。

請求項3

前記演算手段は、STL法に基づく演算を行うものであることを特徴とする請求項1または2に記載の演算装置。

請求項4

前記演算手段は、複数の演算ユニット直列接続した構成であり、前記演算ユニットのそれぞれは、第1変数および第2変数の値をそれぞれ記憶する第1レジスタおよび第2レジスタと、計算条件を判定する条件判定部と、該条件判定部が判定した計算条件に基づいて、第1レジスタにおける第1変数の値を桁送りするシフタと、第1レジスタにおける第1変数の値と、前記シフタによって桁送りされた第1変数の値と、前記条件判定部が判定した計算条件とに基づいて、第1演算を行う第1演算部と、第2レジスタにおける第2変数の値と、前記条件判定部が判定した計算条件とに基づいて、第2演算を行う第2演算部とを備え、第1演算部および第2演算部は、それぞれ、第1演算および第2演算の結果の値を、次段の演算ユニットにおける第1レジスタおよび第2レジスタに送出しており、初段の演算ユニットに関して、第1変数の値は、前記演算対象値に基づく値であり、第2変数の値は、前記演算対象値に基づく値または初期値であり、終段の演算ユニットに関して、第2演算部が行う第2演算の結果が、前記演算結果値となることを特徴とする請求項3に記載の演算装置。

請求項5

音波および電磁波の少なくとも一方の信号を処理する信号処理装置であって、前記信号の強度を算出するために、請求項1から4までの何れか1項に記載の演算装置を利用することを特徴とする信号処理装置。

請求項6

請求項1から4までの何れか1項に記載の演算装置を動作させるための演算プログラムであって、コンピュータを上記の各手段として機能させるための演算プログラム。

請求項7

請求項6に記載の演算プログラムが記録されたコンピュータ読取り可能な記録媒体

請求項8

入力された入力値に対し演算を行って出力値を出力する演算装置の演算方法であって、前記入力値に基づいて演算用パラメータの値を前記演算装置が設定する演算用設定ステップと、該演算用設定ステップにて設定された演算用パラメータの値を含む演算用変換関数で、前記演算の対象となる値である演算対象値に前記入力値を前記演算装置が変換する演算用変換ステップと、該演算用変換ステップにて変換された演算対象値に対し、前記演算装置が前記演算を行って、該演算の結果である演算結果値を取得する演算ステップと、前記演算用パラメータの値に基づいて設定された出力用パラメータの値を含む出力用変換関数で、前記演算ステップにて取得された演算結果値を前記出力値に前記演算装置が変換する出力用変換ステップとを含んでおり、前記演算ステップでは、前記演算結果値の誤差が、前記演算対象値に依存しており、前記演算用設定ステップでは、前記演算結果値の誤差が許容範囲内となるような前記演算対象値の範囲の一部または全部が前記演算用変換関数の値域となるように、前記演算用パラメータの値が設定されることを特徴とする演算装置の演算方法。

技術分野

0001

本発明は、入力された入力値に対し演算を行って出力値を出力する演算装置およびその制御方法信号処理装置、演算装置制御プログラム、並びに該プログラムを記録した記録媒体に関するものである。具体的には、本発明は、例えばデシベルの算出に利用されるような、対数計算を行う演算装置などに関するものである。

背景技術

0002

デシベルは、波動振幅の2乗に比例する量の比、或る面を通って単位時間に伝えられるエネルギーの大きさの比、その他の比を対数目盛で表す指標一種である。デシベルの値は、上記比の常用対数の10倍を取ったものであり、デシベルの単位はdBである。なお、波動の振幅の2乗に比例する量の例としては、音波の圧力の振幅の2乗に比例する音の強さが挙げられる。また、或る面を通って単位時間に伝えられるエネルギーの大きさの例としては、導体を伝わる交流電力が挙げられる。

0003

デシベルは、音波、電磁波などの波動の強度の指標として頻繁に用いられている。これは以下の理由による。すなわち、非特許文献1によると、刺激の強さをRとし、該刺激による感覚の大きさをEとすると、EはRの対数に比例する。これは、ウェーバー‐フェヒナー(Weber-Fechner)の法則として知られている。この法則に基づき、或る基準値に対する波動の信号強度の比を対数目盛で表現するデシベルが広く採用されている。このことから、音波信号電磁波信号などの波動信号を扱う回路またはソフトウェアにおいて、デシベルの算出のために対数が精度良く計算できることは重要である。

0004

特許文献1と非特許文献2によると、対数を計算する方法としては、テーブルを逐次参照しながら関数の計算を行うSTL(Sequential Table Look-up)法が挙げられる。図9は、上記STL法を用いて、1≦X<2を満たす実数Xの対数logXを求めるアルゴリズム(ステップS100(以下「S100」と略称することがある。他のステップについても同様である。))を示している。なお、本願では、対数logは10を底とする常用対数とする。

0005

図9に示すように、まず、変数j・Sj・Pjの初期化を次式のように行う(ステップS111)。
j=0,P0=0,S0=X−1 (1)。

0006

次に、変数Sjから判定条件Cj+1を次式に基づいて求める(S112)。
Cj+1=2Sj−(1+2−jSj) (2)。

0007

次に、判定条件Cj+1が0以上であるか否かに応じて、変数aj+1・Aj+1を次式に基づいて求める(S113〜S115)。
Cj+1≧0の場合,aj+1=1,Aj+1=1−2−j−1、
Cj+1<0の場合,aj+1=0,Aj+1=1 (3)。

0008

次に、変数aj+1・Aj+1から変数Sj+1・Pj+1を次式に基づいて求めると共に、変数jをj+1に変更する(S116)。
Pj+1=Pj−logAj+1,Sj+1=2SjAj+1−aj+1 (4)。

0009

次に、上記ステップS112〜S116をj=Nとなるまで繰り返す(S117)。そして、変数PNからlogXが次式により求まる(S118)。
logX=PN (5)。

0010

図10は、図9に示すアルゴリズム(S100)を実装した従来の対数演算装置の一例を示している。対数演算装置110は、入力された1以上の実数Yに対し対数計算logYを行い、その結果を出力するものであり、図示のように、STL演算回路120、演算レンジ用変換部130、および出力レンジ用変換部131を備えている。

0011

STL演算回路120は、図9に示すように、1≦X<2を満たす実数Xから対数logXを、STL法を用いて演算するものである。すなわち、実数Xは、STL演算回路120における演算の対象となる演算対象値であり、対数logXは、STL演算回路120が演算した結果である演算結果値である。なお、STL演算回路120の詳細は後述する。

0012

なお、以下では、STL演算回路120に入力可能な演算対象値の範囲を「演算レンジ」と称し、該演算レンジ内の演算対象値に対しSTL演算回路120が演算した演算結果値の範囲を「演算結果レンジ」と称する。例えば、図9の場合では、演算レンジは1以上2未満の実数となり、演算結果レンジは0以上log2未満の実数となる。

0013

演算レンジ用変換部130は、対数演算装置110に入力された入力値Yを、STL演算回路120における演算レンジに適した数値に変換して、演算対象値XとしてSTL演算回路120に送出するものである。

0014

具体的には、演算レンジ用変換部130には、入力値Yの範囲(正の実数)を定義域とし、演算対象値Xの範囲(1以上2未満の実数)を値域として、入力値Yを演算対象値Xに変換するための演算レンジ用変換関数が予め設定されている。次に、演算レンジ用変換部130は、上記演算レンジ用変換関数に含まれる演算レンジ用パラメータの値を、入力値Yに基づいて設定する。そして、演算レンジ用変換部130は、設定した演算レンジ用パラメータの値を含む上記演算レンジ用変換関数を利用して、入力値Yから演算対象値Xを計算し、計算した演算対象値XをSTL演算回路120に送出する。

0015

出力レンジ用変換部131は、STL演算回路120が演算した演算結果値logXを、対数演算装置110から出力される出力レンジに適した数値に変換して、出力値logYとして出力するものである。

0016

具体的には、出力レンジ用変換部131には、演算結果値logXの範囲(0以上log2未満の実数)を定義域とし、出力値logYの範囲(実数)を値域として、演算結果値logXを出力値logY変換するための出力レンジ用変換関数が予め設定されている。次に、出力レンジ用変換部131は、上記出力レンジ用変換関数に含まれる出力レンジ用パラメータの値を、演算レンジ用変換部130が設定した演算レンジ用パラメータの値に基づいて設定する。そして、出力レンジ用変換部131は、設定した出力レンジ用パラメータの値を含む上記出力レンジ用変換関数を利用して、演算結果値logXから出力値logYを計算し、計算した出力値logYを出力する。

0017

次に、STL演算回路120について説明する。図10に示すように、STL演算回路120は、処理を繰り返し行う繰返し処理部121と、繰返し処理部121における現在の繰返し数jを計数するカウンタ129とを備える構成である。また、繰返し処理部121は、2つの変数Sj・Pjの値をそれぞれ記憶する2つのレジスタ122・123と、上記式(2)により判定条件Cj+1を計算して条件判定を行う条件判定部128と、log(1−2−j−1)の値を予め記憶するLUT(Look Up Table)124と、レジスタ122の変数Sjの値をシフトさせるバレルシフタ125と、上記式(4)を演算する演算部126・127とを備える構成である。
米国特許第3631230号明細書(1971年12月28日発行
大賀寿郎著 、「マルチメディアシステム工学」、株式会社コロナ社、2004年
高木直史著、「算術演算VLSIアルゴリズム」、株式会社コロナ社、2005年

発明が解決しようとする課題

0018

図11は、1≦X<2を満たす実数Xと、図9に示すSTL法を利用して数値計算されたlog10Xとの関係を示すグラフである。図11の(a)〜(f)は、それぞれ、繰返し数Nを5〜10としてlog10Xを算出した場合のグラフである。同図のグラフにおいて、横軸が実数Xであり、縦軸がlog10Xである。また、太線が上記数値計算されたものである。そして、比較のために、浮動小数点処理で算出したlog10Xが期待値として細線で示されている。

0019

図11を参照すると、繰返し数Nを増加することにより、誤差(細線に対する太線のずれ)が低減して、精度が向上することが理解できる。しかしながら、X=1.3付近の領域と、1.7≦X<2の領域とにおいては、誤差が大きく、かつ、繰返し数Nを増加しても上記誤差がさほど改善されないことが理解できる。

0020

図11の場合、上記誤差の最大値は0.1前後である。一般に、電力のデシベルは、対数値に10を乗算したものとなる一方、電圧のデシベルは、電力が電圧の2乗に比例するので、対数値に20を乗算したものとなる。従って、STL法で求めた対数値の誤差が0.1である場合、デシベルでは1〜2dBの誤差が生じることになる。

0021

本発明は、上記の問題点に鑑みてなされたものであり、その目的は、演算精度の改善された演算装置などを提供することにある。

課題を解決するための手段

0022

本発明に係る演算装置は、入力された入力値に対し演算を行って出力値を出力する演算装置であって、上記課題を解決するために、前記入力値に基づいて演算用パラメータの値を設定する演算用設定手段と、該演算用設定手段が設定した演算用パラメータの値を含む演算用変換関数で、前記演算の対象となる値である演算対象値に前記入力値を変換する演算用変換手段と、該演算用変換手段が変換した演算対象値に対し前記演算を行って、該演算の結果である演算結果値を取得する演算手段と、前記演算用パラメータの値に基づいて設定された出力用パラメータの値を含む出力用変換関数で、前記演算手段が取得した演算結果値を前記出力値に変換する出力用変換手段とを備えており、前記演算手段は、前記演算結果値の誤差が、前記演算対象値に依存しており、前記演算用設定手段は、前記演算結果値の誤差が許容範囲内となるような前記演算対象値の範囲の一部または全部が前記演算用変換関数の値域となるように、前記演算用パラメータの値を設定することを特徴としている。

0023

また、本発明に係る演算装置の演算方法は、入力された入力値に対し演算を行って出力値を出力する演算装置の演算方法であって、上記課題を解決するために、前記入力値に基づいて演算用パラメータの値を前記演算装置が設定する演算用設定ステップと、該演算用設定ステップにて設定された演算用パラメータの値を含む演算用変換関数で、前記演算の対象となる値である演算対象値に前記入力値を前記演算装置が変換する演算用変換ステップと、該演算用変換ステップにて変換された演算対象値に対し、前記演算装置が前記演算を行って、該演算の結果である演算結果値を取得する演算ステップと、前記演算用パラメータの値に基づいて設定された出力用パラメータの値を含む出力用変換関数で、前記演算ステップにて取得された演算結果値を前記出力値に前記演算装置が変換する出力用変換ステップとを含んでおり、前記演算ステップでは、前記演算結果値の誤差が、前記演算対象値に依存しており、前記演算用設定ステップでは、前記演算結果値の誤差が許容範囲内となるような前記演算対象値の範囲の一部または全部が前記演算用変換関数の値域となるように、前記演算用パラメータの値が設定されることを特徴としている。

0024

上記の構成および方法によると、まず、演算装置に入力された入力値に基づいて、演算用変換関数の演算用パラメータの値が設定される。このとき、上記演算用パラメータの値は、演算結果値の誤差が許容範囲内となるような演算対象値の範囲の一部または全部が上記演算用変換関数の値域となるように設定される。

0025

次に、上記演算用パラメータの値を含む演算用変換関数で、上記入力値が演算対象値に変換される。このとき、変換された演算対象値は、演算結果値の誤差が許容範囲内となるような演算対象値の範囲に含まれることになる。

0026

次に、変換された演算対象値に対し演算が行われ、演算結果値が取得される。このとき、取得される演算結果値は、誤差が許容範囲内になるので、演算精度を改善することができる。そして、上記演算用パラメータに基づいて設定された出力用パラメータの値を含む出力用変換関数で、上記演算結果値が出力値に変換されて、演算装置から出力される。

0027

従って、本発明に係る演算装置およびその演算方法により、演算精度の改善された出力値を出力することができる。なお、演算結果値の誤差の許容範囲は、例えば期待値の約5%が挙げられるが、演算装置に要求される演算精度に依存する。

0028

本発明に係る演算装置では、前記入力値の範囲と前記演算用パラメータの値とを対応付け対応情報を記憶する記憶部をさらに備えており、前記演算用設定手段は、前記入力値が含まれる前記範囲に対応する前記演算用パラメータの値を、前記記憶部の前記対応情報から検索して設定することが好ましい。この場合、上記演算結果値の誤差が許容範囲内となるような上記演算対象値の範囲の一部または全部が上記演算用変換関数の値域となるような上記演算用パラメータの値を、上記入力値から容易に取得することができる。

0029

なお、上記演算手段が行う演算の例としては、STL法に基づく演算が挙げられる。このSTL法に基づく演算は、指数関数対数関数三角関数、商、平方根などの関数の計算に適用可能である。

0030

ところで、STL法に基づく演算は、例えば図9および図10に示すように、テーブル参照と、桁送りの計算と、計算条件の判定と、判定された計算条件に基づく演算とが繰り返し行われる。このため、繰返し回数が多くなればなるほど、演算時間が長くなることになる。

0031

そこで、本発明に係る演算装置では、前記演算手段は、複数の演算ユニット直列接続した構成であり、前記演算ユニットのそれぞれは、第1変数および第2変数の値をそれぞれ記憶する第1レジスタおよび第2レジスタと、計算条件を判定する条件判定部と、該条件判定部が判定した計算条件に基づいて、第1レジスタにおける第1変数の値を桁送りするシフタと、第1レジスタにおける第1変数の値と、前記シフタによって桁送りされた第1変数の値と、前記条件判定部が判定した計算条件とに基づいて、第1演算を行う第1演算部と、第2レジスタにおける第2変数の値と、前記条件判定部が判定した計算条件とに基づいて、第2演算を行う第2演算部とを備え、第1演算部および第2演算部は、それぞれ、第1演算および第2演算の結果の値を、次段の演算ユニットにおける第1レジスタおよび第2レジスタに送出しており、初段の演算ユニットに関して、第1変数の値は、前記演算対象値に基づく値であり、第2変数の値は、前記演算対象値に基づく値または初期値であり、終段の演算ユニットに関して、第2演算部が行う第2演算の結果が、前記演算結果値となってもよい。

0032

この場合、桁送りを行うシフタと、計算条件を判定する条件判定部と、判定された計算条件に基づいて演算を行う第1および第2演算部を備える複数の演算ユニットが直列接続されるので、上記繰返し回数を減らすことができ、演算時間の増加を抑制することができる。

0033

なお、音波および電磁波の少なくとも一方の信号を処理する信号処理装置であって、前記信号の強度を算出するために、上記構成の演算装置を利用する信号処理装置であれば、上述の効果と同様の効果を奏することができる。

0034

また、上記演算装置の各手段を、演算プログラムによりコンピュータ上で実行させることができる。さらに、上記演算プログラムを、コンピュータ読取り可能な記録媒体に記憶させることにより、任意のコンピュータ上で当該演算プログラムを実行させることができる。

発明の効果

0035

以上のように、本発明に係る演算装置は、演算装置に入力された入力値に基づいて、演算用変換関数の演算用パラメータの値が、演算結果値の誤差が許容範囲内となるような演算対象値の範囲の一部または全部が上記演算用変換関数の値域となるように設定されるので、上記演算用パラメータの値を含む演算用変換関数で、上記入力値が演算対象値に変換され、変換された演算対象値に対し演算が行われて、取得された演算結果値は、誤差が許容範囲内になるので、演算精度を改善できるという効果を奏する。

発明を実施するための最良の形態

0036

本発明の一実施形態について、図1図7を参照して説明する。図2は、本実施形態の対数演算装置の概要を示している。本実施形態の対数演算装置(演算装置)1は、音波および/または電磁波の信号を処理する信号処理装置において、上記信号の強度を算出する演算装置に好適である。

0037

図2に示す対数演算装置1は、図10に示す従来の対数演算装置110に比べて、演算レンジ用変換部130およびSTL演算回路(演算手段)120の間に高精度演算レンジ用変換部10が設けられる点と、出力レンジ用変換部131およびSTL演算回路120の間に演算結果レンジ用変換部11が設けられる点とが異なり、その他の構成は同様である。なお、上記背景技術で説明した構成と同様の機能を有する構成には同一の符号を付して、その説明を省略する。

0038

高精度演算レンジ用変換部10は、演算レンジ用変換部130からの演算レンジ用数値Xを、高精度演算レンジに適した数値に変換するものである。ここで、高精度演算レンジとは、STL演算回路120における演算結果値の誤差が許容範囲内となるような演算対象値の範囲の一部または全部をいう。

0039

例えば、STL演算回路120の演算が、図11の(f)に示すグラフのようになる場合、高精度演算レンジは、1.71以上を除外した1≦Z<1.71となり、或いは、さらに1.3付近を除外した1≦Z<1.25、および1.35≦Z<1.71となる。演算対象値Z=1.3付近を除外すべきか否かは、演算結果値の誤差が許容範囲内か否かに依存する。なお、上記誤差の許容範囲は、対数演算装置1に要求される演算精度に依存する。

0040

高精度演算レンジ用変換部10は、変換した高精度演算レンジ内の数値Zを演算対象値としてSTL演算回路120に送出する。これにより、STL演算回路120が演算した演算結果値logZは、誤差が許容範囲内となる。すなわち、STL演算回路120における演算は、高精度な演算となる。

0041

演算結果レンジ用変換部11は、STL演算回路120が演算した演算結果値logZを、上述の演算結果レンジに適した数値logXに変換するものである。演算結果レンジ用変換部11は、変換した数値logXを出力レンジ用変換部131に送出する。

0042

次に、高精度演算レンジ用変換部10、演算結果レンジ用変換部11、演算レンジ用変換部130、および出力レンジ用変換部131の詳細について、図3図5を参照して説明する。まず、演算レンジ用変換部130および出力レンジ用変換部131の詳細について説明する。

0043

上述のように、演算レンジ用変換部130は、任意の正の実数である入力値Yを、1≦X<2を満たす実数である数値Xに変換するものである。また、出力レンジ用変換部131は、数値Xの対数である数値logXを、上記入力値Yの対数である出力値logYに変換するものである。

0044

ところで、任意の正の実数Yは、次式を満たす実数X(但し1≦X<2)、整数k(但し0≦k≦3)、および整数lによって表現可能である。
Y=X×2k×10l (6)。

0045

これは下記の理由による。すなわち、実数Xは1≦X<2を満たすので、X×2kは、k=0の場合、1≦X×2k<2となり、k=1の場合、2≦X×2k<4となり、k=2の場合、4≦X×2k<8となり、k=3の場合、8≦X×2k<16となる。従って、0≦k≦3(kは整数)、1≦X<2(Xは実数)の場合、X×2kは、1≦X×2k<16となり、1以上10未満の任意の実数を表現可能である。更に、10l(lは整数)で桁を変えることにより、X×2k×10lは任意の正の実数Yを表現可能である。

0046

また、上記式(6)の対数をとると、次式のようになる。
logY=logX+k×log2+l×log10≒logX+0.301k+l (7)。
従って、1≦X<2を満たす任意の実数Xの対数logXが計算可能であれば、計算された対数logXと、整数kおよび整数lとを用いて、任意の正の実数Yの対数logYも計算可能となる。

0047

上より、本実施形態では、演算レンジ用変換部130は、まず、上記式(6)を上述の演算レンジ用変換関数とし、上記式(6)に含まれるパラメータk,lを演算レンジ用パラメータ(演算用パラメータ)として予め設定される。次に、演算レンジ用変換部130は、入力値Yと上記式(6)とに基づいて、演算レンジ用パラメータk,lの値を設定する。そして、演算レンジ用変換部130は、設定した演算レンジ用パラメータk,lの値と上記式(6)とに基づいて、入力値Yから演算レンジ用数値Xを計算し、計算した演算レンジ用数値Xを高精度演算レンジ用変換部10に送出する。

0048

一方、出力レンジ用変換部131は、まず、上記式(7)が出力レンジ用変換関数として予め設定される。そして、出力レンジ用変換部131は、演算レンジ用変換部130が設定した演算レンジ用パラメータk,lの値と上記式(7)とに基づいて、演算結果レンジ用数値logXから出力値logYを計算し、計算した出力値logYを出力する。

0049

図3は、演算レンジ用変換部130、出力レンジ用変換部131、高精度演算レンジ用変換部10、および演算結果レンジ用変換部11の概略構成を示している。図示のように、演算レンジ用変換部130は、入力値取得部132、演算レンジ用設定部(演算用設定手段)133、演算レンジ用対応テーブル(対応情報)134、および演算レンジ用算出部(演算用変換手段)135を備える構成である。

0050

入力値取得部132は、対数演算装置1に入力された入力値Yを取得するものである。入力値取得部132は、取得した入力値Yを演算レンジ用設定部133および演算レンジ用算出部135に送出する。

0051

演算レンジ用対応テーブル134は、入力値Y、および演算レンジ用パラメータk,lの対応関係テーブル形式で含むものである。演算レンジ用対応テーブル134は、上記式(6)に基づいて予め設定される。図4は、演算レンジ用対応テーブル134の一例を示している。同図の(a)には、入力値Yの範囲と演算レンジ用パラメータlとが対応付けられ、同図の(b)には、計算値Y/10lの範囲と演算レンジ用パラメータkとが対応付けられている。

0052

演算レンジ用設定部133は、演算レンジ用対応テーブル134を参照して、入力値取得部132からの入力値Yに対応する演算レンジ用パラメータk,lの値を設定するものである。演算レンジ用設定部133は、設定した演算レンジ用パラメータk,lの値を演算レンジ用算出部135および出力レンジ用変換部131に送出する。

0053

具体的には、演算レンジ用設定部133は、例えば図4の(a)に示すようなテーブルを参照して、入力値Yに対応する演算レンジ用パラメータlの値を取得する。次に、演算レンジ用設定部133は、Y/10lを計算し、計算結果である計算値Y/10lに対応する演算レンジ用パラメータkの値を、例えば図4の(b)に示すようなテーブルを参照して取得する。

0054

演算レンジ用算出部135は、入力値取得部132からの入力値Yと、演算レンジ用設定部133からの演算レンジ用パラメータk,lの値とを、上記式(6)に代入して計算することにより、演算レンジ用数値Xを算出するものである。演算レンジ用算出部135は、算出した演算レンジ用数値Xを高精度演算レンジ用変換部10に送出する。

0055

一方、出力レンジ用変換部131は、図3に示すように、演算結果レンジ用取得部136および出力値算出部(出力用変換手段)137を備える構成である。

0056

演算結果レンジ用取得部136は、演算結果レンジ用変換部11から演算結果レンジ用数値logXを取得するものである。演算結果レンジ用取得部136は、取得した演算結果レンジ用数値logXを出力値算出部137に送出する。

0057

出力値算出部137は、演算結果レンジ用取得部136からの演算結果レンジ用数値logXと、演算レンジ用変換部130からの演算レンジ用パラメータk,lの値とを、上記式(7)に代入して計算することにより、出力値logYを算出するものである。出力値算出部137は、算出した出力値logYを対数演算装置1から出力する。

0058

次に、本実施形態において追加された高精度演算レンジ用変換部10および演算結果レンジ用変換部11の詳細について説明する。上述のように、高精度演算レンジ用変換部10は、演算レンジ用変換部130からの演算レンジ用数値Xを、上記高精度演算レンジに適した数値に変換するものである。また、演算結果レンジ用変換部11は、STL演算回路120が演算した演算結果値logZを、上記演算結果レンジに適した数値logXに変換するものである。

0059

高精度演算レンジ用変換部10が演算レンジ用数値Xを高精度演算レンジ用数値Zに変換する処理内容は、以下のようにして決定される。すなわち、まず、上記演算レンジを、上記高精度演算レンジとそれ以外の低精度演算レンジとに分割する。なお、上記高精度演算レンジおよび低精度演算レンジは、それぞれ、複数の小レンジに分割してもよい。

0060

次に、上記低精度演算レンジの数値を上記高精度演算レンジの数値に変換すると共に、上記高精度演算レンジの数値を上記高精度演算レンジの数値に変換するような高精度演算レンジ用変換関数および高精度演算レンジ用パラメータを決定する。高精度演算レンジ用変換関数の例としては次式が挙げられる。
Z=αX (8)。

0061

従って、本実施形態では、高精度演算レンジ用変換部10は、まず、上記式(8)を上記高精度演算レンジ用変換関数とし、上記式(8)に含まれるパラメータαを高精度演算レンジ用パラメータ(演算用パラメータ)として予め設定される。次に、高精度演算レンジ用変換部10は、演算レンジ用数値Xと上記式(8)とに基づいて、高精度演算レンジ用パラメータαの値を設定する。そして、高精度演算レンジ用変換部10は、設定した高精度演算レンジ用パラメータαの値と上記式(8)とに基づいて、演算レンジ用数値Xから高精度演算レンジ用数値Zを計算し、計算した高精度演算レンジ用数値Zを演算対象値としてSTL演算回路120に送出する。

0062

また、上記式(8)の対数をとると、次式となる。
logZ=logα+logX (9)。
従って、演算結果レンジ用変換部11は、まず、高精度演算レンジ用パラメータαの取り得る値と、該値の対数logαの値とを対応付けたLUTを予め用意しておく。次に、演算結果レンジ用変換部11は、高精度演算レンジ用変換部10が設定した高精度演算レンジ用パラメータαの値に対応する対数logαの値を、上記LUTから読み出す。そして、演算結果レンジ用変換部11は、読み出した対数logαの値と、上記式(9)とに基づいて、STL演算回路120からの演算結果値logZから演算結果レンジ用数値logXを計算し、計算した演算結果レンジ用数値logXを出力レンジ用変換部131に送出する。

0063

次に、高精度演算レンジ用変換部10および演算結果レンジ用変換部11の構成について説明する。図3に示すように、高精度演算レンジ用変換部10は、演算レンジ用取得部12、高精度演算レンジ用設定部(演算用設定手段)13、高精度演算レンジ用対応テーブル(対応情報)14、および高精度演算レンジ用算出部(演算用変換手段)15を備える構成である。

0064

演算レンジ用取得部12は、演算レンジ用変換部130からの演算レンジ用数値Xを取得するものである。演算レンジ用取得部12は、取得した演算レンジ用数値Xを高精度演算レンジ用設定部13および高精度演算レンジ用算出部15に送出する。

0065

高精度演算レンジ用対応テーブル14は、演算レンジ用数値Xと、高精度演算レンジ用パラメータαの対応関係をテーブル形式で含むものである。高精度演算レンジ用対応テーブル14は、上記式(8)に基づいて予め設定される。

0066

図5は、高精度演算レンジ用対応テーブル14の一例を示している。同図の(a)は、1≦X<1.71を高精度演算レンジとし、1.71≦X<2を低精度演算レンジとした例を示している。図示の例では、演算レンジ用数値Xが低精度演算レンジ(1.71≦X<2)に含まれる場合、高精度演算レンジ用数値Z=αXが高精度演算レンジ(1≦X<1.71)に含まれるように、α=0.85が設定される。

0067

一方、演算レンジ用数値Xが高精度演算レンジに含まれる場合、α=1が設定される。これは、演算レンジ用数値Xを変換すること無く、そのまま高精度演算レンジ用数値Zとするとも考えられる。

0068

また、図5の(b)は、1≦X<1.1、および1.35≦X<1.71をそれぞれ第1および第2の高精度演算レンジとし、1.1≦X<1.35、および1.71≦X<2をそれぞれ第1および第2の低精度演算レンジとした例を示している。図示の例では、演算レンジ用数値Xが第1の低精度演算レンジ(1.1≦X<1.35)に含まれる場合、高精度演算レンジ用数値Z=αXが第2の高精度演算レンジ(1.35≦X<1.71)に含まれるように、α=1.25が設定される。また、演算レンジ用数値Xが第2の低精度演算レンジ(1.71≦X<2)に含まれる場合、高精度演算レンジ用数値Z=αXが第2の高精度演算レンジ(1.35≦X<1.71)に含まれるように、α=0.85が設定される。

0069

一方、演算レンジ用数値Xが第1および第2の高精度演算レンジ(1.1≦X<1.35、および1.71≦X<2)に含まれる場合、α=1が設定される。これは、演算レンジ用数値Xを変換すること無く、そのまま高精度演算レンジ用数値Zとするとも考えられる。

0070

高精度演算レンジ用設定部13は、高精度演算レンジ用対応テーブル14を参照して、演算レンジ用取得部12からの演算レンジ用数値Xに対応する高精度演算レンジ用パラメータαの値を設定するものである。高精度演算レンジ用設定部13は、設定した高精度演算レンジ用パラメータαの値を高精度演算レンジ用算出部15および演算結果レンジ用変換部11に送出する。

0071

高精度演算レンジ用算出部15は、演算レンジ用取得部12からの演算レンジ用数値Xと、高精度演算レンジ用設定部13からの高精度演算レンジ用パラメータαの値とを、上記式(8)に代入して計算することにより、高精度演算レンジ用数値Zを算出するものである。高精度演算レンジ用算出部15は、算出した高精度演算レンジ用数値ZをSTL演算回路120に送出する。

0072

一方、演算結果レンジ用変換部11は、図3に示すように、高精度演算結果レンジ用取得部16、演算結果レンジ用LUT17、および演算結果レンジ用算出部(出力用変換手段)18を備える構成である。

0073

高精度演算結果レンジ用取得部16は、STL演算回路120が演算した演算結果値として高精度演算結果レンジ用数値logZを取得するものである。高精度演算結果レンジ用取得部16は、取得した高精度演算結果レンジ用数値logZを演算結果レンジ用算出部18に送出する。

0074

演算結果レンジ用LUT17は、高精度演算レンジ用変換部10が設定する高精度演算レンジ用パラメータαの取り得る値と、該値の対数logαの値とを対応付けて格納している。演算結果レンジ用LUT17は、高精度演算レンジ用変換部10から高精度演算レンジ用パラメータαの値を取得すると、対応する対数logαの値を演算結果レンジ用算出部18に送出する。

0075

なお、高精度演算レンジ用パラメータαの値は、図5の(a)の例では2つであり、同図の(b)の例では3つである。従って、演算結果レンジ用LUT17は、対応付けられた数組の値を格納すれば済むので、処理の増大や回路規模の増大にさほど影響を与えない。また、高精度演算レンジ用パラメータαの値が1である場合、対数logαは0となる。従って、演算結果レンジ用LUT17は、α=1の場合を格納しないようにし、高精度演算レンジ用変換部10から受け取った高精度演算レンジ用パラメータαの値が格納されていない場合に、演算結果レンジ用算出部18に0を送出するようにしてもよい。この場合、演算結果レンジ用LUT17が格納する値の数をさらに減らすことができる。

0076

演算結果レンジ用算出部18は、高精度演算結果レンジ用取得部16からの高精度演算結果レンジ用数値logZと、演算結果レンジ用LUT17からの数値logαとを、上記式(9)に代入して計算することにより、演算結果レンジ用数値logXを算出するものである。演算結果レンジ用算出部18は、算出した演算結果レンジ用数値logXを出力レンジ用変換部131に送出する。

0077

次に、上記構成の対数演算装置1における処理動作について、図1を参照して説明する。図1は、対数演算装置1における高精度演算レンジ用変換部10、STL演算回路120、および演算結果レンジ用変換部11の処理の流れを示している。

0078

図1に示すように、高精度演算レンジ用変換部10は、まず、演算レンジ用変換部130が正の実数である入力値Yを変換した演算レンジ用数値X(1≦X<2)を演算レンジ用取得部12が取得する(S11)。次に、演算レンジ用取得部12が取得した演算レンジ用数値Xが含まれる範囲に対応する高精度演算レンジ用パラメータαの値を、高精度演算レンジ用設定部13が高精度演算レンジ用対応テーブル14から読み出して設定する(S12)。次に、高精度演算レンジ用設定部13が設定した高精度演算レンジ用パラメータαの値を利用して高精度演算レンジ用算出部15がZ=αXの計算を行うことにより、演算レンジ用取得部12が取得した演算レンジ用数値Xから高精度演算レンジ用数値Zを算出する(S13)。

0079

次に、STL演算回路120は、高精度演算レンジ用変換部10が算出した高精度演算レンジ用数値Zに対し、STL法に基づく対数計算を行って、演算結果値である高精度演算結果レンジ用数値logZを求める(S14)。次に、演算結果レンジ用変換部11は、高精度演算レンジ用変換部10が設定した高精度演算レンジ用パラメータαの対数logαを利用して、logX=logZ−logαを計算することにより、STL演算回路120の演算による高精度演算結果レンジ用数値logZから演算結果レンジ用数値logXを算出する(S15)。そして、算出された演算結果レンジ用数値logXを出力レンジ用変換部131が出力レンジ用数値logYに変換し、出力値として出力する。その後、処理動作を終了する。

0080

図6および図7は、1≦X<2を満たす実数Xと、該実数Xを演算レンジ用数値として本実施形態の対数演算装置1が算出した演算結果レンジ用数値logXとの関係を示すグラフである。図6および図7の両方の(a)〜(f)は、それぞれ、繰返し数Nを5〜10としてlog10Xを算出した場合のグラフである。同図のグラフにおいて、横軸が実数Xであり、縦軸がlog10Xである。また、太線が上記数値計算されたものである。そして、比較のために、期待値が細線で示されている。

0081

さらに、図6は、高精度演算レンジ用変換部10における高精度演算レンジ用対応テーブル14が、図5の(a)に示すテーブルである場合のグラフである。一方、図7は、上記高精度演算レンジ用対応テーブル14が、図5の(b)に示すテーブルである場合のグラフである。

0082

図6のグラフを図11のグラフと比較すると、本実施形態の対数演算装置1は、従来の対数演算装置110に比べて、1.7≦X<2におけるlogXの誤差が著しく改善されることが理解できる。具体的には、図11のグラフにおいて、Xが2近傍である場合の誤差が約0.06と最大となる。これに対し、図6のグラフでは、Xが2近傍である場合の誤差が約0となる。Xが2近傍である場合の期待値が約0.3であることから、logXの誤差が最大で約20%(=(0.06−0)÷0.3)改善されたことになる。

0083

さらに、図7のグラフを図6のグラフと比較すると、高精度演算レンジ用対応テーブル14として図5の(b)に示すテーブルを利用する方が、図5の(a)に示すテーブルを利用するよりも、X=1.3付近におけるlogXの誤差が改善されることが理解できる。

0084

なお、本実施形態では、演算レンジ用変換部130および高精度演算レンジ用変換部10は、別々の構成としているが、1つの構成に統合することもできる。この場合、高精度演算レンジ用変換部10の演算レンジ用取得部12を省略することができる。また、本実施形態では、出力レンジ用変換部131および演算結果レンジ用変換部11は、別々の構成としているが、1つの構成に統合することもできる。この場合、出力レンジ用変換部131の演算結果レンジ用取得部136を省略することができる。

0085

また、本実施形態では、STL演算回路120は、従来と同様に、1つの演算ユニット(繰返し処理部121)にて繰返し演算を行う構成となっているが、複数の演算ユニットを直列接続して、直列演算を行う構成とすることもできる。

0086

図8は、N個の演算ユニット21を直列接続したSTL演算回路(演算手段)20の概略構成を示している。図示のように、STL演算回路20は、直列接続されたN個の演算ユニット21と、log(1−2−j−1)の値を予め記憶する1個のLUT124と、変数PNの値を記憶する1個のレジスタ123dとを備える構成である。

0087

各演算ユニット21は、図2などに示す繰返し処理部121に比べて、log(1−2−j−1)の値を予め記憶するLUT124が省略されている点が異なり、その他の構成は同様である。STL演算回路20では、各演算ユニット21にLUT124を設ける代わりに、N個の演算ユニット21に共通する1個のLUT124を設けている。

0088

図8では、初段(j=0)の演算ユニット21aと、2段目(j=1)の演算ユニット21bと、終段(j=N−1)の演算ユニット21cとが記載されている。なお、以下では、初段の構成には部材番号にaを付し、2段目の構成には部材番号にbを付し、終段の構成には部材番号にcを付している。

0089

図8に示すように、各段の演算ユニット21では、上記式(4)に基づいてSj+1の演算を行う演算部(第1演算部)126は、演算結果の値を、次段の演算ユニット21においてSj+1の値を記憶するレジスタ(第1レジスタ)122に送出する。同様に、上記式(4)に基づいてPj+1の演算を行う演算部(第2演算部)127は、演算結果の値を、次段の演算ユニット21においてPj+1の値を記憶するレジスタ(第2レジスタ)123に送出する。

0090

初段の演算ユニット21aでは、S0の値を記憶するレジスタ122aに演算対象値Zに基づく値が記憶される。また、P0の値を記憶するレジスタ123aには初期値(0)が記憶される。なお、初段の条件判定部128aは、判定条件C1=−1となり、レジスタ122aの値に依存しない。

0091

終段の演算ユニット21cでは、上記式(4)に基づいてPNの演算を行う演算部127cは、演算結果の値を、PNの値を記憶する新たなレジスタ123dに送出する。このレジスタ123dに記憶されるPNの値が演算対象値Zに対数計算を施した演算結果値logZとなる。なお、SNの演算を行う終段の演算部126cは、演算結果の値の送出が省略される。このため、終段の演算部126cと終段のバレルシフタ(シフタ)125cとを省略してもよい。

0092

図8に示すSTL演算回路20は、図2などに示すSTL演算回路120に比べて、カウンタ129は省略されるが、(N−1)個の演算ユニット21と1個のレジスタ123dとが追加されるので、回路規模が増大する。一方、複数の演算対象値を順次演算する場合、各演算ユニット21は、或る演算対象値に対する演算が終了すると、次の演算対象値に対する演算を直ちに行うことができるので、STL演算回路20は、STL演算回路120に比べて迅速に演算を行うことができる。

0093

例えば、入力信号Yの変化が周波数f[Hz]であるとすると、繰返しがN回のSTL演算回路120の動作クロックはN×f[Hz]以上が必要であるが、STL演算回路20の動作クロックはf[Hz]のままでよい。なお、STL演算回路20・120の何れを採用するかは、対数演算装置1のLSIに実装する場合のテクノロジライブラリの中で、処理速度と消費電力との観点から決定される。

0094

なお、本実施形態の対数演算装置1をLSIに実装する場合、特に音声を扱うLSIや、電磁波を扱う携帯電話用ベースバンド処理LSI、放送受信用ベースバンドLSI等、通信用ベースバンドLSIで有効である。これらのLSIでは、音声や電磁波の強度のデシベルを計算し、更に計算結果に基づいて制御を行っているので、本発明を適用することにより、正確なデシベルが計算可能となり、更に上記デシベル量に基づく制御を正確に行うことが可能となる。

0095

本発明は上述した実施形態に限定されるものではなく、請求項に示した範囲で種々の変更が可能である。すなわち、請求項に示した範囲で適宜変更した技術的手段を組み合わせて得られる実施形態についても本発明の技術的範囲に含まれる。

0096

例えば、高精度演算レンジ用対応テーブル14において、演算レンジを、図5の(a)では2つに、同図の(b)では4つに分割して、それぞれにαの値を設定しているが、低精度演算レンジにおける任意の値がZ=αXにより高精度演算レンジの値に変換可能であれば、任意の分割数で演算レンジを分割することができる。

0097

また、本願では、対数logを、10を底とする常用対数として説明しているが、自然対数など、任意の数を底とする対数の演算にも本発明を適用可能である。この場合、所望の底uによる対数logu(1−2−j−1)の値をLUT124に記憶すればよい。

0098

また、本願では、変数Aj+1は、上記式(3)に示すように、Aj+1=1−2−j−1またはAj+1=1としているが、1と2のべき乗の加減算で構成される任意の式に変更可能である。変数Aj+1の他の例としては、Aj+1=1+2−j−1またはAj+1=1、Aj+1=1−2−jまたはAj+1=1、Aj+1=1+2−jまたはAj+1=1などが挙げられる。

0099

また、本願では、対数関数のSTL法に基づく演算に適用しているが、STL法に基づく演算が可能な任意の関数を本発明の演算対象とすることができる。例えば、特許文献1によると、STL法は指数関数、商、および平方根の演算にも適用可能である。また、三角関数は、CORDIC(Coordinate Rotation Digital Computer)法に基づく演算が一般に利用されているが(非特許文献2参照)、複素領域で考えると指数関数となるのでSTL法に基づく演算も可能である。

0100

従って、本発明は、指数関数、三角関数、商、平方根などのような、加法定理成立する初等関数のSTL法に基づく演算にも適用可能である。なお、適用する関数に応じて、高精度演算レンジ用変換関数を変更してもよい。例えば、指数関数の演算に適用する場合には、Z=X+αを高精度演算レンジ用変換関数とすることが好ましい。

0101

最後に、対数演算装置1の各ブロックは、ハードウェアロジックによって構成してもよいし、次のようにCPUを用いてソフトウェアによって実現してもよい。

0102

すなわち、対数演算装置1は、各機能を実現する制御プログラムの命令を実行するCPU(central processing unit)、上記プログラムを格納したROM(read only memory)、上記プログラムを展開するRAM(random access memory)、上記プログラムおよび各種データを格納するメモリ等の記憶装置(記録媒体)などを備えている。そして、本発明の目的は、上述した機能を実現するソフトウェアである対数演算装置1の制御プログラムのプログラムコード実行形式プログラム中間コードプログラムソースプログラム)をコンピュータで読み取り可能に記録した記録媒体を、上記対数演算装置1に供給し、そのコンピュータ(またはCPUやMPU)が記録媒体に記録されているプログラムコードを読み出し実行することによっても、達成可能である。

0103

上記記録媒体としては、例えば、磁気テープカセットテープ等のテープ系、フロッピー登録商標ディスクハードディスク等の磁気ディスクCD−ROM/MO/MD/DVD/CD−R等の光ディスクを含むディスク系、ICカードメモリカードを含む)/光カード等のカード系、あるいはマスクROMEPROM/EEPROM/フラッシュROM等の半導体メモリ系などを用いることができる。

0104

また、対数演算装置1を通信ネットワーク接続可能に構成し、上記プログラムコードを通信ネットワークを介して供給してもよい。この通信ネットワークとしては、特に限定されず、例えば、インターネットイントラネットエキストラネット、LAN、ISDN、VAN、CATV通信網仮想専用網(virtual private network)、電話回線網移動体通信網衛星通信網等が利用可能である。また、通信ネットワークを構成する伝送媒体としては、特に限定されず、例えば、IEEE1394、USB、電力線搬送ケーブルTV回線電話線ADSL回線等の有線でも、IrDAやリモコンのような赤外線、Bluetooth(登録商標)、802.11無線HDR携帯電話網衛星回線地上波デジタル網等の無線でも利用可能である。なお、本発明は、上記プログラムコードが電子的な伝送具現化された、搬送波に埋め込まれたコンピュータデータ信号の形態でも実現され得る。

0105

以上のように、本発明は、演算結果値の精度が低くなるような演算対象値の範囲内の値を、演算結果値の精度が高くなるような演算対象値の範囲内の値に変換することにより、演算精度を改善するので、演算結果値の特定部分の誤差が大きい任意の演算装置に適用することができる。

図面の簡単な説明

0106

本発明の一実施形態である対数演算装置における処理の流れを示すフローチャートである。
上記対数演算装置の概略構成を示すブロック図である。
上記対数演算装置における演算レンジ用変換部、出力レンジ用変換部、高精度演算レンジ用変換部、および演算結果レンジ用変換部の概略構成を示すブロック図である。
上記演算レンジ用変換部における演算レンジ用対応テーブルの一例を表形式で示す図である。
上記高精度演算レンジ用変換部における高精度演算レンジ用対応テーブルの一例および他の例を表形式で示す図である。
上記対数演算装置の演算による演算対象値と演算結果値との関係の一例を示すグラフである。
上記対数演算装置の演算による演算対象値と演算結果値との関係の他の例を示すグラフである。
上記対数演算装置におけるSTL演算回路の変形例を示すブロック図である。
STL法に基づく対数計算の処理の流れを示すフローチャートである。
従来の対数演算装置の概略構成を示すブロック図である。
上記従来の対数演算装置の演算による演算対象値と演算結果値との関係の一例を示すグラフである。

符号の説明

0107

1対数演算装置(演算装置)
10 高精度演算レンジ用変換部
11 演算結果レンジ用変換部
12 演算レンジ用取得部
13 高精度演算レンジ用設定部(演算用設定手段)
14 高精度演算レンジ用対応テーブル(対応情報)
15 高精度演算レンジ用算出部(演算用変換手段)
16 高精度演算結果レンジ用取得部
18 演算結果レンジ用算出部(出力用変換手段)
20STL演算回路(演算手段)
21演算ユニット
21a 初段の演算ユニット
21c終段の演算ユニット
120 STL演算回路(演算手段)
121繰返し処理部
122・123レジスタ(第1・第2レジスタ)
124 LUT
125バレルシフタ(シフタ)
126・127 演算部(第1・第2演算部)
128条件判定部
129カウンタ
130 演算レンジ用変換部
131出力レンジ用変換部
132入力値取得部
133 演算レンジ用設定部(演算用設定手段)
134 演算レンジ用対応テーブル(対応情報)
135 演算レンジ用算出部(演算用変換手段)
136 演算結果レンジ用取得部
137出力値算出部(出力用変換手段)
α:高精度演算レンジ用パラメータ(演算用パラメータ)
k・l:演算レンジ用パラメータ(演算用パラメータ)

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

該当するデータがありません

関連する公募課題

該当するデータがありません

ページトップへ

技術視点だけで見ていませんか?

この技術の活用可能性がある分野

分野別動向を把握したい方- 事業化視点で見る -

(分野番号表示ON)※整理標準化データをもとに当社作成

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

該当するデータがありません

この 技術と関連する公募課題

該当するデータがありません

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ