【手続補正書】
【提出日】令和2年12月18日(2020.12.18)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項５
【補正方法】変更
【補正の内容】
【請求項５】
請求項１乃至４のいずれか１項に記載の演算回路において、
前記２項分散演算回路は、
前記Ｎ個のデータｘ［ｍ，ｎ］のうち同一組の２個の値のビット位置毎に設けられ、値０と、前記係数ｃ［ｎ］のうち同一組の２個の値と、この係数ｃ［ｎ］の２個の値から前記ＬＵＴ生成回路によって計算された値とからなる要素値の中から、前記Ｎ個のデータｘ［ｍ，ｎ］のうち同一組の２個の値を構成する同一ビット位置の２個の値に対応する１個の要素値をビット位置毎に取得する複数の索引回路と、
前記複数の索引回路によって取得された要素値を、それぞれ２(l-1)倍（ｌはビット位置の番号）することをビット位置毎に行う複数の倍数演算回路と、
前記複数の倍数演算回路によって計算された値を合算した結果を前記２項積和演算の値として出力する合算回路とから構成されることを特徴とする演算回路。
【手続補正２】
【補正対象書類名】特許請求の範囲
【補正対象項目名】請求項８
【補正方法】変更
【補正の内容】
【請求項８】
請求項６または７記載の演算回路において、
前記分散演算回路は、
前記複素数Ｘ［ｍ］の実部値ｘ＿ｒｅａｌ［ｍ］および虚部値ｘ＿ｉｍａｇ［ｍ］のビット位置毎に設けられ、値０、ｃ＿ｒｅａｌ、−ｃ＿ｉｍａｇ、ｄ＿ｓｕｂからなる要素値の中から、前記実部値ｘ＿ｒｅａｌ［ｍ］および前記虚部値ｘ＿ｉｍａｇ［ｍ］のうち自回路に対応するビット位置の２個の値に対応する１個の要素値をビット位置毎に取得する複数の第１の索引回路と、
前記複数の第１の索引回路によって取得された要素値を、それぞれ２(l-1)倍（ｌはビット位置の番号）することをビット位置毎に行う複数の第１の倍数演算回路と、
前記複数の第１の倍数演算回路によって計算された値を合算した結果を前記実部の積和演算の値ｙ＿ｒｅａｌ［ｍ］として出力する第１の合算回路と、
前記複素数Ｘ［ｍ］の実部値ｘ＿ｒｅａｌ［ｍ］および虚部値ｘ＿ｉｍａｇ［ｍ］のビット位置毎に設けられ、値０、ｃ＿ｉｍａｇ、ｃ＿ｒｅａｌ、ｄ＿ａｄｄからなる要素値の中から、前記実部値ｘ＿ｒｅａｌ［ｍ］および前記虚部値ｘ＿ｉｍａｇ［ｍ］のうち自回路に対応するビット位置の２個の値に対応する１個の要素値をビット位置毎に取得する複数の第２の索引回路と、
前記複数の第２の索引回路によって取得された要素値を、それぞれ２(l-1)倍することをビット位置毎に行う複数の第２の倍数演算回路と、
前記複数の第２の倍数演算回路によって計算された値を合算した結果を前記虚部の積和演算の値ｙ＿ｉｍａｇ［ｍ］として出力する第２の合算回路とから構成されることを特徴とする演算回路。
【手続補正３】
【補正対象書類名】明細書
【補正対象項目名】００３０
【補正方法】変更
【補正の内容】
【００３０】
また、本発明の演算回路の１構成例において、各分散演算回路は、前記Ｎが奇数の場合にｃ［Ｎ］×ｘ［ｍ，Ｎ］を計算した結果を出力する補助乗算回路をさらに備え、前記２項分散演算結果合算回路は、前記Ｎが奇数の場合に、前記複数の２項分散演算回路によって計算された値と前記補助乗算回路によって計算された値とを合算した結果を前記積和演算の値ｙ［ｍ］として出力することを特徴とするものである。
また、本発明の演算回路の１構成例において、前記２項分散演算回路は、前記Ｎ個のデータｘ［ｍ，ｎ］のうち同一組の２個の値のビット位置毎に設けられ、値０と、前記係数ｃ［ｎ］のうち同一組の２個の値と、この係数ｃ［ｎ］の２個の値から前記ＬＵＴ生成回路によって計算された値とからなる要素値の中から、前記Ｎ個のデータｘ［ｍ，ｎ］のうち同一組の２個の値を構成する同一ビット位置の２個の値に対応する１個の要素値をビット位置毎に取得する複数の索引回路と、前記複数の索引回路によって取得された要素値を、それぞれ２(l-1)倍（ｌはビット位置の番号）することをビット位置毎に行う複数の倍数演算回路と、前記複数の倍数演算回路によって計算された値を合算した結果を前記２項積和演算の値として出力する合算回路とから構成されることを特徴とするものである。
【手続補正４】
【補正対象書類名】明細書
【補正対象項目名】００３２
【補正方法】変更
【補正の内容】
【００３２】
また、本発明の演算回路の１構成例は、前記ＬＵＴ生成回路と前記Ｍ個の分散演算回路との間に設けられ、前記複素数係数Ｃの実部値ｃ＿ｒｅａｌおよび虚部値ｃ＿ｉｍａｇと前記ＬＵＴ生成回路によって計算された値ｄ＿ｓｕｂおよびｄ＿ａｄｄとをクロックに同期して保持し、保持した値を前記Ｍ個の分散演算回路に出力するＬＵＴラッチ回路をさらに備えることを特徴とするものである。
また、本発明の演算回路の１構成例において、前記分散演算回路は、前記複素数Ｘ［ｍ］の実部値ｘ＿ｒｅａｌ［ｍ］および虚部値ｘ＿ｉｍａｇ［ｍ］のビット位置毎に設けられ、値０、ｃ＿ｒｅａｌ、−ｃ＿ｉｍａｇ、ｄ＿ｓｕｂからなる要素値の中から、前記実部値ｘ＿ｒｅａｌ［ｍ］および前記虚部値ｘ＿ｉｍａｇ［ｍ］のうち自回路に対応するビット位置の２個の値に対応する１個の要素値をビット位置毎に取得する複数の第１の索引回路と、前記複数の第１の索引回路によって取得された要素値を、それぞれ２(l-1)倍（ｌはビット位置の番号）することをビット位置毎に行う複数の第１の倍数演算回路と、前記複数の第１の倍数演算回路によって計算された値を合算した結果を前記実部の積和演算の値ｙ＿ｒｅａｌ［ｍ］として出力する第１の合算回路と、前記複素数Ｘ［ｍ］の実部値ｘ＿ｒｅａｌ［ｍ］および虚部値ｘ＿ｉｍａｇ［ｍ］のビット位置毎に設けられ、値０、ｃ＿ｉｍａｇ、ｃ＿ｒｅａｌ、ｄ＿ａｄｄからなる要素値の中から、前記実部値ｘ＿ｒｅａｌ［ｍ］および前記虚部値ｘ＿ｉｍａｇ［ｍ］のうち自回路に対応するビット位置の２個の値に対応する１個の要素値をビット位置毎に取得する複数の第２の索引回路と、前記複数の第２の索引回路によって取得された要素値を、それぞれ２(l-1)倍することをビット位置毎に行う複数の第２の倍数演算回路と、前記複数の第２の倍数演算回路によって計算された値を合算した結果を前記虚部の積和演算の値ｙ＿ｉｍａｇ［ｍ］として出力する第２の合算回路とから構成されることを特徴とするものである。
【手続補正５】
【補正対象書類名】明細書
【補正対象項目名】００５５
【補正方法】変更
【補正の内容】
【００５５】
図３に示した２項分散演算回路２０ｍ−ｎ’において、ＬＵＴ索引回路２００ｍ−ｎ’−ｌによってビット位置ｌ（ｌ＝１，・・・，Ｌ）毎に選択された、ＬＵＴの要素値ＬＵＴ＃ｍ−ｎ’−ｌは、それぞれ倍数演算回路２０３ｍ−ｎ’−ｌによって２(l-1)倍される。
合算回路２０４は、Ｌ個の倍数演算回路２０３ｍ−ｎ’−ｌによって計算された値を合算した結果を、積和演算ｃ［２×ｎ’−１］×ｘ［ｍ，２×ｎ’−１］＋ｃ［２ｎ’］×ｘ［ｍ，２×ｎ’］の結果であるｙ’［ｍ，ｎ’］として出力する。
【手続補正６】
【補正対象書類名】明細書
【補正対象項目名】００５６
【補正方法】変更
【補正の内容】
【００５６】
ただし、ｌ＝Ｌのビット位置（データのＭＳＢ位置）については、選択された要素値ＬＵＴ＃ｍ−ｎ’−Ｌに対して符号反転回路２０２によって符号反転が行われた後に、倍数演算回路２０３ｍ−ｎ’−Ｌによって２(L-1)倍される。
【手続補正７】
【補正対象書類名】明細書
【補正対象項目名】００５９
【補正方法】変更
【補正の内容】
【００５９】
なお本実施例では、ＭＳＢのビット位置Ｌについては、選択された要素値ＬＵＴ＃ｍ−ｎ’−Ｌの符号反転を行っている。符号反転を行う理由は、データｘ［ｍ，ｎ］（ｍ＝１，・・・，Ｍ、ｎ＝１，・・・，Ｎ）を、負の値も取り得る符号付き数値（２の補数による２進数で表現された数値）としているためである。データｘ［ｍ，ｎ］が、０以上のみに限定される符号なし数値の場合は、ＭＳＢのビット位置Ｌについても、他のビット位置と同様に、要素値ＬＵＴ＃ｍ−ｎ’−Ｌをそのまま倍数演算回路２０３ｍ−ｎ’−Ｌによって２(L-1)倍すればよい。
【手続補正８】
【補正対象書類名】明細書
【補正対象項目名】００６０
【補正方法】変更
【補正の内容】
【００６０】
また、上記のビット位置ｌについて、選択された要素値ＬＵＴ＃ｍ−ｎ’−ｌを２(l-1)倍する処理は、２進数で表現された要素値ＬＵＴ＃ｍ−ｎ’−ｌを、（ｌ−１）ビット左にシフトすることによって実現できる。したがって、Ｌ個の倍数演算回路２０３ｍ−ｎ’−ｌに乗算回路を用いる必要はなく、簡易な回路で実現できる。
【手続補正９】
【補正対象書類名】明細書
【補正対象項目名】０１０６
【補正方法】変更
【補正の内容】
【０１０６】
図７に示した分散演算回路２ａ−ｍにおいて、実部演算用ＬＵＴ索引回路２０５ｍ−ｌによってビット位置ｌ（ｌ＝１，・・・，Ｌ）毎に選択された実部演算用ＬＵＴの要素値は、それぞれ倍数演算回路２０８ｍ−ｌによって２(l-1)倍される。
同様に、虚部演算用ＬＵＴ索引回路２１０ｍ−ｌによってビット位置ｌ（ｌ＝１，・・・，Ｌ）毎に選択された虚部演算用ＬＵＴの要素値は、それぞれ倍数演算回路２１２ｍ−ｌによって２(l-1)倍される。
【手続補正１０】
【補正対象書類名】明細書
【補正対象項目名】０１０８
【補正方法】変更
【補正の内容】
【０１０８】
ただし、実部値のｌ＝Ｌのビット位置（データのＭＳＢ位置）については、実部演算用ＬＵＴ索引回路２０５ｍ−Ｌによって選択された要素値に対して符号反転回路２０７によって符号反転が行われた後に、倍数演算回路２０８ｍ−Ｌによって２(L-1)倍される。同様に、虚部値のｌ＝Ｌのビット位置については、虚部演算用ＬＵＴ索引回路２１０ｍ−Ｌによって選択された要素値に対して符号反転回路２１１によって符号反転が行われた後に、倍数演算回路２１２ｍ−Ｌによって２(L-1)倍される。
【手続補正１１】
【補正対象書類名】明細書
【補正対象項目名】０１１２
【補正方法】変更
【補正の内容】
【０１１２】
ｘ＿ｒｅａｌ［ｍ］やｘ＿ｉｍａｇ［ｍ］が、０以上のみに限定される符号なし数値の場合は、ＭＳＢのビット位置Ｌについても、他のビット位置と同様に、実部演算用ＬＵＴ索引回路２０５ｍ−Ｌによって選択された要素値をそのまま倍数演算回路２０８ｍ−Ｌによって２(L-1)倍し、虚部演算用ＬＵＴ索引回路２１０ｍ−Ｌによって選択された要素値をそのまま倍数演算回路２１２ｍ−Ｌによって２(L-1)倍すればよい。
【手続補正１２】
【補正対象書類名】明細書
【補正対象項目名】０１１３
【補正方法】変更
【補正の内容】
【０１１３】
また、上記のビット位置ｌについて、実部演算用ＬＵＴ索引回路２０５ｍ−ｌ、虚部演算用ＬＵＴ索引回路２１０ｍ−ｌによって選択された要素値を２(l-1)倍する処理は、２進数で表現された要素値を（ｌ−１）ビット左にシフトすることによって実現できる。したがって、Ｌ個の倍数演算回路２０８ｍ−ｌおよびＬ個の倍数演算回路２１２ｍ−ｌに乗算回路を用いる必要はなく、簡易な回路で実現できる。
【手続補正１３】
【補正対象書類名】図面
【補正対象項目名】図３
【補正方法】変更
【補正の内容】
【図３】
2019121171.tif 000001
【手続補正１４】
【補正対象書類名】図面
【補正対象項目名】図７
【補正方法】変更
【補正の内容】
【図７】
2019121171.tif 000002