(57)【要約】【課題】  比較回路を備えずに絶対値の比較が可能な絶対値比較回路を提供する。【解決手段】  本発明の絶対値比較回路は、半波整流回路１ａ〜１ｅおよび加算器３ａ〜３ｄで構成される。入力データＸは２つに分岐され、一方は半波整流回路１ａを介して加算器３ａに入力され、もう一方は符号を反転させた後に半波整流回路１ｂを介して加算器３ａに入力される。同様に、入力データＹも２つに分岐され、一方は半波整流回路１ｃを介して加算器３ｂに入力され、もう一方は符号を反転させた後に半波整流回路１ｄを介して加算器３ｂに入力される。加算器３ａの出力と加算器３ｂの出力とが加算器３ｃで加算され、半波整流回路１ｅに入力される。一方、加算器３ａの出力と半波整流回路１ｅの出力とは加算器３ｄで加算され、結果が絶対値比較回路の出力となる。【選択図】図１
2007058486.tif 000002
【特許請求の範囲】
【請求項１】
２つのデータを入力とし当該入力データの絶対値のうち大きい値を出力とする絶対値比較回路において、
前記２つのデータの入力の一方を２つに分岐し、その一方のデータを入力とする第１の半波整流回路と、
前記分岐した他方のデータに対して符号を反転させたものを入力とする第２の半波整流回路と、
前記第１の半波整流回路の出力に対して符号を反転したものと、前記第２の半波整流回路の出力に対して符号を反転したものとを加算する第1の加算回路と、
前記2つのデータの入力の他方を2つに分岐し、その一方のデータを入力とする第3の半波整流回路と、
前記分岐した他方のデータに対して符号を反転させたものを入力とする第4の半波整流回路と、
前記第3の半波整流回路の出力と、前記第4の半波整流回路の出力とを加算する第2の加算回路と、
前記第1の加算回路の出力と、前記第2の加算回路の出力とを加算する第3の加算回路と、
前記第3の加算回路の出力を入力とする第5の半波整流回路と、
前記第1の加算回路の出力に対して符号を反転させたものと、前記第5の半波整流回路の出力とを加算する第4の加算回路と、
を具備し、
前記第１ないし第５の半波整流回路は、符号が正の入力データに対しては当該入力データと同じ値を出力し、符号が負の入力データに対しては０を出力する回路であることを特徴とする絶対値比較回路。
【請求項２】
２つのデータを入力とし当該入力データの絶対値のうち大きい値を出力とする絶対値比較回路において、
前記２つのデータの入力の一方を入力とする第1の全波整流回路と、
前記2つのデータの入力の他方を入力とする第2の全波整流回路と、
前記第１の全波整流回路の出力に対して符号を反転させたものと、前記第２の全波整流回路の出力とを加算する第１の加算回路と、
前記第１の加算回路の出力を入力とする半波整流回路と、
前記第１の全波整流回路の出力と、前記半波整流回路の出力とを加算する第２の加算回路と、
を具備し、
前記半波整流回路は、符号が正の入力データに対しては当該入力データと同じ値を出力し、符号が負の入力データに対しては０を出力する回路であり、
前記第１及び第２の全波整流回路は、符号が正の入力データに対しては当該入力データと同じ値を出力し、符号が負の入力データに対しては当該データの符号を反転したものを出力する回路であることを特徴とする絶対値比較回路。
【請求項３】
２つのデータを入力し当該入力データの絶対値のうち大きい値を出力する絶対値比較プログラムにおいて、
コンピュータに、
前記２つのデータの入力の一方を２つに分岐し、その一方のデータを処理する第１の半波整流手順と、
前記分岐した他方のデータに対して符号を反転させたものを処理する第２の半波整流手順と、
前記第１の半波整流手順の出力に対して符号を反転したものと、前記第２の半波整流手順の出力に対して符号を反転したものとを加算する第1の加算手順と、
前記2つのデータの入力の他方を2つに分岐し、その一方のデータを処理する第3の半波整流手順と、
前記分岐した他方のデータに対して符号を反転させたものを処理する第4の半波整流手順と、
前記第3の半波整流手順の出力と、前記第4の半波整流手順の出力とを加算する第2の加算手順と、
前記第1の加算手順の出力と、前記第2の加算手順の出力とを加算する第3の加算手順と、
前記第3の加算手順の出力を処理する第5の半波整流手順と、
前記第1の加算手順の出力に対して符号を反転させたものと、前記第5の半波整流手順の出力とを加算する第4の加算手順と、
を実行させるための絶対値比較プログラムであって、
前記第１ないし第５の半波整流手順は、符号が正の入力データに対しては当該入力データと同じ値を出力し、符号が負の入力データに対しては０を出力することを特徴とする絶対値比較プログラム。
【請求項４】
２つのデータを入力し当該入力データの絶対値のうち大きい値を出力する絶対値比較プログラムにおいて、
コンピュータに、
前記２つのデータの入力の一方を処理する第1の全波整流手順と、
前記2つのデータの入力の他方を処理する第2の全波整流手順と、
前記第１の全波整流手順の出力に対して符号を反転させたものと、前記第２の全波整流手順の出力とを加算する第１の加算手順と、
前記第１の加算手順の出力を入力とする半波整流手順と、
前記第１の全波整流手順の出力と、前記半波整流手順の出力とを加算する第２の加算手順と、
を実行させるための絶対値比較プログラムであって、
前記半波整流手順は、符号が正の入力データに対しては当該入力データと同じ値を出力し、符号が負の入力データに対しては０を出力し、
前記第１及び第２の全波整流手順は、符号が正の入力データに対しては当該入力データと同じ値を出力し、符号が負の入力データに対しては当該データの符号を反転したものを出力することを特徴とする絶対値比較プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、２つの入力値から絶対値の大きいほうを選択し出力する絶対値比較回路に関する。
【背景技術】
【０００２】
従来、ＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｉｎｇ）等のデジタル信号処理で行われる絶対値の比較は、図5の構成図で示される絶対値比較回路で実現されていた。図5において、入力となるデジタルデータＸは反転回路１１ａ、さらに１加算器１２ａを通して符号なし比較回路１０へと出力される。一方、同じく入力となるデジタルデータＹは反転回路１１ｂ、さらに１加算器１２ｂを通して符号なし比較回路１０へと出力される。
【０００３】
反転回路１１ａと１加算器１２ａ（または反転回路１１ｂと１加算器１２ｂ）は、入力データＸ（またはＹ）の絶対値を計算する回路であり、入力データＸ（またはＹ）が負の数であるときに２の補数を出力する。符号なし比較回路１０は、入力データＸおよびＹの絶対値を入力し、大小を比較して大きい値を出力する。なお、本出願に関する従来技術の参考文献として、特許文献1が知られている。
【特許文献１】特開平１０−１６１８５０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００４】
しかし、上記従来の絶対値比較方法では、図５の符号なし比較回路１０等に代表される比較回路を備えている必要があり、比較回路を備えていないＤＳＰでは、絶対値の比較を行うことができない。また、絶対値の比較を行わない前提で設計したＤＳＰにおいて、設計後に追加で絶対値の比較が必要となった場合に、ソフトウェアの変更では対応できないという課題があった。
【０００５】
本発明は上記事情を考慮してなされたもので、その目的は、比較回路を備えずに絶対値の比較が可能な絶対値比較回路を提供することにある。
【課題を解決するための手段】
【０００６】
本発明は上記の課題を解決するためになされたもので、請求項1に記載の発明は、２つのデータを入力とし当該入力データの絶対値のうち大きい値を出力とする絶対値比較回路であって、前記２つのデータの入力の一方を２つに分岐し、その一方のデータを入力とする第１の半波整流回路と、前記分岐した他方のデータに対して符号を反転させたものを入力とする第２の半波整流回路と、前記第１の半波整流回路の出力に対して符号を反転したものと、前記第２の半波整流回路の出力に対して符号を反転したものとを加算する第1の加算回路と、前記2つのデータの入力の他方を2つに分岐し、その一方のデータを入力とする第3の半波整流回路と、前記分岐した他方のデータに対して符号を反転させたものを入力とする第4の半波整流回路と、前記第3の半波整流回路の出力と、前記第4の半波整流回路の出力とを加算する第2の加算回路と、前記第1の加算回路の出力と、前記第2の加算回路の出力とを加算する第3の加算回路と、前記第3の加算回路の出力を入力とする第5の半波整流回路と、前記第1の加算回路の出力に対して符号を反転させたものと、前記第5の半波整流回路の出力とを加算する第4の加算回路とを具備し、前記第１ないし第５の半波整流回路は、符号が正の入力データに対しては当該入力データと同じ値を出力し、符号が負の入力データに対しては０を出力する回路であることを特徴としている。
【０００７】
また、請求項２に記載の発明は、２つのデータを入力とし当該入力データの絶対値のうち大きい値を出力とする絶対値比較回路であって、前記２つのデータの入力の一方を入力とする第1の全波整流回路と、前記2つのデータの入力の他方を入力とする第2の全波整流回路と、前記第１の全波整流回路の出力に対して符号を反転させたものと、前記第２の全波整流回路の出力とを加算する第１の加算回路と、前記第１の加算回路の出力を入力とする半波整流回路と、前記第１の全波整流回路の出力と、前記半波整流回路の出力とを加算する第２の加算回路とを具備し、前記半波整流回路は、符号が正の入力データに対しては当該入力データと同じ値を出力し、符号が負の入力データに対しては０を出力する回路であり、前記第１及び第２の全波整流回路は、符号が正の入力データに対しては当該入力データと同じ値を出力し、符号が負の入力データに対しては当該データの符号を反転したものを出力する回路であることを特徴としている。
【０００８】
また、請求項３に記載の発明は、２つのデータを入力し当該入力データの絶対値のうち大きい値を出力する絶対値比較プログラムにおいて、コンピュータに、前記２つのデータの入力の一方を２つに分岐し、その一方のデータを処理する第１の半波整流手順と、前記分岐した他方のデータに対して符号を反転させたものを処理する第２の半波整流手順と、前記第１の半波整流手順の出力に対して符号を反転したものと、前記第２の半波整流手順の出力に対して符号を反転したものとを加算する第1の加算手順と、前記2つのデータの入力の他方を2つに分岐し、その一方のデータを処理する第3の半波整流手順と、前記分岐した他方のデータに対して符号を反転させたものを処理する第4の半波整流手順と、前記第3の半波整流手順の出力と、前記第4の半波整流手順の出力とを加算する第2の加算手順と、前記第1の加算手順の出力と、前記第2の加算手順の出力とを加算する第3の加算手順と、前記第3の加算手順の出力を処理する第5の半波整流手順と、前記第1の加算手順の出力に対して符号を反転させたものと、前記第5の半波整流手順の出力とを加算する第4の加算手順とを実行させるための絶対値比較プログラムであって、前記第１ないし第５の半波整流手順は、符号が正の入力データに対しては当該入力データと同じ値を出力し、符号が負の入力データに対しては０を出力することを特徴としている。
【０００９】
また、請求項４に記載の発明は、２つのデータを入力し当該入力データの絶対値のうち大きい値を出力する絶対値比較プログラムにおいて、コンピュータに、前記２つのデータの入力の一方を処理する第1の全波整流手順と、前記2つのデータの入力の他方を処理する第2の全波整流手順と、前記第１の全波整流手順の出力に対して符号を反転させたものと、前記第２の全波整流手順の出力とを加算する第１の加算手順と、前記第１の加算手順の出力を入力とする半波整流手順と、前記第１の全波整流手順の出力と、前記半波整流手順の出力とを加算する第２の加算手順とを実行させるための絶対値比較プログラムであって、前記半波整流手順は、符号が正の入力データに対しては当該入力データと同じ値を出力し、符号が負の入力データに対しては０を出力し、前記第１及び第２の全波整流手順は、符号が正の入力データに対しては当該入力データと同じ値を出力し、符号が負の入力データに対しては当該データの符号を反転したものを出力することを特徴としている。
【発明の効果】
【００１０】
本発明によれば、比較器を備えていないＤＳＰにおいても、絶対値の比較を行うことができる。また、設計後に絶対値比較回路が必要になった場合には、ソフトウェアを変更するだけでよく、ハードウェアに比較回路を追加する必要はない。
【発明を実施するための最良の形態】
【００１１】
以下、図面を参照して本発明の実施形態について説明する。図１は、本発明の第１の実施形態にかかる絶対値比較回路の構成図である。図１において、乗算器４ａ〜４ｅは１倍の乗算器を表す。
【００１２】
また、乗算器５ａ〜５ｅは、−１倍の乗算器を表し、例えば図５に示した反転回路１１ａおよび１加算器１２ａの組み合わせによりハードウェア上で実現可能である。
【００１３】
半波整流回路１ａ〜１ｅは、入力データが正の場合はそのまま出力し、入力データが負の場合は０を出力する回路である。加算器（加算回路）３ａ〜３ｄは２つの入力データの和を出力する回路である。
【００１４】
入力データＸは２つに分岐され、一方が乗算器４ａに、他方は乗算器５ａに入力される。乗算器４ａの出力は半波整流回路１ａへ入力され、乗算器５ａの出力は半波整流回路１ｂへ入力される。半波整流回路１ａの出力は乗算器５ｂへ入力され、半波整流回路１ｂの出力は乗算器５ｃへ入力される。乗算器５ｂおよび乗算器５ｃの出力はともに加算器３ａに入力される。
【００１５】
一方、入力データＹも２つに分岐され、一方が乗算器４ｂに、他方は乗算器５ｄに入力される。乗算器４ｂの出力は半波整流回路１ｃへ入力され、乗算器５ｄの出力は半波整流回路１ｄへ入力される。半波整流回路１ｃの出力は乗算器４ｃへ入力され、半波整流回路１ｄの出力は乗算器４ｄへ入力される。乗算器４ｃおよび乗算器４ｄの出力はともに加算器３ｂに入力される。
【００１６】
加算器３ａの出力は２つに分岐され、一方が乗算器５ｅへ入力される。加算器３ａの出力の他方、および加算器３ｂの出力はともに加算器３ｃへ入力される。加算器３ｃの出力は半波整流回路１ｅへ入力される。
【００１７】
半波整流回路１ｅの出力は乗算器４ｅへ入力され、乗算器４ｅの出力および乗算器５ｅの出力はともに加算器３ｄへ入力される。加算器３ｄの出力は、本実施形態における絶対値比較回路の出力となる。
【００１８】
次に、上述した第１の実施形態の動作を、図３を参照して説明する。図３は、入力データＸ、Ｙの条件に対応して、図１に示したＡ点〜Ｆ点におけるデータおよび出力データＺがどのように値になるかを示した表である。図３におけるＡｂｓ（Ｘ）は、Ｘの絶対値を意味する。
【００１９】
図１の絶対値比較回路の各部の動作は、入力データＸが正および負の場合、入力データＹが正および負の場合、入力データＸの絶対値が入力データＹの絶対値より大きいか小さいかのそれぞれの条件によって異なる。以下では、全８通りの条件について図１の絶対値回路の動作を説明する。
【００２０】
図3において、まず条件（１）で入力データＸ、Ｙともに正のデータであり、絶対値は入力データＸが入力データＹより大きい場合について説明する。入力データＸが正であるため、半波整流回路１ａ（第１の半波整流回路）の出力はＸ、半波整流回路１ｂ（第２の半波整流回路）の出力は０となり、Ａ点のデータは−Ｘ、Ｂ点のデータは０となる。
【００２１】
一方、入力データＹが正であるため、半波整流回路１ｃ（第３の半波整流回路）の出力はY、半波整流回路１ｄ（第４の半波整流回路）の出力は０となり、C点のデータはY、D点のデータは０となる。E点のデータは、A点のデータ−ＸとB点のデータ０が加算器３ａ（第１の加算回路）で加算された上で−１倍され、Ｘとなる。
【００２２】
Ｃ点のデータＹとＤ点のデータ０とが加算器３ｂ（第２の加算回路）で加算され、さらに加算器３ｃ（第３の加算回路）で−Ｘが加算されて−Ｘ＋Ｙが半波整流回路１ｅ（第５の半波整流回路）へ入力される。ここで、絶対値はＸの方がＹより大きく、−Ｘ＋Ｙは負の値であり、半波整流回路１ｅの出力は０となる。Ｆ点のデータは０となり、Ｅ点のデータＸと加算器３ｄ（第４の加算回路）で加算され、出力データＺはＸ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００２３】
続いて、条件（２）で入力データＸ、Ｙともに正のデータであり、絶対値は入力データＸが入力データＹより小さい場合について説明する。入力データＸが正であるため、条件（１）と同様、Ａ点のデータは−Ｘ、Ｂ点のデータは０となる。
【００２４】
一方、入力データＹが正であるため、条件（１）と同様、Ｃ点のデータはＹ、D点のデータは０となる。E点のデータは、A点のデータ−ＸとB点のデータ０が加算器３ａで加算された上で−１倍され、Ｘとなる。
【００２５】
Ｃ点のデータＹとＤ点のデータ０とが加算器３ｂで加算され、さらに加算器３ｃで−Ｘが加算されて−Ｘ＋Ｙが半波整流回路１ｅへ入力される。ここで、絶対値はＸの方がＹより小さく、−Ｘ＋Ｙは正の値であり、半波整流回路１ｅの出力はそのまま−Ｘ＋Ｙとなる。Ｆ点のデータは−Ｘ＋Ｙとなり、Ｅ点のデータＸと加算器３ｄで加算され、出力データＺはＹ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００２６】
続いて、条件（３）で入力データＸが正のデータ、入力データＹが負のデータであり、絶対値は入力データＸが入力データＹより大きい場合について説明する。入力データＸが正であるため、条件（１）と同様、Ａ点のデータは−Ｘ、Ｂ点のデータは０となる。
【００２７】
一方、入力データＹが負であるため、半波整流回路１ｃの出力は０、半波整流回路１ｄの出力はーＹとなり、C点のデータは０、D点のデータはーＹとなる。E点のデータは、A点のデータ−ＸとB点のデータ０が加算器３ａで加算された上で−１倍され、Ｘとなる。
【００２８】
Ｃ点のデータ０とＤ点のデータ−Ｙとが加算器３ｂで加算され、さらに加算器３ｃで−Ｘが加算されて−Ｘ−Ｙが半波整流回路１ｅへ入力される。ここで、絶対値はＸの方がＹより大きく、−Ｘ−Ｙは負の値であり、半波整流回路１ｅの出力は０となる。Ｆ点のデータは０となり、Ｅ点のデータＸと加算器３ｄで加算され、出力データＺはＸ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００２９】
続いて、条件（４）で入力データＸが正のデータ、入力データＹが負のデータであり、絶対値は入力データＸが入力データＹより小さい場合について説明する。入力データＸが正であるため、条件（１）と同様、Ａ点のデータは−Ｘ、Ｂ点のデータは０となる。
【００３０】
一方、入力データＹが負であるため、条件（３）と同様、C点のデータは０、D点のデータは−Yとなる。E点のデータは、A点のデータ−ＸとB点のデータ０が加算器３ａで加算された上で−１倍され、Ｘとなる。
【００３１】
Ｃ点のデータ０とＤ点のデータ−Ｙとが加算器３ｂで加算され、さらに加算器３ｃで−Ｘが加算されて−Ｘ−Ｙが半波整流回路１ｅへ入力される。ここで、絶対値はＸの方がＹより小さく、−Ｘ−Ｙは正の値であり、半波整流回路１ｅの出力はそのまま−Ｘ−Ｙとなる。Ｆ点のデータは−Ｘ−Ｙとなり、Ｅ点のデータＸと加算器３ｄで加算され、出力データＺは−Ｙ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００３２】
続いて、条件（５）で入力データＸが負のデータ、入力データＹが正のデータであり、絶対値は入力データＸが入力データＹより大きい場合について説明する。入力データＸが負であるため、半波整流回路１ａの出力は０、半波整流回路１ｂの出力は−Ｘとなり、Ａ点のデータは０、Ｂ点のデータはＸとなる。
【００３３】
一方、入力データＹが正であるため、条件（１）と同様、C点のデータはY、D点のデータは０となる。E点のデータは、A点のデータ０とB点のデータＸが加算器３ａで加算された上で−１倍され、−Ｘとなる。
【００３４】
Ｃ点のデータＹとＤ点のデータ０とが加算器３ｂで加算され、さらに加算器３ｃでＸが加算されてＸ＋Ｙが半波整流回路１ｅへ入力される。ここで、絶対値はＸの方がＹより大きく、Ｘ＋Ｙは負の値であり、半波整流回路１ｅの出力は０となる。Ｆ点のデータは０となり、Ｅ点のデータ−Ｘと加算器３ｄで加算され、出力データＺは−Ｘ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００３５】
続いて、条件（６）で入力データＸが負のデータ、入力データＹが正のデータであり、絶対値は入力データＸが入力データＹより小さい場合について説明する。入力データＸが負であるため、条件（５）と同様、Ａ点のデータは０、Ｂ点のデータはＸとなる。
【００３６】
一方、入力データＹが正であるため、条件（１）と同様、C点のデータはY、D点のデータは０となる。E点のデータは、A点のデータ０とB点のデータＸが加算器３ａで加算された上で−１倍され、−Ｘとなる。
【００３７】
Ｃ点のデータＹとＤ点のデータ０とが加算器３ｂで加算され、さらに加算器３ｃでＸが加算されてＸ＋Ｙが半波整流回路１ｅへ入力される。ここで、絶対値はＸの方がＹより小さく、Ｘ＋Ｙは正の値であり、半波整流回路１ｅの出力はそのままＸ＋Ｙとなる。Ｆ点のデータはＸ＋Ｙとなり、Ｅ点のデータ−Ｘと加算器３ｄで加算され、出力データＺはＹ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００３８】
続いて、条件（７）で入力データＸ、入力データＹともに負のデータであり、絶対値は入力データＸが入力データＹより大きい場合について説明する。入力データＸが負であるため、条件（５）と同様、Ａ点のデータは０、Ｂ点のデータはＸとなる。
【００３９】
一方、入力データＹが負であるため、条件（３）と同様、C点のデータは０、D点のデータはーＹとなる。E点のデータは、A点のデータ０とB点のデータＸが加算器３ａで加算された上で−１倍され、−Ｘとなる。
【００４０】
Ｃ点のデータ０とＤ点のデータ−Ｙとが加算器３ｂで加算され、さらに加算器３ｃでＸが加算されてＸ−Ｙが半波整流回路１ｅへ入力される。ここで、絶対値はＸの方がＹより大きく、Ｘ−Ｙは負の値であり、半波整流回路１ｅの出力は０となる。Ｆ点のデータは０となり、Ｅ点のデータ−Ｘと加算器３ｄで加算され、出力データＺは−Ｘ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００４１】
続いて、条件（８）で入力データＸ、入力データＹともに負のデータであり、絶対値は入力データＸが入力データＹより小さい場合について説明する。入力データＸが負であるため、条件（５）と同様、Ａ点のデータは０、Ｂ点のデータはＸとなる。
【００４２】
一方、入力データＹが負であるため、条件（３）と同様、C点のデータは０、D点のデータはーＹとなる。E点のデータは、A点のデータ０とB点のデータＸが加算器３ａで加算された上で−１倍され、−Ｘとなる。
【００４３】
Ｃ点のデータ０とＤ点のデータ−Ｙとが加算器３ｂで加算され、さらに加算器３ｃでＸが加算されてＸ−Ｙが半波整流回路１ｅへ入力される。ここで、絶対値はＸの方がＹより大きく、Ｘ−Ｙは正の値であり、半波整流回路１ｅの出力はそのままＸ−Ｙとなる。Ｆ点のデータはＸ−Ｙとなり、Ｅ点のデータ−Ｘと加算器３ｄで加算され、出力データＺは−Ｙ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００４４】
以上、全８通りの条件において説明したとおり、図１の絶対値比較回路は入力データＸの絶対値と入力データＹの絶対値の大きい方の値を出力する回路である。図１において比較器は使用されていないため、比較器を備えていないＤＳＰを用いる場合でも、半波整流回路を利用することにより図１の絶対値比較回路を実現することが可能である。
【００４５】
次に、本発明の第２の実施形態にかかる絶対値比較回路について、図２を参照して説明する。図２において、半波整流回路１ｆ、加算器３ｅ、３ｆ、乗算器４ｆ、４ｇ、５ｆ、５ｇは第１の実施形態と同じ動作をする回路であり、説明を省略する。全波整流回路２ａ、２ｂは、入力データが正の場合はそのまま出力し、入力データが負の場合は符号を反転させて正の値を出力する回路である。
【００４６】
入力データＸは全波整流回路２ａに入力され、入力データＹは全波整流回路２ｂに入力される。全波整流回路２ａの出力は乗算器５ｆに入力され、全波整流器２ｂの出力は乗算器４ｆに入力される。
【００４７】
乗算器５ｆの出力は２つに分岐され、一方は乗算器５ｇへ入力される。乗算器５ｆの出力の他方は、乗算器４ｆの出力とともに加算器３ｅへ入力される。加算器３ｅの出力は半波整流回路１ｆへ入力され、半波整流回路１ｆの出力は乗算器４ｇへ入力される。乗算器５ｇの出力および乗算器４ｇの出力はともに加算器３ｆへ入力される。加算器３ｆの出力は、本実施形態における絶対値比較回路の出力となる。
【００４８】
次に、上述した第２の実施形態の動作を、図４を参照して説明する。図４は、入力データＸ、Ｙの条件に対応して、図２に示したＡ点〜Ｄ点におけるデータおよび出力データＺがどのように値になるかを示した表である。図４におけるＡｂｓ（Ｘ）は、Ｘの絶対値を意味する。
【００４９】
図２の絶対値比較回路の各部の動作は、入力データＸが正および負の場合、入力データＹが正および負の場合、入力データＸの絶対値が入力データＹの絶対値より大きいか小さいかのそれぞれの条件によって異なる。以下では、全８通りの条件について、図２の絶対値回路の動作を説明する。
【００５０】
図４において、まず条件（１）で入力データＸ、Ｙともに正のデータであり、絶対値は入力データＸが入力データＹより大きい場合について説明する。入力データＸが正であるため、全波整流回路２ａ（第１の全波整流回路）の出力はＸ、Ａ点のデータは−Ｘとなる。一方、入力データＹが正であるため、全波整流回路２ｂ（第２の全波整流回路）の出力はＹ、Ｂ点のデータはＹとなる。
【００５１】
Ｃ点のデータは、A点のデータ−Ｘが−１倍され、Ｘとなる。一方、Ａ点のデータ−ＸとＢ点のデータＹとが加算器３ｅ（第１の加算回路）で加算され、−Ｘ＋Ｙが半波整流回路１ｆへ入力される。ここで、絶対値はＸの方がＹより大きく、−Ｘ＋Ｙは負の値であり、半波整流回路１ｆの出力は０となる。Ｄ点のデータは０となり、Ｃ点のデータＸと加算器３ｆ（第２の加算回路）で加算され、出力データＺはＸ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００５２】
続いて、条件（２）で入力データＸ、Ｙともに正のデータであり、絶対値は入力データＸが入力データＹより小さい場合について説明する。入力データＸ、Ｙがともに正であるため、条件（１）と同様、Ａ点のデータは−Ｘとなる、Ｂ点のデータはＹとなる。
【００５３】
Ｃ点のデータは、A点のデータ−Ｘが−１倍され、Ｘとなる。一方、Ａ点のデータ−ＸとＢ点のデータＹとが加算器３ｅで加算され、−Ｘ＋Ｙが半波整流回路１ｆへ入力される。ここで、絶対値はＸの方がＹより小さく、−Ｘ＋Ｙは正の値であり、半波整流回路１ｆの出力はそのまま−Ｘ＋Ｙとなる。Ｄ点のデータは−Ｘ＋Ｙとなり、Ｃ点のデータＸと加算器３ｆで加算され、出力データＺはＹ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００５４】
続いて、条件（３）で入力データＸが正のデータで、入力データＹが負のデータであり、絶対値は入力データＸが入力データＹより大きい場合について説明する。入力データＸが正であるため、条件（１）と同様、Ａ点のデータは−Ｘとなる。一方、入力データＹが負であるため、全波整流回路２ｂの出力は−Ｙ、Ｂ点のデータは−Ｙとなる。
【００５５】
Ｃ点のデータは、A点のデータ−Ｘが−１倍され、Ｘとなる。一方、Ａ点のデータ−ＸとＢ点のデータ−Ｙとが加算器３ｅで加算され、−Ｘ−Ｙが半波整流回路１ｆへ入力される。ここで、絶対値はＸの方がＹより大きく、−Ｘ−Ｙは負の値であり、半波整流回路１ｆの出力は０となる。Ｄ点のデータは０となり、Ｃ点のデータＸと加算器３ｆで加算され、出力データＺはＸ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００５６】
続いて、条件（４）で入力データＸが正のデータで、入力データＹが負のデータであり、絶対値は入力データＸが入力データＹより小さい場合について説明する。入力データＸが正で、入力データＹが負であるため、条件（３）と同様、Ａ点のデータは−Ｘ、Ｂ点のデータは−Ｙとなる。
【００５７】
Ｃ点のデータは、A点のデータ−Ｘが−１倍され、Ｘとなる。一方、Ａ点のデータ−ＸとＢ点のデータ−Ｙとが加算器３ｅで加算され、−Ｘ−Ｙが半波整流回路１ｆへ入力される。ここで、絶対値はＸの方がＹより小さく、−Ｘ−Ｙは正の値であり、半波整流回路１ｆの出力はそのまま−Ｘ−Ｙとなる。Ｄ点のデータは−Ｘ−Ｙとなり、Ｃ点のデータＸと加算器３ｆで加算され、出力データＺは−Ｙ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００５８】
続いて、条件（５）で入力データＸが負のデータで、入力データＹが正のデータであり、絶対値は入力データＸが入力データＹより大きい場合について説明する。入力データＸが負であるため、全波整流回路２ａの出力は−Ｘ、Ａ点のデータはＸとなる。一方、入力データＹが正であるため、条件（１）と同様、Ｂ点のデータはＹとなる。
【００５９】
Ｃ点のデータは、A点のデータＸが−１倍され、−Ｘとなる。一方、Ａ点のデータＸとＢ点のデータＹとが加算器３ｅで加算され、Ｘ＋Ｙが半波整流回路１ｆへ入力される。ここで、絶対値はＸの方がＹより大きく、Ｘ＋Ｙは負の値であり、半波整流回路１ｆの出力は０となる。Ｄ点のデータは０となり、Ｃ点のデータ−Ｘと加算器３ｆで加算され、出力データＺは−Ｘ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００６０】
続いて、条件（６）で入力データＸが負のデータで、入力データＹが正のデータであり、絶対値は入力データＸが入力データＹより小さい場合について説明する。入力データＸが負で、入力データＹが正であるため、条件（５）と同様、Ａ点のデータはＸ、Ｂ点のデータはＹとなる。
【００６１】
Ｃ点のデータは、A点のデータＸが−１倍され、−Ｘとなる。一方、Ａ点のデータＸとＢ点のデータＹとが加算器３ｅで加算され、Ｘ＋Ｙが半波整流回路１ｆへ入力される。ここで、絶対値はＸの方がＹより小さく、Ｘ＋Ｙは正の値であり、半波整流回路１ｆの出力はそのままＸ＋Ｙとなる。Ｄ点のデータはＸ＋Ｙとなり、Ｃ点のデータ−Ｘと加算器３ｆで加算され、出力データＺはＹ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００６２】
続いて、条件（７）で入力データＸ、Ｙともに負のデータであり、絶対値は入力データＸが入力データＹより大きい場合について説明する。入力データＸが負であるため、条件（５）と同様、Ａ点のデータはＸとなる。一方、入力データＹが負であるため、条件（３）と同様、Ｂ点のデータは−Ｙとなる。
【００６３】
Ｃ点のデータは、A点のデータＸが−１倍され、−Ｘとなる。一方、Ａ点のデータＸとＢ点のデータ−Ｙとが加算器３ｅで加算され、Ｘ−Ｙが半波整流回路１ｆへ入力される。ここで、絶対値はＸの方がＹより大きく、Ｘ−Ｙは負の値であり、半波整流回路１ｆの出力は０となる。Ｄ点のデータは０となり、Ｃ点のデータ−Ｘと加算器３ｆで加算され、出力データＺは−Ｘ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００６４】
続いて、条件（８）で入力データＸ、Ｙともに負のデータであり、絶対値は入力データＸが入力データＹより小さい場合について説明する。入力データＸが負であるため、条件（５）と同様、Ａ点のデータはＸとなる。一方、入力データＹが負であるため、条件（３）と同様、Ｂ点のデータは−Ｙとなる。
【００６５】
Ｃ点のデータは、A点のデータＸが−１倍され、−Ｘとなる。一方、Ａ点のデータＸとＢ点のデータ−Ｙとが加算器３ｅで加算され、Ｘ−Ｙが半波整流回路１ｆへ入力される。ここで、絶対値はＸの方がＹより小さく、Ｘ−Ｙは正の値であり、半波整流回路１ｆの出力はそのままＸ−Ｙとなる。Ｄ点のデータはＸ−Ｙとなり、Ｃ点のデータ−Ｘと加算器３ｆで加算され、出力データＺは−Ｙ、すなわち入力データＸ、Ｙの絶対値のうち大きい値となる。
【００６６】
以上、全８通りの全ての条件において説明したとおり、図２の絶対値比較回路は入力データＸの絶対値と入力データＹの絶対値の大きい方の値を出力する回路である。図２において比較器は使用されていないため、比較器を備えていないＤＳＰを用いる場合でも、半波整流回路および全波整流回路を利用することにより図２の絶対値比較回路を実現することが可能である。
【００６７】
図２の絶対値比較回路を実現するためには、ＤＳＰが全波整流回路を備えている必要があるが、図１と比較して回路構成が簡略化され、またＤＳＰで使用するプログラムの量を削減できるという利点がある。
【００６８】
図１、図２に示した絶対値比較回路は、ソフトウェアの処理でも実現することが可能であり、このとき、−１倍の乗算器は２の補数を取る処理に対応し、加算器は加算を行う処理に対応する。
【００６９】
本発明の２つの実施形態は、例えば音源から出力されるステレオ音声データを構成する左右２つの楽音データをそれぞれ入力データＸ、Ｙとして入力し、左右どちらの楽音データの絶対値が大きいかを判定するときに適用できる。所定の音量を超えたときに圧縮をかけるコンプレッサでは、左右の楽音データに対して異なる比率で圧縮をかけると、出力する音声が聴取者に不自然に聞こえるため、左右の楽音データに対して同じ比率で圧縮をかける必要がある。
【００７０】
このとき、左右の楽音データのうち音量の大きい（すなわち、楽音データの絶対値が大きい）方を基準として圧縮率を決める必要があり、ここで本発明で開示した絶対値比較回路を使用することで、絶対値の大きい楽音データを出力として取り出すことができる。
【００７１】
以上、本発明の実施形態を詳述してきたが、具体的な構成は本実施形態に限られるものではなく、本発明の要旨を逸脱しない範囲の設計変更等も含まれる。
【産業上の利用可能性】
【００７２】
本発明は、２つの入力値から絶対値の大きいほうを選択し出力する絶対値比較回路に用いて好適である。
【図面の簡単な説明】
【００７３】
【図１】本発明の第１の実施形態にかかる絶対値比較回路の構成図である。
【図２】本発明の第２の実施形態にかかる絶対値比較回路の構成図である。
【図３】図１の絶対値比較回路の各部における出力データの値を示した表である。
【図４】図２の絶対値比較回路の各部における出力データの値を示した表である。
【図５】従来技術における絶対値比較回路の構成図である。
【符号の説明】
【００７４】
１、１ａ、１ｂ、１ｃ、１ｄ、１ｅ、１ｆ…半波整流回路、２ａ、２ｂ…全波整流回路、３ａ、３ｂ、３ｃ、３ｄ、３ｅ、３ｆ…加算器（加算回路）、１０…符号なし比較回路、１１ａ、１１ｂ…反転回路、１２ａ、１２ｂ…１加算器
【図１】
2007058486.tif 000003
【図２】
2007058486.tif 000004
【図３】
2007058486.tif 000005
【図４】
2007058486.tif 000006
【図５】
2007058486.tif 000007