(57)【特許請求の範囲】
【請求項１】
データの下位ビットに丸め処理を施すことによって所定ビット数の丸め結果を得るデータ丸め方法において、
ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持するステップと、
ｎ−ｍビットの０のデータを保持するステップと、
前記丸め前データの上位ｍビットの上位ビット側に、前記ｎ−ｍビットの０のデータを合成するステップと、
前記丸め前データと、前記丸め前の上位ｍビットの上位ビット側にｎ−ｍビットの０のデータを合成したデータとを加算するステップと、
前記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得るステップとを備えること特徴とするコンピュータシステムにより実行されるデータ丸め方法。
【請求項２】
データの下位ビットに丸め処理を施すことによって所定ビット数の丸め結果を得るデータ丸め装置において、
ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、
ｎ−ｍビットのデータを保持する手段と、
前記丸め前データの上位ｍビットの上位ビット側に、前記ｎ−ｍビットのデータを合成する手段と、
前記丸め前データと、前記丸め前の上位ｍビットの上位ビット側にｎ−ｍビットのデータを合成したデータとを加算する手段とを備え、
前記ｎ−ｍビットのデータを保持する手段に全て０のデータを保持して、前記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得ることを特徴とするデータ丸め装置。
【請求項３】
データの下位ビットに丸め処理を施すことによって所定ビット数の丸め結果を得るデータ丸め方法において、
ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持するステップと、
前記丸め前データに対してｎ−ｍビットの右シフトを行うステップと、
前記丸め前データと、前記丸め前データに対してｎ−ｍビット右シフトしたデータとを加算するステップと、
前記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得るステップとを
備えること特徴とするコンピュータシステムにより実行されるデータ丸め方法。
【請求項４】
データの下位ビットに丸め処理を施すことによって所定ビット数の丸め結果を得るデータ丸め装置において、
ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、
前記丸め前データに対してｎ−ｍビットの右シフトを行う手段と、
前記丸め前データと、前記丸め前データに対してｎ−ｍビット右シフトしたデータとを加算する手段とを備え、
前記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得ることを特徴とするデータ丸め装置。
【請求項５】
未知のシステムのインパルス応答推定データと所定の参照信号とに畳み込み演算を行って擬似応答信号を発生する手段と、
前記擬似応答信号と前記未知のシステムからの応答信号との差分をもとに、前記インパルス応答推定データの修正量を算出する手段と、
前記修正量と前記インパルス応答推定データを加算して新たなｎビットのインパルス応答推定データを算出する手段とを備える適応フィルタで使用するデータ丸め装置において、
前記適用フィルタは、前記算出されたインパルス応答推定データの修正量と前回までの前記インパルス応答推定データとの加算値を丸めて新たなインパルス応答推定データとする構成とされており、
ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、
ｎ−ｍビットのデータを保持する手段と、
前記丸め前データの上位ｍビットの上位ビット側に、前記ｎ−ｍビットのデータを合成する手段と、
前記丸め前データと、前記丸め前の上位ｍビットの上位ビット側にｎ−ｍビットのデータを合成したデータとを加算する手段とを備え、
前記ｎ−ｍビットのデータを保持する手段に全て０のデータを保持して、前記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得ることを特徴とするデータ丸め装置。
【請求項６】
未知のシステムのインパルス応答推定データと所定の参照信号とに畳み込み演算を行って擬似応答信号を発生する手段と、
前記擬似応答信号と前記未知のシステムからの応答信号との差分をもとに、前記インパルス応答推定データの修正量を算出する手段と、
前記修正量と前記インパルス応答推定データを加算して新たなｎビットのインパルス応答推定データを算出する手段とを備える適応フィルタで用いるデータ丸め装置において、
前記適用フィルタは、前記算出されたインパルス応答推定データの修正量を丸める構成とされており、
ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、
ｎ−ｍビットのデータを保持する手段と、
前記丸め前データの上位ｍビットの上位ビット側に、前記ｎ−ｍビットのデータを合成する手段と、
前記丸め前データと、前記丸め前の上位ｍビットの上位ビット側にｎ−ｍビットのデータを合成したデータとを加算する手段とを備え、
前記ｎ−ｍビットのデータを保持する手段に全て０のデータを保持し、前記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得ることを特徴とするデータ丸め装置。
【請求項７】
未知のシステムのインパルス応答推定データと所定の参照信号とに畳み込み演算を行って擬似応答信号を発生する手段と、
前記擬似応答信号と前記未知のシステムからの応答信号との差分をもとに、前記インパルス応答推定データの修正量を算出する手段と、
前記修正量と前記インパルス応答推定データを加算して新たなｎビットのインパルス応答推定データを算出する手段とを備える適応フィルタで使用するデータ丸め装置において、
前記適用フィルタは、前記算出されたインパルス応答推定データの修正量と前回までの前記インパルス応答推定データとの加算値を丸めて新たなインパルス応答推定データとする構成とされており、
ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、
前記丸め前データに対してｎ−ｍビットの右シフトを行う手段と、
前記丸め前データと、前記丸め前のデータに対してｎ−ｍビット右シフトしたデータとを加算する手段とを備え、
前記加算後のｎビットのデータの下位ｍビットを切り捨てて丸め結果を得ることを特徴とするデータ丸め装置。
【請求項８】
未知のシステムのインパルス応答推定データと所定の参照信号とに畳み込み演算を行って擬似応答信号を発生する手段と、
前記擬似応答信号と前記未知のシステムからの応答信号との差分をもとに、前記インパルス応答推定データの修正量を算出する手段と、
前記修正量と前記インパルス応答推定データを加算して新たなｎビットのインパルス応答推定データを算出する手段とを備える適応フィルタで用いるデータ丸め装置において、
前記適用フィルタは、前記算出されたインパルス応答推定データの修正量を丸める構成とされており、
ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、
前記丸め前データに対してｎ−ｍビットの右シフトを行う手段と、
前記丸め前データと、前記丸め前データに対してｎ−ｍビット右シフトしたデータとを加算する手段とを備え、
前記加算後のｎビットの下位ｍビットを切り捨てて丸め結果を得ることを特徴とするデータ丸め装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタル化された数値を丸めるためのデータ丸め方法およびデータ丸め装置に関するものである。
【０００２】
【従来の技術】
ディジタル計算機などにおいて、２つの２進数値データの乗算を行う場合、その乗算結果として得られる２進数値データを表現するために必要なビット数は、元のデータのビット数よりも大きくなる。例えば、ｎビット計算機において乗算を行う場合、通常、乗算前の２つの２進数値データはｎビットであるが、その乗算結果は、２ｎビットのデータとなる。
【０００３】
しかしながら、その乗算結果を記憶する場合、ビット数をｎビットに丸める必要が生じることが多い。このようなとき、最も簡単な丸め方式は、下位ｎビットを切り捨てる方法である。しかし、この方法では、正および負の数値に対して対称な丸め結果が得られない。
【０００４】
図９は、単純な切り捨てによる丸めを行った場合の丸め結果を示す例である。具体的には、図９は、８ビットの２進数値を丸めて、４ビットの２進数値を得る場合の様子を図式的に示したものである。なお、同図において、丸め前の８ビットデータの小数点位置が、下位４ビット目と５ビット目の間にあるものとし、データは、２の補数形式で表現されているものとする。
【０００５】
図９の（ａ）から分かるように、丸め前のデータが正の数値３．７５である場合、丸め後のデータは３．０となり、また、同図の（ｂ）からは、丸め前のデータが負の数値−３．７５である場合、丸め後のデータは−４．０となることが分かる。つまり、正および負の数値に対して対称な丸め結果が得られない。そして、このような丸め方式を、信号処理などでよく見られる、一連の積和演算に用いると、丸め誤差が負の方向に蓄積されて、著しい演算精度の劣化が生じる、という不都合がある。
【０００６】
この不具合を避けるため、従来より使用されている方法として、図１０に示すようなデータ丸め方式がある。図１０は、特開昭６４−５８０２０号公報に開示された「数値丸め処理方式」の流れを示すフローチャートであり、あるデータAの下位ｋビットの丸め結果Ｂを得る場合の丸め方式を説明するものである。
【０００７】
図１０のステップＳ１において、丸め前のデータＡに２k-1を加算し（加算結果をＡ´とする）、ステップＳ２では、この加算後のデータＡ´の下位ｋビットを切り捨てている。これは、四捨五入である。四捨五入は、切り捨てを実施する前に、切り捨てられるビット中の最上位ビットのみが１で、他のビットが全て０であるデータを加算した後、切り捨てを実施するもので、図１１の（ａ），（ｂ）は、この四捨五入による丸めを行った場合の丸め結果を示す例である。
【０００８】
図１１の（ａ）に示すように、丸め前のデータが正の数値３．７５のとき、丸め後は４．０、また、（ｂ）に示すように、丸め前のデータが負の数値−３．７５のとき、丸め後は−４．０となっている。つまり、図１１に示す方法では、正および負の数値に対して対称な丸め結果が得られる。
【０００９】
しかしながら、図１２に示すように、丸め前のデータにおいて、切り捨てられるビット中の最上位ビットのみが１で、その他が０である場合、上記の方法には問題がある。図１１を参照すると、丸め前のデータが正の数値３．５のとき、丸め後は４．０、また、丸め前のデータが負の数値−３．５のとき、丸め後は−３．０となっており、正および負の数値に対して、対称な丸め結果が得られていない。
【００１０】
一方、正および負の２進数値に対して、常に対称な丸め結果を与える方式として、例えば、特開昭４８−２７６４８号公報に示す「丸め装置」がある。この公報に示された丸め処理は、丸め前のデータが正の場合、切り捨てを実施する前に、切り捨てられるビット中の最上位ビットのみが１で、その他のビットが０であるデータを加算した後に、切り捨てを実施する。また、この処理では、丸め前のデータが負の場合、切り捨てを実施する前に、切り捨てられるビット中の最上位ビットと、それ以上のビットが０で、その他のビットが１であるデータを加算した後に、切り捨てを実施している。このような丸め処理によれば、あらゆる場合において、正および負の２進数値に対して、対称な丸め結果を与えることが可能となる。
【００１１】
【発明が解決しようとする課題】
しかしながら、上記従来の丸め方式では、正および負の数値に対して対称な丸め結果が得られないか、あるいは、丸め前のデータが正の場合と負の場合とで処理が異なるため、その正負の判断が必要となる。そして、この判断を行って、対称な丸め結果を得ようとすると、その処理が非常に複雑となる、という問題がある。
【００１２】
また、従来の丸め方式を、例えば、適応フィルタに用いた場合にも、正および負の２進数値に対して、対称な丸め結果が得られないため、インパルス応答の推定精度が良くならない、という問題がある。
【００１３】
本発明は、上述の課題に鑑みてなされたもので、その目的とするところは、正および負の２進数値に対して、対称な丸め結果を与えるとともに、丸め前のデータの正負を判断する必要のないデータ丸め方法およびデータ丸め装置を提供することである。
【００１４】
【課題を解決するための手段】
上記目的を達成するために、第１の発明は、データの下位ビットに丸め処理を施すことによって所定ビット数の丸め結果を得るデータ丸め方法において、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持するステップと、ｎ−ｍビットの０のデータを保持するステップと、上記丸め前データの上位ｍビットの上位ビット側に、上記ｎ−ｍビットの０のデータを合成するステップと、上記丸め前データと、上記丸め前の上位ｍビットの上位ビット側にｎ−ｍビットの０のデータを合成したデータとを加算するステップと、上記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得るステップとを備えるコンピュータシステムにより実行されるデータ丸め方法を提供する。
第２の発明は、データの下位ビットに丸め処理を施すことによって所定ビット数の丸め結果を得るデータ丸め装置において、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、ｎ−ｍビットのデータを保持する手段と、上記丸め前データの上位ｍビットの上位ビット側に、上記ｎ−ｍビットのデータを合成する手段と、上記丸め前データと、上記丸め前の上位ｍビットの上位ビット側にｎ−ｍビットのデータを合成したデータとを加算する手段とを備え、上記ｎ−ｍビットのデータを保持する手段に全て０のデータを保持して、上記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得るデータ丸め装置を提供する。
【００１５】
第３の発明は、データの下位ビットに丸め処理を施すことによって所定ビット数の丸め結果を得るデータ丸め方法において、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持するステップと、上記丸め前データに対してｎ−ｍビットの右シフトを行うステップと、上記丸め前データと、上記丸め前のデータに対してｎ−ｍビット右シフトしたデータとを加算するステップと、上記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得るステップとを備えるコンピュータシステムにより実行されるデータ丸め方法を提供する。
第４の発明は、データの下位ビットに丸め処理を施すことによって所定ビット数の丸め結果を得るデータ丸め装置において、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、上記丸め前データに対してｎ−ｍビットの右シフトを行う手段と、上記丸め前データと、上記丸め前のデータに対してｎ−ｍビット右シフトしたデータとを加算する手段とを備え、上記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得るデータ丸め装置を提供する。
【００１６】
第５の発明は、未知のシステムのインパルス応答推定データと所定の参照信号とに畳み込み演算を行って擬似応答信号を発生する手段と、上記擬似応答信号と上記未知のシステムからの応答信号との差分をもとに、上記インパルス応答推定データの修正量を算出する手段と、上記修正量と上記インパルス応答推定データを加算して新たなｎビットのインパルス応答推定データを算出する手段とを備える適応フィルタで使用するデータ丸め装置において、上記適用フィルタは、上記算出されたインパルス応答推定データの修正量と前回までの上記インパルス応答推定データとの加算値を丸めて新たなインパルス応答推定データとする構成とされており、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、ｎ−ｍビットのデータを保持する手段と、上記丸め前データの上位ｍビットの上位ビット側に、上記ｎ−ｍビットのデータを合成する手段と、上記丸め前データと、上記丸め前の上位ｍビットの上位ビット側にｎ−ｍビットのデータを合成したデータとを加算する手段とを備え、上記ｎ−ｍビットのデータを保持する手段に全て０のデータを保持して、上記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得るデータ丸め装置を提供する。
第６の発明は、未知のシステムのインパルス応答推定データと所定の参照信号とに畳み込み演算を行って擬似応答信号を発生する手段と、上記擬似応答信号と上記未知のシステムからの応答信号との差分をもとに、上記インパルス応答推定データの修正量を算出する手段と、上記修正量と上記インパルス応答推定データを加算して新たなｎビットのインパルス応答推定データを算出する手段とを備える適応フィルタで用いるデータ丸め装置において、上記適用フィルタは、上記算出されたインパルス応答推定データの修正量を丸める構成とされており、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、ｎ−ｍビットのデータを保持する手段と、上記丸め前データの上位ｍビットの上位ビット側に、上記ｎ−ｍビットのデータを合成する手段と、上記丸め前データと、上記丸め前の上位ｍビットの上位ビット側にｎ−ｍビットのデータを合成したデータとを加算する手段とを備え、上記ｎ−ｍビットのデータを保持する手段に全て０のデータを保持して、上記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得るデータ丸め装置を提供する。
【００１７】
第７の発明は、未知のシステムのインパルス応答推定データと所定の参照信号とに畳み込み演算を行って擬似応答信号を発生する手段と、上記擬似応答信号と上記未知のシステムからの応答信号との差分をもとに、上記インパルス応答推定データの修正量を算出する手段と、上記修正量と上記インパルス応答推定データを加算して新たなｎビットのインパルス応答推定データを算出する手段とを備える適応フィルタで使用するデータ丸め装置において、上記適用フィルタは、上記算出されたインパルス応答推定データの修正量と前回までの上記インパルス応答推定データとの加算値を丸めて新たなインパルス応答推定データとする構成とされており、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、上記丸め前データに対してｎ−ｍビットの右シフトを行う手段と、上記丸め前データと、上記丸め前のデータに対してｎ−ｍビット右シフトしたデータとを加算する手段とを備え、上記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得るデータ丸め装置を提供する。
第８の発明は、未知のシステムのインパルス応答推定データと所定の参照信号とに畳み込み演算を行って擬似応答信号を発生する手段と、上記擬似応答信号と上記未知のシステムからの応答信号との差分をもとに、上記インパルス応答推定データの修正量を算出する手段と、上記修正量と上記インパルス応答推定データを加算して新たなｎビットのインパルス応答推定データを算出する手段とを備える適応フィルタで用いるデータ丸め装置において、上記適用フィルタは、上記算出されたインパルス応答推定データの修正量を丸める構成とされており、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、上記丸め前データに対してｎ−ｍビットの右シフトを行う手段と、上記丸め前データと、上記丸め前データに対してｎ−ｍビット右シフトしたデータとを加算する手段とを備え、上記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得るデータ丸め装置を提供する。
【００１８】
【発明の実施の形態】
以下、添付図面を参照して、本発明に係る実施の形態を説明する。
実施の形態１．
図１は、本発明の実施の形態１に係る、データ丸め方式を実現する丸め処理回路の構成を示すブロック図である。なお、本実施の形態に係る丸め処理回路は、ｎビットのデータをｎ−ｍビットに丸める処理を行う。
【００１９】
図１に示す丸め処理回路は、丸め前のデータを保持するレジスタ１０１、「０」が格納されたレジスタ１０２、ｎビット加算器１０３、そして、丸め結果を保持するレジスタ１０４より構成される。
【００２０】
以下、本実施の形態に係る丸め処理回路の動作について説明する。
レジスタ１０１は、丸め前のｎビットデータを保持する。レジスタ１０２は、ｎ−ｍビットのレジスタであり、ここでは、全てのビットに「０」が格納されている。また、ｎビット加算器１０３は、２つのｎビットデータを加算する。その１つは、レジスタ１０１に保持された、丸め前のデータである。もう１つのｎビットデータは、レジスタ１０２の出力を、その上位ｎ−ｍビットとし、レジスタ１０１の上位ｍビットを、その下位ｍビットとする、これらｎ−ｍビットとｍビットを合成したデータである。そして、このｎビット加算器１０３が出力する加算結果は、レジスタ１０４内に保持され、その上位ｎ−ｍビットが、丸め結果となる。
【００２１】
図２は、本実施の形態における丸め処理を説明するための図である。同図は、図１の丸め処理回路のｎビット加算器１０３の入力データと出力を示している。また、図２では、図１のｎビット加算器１０３の１つ目の入力データをＡ、もう１つの入力データをＢ、加算後の出力データをＣとしている。
【００２２】
すなわち、図２の（ａ）に示すように、Ａは、丸め前のｎビットデータ、同図の（ｂ）に示すように、加算するデータＢは、その上位ｎ−ｍビットが全て「０」であり、下位ｍビットが、Ａの上位ｍビットと同じ構成をとるデータである。また、ＡとＢとの加算結果がＣ（同図の（ｃ））であり、Ｃの上位ｎ−ｍビットが、丸め結果となっている。
【００２３】
そこで、以下、上記のようなデータ丸め方式が、正および負のデータに対して、対称な丸め結果を与えることを説明する。
【００２４】
ある正のｎビットのデータＸを考えてみる。また、簡単のためｎ，ｍは、ｎ＝２ｍの関係があるとする。そして、このデータＸの下位ｍビットをＸＬ、上位ｍビットをＸＨで表すと、
Ｘ＝２m・ＸＨ＋ＸＬ                                        …（１）
となる。そして、このＸに対する、図１のｎビット加算器１０３の出力をＹとすると、
Ｙ＝２m・ＸＨ＋ＸＬ＋ＸＨ                                  …（２）
となる。
【００２５】
従って、この丸め出力をＹｒとすると、Ｙｒは、ＸＬ＋ＸＨ≧２mのとき、繰り上がりが発生して、
Ｙｒ＝２m・ＸＨ＋２m＝２m・（ＸＨ＋１）                   …（３）
となり、ＸＬ＋ＸＨ＜２mのときは、繰り上がりが発生せず、
Ｙｒ＝２m・ＸＨ                                           …（４）
となる。
【００２６】
一方、Ｘの符号を反転したデータ「−Ｘ」を、上記と同様、ＸＨ，ＸＬを用いて表すと、
−Ｘ＝−２m・ＸＨ−ＸＬ                                   …（５）
となる。そして、−Ｘに対する、図１のｎビット加算器１０３の出力Ｚは、ＸＬ≠０のとき、
Ｚ＝−２m・ＸＨ−ＸＬ＋（２m−１−ＸＨ）
＝−２m・ＸＨ＋（２m−ＸＬ−ＸＨ−１）                  …（６）
となる。
【００２７】
従って、この丸め出力をＺｒとすると、Ｚｒは、ＸＬ＋ＸＨ≧２mのとき、２m−ＸＬ−ＸＨ−１＜０であるから、繰り下がりが発生して、
Ｚｒ＝−２m・ＸＨ−２m＝−２m・（ＸＨ＋１）               …（７）
となる。また、ＸＬ＋ＸＨ＜２mのときは、２m−ＸＬ−ＸＨ−１≧０であるから、繰り下がりは発生せず、
Ｚｒ＝−２m・ＸＨ                                         …（８）
となる。
【００２８】
このように、上記の丸め方式によれば、ＸＬ≠０の場合、正および負のデータに対して、対称な丸め結果が与えられることが分かる。また、ＸＬ＝０の場合は、Ｘに対するｎビット加算器１０３の出力Ｙが、Ｙ＝２m・ＸＨ＋ＸＨとなり、０＜ＸＨ＜２m-1であるから、繰り上がりは発生せず、丸め出力Ｙｒは、常に、Ｙｒ＝２m・ＸＨとなる。
【００２９】
一方、データ−Ｘに対するｎビット加算器１０３の出力Ｚは、Ｚ＝−２m・ＸＨ＋（２m−ＸＨ）となる。０＜ＸＨ＜２m-1であるから、２m-1＜２m−ＸＨ＜２mとなり、これも繰り上がり、および繰り下がりは発生せず、丸め出力Ｚｒは、常に、Ｚｒ＝−２m・ＸＨとなる。
【００３０】
以上説明したように、本実施の形態によれば、０が格納されたｎ−ｍビットのレジスタと、２つのｎビットデータを加算する加算器とを備え、丸め前のデータの上位ｍビットを下位ｍビットとするｎビットデータと、丸め前のｎビットデータとを加算し、その加算後のデータの下位ｍビットを切り捨てたデータを丸め結果とすることで、正および負の２進数値に対して、対称な丸め結果が与えられるとともに、データの正負の判定をすることのないデータ丸め方式を得ることができる。
【００３１】
実施の形態２．
以下、本発明に係る実施の形態２について説明する。なお、上記実施の形態１に係る処理回路は、０が格納されたｎ−ｍビットのレジスタを用いて、加算データを生成するよう構成されているが、ここでは、シフト演算器を用いて加算データを生成する。
【００３２】
図３は、本発明の実施の形態２に係る、データ丸め方式を実現する丸め処理回路の構成を示すブロック図である。なお、図３に示す、本実施の形態に係る丸め処理回路において、図１に示す、上記実施の形態１に係る丸め処理回路と同一構成要素には同一符号を付し、ここでは、それらの説明を省略する。
【００３３】
すなわち、図３のレジスタ１０１、ｎビット加算器１０３、レジスタ１０４は、それらに対応する、図１に示す丸め処理回路の構成要素と同様の動作をする。また、図３のｎ−ｍビットシフト演算器１０５は、レジスタ１０１に保持されている丸め前のｎビットデータを入力して、ｎ−ｍビットの右論理シフト演算を行い、その演算結果をｎビット加算器１０３に出力する。
【００３４】
このシフト演算器１０５によって行うシフト演算は、論理シフトであるから、右シフトによって空きとなった上位ｎ−ｍビットは、“０詰め”される。従って、このシフト演算によって得られるｎビットデータは、上記実施の形態１に係る、図２の（ｂ）に示したデータＢと同一のデータとなる。
【００３５】
よって、図３のｎビット加算器１０３は、レジスタ１０１に保持された、丸め前のｎビットデータと、上記シフト演算によって得られたｎビットデータという、２つのｎビットデータを加算する。そして、上記実施の形態１と同様、このｎビット加算器１０３が出力する加算結果は、レジスタ１０４内に保持され、その上位ｎ−ｍビットが、丸め結果となる。
【００３６】
以上説明したように、本実施の形態によれば、ｎ−ｍビットのシフト演算器と、２つのｎビットデータを加算する加算器とを備え、丸め前のデータをシフトして得られたｎビットのデータと、丸め前のｎビットデータとを加算した後、その加算後のデータの下位ｍビットを切り捨てたデータを丸め結果とすることで、正および負の２進数値に対して、対称な丸め結果が与えられ、データの正負の判定が不要なデータ丸め方式を得ることができる。
【００３７】
実施の形態３．
以下、本発明に係る実施の形態３について説明する。上記の各実施の形態では、加算器やレジスタという具体的なハードウエアを用いてデータ丸めを実現しているが、ここでは、ソフトウェアによって実行されるデータの丸め方式を説明する。
【００３８】
図４は、本実施の形態に係るソフトウェアを実行する、例えば、ディジタル信号処理プロセッサの概略構成を示すブロック図である。同図に示すディジタル信号処理プロセッサ（ＤＳＰ）４００において、メモリ４０３には、本処理の対象となるデータや演算結果が一時的に格納され、ＲＯＭ４０２には、本実施の形態に係る処理の実行手順がプログラムとして格納されている。また、ＣＰＵ４０１は、上記のプログラムに従って、以下に説明するデータ丸め処理を実行するとともに、本プロセッサ全体の制御を司る中央制御部である。なお、ここでの演算結果は、出力部４０４より、不図示の外部装置へ出力される。
【００３９】
図５は、本実施の形態に係るデータ丸め方式の実行手順を示すフローチャートである。同図に示す処理では、まず、丸め前のｎビットデータＡを、ｎ−ｍビット、右論理シフトしたデータＢを算出する（ステップＳＴ１）。次に、丸め前のデータＡと、この右論理シフトによって得られたデータＢとを加算する（ステップＳＴ２）。そして、最後のステップＳＴ３で、この加算結果の下位ｍビットを切り捨てる処理を行う。
【００４０】
このような手順によって実現される丸め処理は、ディジタル信号処理プロセッサなどにおいて丸め処理を実行する場合、データの正負の判断が不要になるため、少ないステップ数で、正および負のデータに対して、対称な結果を与える丸め処理を実現できる。
【００４１】
また、ディジタル信号処理プロセッサは、１６ビット固定小数点方式のものが大半を占めているので、その最上位ビットを符号ビット、下位１５ビットを振幅ビットとして扱う場合が多い。この場合、２つの１６ビットデータの乗算結果は、その最上位ビットが符号ビットで、下位３１ビットが振幅ビットとなり、合計３２ビットデータの下位１６ビットを丸めることになる。これは、丸め後のデータのビット長が、丸め前のデータのビット長の１／２となることを意味している。このようにすることで、上述した各ステップは、全て１６ビット単位での処理となり、一般に各ステップがより簡略に実現できる。
【００４２】
以上説明したように、本実施の形態によれば、丸め前のデータの右シフト、この右シフトによって得られたデータと丸め前のデータとの加算、そして、加算後のデータの下位ｍビットの切り捨てを、純粋にソフトウエアによって実行することで、データの正負の判断が不要になるため、少ないステップ数で、正および負の２進データに対して、対称な丸め結果が得られる。特に、本プログラムをディジタル信号処理プロセッサ上で実行した場合、各処理ステップを、より簡略に実現できる。
【００４３】
実施の形態４．
以下、本発明に係る実施の形態４について説明する。なお、本実施の形態に係るデータ丸め方式は、未知のシステムを推定する適応フィルタにおいて用いられる。
【００４４】
図６は、本実施の形態に係るデータ丸め方式を用いる適応フィルタの構成を示すブロック図である。同図に示す適応フィルタは、参照信号の過去のサンプル値を格納するＸレジスタ２０１、インパルス応答推定値を格納するＨレジスタ２０２、Ｘレジスタ２０１の格納値と、Ｈレジスタ２０２の格納値との畳み込み演算を行う畳み込み積分器２０３、未知のシステム２５０の応答信号より畳み込み積分器２０３の出力を減算する減算器２０４、未知のシステム２５０のインパルス応答を推定して、Ｈレジスタ２０２に格納されたインパルス応答推定値の修正量を算出するΔＨ生成回路２０５、この修正量とＨレジスタ２０２に格納されたインパルス応答推定値とを加算するＨ＋ΔＨ加算器２０６、Ｈ＋ΔＨ加算器２０６の加算結果の丸めを行う丸め処理部２０７によって構成される。
【００４５】
次に、本実施の形態に係る適応フィルタの動作について説明する。
本適応フィルタは、ディジタル信号処理によって実現されるものであり、全ての信号が、一定のサンプリング時間によってサンプリングされたディジタルデータである。そこで、現在のサンプリング時刻をｉとすると、まず、Ｘレジスタ２０１は、未知のシステム２５０に対して出力される参照信号の、過去Ｎサンプル分のデータＸ（ｉ），Ｘ（ｉ−１），・・・，Ｘ（ｉ−Ｎ＋１）を保持する。そして、Ｈレジスタ２０２には、未知のシステム２５０のインパルス応答推定値ｈ０（ｉ），ｈ１（ｉ），・・・，ｈＮ−１（ｉ）が保持される。
【００４６】
畳み込み積分器２０３は、上記の参照信号Ｘ（ｉ），Ｘ（ｉ−１），・・・，Ｘ（ｉ−Ｎ＋１）と、インパルス応答推定値ｈ０（ｉ），ｈ１（ｉ），・・・，ｈＮ−１（ｉ）との畳み込み演算によって、擬似応答信号ｒ（ｉ）を算出する。従って、この擬似応答信号は、ｒ（ｉ）＝ｘ（ｉ）×ｈ０（ｉ）＋ｘ（ｉ−１）×ｈ１（ｉ）＋・・・＋ｘ（ｉ−Ｎ＋１）×ｈＮ−１（ｉ）となる。
【００４７】
減算器２０４は、上記の擬似応答信号ｒ（ｉ）を、未知のシステム２５０から入力される応答信号ｓ（ｉ）より減算して、残差信号ｅ（ｉ）を求める。すなわち、ｅ（ｉ）＝ｓ（ｉ）−ｒ（ｉ）となる。また、ΔＨ生成回路２０５は、未知のシステム２５０を推定して、上記の残差信号ｅ（ｉ）が小さくなるように、Ｈレジスタ２０２に格納されるインパルス応答推定値の修正量Δｈ０（ｉ），Δｈ１（ｉ），・・・，ΔｈＮ−１（ｉ）を算出する。
【００４８】
ここで、一般的な修正アルゴリズムとしては、最小平均二乗（ＬＭＳ（Ｌｅａｓｔ Ｍｅａｎ Ｓｑｕａｒｅ））法と呼ばれるものがある。この方法によれば、上記の修正量Δｈｋ（ｉ）（ｋ＝０，１，・・・，Ｎ−１）は、Δｈｋ（ｉ）＝α×ｅ（ｉ）×Ｘ（ｉ−ｋ）となる。
【００４９】
上記のデータの内、Δｈｋ（ｉ）を除く各データが、ｎビットデータであったとすると、上記の修正量Δｈｋ（ｉ）は、ｎビットデータとはならず、ｎビット以上のビット数を持つデータとなる。演算の簡単化のため、αには、２のべき乗値が用いられることが多いが、仮に、これが１であるとすれば、Δｈｋ（ｉ）は、２ｎビットデータとなる。
【００５０】
また、Ｈ＋ΔＨ加算器２０６は、２ｎビットのデータを加算する加算器であり、上記のインパルス応答推定値ｈ０（ｉ），ｈ１（ｉ），・・・，ｈＮ−１（ｉ）と、その修正量Δｈ０（ｉ），Δｈ１（ｉ），・・・，ΔｈＮ−１（ｉ）とを加算して、次のサンプル時刻ｉ＋１で使用される新たなインパルス応答推定値ｈ０（ｉ＋１），ｈ１（ｉ＋１），・・・，ｈＮ−１（ｉ＋１）を算出する。すなわち、ｈｋ（ｉ＋１）＝ｈｋ（ｉ）＋Δｈｋ（ｉ）（ｋ＝０，１，・・・，Ｎ−１）である。
【００５１】
以上のデータの内、Δｈｋ（ｉ）を除く各データが、ｎビットデータであったとすると、上記の修正量Δｈｋ（ｉ）は、ｎビットデータとはならず、ｎビット以上のビット数を持つデータとなる。上記と同様、演算の簡単化のため、αには、２のべき乗値が用いられることが多いが、仮に、これが１であれば、Δｈｋ（ｉ）は、２ｎビットデータとなる。
【００５２】
従って、Ｈ＋ΔＨ加算器２０６は、２つの２ｎビットのデータを加算し、その加算の際、ｎビットのデータであるインパルス応答推定値ｈｋ（ｉ）に対しては、適当なシフトが施される。そして、その小数点の位置が、２ｎビットのデータであるΔｈｋ（ｉ）の小数点の位置と同じになるよう調整される。
【００５３】
このようにして算出された、新たなインパルス応答推定値ｈ０（ｉ＋１），ｈ１（ｉ＋１），・・・，ｈＮ−１（ｉ＋１）は、２ｎビットのデータとなるため、丸め処理部２０７によって、ｎビットのデータに丸められた後、Ｈレジスタ２０２に格納される。なお、この丸め処理部２０７の動作は、例えば、図１に示す、上記実施の形態１に係る丸め処理回路の動作と同様である。
【００５４】
図７は、上述した丸め処理方式を備える、本実施の形態に係る適応フィルタの特性を示す。すなわち、同図は、上記のような適応フィルタが、未知のシステムのインパルス応答を推定する過程をグラフ化したものである。
【００５５】
図７のグラフにおいて、その縦軸は、未知のシステムのインパルス応答と適応フィルタのインパルス応答推定値の２乗誤差（未知のシステムのインパルス応答の２乗和で規格化してある）、横軸はサンプル数（適応フィルタの動作時間に相当する)である。また、曲線Ａは、本実施の形態に係るデータ丸め方式を適用した場合のフィルタ特性であり、曲線Ｂは、切り捨てによるデータ丸めを適用した場合の特性、そして、曲線Ｃは、四捨五入によるデータ丸めを適用した場合の特性である。
【００５６】
図７より明らかなように、曲線Ｂで示される特性は、サンプル数３０００あたりから誤差が蓄積され始め、２乗誤差が増大している。また、曲線Ｃは、サンプル数３００００あたりから誤差が蓄積され始め、徐々に２乗誤差が増大している。一方、曲線Ａは、サンプル数５０００から４５０００あたりまでは、曲線Ｂよりも２乗誤差がやや大きいものの、最後まで、２乗誤差の増大は見られず、最終的には、曲線Ｂよりも２乗誤差が小さくなっていることが分かる。よって、明らかに、この丸め方式によって、正および負の２進数値に対して、対称な丸め結果が与えられ、インパルス応答推定精度が良くなることが分かる。
【００５７】
以上説明したように、本実施の形態によれば、適応フィルタにおいて、参照信号とインパルス応答推定値に畳み込み演算を施して得た擬似応答信号に基づいて、このインパルス応答推定値の修正量を算出し、上記インパルス応答推定値に、その修正量を加算して得た新たなインパルス応答推定値に対して、下位ビットを切り捨てるデータ丸め方法を適用することで、正および負の２進数値に対して対称な丸め結果が得られるとともに、当該適応フィルタの特性として、優れたインパルス応答推定特性を得ることができる。
【００５８】
実施の形態５．
以下、本発明に係る実施の形態５について説明する。なお、上記の実施の形態４は、Ｈ＋ΔＨ加算器の出力に対して丸めを行う適応フィルタの構成を示したが、ここでは、インパルス応答推定値の修正量に対して丸めを行う形態を示す。
【００５９】
図８は、本実施の形態に係るデータ丸め方式を用いる適応フィルタの構成を示すブロック図である。なお、同図において、図６に示す、上記実施の形態４に係る適応フィルタと同一構成要素には、同一符号を付す。すなわち、図８のＸレジスタ２０１には、参照信号の過去のサンプル値を格納し、Ｈレジスタ２０２には、インパルス応答推定値を格納する。畳み込み積分器２０３は、Ｘレジスタ２０１の格納値と、Ｈレジスタの格納値との畳み込み演算を行う。また、減算器２０４は、この畳み込み積分器２０３の出力を、未知のシステム２５０の応答信号より減算する。
【００６０】
ΔＨ生成回路２０５は、未知のシステム２５０のインパルス応答を推定して、Ｈレジスタ２０２に格納されたインパルス応答推定値の修正量を算出する。丸め処理部２０７は、この修正量の丸めを行い、Ｈ＋ΔＨ加算器２０６は、丸め後の修正量とＨレジスタ２０２に格納されたインパルス応答推定値とを加算する。
【００６１】
以下、本実施の形態に係る適応フィルタの動作を説明する。なお、図８のＸレジスタ２０１、Ｈレジスタ２０２、畳み込み積分器２０３、減算器２０４、ΔＨ生成回路２０５は、図６に示す、実施の形態４に係る適応フィルタと同様の動作を行う。
【００６２】
丸め処理部２０７は、ΔＨ生成回路２０５が出力する推定インパルス応答の修正量Δｈ０（ｉ），Δｈ１（ｉ），・・・，ΔｈＮ−１（ｉ）に対して、丸め処理を行う。この丸め処理部２０７の動作は、例えば、図１に示す、実施の形態１に係る丸め処理回路の動作と同じである。そこで、この丸め後のデータを、Δｈ０（ｉ）’，Δｈ１（ｉ）’，・・・，ΔｈＮ−１（ｉ）’とすると、これらは、Ｈレジスタ２０２に格納されるインパルス応答推定値ｈ０（ｉ），ｈ１（ｉ），・・・，ｈＮ−１（ｉ）のビット数と同じビット数に丸められたデータである。
【００６３】
上記のビット数をｎとすると、Ｈ＋ΔＨ加算器２０６は、ｎビットのデータを加算する加算器であり、上記のインパルス応答推定値ｈ０（ｉ），ｈ１（ｉ），・・・，ｈＮ−１（ｉ）と、丸め後の修正量Δｈ０（ｉ）’，Δｈ１（ｉ）’，・・・，ΔｈＮ−１（ｉ）’とを加算して、次のサンプル時刻ｉ＋１で使用される新たなインパルス応答推定値ｈ０（ｉ＋１），ｈ１（ｉ＋１），・・・，ｈＮ−１（ｉ＋１）を算出する。すなわち、ｈｋ（ｉ＋１）＝ｈｋ（ｉ）＋Δｈｋ（ｉ）’（ｋ＝０，１，・・・，Ｎ−１）であり、これが、新たにＨレジスタ２０２に格納される。
【００６４】
以上説明したように、本実施の形態によれば、適応フィルタにおいて、参照信号とインパルス応答推定値に畳み込み演算を施して得た擬似応答信号に基づいて、このインパルス応答推定値の修正量を算出し、この修正量に対して、下位ビットを切り捨てるデータ丸め方法を適用した後、上記インパルス応答推定値に、その丸め後の修正量を加算して新たなインパルス応答推定値を算出することで、正および負の２進数値に対して対称な丸め結果が得られるとともに、当該適応フィルタの特性として、優れたインパルス応答推定特性を得ることができる。
【００６５】
【発明の効果】
以上説明したように、第１の発明によれば、データの下位ビットに丸め処理を施すことによって所定ビット数の丸め結果を得るデータ丸め方法において、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持するステップと、ｎ−ｍビットの０のデータを保持するステップと、上記丸め前データの上位ｍビットの上位ビット側に、上記ｎ−ｍビットの０のデータを合成するステップと、上記丸め前データと、上記丸め前の上位ｍビットの上位ビット側にｎ−ｍビットの０のデータを合成したデータとを加算するステップと、上記加算後のデータの下位ｍビットを切り捨てて丸め結果を得るステップとを備えることで、正及び負の２進数値に対して対称な丸め結果が得られるとともに、丸め前のデータの正負を判断する必要がない、という効果がある。
第２の発明によれば、データの下位ビットに丸め処理を施すことによって所定ビット数の丸め結果を得るデータ丸め装置において、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、ｎ−ｍビットのデータを保持する手段と、上記丸め前データの上位ｍビットの上位ビット側に、上記ｎ−ｍビットのデータを合成する手段と、上記丸め前データと、上記丸め前の上位ｍビットの上位ビット側にｎ−ｍビットのデータを合成したデータとを加算する手段とを備え、上記ｎ−ｍビットのデータを保持する手段に全て０のデータを保持して、上記加算後のデータの下位ｍビットを切り捨てて丸め結果を得ることで、正及び負の２進数値に対して対称な丸め結果が得られるとともに、丸め前のデータの正負を判断する必要がない、という効果がある。
【００６６】
第３の発明によれば、データの下位ビットに丸め処理を施すことによって所定ビット数の丸め結果を得るデータ丸め装置において、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、上記丸め前データに対してｎ−ｍビットの右シフトを行う手段と、上記丸め前データと、上記丸め前のデータに対してｎ−ｍビット右シフトしたデータとを加算する手段とを備え、上記加算後のデータの下位ｍビットを切り捨てて丸め結果を得ることで、正及び負の２進数値に対して対称な丸め結果が得られるとともに、丸め前のデータの正負を判断する必要がない、という効果がある。
第４の発明によれば、データの下位ビットに丸め処理を施すことによって所定ビット数の丸め結果を得るデータ丸め装置において、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、上記丸め前データに対してｎ−ｍビットの右シフトを行う手段と、上記丸め前データと、上記丸め前データに対してｎ−ｍビット右シフトしたデータとを加算する手段と、上記加算後のデータの下位ｍビットを切り捨てて丸め結果を得る手段とを備えたことで、正および負の２進数値に対して対称な丸め結果が得られ、同時に、適応フィルタの特性として、優れたインパルス応答推定特性を得ることができる。
【００６７】
第５の発明によれば、未知のシステムのインパルス応答推定データと所定の参照信号とに畳み込み演算を行って擬似応答信号を発生する手段と、上記擬似応答信号と上記未知のシステムからの応答信号との差分をもとに、上記インパルス応答推定データの修正量を算出する手段と、上記修正量と上記インパルス応答推定データを加算して新たなｎビットのインパルス応答推定データを算出する手段とを備える適応フィルタで使用するデータ丸め装置において、上記適用フィルタは、上記算出されたインパルス応答推定データの修正量と前回までの上記インパルス応答推定データとの加算値を丸めて新たなインパルス応答推定データとする構成とされており、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、ｎ−ｍビットのデータを保持する手段と、上記丸め前データの上位ｍビットの上位ビット側に、上記ｎ−ｍビットのデータを合成する手段と、上記丸め前データと、上記丸め前の上位ｍビットの上位ビット側にｎ−ｍビットのデータを合成したデータとを加算する手段とを備え、上記ｎ−ｍビットのデータを保持する手段に全て０のデータを保持して、上記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得ることで、正および負の２進数値に対して対称な丸め結果が得られるとともに、当該適応フィルタの特性として、優れたインパルス応答推定特性を得ることができる。
第６の発明によれば、未知のシステムのインパルス応答推定データと所定の参照信号とに畳み込み演算を行って擬似応答信号を発生する手段と、上記擬似応答信号と上記未知のシステムからの応答信号との差分をもとに、上記インパルス応答推定データの修正量を算出する手段と、上記修正量と上記インパルス応答推定データを加算して新たなｎビットのインパルス応答推定データを算出する手段とを備える適応フィルタで用いるデータ丸め装置において、上記適用フィルタは、上記算出されたインパルス応答推定データの修正量を丸める構成とされており、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、ｎ−ｍビットのデータを保持する手段と、上記丸め前データの上位ｍビットの上位ビット側に、上記ｎ−ｍビットのデータを合成する手段と、上記丸め前データと、上記丸め前の上位ｍビットの上位ビット側にｎ−ｍビットのデータを合成したデータとを加算する手段とを備え、上記ｎ−ｍビットのデータを保持する手段に全て０のデータを保持して、上記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得ることで、正および負の２進数値に対して対称な丸め結果が得られるとともに、当該適応フィルタの特性として、優れたインパルス応答推定特性を得ることができる。
【００６８】
第７の発明によれば、未知のシステムのインパルス応答推定データと所定の参照信号とに畳み込み演算を行って擬似応答信号を発生する手段と、上記擬似応答信号と上記未知のシステムからの応答信号との差分をもとに、上記インパルス応答推定データの修正量を算出する手段と、上記修正量と上記インパルス応答推定データを加算して新たなｎビットのインパルス応答推定データを算出する手段とを備える適応フィルタで使用するデータ丸め装置において、上記適用フィルタは、上記算出されたインパルス応答推定データの修正量と前回までの上記インパルス応答推定データとの加算値を丸めて新たなインパルス応答推定データとする構成とされており、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、上記丸め前データに対してｎ−ｍビットの右シフトを行う手段と、上記丸め前データと、上記丸め前のデータに対してｎ−ｍビット右シフトしたデータとを加算する手段とを備え、上記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得ることで、正および負の２進数値に対して対称な丸め結果が得られるとともに、当該適応フィルタの特性として、優れたインパルス応答推定特性を得ることができる。
第８の発明によれば、未知のシステムのインパルス応答推定データと所定の参照信号とに畳み込み演算を行って擬似応答信号を発生する手段と、上記擬似応答信号と上記未知のシステムからの応答信号との差分をもとに、上記インパルス応答推定データの修正量を算出する手段と、上記修正量と上記インパルス応答推定データを加算して新たなｎビットのインパルス応答推定データを算出する手段とを備える適応フィルタで用いるデータ丸め装置において、上記適用フィルタは、上記算出されたインパルス応答推定データの修正量を丸める構成とされており、ｎ−ｍビットの上位ビットデータと、ｍビットの下位ビットデータと（ｎ，ｍは整数で、ｎ＞ｍ）とからなる、ｎビットの丸め前データを保持する手段と、上記丸め前データに対してｎ−ｍビットの右シフトを行う手段と、上記丸め前データと、上記丸め前データに対してｎ−ｍビット右シフトしたデータとをｎビットに揃えて加算する手段とを備え、上記加算後のｎビットデータの下位ｍビットを切り捨てて丸め結果を得ることで、正および負の２進数値に対して対称な丸め結果が得られるとともに、当該適応フィルタの特性として、優れたインパルス応答推定特性を得ることができる。
【図面の簡単な説明】
【図１】  本発明の実施の形態１に係る丸め処理回路の構成を示すブロック図である。
【図２】  実施の形態１に係る丸め処理を説明するための図である。
【図３】  本発明の実施の形態２に係る丸め処理回路の構成を示すブロック図である。
【図４】  本発明の実施の形態３に係るソフトウェアを実行するディジタル信号処理プロセッサの概略構成を示すブロック図である。
【図５】  実施の形態３に係るデータ丸め方式の実行手順を示すフローチャートである。
【図６】  本発明の実施の形態４に係るデータ丸め方式を用いる適応フィルタの構成を示すブロック図である。
【図７】  実施の形態４に係る適応フィルタの特性を示す図である。
【図８】  本発明の実施の形態５に係るデータ丸め方式を用いる適応フィルタの構成を示すブロック図である。
【図９】  単純な切り捨てによる丸めを行った場合の丸め結果を示す図である。
【図１０】  従来の丸め方式のの流れを示すフローチャートである。
【図１１】  四捨五入による丸めを行った場合の丸め結果を示す図である。
【図１２】  四捨五入による丸めを行った場合の、他の丸め結果を示す図である。
【符号の説明】
１０１，１０２，１０４…レジスタ、１０３…ｎビット加算器、１０５…ｎ−ｍビットシフト演算器、２０１…Ｘレジスタ、２０２…Ｈレジスタ、２０３…畳み込み積分器、２０４…減算器、２０５…ΔＨ生成回路、２０６…Ｈ＋ΔＨ加算器、２０７…丸め処理部、２５０…未知のシステム、４００…ディジタル信号処理プロセッサ（ＤＳＰ）、４０１…ＣＰＵ、４０２…ＲＯＭ、４０３…メモリ、４０４…出力部
【図１】
0004196434.tif 000002
【図２】
0004196434.tif 000003
【図３】
0004196434.tif 000004
【図４】
0004196434.tif 000005
【図５】
0004196434.tif 000006
【図６】
0004196434.tif 000007
【図７】
0004196434.tif 000008
【図８】
0004196434.tif 000009
【図９】
0004196434.tif 000010
【図１０】
0004196434.tif 000011
【図１１】
0004196434.tif 000012
【図１２】
0004196434.tif 000013