(57)【特許請求の範囲】
【請求項１】
ディジタルフィルタにおいて、このディジタルフィルタの加算器の入力とそのキャリー出力の演算を行うことにより、演算に際して定められたビット長を超えたデータが発生するオーバーフローを全てのビットに亙って検出するオーバーフロー検出手段と、前記オーバーフロー検出手段により正のオーバーフローが検出された場合は出力値を正の最大値に固定し、負のオーバーフローが検出された場合は出力値を負の絶対値の最大値に固定するクリップ手段と、を具備することを特徴とするディジタルフィルタ。
【請求項２】
前記正負の最大値は、前記定められたビット長よりも１ビット小さいビット長を持っていることを特徴とする請求項１記載のディジタルフィルタ。
【請求項３】
前記出力値を四捨五入する丸め手段を具備することを特徴とする請求項１又は２記載のディジタルフィルタ。
【請求項４】
互いに縦続接続が可能なディジタル回路であって、少なくとも１つの前向係数器と、少なくとも１つの後向係数器と、前記後向係数器の出力と入力信号とを加算する加算手段と、前記加算手段の出力を記憶する記憶手段と、前記後向係数器の出力と前段の前向係数器の出力とこれらの出力を加算する全ての加算器のキャリー（桁上げ）出力とが入力されるオーバーフロー（桁あふれ）検出手段と、前記記憶手段の出力に接続されたクリップ手段とを具備し、前記クリップ手段は前記オーバーフロー検出手段の出力にしたがって入力された前記記憶手段の出力を正または負の一定値にクリップして出力することを特徴とするディジタルフィルタ。
【請求項５】
互いに縦続接続が可能なディジタル回路であって、少なくとも１つの前向係数器と、少なくとも１つの後向係数器と、前記後向係数器の出力と入力信号とを加算する加算手段と、前記加算手段の出力を記憶する第１の記憶手段と、前記後向係数器の出力と前段の前向係数器の出力とこれらの出力を加算する全ての加算器のキャリー（桁上げ）出力と前記第１の記憶手段の出力が入力されるオーバーフロー（桁あふれ）検出手段と、前記第１の記憶手段の出力を記憶する第２の記憶手段の出力に接続されたクリップ手段とを具備し、前記クリップ手段は前記オーバーフロー検出手段の出力にしたがって入力された前記記憶手段の出力を正または負の一定値にクリップして出力することを特徴とするディジタルフィルタ。
【請求項６】
前記オーバーフロー検出手段は、係数器出力を論理反転する論理反転手段と、前記論理反転手段の出力とキャリー出力の全部を加算する加算手段と、前記加算手段の出力をデコード（符号化）するデコード手段とから構成されることを特徴とする請求項４に記載のディジタルフィルタ。
【請求項７】
前記オーバーフロー検出手段は、係数器出力を論理反転する論理反転手段と、前記論理反転手段の出力とキャリー出力の全部を加算する加算手段と、前記加算手段の出力と前記第１の記憶手段の出力とをデコード（符号化）するデコード手段とから構成されることを特徴とする請求項５に記載のディジタルフィルタ。
【請求項８】
前記オーバーフロー検出手段は、キャリー出力を論理反転する論理反転手段と、前記論理反転手段の出力と係数器出力の全部を加算する加算手段と、前記加算手段の出力をデコード（符号化）するデコード手段とから構成されることを特徴とする請求項４に記載のディジタルフィルタ。
【請求項９】
前記オーバーフロー検出手段は、キャリー出力を論理反転する論理反転手段と、前記論理反転手段の出力と係数器出力の全部を加算する加算手段と、前記加算手段の出力と前記第１の記憶手段の出力とをデコード（符号化）するデコード手段とから構成されることを特徴とする請求項５に記載のディジタルフィルタ。
【請求項１０】
入力データが第１の入力端子に入力される第１の加算器と、 前記加算器の出力が入力される第１のシフトレジスタと、前記シフトレジスタの出力が入力されるクリップ回路と、前記クリップ回路の出力が入力される第２のシフトレジスタと、前記第２のシフトレジスタの出力が入力される第３のシフトレジスタと、前記クリップ回路の出力が入力される第１の係数器と、前記第２のシフトレジスタの出力が入力される第２の係数器と、前記クリップ回路の出力が入力される第３の係数器と、前記第２のシフトレジスタの出力が入力される第４の係数器と、前記第３のシフトレジスタの出力が入力される第５の係数器と、前記第１、第２の係数器の出力が入力され、その和出力が前記第１の加算器の第２の入力端子に入力される第２の加算器と、前記第４、第５の係数器の出力が入力される第３の加算器と、前記第３の加算器の出力と前記第３の係数器の出力が入力され、その和出力端子から出力データが出力される第４の加算器と、前記第１、第２の係数器出力および第１、第２の加算器のキャリー出力と前段を構成する第３、第４、第５の係数器出力および第３、第４の加算器のキャリー出力とが入力されるオーバーフロー検出器とを具備し、前記クリップ回路は前記オーバーフロー検出器の出力にしたがって入力された前記第１のシフトレジスタの出力を正または負の一定値に固定して出力することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項１１】
入力データが第１の入力端子に入力される第１の加算器と、 前記加算器の出力が入力される第１のシフトレジスタと、前記シフトレジスタの出力が入力されるクリップ回路と、前記クリップ回路の出力が入力される第２のシフトレジスタと、前記第２のシフトレジスタの出力が入力される第３のシフトレジスタと、前記クリップ回路の出力が入力される第１の係数器と、前記第２のシフトレジスタの出力が入力される第２の係数器と、前記クリップ回路の出力が入力される第３の係数器と、前記第２のシフトレジスタの出力が入力される第４の係数器と、前記第３のシフトレジスタの出力が入力される第５の係数器と、前記第１、第２の係数器の出力が入力される第２の加算器と、前記第４、第５の係数器の出力が入力される第３の加算器と、前記第３の加算器の出力と前記第３の係数器の出力が入力され、その和出力端子から出力データが出力される第４の加算器と、前記第２の加算器の出力と制御信号が入力され、その和出力が前記第１の加算器の第２の入力端子に入力される第５の加算器と、前記第１、第２の係数器出力および第１、第２、第５の加算器のキャリー出力と前段を構成する第３、第４、第５の係数器出力および第３、第４の加算器のキャリー出力とが入力されるオーバーフロー検出器とを具備し、前記クリップ回路は前記オーバーフロー検出器の出力にしたがって入力された前記第１のシフトレジスタの出力を正または負の一定値に固定して出力することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項１２】
入力データが第１の入力端子に入力される第１の加算器と、 前記加算器の出力が入力される第１のシフトレジスタと、前記シフトレジスタの出力が入力されるクリップ回路と、前記クリップ回路の出力が入力される第２のシフトレジスタと、前記第２のシフトレジスタの出力が入力される第３のシフトレジスタと、前記クリップ回路の出力が入力される第１の係数器と、前記第２のシフトレジスタの出力が入力される第２の係数器と、前記クリップ回路の出力が入力される第３の係数器と、前記第２のシフトレジスタの出力が入力される第４の係数器と、前記第３のシフトレジスタの出力が入力される第５の係数器と、前記第１、第２の係数器の出力が入力され、その和出力が前記第１の加算器の第２の入力端子に入力される第２の加算器と、前記第４、第５の係数器の出力が入力される第３の加算器と、前記第３の加算器の出力と前記第３の係数器の出力が入力されその和の出力端子から出力データが出力される第４の加算器と、前記第１、第２の係数器出力および第１第２の加算器のキャリー出力と前段を構成する第３、第４、第５の係数器出力および第３、第４の加算器のキャリー出力と前記入力データと前記第１のシフトレジスタの中間タップ出力が入力されるオーバーフロー検出器とを具備し、前記クリップ回路は前記オーバーフロー検出器の出力にしたがって入力された前記第１のシフトレジスタの出力を正または負の一定値に固定して出力することを特徴とする請求項５に記載のディジタルフィルタ。
【請求項１３】
入力データが第１の入力端子に入力される第１の加算器と、 前記加算器の出力が入力される第１のシフトレジスタと、前記シフトレジスタの出力が入力されるクリップ回路と、前記クリップ回路の出力が入力される第２のシフトレジスタと、前記第２のシフトレジスタの出力が入力される第３のシフトレジスタと、前記クリップ回路の出力が入力される第１の係数器と、前記第２のシフトレジスタの出力が入力される第２の係数器と、前記クリップ回路の出力が入力される第３の係数器と、前記第２のシフトレジスタの出力が入力される第４の係数器と、前記第３のシフトレジスタの出力が入力される第５の係数器と、前記第１、第２の係数器の出力が入力される第２の加算器と、前記第４、第５の係数器の出力が入力される第３の加算器と、前記第３の加算器の出力と前記第３の係数器の出力が入力され、その和出力端子から出力データが出力される第４の加算器と、前記第２の加算器の出力と制御信号が入力され、その和出力が前記第１の加算器の第２の入力端子に入力される第５の加算器と、前記第１、第２の係数器出力および第１、第２、第５の加算器のキャリー出力と前段を構成する第３、第４、第５の係数器出力および第３、第４の加算器のキャリー出力と前記入力データと前記第１のシフトレジスタの中間タップ出力が入力されるオーバーフロー検出器とを具備し、前記クリップ回路は前記オーバーフロー検出器の出力にしたがって入力された前記第１のシフトレジスタの出力を正または負の一定値に固定して出力することを特徴とする請求項５に記載のディジタルフィルタ。
【請求項１４】
前記クリップ回路は、データ入力端子と、データ出力端子と、オーバーフロー検出器の出力が入力される第１、第２のオーバーフロー検出信号入力端子と、タイミング信号が入力される第１、第２の制御信号入力端子と、出力信号を記憶する第１の記憶手段と、内部信号を記憶する第２の記憶手段とを具備し、前記第１制御信号入力端子に入力されるタイミング信号がハイレベル（またはローレベル）の期間に前記第１、第２のオーバーフロー検出信号入力端子に入力されるオーバーフロー検出信号がオーバーフローしていないことを表すときにはデータ入力端子に入力された信号を、正のオーバーフローを表すときには０を、負のオーバーフローを表すときには１を前記第１の記憶手段にセットし、前記第１制御信号入力端子に入力されるタイミング信号がハイレベル（またはローレベル）の期間に前記オーバーフロー検出信号がオーバーフローしていないことを表すときには０を、正または負のオーバーフローを表すときには１を前記第２の記億手段にセットし、前記第２制御信号入力端子に入力されるタイミング信号がハイレベル（またはローレベル）の期間に前記第２の記憶手段の内容が１の場合には前記第１の記億手段にそれまで記憶していた値を論理反転してセットすることを特徴とする請求項４乃至５に記載のディジタルフィルタ。
【請求項１５】
オーバーフロー検出器は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第５の符号入力端子に入力がそれぞれ接続された第１から第５のインバータと、前記第１から第４のキャリー入力端子および前記第１から第５のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器の和出力とキャリー出力の両方と前記第５の全加算器の和出力が入力される第６の全加算器と、前記第６の全加算器の和出力とキャリー出力の両方と前記第５の全加算器のキャリー出力が入力される第７の全加算器と、前記第４の全加算器の和出力（／Ｚ０）と前記第６の全加算器の和出力（／Ｚ１）と前記第７の全加算器の和出力（Ｚ２）およびキャリー出力（／Ｚ３）とから論理式ｕ＝／Ｚ３∩（Ｚ２∪Ｚ１∪Ｚ０）とｖ＝Ｚ３∩（／Ｚ２∪／Ｚ１∪／Ｚ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項１６】
オーバーフロー検出器は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１、第２の符号入力端子に入力がそれぞれ接続された第１、第２のインバータと、前記第１から第４のキャリー入力端子および前記第１、第２のインバータの出力に入力がそれぞれ接続された第１、第２の全加算器と、前記第３から第５の符号入力端子に入力が接続された第３の全加算器と、前記第３の全加算器の和出力に入力が接続された第３のインバータと、前記第３の全加算器のキャリー出力に入力が接続された第４のインバータと、前記第１、第２の全加算器の和出力と第３のインバータの出力が入力される第４の全加算器と、前記第１、第２の全加算器のキャリー出力と第４のインバータの出力が入力される第５の全加算器と、前記第４の全加算器の和出力とキャリー出力の両方と前記第５の全加算器の和出力が入力される第６の全加算器と、前記第６の全加算器の和出力とキャリー出力の両方と前記第５の全加算器のキャリー出力が入力される第７の全加算器と、前記第４の全加算器の和出力（／Ｚ０）と前記第６の全加算器の和出力（／Ｚ１）と前記第７の全加算器の和出力（Ｚ２）およびキャリー出力（／Ｚ３）とから論理式ｕ＝／Ｚ３∩（Ｚ２∪Ｚ１∪Ｚ０）とｖ＝Ｚ３∩（／Ｚ２∪／Ｚ１∪／Ｚ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項１７】
オーバーフロー検出器は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第４のキャリー入力端子に入力がそれぞれ接続された第１から第４のインバータと、前記第１から第５の符号入力端子および前記第１から第４のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力が入力される第１の半加算器と、前記第１の半加算器のキャリー出力と前記第５の全加算器のキャリー出力が入力される第２の半加算器と、数値４（二進数０１００）から前記第４の全加算の和出力（Ｓ０）と第１の半加算器の和出力（Ｓ１）と第２の半加算器の和出力（Ｓ２）およびキャリー出力（Ｓ３）をそれぞれ第０から第３ビットとする二進数を引き算して４ビットの減算結果（Ｚ３、Ｚ２、Ｚ１、Ｚ０）を出力する減算手段と、前記減算手段の出力から論理式ｕ＝／Ｚ３∩（Ｚ２∪Ｚ１∪Ｚ０）とｖ＝Ｚ３∩（／Ｚ２∪／Ｚ１∪／Ｚ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項１８】
オーバーフロー検出器は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第４のキャリー入力端子に入力が接続された第１のインバータと、前記第１から第３のキャリー入力端子に入力が接続された第１の全加算器と、前記第１から第５の符号入力端子および前記第４のインバータの出力に入力がそれぞれ接続された第２、第３の全加算器と、前記第１の全加算器の和出力に入力が接続された第２のインバータと、前記第１の全加算器のキャリー出力に入力が接続された第３のインバータと、前記第２のインバータの出力および前記第２、第３の全加算器の和出力が入力される第４の全加算器と、前記第３のインバータの出力および前記第２、第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力が入力される第１の半加算器と、前記第１の半加算器のキャリー出力と前記第５の全加算器のキャリー出力が入力される第２の半加算器と、数値４（二進数０１００）から前記第４の全加算の和出力（Ｓ０）と第１の半加算器の和出力（Ｓ１）と第２の半加算器の和出力（Ｓ２）およびキャリー出力（Ｓ３）をそれぞれ第０から第３ビットとする二進数を引き算して４ビットの減算結果（Ｚ３、Ｚ２、Ｚ１、Ｚ０）を出力する減算手段と、前記減算手段の出力から論理式ｕ＝／Ｚ３∩（Ｚ２∪Ｚ１∪Ｚ０）とｖ＝Ｚ３∩（／Ｚ２∪／Ｚ１∪／Ｚ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項１９】
オーバーフロー検出器は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第５の符号入力端子に入力がそれぞれ接続された第１から第５のインバータと、前記第１から第４のキャリー入力端子および前記第１から５のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力が入力される第１の半加算器と、前記第１の半加算器のキャリー出力と前記第５の全加算器のキャリー出力が入力される第２の半加算器と、前記第１の半加算器の和出力（Ｓ１）と前記第２の半加算器の和出力（Ｓ２）およびキャリー出力（Ｓ３）とから論理式ｕ＝Ｓ３∪（Ｓ２∩Ｓ１）とｖ＝／Ｓ３∩／Ｓ２とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項２０】
オーバーフロー検出器は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１、第２の符号入力端子に入力がそれぞれ接続された第１、第２のインバータと、前記第１から第４のキャリー入力端子および前記第１、第２のインバータの出力に入力がそれぞれ接続された第１、第２の全加算器と、前記第３から第５の符号入力端子に入力が接続された第３の全加算器と、前記第３の全加算器の和出力に入力が接続された第３のインバータと、前記第３の全加算器のキャリー出力に入力が接続された第４のインバータと、前記第１、第２の全加算器の和出力と第３のインバータの出力が入力される第４の全加算器と、前記第１、第２の全加算器のキャリー出力と第４のインバータの出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力が入力される第１の半加算器と、前記第１の半加算器のキャリー出力と前記第５の全加算器のキャリー出力が入力される第２の半加算器と、前記第１の半加算器の和出力（Ｓ１）と前記第２の半加算器の和出力（Ｓ２）およびキャリー出力（Ｓ３）とから論理式ｕ＝Ｓ３∪（Ｓ２∩Ｓ１）とｖ＝／Ｓ３∩／Ｓ２とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項２１】
オーバーフロー検出器は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第４のキャリー入力端子に入力がそれぞれ接続された第１から第４のインバータと、前記第１から第５の符号入力端子および前記第１から第４のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力が入力される第１の半加算器と、前記第１の半加算器のキャリー出力と前記第５の全加算器のキャリー出力が入力される第２の半加算器と、前記第１の半加算器の和出力（Ｓ１）と前記第２の半加算器の和出力（Ｓ２）およびキャリー出力（Ｓ３）とから論理式ｕ＝／Ｓ３∩／Ｓ２とｖ＝Ｓ３∪（Ｓ２∩Ｓ１）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項２２】
オーバーフロー検出器は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第４のキャリー入力端子に入力が接続された第１のインバータと、前記１から第３のキャリー入力端子に入力が接続された第１の全加算器と、前記第１から第５の符号入力端子および前記第１のインバータの出力に入力がそれぞれ接続された第２、第３の全加算器と、前記第１の全加算器の和出力に入力が接続された第２のインバータと、前記第１の全加算器のキャリー出力に入力が接続された第３のインバータと、前記第２のインバータの出力および前記第２、第３の全加算器の和出力が入力される第４の全加算器と、前記第３のインバータの出力および前記第２、第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力が入力される第１の半加算器と、前記第１の半加算器のキャリー出力と前記第５の全加算器のキャリー出力が入力される第２の半加算器と、前記第１の半加算器の和出力（Ｓ１）と前記第２の半加算器の和出力（Ｓ２）およびキャリー出力（Ｓ３）とから論理式ｕ＝／Ｓ３∩／Ｓ２とｖ＝Ｓ３∪（Ｓ２∩Ｓ１）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項２３】
オーバーフロー検出器は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第５の符号入力端子に入力がそれぞれ接続された第１から第５のインバータと、前記第１から第４のキャリー入力端子および前記第１から第５のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝Ｐ２∩（Ｐ１Ａ∪Ｐ１Ｂ）とｖ＝／Ｐ２∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項２４】
オーバーフロー検出器は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と第１、第２のオーバーフロー検出信号出力端子と前記第１、第２の符号入力端子に入力がそれぞれ接続された第１、第２のインバータと、前記第１から第４のキャリー入力端子および前記第１、第２のインバータの出力に入力がそれぞれ接続された第１、第２の全加算器と、前記第３から第５の符号入力端子に入力が接続された第３の全加算器と、前記第３の全加算器の和出力に入力が接続された第３のインバータと、前記第３の全加算器のキャリー出力に入力が接続された第４のインバータと、前記第１、第２の全加算器の和出力と第３のインバータの出力が入力される第４の全加算器と、前記第１、第２の全加算器のキャリー出力と第４のインバータの出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝Ｐ２∩（Ｐ１Ａ∪Ｐ１Ｂ）とｖ＝／Ｐ２∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項２５】
オーバーフロー検出器は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第４のキャリー入力端子に入力がそれぞれ接続された第１から第４のインバータと、前記第１から第５の符号入力端子および前記第１から第４のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝／Ｐ２∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とｖ＝Ｐ２∩（Ｐ１Ａ∪Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項２６】
オーバーフロー検出器は，第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第４のキャリー入力端子に入力が接続された第１のインバータと、前記第１から第３のキャリー入力端子に入力が接続された第１の全加算器と、前記第１から第５の符号入力端子および前記第１のインバータの出力に入力がそれぞれ接続された第２、第３の全加算器と、前記第１の全加算器の和出力に入力が接続された第２のインバータと、前記第１の全加算器のキャリー出力に入力が接続された第３のインバータと、前記第２のインバータの出力および前記第２、第３の全加算器の和出力が入力される第４の全加算器と、前記第３のインバータの出力および前記第２、第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝／Ｐ２∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とｖ＝Ｐ２∩（Ｐ１Ａ∪Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項２７】
オーバーフロー検出器は、第１、第２のキャリー入力端子と、第１から第３の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第３の符号入力端子に入力がそれぞれ接続された第１から第３のインバータと、前記第１、第２のキャリー入力端子および前記第１から第３のインバータの出力に入力がそれぞれ接続された半加算器および第１の全加算器と、前記半加算器の和出力と前記第１の全加算器の和出力とが入力されるアンドゲートと、前記アンドゲートの出力と前記半加算器のキャリー出力と前記第１の全加算器のキャリー出力とが入力されそのキャリー出力が前記第１のオーバーフロー検出信号出力端子に接続される第２の全加算器と、前記第２の全加算器の和およびキャリー出力とが入力されその出力が前記第２のオーバーフロー検出信号出力端子に接続されるノアゲートとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項２８】
オーバーフロー検出器は、第１、第２のキャリー入力端子と、第１から第３の符号入力端子と、前記第１、第２のオーバーフロー検出信号出力端子と、前記第１、第２のキャリー入力端子に入力がそれぞれ接続された半加算器と、前記第１から第３の符号入力端子に入力がそれぞれ接続された第１の全加算器と、前記第１の全加算器の和出力に入力が接続された第１のインバータと、前記第１の全加算器のキャリー出力に入力が接続された第２のインバータと、前記半加算器の和出力と前記第１のインバータの出力とが入力されるアンドゲートと、前記アンドゲートの出力と前記半加算器のキャリー出力と前記第２のインバータの出力とが入力されそのキャリー出力が前記第１のオーバーフロー検出信号出力端子に接続される第２の全加算器と、前記第２の全加算器の和およびキャリー出力とが入力されその出力が前記第２のオーバーフロー検出信号出力端子に接続されるノアゲートとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項２９】
オーバーフロー検出器は、第１、第２のキャリー入力端子と、第１から第３の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１、第２のキャリー入力端子に入力がそれぞれ接続された第１、第２のインバータと、前記第１、第２のインバータの出力および前記第１から第３の符号入力端子に入力がそれぞれ接続された半加算器および第１の全加算器と、前記半加算器の和出力と前記第１の全加算器の和出力とが入力されるアンドゲートと、前記アンドゲートの出力と前記半加算器のキャリー出力と前記第１の全加算器のキャリー出力とが入力されそのキャリー出力が前記第２のオーバーフロー検出信号出力端子に接続される第２の全加算器と、前記第２の全加算器の和およびキャリー出力とが入力されその出力が前記第１のオーバーフロー検出信号出力端子に接続されるノアゲートとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項３０】
オーバーフロー検出器は、第１から第３のキャリー入力端子と、第１から第４の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第４の符号入力端子に入力がそれぞれ接続された第１から第４のインバータと、前記第１から第３のキャリー入力端子および前記第１から４のインバータの出力のうち６つの端子に入力がそれぞれ接続された第１、第２の全加算器と、前記第１から第３のキャリー入力端子および前記第１から第４のインバータの出力のうち前記第１、第２の全加算器のどちらにも接続されていない１つの端子と、前記第１、第２の全加算器の和出力とに入力が接続される第３の全加算器と、 前記第１、第２、第３の全加算器のキャリー出力が入力される第４の全加算器と、前記第３の全加算器の和出力（Ｓ０）と前記第４の全加算器の和出力（Ｓ１）およびキャリー出力（Ｓ２）とから論理式ｕ＝Ｓ２∩（Ｓ１∪Ｓ０）とｖ＝／Ｓ２∩（／Ｓ１∪／Ｓ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項３１】
オーバーフロー検出器は、第１から第３のキャリー入力端子と、第１から第４の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１の符号入力端子に入力が接続された第１のインバータと、前記第１から第３のキャリー入力端子に入力がそれぞれ接続された第１の全加算器と、前記第２から第４の符号入力端子に入力がそれぞれ接続された第２の全加算器と、前記第２の全加算器の和出力に入力が接続された第２のインバータと、前記第２の全加算器のキャリー出力に入力が接続された第３のインバータと、前記第１の全加算器の和出力と前記第１、第２のインバータの出力が入力される第３の全加算器と、前記第１ないし第３の全加算器のキャリー出力と前記第３のインバータの出力が入力される第４の全加算器と、前記第３の全加算器の和出力（Ｓ０）と前記第４の全加算器の和出力（Ｓ１）およびキャリー出力（Ｓ２）とから論理式ｕ＝Ｓ２∩（Ｓ１∪Ｓ０）とｖ＝／Ｓ２∩（／Ｓ１∪／Ｓ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項３２】
オーバーフロー検出器は、第１から第３のキャリー入力端子と、第１から第４の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第３のキャリー入力端子に入力がそれぞれ接続された第１から第３のインバータと、前記第１から第３のインバータの出力および前記第１から第４の符号入力端子のうち６つの端子に入力がそれぞれ接続された第１、第２の全加算器と、前記第１から第３のインバータの出力および前記第１から第４の符号入力端子のうち前記第１、第２の全加算器のどちらにも接続されていない１つの端子と前記第１、第２の全加算器の和出力とに入力が接続される第３の全加算器と、前記第１、第２、第３の全加算器のキャリー出力が入力される第４の全加算器と、前記第３の全加算器の和出力（Ｓ０）と前記第４の全加算器の和出力（Ｓ１）およびキャリー出力（Ｓ２）とから論理式ｕ＝／Ｓ２∩（／Ｓ１∪／Ｓ０）とｖ＝Ｓ２∩（Ｓ１∪Ｓ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項３３】
オーバーフロー検出器は、第１から第３のキャリー入力端子と、第１から第４の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第３のキャリー入力端子に入力がそれぞれ接続された第１の全加算器と、前記第２から第４の符号入力端子に入力がそれぞれ接続された第２の全加算器と、前記第１の全加算器の和出力に入力が接続された第１のインバータと、前記第１の全加算器のキャリー出力に入力が接続された第２のインバータと、前記第２の全加算器の和出力と前記第１の符号入力端子と前記第１のインバータの出力が入力に接続される第３の全加算器と、前記第２、第３の全加算器のキャリー出力と前記第２のインバータの出力が入力される第４の全加算器と、前記第３の全加算器の和出力（Ｓ０）と前記第４の全加算器の和出力（Ｓ１）およびキャリー出力（Ｓ２）とから論理式ｕ＝／Ｓ２∩（／Ｓ１∪／Ｓ０）とｖ＝Ｓ２∩（Ｓ１∪Ｓ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項３４】
オーバーフロー検出器は、第１から第５のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第５の符号入力端子に入力がそれぞれ接続された第１から第５のインバータと、前記第２から第４のキャリー入力端子および前記第１から第５のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第１のキャリー入力端子と前記第４の全加算器の和出力とが入力に接続されたアンドゲートと、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力とが入力される半加算器と、前記アンドゲートの出力（Ｐ１Ａ）と前記半加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２Ａ）と前記第５の全加算器のキャリー出力（Ｐ２Ｂ）とから論理式ｕ＝（Ｐ２Ｂ∩Ｐ２Ａ）∪［（ＰｌＡ∪Ｐ１Ｂ）］とｖ＝／Ｐ２Ｂ∩／Ｐ２Ａ∩（／ＰｌＡ∪／Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項３５】
オーバーフロー検出器は、第１から第５のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１、第２の符号入力端子に入力がそれぞれ接続された第１、第２のインバータと、前記第２から第４のキャリー入力端子および前記第１、第２のインバータの出力に入力がそれぞれ接続された第１第２の全加算器と、前記第３から第５の符号入力端子に入力が接続された第３の全加算器と、前記第３の全加算器の和出力に入力が接続された第３のインバータと、前記第３の全加算器のキャリー出力に入力が接続された第４のインバータと、前記第１、第２の全加算器の和出力と第３のインバータの出力が入力される第４の全加算器と、前記第１、第２の全加算器のキャリー出力と第４のインバータの出力が入力される第５の全加算器と、前記第１のキャリー入力端子と前記第４の全加算器の和出力とが入力に接続されたアンドゲートと、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力とが入力される半加算器と、前記アンドゲートの出力（Ｐ１Ａ）と前記半加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２Ａ）と前記第５の全加算器のキャリー出力（Ｐ２Ｂ）とから論理式ｕ＝（Ｐ２Ｂ∩Ｐ２Ａ）∪［（Ｐ１Ａ∪Ｐ１Ｂ）］とｖ＝／Ｐ２Ｂ∩／Ｐ２Ａ∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項３６】
オーバーフロー検出器は、第１から第３のキャリー入力端子と、第１から第３の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第３の符号入力端子に入力がそれぞれ接続された第１から第３のインバータと、前記第１から第３のキャリー入力端子および前記第１から第３のインバータの出力に入力がそれぞれ接続された第１、第２の全加算器と、前記第１の全加算器の和出力と前記第２の全加算器の和出力とが入力されるアンドゲートと、前記アンドゲートの出力と前記第１、第２の全加算器のキャリー出力とが入力され、そのキャリー出力が前記第１のオーバーフロー検出信号出力端子に接続される第３の全加算器と、前記第３の全加算器の和およびキャリー出力とが入力されその出力が前記第２のオーバーフロー検出信号出力端子に接続されるノアゲートとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項３７】
オーバーフロー検出器は第１から３のキャリー入力端子と、 第１から第３の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第３のキャリー入力端子に入力がそれぞれ接続された第１の全加算器と、前記第１から第３の符号入力端子に入力がそれぞれ接続された第２の全加算器と、前記第２の全加算器の和出力に入力が接続された第１のインバータと、前記第２の全加算器のキャリー出力に入力が接続された第２のインバータと、前記第１の全加算器の和出力と前記第１のインバータの出力とが入力されるアンドゲートと、前記アンドゲートの出力と前記第１の全加算器のキャリー出力と前記第２のインバータの出力が入力され、そのキャリー出力が前記第１のオーバーフロー検出信号出力端子に接続される第３の全加算器と、前記第３の全加算器の和およびキャリー出力とが入力され、その出力が前記第２のオーバーフロー検出信号出力端子に接続されるノアゲートとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項３８】
オーバーフロー検出器は、第１から第４のキャリー入力端子と、第１から第４の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第４のキャリー入力端子に入力がそれぞれ接続された第１から第４のインバータと、前記第１から第４の符号入力端子および前記第１から第４のインバータの出力に入力がそれぞれ接続された第１、第２の全加算器および半加算器と、前記第１、第２の全加算器の和出力と前記半加算器の和出力が入力される第４の全加算器と、前記第１、第２の全加算器のキャリー出力と前記半加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝／Ｐ２∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とｖ＝Ｐ２∩（Ｐ１Ａ∪Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項３９】
オーバーフロー検出器は、第１から第４のキャリー入力端子と、第１から第４の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第４のキャリー入力端子に入力が接続された第１のインバータと、前記第１から第３のキャリー入力端子に入力がそれぞれ接続された第１の全加算器と、前記第１から第３の符号入力端子に入力がそれぞれ接続された第２の全加算器と、前記第１のインバータ出力と前記第４の符号入力端子が入力に接続された半加算器と、前記第１の全加算器の和出力に入力が接続された第２のインバータと、前記第１の全加算器のキャリー出力に入力が接続された第３のインバータと、前記第２のインバータの出力と前記第２の全加算器の和出力と前記半加算器の和出力が入力される第４の全加算器と、前記第３のインバータの出力と前記第２の全加算器のキャリー出力と前記半加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝／Ｐ２∩（／ＰｌＡ∪／Ｐ１Ｂ）とｖ＝Ｐ２∩（Ｐ１Ａ∪Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする請求項４に記載のディジタルフィルタ。
【請求項４０】
オーバーフロー検出器は、複数のキャリー入力端子と、複数の符号入力端子と、第１、第２のデータビット入力端子と、第１、第２のオーバーフロー検出信号出力端子とを具備し、前記複数のキャリー入力端子と符号入力端子に入力される信号から検出されたオーバーフロー信号がオーバーフローを示している場合にはこれを出力し、オーバーフローを示していない場合には前記第１、第２のデータビット入力端子に入力される第１、第２のデータビット（ｋ、ｌ）にしたがって第１データビットが０で第２データビットが１（ｋ＝０、ｌ＝１）のときに正のオーバーフローに、第１データビットが１で第２データビットが０（ｋ＝１、ｌ＝０）のときに負のオーバーフローに相当する検出信号を出力することを特徴とする請求項５に記載のディジタルフィルタ。
【請求項４１】
オーバーフロー検出器は、第１、第２のデータビット入力端子と、第１から第４のキャリー入力端子と、第１から第５の符号化入力端子と、前記第１から第５の符号入力端子に入力がそれぞれ接続された第１から第５のインバータと、前記第１から第４のキャリー入力端子および前記第１から第５のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝Ｐ２∩（ＰｌＡ∪Ｐ１Ｂ）とｖ＝／Ｐ２∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とにしたがってその第１、第２の出力を生成するデコーダと、前記第１のデータビット入力端子に入力が接続された第６のインバータと、前記第２のデータビット入力端子に入力が接続された第７のインバータと、前記デコーダの第１の出力が入力される第８のインバータと、前記デコーダの第２の出力が入力される第９のインバータと、前記第６のインバータの出力と第２のデータビット入力端子と第９のインバータの出力に入力が接続された第１のアンドゲートと、前記第７のインバータの出力と第１のデータビット入力端子と第８のインバータの出力に入力が接続された第２のアンドゲートと、前記第１のアンドゲートの出力とデコーダの第１の出力が入力され、正のオーバーフロー検出信号を出力する第１のオアゲートと、前記第２のアンドゲートの出力とデコーダの第２の出力が入力され、負のオーバーフロー検出信号を出力する第２のオアゲートとを具備することを特徴とする請求項５に記載のディジタルフィルタ。
【請求項４２】
オーバーフロー検出器は、第１、第２のデータビット入力端子と、第１から第４のキャリー入力端子と、第１から第５の符号化入力端子と、前記第１、第２の符号入力端子に入力がそれぞれ接続された第１、第２のインバータと、前記第１から第４のキャリー入力端子および前記第１、第２のインバータの出力に入力がそれぞれ接続された第１、第２の全加算器と、前記第３から第５の符号入力端子に入力が接続された第３の全加算器と、前記第３の全加算器の和出力に入力が接続された第３のインバータと、前記第３の全加算器のキャリー出力に入力が接続された第４のインバータと、前記第１、第２の全加算器の和出力と第３のインバータの出力が入力される第４の全加算器と、前記第１、第２の全加算器のキャリー出力と第４のインバータの出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝Ｐ２∩（ＰｌＡ∪Ｐ１Ｂ）とｖ＝／Ｐ２∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とにしたがってその第１、第２の出力を生成するデコーダと、前記第１のデータビット入力端子に入力が接続された第５のインバータと、前記第２のデータビット入力端子に入力が接続された第６のインバータと、前記デコーダの第１の出力が入力される第７のインバータと、前記デコーダの第２の出力が入力される第８のインバータと、前記第５のインバータの出力と第２のデータビット入力端子と第８のインバータの出力に入力が接続された第１のアンドゲートと、前記第６のインバータの出力と第１のデータビット入力端子と第７のインバータの出力に入力が接続された第２のアンドゲートと、前記第１のアンドゲートの出力とデコーダの第１の出力が入力され正のオーバーフロー検出信号を出力する第１のオアゲートと、前記第２のアンドゲートの出力とデコーダの第２の出力が入力され負のオーバーフロー検出信号を出力する第２のオアゲートとを具備することを特徴とする請求項５に記載のディジタルフィルタ。
【請求項４３】
オーバーフロー検出器は、第１、第２のデータビット入力端子と、第１から第５のキャリー入力端子と、第１から第５の符号化入力端子と、前記第１から第５の符号入力端子に入力がそれぞれ接続された第１から第５のインバータと、前記第２から第４のキャリー入力端子および前記第１から第５のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第１のキャリー入力端子と前記第４の全加算器の和出力とが入力に接続された第１のアンドゲートと、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力とが入力される半加算器と、前記第１のアンドゲートの出力（Ｐ１Ａ）と前記半加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２Ａ）と前記第５の全加算器のキャリー出力（Ｐ２Ｂ）とから論理式ｕ＝（Ｐ２Ｂ∩Ｐ２Ａ）∪［（Ｐ２Ｂ∪Ｐ２Ａ）∩（Ｐ１Ａ∪Ｐ１Ｂ）］とｖ＝／Ｐ２Ｂ∩／Ｐ２Ａ∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とにしたがってその第１、第２の出力を生成するデコーダと、前記第１のデータビット入力端子に入力が接続された第６のインバータと、前記第２のデータビット入力端子に入力が接続された第７のインバータと、前記デコーダの第１の出力が入力される第８のインバータと、前記デコーダの第２の出力が入力される第９のインバータと、前記第６のインバータの出力と第２のデータビット入力端子と第９のインバータの出力に入力が接続された第１のアンドゲートと、前記第７のインバータの出力と第１のデータビット入力端子と第８のインバータの出力に入力が接続された第３のアンドゲートと、前記第３のアンドゲートの出力とデコーダの第１の出力が入力され正のオーバーフロー検出信号を出力する第１のオアゲートと、前記第３のアンドゲートの出力とデコーダの第２の出力が入力され負のオーバーフロー検出信号を出力する第２のオアゲートとを具備することを特徴とする請求項５に記載のディジタルフィルタ。
【請求項４４】
オーバーフロー検出器は、第１、第２のデータビット入力端子と、第１から第５のキャリー入力端子と、第１から第５の符号化入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１、第２の符号入力端子に入力がそれぞれ接続された第１、第２のインバータと、前記第２から第４のキャリー入力端子および前記第１、第２のインバータの出力に入力がそれぞれ接続された第１、第２の全加算器と、前記第３から第５の符号入力端子に入力された第３の全加算器と、前記第３の全加算器の和出力に入力が接続された第３のインバータと、前記第３の全加算器のキャリー出力に入力が接続された第４のインバータと、前記第１、第２の全加算器の和出力と第３のインバータの出力が入力されると第４の全加算器と、前記第１、第２の全加算器のキャリー出力と第４のインバータの出力が入力される第５の全加算器と、前記第１のキャリー入力端子と前記第４の全加算器の和出力とが入力に接続された第１のアンドゲートと、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力とが入力される半加算器と、前記第１のアンドゲートの出力（Ｐ１Ａ）と前記半加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２Ａ）と前記第５の全加算器のキャリー出力（Ｐ２Ｂ）とから論理式ｕ＝（Ｐ２Ｂ∩Ｐ２Ａ）∪［（Ｐ２Ｂ∪Ｐ２Ａ）∩（Ｐ１Ａ∪Ｐ１Ｂ）］とｖ＝／Ｐ２Ｂ∩／Ｐ２Ａ∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とにしたがってその第１、第２の出力を生成するデコーダと、前記第１のデータビット入力端子に入力が接続された第５のインバータと、前記第２のデータビット入力端子に入力が接続された第６のインバータと、前記デコーダの第１の出力が入力される第７のインバータと、前記デコーダの第２の出力が入力される第８のインバータと、前記第５のインバータの出力と第２のデータビット入力端子と第８のインバータの出力に入力が接続された第２のアンドゲートと、前記第６のインバータの出力と第１のデータビット入力端子と第７のインバータの出力に入力が接続された第３のアンドゲートと、前記第２のアンドゲートの出力とデコーダの第１の出力が入力され正のオーバーフロー検出信号を出力する第１のオアゲートと、前記第３のアンドゲートの出力とデコーダの第２の出力が入力され負のオーバーフロー検出信号を出力する第２のオアゲートとを具備することを特徴とする請求項５に記載のディジタルフィルタ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、ディジタルフィルタに係り、特にバイカッド（ｂｉ−ｑｕａｄ）フィルタにおけるオーバーフロー振動の防止技術に関する。
【０００２】
【従来の技術】
近年、ディジタルフィルタは、オーバーサンプリング方式のＡ／Ｄ（アナログ／ディジタル）コンバータの普及に伴って、盛んに電子機器に採用されるようになった。なかでも、係数感度が低く、安定度の高いバイカッド（ｂｉ−ｑｕａｄ）フィルタは、多く用いられている。
【０００３】
オーバーサンプリング方式のＡ／Ｄコンバータは、アナログ入力信号の最高周波数成分よりもはるかに高いサンプリングレートでこれを変換し、ディジタル出力を後段に置かれたディジタルローパスフィルタに通して、高い周波数のノイズ（雑音）成分を減衰させ、変換ノイズを低減する。特に、ΔΣ方式のものは、ノイズシェーピングと呼ばれる変換ノイズの周波数特性を持ち、ノイズのパワースペクトルが高域に偏るため、１ビットのディジタル信号に変換しても、オーバーサンプリングによって、１４ビット程度の精度を確保できる。したがって、ＬＳＩ（大規模集積回路）チップ上の全回路面積に対して、アナログ回路の占める割合を小さくでき、アナログ回路自体の構成も簡単にできるため、携帯電話などに採用されている。
【０００４】
このような電子機器は、基本機能のほかにも操作性や多機能性を重視した設計がなされる傾向にあり、ひとつのＬＳＩ上に占めるディジタルフィルタの回路面積も小さいほうが望ましい。こうした回路面積削減の要求に対して、直列演算方式は、非常に優れた面積効率を提供する。
【０００５】
ただし、この方式には、オーバーフロー（桁あふれ）が検出しにくく、検出後の対策が困難であるという欠点がある。直列演算方式では、ＬＳＢ（最下位ビット）からＭＳＢ（最上位ビット）に向かって、演算が１ビットずつ進行する。オーバーフローは、演算の結果、定められたビット長を超えたデータが発生する現象であり、ＭＳＢが処理されてはじめて検出が可能になるので、検出された時点で、データは演算器から外部へと既に出力されてしまっている。
【０００６】
図３４（ａ）と（ｂ）は、ディジタルバイカッドフィルタでオーバーフローが発生した場合の入力信号と出力信号である。
【０００７】
アナログ回路の応答とは異なり、過大入力に対して、出力が激しく振動している。この現象をオーバーフロー振動と言う。
【０００８】
オーバーフロー振動は、ディジタル信号が２の補数表現されていることに原因がある。例えば、−４から＋３までの数を２の補数表現を用いて２進数で表示すると、下のようになる。
【０００９】
＋３    ：０１１
＋２    ：０１０
＋１    ：００１
０      ：０００
−１    ：１１１
−２    ：１１０
−３    ：１０１
−４    ：１００
コロン（：記号）の左が１０進数、右が２進数である。＋３の１つ上は＋４（０１００）であるが、桁が３ビットしかないとき、下側の３ビットしか表現できないため、＋３（０１１）から１増加するごとに、−４（１００）、−３（１０１）、−２（１１０）と変化する。また、−４の１つ下は−５（１０１１）であるが、同様に桁数が限られていると、下側の３ビットしか表現できないため、−４から１減少するごとに＋３（０１１）、＋２（０１０）、＋１（００１）のように変化する。
【００１０】
上記の理由から、オーバーフローが生じた場合と、オーバーフローから正常値に復帰した場合に、ディジタルフィルタ内部の演算器出力は、正の最大値付近と負の最大値付近とを行き来するようになり、図３４（ｂ）で見られるような、振動的波形が出力される。
【００１１】
図２９は、従来のオーバーフロー振動を防止した直列演算型ディジタルバイカッドフィルタ（破線内）である。
【００１２】
図２９において、１ａと１ｄは１ビットレジスタ、１ｂ、１ｃ、１ｅ、１ｆは複数ビットのシフトレジスタ、２は係数器、３は加算器、４はエクスクルーシブノアゲート（一致回路）、５はセレクタ、６はアンドゲートである。セレクタ５には、例えば図２６に示すものが用いられる。図２９では、セレクタの制御信号は省略してある。
【００１３】
バイカッドは、多段に縦続接続して用いられることが多いため、図２９には、前後の段のバイカッド回路の一部も示してある。シフトレジスタ１ｅ、１ｆは、係数器２の遅延を補償するために挿入されているので、係数器の遅延が１演算サイクル以下であれば、不要である。
【００１４】
この従来例は、文献ＩＥＥＥ  Joｕrnal of Solid-State Circｕits,vol.SC-23,no3,p.838,Fig.4.に見られるものと同様のオーバーフロー振動防止回路すなわちエクスクルーシブノア（オア）ゲート４とアンドゲート６を有し、オーバーフローが検出されると、シフトレジスタに蓄えられた内部記憶を０にクランプしている。
【００１５】
この動作は、エクスクルーシブノアゲート４、セレクタ５、１ビットレジスタ１ｄ、アンドゲート６によって実行される。ＭＳＢとその下のビットが一致しているかどうかをエクスクルーシブノアゲート４が検出したタイミングでセレクタ５からその結果を１ｄに出力し、次の演算サイクルで結果を１ｄにラッチ（記憶）する。検出結果が１（一致）ならば正常、０（不一致）ならばオーバーフローである。正常動作時には、アンドゲート６からシフトレジスタ１ｂまたは１ｃの出力がそのまま出力されるが、オーバーフロー時には、アンドゲート６の出力は０になる。図３５（ａ）と（ｂ）は、図２９の従来例でオーバーフローが発生した場合の入力信号と出力信号である。この図３５から、オーバーフロー振動がまだ残っていることと、オーバーフロー限界付近の入力に対しては、スパイク状のノイズが多量に発生していることが分かる。
【００１６】
【発明が解決しようとする課題】
従来例には、次のような２つの欠点がある。
【００１７】
第１の欠点は、エクスクルーシブノア（オア）ゲートでは、２ビット以上の複数ビットに亙るオーバーフローが検出できない点である（図３６（ｂ）の大きな段差部分）。図２９の回路では、演算の１サイクルのあいだに、前段のバイカッドでの加算も含めると４回の加算が行われている。仮に乗算でオーバーフローしなかったとしても、最大３ビットのオーバーフローが発生する可能性がある。
【００１８】
第２の欠点は、オーバーフロー振動の発生が完全には防止できないことである（図３６（ｂ）の細かいスパイク状の波形部分）。オーバーフローが検出されたときには、すでにオーバーフローしたデータが出力されてしまっている。また、内部記憶を０にクランプしているので、正常動作とオーバーフロー防止動作とを繰り返すような場合、波形に段差が発生し、これがノイズとなる。
【００１９】
本発明は、上述の如き従来の課題を解決するためになされたもので、その目的は、２ビット以上の複数ビットに亙るオーバーフローを検出できると共に、オーバーフロー振動の発生を完全に防止することができるディジタルフィルタを提供することである。
【００２０】
【課題を解決するための手段】
上記目的を達成するために、本発明の特徴は、ディジタルフィルタにおいて、このディジタルフィルタの加算器の入力とそのキャリー出力の演算を行うことにより、演算に際して定められたビット長を超えたデータが発生するオーバーフローを全てのビットに亙って検出するオーバーフロー検出手段と、前記オーバーフロー検出手段により正のオーバーフローが検出された場合は出力値を正の最大値に固定し、負のオーバーフローが検出された場合は出力値を負の絶対値の最大値に固定するクリップ手段と、を具備することである。
【００２１】
本発明の他の特徴は、前記オーバーフロー検出手段によるオーバーフローの検出レベルを１ビット下げることにある。
【００２２】
本発明の他の特徴は、前記出力値を四捨五入する丸め手段を具備することにある。
【００２３】
本発明の他の特徴は、互いに縦続接続が可能なディジタル回路であって、少なくとも１つの前向係数器と、少なくとも１つの後向係数器と、前記後向係数器の出力と入力信号とを加算する加算手段と、前記加算手段の出力を記憶する記憶手段と、前記後向係数器の出力と前段の前向係数器の出力とこれらの出力を加算する全ての加算器のキャリー（桁上げ）出力とが入力されるオーバーフロー（桁あふれ）検出手段と、前記記憶手段の出力に接続されたクリップ手段とを具備し、前記クリップ手段は前記オーバーフロー検出手段の出力にしたがって入力された前記記憶手段の出力を正または負の一定値にクリップして出力することにある。
【００２４】
本発明の他の特徴は、互いに縦続接続が可能なディジタル回路であって、少なくとも１つの前向係数器と、少なくとも１つの後向係数器と、前記後向係数器の出力と入力信号とを加算する加算手段と、前記加算手段の出力を記憶する第１の記憶手段と、前記後向係数器の出力と前段の前向係数器の出力とこれらの出力を加算する全ての加算器のキャリー（桁上げ）出力と前記第１の記憶手段の出力が入力されるオーバーフロー（桁あふれ）検出手段と、前記第１の記憶手段の出力を記憶する第２の記憶手段の出力に接続されたクリップ手段とを具備し、前記クリップ手段は前記オーバーフロー検出手段の出力にしたがって入力された前記記憶手段の出力を正または負の一定値にクリップして出力することにある。
【００２５】
本発明の他の特徴は、係数器出力を論理反転する論理反転手段と、前記論理反転手段の出力とキャリー出力の全部を加算する加算手段と、前記加算手段の出力をデコード（符号化）するデコード手段とから構成されることを特徴とする。
【００２６】
本発明の他の特徴は、係数器出力を論理反転する論理反転手段と、前記論理反転手段の出力とキャリー出力の全部を加算する加算手段と、前記加算手段の出力と前記第１の記憶手段の出力とをデコード（符号化）するデコード手段とから構成されることを特徴とする。
【００２７】
本発明の他の特徴は、キャリー出力を論理反転する論理反転手段と、前記論理反転手段の出力と係数器出力の全部を加算する加算手段と、前記加算手段の出力をデコード（符号化）するデコード手段とから構成されることを特徴とする。
【００２８】
本発明の他の特徴は、キャリー出力を論理反転する論理反転手段と、前記論理反転手段の出力と係数器出力の全部を加算する加算手段と、前記加算手段の出力と前記第１の記憶手段の出力とをデコード（符号化）するデコード手段とから構成されることを特徴とする。
【００２９】
本発明の他の特徴は、入力データが第１の入力端子に入力される第１の加算器と、前記加算器の出力が入力される第１のシフトレジスタと、前記シフトレジスタの出力が入力されるクリップ回路と、前記クリップ回路の出力が入力される第２のシフトレジスタと、前記第２のシフトレジスタの出力が入力される第３のシフトレジスタと、前記クリップ回路の出力が入力される第１の係数器と、前記第２のシフトレジスタの出力が入力される第２の係数器と、前記クリップ回路の出力が入力される第３の係数器と、前記第２のシフトレジスタの出力が入力される第４の係数器と、前記第３のシフトレジスタの出力が入力される第５の係数器と、前記第１、第２の係数器の出力が入力され、その和出力が前記第１の加算器の第２の入力端子に入力される第２の加算器と、前記第４、第５の係数器の出力が入力される第３の加算器と、前記第３の加算器の出力と前記第３の係数器の出力が入力され、その和出力端子から出力データが出力される第４の加算器と、前記第１、第２の係数器出力および第１、第２の加算器のキャリー出力と前段を構成する第３、第４、第５の係数器出力および第３、第４の加算器のキャリー出力とが入力されるオーバーフロー検出器とを具備し、前記クリップ回路は前記オーバーフロー検出器の出力にしたがって入力された前記第１のシフトレジスタの出力を正または負の一定値に固定して出力することにある。
【００３０】
本発明の他の特徴は、入力データが第１の入力端子に入力される第１の加算器と、前記加算器の出力が入力される第１のシフトレジスタと、前記シフトレジスタの出力が入力されるクリップ回路と、前記クリップ回路の出力が入力される第２のシフトレジスタと、前記第２のシフトレジスタの出力が入力される第３のシフトレジスタと、前記クリップ回路の出力が入力される第１の係数器と、前記第２のシフトレジスタの出力が入力される第２の係数器と、前記クリップ回路の出力が入力される第３の係数器と、前記第２のシフトレジスタの出力が入力される第４の係数器と、前記第３のシフトレジスタの出力が入力される第５の係数器と、前記第１、第２の係数器の出力が入力される第２の加算器と、前記第４、第５の係数器の出力が入力される第３の加算器と、前記第３の加算器の出力と前記第３の係数器の出力が入力され、その和出力端子から出力データが出力される第４の加算器と、前記第２の加算器の出力と制御信号が入力され、その和出力が前記第１の加算器の第２の入力端子に入力される第５の加算器と、前記第１、第２の係数器出力および第１、第２、第５の加算器のキャリー出力と前段を構成する第３、第４、第５の係数器出力および第３、第４の加算器のキャリー出力とが入力されるオーバーフロー検出器とを具備し、前記クリップ回路は前記オーバーフロー検出器の出力にしたがって入力された前記第１のシフトレジスタの出力を正または負の一定値に固定して出力することにある。
【００３１】
本発明の他の特徴は、入力データが第１の入力端子に入力される第１の加算器と、前記加算器の出力が入力される第１のシフトレジスタと、前記シフトレジスタの出力が入力されるクリップ回路と、前記クリップ回路の出力が入力される第２のシフトレジスタと、前記第２のシフトレジスタの出力が入力される第３のシフトレジスタと、前記クリップ回路の出力が入力される第１の係数器と、前記第２のシフトレジスタの出力が入力される第２の係数器と、前記クリップ回路の出力が入力される第３の係数器と、前記第２のシフトレジスタの出力が入力される第４の係数器と、前記第３のシフトレジスタの出力が入力される第５の係数器と、前記第１、第２の係数器の出力が入力され、その和出力が前記第１の加算器の第２の入力端子に入力される第２の加算器と、前記第４、第５の係数器の出力が入力される第３の加算器と、前記第３の加算器の出力と前記第３の係数器の出力が入力されその和の出力端子から出力データが出力される第４の加算器と、前記第１、第２の係数器出力および第１第２の加算器のキャリー出力と前段を構成する第３、第４、第５の係数器出力および第３、第４の加算器のキャリー出力と前記入力データと前記第１のシフトレジスタの中間タップ出力が入力されるオーバーフロー検出器とを具備し、前記クリップ回路は前記オーバーフロー検出器の出力にしたがって入力された前記第１のシフトレジスタの出力を正または負の一定値に固定して出力することにある。
【００３２】
本発明の他の特徴は、入力データが第１の入力端子に入力される第１の加算器と、前記加算器の出力が入力される第１のシフトレジスタと、前記シフトレジスタの出力が入力されるクリップ回路と、前記クリップ回路の出力が入力される第２のシフトレジスタと、前記第２のシフトレジスタの出力が入力される第３のシフトレジスタと、前記クリップ回路の出力が入力される第１の係数器と、前記第２のシフトレジスタの出力が入力される第２の係数器と、前記クリップ回路の出力が入力される第３の係数器と、前記第２のシフトレジスタの出力が入力される第４の係数器と、前記第３のシフトレジスタの出力が入力される第５の係数器と、前記第１、第２の係数器の出力が入力される第２の加算器と、前記第４、第５の係数器の出力が入力される第３の加算器と、前記第３の加算器の出力と前記第３の係数器の出力が入力され、その和出力端子から出力データが出力される第４の加算器と、前記第２の加算器の出力と制御信号が入力され、その和出力が前記第１の加算器の第２の入力端子に入力される第５の加算器と、前記第１、第２の係数器出力および第１、第２、第５の加算器のキャリー出力と前段を構成する第３、第４、第５の係数器出力および第３、第４の加算器のキャリー出力と前記入力データと前記第１のシフトレジスタの中間タップ出力が入力されるオーバーフロー検出器とを具備し、前記クリップ回路は前記オーバーフロー検出器の出力にしたがって入力された前記第１のシフトレジスタの出力を正または負の一定値に固定して出力することにある。
【００３３】
本発明の他の特徴は、データ入力端子と、データ出力端子と、オーバーフロー検出器の出力が入力される第１、第２のオーバーフロー検出信号入力端子と、タイミング信号が入力される第１、第２の制御信号入力端子と、出力信号を記憶する第１の記憶手段と、内部信号を記憶する第２の記憶手段とを具備し、前記第１制御信号入力端子に入力されるタイミング信号がハイレベル（またはローレベル）の期間に前記第１、第２のオーバーフロー検出信号入力端子に入力されるオーバーフロー検出信号がオーバーフローしていないことを表すときにはデータ入力端子に入力された信号を、正のオーバーフローを表すときには０を、負のオーバーフローを表すときには１を前記第１の記憶手段にセットし、前記第１制御信号入力端子に入力されるタイミング信号がハイレベル（またはローレベル）の期間に前記オーバーフロー検出信号がオーバーフローしていないことを表すときには０を、正または負のオーバーフローを表すときには１を前記第２の記億手段にセットし、前記第２制御信号入力端子に入力されるタイミング信号がハイレベル（またはローレベル）の期間に前記第２の記憶手段の内容が１の場合には前記第１の記億手段にそれまで記憶していた値を論理反転してセットすることを特徴とする。
【００３４】
本発明の他の特徴は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第５の符号入力端子に入力がそれぞれ接続された第１から第５のインバータと、前記第１から第４のキャリー入力端子および前記第１から第５のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器の和出力とキャリー出力の両方と前記第５の全加算器の和出力が入力される第６の全加算器と、前記第６の全加算器の和出力とキャリー出力の両方と前記第５の全加算器のキャリー出力が入力される第７の全加算器と、前記第４の全加算器の和出力（／Ｚ０）と前記第６の全加算器の和出力（／Ｚ１）と前記第７の全加算器の和出力（Ｚ２）およびキャリー出力（／Ｚ３）とから論理式ｕ＝／Ｚ３∩（Ｚ２∪Ｚ１∪Ｚ０）とｖ＝Ｚ３∩（／Ｚ２∪／Ｚ１∪／Ｚ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することである。
【００３５】
本発明の他の特徴は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１、第２の符号入力端子に入力がそれぞれ接続された第１、第２のインバータと、前記第１から第４のキャリー入力端子および前記第１、第２のインバータの出力に入力がそれぞれ接続された第１、第２の全加算器と、前記第３から第５の符号入力端子に入力が接続された第３の全加算器と、前記第３の全加算器の和出力に入力が接続された第３のインバータと、前記第３の全加算器のキャリー出力に入力が接続された第４のインバータと、前記第１、第２の全加算器の和出力と第３のインバータの出力が入力される第４の全加算器と、前記第１、第２の全加算器のキャリー出力と第４のインバータの出力が入力される第５の全加算器と、前記第４の全加算器の和出力とキャリー出力の両方と前記第５の全加算器の和出力が入力される第６の全加算器と、前記第６の全加算器の和出力とキャリー出力の両方と前記第５の全加算器のキャリー出力が入力される第７の全加算器と、前記第４の全加算器の和出力（／Ｚ０）と前記第６の全加算器の和出力（／Ｚ１）と前記第７の全加算器の和出力（Ｚ２）およびキャリー出力（／Ｚ３）とから論理式ｕ＝／Ｚ３∩（Ｚ２∪Ｚ１∪Ｚ０）とｖ＝Ｚ３∩（／Ｚ２∪／Ｚ１∪／Ｚ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００３６】
本発明の他の特徴は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第４のキャリー入力端子に入力がそれぞれ接続された第１から第４のインバータと、前記第１から第５の符号入力端子および前記第１から第４のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力が入力される第１の半加算器と、前記第１の半加算器のキャリー出力と前記第５の全加算器のキャリー出力が入力される第２の半加算器と、数値４（二進数０１００）から前記第４の全加算の和出力（Ｓ０）と第１の半加算器の和出力（Ｓ１）と第２の半加算器の和出力（Ｓ２）およびキャリー出力（Ｓ３）をそれぞれ第０から第３ビットとする二進数を引き算して４ビットの減算結果（Ｚ３、Ｚ２、Ｚ１、Ｚ０）を出力する減算手段と、前記減算手段の出力から論理式ｕ＝／Ｚ３∩（Ｚ２∪Ｚ１∪Ｚ０）とｖ＝Ｚ３  ∩（／Ｚ２∪／Ｚ１∪／Ｚ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００３７】
本発明の他の特徴は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第４のキャリー入力端子に入力が接続された第１のインバータと、前記第１から第３のキャリー入力端子に入力が接続された第１の全加算器と、前記第１から第５の符号入力端子および前記第４のインバータの出力に入力がそれぞれ接続された第２、第３の全加算器と、前記第１の全加算器の和出力に入力が接続された第２のインバータと、前記第１の全加算器のキャリー出力に入力が接続された第３のインバータと、前記第２のインバータの出力および前記第２、第３の全加算器の和出力が入力される第４の全加算器と、前記第３のインバータの出力および前記第２、第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力が入力される第１の半加算器と、前記第１の半加算器のキャリー出力と前記第５の全加算器のキャリー出力が入力される第２の半加算器と、数値４（二進数０１００）から前記第４の全加算の和出力（Ｓ０）と第１の半加算器の和出力（Ｓ１）と第２の半加算器の和出力（Ｓ２）およびキャリー出力（Ｓ３）をそれぞれ第０から第３ビットとする二進数を引き算して４ビットの減算結果（Ｚ３、Ｚ２、Ｚ１、Ｚ０）を出力する減算手段と、前記減算手段の出力から論理式ｕ＝／Ｚ３∩（Ｚ２∪Ｚ１∪Ｚ０）とｖ＝Ｚ３∩（／Ｚ２∪／Ｚ１∪／Ｚ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００３８】
本発明の他の特徴は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第５の符号入力端子に入力がそれぞれ接続された第１から第５のインバータと、前記第１から第４のキャリー入力端子および前記第１から５のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力が入力される第１の半加算器と、前記第１の半加算器のキャリー出力と前記第５の全加算器のキャリー出力が入力される第２の半加算器と、前記第１の半加算器の和出力（Ｓ１）と前記第２の半加算器の和出力（Ｓ２）およびキャリー出力（Ｓ３）とから論理式ｕ＝Ｓ３∪（Ｓ２∩Ｓ１）とｖ＝／Ｓ３∩／Ｓ２とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００３９】
本発明の他の特徴は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１、第２の符号入力端子に入力がそれぞれ接続された第１、第２のインバータと、前記第１から第４のキャリー入力端子および前記第１、第２のインバータの出力に入力がそれぞれ接続された第１、第２の全加算器と、前記第３から第５の符号入力端子に入力が接続された第３の全加算器と、前記第３の全加算器の和出力に入力が接続された第３のインバータと、前記第３の全加算器のキャリー出力に入力が接続された第４のインバータと、前記第１、第２の全加算器の和出力と第３のインバータの出力が入力される第４の全加算器と、前記第１、第２の全加算器のキャリー出力と第４のインバータの出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力が入力される第１の半加算器と、前記第１の半加算器のキャリー出力と前記第５の全加算器のキャリー出力が入力される第２の半加算器と、前記第１の半加算器の和出力（Ｓ１）と前記第２の半加算器の和出力（Ｓ２）およびキャリー出力（Ｓ３）とから論理式ｕ＝Ｓ３∪（Ｓ２∩Ｓ１）とｖ＝／Ｓ３∩／Ｓ２とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００４０】
本発明の他の特徴は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第４のキャリー入力端子に入力がそれぞれ接続された第１から第４のインバータと、前記第１から第５の符号入力端子および前記第１から第４のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力が入力される第１の半加算器と、前記第１の半加算器のキャリー出力と前記第５の全加算器のキャリー出力が入力される第２の半加算器と、前記第１の半加算器の和出力（Ｓ１）と前記第２の半加算器の和出力（Ｓ２）およびキャリー出力（Ｓ３）とから論理式ｕ＝／Ｓ３∩／Ｓ２とｖ＝Ｓ３∪（Ｓ２∩Ｓ１）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００４１】
本発明の他の特徴は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第４のキャリー入力端子に入力が接続された第１のインバータと、前記１から第３のキャリー入力端子に入力が接続された第１の全加算器と、前記第１から第５の符号入力端子および前記第１のインバータの出力に入力がそれぞれ接続された第２、第３の全加算器と、前記第１の全加算器の和出力に入力が接続された第２のインバータと、前記第１の全加算器のキャリー出力に入力が接続された第３のインバータと、前記第２のインバータの出力および前記第２、第３の全加算器の和出力が入力される第４の全加算器と、前記第３のインバータの出力および前記第２、第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力が入力される第１の半加算器と、前記第１の半加算器のキャリー出力と前記第５の全加算器のキャリー出力が入力される第２の半加算器と、前記第１の半加算器の和出力（Ｓ１）と前記第２の半加算器の和出力（Ｓ２）およびキャリー出力（Ｓ３）とから論理式ｕ＝／Ｓ３∩／Ｓ２とｖ＝Ｓ３∪（Ｓ２∩Ｓ１）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００４２】
本発明の他の特徴は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第５の符号入力端子に入力がそれぞれ接続された第１から第５のインバータと、前記第１から第４のキャリー入力端子および前記第１から第５のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝Ｐ２∩（Ｐ１Ａ∪Ｐ１Ｂ）とｖ＝／Ｐ２∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００４３】
本発明の他の特徴は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と第１、第２のオーバーフロー検出信号出力端子と前記第１、第２の符号入力端子に入力がそれぞれ接続された第１、第２のインバータと、前記第１から第４のキャリー入力端子および前記第１、第２のインバータの出力に入力がそれぞれ接続された第１、第２の全加算器と、前記第３から第５の符号入力端子に入力が接続された第３の全加算器と、前記第３の全加算器の和出力に入力が接続された第３のインバータと、前記第３の全加算器のキャリー出力に入力が接続された第４のインバータと、前記第１、第２の全加算器の和出力と第３のインバータの出力が入力される第４の全加算器と、前記第１、第２の全加算器のキャリー出力と第４のインバータの出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝Ｐ２∩（Ｐ１Ａ∪Ｐ１Ｂ）とｖ＝／Ｐ２∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００４４】
本発明の他の特徴は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第４のキャリー入力端子に入力がそれぞれ接続された第１から第４のインバータと、前記第１から第５の符号入力端子および前記第１から第４のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝／Ｐ２∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とｖ＝Ｐ２∩（Ｐ１Ａ∪Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００４５】
本発明の他の特徴は、第１から第４のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第４のキャリー入力端子に入力が接続された第１のインバータと、前記第１から第３のキャリー入力端子に入力が接続された第１の全加算器と、前記第１から第５の符号入力端子および前記第１のインバータの出力に入力がそれぞれ接続された第２、第３の全加算器と、前記第１の全加算器の和出力に入力が接続された第２のインバータと、前記第１の全加算器のキャリー出力に入力が接続された第３のインバータと、前記第２のインバータの出力および前記第２、第３の全加算器の和出力が入力される第４の全加算器と、前記第３のインバータの出力および前記第２、第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝／Ｐ２∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とｖ＝Ｐ２∩（Ｐ１Ａ∪Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００４６】
本発明の他の特徴は、第１、第２のキャリー入力端子と、第１から第３の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第３の符号入力端子に入力がそれぞれ接続された第１から第３のインバータと、前記第１、第２のキャリー入力端子および前記第１から第３のインバータの出力に入力がそれぞれ接続された半加算器および第１の全加算器と、前記半加算器の和出力と前記第１の全加算器の和出力とが入力されるアンドゲートと、前記アンドゲートの出力と前記半加算器のキャリー出力と前記第１の全加算器のキャリー出力とが入力されそのキャリー出力が前記第１のオーバーフロー検出信号出力端子に接続される第２の全加算器と、前記第２の全加算器の和およびキャリー出力とが入力されその出力が前記第２のオーバーフロー検出信号出力端子に接続されるノアゲートとを具備することを特徴とする。
【００４７】
本発明の他の特徴は、第１、第２のキャリー入力端子と、第１から第３の符号入力端子と、前記第１、第２のオーバーフロー検出信号出力端子と、前記第１、第２のキャリー入力端子に入力がそれぞれ接続された半加算器と、前記第１から第３の符号入力端子に入力がそれぞれ接続された第１の全加算器と、前記第１の全加算器の和出力に入力が接続された第１のインバータと、前記第１の全加算器のキャリー出力に入力が接続された第２のインバータと、前記半加算器の和出力と前記第１のインバータの出力とが入力されるアンドゲートと、前記アンドゲートの出力と前記半加算器のキャリー出力と前記第２のインバータの出力とが入力されそのキャリー出力が前記第１のオーバーフロー検出信号出力端子に接続される第２の全加算器と、前記第２の全加算器の和およびキャリー出力とが入力されその出力が前記第２のオーバーフロー検出信号出力端子に接続されるノアゲートとを具備することを特徴とする。
【００４８】
本発明の他の特徴は、第１、第２のキャリー入力端子と、第１から第３の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１、第２のキャリー入力端子に入力がそれぞれ接続された第１、第２のインバータと、前記第１、第２のインバータの出力および前記第１から第３の符号入力端子に入力がそれぞれ接続された半加算器および第１の全加算器と、前記半加算器の和出力と前記第１の全加算器の和出力とが入力されるアンドゲートと、前記アンドゲートの出力と前記半加算器のキャリー出力と前記第１の全加算器のキャリー出力とが入力されそのキャリー出力が前記第２のオーバーフロー検出信号出力端子に接続される第２の全加算器と、前記第２の全加算器の和およびキャリー出力とが入力されその出力が前記第１のオーバーフロー検出信号出力端子に接続されるノアゲートとを具備することを特徴とする。
【００４９】
本発明の他の特徴は、第１から第３のキャリー入力端子と、第１から第４の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第４の符号入力端子に入力がそれぞれ接続された第１から第４のインバータと、前記第１から第３のキャリー入力端子および前記第１から４のインバータの出力のうち６つの端子に入力がそれぞれ接続された第１、第２の全加算器と、前記第１から第３のキャリー入力端子および前記第１から第４のインバータの出力のうち前記第１、第２の全加算器のどちらにも接続されていない１つの端子と、前記第１、第２の全加算器の和出力とに入力が接続される第３の全加算器と、前記第１、第２、第３の全加算器のキャリー出力が入力される第４の全加算器と、前記第３の全加算器の和出力（Ｓ０）と前記第４の全加算器の和出力（Ｓ１）およびキャリー出力（Ｓ２）とから論理式ｕ＝Ｓ２∩（Ｓ１∪Ｓ０）とｖ＝／Ｓ２∩（／Ｓ１∪／Ｓ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００５０】
本発明の他の特徴は、第１から第３のキャリー入力端子と、第１から第４の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１の符号入力端子に入力が接続された第１のインバータと、前記第１から第３のキャリー入力端子に入力がそれぞれ接続された第１の全加算器と、前記第２から第４の符号入力端子に入力がそれぞれ接続された第２の全加算器と、前記第２の全加算器の和出力に入力が接続された第２のインバータと、前記第２の全加算器のキャリー出力に入力が接続された第３のインバータと、前記第１の全加算器の和出力と前記第１、第２のインバータの出力が入力される第３の全加算器と、前記第１ないし第３の全加算器のキャリー出力と前記第３のインバータの出力が入力される第４の全加算器と、前記第３の全加算器の和出力（Ｓ０）と前記第４の全加算器の和出力（Ｓ１）およびキャリー出力（Ｓ２）とから論理式ｕ＝Ｓ２∩（Ｓ１∪Ｓ０）とｖ＝／Ｓ２∩（／Ｓ１∪／Ｓ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００５１】
本発明の他の特徴は、第１から第３のキャリー入力端子と、第１から第４の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第３のキャリー入力端子に入力がそれぞれ接続された第１から第３のインバータと、前記第１から第３のインバータの出力および前記第１から第４の符号入力端子のうち６つの端子に入力がそれぞれ接続された第１、第２の全加算器と、前記第１から第３のインバータの出力および前記第１から第４の符号入力端子のうち前記第１、第２の全加算器のどちらにも接続されていない１つの端子と前記第１、第２の全加算器の和出力とに入力が接続される第３の全加算器と、前記第１、第２、第３の全加算器のキャリー出力が入力される第４の全加算器と、前記第３の全加算器の和出力（Ｓ０）と前記第４の全加算器の和出力（Ｓ１）およびキャリー出力（Ｓ２）とから論理式ｕ＝／Ｓ２∩（／Ｓ１∪／Ｓ０）とｖ＝Ｓ２∩（Ｓ１∪Ｓ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００５２】
本発明の他の特徴は、第１から第３のキャリー入力端子と、第１から第４の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第３のキャリー入力端子に入力がそれぞれ接続された第１の全加算器と、前記第２から第４の符号入力端子に入力がそれぞれ接続された第２の全加算器と、前記第１の全加算器の和出力に入力が接続された第１のインバータと、前記第１の全加算器のキャリー出力に入力が接続された第２のインバータと、前記第２の全加算器の和出力と前記第１の符号入力端子と前記第１のインバータの出力が入力に接続される第３の全加算器と、前記第２、第３の全加算器のキャリー出力と前記第２のインバータの出力が入力される第４の全加算器と、前記第３の全加算器の和出力（Ｓ０）と前記第４の全加算器の和出力（Ｓ１）およびキャリー出力（Ｓ２）とから論理式ｕ＝／Ｓ２∩（／Ｓ１∪／Ｓ０）とｖ＝Ｓ２∩（Ｓ１∪Ｓ０）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００５３】
本発明の他の特徴は、第１から第５のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第５の符号入力端子に入力がそれぞれ接続された第１から第５のインバータと、前記第２から第４のキャリー入力端子および前記第１から第５のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第１のキャリー入力端子と前記第４の全加算器の和出力とが入力に接続されたアンドゲートと、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力とが入力される半加算器と、前記アンドゲートの出力（Ｐ１Ａ）と前記半加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２Ａ）と前記第５の全加算器のキャリー出力（Ｐ２Ｂ）とから論理式ｕ＝（Ｐ２Ｂ∩Ｐ２Ａ）∪［（ＰｌＡ∪Ｐ１Ｂ）］とｖ＝／Ｐ２Ｂ∩／Ｐ２Ａ∩（／ＰｌＡ∪／Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００５４】
本発明の他の特徴は、第１から第５のキャリー入力端子と、第１から第５の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１、第２の符号入力端子に入力がそれぞれ接続された第１、第２のインバータと、前記第２から第４のキャリー入力端子および前記第１、第２のインバータの出力に入力がそれぞれ接続された第１第２の全加算器と、前記第３から第５の符号入力端子に入力が接続された第３の全加算器と、前記第３の全加算器の和出力に入力が接続された第３のインバータと、前記第３の全加算器のキャリー出力に入力が接続された第４のインバータと、前記第１、第２の全加算器の和出力と第３のインバータの出力が入力される第４の全加算器と、前記第１、第２の全加算器のキャリー出力と第４のインバータの出力が入力される第５の全加算器と、前記第１のキャリー入力端子と前記第４の全加算器の和出力とが入力に接続されたアンドゲートと、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力とが入力される半加算器と、前記アンドゲートの出力（Ｐ１Ａ）と前記半加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２Ａ）と前記第５の全加算器のキャリー出力（Ｐ２Ｂ）とから論理式ｕ＝（Ｐ２Ｂ∩Ｐ２Ａ）∪［（Ｐ１Ａ∪Ｐ１Ｂ）］とｖ＝／Ｐ２Ｂ∩／Ｐ２Ａ∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００５５】
本発明の他の特徴は、第１から第３のキャリー入力端子と、第１から第３の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第３の符号入力端子に入力がそれぞれ接続された第１から第３のインバータと、前記第１から第３のキャリー入力端子および前記第１から第３のインバータの出力に入力がそれぞれ接続された第１、第２の全加算器と、前記第１の全加算器の和出力と前記第２の全加算器の和出力とが入力されるアンドゲートと、前記アンドゲートの出力と前記第１、第２の全加算器のキャリー出力とが入力され、そのキャリー出力が前記第１のオーバーフロー検出信号出力端子に接続される第３の全加算器と、前記第３の全加算器の和およびキャリー出力とが入力されその出力が前記第２のオーバーフロー検出信号出力端子に接続されるノアゲートとを具備することを特徴とする。
【００５６】
本発明の他の特徴は、第１から３のキャリー入力端子と第１から第３の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第３のキャリー入力端子に入力がそれぞれ接続された第１の全加算器と、前記第１から第３の符号入力端子に入力がそれぞれ接続された第２の全加算器と、前記第２の全加算器の和出力に入力が接続された第１のインバータと、前記第２の全加算器のキャリー出力に入力が接続された第２のインバータと、前記第１の全加算器の和出力と前記第１のインバータの出力とが入力されるアンドゲートと、前記アンドゲートの出力と前記第１の全加算器のキャリー出力と前記第２のインバータの出力が入力され、そのキャリー出力が前記第１のオーバーフロー検出信号出力端子に接続される第３の全加算器と、前記第３の全加算器の和およびキャリー出力とが入力され、その出力が前記第２のオーバーフロー検出信号出力端子に接続されるノアゲートとを具備することを特徴とする。
【００５７】
本発明の他の特徴は、第１から第４のキャリー入力端子と、第１から第４の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１から第４のキャリー入力端子に入力がそれぞれ接続された第１から第４のインバータと、前記第１から第４の符号入力端子および前記第１から第４のインバータの出力に入力がそれぞれ接続された第１、第２の全加算器および半加算器と、前記第１、第２の全加算器の和出力と前記半加算器の和出力が入力される第４の全加算器と、前記第１、第２の全加算器のキャリー出力と前記半加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝／Ｐ２∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とｖ＝Ｐ２∩（Ｐ１Ａ∪Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００５８】
本発明の他の特徴は、第１から第４のキャリー入力端子と、第１から第４の符号入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第４のキャリー入力端子に入力が接続された第１のインバータと、前記第１から第３のキャリー入力端子に入力がそれぞれ接続された第１の全加算器と、前記第１から第３の符号入力端子に入力がそれぞれ接続された第２の全加算器と、前記第１のインバータ出力と前記第４の符号入力端子が入力に接続された半加算器と、前記第１の全加算器の和出力に入力が接続された第２のインバータと、前記第１の全加算器のキャリー出力に入力が接続された第３のインバータと、前記第２のインバータの出力と前記第２の全加算器の和出力と前記半加算器の和出力が入力される第４の全加算器と、前記第３のインバータの出力と前記第２の全加算器のキャリー出力と前記半加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝／Ｐ２∩（／ＰｌＡ∪／Ｐ１Ｂ）とｖ＝Ｐ２∩（Ｐ１Ａ∪Ｐ１Ｂ）とにしたがってオーバーフロー検出信号を生成してそれぞれを前記第１、第２のオーバーフロー検出信号出力端子から出力するデコーダとを具備することを特徴とする。
【００５９】
本発明の他の特徴は、複数のキャリー入力端子と、複数の符号入力端子と、第１、第２のデータビット入力端子と、第１、第２のオーバーフロー検出信号出力端子とを具備し、前記複数のキャリー入力端子と符号入力端子に入力される信号から検出されたオーバーフロー信号がオーバーフローを示している場合にはこれを出力し、オーバーフローを示していない場合には前記第１、第２のデータビット入力端子に入力される第１、第２のデータビット（ｋ、ｌ）にしたがって第１データビットが０で第２データビットが１（ｋ＝０、ｌ＝１）のときに正のオーバーフローに、第１データビットが１で第２データビットが０（ｋ＝１、ｌ＝０）のときに負のオーバーフローに相当する検出信号を出力することを特徴とする。
【００６０】
本発明の他の特徴は、第１、第２のデータビット入力端子と、第１から第４のキャリー入力端子と、第１から第５の符号化入力端子と、前記第１から第５の符号入力端子に入力がそれぞれ接続された第１から第５のインバータと、前記第１から第４のキャリー入力端子および前記第１から第５のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝Ｐ２∩（ＰｌＡ∪Ｐ１Ｂ）とｖ＝／Ｐ２∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とにしたがってその第１、第２の出力を生成するデコーダと、前記第１のデータビット入力端子に入力が接続された第６のインバータと、前記第２のデータビット入力端子に入力が接続された第７のインバータと、前記デコーダの第１の出力が入力される第８のインバータと、前記デコーダの第２の出力が入力される第９のインバータと、前記第６のインバータの出力と第２のデータビット入力端子と第９のインバータの出力に入力が接続された第１のアンドゲートと、前記第７のインバータの出力と第１のデータビット入力端子と第８のインバータの出力に入力が接続された第２のアンドゲートと、前記第１のアンドゲートの出力とデコーダの第１の出力が入力され、正のオーバーフロー検出信号を出力する第１のオアゲートと、前記第２のアンドゲートの出力とデコーダの第２の出力が入力され、負のオーバーフロー検出信号を出力する第２のオアゲートとを具備することを特徴とする。
【００６１】
本発明の他の特徴は、第１、第２のデータビット入力端子と、第１から第４のキャリー入力端子と、第１から第５の符号化入力端子と、前記第１、第２の符号入力端子に入力がそれぞれ接続された第１、第２のインバータと、前記第１から第４のキャリー入力端子および前記第１、第２のインバータの出力に入力がそれぞれ接続された第１、第２の全加算器と、前記第３から第５の符号入力端子に入力が接続された第３の全加算器と、前記第３の全加算器の和出力に入力が接続された第３のインバータと、前記第３の全加算器のキャリー出力に入力が接続された第４のインバータと、前記第１、第２の全加算器の和出力と第３のインバータの出力が入力される第４の全加算器と、前記第１、第２の全加算器のキャリー出力と第４のインバータの出力が入力される第５の全加算器と、前記第４の全加算器のキャリー出力（Ｐ１Ａ）と前記第５の全加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２）とから論理式ｕ＝Ｐ２∩（ＰｌＡ∪Ｐ１Ｂ）とｖ＝／Ｐ２∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とにしたがってその第１、第２の出力を生成するデコーダと、前記第１のデータビット入力端子に入力が接続された第５のインバータと、前記第２のデータビット入力端子に入力が接続された第６のインバータと、前記デコーダの第１の出力が入力される第７のインバータと、前記デコーダの第２の出力が入力される第８のインバータと、前記第５のインバータの出力と第２のデータビット入力端子と第８のインバータの出力に入力が接続された第１のアンドゲートと、前記第６のインバータの出力と第１のデータビット入力端子と第７のインバータの出力に入力が接続された第２のアンドゲートと、前記第１のアンドゲートの出力とデコーダの第１の出力が入力され正のオーバーフロー検出信号を出力する第１のオアゲートと、前記第２のアンドゲートの出力とデコーダの第２の出力が入力され負のオーバーフロー検出信号を出力する第２のオアゲートとを具備することを特徴とする。
【００６２】
本発明の他の特徴は、第１、第２のデータビット入力端子と、第１から第５のキャリー入力端子と、第１から第５の符号化入力端子と、前記第１から第５の符号入力端子に入力がそれぞれ接続された第１から第５のインバータと、前記第２から第４のキャリー入力端子および前記第１から第５のインバータの出力に入力がそれぞれ接続された第１から第３の全加算器と、前記第１から第３の全加算器の和出力が入力される第４の全加算器と、前記第１から第３の全加算器のキャリー出力が入力される第５の全加算器と、前記第１のキャリー入力端子と前記第４の全加算器の和出力とが入力に接続された第１のアンドゲートと、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力とが入力される半加算器と、前記第１のアンドゲートの出力（Ｐ１Ａ）と前記半加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２Ａ）と前記第５の全加算器のキャリー出力（Ｐ２Ｂ）とから論理式ｕ＝（Ｐ２Ｂ∩Ｐ２Ａ）∪［（Ｐ２Ｂ∪Ｐ２Ａ）∩（Ｐ１Ａ∪Ｐ１Ｂ）］とｖ＝／Ｐ２Ｂ∩／Ｐ２Ａ∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とにしたがってその第１、第２の出力を生成するデコーダと、前記第１のデータビット入力端子に入力が接続された第６のインバータと、前記第２のデータビット入力端子に入力が接続された第７のインバータと、前記デコーダの第１の出力が入力される第８のインバータと、前記デコーダの第２の出力が入力される第９のインバータと、前記第６のインバータの出力と第２のデータビット入力端子と第９のインバータの出力に入力が接続された第２のアンドゲートと、前記第７のインバータの出力と第１のデータビット入力端子と第８のインバータの出力に入力が接続された第３のアンドゲートと、前記第２のアンドゲートの出力とデコーダの第１の出力が入力され正のオーバーフロー検出信号を出力する第１のオアゲートと、前記第３のアンドゲートの出力とデコーダの第２の出力が入力され負のオーバーフロー検出信号を出力する第２のオアゲートとを具備することを特徴とする。
【００６３】
本発明の他の特徴は、第１、第２のデータビット入力端子と、第１から第５のキャリー入力端子と、第１から第５の符号化入力端子と、第１、第２のオーバーフロー検出信号出力端子と、前記第１、第２の符号入力端子に入力がそれぞれ接続された第１、第２のインバータと、前記第２から第４のキャリー入力端子および前記第１、第２のインバータの出力に入力がそれぞれ接続された第１、第２の全加算器と、前記第３から第５の符号入力端子に入力された第３の全加算器と、前記第３の全加算器の和出力に入力が接続された第３のインバータと、前記第３の全加算器のキャリー出力に入力が接続された第４のインバータと、前記第１、第２の全加算器の和出力と第３のインバータの出力が入力されると第４の全加算器と、前記第１、第２の全加算器のキャリー出力と第４のインバータの出力が入力される第５の全加算器と、前記第１のキャリー入力端子と前記第４の全加算器の和出力とが入力に接続された第１のアンドゲートと、前記第４の全加算器のキャリー出力と前記第５の全加算器の和出力とが入力される半加算器と、前記第１のアンドゲートの出力（Ｐ１Ａ）と前記半加算器の和出力（Ｐ１Ｂ）およびキャリー出力（Ｐ２Ａ）と前記第５の全加算器のキャリー出力（Ｐ２Ｂ）とから論理式ｕ＝（Ｐ２Ｂ∩Ｐ２Ａ）∪［（Ｐ２Ｂ∪Ｐ２Ａ）∩（Ｐ１Ａ∪Ｐ１Ｂ）］とｖ＝／Ｐ２Ｂ∩／Ｐ２Ａ∩（／Ｐ１Ａ∪／Ｐ１Ｂ）とにしたがってその第１、第２の出力を生成するデコーダと、前記第１のデータビット入力端子に入力が接続された第５のインバータと、前記第２のデータビット入力端子に入力が接続された第６のインバータと、前記デコーダの第１の出力が入力される第７のインバータと、前記デコーダの第２の出力が入力される第８のインバータと、前記第５のインバータの出力と第２のデータビット入力端子と第８のインバータの出力に入力が接続された第２のアンドゲートと、前記第６のインバータの出力と第１のデータビット入力端子と第７のインバータの出力に入力が接続された第３のアンドゲートと、前記第２のアンドゲートの出力とデコーダの第１の出力が入力され正のオーバーフロー検出信号を出力する第１のオアゲートと、前記第３のアンドゲートの出力とデコーダの第２の出力が入力され負のオーバーフロー検出信号を出力する第２のオアゲートとを具備することを特徴とする。
【００６４】
本発明は、直列演算方式によりフィルタ処理を行うディジタルバイカッドフィルタにおいて、全ての係数器の出力と加算器のキャリー（桁上げ）出力とから全てのビットに亙ってオーバーフローを検出し、内部遅延の出口で、検出結果に応じて、信号を正または負の最大値にクリップする処理を実行することにより、オーバーフロー振動を防止している。
【００６５】
【発明の実施の形態】
以下、本発明の実施の形態を図面に基づいて説明する。図１は、本発明のディジタルフィルタの第１の実施形態に係る構成を示したブロック図である。
【００６６】
図１において、ディジタル（バイカッド）フィルター１００は、アンドゲート６、シフトレジスタ７ａ、７ｂ、７ｃ、係数器８ａ、８ｂ、８ｃ、８ｄ、８ｅ、加算器９ａ、９ｂ、９ｃ、９ｄ、クリップ回路１０、オーバーフロー検出器１１を有し、このようなディジタル（バイカッド）フィルターが横方向に多段に接続されている。
【００６７】
これらのうち、例えば、係数器８ａ、８ｂ、８ｃ、８ｄ、８ｅには図２２に示すような回路が用いられ、加算器９ａ、９ｂ、９ｃ、９ｄには図２３に示すような回路が用いられ、シフトレジスタ７ａ、７ｂ、７ｃには図２４に示すような回路が用いられている。
【００６８】
図２２は上記した本発明の第１の実施形態に用いられる係数器の構成例である。図２２で、６はアンドゲート、１６はインバータ、１７は全加算器、２１はオアゲート、２４はエクスクルーシブオア（排他的論理和）ゲート、２５は１ビットレジスタ、２６はナンドゲートである。また、Ｘ５からＸ０は係数、Ｙはデータ入力、Ｓは符号補正信号入力、Ｒはリセット信号入力、Ｐはデータ出力である。
【００６９】
図２３は上記した本発明の第１の実施形態に用いられる加算器の構成例である。図２３で、６はアンドゲート、１７は全加算器、２５は１ビットレジスタである。また、Ａ、Ｂはデータ入力、Ｒはリセット入力、Ｓは和出力、ＤＣはキャリー（桁上げ）出力である。このキャリーは、全加算器１７のキャリー出力を１ビットレジスタ２５によって１クロックサイクルだけ遅延したものである。
【００７０】
図２４は上記した本発明の第１の実施形態に用いられるシフトレジスタの例である。図２４で、２５は１ビットレジスタある。また、Ｄは入力、Ｑは出力で、図はＮビットの場合を示している。
【００７１】
図２２〜図２４の回路で用いられる１ビットレジスタ２５には、図２５に示す回路を用いることができる。
【００７２】
図２５は上記した本発明の第１の実施形態に用いられる１ビットレジスタの回路例である。図２５で、１６はインバータ、２７はクロックドインバータである。また、Ｄはデータ入力、Ｑはデータ出力、φ、／φはそれぞれ、クロックとその反転信号である。
【００７３】
図２２、２３で用いられるの全加算器には、例えば図２７に示すものを用いることができる。図２７で、６はアンドゲート、２１はオアゲート、２４はエクスクルーシブオアゲートである。また、Ａ、Ｂはデータ入力、ＣＩはキャリー入力、Ｓは和出力、Ｃ０はキャリー出力である。
【００７４】
次に本実施形態の動作について説明する。図１において、信号ｍ、ｎ、ｏ、ｐ、ｒ、ｓは制御信号である。図に示した入力データ、出力データと、制御信号のタイミングは、データと係数それぞれのビット長によって異なる。データが１０ビット、係数が６ビットの場合のタイミングを図３０に示す。
【００７５】
図３０は第１の実施形態における入力データ、出力データと、制御信号のタイミングを示す図である。この図の例では、データが１０ビット、係数が６ビットの場合の例であり、データの整数部が４ビット、係数の整数部が２ビットの場合である。出力データは、入力データに対して、［データ長１＋［係数の小数部の長さ］だけ遅れている。
【００７６】
図１の破線内が、ディジタル（バイカッド）フィルタ（単にバイカッドと称することもある）１００を構成している。バイカッドは、多段に縦続接続して用いられることが多いため、図には、前後の段のバイカッド回路の一部も示してある。バイカッド１００内部では、クリップ回路１０の出力ｗとシフトレジスタ７ｂの出力に、それぞれ係数器８ａ、８ｂによって、予め定められた係数が乗じられ、それらの出力は加算器９ａで加算される。加算器９ａの出力と入力データとは加算器９ｄで加算される。加算器９ｄの出力は、アンドゲート６によって、制御信号ｍと論理和をとられ、シフトレジスタ７ａへと入力される。制御信号ｍは、加算器９ｄの出力から、データ長に等しい長さのビット列を切り出す役目をしている。
【００７７】
この部分の回路は、係数器に採用する回路によって異なり、図２２以外の係数器を用いた場合は、アンドゲートのような単純な回路にならないこともある。シフトレジスタ７ａの出力ｔは、クリップ回路１０に入力される。また、クリップ回路１０の出力ｗとシフトレジスタ７ｂの出力、それにシフトレジスタ７ｃの出力には、それぞれ係数器８ｃ、８ｄ、８ｅによって、予め定められた係数が乗じられ、８ｄと８ｅの出力は加算器９ｃで、係数器８ｃの出力と加算器９ｃの出力とは加算器９ｂで加算され、出力データとして次の段に送られる。クリップ回路１０には、例えば、図２１に示す回路が用いられる。
【００７８】
図２１は上記した本発明の第１の実施形態に用いられるクリップ回路の回路構成例を示した回路図である。図２１で、６はアンドゲート、１６はインバータ、２１はオアゲート、２４はエクスクルーシブオアゲート、２５は１ビットレジスタである。また、ｔは入力信号、Ｗは出力信号、ｕとｖは、それぞれ正負のオーバーフロー検出信号、ｎ、ｏ、ｐ、ｓは図３０に示したタイミングで変化する制御信号である。
【００７９】
クリップ回路１０は、バイカッド１００の動作開始前に、制御信号ｐによって初期化され、出力ｗは０（ローレべル）になっている。バイカッド１００が動作を開始すると、出力ｗは入力ｔを１クロックサイクル遅らせたものになる。制御信号ｏが１（ハイレべル）になっている期間に、正負のオーバーフロー検出信号ｕ、ｖが評価される。ここで、ｕ＝１且つｖ＝０のとき、正のオーバーフローを検出したことを示し、ｕ＝０且つｖ＝１のとき、負のオーバーフローを検出したことを示している。
【００８０】
（ａ）ｕ＝ｖ＝０のときには        ｗ＝ｔ、
（ｂ）ｕ＝１かつｖ＝０のときには  ｗ＝１、
（ｃ）ｕ＝０かつｖ＝１のときには  ｗ＝０
に次のクロックφの立ち上がりでセットされる。ｕ＝ｖ＝１の組み合わせは禁止されているが、図２１の回路では、上記（ｂ）に等しい操作が行われる。上記（ａ）の操作が行われた場合は、制御信号ｏが再び立ち上がるまで、出力ｗは入力ｔを１クロックサイクル遅らせたものになる。上記（ｂ）または（ｃ）の操作が行われた場合は、制御信号ｎが１になると、次のクロックの立ち上がりでｗの値が反転され、制御信号ｓが１になつた後、クロックの立ち上がりに同期してｗ＝０にリセットされる。
【００８１】
このクリップ回路１０の作用によって、信号ｗは、正のオーバーフロー時には正の最大値に、負のオーバーフロー時には負の最大値に、強制的にクリップされる。
【００８２】
上記オーバーフロー検出信号ｕ、ｖは、オーバーフロー検出器１１によって生成される。オーバーフロー検出器には、係数器８ａ、８ｂの出力（直列演算なので、出力は１本だけであるが、並列演算の場合はＭＳＢだけを取り出す）ａ、ｂと、加算器９ａのキャリー出力ｆと、加算器９ｄのキャリー出力ｉと、前段のバイカッドの係数器８ｃ、８ｄ、８ｅの出力（並列処理のときはＭＳＢ）ｃ、ｄ、ｅと、同じく前段の加算器９ｂ、９ｃのキャリー出力ｇ、ｈとが入力されている。これら全ての入力をデコードして、正負のオーバーフロー検出信号ｕ、ｖを得る。
【００８３】
次にオーバーフロー検出の原理について述べる。２の補数表現では、符号ビット（ＭＳＢ）が０のとき正の数、１のとき負の数である。一方、２の補数表現された２数を加算する場合、ＭＳＢのすぐ下の桁からのキャリーは、１のとき正の重みを持っており、０のときは文字通り０である。つまり、符号ビットとキャリーとでは、数値０、１に対して、正負の重みづけが逆になっている。そこで、符号ビット若しくはキャリーのどちらか一方を反転して加算し、ある一定のオフセットを加算するか、またはそれから引き算すれば、符号ビットと、それよりも上位のビットの加算結果がオーバーフローなしに求められる。
【００８４】
まず、符号ビットを反転する場合を考える。図１に示したオーバーフロー検出器１１の入力のうち、ａ、ｂ、ｃ、ｄ、ｅを反転して、また、ｆ、ｇ、ｈ、ｉをそのまま加算する。符号ビットに対する重み付けは、本来（−１）だから、オフセットはこの場合（−５）になる。このことを、式を用いて、
Ｓ＝／ａ＋／ｂ＋／ｃ＋／ｄ＋／ｅ＋ｆ＋ｇ＋ｈ＋ｉ            ［１］
Ｚ＝Ｓ−５                                                  ［２］
のように表す。ここで、Ｓを単純和、Ｚを真の和と呼ぶことにする。入力が全部で９個なので、ＳとＺは４ビットの数である。ＳとＺの各ビットをＭＳＢから、Ｓ３，Ｓ２，Ｓ１，Ｓ０そしてＺ３，Ｚ２，Ｚ１，Ｚ０のように表す。
【００８５】
図３７は、第１の実施形態における単純和Ｓ、真の和Ｚと、オーバーフローとの関係を示す表図である。
【００８６】
この表１から、真の和Ｚからオーバーフロー検出信号ｕ、ｖを求める論理式（ブール代数による式）は、次のようである。
【００８７】
ｕ＝／Ｚ３∩（Ｚ２∪Ｚ１∪Ｚ０）                  ［３］
ｖ＝Ｚ３∩（／Ｚ２∪／Ｚ１∪／Ｚ０）              ［４］
図５は上記した本発明の第１の実施形態に用いられるオーバーフロー検出器１１の構成例を示した回路図である。図５で、６はアンドゲート、１５はオアゲート、１６はインバータ、１７は全加算器である。この回路は、ワレスのツリー回路（Wallace's Tree）とデコーダとを組み合わせたものである。この回路はワレスツリーによって、入力ａ、ｂ、ｃ、ｄ、ｅの反転信号と入力ｆ、ｇ、ｈ、ｉとオフセット（−５）を足し合わせて、真の和Ｚを得た後、図３７の表１の組合せにしたがって、Ｚをデコードし、正負のオーバーフロー検出信号ｕ、ｖを得ている。（−５）を加算するには、その２の補数表現１１０１を足せばよいのであるが、加算すべきビットを反転して加算結果とし、反転前の、そのビット自身をキャリーとして上位桁に渡すことによって、（−５）という値を回路に与えることなく、オフセットの加算を可能にしている。
【００８８】
図６は上記した本発明の第１の実施形態に用いられるオーバーフロー検出器１１の他の構成例を示した回路図である。図６は、図５で破線で囲んで示した３個のインバータと全加算器の組合せ１８を、全加算器とインバータ２個の組合せ１９で置き換えたものである。１８と１９とが等価であることは、真理値表を書いてみれば明らかであるが、全加算器１７が入力Ａ、Ｂ、Ｃのなかにある１の数を数える回路であることを思い起こすと、入力を反転して与えれば、こんどは、反転前の入力のなかにある０の数を数えることになる。入力は３つあるので、反転せずに入力を与えて、出力を３から引き算すれば等価な回路となる。３から２ビットの２進数を引き算することは、その１の補数をとることに等しく、これは各ビットを反転することにほかならない。よって、１８と１９とは等価である。
【００８９】
今度は、キャリーを反転する場合を考える。図１に示したオーバーフロー検出器１１の入力のうち、ａ、ｂ、ｃ、ｄ、ｅをそのまま、また、ｆ、ｇ、ｈ、ｉを反転して加算する。キャリーに対する重み付けは１だから、オフセットはこの場合４になる（反転したキャリーの和が０のとき、じつは４の重み）。また、符号ビットの重みは（−１）だから、和を符号反転してオフセットを加える。このことを、式をもちいて、
Ｓ′＝ａ＋ｂ＋ｃ＋ｄ＋ｅ＋／ｆ＋／ｇ＋／ｈ＋／ｉ          ［５］
Ｚ＝（−Ｓ′）＋４＝４−Ｓ´                              ［６］
のように表す。ここでもまた、Ｓ′を単純和、Ｚを真の和と呼ぶことにする。入力が全部で９個なので、Ｓ´とＺは４ビットの数である。Ｓ′とＺの各ビットをＭＳＢから、Ｓ３´，Ｓ２´，Ｓ１´，Ｓ０′そしてＺ３，Ｚ２，Ｚ１，Ｚ０のように表す。
【００９０】
図３８に示した表２は、第１の実施形態における単純和Ｓ′、真の和Ｚと、オーバーフローとの関係を示す表である。この表２から、真の和Ｚからオーバーフロー検出信号ｕ、ｖを求める論理式は、上に示した式［３］、［４］のようであることがわかる。
【００９１】
図７は上記した本発明の第１の実施形態に用いられるオーバーフロー検出器１１の例である。図７で、６はアンドゲート、１５はオアゲート、１６はインバータ、１７は全加算器、２０は半加算器である。ここで、半加算器２０には、例えば、図２８に示す回路を用いることができる。
【００９２】
図２８は上記した本発明の第１の実施形態に用いられる半加算器の構成例である。図２８で、６はアンドゲート、２４はエクスクルーシブオアゲートである。
【００９３】
図７の回路も、ワレスツリーとデコーダとを組み合わせたものである。この回路はワレスツリーによって、入力ａ、ｂ、ｃ、ｄ、ｅと入力ｆ、ｇ、ｈ、ｉの反転信号とを足し合わせ、これを４から引き算して真の和Ｚを得た後、表２の組合せにしたがって、Ｚをデコードし、正負のオーバーフロー検出信号ｕ、ｖを得ている。数値４から単純和Ｓ′を減算するには、単純和Ｓ′の２の補数をとり、４すなわち２進数０１００を足せばよいのであるが、２の補数をとるには、もとの数を反転して１を足せばよいことから、単純和Ｓ′を反転して、数値５＝４＋１を足している。数値５の加算は、上で説明した方法を用いているので、回路に数値５を直接与えることなく行われる。なお、図の破線で囲んだ部分１８は、図６の１９と置き換えても等価である。
【００９４】
今まで説明したオーバーフロー検出器は、真の和Ｚからオーバーフローを検出していた。しかし、表１または表２を見ると、ＳとＺ、またはＳ′とＺの値どうしは、互いに１対１に対応していることがわかる。このことから、真の和Ｚではなく、単純和ＳまたはＳ′をデコードしでも、オーバーフロー検出が可能なことがわかる。
【００９５】
表１から、単純和Ｓからオーバーフロー検出信号ｕ、ｖを求める論理式は、次のようである。
【００９６】
ｕ＝Ｓ３∪（Ｓ２∩Ｓ１）                    ［７］
ｖ＝／Ｓ３∩／Ｓ２                          ［８］
表２から、単純和Ｓ´からオーバーフロー検出信号ｕ、ｖを求める論理式は、次のようである。
【００９７】
ｕ＝／Ｓ３′∩／Ｓ２′                        ［９］
ｖ＝Ｓ３′∪（Ｓ２´∩Ｓ１′）                ［１０］
図８は第１の実施形態に使用されるオーバーフロー検出器１１の別の例である。図８で、６はアンドゲート、１６はインバータ、１７は全加算器、２０は半加算器、２１はオアゲート、２２はノアゲートである。
【００９８】
図８の回路は、符号ビットを反転する方式のもので、式［２］の真の和Ｚの代わりに、式［１］の単純和Ｓをデコードして正負のオーバーフロー検出信号ｕ、ｖを得ている。なお、図の破線で囲んだ部分１９は、図５の１８と置き換えても等価である。
【００９９】
図９は上記した本発明の第１の実施形態に用いられるオーバーフロー検出器１１の構成例である。図９で、６はアンドゲート、１６はインバータ、１７は全加算器、２０は半加算器、２１はオアゲート、２２はノアゲートである。
【０１００】
図９の回路は、キャリーを反転する方式のもので、式［６］の真の和Ｚの代わりに、式［５］の単純和Ｓ′をデコードして正負のオーバーフロー検出信号ｕ、ｖを得ている。なお、図の破線で囲んだ部分１９は、図５の１８と置き換えても等価である。
【０１０１】
さて、図８で、記号Ｐ２、Ｐ１Ｂ、Ｐ１Ａ、Ｐ０で表した信号は、単純和Ｓを得る前の冗長２進数である。これらの冗長２進信号をデコードしてもオーバーフローは検出可能である。
【０１０２】
図３９に示した表３は、図８における冗長２進信号Ｐ２、Ｐ１Ｂ、Ｐ１Ａ、Ｐ０とオーバーフローとの関係を示す表である。
【０１０３】
表３から、冗長２進信号Ｐ２、Ｐ１Ｂ、Ｐ１Ａ、Ｐ０からオーバーフロー検出信号ｕ、ｖを求める論理式は、次のようである。
【０１０４】
ｕ＝Ｐ２∩（Ｐ１Ｂ∪Ｐ１Ａ）                  ［１１］
ｖ＝／Ｐ２∩（／Ｐ１Ｂ∪／Ｐ１Ａ）            ［１２］
図１０は上記した本発明の第１の実施形態に用いられるオーバーフロー検出器１１の他の構成例である。図１０で、６はアンドゲート、１６はインバータ、１７は全加算器、２１はオアゲート、２２はノアゲートである。
【０１０５】
図１０で示した回路は、符号ビットを反転する方式のもので、式［１］の単純和Ｓの代わりに、図３９に示した表３の冗長２進信号Ｐ２，Ｐ１Ｂ，Ｐ１Ａ，Ｐ０をデコードして正負のオーバーフロー検出信号ｕ、ｖを得ている。なお、図の破線で囲んだ部分１９は、図５の１８と置き換えても等価である。
【０１０６】
図４０で示した表４は、図９における冗長２進信号Ｐ２´、Ｐ１Ｂ´、Ｐ１Ａ´、Ｐ０´、とオーバーフローとの関係を示す表である。
【０１０７】
この表４から、冗長２進信号Ｐ２´、Ｐ１Ｂ´、Ｐ１Ａ´、Ｐ０´からオーバーフロー検出信号ｕ、ｖを求める論理式は、次のようである。
【０１０８】
ｕ＝／Ｐ２´∩（／Ｐ１Ｂ´∪／Ｐ１Ａ´）          ［１３］
ｖ＝Ｐ２´∩（Ｐ１Ｂ´∪Ｐ１Ａ´）                ［１４］
図１１は上記した本発明の第１の実施形態に用いられるオーバーフロー検出器１１の他の構成例である。図１１で、６はアンドゲート、１６はインバータ、１７は全加算器、２１はオアゲート、２２はノアゲートである。
【０１０９】
図１１の回路は、キャリーを反転する方式のもので、式［５］の単純和Ｓ´の代わりに、図４０の表４の冗長２進信号Ｐ２´、Ｐ１Ｂ´、Ｐ１Ａ´、Ｐ０´をデコードして正負のオーバーフロー検出信号ｕ、ｖを得ている。なお、図の破線で囲んだ部分１９は、図５の１８と置き換えても等価である。
【０１１０】
ところで、すでに述べたように、バイカッドは、多段に縦続接続されて用いられることが多いのであるが、単独で用いられた場合、または多段接続された初段のバイカッドには、前段からのオーバーフロー検出用入力信号ｃ、ｄ、ｅ、ｇ、ｈが存在しない。この場合、図１のオーバーフロー検出器１１に入力されている９本の信号のうち、ｄ、ｅ、ｇ、ｈを０にし、ｃとして入力データを与えれば、オーバーフローが正確に検出できる。通常、ｄ、ｅ、ｇ、ｈを０にする操作は、これらの信号線をＧＮＤ（接地）レべルに接続することで実現される。
【０１１１】
また、バタワースフィルタのような全極型のフィルタでは、係数器８ｄ、８ｅが不用であるため、オーバーフロー検出用入力信号ｄ、ｅ、ｇ、ｈを省略できる。この場合も上と同様の操作を行う。この場合、信号ｃは、入力データと等しい。
【０１１２】
しかし、初段バイカッド専用のオーバーフロー検出器を用意すれば、検出器の回路規模を削減できる。
【０１１３】
図１２は上記した本発明の第１の実施形態に用いられるオーバーフロー検出器１１の他の構成例である。図１２で、６はアンドゲート、１６はインバータ、１７は全加算器、２０は半加算器、２２はノアゲートである。
【０１１４】
図１２の回路は、初段バイカッド専用のオーバーフロー検出器であり、全極型フィルタにも応用できる。オーバーフローは、信号ａ、ｂ、ｃ、ｆ、ｉから検出され、他の信号は不要である。なお、図の破線で囲んだ部分１９は、図５の１８と置き換えても等価である。
【０１１５】
図１３は上記した本発明の第１の実施形態に使用されるオーバーフロー検出器１１の他の例である。図１３で、６はアンドゲート、１６はインバータ、１７は全加算器、２０は半加算器、２２はノアゲートである。
【０１１６】
図１３の回路は、初段バイカッド専用のオーバーフロー検出器であり、全極型フィルタにも応用できる。オーバーフローは、信号ａ、ｂ、ｃ、ｆ、ｉから検出され、他の信号は不要である。
【０１１７】
多段に縦続接続されたバイカッドで実現されるフィルタの次数は、偶数であるとは限らない。この場合、通常最後の段の係数器８ｂ、８ｅの係数を０にして、バイカッドの実効的な次数を１次にする。しかし、これらの係数器を省略して、最終段バイカッドの回路規模を削減する場合もある。
【０１１８】
このときには、内部で発生するオーバーフロー検出用入力信号ｂとｆが存在しない。前段は２次バイカッドであるから、他のオーバーフロー検出用入力信号は、全て存在する。この場合、図１のオーバーフロー検出器１１に入力されている９本の信号のうち、ｂ、ｆを０にすれば、オーバーフローが正確に検出できる。通常、ｂ、ｆを０にする操作は、これらの信号線をＧＮＤ（接地）レベルに接続することで実現される。この場合も、１次の最終段専用のオーバーフロー検出器を用意すれば、検出器の回路規模を削減できる。
【０１１９】
図１４は上記した本発明の第１の実施形態に用いられるオーバーフロー検出器１１の他の構成例である。図１４で、６はアンドゲート、１６はインバータ、１７は全加算器、２１はオアゲート、２２はノアゲートである。
【０１２０】
図１４の回路は、１次の最終段専用オーバーフロー検出器である。オーバーフローは、信号ａ、ｃ、ｄ、ｅ、ｇ、ｈ、ｉから検出され、他の信号は不要である。なお、図の破線で囲んだ部分１９は、図５の１８と置き換えても等価である。
【０１２１】
図１５は本発明の第１の実施形態に使用されるオーバーフロー検出器１１の他の例である。図１５で、６はアンドゲート、１６はインバータ、１７は全加算器、２１はオアゲート、２２はノアゲートである。
【０１２２】
図１５の回路は、１次の最終段専用オーバーフロー検出器である。オーバーフローは、信号ａ、ｃ、ｄ、ｅ、ｇ、ｈ、ｉから検出され、他の信号は不要である。なお、図の破線で囲んだ部分１９は、図５の１８と置き換えても等価である。
【０１２３】
本実施形態によれば、全てのビットのオーバーフローを検出できるオーバーフロー検出器１１により正負のオーバーフローが検出されると、クリップ回路１０で出力を正負の絶対値の最大値に固定することにより、２ビット以上の複数ビットに亙るオーバーフローを検出できると共に、オーバーフロー振動の発生を完全に防止することができる。
【０１２４】
図２は、本発明のディジタルフィルタの第２の実施形態に係る構成を示したブロック図である。図２において、６はアンドゲート、７ａ、７ｂ、７ｃはシフトレジスタ、８ａ、８ｂ、８ｃ、８ｄ、８ｅは係数器、９ａ、９ｂ、９ｃ、９ｄ、９ｅは加算器、１０はクリップ回路、１２はオーバーフロー検出器である。
【０１２５】
これらのうち、例えば、係数器には図２２、加算器には図２３、シフトレジスタには図２４に示す回路を用いることができる。また、クリップ回路には、図２１に示す回路を用いることができる。
【０１２６】
図２において、信号ｍ、ｎ、ｏ、ｐ、ｑ、ｒ、ｓは制御信号である。図に示した入力データ、出力データと、制御信号のタイミングは、データと係数それぞれのビット長によって異なる。データが１０ビット、係数が６ビットの場合のタイミングを図３１に示す。
【０１２７】
図３１は第２の実施形態における入力データ、出力データと、制御信号のタイミングを示す図である。図３１は、データが１０ビット、係数が６ビットの場合の例であり、データの整数部が４ビット、係数の整数部が２ビットの場合である。
【０１２８】
次に第２の実施形態についてその動作を説明する。図２の破線内が、ディジタルバイカッドフィルタ１００を構成している。バイカッド１００は、多段に縦続接続して用いられることが多いため、図には、前後の段のバイカット回路の一部も示してある。
【０１２９】
バイカッド１００内部では、クリップ回路１０の出力ｗとシフトレジスタ７ｂの出力に、それぞれ係数器８ａ、８ｂによって、あらかじめ定められた係数が乗じられ、それらの出力は加算器９ａで加算される。加算器９ａの出力と制御信号ｑとは加算器９ｅで加算される。制御信号ｑは、加算器９ａの出力に対して、ＬＳＢ（最下位ビット）より下の部分を四捨五入する役目をしている。この操作を丸め（roｕnding）と呼ぶ。加算器９ｅの出力と入力データとは加算器９ｄで加算される。加算器９ｄの出力は、アンドゲート６によって、制御信号ｍと論理和をとられ、シフトレジスタ７ａへと入力される。制御信号ｍは、加算器９ｄの出力から、データ長に等しい長さのビット列を切り出す役目をしている。シフトレジスタ７ａの出力ｔは、クリップ回路１０に入力される。
【０１３０】
また、クリップ回路１０の出力ｗとシフトレジスタ７ｂの出力、それにシフトレジスタ７ｃの出力には、それぞれ係数器８ｃ、８ｄ、８ｅによって、あらかじめ定められた係数が乗じられ、８ｄと８ｅの出力は加算器９ｃで、係数器８ｃの出力と加算器９ｃの出力とは加算器９ｂで加算され、出力データとして次の段に送られる。
【０１３１】
上記クリップ回路１０には、例えば、図２１に示すような回路が用いられる。クリップ回路１０には、入力信号ｔ、正負のオーバーフロー検出信号ｕとｖ、図３１に示したタイミングで変化する制御信号ｎ、ｏ、ｐ、ｓが入力されている。このクリップ回路１０の作用によって、信号ｗは、正のオーバーフロー時には正の最大値に、負のオーバーフロー時には負の最大値に、強制的にクリップされる。
【０１３２】
上記オーバーフロー検出信号ｕ、ｖは、オーバーフロー検出器１２によって生成される。オーバーフロー検出器には、係数器８ａ、８ｂの出力ａ、ｂと、加算器９ａのキャリー出力ｆと、加算器９ｄのキャリー出力ｉと、加算器９ｅのキャリー出力ｊと、前段のバイカッドの係数器８ｃ、８ｄ、８ｅの出力ｃ、ｄ、ｅと、同じく前段の加算器９ｂ、９ｃのキャリー出力ｇ、ｈとが入力されている。これら全ての入力をデコードして、正負のオーバーフロー検出信号ｕ、ｖを得る。
【０１３３】
図１６は、第２の実施形態に使用されるオーバーフロー検出器１２の構成例である。図１６で、６はアンドゲート、１６はインバータ、１７は全加算器、２０は半加算器、２１はオアゲート、２２はノアゲートである。
【０１３４】
図１６の回路は、符号を反転する方式のもので、単純和を計算する前の冗長２進信号をデコードして正負のオーバーフロー検出信号ｕ、ｖを得ている。なお、図の破線で囲んだ部分１９は、図５の１８と置き換えても等価である。この回路は、等価的に次式で求められる真の和Ｚを評価している。
【０１３５】
Ｚ＝／ａ＋／ｂ＋／ｃ＋／ｄ＋／ｅ＋ｆ＋ｇ＋ｈ＋ｉ＋ｊ−５…［１５］
この式［１５］で、
（ａ）真の和Ｚ＞０のとき          ｕ＝１、ｖ＝０
（ｂ）真の和Ｚ＜（−１）のとき    ｕ＝０、ｖ＝１
（ｃ）上記（ａ）、（ｂ）以外      ｕ＝ｖ＝０
になる。
【０１３６】
図１７は、第２の実施形態に使用されるオーバーフロー検出器１２の他の構成例である。図１７で、６はアンドゲート、１６はインバータ、１７は全加算器、２２はノアゲートである。
【０１３７】
図１７の回路は、初段バイカッド専用のオーバーフロー検出器であり、全極型フィルタにも応用できる。オーバーフローは、信号ａ、ｂ、ｃ、ｆ、ｉ、ｊから検出され、他の信号は不要である。なお、図の破線で囲んだ部分１９は、図５の１８と置き換えても等価である。
【０１３８】
図１８は、第１の実施形態に使用されるオーバーフロー検出器１２の他の構成例である。図１８で、６はアンドゲート、１６はインバータ、１７は全加算器、２０は半加算器、２１はオアゲート、２２はノアゲートである。
【０１３９】
図１８の回路は、１次の最終段専用オーバーフロー検出器である。オーバーフローは、信号ａ、ｃ、ｄ、ｅ、ｇ、ｈ、ｉ、ｊから検出され、他の信号は不要である。なお、図の破線で囲んだ部分１９は、図５の１８と置き換えても等価である。
【０１４０】
本実施形態によれば、加算器９ｅを挿入して丸め回路を付加することにより、演算結果を四捨五入することができ、その分、フィルター機能の精度を向上させることができる。他の構成は図１に示した第１の実施の形態と同様で、同様の効果がある。
【０１４１】
上記第１、第２の実施形態では、係数器内部での乗算によるオーバーフローを想定していない。係数器でのオーバーフローを防ぐには、係数の絶対値を１より小さくするか、オーバーフロー対策された係数器を使用する。係数の絶対値が１以上で、しかも係数器がオーバーフロー対策されていない場合の例を以下に示す。
【０１４２】
図３は、本発明のディジタルフィルタの第３の実施形態に係る構成を示したブロック図である。図３において、６はアンドゲート、７ａ、７ｂ、７ｃはシフトレジスタ、８ａ、８ｂ、８ｃ、８ｄ、８ｅは係数器、９ａ、９ｂ、９ｃ、９ｄは加算器、１０はクリップ回路、１３はオーバーフロー検出器である。
【０１４３】
これらのうち、例えば、係数器には図２２、加算器には図２３、シフトレジスタには図２４に示す回路を用いることができる。また、クリップ回路には、図２１に示す回路を用いることができる。
【０１４４】
図３において、信号ｍ、ｎ、ｏ、ｐ、ｒ、ｓは制御信号である。図に示した入力データ、出力データと、制御信号のタイミングは、データと係数それぞれのビット長によって異なる。データが１０ビット、係数が６ビットの場合のタイミングを図３２に示す。
【０１４５】
図３２は第３の実施形態における入力データ、出力データと、制御信号のタイミングを示す図である。図３２は、データが１０ビット、係数が６ビットの場合の例であり、データの整数部が４ビット、係数の整数部が２ビットの場合である。
【０１４６】
次に第３の実施形態の動作について説明する。図３の破線内が、ディジタルバイカッドフィルタ１００を構成している。バイカッド１００は、多段に縦続接続して用いられることが多いため、図には、前後の段のバイカット回路の一部も示してある。
【０１４７】
バイカッド内部では、クリップ回路１０の出力ｗとシフトレジスタ７ｂの出力に、それぞれ係数器８ａ、８ｂによって、あらかじめ定められた係数が乗じられ、それらの出力は加算器９ａで加算される。加算器９ａの出力と入力データとは加算器９ｄで加算される。加算器９ｄの出力は、アンドゲート６によって、制御信号ｍと論理和をとられ、１ビットレジスタ７ｄへと入力される。制御信号ｍは、加算器９ｄの出力から、データ長に等しい長さのビット列を切り出す役目をしている。１ビットレジスタ７ｄの出力は、シフトレジスタ７ａへと入力される。シフトレジスタ７ａの出力ｔは、クリップ回路１０に入力される。また、クリップ回路１０の出力ｗとシフトレジスタ７ｂの出力、それにシフトレジスタ７ｃの出力には、それぞれ係数器８ｃ、８ｄ、８ｅによって、あらかじめ定められた係数が乗じられ、８ｄと８ｅの出力は加算器９ｃで、係数器８ｃの出力と加算器９ｃの出力とは加算器９ｂで加算され、出力データとして次の段に送られる。
【０１４８】
上記クリップ回路１０には、例えば、図２１に示す回路が用いられる。クリップ回路１０には、入力信号ｔ、正負のオーバーフロー検出信号ｕとｖ、図３２に示したタイミングで変化する制御信号ｎ、ｏ、ｐ、ｓが入力されている。このクリップ回路１０の作用によって、信号ｗは、正のオーバーフロー時には正の最大値の１／２に、負のオーバーフロー時には負の最大値の１／２に、強制的にクリップされる。
【０１４９】
上記オーバーフロー検出信号ｕ、ｖは、オーバーフロー検出器１３によって生成される。オーバーフロ一検出回路には、係数器８ａ、８ｂの出力ａ、ｂと、加算器９ａのキャリー出力ｆと、加算器９ｄのキャリー出力ｉと、前段のバイカッドの係数器８ｃ、８ｄ、８ｅの出力ｃ、ｄ、ｅと、同じく前段の加算器９ｂ、９ｃのキャリー出力ｇ、ｈと、アンドゲート６の出力ｋと、１ビットレジスタの出力ｌが入力されている。これら全ての入力をデコードして、正負のオーバーフロー検出信号ｕ、ｖを得る。
【０１５０】
図１９は、第３の実施形態に使用されるオーバーフロー検出器１３の例である。図１９で、６と２３はアンドゲート、１６はインバータ、１７は全加算器、２１はオアゲート、２２はノアゲートである。
【０１５１】
図１９の回路は、図１０の回路を包含している。図１９の回路は、表１に示した図１０の回路の検出する正負のオーバーフローに加えて、信号ｋ、ｌの値により、次のような動作をする。
【０１５２】
（ａ）表１のＺが、Ｚ＞０のとき                    ｕ＝１、ｖ＝０
（ｂ）表１のＺが、Ｚ＜（−１）のとき              ｕ＝０、ｖ＝１
（ｃ）上記（ｂ）以外で、ｋ＝０かつｌ＝１のとき    ｕ＝１、ｖ＝０
（ｄ）上記（ａ）以外で、ｋ＝１かつｌ＝０のとき    ｕ＝０、ｖ＝１
（ｅ）上記（ａ）から（ｄ）のどれにもあてはまらないとき
ｕ＝０、ｖ＝０
図１９の回路は、このような動作により、加算器９ｄの和出力が、データ形式によって定まる正負の最大値の１／２を超えたことを検出する。なお、図の破線で囲んだ部分１９は、図５の１８と置き換えても等価である。
【０１５３】
図３の実施形態では、レジスタ７ａに直列にレジスタ７ｄを挿入して、オーバーフロー検出器１３にレジスタ７ａ，７ｄの入力信号を入力してオーバーフロー検出を行わせると共に、クリップ回路１０との組合せにより、すベての係数器に入力されるデータが、正負の最大値の１／２以下にクリップされるので、係数の絶対値が２よりも小さければ、係数器内部での乗算によるオーバーフローは生じないようにすることができ、演算に際し、オーバーフロー振動の発生を無くすことができる。
【０１５４】
図４は本発明のディジタルフィルタ第４の実施形態に係る構成を示したブロック図である。図４において、６はアンドゲート、７ａ、７ｂ、７ｃはシフトレジスタ、８ａ、８ｂ、８ｃ、８ｄ、８ｅは係数器、９ａ、９ｂ、９ｃ、９ｄ、９ｅは加算器、１０はクリップ回路、１４はオーバーフロー検出器である。
【０１５５】
これらのうち、例えば、係数器には図２２、加算器には図２３、シフトレジスタには図２４に示す回路を用いることができる。また、クリップ回路には、図２１に示す回路を用いることができる。
【０１５６】
図４において、信号ｍ、ｎ、ｏ、ｐ、ｑ、ｒ、ｓは制御信号である。図に示した入力データ、出力データと、制御信号のタイミングは、データと係数それぞれのビット長によって異なる。データが１０ビット、係数が６ビットの場合のタイミングを図３３に示す。
【０１５７】
図３３は第４の実施形態における入力データ、出力データと、制御信号のタイミングを示す図である。図３３は、データが１０ビット、係数が６ビットの場合の例であり、データの整数部が４ビット、係数の整数部が２ビットの場合である。
【０１５８】
次に第４の実施形態の動作について説明する。図４の破線内が、ディジタルバイカッドフィルタ１００を構成している。バイカッド１００は、多段に縦続接続して用いられることが多いため、図には、前後の段のバイカット回路の一部も示してある。
【０１５９】
バイカッド内部では、クリップ回路１０の出力ｗとシフトレジスタ７ｂの出力に、それぞれ係数器８ａ、８ｂによって、あらかじめ定められた係数が乗じられ、それらの出力は加算器９ａで加算される。加算器９ａの出力と制御信号ｑとは加算器９ｅで加算される。制御信号ｑは、加算器９ａの出力に対して、ＬＳＢ（最下位ビット）より下の部分を四捨五入する役目をしている。前述のように、この操作を丸め（rounding）と呼ぶ。加算器９ｅの出力と入力データとは加算器９ｄで加算される。加算器９ｄの出力は、アンドゲート６によって、制御信号ｍと論理和をとられ、１ビットレジスタ７ｄへと入力される。制御信号ｍは、加算器９ｄの出力から、データ長に等しい長さのビット列を切り出す役目をしている。１ビットレジスタ７ｄの出力は、シフトレジスタ７ａへと入力される。シフトレジスタ７ａの出力ｔは、クリップ回路１０に入力される。また、クリップ回路１０の出力ｗとシフトレジスタ７ｂの出力、それにシフトレジスタ７ｃの出力には、それぞれ係数器８ｃ、８ｄ、８ｅによって、あらかじめ定められた係数が乗じられ、８ｄと８ｅの出力は加算器９ｃで、係数器８ｃの出力と加算器９ｃの出力とは加算器９ｂで加算され、出力データとして次の段に送られる。
【０１６０】
上記クリップ回路１０には、例えば、図２１に示す回路が用いられる。クリップ回路１０には、入力信号ｔ、正負のオーバーフロー検出信号ｕとｖ、図３３に示したタイミングで変化する制御信号ｎ、ｏ、ｐ、ｓが入力されている。このクリップ回路１０の作用によって、信号ｗは、正のオーバーフロー時には正の最大値の１／２に、負のオーバーフロー時には負の最大値の１／２に、強制的にクリップされる。
【０１６１】
上記オーバーフロー検出信号ｕ、ｖは、オーバーフロー検出器１４によって生成される。オーバーフロー検出器には、係数器８ａ、８ｂの出力ａ、ｂと、加算器９ａのキャリー出力ｆと、加算器９ｄのキャリー出力ｉと、加算器９ｅのキャリー出力ｊと、前段のバイカッドの係数器８ｃ、８ｄ、８ｅの出力ｃ、ｄ、ｅと、同じく前段の加算器９ｂ、９ｃのキャリー出力ｇ、ｈと、アンドゲート６の出力ｋと、１ビットレジスタ７ｄの出力ｌが入力されている。これら全ての入力をデコードして、正負のオーバーフロー検出信号ｕ、ｖを得る。
【０１６２】
図２０は、第４の実施形態に使用されるオーバーフロー検出器１４の例である。
【０１６３】
図２０で、６と２３はアンドゲート、１６はインバータ、１７は全加算器、２０は半加算器、２１はオアゲート、２２はノアゲートである。
【０１６４】
図２０の回路は、図１６の回路を包含している。図２０の回路は、図１６の回路の検出する正負のオーバーフローに加えて、信号ｋ、ｌの値により、次のような動作をする。
【０１６５】
（ａ）真の和Ｚ＞０のとき                    ｕ＝１、ｖ＝０
（ｂ）真の和Ｚ＜（−１）のとき              ｕ＝０、ｖ＝１
（ｃ）上記（ｂ）以外で、ｋ＝０かつｌ＝１のとき    ｕ＝１、ｖ＝０
（ｄ）上記（ａ）以外で、ｋ＝１かつｌ＝０のとき    ｕ＝０、ｖ＝１
（ｅ）上記（ａ）から（ｄ）のどれにもあてはまらないとき
ｕ＝０、ｖ＝０
ただし、真の和Ｚは、式［１５］で求められる。
【０１６６】
図２０の回路は、このような動作により、加算器９ｄの和出力が、データ形式によって定まる正負の最大値の１／２を超えたことを検出する。なお、図の破線で囲んだ部分１９は、図５の１８と置き換えても等価である。
【０１６７】
図４の実施形態では、レジスタ７ａ，７ｄの入力信号をオーバーフロー検出器１４に入力してオーバーフロー検出を行わせると共に、クリップ回路１０との組合せにより、すベての係数器に入力されるデータが、正負の最大値の１／２以下にクリップされるので、係数の絶対値が２よりも小さければ、係数器内部での乗算によるオーバーフローは生じない。しかも、加算器９ｅを挿入して丸め回路を付加することにより、演算結果を四捨五入することができ、その分、フィルター機能の精度を向上させることができる。
【０１６８】
以上４つの実施形態では、直列演算によるバイカッドを示したが、並列演算による方式でも、同様の構成でオーバーフローが検出でき、クリップ回路を並列型にすることで、オーバーフロー振動も防止することができる。また、クリップする値は、正負の最大値またはその１／２に限定されるものではなく、図３０から３３のタイミング図に示した制御信号ｎのタイミングを変えることで、正負の最大値の２のべき乗分の１、即ち１／４、１／８などに設定できる。
【０１６９】
尚、本発明は上記実施形態に限定されることなく、その要旨を逸脱しない範囲において、具体的な構成、機能、作用、効果において、他の種々の形態によっても実施することができる。
【０１７０】
【発明の効果】
以上詳細に説明したように、本発明のディジタルフィルタによれば、２ビット以上の複数ビットに亙るオーバーフローを検出できると共に、オーバーフロー振動の発生を完全に防止することができる。それ故、本例のディジタルバイカッドフィルタを電話の音声系に使用することにより、ノイズの無い、聞きやすい音声を得ることができる。
【図面の簡単な説明】
【図１】本発明の第１の実施形態を示す図である。
【図２】本発明の第２の実施形態を示す図である。
【図３】本発明の第３の実施形態を示す図である。
【図４】本発明の第４の実施形態を示す図である。
【図５】本発明の実施形態で用いられるオーバーフロー検出器を示す図である。
【図６】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図７】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図８】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図９】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図１０】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図１１】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図１２】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図１３】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図１４】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図１５】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図１６】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図１７】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図１８】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図１９】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図２０】本発明の実施形態で用いられる別のオーバーフロー検出器を示す図である。
【図２１】本発明の実施形態で用いられるクリップ回路を示す図である。
【図２２】本発明の実施形態で用いられる係数器を示す図である。
【図２３】本発明の実施形態で用いられる加算器を示す図である。
【図２４】本発明の実施形態で用いられるシフトレジスタを示す図である。
【図２５】本発明の実施形態で用いられる１ビットレジスタを示す図である。
【図２６】従来のディジタルフィルタで用いられるセレクタを示す図である。
【図２７】本発明の実施形態で用いられる全加算器を示す図である。
【図２８】本発明の実施形態で用いられる半加算器を示す図である。
【図２９】従来のディジタルフィルタの構成例を示した図である。
【図３０】第１の実施形態の信号タイミングを示す図である。
【図３１】第２の実施形態の信号タイミングを示す図である。
【図３２】第３の実施形態の信号タイミングを示す図である。
【図３３】第４の実施形態の信号タイミングを示す図である。
【図３４】一般的なオーバーフロー振動を示す図である。
【図３５】図２９に示した回路におけるオーバーフロー振動を示す図である。
【図３６】本発明の実施形態のディジタルフィルタにおけるオーバーフロー波形を示す図である。
【図３７】第１の実施形態における単純和Ｓ、真の和Ｚと、オーバーフローの関係を示す表図である。
【図３８】第１の実施形態における単純和Ｓ′、真の和Ｚと、オーバーフローの関係を示す表図である。
【図３９】図８における冗長２進信号Ｐ２，Ｐ１Ｂ，Ｐ１Ａ，Ｐ０とオーバーフローとの関係を示す図である。
【図４０】図９における冗長２進信号Ｐ２′，Ｐ１Ｂ′，Ｐ１Ａ′，Ｐ０′とオーバーフローとの関係を示す図である。
【符号の説明】
１ａ、１ｄ、７ｄ、２５  １ビットレジスタ
１ｂ、１ｃ、１ｅ、１ｆ、７ａ、７ｂ、７ｃ  シフトレジスタ
２、８ａ、８ｂ、８ｃ、８ｄ、８ｅ  係数器
３、９ａ、９ｂ、９ｃ、９ｄ、９ｅ  加算器
４  エクスクルーシブノアゲート（一致回路）
５  セレクタ
６、２３  アンドゲート
１０  クリップ回路
１１、１２、１３、１４  オーバーフロー検出器
１５、２１  オアゲート
１６  インバータ
１７  全加算器
１８  １９と等価な回路部分
１９  １８と等価な回路部分
２０  半加算器
２２  ノアゲート
２４  エクスクルーシブオアゲート（排他的論理和）
２６  ナンドゲート
２７  クロックドインバータ
【図１】
0003833884.tif 000002
【図２】
0003833884.tif 000003
【図３】
0003833884.tif 000004
【図４】
0003833884.tif 000005
【図５】
0003833884.tif 000006
【図６】
0003833884.tif 000007
【図７】
0003833884.tif 000008
【図８】
0003833884.tif 000009
【図９】
0003833884.tif 000010
【図１０】
0003833884.tif 000011
【図１１】
0003833884.tif 000012
【図１２】
0003833884.tif 000013
【図１３】
0003833884.tif 000014
【図１４】
0003833884.tif 000015
【図１５】
0003833884.tif 000016
【図１６】
0003833884.tif 000017
【図１７】
0003833884.tif 000018
【図１８】
0003833884.tif 000019
【図１９】
0003833884.tif 000020
【図２０】
0003833884.tif 000021
【図２１】
0003833884.tif 000022
【図２２】
0003833884.tif 000023
【図２３】
0003833884.tif 000024
【図２４】
0003833884.tif 000025
【図２５】
0003833884.tif 000026
【図２６】
0003833884.tif 000027
【図２７】
0003833884.tif 000028
【図２８】
0003833884.tif 000029
【図２９】
0003833884.tif 000030
【図３０】
0003833884.tif 000031
【図３１】
0003833884.tif 000032
【図３２】
0003833884.tif 000033
【図３３】
0003833884.tif 000034
【図３４】
0003833884.tif 000035
【図３５】
0003833884.tif 000036
【図３６】
0003833884.tif 000037
【図３７】
0003833884.tif 000038
【図３８】
0003833884.tif 000039
【図３９】
0003833884.tif 000040
【図４０】
0003833884.tif 000041