(57)【要約】【課題】クロック信号の周波数を上げることが可能な帰還型の演算回路、ならびに、演算回路を有するデジタルフィルタおよび通信機を提供する。【解決手段】積分回路３１は、入力データに出力を加算することで算出した積算値を出力する積算部３３と、積算部３３が出力する積算値を遅延させる遅延部３４と、積算部３３が出力する積算値に、遅延部３４で遅延された積算値を加算して算出した合算値を出力する合算部３５と、を備える。積算部３３、遅延部３４、合算部３５，および微分回路３２は、クロック信号に同期して動作をする。積算部３３および合算部３５は、クロック信号を分周した分周クロック信号に同期して動作する複数の演算器を有し、複数の演算器で並列に演算処理を行う。【選択図】図３
2020053889.tif 000002
【特許請求の範囲】
【請求項１】
入力データに、出力を加算することで算出した積算値を出力する積算部と、
クロック信号に同期して動作し、前記積算値を、前記クロック信号の周期の自然数倍に一致する遅延時間だけ遅延させて出力する少なくとも１つの遅延部と、
前記積算部が出力する前記積算値に、前記少なくとも１つの遅延部が出力する前記積算値を加算することで算出した合算結果を出力する合算部と、
を備え、
前記積算部は、前記クロック信号を分周した分周クロック信号に同期して動作する複数の積算器で並列に積算処理を行った結果を合成することで、前記積算値を算出し、
前記合算部は、前記分周クロック信号に同期して動作する複数の加算器で並列に加算処理を行った結果を合成することで、前記合算結果を算出し、
前記少なくとも１つの遅延部の個数は、前記クロック信号に対する前記分周クロック信号の分周比から１を減算した値に一致し、
前記少なくとも１つの遅延部の遅延時間は互いに異なり、
最も長い前記遅延時間は、前記クロック信号の周期に、前記少なくとも１つの遅延部の個数を乗算した値に一致する、
演算回路。
【請求項２】
前記積算部は、
前記クロック信号に同期して動作し、前記入力データを分配する分配器と、
前記分周クロック信号に同期して動作し、前記分配器で分配された前記入力データに出力を加算した演算結果を出力する前記複数の積算器と、
前記クロック信号に同期して動作し、前記複数の積算器が出力する前記演算結果を合算して算出した前記積算値を出力する合成部と、
を備える請求項１に記載の演算回路。
【請求項３】
前記合算部は、
前記クロック信号に同期して動作し、前記積算値を分配する第１分配器と、
前記クロック信号に同期して動作し、前記少なくとも１つの遅延部が出力する前記積算値を分配する第２分配器と、
前記分周クロック信号に同期して動作し、前記第１分配器で分配された前記積算値に、前記第２分配器で分配された前記積算値を加算した演算結果を出力する前記複数の加算器と、
前記クロック信号に同期して動作し、前記複数の加算器が出力する前記演算結果を合算して算出した前記合算結果を出力する合成部と、
を備える請求項１または２に記載の演算回路。
【請求項４】
入力データに、出力に第１係数を乗算した結果を加算することで算出した積和演算結果を出力する積和演算部と、
クロック信号に同期して動作し、前記積和演算結果を、前記クロック信号の周期だけ遅延させて出力する第１遅延部と、
前記積和演算結果に第２係数を乗算することで算出した第１乗算結果を出力する第１乗算部と、
前記第１遅延部が出力する前記積和演算結果に、前記第１乗算結果を加算することで算出した合算結果を出力する合算部と、
を備え、
前記第１係数は、前記第２係数の自然数乗であり、
前記積和演算部は、前記クロック信号を分周した分周クロック信号に同期して動作する複数の積和演算器で並列に積和演算処理を行った結果を合成することで、前記積和演算結果を算出し、
前記第１乗算部は、前記分周クロック信号に同期して動作する複数の乗算器で並列に乗算処理を行った結果を合成することで、前記第１乗算結果を算出し、
前記合算部は、前記分周クロック信号に同期して動作する複数の加算器で並列に加算処理を行った結果を合成することで、前記合算結果を算出する、
演算回路。
【請求項５】
前記積和演算結果を、前記クロック信号の周期だけ遅延させて出力する第２遅延部と、
前記積和演算結果を、前記クロック信号の周期の自然数倍に一致する第２遅延時間だけ遅延させ、前記第２係数の自然数乗を乗算することで、算出される第２乗算結果を出力する少なくとも１つの第２乗算部と、
をさらに備え、
前記第２乗算部は、前記分周クロック信号に同期して動作する複数の乗算器で並列に乗算処理を行った結果を合成することで、前記第２乗算結果を算出し、
前記第１遅延部は、前記第２遅延部が出力する前記積和演算結果を、前記クロック信号の周期だけ遅延させて出力し、
前記少なくとも１つの第２乗算部で乗算される前記第２係数の自然数乗は互いに異なり、
最も大きい前記第２係数の自然数乗のべき指数は、前記少なくとも１つの第２乗算部の数に１を加算した値に一致し、
前記少なくとも１つの第２乗算部のそれぞれにおいて、前記第２係数の自然数乗のべき指数は、前記第２遅延時間を前記クロック信号の周期で除算した値に１を加算した値に一致する、
請求項４に記載の演算回路。
【請求項６】
前記積和演算部は、
前記クロック信号に同期して動作し、前記入力データを分配する分配器と、
前記分周クロック信号に同期して動作し、前記分配器で分配された前記入力データに、出力に前記第１係数を乗算した結果を加算した演算結果を出力する前記複数の積和演算器と、
前記クロック信号に同期して動作し、前記複数の積和演算器が出力する前記演算結果を合算して算出した前記積和演算結果を出力する合成部と、
を備える請求項４または５に記載の演算回路。
【請求項７】
前記第１乗算部は、
前記クロック信号に同期して動作し、前記積和演算部が出力する前記積和演算結果を分配する分配器と、
前記分周クロック信号に同期して動作し、前記分配器で分配された前記積和演算結果に、前記第２係数を乗算した演算結果を出力する前記複数の乗算器と、
前記クロック信号に同期して動作し、前記複数の乗算器が出力する前記演算結果を合算して算出した前記第１乗算結果を出力する合成部と、
を備える請求項４から６のいずれか１項に記載の演算回路。
【請求項８】
前記第２乗算部は、
前記クロック信号に同期して動作し、前記積和演算結果を前記第２遅延時間だけ遅延させる遅延処理部と、
前記クロック信号に同期して動作し、前記遅延処理部で遅延された前記積和演算結果を分配する分配器と、
前記分周クロック信号に同期して動作し、前記遅延処理部で遅延され、前記分配器で分配された前記積和演算結果に、前記第２係数の自然数乗を乗算した演算結果を出力する前記複数の乗算器と、
前記クロック信号に同期して動作し、前記複数の乗算器が出力する前記演算結果を合算して算出した前記第２乗算結果を出力する合成部と、
を備える請求項５に記載の演算回路。
【請求項９】
請求項１から８のいずれかに１項に記載の演算回路を備え、
入力信号に対して、前記演算回路による信号処理を行い、前記入力信号の周波数成分の内、通過帯域外の周波数成分を逓減して出力する、
デジタルフィルタ。
【請求項１０】
クロック信号を出力するクロック生成回路と、
周囲の音声を集音し、前記クロック信号に応じてサンプリングして音声信号を生成する入力処理部と、
前記音声信号の周波数成分の内、通過帯域外の周波数成分を逓減して出力する請求項９に記載のデジタルフィルタと、
前記デジタルフィルタの出力に対して、可聴周波数から中間周波数への周波数変換を行う周波数変換部と、
前記周波数変換部の出力に対し、中間周波数から無線周波数への周波数変換を含む信号処理を行って、送信信号を生成する送信回路と、
前記送信信号を送信するアンテナと、
を備える通信機。
【請求項１１】
クロック信号を出力するクロック生成回路と、
電波を受信してアンテナ信号を生成するアンテナと、
前記アンテナ信号に対し、無線周波数から中間周波数への変換を含む信号処理を行い、前記クロック信号に応じてサンプリングして受信信号を生成する受信回路と、
前記受信信号に対し、中間周波数から可聴周波数への周波数変換を行って音声信号を生成する周波数変換部と、
前記周波数変換部の出力の周波数成分の内、通過帯域外の周波数成分を逓減して出力する請求項９に記載のデジタルフィルタと、
前記デジタルフィルタの出力から音声を生成して出力する出力処理部と、
を備える通信機。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、帰還型の演算回路、デジタルフィルタ、および通信機に関する。
【背景技術】
【０００２】
通信機が有するデジタルフィルタは、クロック信号に同期してサンプリングされた入力データに対して、加算、減算、積和演算等の演算処理を行う演算回路を有する。クロック信号の周波数を上げた場合、演算回路を構成するＣＰＵ（Central Processing Unit：中央処理装置）、ＦＰＧＡ（Field Programmable Gate Array）等の処理速度を上げる必要がある。しかしながら、処理速度には上限があるため、クロック信号の周波数を十分に上げることができない場合がある。また処理速度の速い演算器を用いると、製造コストが増大してしまう。そこで、演算処理を複数に分割し、各々の演算量を減らすことでクロック信号の周波数の上昇に対応する手法が用いられている。演算処理を複数に分割する手法として、演算処理ごとに複数の異なる回路に分割する手法、演算処理の開始時間を分けて複数の同じ回路に分割する手法、上記手法を組み合わせた手法がある。演算処理の開始時間を分けて複数の同じ回路に分割する手法として、並列に設けられた複数の演算器を有するデジタルフィルタの一例が、特許文献１に開示されている。
【０００３】
特許文献１に開示されるデジタルフィルタは、１系統の入力を複数系統に分割出力し、転送クロックレートを下げて、複数の演算器で演算処理を行い、複数の演算器の演算結果を合算して出力する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００１−３６３８２号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
特許文献１に開示されるデジタルフィルタでは、複数の演算器で構成されるデジタルフィルタの処理速度を速くすることが可能となるが、この場合の複数の演算器の演算は互いに独立している必要がある。つまり、１つ目の計算結果が２つ目の計算結果に影響を与えないことが条件となる。影響を与える場合には、１つ目の計算が終わるまで２つ目の計算を開始できない。このため、特許文献１に開示されるデジタルフィルタは、ＦＩＲ（Finite Impulse Response：有限インパルス応答）フィルタに適用できるが、帰還型であるＣＩＣ（Cascaded Integrator-Comb）フィルタまたはＩＩＲ（Infinite Impulse Response：無限インパルス応答）フィルタには適用できない。
【０００６】
本発明は上述の事情に鑑みてなされたものであり、クロック信号の周波数を上げることが可能な帰還型の演算回路、ならびに、演算回路を有するデジタルフィルタおよび通信機を提供することが目的である。
【課題を解決するための手段】
【０００７】
上記目的を達成するため、本発明の第１の観点に係る演算回路は、
入力データに、出力を加算することで算出した積算値を出力する積算部と、
クロック信号に同期して動作し、前記積算値を、前記クロック信号の周期の自然数倍に一致する遅延時間だけ遅延させて出力する少なくとも１つの遅延部と、
前記積算部が出力する前記積算値に、前記少なくとも１つの遅延部が出力する前記積算値を加算することで算出した合算結果を出力する合算部と、
を備え、
前記積算部は、前記クロック信号を分周した分周クロック信号に同期して動作する複数の積算器で並列に積算処理を行った結果を合成することで、前記積算値を算出し、
前記合算部は、前記分周クロック信号に同期して動作する複数の加算器で並列に加算処理を行った結果を合成することで、前記合算結果を算出し、
前記少なくとも１つの遅延部の個数は、前記クロック信号に対する前記分周クロック信号の分周比から１を減算した値に一致し、
前記少なくとも１つの遅延部の遅延時間は互いに異なり、
最も長い前記遅延時間は、前記クロック信号の周期に、前記少なくとも１つの遅延部の個数を乗算した値に一致する。
【０００８】
好ましくは、前記積算部は、
前記クロック信号に同期して動作し、前記入力データを分配する分配器と、
前記分周クロック信号に同期して動作し、前記分配器で分配された前記入力データに出力を加算した演算結果を出力する前記複数の積算器と、
前記クロック信号に同期して動作し、前記複数の積算器が出力する前記演算結果を合算して算出した前記積算値を出力する合成部と、
を備える。
【０００９】
好ましくは、前記合算部は、
前記クロック信号に同期して動作し、前記積算値を分配する第１分配器と、
前記クロック信号に同期して動作し、前記少なくとも１つの遅延部が出力する前記積算値を分配する第２分配器と、
前記分周クロック信号に同期して動作し、前記第１分配器で分配された前記積算値に、前記第２分配器で分配された前記積算値を加算した演算結果を出力する前記複数の加算器と、
前記クロック信号に同期して動作し、前記複数の加算器が出力する前記演算結果を合算して算出した前記合算結果を出力する合成部と、
を備える。
【００１０】
本発明の第２の観点に係る演算回路は、
入力データに、出力に第１係数を乗算した結果を加算することで算出した積和演算結果を出力する積和演算部と、
クロック信号に同期して動作し、前記積和演算結果を、前記クロック信号の周期だけ遅延させて出力する第１遅延部と、
前記積和演算結果に第２係数を乗算することで算出した第１乗算結果を出力する第１乗算部と、
前記第１遅延部が出力する前記積和演算結果に、前記第１乗算結果を加算することで算出した合算結果を出力する合算部と、
を備え、
前記第１係数は、前記第２係数の自然数乗であり、
前記積和演算部は、前記クロック信号を分周した分周クロック信号に同期して動作する複数の積和演算器で並列に積和演算処理を行った結果を合成することで、前記積和演算結果を算出し、
前記第１乗算部は、前記分周クロック信号に同期して動作する複数の乗算器で並列に乗算処理を行った結果を合成することで、前記第１乗算結果を算出し、
前記合算部は、前記分周クロック信号に同期して動作する複数の加算器で並列に加算処理を行った結果を合成することで、前記合算結果を算出する。
【００１１】
好ましくは、前記積和演算結果を、前記クロック信号の周期だけ遅延させて出力する第２遅延部と、
前記積和演算結果を、前記クロック信号の周期の自然数倍に一致する第２遅延時間だけ遅延させ、前記第２係数の自然数乗を乗算することで、算出される第２乗算結果を出力する少なくとも１つの第２乗算部と、
をさらに備え、
前記第２乗算部は、前記分周クロック信号に同期して動作する複数の乗算器で並列に乗算処理を行った結果を合成することで、前記第２乗算結果を算出し、
前記第１遅延部は、前記第２遅延部が出力する前記積和演算結果を、前記クロック信号の周期だけ遅延させて出力し、
前記少なくとも１つの第２乗算部で乗算される前記第２係数の自然数乗は互いに異なり、
最も大きい前記第２係数の自然数乗のべき指数は、前記少なくとも１つの第２乗算部の数に１を加算した値に一致し、
前記少なくとも１つの第２乗算部のそれぞれにおいて、前記第２係数の自然数乗のべき指数は、前記第２遅延時間を前記クロック信号の周期で除算した値に１を加算した値に一致する。
【００１２】
好ましくは、前記積和演算部は、
前記クロック信号に同期して動作し、前記入力データを分配する分配器と、
前記分周クロック信号に同期して動作し、前記分配器で分配された前記入力データに、出力に前記第１係数を乗算した結果を加算した演算結果を出力する前記複数の積和演算器と、
前記クロック信号に同期して動作し、前記複数の積和演算器が出力する前記演算結果を合算して算出した前記積和演算結果を出力する合成部と、
を備える。
【００１３】
好ましくは、前記第１乗算部は、
前記クロック信号に同期して動作し、前記積和演算部が出力する前記積和演算結果を分配する分配器と、
前記分周クロック信号に同期して動作し、前記分配器で分配された前記積和演算結果に、前記第２係数を乗算した演算結果を出力する前記複数の乗算器と、
前記クロック信号に同期して動作し、前記複数の乗算器が出力する前記演算結果を合算して算出した前記第１乗算結果を出力する合成部と、
を備える。
【００１４】
好ましくは、前記第２乗算部は、
前記クロック信号に同期して動作し、前記積和演算結果を前記第２遅延時間だけ遅延させる遅延処理部と、
前記クロック信号に同期して動作し、前記遅延処理部で遅延された前記積和演算結果を分配する分配器と、
前記分周クロック信号に同期して動作し、前記遅延処理部で遅延され、前記分配器で分配された前記積和演算結果に、前記第２係数の自然数乗を乗算した演算結果を出力する前記複数の乗算器と、
前記クロック信号に同期して動作し、前記複数の乗算器が出力する前記演算結果を合算して算出した前記第２乗算結果を出力する合成部と、
を備える。
【００１５】
本発明の第３の観点に係るデジタルフィルタは、
上記演算回路を備え、
入力信号に対して、前記演算回路による信号処理を行い、前記入力信号の周波数成分の内、通過帯域外の周波数成分を逓減して出力する。
【００１６】
本発明の第４の観点に係る通信機は、
クロック信号を出力するクロック生成回路と、
周囲の音声を集音し、前記クロック信号に応じてサンプリングして音声信号を生成する入力処理部と、
前記音声信号の周波数成分の内、通過帯域外の周波数成分を逓減して出力する上記デジタルフィルタと、
前記デジタルフィルタの出力に対して、可聴周波数から中間周波数への周波数変換を行う周波数変換部と、
前記周波数変換部の出力に対し、中間周波数から無線周波数への周波数変換を含む信号処理を行って、送信信号を生成する送信回路と、
前記送信信号を送信するアンテナと、
を備える。
【００１７】
本発明の第５の観点に係る通信機は、
クロック信号を出力するクロック生成回路と、
電波を受信してアンテナ信号を生成するアンテナと、
前記アンテナ信号に対し、無線周波数から中間周波数への変換を含む信号処理を行い、前記クロック信号に応じてサンプリングして受信信号を生成する受信回路と、
前記受信信号に対し、中間周波数から可聴周波数への周波数変換を行って音声信号を生成する周波数変換部と、
前記周波数変換部の出力の周波数成分の内、通過帯域外の周波数成分を逓減して出力する上記デジタルフィルタと、
前記デジタルフィルタの出力から音声を生成して出力する出力処理部と、
を備える。
【発明の効果】
【００１８】
本発明によれば、積算部は、分周クロック信号に同期して動作する複数の積算器で並列に積算処理を行った結果を合成することで、積算値を算出する。合算部が、積算部が出力する積算値に、少なくとも１つの遅延部が出力する積算値を加算することで、並列に積算処理を行った結果を合成する際に生じる遅延による積算値の誤りが解消される。また、この合算部の合算処理は、クロック信号に同期して行う必要があるが、直前の計算結果に基づく帰還型の演算処理ではない。このため、合算処理での遅延が大きくなっても、演算結果に誤りは生じない。そのため、複数の積算器で並列に積算処理を行って、遅延型の演算処理を行う積算部の処理速度を上げることが可能であり、クロック信号の周波数を上げることが可能である。
【図面の簡単な説明】
【００１９】
【図１】本発明の実施の形態１に係る無線機の構成を示すブロック図
【図２】ＬＰＦを構成するデジタルフィルタの構成を示すブロック図
【図３】実施の形態１に係るデジタルフィルタの構成を示すブロック図
【図４】実施の形態１に係る積算部の構成を示すブロック図
【図５】実施の形態１に係る合算部の構成を示すブロック図
【図６】デジタルフィルタを構成する演算回路におけるデータの流れを示す図
【図７】実施の形態１に係る演算回路におけるデータの流れを示す図
【図８】デジタルフィルタを構成する演算回路の入力と出力の例を示す図
【図９】実施の形態１に係る演算回路の入力と出力の例を示す図
【図１０】デジタルフィルタを構成する積和演算回路の構成を示すブロック図
【図１１】本発明の実施の形態２に係る積和演算回路の構成を示すブロック図
【図１２】実施の形態２に係る積和演算部の構成を示すブロック図
【図１３】実施の形態２に係る第１乗算部の構成を示すブロック図
【図１４】デジタルフィルタを構成する積和演算回路におけるデータの流れを示す図
【図１５】実施の形態２に係る演算回路におけるデータの流れを示す図
【図１６】デジタルフィルタを構成する積和演算回路の入力と出力の例を示す図
【図１７】実施の形態２に係る演算回路の入力と出力の例を示す図
【図１８】本発明の実施の形態３に係る積分回路の構成を示すブロック図
【図１９】実施の形態３に係る積分回路におけるデータの流れを示す図
【図２０】本発明の実施の形態４に係る積和演算回路の構成を示すブロック図
【図２１】実施の形態４に係る積和演算回路におけるデータの流れを示す図
【発明を実施するための形態】
【００２０】
以下、本発明の実施の形態に係る演算回路、デジタルフィルタ、および通信機について図面を参照して詳細に説明する。なお図中、同一または同等の部分には同一の符号を付す。
【００２１】
（実施の形態１）
図１は、本発明の実施の形態１に係る無線機の構成を示すブロック図である。通信機１は、送信側回路として、周囲の音声を集音し、電気信号に変換して出力するマイク２と、マイク２の出力する電気信号を、図示しないクロック生成回路が出力するクロック信号に応じてサンプリングして、Ａ−Ｄ（Analog-to-Digital）変換、増幅、変調等の信号処理を行って、音声信号を生成する入力処理部３と、音声信号の周波数成分の内、遮断周波数より高い周波数成分を逓減させるＬＰＦ（Low Pass Filter：低域通過フィルタ）４と、ＬＰＦ４の出力信号に対し、ＡＦ（Audio Frequency：可聴周波数）からＩＦ（Intermediate Frequency：中間周波数）への周波数変換を行う周波数変換部５と、周波数変換部５の出力信号をＤ−Ａ（Digital-to-Analog）変換して、増幅、ＩＦからＲＦ（Radio Frequency：無線周波数）への周波数変換等の信号処理を行う送信回路６とを備える。送信回路６が出力する送信信号は、送受信切替部７を介して、アンテナ８から送信される。なおＲＦ信号を直接Ｄ−Ａ変換できない場合、ＩＦ信号をＤ−Ａ変換した後、送信回路６でＩＦからＲＦに変換すればよい。
【００２２】
通信機１は、受信側回路として、送受信切替部７を介して、アンテナ８が電波を受信して生成したアンテナ信号を取得し、アンテナ信号に対して増幅、ＲＦからＩＦへの周波数変換等の信号処理を行って、クロック信号に応じてサンプリングして受信信号を生成する受信回路９と、受信信号に対し、ＩＦからＡＦへの周波数変換を行う周波数変換部１０と、周波数変換部１０の出力信号の周波数成分の内、遮断周波数より高い周波数成分を低減させるＬＰＦ１１と、ＬＰＦ１１の出力信号に対し、復調、増幅、Ｄ−Ａ変換などの信号処理を行う出力処理部１２と、出力処理部１２が出力する電気信号を音声に変換して出力するスピーカ１３と、を備える。なおＲＦ信号を直接Ａ−Ｄ変換できない場合、受信回路９においてＲＦからＩＦへの周波数変換を行ってから、ＩＦ信号をＡ−Ｄ変換すればよい。
【００２３】
通信機１の各部は、コントローラ２０によって制御される。コントローラ２０は、ＣＰＵ（Central Processing Unit：中央処理装置）２１と、ＲＡＭ（Random Access Memory）２３と、ＲＯＭ（Read-Only Memory）２４と、を備える。複雑化を避け、理解を容易にするために、コントローラ２０から各部への信号線が省略されている。コントローラ２０は通信機１の各部にＩ／Ｏ（Input／Output）２２を介して接続されており、それらの処理の開始、終了、処理内容の制御を行う。ＲＯＭ２４は、コントローラ２０が通信機１の動作を制御するための制御プログラムを格納する。コントローラ２０は、制御プログラムに基づいて、通信機１の各部を制御する。
【００２４】
ＬＰＦ４，１１は、例えば、ＣＩＣ（Cascaded Integrator-Comb）フィルタであるデジタルフィルタで構成される。デジタルフィルタは、入力信号、すなわち、音声信号または受信信号に対して、信号処理を行い、入力信号の周波数成分の内、通過帯域外の周波数成分を逓減して出力する。図２は、ＬＰＦ４，１１を構成するデジタルフィルタの構成を示すブロック図である。ＬＰＦ４，１１は、通過帯域外の周波数成分、すなわち、遮断周波数より高い周波数成分を逓減する。デジタルフィルタ７０は、積分回路７１および微分回路７２を有するＣＩＣフィルタである。積分回路７１および微分回路７２は共に、図示しないクロック生成回路が出力するクロック信号に同期して動作する。積分回路７１は、クロック周波数でサンプリングされた入力データに、直近の出力を加算する帰還型の加算処理を行う。微分回路７２は、積分回路７１が出力する演算結果に、クロック信号の周期の自然数倍の遅延時間だけ、積分回路７１が出力する演算結果を遅延させて得たデータを減算して、出力する。
【００２５】
クロック周波数を上げるためには、積分回路７１および微分回路７２の処理速度を速くする必要がある。演算処理の高速化には限度があるので、積分回路７１および微分回路７２のそれぞれにおいて、クロック信号を分周して生成した、分周クロック信号に同期して動作する複数の演算器を設けて、複数の演算器で並列処理を行う手法がある。並列処理を行うことで、積分回路７１および微分回路７２のそれぞれの処理速度を速くすることができるが、複数の演算器の演算結果を合成する際に遅延が生じてしまう。積分回路７１は、帰還型の加算処理を行うため、積分回路７１の処理を単に並列処理するだけでは、遅延に起因する誤った演算結果を出力してしまう。
【００２６】
そこで、並列処理を行うことで帰還型の加算処理に遅延が生じた場合に出力される誤った演算結果を補償する仕組みが必要となる。この仕組みを有する実施の形態１に係るデジタルフィルタについて説明する。図３に示す実施の形態１に係るデジタルフィルタ３０は、積分回路３１と、微分回路３２とを有する。デジタルフィルタ３０は、積分回路７１に代えて、帰還型の加算処理に遅延が生じた場合に出力される誤った演算結果を補償する仕組みを有する積分回路３１を備える。積分回路３１は、入力データに直近の出力を加算することで算出した積算値を出力する積算部３３と、積算部３３が出力する積算値を遅延させる遅延部３４と、積算部３３が出力する積算値に、遅延部３４で遅延された積算値を加算して算出した合算値を出力する合算部３５と、を備える。微分回路３２は、合算部３５が出力する合算値に、クロック信号の周期の自然数倍の遅延時間だけ、合算部３５が出力する合算値を遅延させて得たデータを減算して、出力する。積算部３３、遅延部３４、合算部３５，および微分回路３２は、クロック信号に同期して動作をする。積算部３３、遅延部３４、合算部３５，および微分回路３２を構成する回路素子は、エッジトリガ型である。積算部３３および合算部３５は、後述するように、クロック信号を分周した分周クロック信号に同期して動作する複数の演算器を有し、複数の演算器で並列に演算処理を行う。
【００２７】
積算部３３での並列処理について説明する。図４に示す積算部３３は、入力データを分配して出力する分配器３３１と、入力データに、直近の出力を加算した演算結果を出力する複数の積算器３３２と、複数の積算器３３２が出力する演算結果を合成した結果である積算値を出力する合成部３３３と、クロック信号を分周して、分周クロック信号を出力する分周器３３４とを備える。分配器３３１は、クロック信号に同期して動作し、入力データを分割し、２つの積算器３３２のそれぞれに出力する。積算器３３２は、分周クロック信号に同期して動作し、分配器３３１で分配された入力データに、直近の出力を加算した演算結果を合成部３３３に出力する。合成部３３３は、クロック信号に同期して動作し、積算器３３２が出力する演算結果を合成した結果である積算値を出力する。処理速度の遅い積算器３３２で並列演算することで、積算部３３の処理速度を速くすることが可能となり、クロック周波数を上げることが可能となる。積算器３３２は、分周クロック信号で動作するため、積算部３３の処理には、分周クロック信号の周期と同じ長さの時間を要する。
【００２８】
合算部３５での並列処理について説明する。図５に示す合算部３５は、積算部３３が出力する積算値を分割して出力する分配器３５１と、遅延部３４が出力する、遅延された積算値を分配して出力する分配器３５２と、分配器３５１の出力に、分配器３５２の出力を加算した演算結果を出力する複数の加算器３５３と、複数の加算器３５３が出力する演算結果を合成する合成部３５４と、クロック信号を分周して、分周クロック信号を出力する分周器３５５と、を備える。分配器３５１，３５２は、クロック信号に同期して動作する。分配器３５１は、積算部３３が出力する積算値を分割し、２つの加算器３５３のそれぞれに出力する。分配器３５２は、遅延部３４が出力する、遅延された積算値を分割し、２つの加算器３５３のそれぞれに出力する。加算器３５３は、分周クロック信号に同期して動作し、分配器３５１の出力に、分配器３５２の出力を加算した演算結果を合成部３５４に出力する。合成部３５４は、クロック信号に同期して動作し、加算器３５３が出力する演算結果を合算した結果である合算値を出力する。処理速度が遅い加算器３５３で並列演算することで、合算部３５の全体の処理速度を速くし、クロック周波数を上げることが可能となる。加算器３５３は、分周クロック信号で動作するため、合算部３５の処理には、分周クロック信号の周期と同じ長さの時間を要する。
【００２９】
上述したように、積算部３３は、入力データに、直近の積算値を加算する。積算部３３の処理には、分周クロック信号の周期と同じ長さの時間を要するため、直近の積算値は、分周クロック信号の周期と同じ長さの時間だけ前の積算値である。そのため、積算部３３が出力する積算値は、積分回路７１が出力する積算値とは異なる。そこで、積分回路３１は、合算部３５において、積算部３３が出力する積算値に、遅延部３４で遅延された積算値を加算することで、積算部３３が出力する積算値に含まれる誤りを補償する。
【００３０】
上記構成を有する積分回路３１が、複数の演算器で並列処理を行うことで、処理速度を速め、並列処理を行うことによって生じる演算結果の誤りを補償することについて、分周器３３４，３５５での分周比が２である場合を例にして説明する。図６に、デジタルフィルタ７０を構成する積分回路７１におけるデータの流れを示す。積分回路７１は、加算器７３と、遅延素子７４とで表される。図６の各部は、クロック信号に応じて動作する理想的な演算素子である。遅延素子７４の遅延時間は、クロック信号の周期に一致する。加算器７３に入力される入力データをｒｎとし、加算器７３が出力する積算値をｓｎとし、遅延素子７４の出力をｔｎとする。なおｎを、０以上の整数とする。データｒｎが入力されるタイミングは、クロック信号の周期に一致する。加算器７３は、入力データｒｎに、遅延素子７４が出力するｔｎを加算し、積算値ｓｎを出力する。すなわち、ｔｎ＝ｓｎ−１であり、ｓｎ＝ｒｎ＋ｓｎ−１である。積分回路７１の入力ｒと出力ｔについての伝達関数は、下記（１）式で表される。
ｔ／ｒ＝Ｚ−１／（１−Ｚ−１）      （１）
【００３１】
図７に、デジタルフィルタ３０を構成する積分回路３１におけるデータの流れを示す。図７の各部は、クロック信号に応じて動作する理想的な演算素子である。積算部３３は、加算器３３５と、遅延素子３３６とで表される。遅延素子３３６は、積算部３３での積算処理に要する時間を表す。分周器３３４の分周比が２であるため、遅延素子３３６の遅延時間は、クロック信号の周期の２倍に一致する。合算部３５は、加算器３５６と遅延素子３５７とで表される。遅延素子３５７は、合算部３５での合算処理に要する時間を表す。分周器３５５の分周比が２であるため、遅延素子３５７の遅延時間は、クロック信号の周期の２倍に一致する。加算器３３５に入力される入力データをｘｎとし、加算器３３５が出力する積算値をｙｎとし、遅延素子３３６が出力する積算値をｙ’ｎとする。データｘｎが入力されるタイミングは、クロック信号の周期に一致する。加算器３３５は、入力データｘｎに、遅延素子３３６が出力するｙ’ｎを加算し、積算値ｙｎを出力する。すなわち、ｙ’ｎ＝ｙｎ−２であり、ｙｎ＝ｘｎ＋ｙ’ｎである。積算部３３の入力ｘと出力ｙ’についての伝達関数は、下記（２）式で表される。
ｙ’／ｘ＝Ｚ−２／（１−Ｚ−２）      （２）
【００３２】
上述したように、遅延部３４は、クロック信号に同期して動作するため、遅延部３４における遅延時間は、クロック信号の周期に一致する。加算器３５６が出力する合算値をｗｎとする。加算器３５６は、積算部３３が出力する積算値ｙ’ｎに、遅延部３４が出力するｙ’ｎ−１を加算し、合算値ｗｎを出力する。すなわち、ｗｎ＝ｙ’ｎ−１＋ｙ’ｎである。遅延素子３５７が出力する、遅延された合算値をｗ’ｎとする。すなわち、ｗ’ｎ＝ｗｎ−２である。遅延部３４と合算部３５の全体での入力ｙ’と出力ｗ’についての伝達関数は、下記（３）式で表される。
ｗ’／ｙ’＝Ｚ−２（１＋Ｚ−１）      （３）
【００３３】
上記（２）、（３）式より、積分回路３１の入力ｘと出力ｗ’についての伝達関数は、下記（４）式で表される。下記（４）式は、上記（１）式にＺ−３を乗算したものである。したがって、積分回路７１の出力を遅延させた結果が、積分回路３１の出力として得られる。すなわち、積算部３３での演算結果の処理の遅延に起因する誤りが補償されている。
ｗ’／ｘ＝Ｚ−２／（１−Ｚ−２）・Ｚ−２（１＋Ｚ−１）
＝Ｚ−４／（１−Ｚ−１）
（４）
【００３４】
データｒ０からデータｒ７が積分回路７１に入力された場合、加算器７３が出力する積算値ｓ０から積算値ｓ７、および、積分回路７１が出力するデータｔ０からデータｔ７は、図８に示す通りである。データｘｎからデータｘ７が積分回路３１に入力されると、加算器３３５が出力するデータｙ０からデータｙ７、遅延素子３３６が出力するデータｙ’０からデータｙ’７、加算器３５６が出力するデータｗ０からデータｗ７、および、遅延素子３５７が出力するデータｗ’０からデータｗ’７は、図９に示す通りである。
【００３５】
積分回路３１が出力する演算結果ｗ’ｎは、積分回路７１が出力するデータｙｎを、クロック信号の周期の３倍の時間だけ、遅らせたデータに一致する。なおＬＰＦ４，１１はＩＦで動作するため、クロック信号の周期の３倍の時間は、十分に短く、スピーカ１３での再生時にユーザが認識できる程度の遅延が生じることはない。
【００３６】
以上説明したとおり、実施の形態１に係る積分回路３１によれば、並列に演算処理が行われ、正しい演算結果が得られる。処理速度が同じ回路素子で並列に演算処理をすることで、その回路素子単体で演算処理をする場合よりも、クロック周波数を上げることができる。その結果、積分回路３１、積分回路３１を有するデジタルフィルタ３０、デジタルフィルタ３０で構成されるＬＰＦ４，１１、およびＬＰＦ４，１１を備える通信機１における処理速度を速くすることが可能である。また、処理速度の速い回路素子を用いる代わりに、処理速度の遅い安価な回路素子で並列に演算処理を行うことで、所望のクロック周波数を実現することが可能である。
【００３７】
（実施の形態２）
ＬＰＦ４，１１は、積分回路と微分回路とを有するＣＩＣフィルタに限られず、積和演算回路を含むＩＩＲ（Infinite Impulse Response：無限インパルス応答）フィルタで構成されてもよい。図１０は、ＩＩＲフィルタを構成する積和演算回路８１の構成を示すブロック図である。積和演算回路８１は、入力データに、乗算回路８３の出力を加算した演算結果を出力する加算回路８２と、加算回路８２の出力に係数を乗算して加算回路８２に出力する乗算回路８３とを備える。加算回路８２および乗算回路８３は、クロック信号に同期して動作する。クロック信号の周波数を上げるためには、積和演算回路８１が有する加算回路８２および乗算回路８３の処理速度を上げる必要がある。処理速度を速くするために、積和演算回路８１および加算回路８２のそれぞれにおいて、クロック信号を分周した分周クロック信号に同期して動作する複数の演算器を設けて、複数の演算器で並列処理を行う手法がある。並列処理を行うことで、加算回路８２および乗算回路８３のそれぞれの処理速度を速くすることができるが、複数の演算器の演算結果を合成する際に遅延が生じてしまう。加算回路８２は、帰還型の加算処理を行うため、加算処理に遅延が生じると、誤った演算結果を出力してしまう。
【００３８】
そこで、並列処理を行うことで帰還型の加算処理に遅延が生じた場合に出力される誤った演算結果を補償する仕組みが必要となる。この仕組みを有する実施の形態２に係る積和演算回路について説明する。図１１に示す実施の形態２に係る積和演算回路４１は、入力データに直近の出力に第１係数を乗算した結果を加算することで算出した積和演算結果を出力する積和演算部４２と、積和演算部４２が出力する積和演算結果を遅延させる第１遅延部４３と、積和演算部４２が出力する積和演算結果に第２係数を乗算することで算出した第１乗算結果を出力する第１乗算部４４と、第１遅延部４３が出力する積和演算結果に、第１乗算結果を加算することで算出した合算結果を出力する合算部４５と、を備える。積和演算部４２、第１遅延部４３、第１乗算部４４、および合算部４５は、クロック信号に同期して動作をする。積和演算部４２、第１乗算部４４、および合算部４５は、後述するように、クロック信号を分周した分周クロック信号に同期して動作する複数の演算器を有し、複数の演算器で並列に演算処理を行う。
【００３９】
積和演算部４２での並列処理について説明する。図１２に示す積和演算部４２は、入力データを分割して出力する分配器４２１と、分割された入力データに、直近の出力に第１係数ａ１を乗算した結果を加算した演算結果を出力する複数の積和演算器４２２と、積和演算処理を行う複数の積和演算器４２２が出力する演算結果を合成した結果である積算演算結果を出力する合成部４２５と、クロック信号を分周して、分周クロック信号を出力する分周器４２６とを備える。分配器４２１は、クロック信号に同期して動作し、入力データを分割し、２つの積和演算器４２２のそれぞれに出力する。積和演算器４２２は、加算器４２３と、乗算器４２４とを備える。加算器４２３は、分周クロック信号に同期して動作し、分配器４２１で分割された入力データに、乗算器４２４の出力を加算した演算結果を乗算器４２４に出力する。乗算器４２４は、分周クロック信号に同期して動作し、加算器４２３の出力に第１係数ａ１を乗算した演算結果を加算器４２３に出力する。合成部４２５は、クロック信号に同期して動作し、積和演算器４２２が出力する演算結果を合成した結果である積和演算結果を出力する。処理速度が遅い加算器４２３および乗算器４２４で並列演算することで、積和演算部４２の全体の処理速度を速くし、クロック周波数を上げることが可能となる。加算器４２３、および乗算器４２４は、分周クロック信号で動作するため、積和演算部４２の処理には、分周クロック信号の周期と同じ長さの時間を要する。
【００４０】
第１乗算部４４での並列処理について説明する。図１３に示す第１乗算部４４は、積和演算部４２が出力する積和演算結果を分割して出力する分配器４４１と、分配器４４１の出力に、第２係数ａ２を乗算した演算結果を出力する複数の乗算器４４２と、複数の乗算器４４２が出力する演算結果を合成する合成部４４３と、クロック信号を分周して、分周クロック信号を出力する分周器４４４と、を備える。分配器４４１は、クロック信号に同期して動作する。分配器４４１は、積和演算部４２が出力する積和演算結果を分割し、２つの乗算器４４２のそれぞれに出力する。乗算器４４２は、分周クロック信号に同期して動作し、分配器４４１の出力に、第２係数ａ２を乗算した演算結果を合成部４４３に出力する。なお第１係数ａ１が第２係数ａ２の二乗となるように、第１係数ａ１および第２係数ａ２が定められる。合成部４４３は、クロック信号に同期して動作し、乗算器４４２が出力する演算結果を合成した結果である第１乗算結果を出力する。処理速度が遅い乗算器４４２で並列演算することで、第１乗算部４４の全体の処理速度を速くし、クロック周波数を上げることが可能となる。乗算器４４２は、分周クロック信号で動作するため、第１乗算部４４の処理には、分周クロック信号の周期と同じ長さの時間を要する。
【００４１】
合算部４５の構成は、図５に示す合算部３５と同様である。合算部４５は、第１遅延部４３でクロック信号の周期に一致する遅延時間だけ遅延された積和演算結果に、第１乗算部４４が出力する第１乗算結果を合算することで算出する合算値を出力する。
【００４２】
上述したように、積和演算部４２の処理には、分周クロック信号の周期と同じ長さの時間を要する。すなわち、積和演算部４２では遅延が生じるため、積和演算部４２が出力する積和演算結果は、積和演算回路８１が出力する演算結果とは異なる。そこで、積和演算回路４１は、合算部４５において、第１遅延部４３で遅延された積和演算結果に、第１乗算部４４が出力する第１乗算結果を加算することで、積和演算部４２が出力する積和演算結果に含まれる誤りを補償する。
【００４３】
上記構成を有する積和演算回路４１が、複数の演算器で並列処理を行うことで、処理速度を速め、並列処理を行うことによって生じる演算結果の誤りを補償することについて、分周器４２６，４４４での分周比が２である場合を例にして説明する。図１４に、ＩＩＲフィルタを構成する積和演算回路８１におけるデータの流れを示す。積和演算回路８１は、加算器８４と、遅延素子８５と、乗算器８６とで表される。図１４の各部は、クロック信号に応じて動作する理想的な演算素子である。遅延素子８５の遅延時間は、クロック信号の周期に一致する。加算器８４に入力される入力データをｒｎとし、加算器８４が出力する積算値をｓｎとし、遅延素子８５の出力をｔｎとする。加算器８４は、入力データｒｎに、遅延素子８５が出力するｔｎに係数ａ０を乗算した結果を加算し、データｓｎを出力する。すなわち、ｔｎ＝ｓｎ−１であり、ｓｎ＝ｒｎ＋ａ０・ｓｎ−１である。積和演算回路８１の入力ｒと出力ｔについての伝達関数は、下記（５）式で表される。なお下記（５）式において、乗算器８６における係数ａ０の乗算をＧで表す。
ｔ／ｒ＝Ｚ−１／（１−ＧＺ−１）      （５）
【００４４】
図１５に、ＩＩＲフィルタを構成する積和演算回路４１におけるデータの流れを示す。図１５の各部は、クロック信号に応じて動作する理想的な演算素子である。積和演算部４２は、加算器４２７と、遅延素子４２８と、乗算器４２９とで表される。第１乗算部４４は、乗算器４４５と、遅延素子４４６とで表される。合算部４５は、加算器４５１と遅延素子４５２とで表される。遅延素子４２８，４４６，４５２の遅延時間は、クロック信号の周期の２倍に一致する。加算器４２７に入力される入力データをｘｎとし、加算器４２７が出力するデータをｙｎとし、積和演算部４２が出力する積和演算結果をｙ’ｎとする。加算器４２７は、入力データｘｎに、遅延素子４２８が出力するｙ’ｎに第１係数ａ１を乗算した結果を加算し、データｙｎを出力する。すなわち、ｙ’ｎ＝ｙｎ−２であり、ｙｎ＝ｘｎ＋ａ１・ｙｎ−２である。積和演算部４２の入力ｘと出力ｙ’についての伝達関数は、下記（６）式で表される。なお第１係数ａ１は、積和演算回路８１における係数ａ０に一致する後述の第２係数ａ２の二乗であり、下記（６）式において、第１係数ａ１の乗算をＧ２で表す。
ｙ’／ｘ＝Ｚ−２／（１−Ｇ２Ｚ−２）      （６）
【００４５】
乗算器４４５が出力するデータをｖｎとし、第１乗算部４４が出力する第１乗算結果をｖ’ｎとする。乗算器４４５は、積和演算部４２が出力する積和演算結果ｙ’ｎに、第２係数ａ２を乗算し、データｖｎを出力する。すなわち、ｖｎ＝ａ２・ｙ’ｎである。なお第１係数ａ１と第２係数ａ２は、ａ１＝ａ２２の関係を満たす。
【００４６】
第１遅延部４３の出力と第１乗算部４４の出力を加算する加算器４５１が出力する合算値をｗｎとする。上述したように、第１遅延部４３は、クロック信号に同期して動作するため、第１遅延部４３における遅延時間は、クロック信号の周期に一致する。加算器４５１は、第１遅延部４３が出力するｙ’ｎ−１に、第１乗算部４４が出力する第１乗算結果ｖ’ｎを加算し、合算値ｗｎを出力する。すなわち、ｗｎ＝ｙ’ｎ−１＋ｖ’ｎである。遅延素子４５２が出力する、遅延された合算値をｗ’ｎとする。すなわち、ｗ’ｎ＝ｗｎ−２である。第１遅延部４３、第１乗算部４４、および合算部４５の全体での入力ｙ’と出力ｗ’についての伝達関数は、下記（７）式で表される。
ｗ’／ｙ’＝Ｚ−２（Ｚ−１＋ＧＺ−２）      （７）
【００４７】
上記（６）、（７）式より、積和演算回路４１の入力ｘと出力ｗ’についての伝達関数は、下記（８）式で表される。下記（８）式は、上記（５）式にＺ−２を乗算したものである。したがって、積和演算回路８１の出力を遅延させた結果が、積和演算回路４１の出力として得られる。すなわち、積和演算部４２での演算結果の処理の遅延に起因する誤りが補償されている。
ｗ’／ｘ＝Ｚ−２／（１−Ｇ２Ｚ−２）・Ｚ−２（Ｚ−１＋ＧＺ−２）
＝Ｚ−５／（１−ＧＺ−１）
（８）
【００４８】
データｒ０からデータｒ７が積和演算回路８１に入力された場合、加算器８４が出力するデータｓ０からデータｓ７、および、積和演算回路８１が出力するデータｔ０からデータｔ７は、図１６に示す通りである。データｘ０からデータｘ７が積和演算回路４１に入力されると、加算器４２７が出力するデータｙ０からデータｙ７、遅延素子４２８が出力するデータｙ’０からデータｙ’７、乗算器４４５が出力するデータｖ０からデータｖ７、遅延素子４４６が出力するデータｖ’０からデータｖ’７、加算器４５１が出力するデータｗ０からデータｗ７、および、遅延素子４５２が出力するデータｗ’０からデータｗ’７は、図１７に示す通りである。積和演算回路４１が出力する演算結果ｗ’ｎは、積和演算回路８１が出力するデータｙｎを、クロック信号の周期の４倍の時間だけ、遅らせたデータに一致する。
【００４９】
以上説明したとおり、実施の形態２に係る積和演算回路４１によれば、並列に演算処理が行われ、正しい演算結果が得られる。処理速度が同じ回路素子で並列に演算処理をすることで、その回路素子単体で演算処理をする場合よりも、クロック周波数を上げることができる。その結果、積和演算回路４１、積和演算回路４１を有するＩＩＲフィルタ、ＩＩＲフィルタで構成されるＬＰＦ４，１１、およびＬＰＦ４，１１を備える通信機１における処理速度を速くすることが可能である。また、処理速度の速い回路素子を用いる代わりに、処理速度の遅い安価な回路素子で並列に演算処理を行うことで、所望のクロック周波数を実現することが可能である。
【００５０】
（実施の形態３）
実施の形態１における分周比は２であったが、分周比は３以上でもよい。図３に示す積分回路３１の変形例について説明する。分周比が３以上の場合、積分回路では、分周比から１を減算した値に一致する個数の遅延部を設ければよい。なお遅延部の遅延時間は互いに異なり、最も長い遅延時間は、クロック信号の周期に遅延部の個数を乗算した値に一致する。例えば、分周比が３である場合、図１８に示すように、積分回路５１は、積分回路３１の構成に加え、積算部３３が出力する積算値を遅延させて出力する遅延部３６を備える。換言すれば、積分回路５１は、２つの遅延部３４，３６を備える。なお遅延部３６の遅延時間は、クロック信号の周期の２倍に相当する。遅延部３４，３６および合算部３５の処理によって、並列に演算処理した結果を合成する際に生じる遅延に起因する演算結果の誤りが補償され、正しい演算結果が得られる。
【００５１】
図１９に積分回路５１におけるデータの流れを示す。図１９の各部は、クロック信号に応じて動作する理想的な演算素子である。分周比が３であるため、遅延素子３３６，３５７の遅延時間は、クロック信号の周期の３倍に一致する。積算部３３の入力ｘと出力ｙ’についての伝達関数は、下記（９）式で表される。遅延部３４，３６と合算部３５の全体での入力ｙ’と出力ｗ’についての伝達関数は、下記（１０）式で表される。
ｙ’／ｘ＝Ｚ−３／（１−Ｚ−３）      （９）
ｗ’／ｙ’＝Ｚ−３（１＋Ｚ−１＋Ｚ−２）      （１０）
【００５２】
上記（９）、（１０）式より、積分回路５１の入力ｘと出力ｗ’についての伝達関数は、下記（１１）式で表される。下記（１１）式は、上記（１）式にＺ−５を乗算したものである。したがって、積分回路７１の出力を遅延させた結果が、積分回路５１の出力として得られる。
ｗ’／ｘ＝Ｚ−３／（１−Ｚ−３）・Ｚ−３（１＋Ｚ−１＋Ｚ−２）
＝Ｚ−３／（１−Ｚ−１）（１＋Ｚ−１＋Ｚ−２）・Ｚ−３（１＋Ｚ−１＋Ｚ−２）
＝Ｚ−６／（１−Ｚ−１）
（１１）
【００５３】
以上説明したとおり、本実施の形態３に係る積分回路５１によれば、並列に演算処理が行われ、正しい演算結果が得られる。処理速度が同じ回路素子で並列に演算処理をすることで、その回路素子単体で演算処理をする場合よりも、クロック周波数を上げることができる。分周比を大きくすることで、クロック周波数をより高くすることができる。その結果、積分回路５１、積分回路５１を有するデジタルフィルタ、デジタルフィルタで構成されるＬＰＦ４，１１、およびＬＰＦ４，１１を備える通信機１における処理速度を速くすることが可能である。また、処理速度の速い回路素子を用いる代わりに、処理速度の遅い安価な回路素子で並列に演算処理を行うことで、所望のクロック周波数を実現することが可能である。
【００５４】
（実施の形態４）
実施の形態２における分周比は２であったが、分周比は３以上でもよい。図１１に示す積和演算回路４１の変形例について説明する。図２０に示す実施の形態４に係る積和演算回路６１は、積和演算回路４１の構成に加えて、第２遅延部４６と、第２乗算部４７とを備える。分周比が３である場合を例にして積和演算回路６１について説明する。第２遅延部４６は、積和演算部４２が出力する積和演算結果をクロック信号の周期だけ遅延させて、出力する。第１遅延部４３は、クロック信号に同期して動作し、第２遅延部４６の出力をクロック信号の周期だけ遅延させて合算部４５に出力する。第１乗算部４４は、実施の形態２と同様に、分周クロックに同期して動作する複数の乗算器４４２で並列に乗算処理を行う。詳細には、第１乗算部４４は、積和演算結果に第２係数ａ２を乗算した結果を合算部４５に出力する。
【００５５】
第２乗算部４７は、クロック信号の周期の自然数倍に一致する第２遅延時間だけ遅延させる処理を行う遅延処理部４８と、第２係数の自然数乗を乗算する乗算処理部４９と、を備える。遅延処理部４８は、クロック信号に同期して動作し、積和演算結果を第２遅延時間だけ遅延させて乗算処理部４９に出力する。乗算処理部４９は、遅延処理部４８で第２遅延時間だけ遅延された積和演算結果に、第２係数の自然数乗を乗算して算出した第２乗算結果を、合算部４５に出力する。乗算処理部４９の構成は、第１乗算部４４と同様であり、分周クロックに同期して動作する複数の乗算器が並列に乗算処理を行う。第２係数の自然数乗のべき指数は、第２乗算部４７の個数に１を加算した値に一致する。すなわち、乗算処理部４９は、遅延処理部４８で第２遅延時間だけ遅延された積和演算結果に、第２係数の二乗を乗算する。第２遅延時間をクロック信号の周期で除算した値から１を減算した値は、第２係数の自然数乗のべき指数に一致する。すなわち、第２遅延時間は、クロック信号の周期の２倍に一致する。
【００５６】
合算部４５は、第１遅延部４３の出力に、第１乗算部４４が出力する第１乗算結果と、第２乗算部４７が出力する第２乗算結果を加算して算出した合算値を出力する。第１遅延部４３、第１乗算部４４、第２乗算部４７、および合算部４５の処理によって、並列に演算処理した結果を合成する際に生じる遅延に起因する演算結果の誤りが補償され、正しい演算結果が得られる。
【００５７】
図２１に積和演算回路６１におけるデータの流れを示す。図２１の各部は、クロック信号に応じて動作する理想的な演算素子である。乗算処理部４９は、乗算器４９１と遅延素子４９２とで表される。乗算器４９１における第２係数の自然数乗のべき指数ｋ＝２である。分周比が３であるため、遅延素子４２８，４４６，４５２，４９２の遅延時間は、クロック信号の周期の３倍に一致する。積和演算部４２の入力ｘと出力ｙ’についての伝達関数は、下記（１２）式で表される。なお第１係数ａ１は、第２係数ａ２の三乗であり、下記（１２）式において、第１係数ａ１の乗算をＧ３で表す。第２遅延部４６、第１遅延部４３、第１乗算部４４、第２乗算部４７、および合算部４５の全体での入力ｙ’と出力ｗ’についての伝達関数は、下記（１３）式で表される。
ｙ’／ｘ＝Ｚ−３／（１−Ｇ３Ｚ−３）      （１２）
ｗ’／ｙ’＝Ｚ−３（Ｚ−２＋ＧＺ−３＋Ｚ−１・Ｇ２Ｚ−３）      （１３）
【００５８】
上記（１２）、（１３）式より、積和演算回路６１の入力ｘと出力ｗ’についての伝達関数は、下記（１４）式で表される。下記（１４）式は、上記（５）式にＺ−７を乗算したものである。したがって、積和演算回路８１の出力を遅延させた結果が、積和演算回路４１の出力として得られる。
ｗ’／ｘ＝Ｚ−３／（１−Ｇ３Ｚ−３）・Ｚ−５（１＋ＧＺ−１＋Ｇ２Ｚ−２）
＝Ｚ−８／（１−ＧＺ−１）（１＋ＧＺ−１＋Ｇ２Ｚ−２）・（１＋ＧＺ−１＋Ｇ２Ｚ−２）
＝Ｚ−８／（１−ＧＺ−１）
（１４）
【００５９】
以上説明したとおり、本実施の形態４に係る積和演算回路６１によれば、並列に演算処理が行われ、正しい演算結果が得られる。処理速度が同じ回路素子で並列に演算処理をすることで、その回路素子単体で演算処理をする場合よりも、クロック周波数を上げることができる。分周比を大きくすることで、クロック周波数をより高くすることができる。その結果、積和演算回路６１、積和演算回路６１を有するＩＩＲフィルタ、ＩＩＲフィルタで構成されるＬＰＦ４，１１、およびＬＰＦ４，１１を備える通信機１における処理速度を速くすることが可能である。また、処理速度の速い回路素子を用いる代わりに、処理速度の遅い安価な回路素子で並列に演算処理を行うことで、所望のクロック周波数を実現することが可能である。
【００６０】
本発明は、上述の実施の形態に限られない。積算部３３では、演算処理を複数の同じ回路での演算処理に分割しているが、演算処理を高速化する方法として、演算処理を異なる回路での演算処理に分割する方法を採用してもよい。
【００６１】
積分回路３１，５１および積和演算回路４１，６１を有するデジタルフィルタは、通信機１のＬＰＦ４，１１に限られず、任意の帰還型のフィルタを構成することができる。分周比が４であれば、図１８の構成に加えて、積算部３３が出力する積算値を、クロック信号の周期の３倍に一致する遅延時間だけ遅延させて合算部３５に出力する遅延部をさらに設ければよい。上述したように、分周比に応じた個数の遅延部を設けることで、積算部３３での並列演算処理によって生じる遅延に起因する演算結果の誤りを補償することができる。また図２０の構成に加えて、積和演算部４２が出力する積和演算結果を、クロック信号の周期の２倍に一致する第２遅延時間だけ遅延させて、第２係数の三乗を乗算することで算出した第２乗算結果を出力する第２乗算部をさらに備えればよい。
【００６２】
第２乗算部４７における遅延処理部４８と乗算処理部４９との順序は逆でもよい。すなわち、乗算処理部４９が積和演算結果に第２係数の自然数乗を乗算した結果を、遅延処理部４８で第２遅延時間だけ遅延してもよい。遅延素子３５７，４５２における遅延時間は、上述の例に限られず、任意である。すなわち、合算部３５，４５での合算処理に要する時間は任意である。合算部３５，４５での合算処理に要する時間が変化すると、合算部３５，４５が値を出力するタイミングは変化するが、合算部３５，４５が出力する値に誤りは生じない。
【符号の説明】
【００６３】
１    通信機
２    マイク
３    入力処理部
４，１１    ＬＰＦ
５，１０    周波数変換部
６    送信回路
７    送受信切替部
８    アンテナ
９    受信回路
１２    出力処理部
１３    スピーカ
２０    コントローラ
２１    ＣＰＵ
２２    Ｉ／Ｏ
２３    ＲＡＭ
２４    ＲＯＭ
３０，７０    デジタルフィルタ
３１，５１，７１    積分回路
３２，７２    微分回路
３３    積算部
３４，３６    遅延部
３５，４５    合算部
４１，６１，８１    積和演算回路
４２    積和演算部
４３    第１遅延部
４４    第１乗算部
４６    第２遅延部
４７    第２乗算部
４８    遅延処理部
４９    乗算処理部
７３，８４，３３５，３５３，３５６，
４１１，４２３，４２７，４５１    加算器
７４，８５，３３６，３５７，４２８，
４４６，４５２，４９２    遅延素子
８２    加算回路
８３    乗算回路
８６，４２４，４２９，４４２，
４４５，４９１    乗算器
３３１，３５１，３５２，
４２１，４２６，４４１    分配器
３３２    積算器
３３３，３５４，４２５，４４３    合成部
３３４，３５５，４２６，４４４    分周器
４２２    積和演算器
【図１】
2020053889.tif 000003
【図２】
2020053889.tif 000004
【図３】
2020053889.tif 000005
【図４】
2020053889.tif 000006
【図５】
2020053889.tif 000007
【図６】
2020053889.tif 000008
【図７】
2020053889.tif 000009
【図８】
2020053889.tif 000010
【図９】
2020053889.tif 000011
【図１０】
2020053889.tif 000012
【図１１】
2020053889.tif 000013
【図１２】
2020053889.tif 000014
【図１３】
2020053889.tif 000015
【図１４】
2020053889.tif 000016
【図１５】
2020053889.tif 000017
【図１６】
2020053889.tif 000018
【図１７】
2020053889.tif 000019
【図１８】
2020053889.tif 000020
【図１９】
2020053889.tif 000021
【図２０】
2020053889.tif 000022
【図２１】
2020053889.tif 000023