JP2012085177A - デシメータ回路及びデシメータ回路の演算方法 - Google Patents
デシメータ回路及びデシメータ回路の演算方法 Download PDFInfo
- Publication number
- JP2012085177A JP2012085177A JP2010230859A JP2010230859A JP2012085177A JP 2012085177 A JP2012085177 A JP 2012085177A JP 2010230859 A JP2010230859 A JP 2010230859A JP 2010230859 A JP2010230859 A JP 2010230859A JP 2012085177 A JP2012085177 A JP 2012085177A
- Authority
- JP
- Japan
- Prior art keywords
- product
- coefficient
- sum operation
- circuit
- accumulator
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Compression, Expansion, Code Conversion, And Decoders (AREA)
Abstract
【課題】回路規模が小さく、かつ、高速で動作する高精度なデシメータ回路を提供する。
【解決手段】複数の積和演算回路1と、複数の積和演算回路に対してそれぞれ積演算の係数を与える係数メモリ2と、を備え、複数の積和演算回路は、それぞれ、入力デジタル信号Xiのサンプリング周期で動作し、入力デジタル信号と係数メモリから読み出した係数とを乗算する乗算器11と、乗算器の演算結果を累算する累算器15と、を備え、複数の積和演算回路にそれぞれ含まれる累算器は、互いに縦続接続され、それぞれM回(Mは2以上の整数)累算を行う毎に、初段に接続された累算器は固定値に、初段以外の累算器は前段に接続された累算器の出力信号により初期設定され、最終段の累算器の出力信号により入力デジタル信号のサンプリング周期をM倍に間引いた出力信号を得る。
【選択図】図1
【解決手段】複数の積和演算回路1と、複数の積和演算回路に対してそれぞれ積演算の係数を与える係数メモリ2と、を備え、複数の積和演算回路は、それぞれ、入力デジタル信号Xiのサンプリング周期で動作し、入力デジタル信号と係数メモリから読み出した係数とを乗算する乗算器11と、乗算器の演算結果を累算する累算器15と、を備え、複数の積和演算回路にそれぞれ含まれる累算器は、互いに縦続接続され、それぞれM回(Mは2以上の整数)累算を行う毎に、初段に接続された累算器は固定値に、初段以外の累算器は前段に接続された累算器の出力信号により初期設定され、最終段の累算器の出力信号により入力デジタル信号のサンプリング周期をM倍に間引いた出力信号を得る。
【選択図】図1
Description
本発明は、デシメータ回路及びデシメータ回路の演算方法に関する。特に、入力デジタル信号のサンプリング周波数をより低いサンプリング周波数に間引いて出力するとともに、ナイキスト周波数を超える高周波ノイズを除去するデシメーションフィルタを内蔵するデシメータ回路及びデシメータ回路の演算方法に関する。
サンプリング周波数が異なる機器間で直接デジタル信号の転送を行う必要がある場合や、デルタ変調により符号化された信号系列をPCM(Pulse Code Modulation)符号に変換する場合など、サンプルレートを変える必要が生じる場合がある。このような場合、サンプリング周波数を下げるデシメータと、逆にサンプリング周波数を上げるインターポーレータは、マルチレート信号処理の基本機能となる。ここでは、そのうちデシメータについてさらに説明をする。
アナログ信号xa(t)を周期Tでサンプリングした信号系列をx(nT)とすると式(1)が成立する。
x(nT)=xa(nT) 式(1)
ここで新しい周期T’=MT(Mは自然数)でサンプリングした信号系列をy(nT’)とすると式(2)が成立する。すなわちyはx(nT)をMサンプルごとに1個の割合で間引いた信号系列である。
y(nT’)=x(nMT) 式(2)
x(nT)=xa(nT) 式(1)
ここで新しい周期T’=MT(Mは自然数)でサンプリングした信号系列をy(nT’)とすると式(2)が成立する。すなわちyはx(nT)をMサンプルごとに1個の割合で間引いた信号系列である。
y(nT’)=x(nMT) 式(2)
一方、サンプリング定理からxaにf=1/(2MT)を超える高周波数成分が存在する場合には、折り返し雑音となって信号系列yの信号品質を低下させてしまう。従って、間引き処理をする前に式(3)のように、LPF特性のフィルタ(デシメーションフィルタ)H(f)によって帯域を制限した後、間引きを行う必要がある。Mはデシメーション比という。
H(f)=1:f≦1/(2MT)
0:f>1/(2MT) 式(3)
H(f)=1:f≦1/(2MT)
0:f>1/(2MT) 式(3)
デシメータ回路とは、入力デジタル信号のサンプリングレートをより低いサンプリングレートのデジタル出力信号に変換して出力する回路である。デシメータ回路には、サンプリング定理によりナイキスト周波数[f=1/(2MT)]よりも高い周波数の信号は、出力信号の品質を低下させるため、入力デジタル信号からナイキスト周波数よりも高い周波数の信号を除去するLPF(Low Pass Filter)特性を有するデシメーションフィルタが用いられる。
図8に、特許文献1に従来技術として説明されているポリフェーズ構成のデシメーションフィルタを備えるデシメータの回路ブロック図を示す。このデシメーションフィルタの構成について図8を用いて説明する。図8に示す従来のデシメーションフィルタは、複数の遅延素子21、複数のダウンサンプラ22、複数のフィルタ23、および加算器24を備えている。
遅延素子21は1サンプリング周期分入力信号を遅延させる素子であり、ダウンサンプラ22は入力信号をデシメーション比Mにダウンサンプルする回路である。フィルタ23の各々は、ポリフェーズ構成のデシメーションフィルタの一部をなすものであって、N個おきにデシメーションフィルタのフィルタ係数が選択されたフィルタである。例えばM=3、N=9、フィルタタップ係数をαiとすると、フィルタ23はそれぞれ式(4)〜式(6)のようになる。
D0(z)=α0+α3*Z−1+α6*Z−2 式(4)
D1(z)=α1+α4*Z−1+α7*Z−2 式(5)
D2(z)=α2+α5*Z−1+α8*Z−2 式(6)
D0(z)=α0+α3*Z−1+α6*Z−2 式(4)
D1(z)=α1+α4*Z−1+α7*Z−2 式(5)
D2(z)=α2+α5*Z−1+α8*Z−2 式(6)
これにより加算器24の出力が9次FIR(Finite impulse response:有限インパルス応答)フィルタ特性となる。回路で実現する場合には乗算器9つ、加算器7つ必要となる。このようにフィルタの次数分だけ乗算器が必要となるため、高次のフィルタを実現するためには回路規模および消費電力が増加してしまうという問題点がある。
これに対して特許文献1には、さらに回路規模を大きく削減したデシメーションフィルタが開示されている。この特許文献1に記載されている回路規模を削減した従来のデシメーションフィルタの回路ブロック図を図9に示す。図9に示す従来のデシメーションフィルタは、バッファメモリ31、係数メモリ32、演算装置33、及びタイミング制御回路34を備えており、第1サンプリング周波数でサンプリングされた信号Sinをより低いサンプリング周波数の信号Sotに変換するものである。
バッファメモリ31に格納されたサンプル情報(信号Sin)は、タイミング制御回路34により与えられるタイミング信号に同期して読み出され、係数メモリ32に格納された係数値と乗算器331により乗算される。この結果は加算器332、レジスタ(遅延素子)333により構成されるアキュムレータ(積分器、又は、累算器)に蓄積され、フィルタのNタップ分だけ積算が終了した時点で出力され、アキュムレータは一旦ゼロクリアされて再び積算と積分が繰り返される。
この図9のデシメーションフィルタでは、サンプル情報(信号Sin)を一時的に格納するバッファメモリ31やこのバッファメモリのアドレス管理等を行うタイミング制御回路34が新たに必要となるが、次数分乗算器が設けられていた図8に示すポリフェーズ構成のデシメーションフィルタと比較して、乗算器1つを時分割で使うことで回路量の削減を実現している。
ただし、このNタップ分の積和演算は、サンプリング周期T×デシメーション比Mの時間以内に終了させる必要があるため、タップ数Nが大きい場合には、内部の演算はサンプリングクロックよりも早く演算させる必要がある。例えばN=10、M=3、サンプリングが30MHzの場合には、乗算器とアキュムレータは100MHzで動作させる必要がある。なお、特許文献1には、この図9に示すデシメーションフィルタは、例えば、1MHz以下の低周波数の信号Sinをフィルタリングするのに適している旨が記載されている。
以下の分析は、本発明によって与えられたものである。即ち、図8に記載の従来例のようにポリフェーズ構成のデシメーションフィルタを用いると、フィルタの次数分の乗算器と加算器が必要となり回路規模が大きくなる。
また、図9に記載の特許文献1のデシメーションフィルタでは、入力デジタル信号のサンプリング周波数以上の高周波数のクロック信号を用いて、入力デジタル信号のサンプリング周期内に時分割でフィルタの次数分(タップ数分)の乗算と累算(積分)を完了させる必要がある。従って、サンプリングレートが高く、デシメーション比が比較的小さく、しかもフィルタ次数Nが大きい場合には実現不可能となる。
上記先行技術の問題点を踏まえ、任意の次数のデシメーションフィルタが搭載可能であり、高速で動作し、かつ回路規模の増加を抑えたデシメータ回路の実現が望まれる。
本発明の第1の視点によれば、複数の積和演算回路と、前記複数の積和演算回路に対してそれぞれ積演算の係数を与える係数メモリと、を備え、前記複数の積和演算回路は、それぞれ、入力デジタル信号のサンプリング周期で動作し、前記入力デジタル信号と前記係数メモリから読み出した係数とを乗算する乗算器と、前記乗算器の演算結果を累算する累算器と、を備え、前記複数の積和演算回路にそれぞれ含まれる累算器は、互いに縦続接続され、それぞれM回(Mは2以上の整数)累算を行う毎に、初段に接続された累算器は固定値に、初段以外の累算器は前段に接続された累算器の出力信号により初期設定され、最終段の累算器の出力信号により前記入力デジタル信号のサンプリング周期をM倍に間引いた出力信号を得るデシメータ回路が提供される。
本発明の第2の視点によれば、それぞれ、乗算器と、累算器と、を有し、前記累算器の入力と出力とが互いに縦続接続されている複数の積和演算回路を備え、入力デジタル信号のサンプリング周期をM倍(Mは2以上の整数)に間引いた出力信号を出力するデシメータ回路の演算方法であって、前記複数の積和演算回路にそれぞれ含まれ、互いに縦続接続されている累算器のうち、初段の累算器を固定値により初期設定すると共に、前記初段以外の累算器を前段の累算器の出力値により初期設定する第1のステップと、前記複数の積和演算回路に含まれる乗算器によりそれぞれ所定の係数と前記入力デジタル信号とを乗算し、前記乗算結果を累算器の初期設定値に加算する処理を前記入力デジタル信号のサンプリング周期に同期してM回繰り返す第2のステップと、を備え、前記第1のステップと第2のステップとを前記間引いた出力信号の周期に合わせて繰り返し、前記第2のステップが終了する毎に、前記縦続接続された累算器のうち、最終段の累算器の出力値により、前記入力デジタル信号のサンプリング周期をM倍に間引いた出力信号を得るデシメータ回路の演算方法が提供される。
本発明の各視点によれば、入力デジタル信号のサンプリング周波数で動作し、かつ回路規模の増加を抑えたデシメータ回路が実現できる。また、Mの値や、縦続接続する積和演算回路の数によって、任意の次数のデシメーションフィルタが実現可能である。
具体的な実施の形態の詳細な説明に入る前に、本発明の実施形態の概要について説明しておく。なお、概要の説明に付記した図面参照符号は専ら理解を助けるための例示であり、図示の態様に限定することを意図するものではない。
図1、図2、図5、図6にそれぞれ例示するように、本発明のデシメータ回路(10、10A、10B、10C)は、それぞれ、入力デジタル信号Xiのサンプリング周期で動作し、入力デジタル信号Xiと係数メモリ(2、2B、2C)から読み出した係数Cjとを乗算する乗算器11と、乗算器の演算結果を累算する累算器15と、を有する複数の積和演算回路(1−a、1−b、1−l、1C−a、1C−b)を備える。上記複数の積和演算回路にそれぞれ含まれる累算器15は、互いに縦続接続されている[0、da、db、d(l−1)、dl信号により縦続接続]。これらの累算器15は、それぞれM回累算を行う毎に、初段に接続された累算器は固定値(図1、図2、図5、図6には、一例として固定値が0である場合を示す)に初期設定され、初段以外の累算器は前段に接続された累算器の出力信号(da、d(l−1)等)により初期設定される。そして、最終段の累算器の出力信号(図1、図5、図6のdb、図2のdl)により入力デジタル信号Xiのサンプリング周期をM倍に間引いた出力信号を得る。
上記構成によれば、複数の積和演算回路により並列に乗算、累算を行うことができるので、入力デジタル信号のサンプリング周期より高速に乗算、累算を行う必要がなく、全体として、高速な動作が可能である。また、入力デジタル信号のサンプリング周期に合わせてM回乗算と累算を同一の積和演算回路を用いて繰り返すので、積和演算回路の数を最小限の数に抑えることができる。デシメーションフィルタの次数をNとして、デシメーション比をMとすれば、式(7)により積和演算回路の数は、L個の数に抑えられる。
L=<N/M> 式(7)
(ただし、<X>は、Xの切り上げ)
L=<N/M> 式(7)
(ただし、<X>は、Xの切り上げ)
さらに、特許文献1のような入力デジタル信号を記憶するバッファメモリ(図9の31)を設ける必要はなく、バッファメモリのアドレス制御も必要ない。
また、本発明によるデシメータ回路の演算方法は、図3に一例を示すように、複数の積和演算回路にそれぞれ含まれ、互いに縦続接続されている累算器のうち、初段の累算器を固定値により初期設定すると共に、初段以外の累算器を前段の累算器の出力値により初期設定する第1のステップ(ステップST5により得られた出力値によりステップST1で初期設定)と、複数の積和演算回路に含まれる乗算器によりそれぞれ所定の係数(Cj等)と入力デジタル信号Xiとを乗算し、乗算結果を累算器の初期設定値に加算する処理を入力デジタル信号Xiのサンプリング周期に同期してM回繰り返す第2のステップ(ステップST2〜ST4)と、を備え、第1のステップと第2のステップとを間引いた出力信号の周期に合わせて繰り返し、第2のステップが終了する毎に、縦続接続された累算器のうち、最終段の累算器の出力値により、前記入力デジタル信号のサンプリング周期をM倍に間引いた出力信号を得る(ステップST5)。
さらに、本発明において、下記の形態が可能である。
[形態1]第1の視点のとおり。
[形態2](図1、図2、図5、図6に一例を示すように、)累算器15は、レジスタ13と、初期設定値とレジスタ13の出力信号とを入力しタイミング制御信号enによりいずれかを選択して出力するセレクタ14と、セレクタ14の出力信号と乗算器11との出力信号とを加算する加算器12と、を備え、レジスタ13に加算器12の加算結果を記憶することが好ましい。
[形態3]入力デジタル信号Xiのサンプリング周期に合わせて係数メモリ2に対する係数Cjの読み出しを制御すると共に、タイミング制御信号enを生成するタイミング制御回路(3、3B、3C)をさらに備えることが好ましい。
[形態4]最終段の累算器の出力信号(図1、図5、図6のdb、図2のdl)を保持し、M回累算を行う毎に更新するダウンレートコンバータ4をさらに備えることが好ましい。
[形態5](図5〜図7に一例を示すように)縦続接続された複数の積和演算回路(1−a、1−b:1C−a、1C−b)の数をL(Lは、2以上の整数)としたときに、L個の縦続接続された積和演算回路が、L*M次のFIRフィルタとしてデシメーションフィルタの機能を果たすデシメータ回路(10B、10C)であって、さらにLが偶数であり、FIRフィルタのL*M個のタップを時系列で並べたときに、kを0以上かつ(L/2)*M未満の任意の整数として(L/2)*M−k番目のタップの係数値は、(L/2)*M+k+1番目のタップの係数値に等しく、係数メモリ(2B、2C)は、前記FIRフィルタの(L/2)*M−k番目のタップの係数と(L/2)*M+k+1番目のタップの係数とを共通の値として同一のアドレスに同一のデータとして記憶していることが好ましい。すなわち、デシメーションフィルタのフィルタタップ係数が各タップを時系列に並べたときに中央に対して早い時刻のタップと遅い時刻のタップとで対称に構成されている場合には、係数メモリ(2B、2C)に記憶するタップ係数のうち、早い時刻のタップと遅い時刻のタップのうち、一方のみのタップ係数を記憶し、係数メモリ(2B、2C)に記憶するタップ係数の数を1/2にしてメモリ容量を1/2とすることができる。
[形態6](図5に一例を示すように)係数メモリ2Bは、L個の縦続接続された積和演算回路(1−a、1−b)のうち、前段のL/2個の積和演算回路1−aが用いる係数の読み出しと、後段の残りのL/2個の積和演算回路1−bが用いる係数の読み出しと、を別々なアドレスを指定して同時に読み出すことのできるデュアルポートのメモリである2Bであることが好ましい。
[形態7](図6に一例を示すように)係数メモリ2CはL個の係数データを並列に読み出し、L個の積和演算回路は、それぞれ係数メモリ2Cから読み出したL個の係数データのうち、対応する2個の係数データを入力し、そのうち選択した1個の係数データを乗算器の係数データとして与える係数セレクタ16をさらに備えることが好ましい。
[形態8]第2の視点のとおり。
[形態9]複数の積和演算回路の数をL(Lは2以上の整数)とすると、前記L個の積和演算回路が、L*M次のFIRフィルタとしてデシメーションフィルタの機能を果たすデシメータ回路であって、所定の係数は、前記L*M次のFIRフィルタの各タップの係数であることが好ましい。係数はどのような手段によって、各乗算器11に与えてもよいが、好ましくは、係数メモリ2、2B、2Cにより係数を発生させるものであってもよい。
[形態1]第1の視点のとおり。
[形態2](図1、図2、図5、図6に一例を示すように、)累算器15は、レジスタ13と、初期設定値とレジスタ13の出力信号とを入力しタイミング制御信号enによりいずれかを選択して出力するセレクタ14と、セレクタ14の出力信号と乗算器11との出力信号とを加算する加算器12と、を備え、レジスタ13に加算器12の加算結果を記憶することが好ましい。
[形態3]入力デジタル信号Xiのサンプリング周期に合わせて係数メモリ2に対する係数Cjの読み出しを制御すると共に、タイミング制御信号enを生成するタイミング制御回路(3、3B、3C)をさらに備えることが好ましい。
[形態4]最終段の累算器の出力信号(図1、図5、図6のdb、図2のdl)を保持し、M回累算を行う毎に更新するダウンレートコンバータ4をさらに備えることが好ましい。
[形態5](図5〜図7に一例を示すように)縦続接続された複数の積和演算回路(1−a、1−b:1C−a、1C−b)の数をL(Lは、2以上の整数)としたときに、L個の縦続接続された積和演算回路が、L*M次のFIRフィルタとしてデシメーションフィルタの機能を果たすデシメータ回路(10B、10C)であって、さらにLが偶数であり、FIRフィルタのL*M個のタップを時系列で並べたときに、kを0以上かつ(L/2)*M未満の任意の整数として(L/2)*M−k番目のタップの係数値は、(L/2)*M+k+1番目のタップの係数値に等しく、係数メモリ(2B、2C)は、前記FIRフィルタの(L/2)*M−k番目のタップの係数と(L/2)*M+k+1番目のタップの係数とを共通の値として同一のアドレスに同一のデータとして記憶していることが好ましい。すなわち、デシメーションフィルタのフィルタタップ係数が各タップを時系列に並べたときに中央に対して早い時刻のタップと遅い時刻のタップとで対称に構成されている場合には、係数メモリ(2B、2C)に記憶するタップ係数のうち、早い時刻のタップと遅い時刻のタップのうち、一方のみのタップ係数を記憶し、係数メモリ(2B、2C)に記憶するタップ係数の数を1/2にしてメモリ容量を1/2とすることができる。
[形態6](図5に一例を示すように)係数メモリ2Bは、L個の縦続接続された積和演算回路(1−a、1−b)のうち、前段のL/2個の積和演算回路1−aが用いる係数の読み出しと、後段の残りのL/2個の積和演算回路1−bが用いる係数の読み出しと、を別々なアドレスを指定して同時に読み出すことのできるデュアルポートのメモリである2Bであることが好ましい。
[形態7](図6に一例を示すように)係数メモリ2CはL個の係数データを並列に読み出し、L個の積和演算回路は、それぞれ係数メモリ2Cから読み出したL個の係数データのうち、対応する2個の係数データを入力し、そのうち選択した1個の係数データを乗算器の係数データとして与える係数セレクタ16をさらに備えることが好ましい。
[形態8]第2の視点のとおり。
[形態9]複数の積和演算回路の数をL(Lは2以上の整数)とすると、前記L個の積和演算回路が、L*M次のFIRフィルタとしてデシメーションフィルタの機能を果たすデシメータ回路であって、所定の係数は、前記L*M次のFIRフィルタの各タップの係数であることが好ましい。係数はどのような手段によって、各乗算器11に与えてもよいが、好ましくは、係数メモリ2、2B、2Cにより係数を発生させるものであってもよい。
以上で、実施形態の概説を終え、以下により具体的な実施の形態について、図面を参照して説明する。
[第1の実施形態]
図1は、第1の実施形態によるデシメータ回路の一例を示す回路ブロック図である。図1のデシメータ回路10は、2個の積和演算回路1−a、1−bと、係数メモリ2と、タイミング制御回路3と、ダウンレートコンバータ4を備える。積和演算回路1−aと1−bは、内部の回路構成が互いに同一であるので、代表して積和演算回路1−aの内部構成のみを図示し、積和演算回路1−bの内部構成については、図示を省略している。積和演算回路1−aと1−bでは、外部端子の接続は少し異なるが、その接続の違いは後で説明する。積和演算回路1−aは、乗算器11と、累算器15とを備えている。乗算器11は、入力端子Inから入力された入力デジタル信号Xiと係数メモリ2から読み出した係数Cjとの積を演算する。累算器15は、乗算器11の乗算結果を累積して加算する。
図1は、第1の実施形態によるデシメータ回路の一例を示す回路ブロック図である。図1のデシメータ回路10は、2個の積和演算回路1−a、1−bと、係数メモリ2と、タイミング制御回路3と、ダウンレートコンバータ4を備える。積和演算回路1−aと1−bは、内部の回路構成が互いに同一であるので、代表して積和演算回路1−aの内部構成のみを図示し、積和演算回路1−bの内部構成については、図示を省略している。積和演算回路1−aと1−bでは、外部端子の接続は少し異なるが、その接続の違いは後で説明する。積和演算回路1−aは、乗算器11と、累算器15とを備えている。乗算器11は、入力端子Inから入力された入力デジタル信号Xiと係数メモリ2から読み出した係数Cjとの積を演算する。累算器15は、乗算器11の乗算結果を累積して加算する。
さらに、累算器15は、加算器12と、レジスタ13と、セレクタ14を備えている。加算器12は、セレクタ14の出力値に乗算器11の乗算結果を加算する。レジスタ13は、加算器12の演算に同期して、加算器12の演算結果を保持する。セレクタ14は、タイミング制御回路3が出力するタイミング制御信号enの論理レベルに基づいて積和演算回路の外部から与えられた初期設定値または、レジスタの保持する演算結果のいずれかを選択して出力する。
ここで、入力端子Inから入力される入力デジタル信号Xiのサンプリング周波数に対して出力端子Outから出力されるデジタル信号のサンプリング周波数が1/M(Mは2以上の整数)であるので、デシメータ回路10のデシメーション比はMになる。従って、累算器15は、入力デジタル信号Xiのサンプリング周期に同期してM回累算を繰り返し、M回累算を繰り返す毎に、レジスタ13に格納されている累算結果を外部へ出力すると共に、セレクタ14により外部から初期設定値を取り込み、初期設定される。これらの動作の制御は、タイミング制御信号enによって行われる。
各積和演算回路1−a、1−bには、共通に、入力端子Inから入力された入力デジタル信号Xiと、タイミング制御回路3が出力するタイミング制御信号enが接続されている。また、係数メモリ2から与えられる係数データ、セレクタ14に与えられる初期設定値は、各積和演算回路1−a、1−bによって異なった値が与えられる。積和演算回路1−aには初期設定値として固定値0が与えられ、積和演算回路1−bには積和演算回路1−aに含まれるレジスタ13の出力信号daが初期設定値として与えられる。
積和演算回路1−bの図示を省略しているレジスタ13の出力信号dbがダウンレートコンバータ4に接続されている。すなわち、積和演算回路1−aの出力信号daを介して、積和演算回路1−aと積和演算回路1−bの累算器15は互いに縦続接続されている。そして、初段の積和演算回路1−aには、初期設定値として固定値0が与えられ、初段以外の積和演算回路1−bには、前段の積和演算回路1−aの累算器15の出力信号daが初期設定値として与えられている。最終段の積和演算回路1−bの出力信号dbがダウンレートコンバータ4を介してデシメータ回路10全体の出力信号としてデシメーションフィルタにより高周波成分が除去され、サンプリングレートが間引かれた信号として出力される。
係数メモリ2は、デシメーションフィルタとなるFIRフィルタの各タップの係数を記憶し、各積和演算回路1−a、1−bの乗算器11が入力デジタル信号Xiに対して各タップの演算を行うタイミングに合わせて、各タップの係数を出力する。メモリアドレスADRはタイミング制御回路3によって与えられ、入力デジタル信号Xiのサンプリングクロック毎に更新され、各タップの係数が読み出される。なお、メモリアドレスADRはM回読み出す毎に繰り返して同一のメモリアドレスADRが指定され、各タップの係数の読み出しが繰り返される。
ダウンレートコンバータ4は、積和演算回路1−bの累算器がM回累算を行う毎に出力される出力デジタル信号dbを出力信号のサンプリング周期の間、保持する。また、タイミング制御回路3が出力するタイミング制御信号enは、ダウンレートコンバータ4に供給され、出力デジタル信号dbの取り込みとデータの保持を制御する。例えば、ダウンレートコンバータは、タイミング制御信号enの立ち上がりでデータを取り込むデータフリップフロップ等を用いて実現できる。
タイミング制御回路3は、係数メモリ2からの係数の読み出し、各積和演算回路1−a、1−bのセレクタ14の制御、ダウンレートコンバータのデータの更新、保持の制御を行う。タイミング制御回路3は、入力デジタル信号Xiのサンプリング周期に同期してメモリアドレスADR、タイミング制御信号enを出力し、その動作は、デシメーション比であるM回毎に同一の動作を繰り返す。
図2は、第1の実施形態によるデシメーション回路のより一般的な回路ブロック図である。図2では、1−a、1−bから1−lまでのL個(Lは2以上の任意の整数)の積和演算回路が設けられている。各積和演算回路1に対して入力デジタル信号Xiとタイミング制御信号enは共通に接続されている。
また、係数メモリ2からは、L個の積和演算回路1にそれぞれ独立した係数が与えられている。さらに、初段の積和演算回路1−aの累算器15の初期設定信号として固定値0が接続されている。
また、初段の累算器15の出力信号daは、2段目の積和演算回路1−bに初期設定信号として接続され、2段目の積和演算回路1−bの出力信号dbは、図示しない3段目の積和演算回路に初期設定信号として接続されている。そして、L個目の最終段の積和演算回路1−lの初期設定信号には、図示しないL−1個目の積和演算回路の出力信号d(l−1)が接続され、最終段の積和演算回路1−lの出力信号dlはダウンレートコンバータ4に接続されている。
すなわち、L個設けられた積和演算回路1の累算器15の出力信号が次段の積和演算回路1の初期設定信号としてL個の積和演算回路1の累算器15が縦続接続されている。そして、初段の積和演算回路1−aの初期設定信号には、固定値(図2では一例として固定値0)が与えられ、最終段の積和演算回路1−lの出力信号dlがダウンレートコンバータ4を介してデシメータ出力信号として出力されている。
積和演算回路の数Lは、デシメーションフィルタとなるFIRフィルタの次数Nと、デシメーション比Mにより、すでに説明した式(7)により決まる。また、デシメーション比Mの値によって、タイミング制御回路3がタイミング制御信号enを入力デジタル信号Xiの何周期に一回アクティブにするかが変わる。また、係数メモリ2は、デシメーション比Mの値によって、M回の読み出しで用いるアドレスの数が決まる。その他の構成は、基本的に図1と同一であるので、重複する説明は省略する。
図3は、第1の実施形態によるデシメータ回路の動作を示す処理フローチャートである。ステップST1では、各積和演算回路を初期設定する。縦続接続される各積和演算回路のうち、初段の積和演算回路の累算器は、固定値に初期設定され、初段以外の積和演算回路の累算器は、前段の累算器の出力信号により初期設定され、各累算器のレジスタに記憶される。
ステップST2では、入力デジタル信号Xiと係数メモリから読み出されたタップの係数とが各積和演算回路の乗算器により乗算される。積和演算回路がL個設けられる場合には、L個のタップの係数と入力デジタル信号Xiとが、並列に乗算される。
ステップST3では、各積和演算回路の累算器によりレジスタの記憶するデータに乗算器の乗算結果が加算される。このステップST2の乗算と、ステップST3の累算は、デシメーション比であるM回だけ繰り返される(ステップST4)。M回乗算と累算が行われた場合は、ステップST5へ進み、各積和演算回路は累算結果を出力する。縦続接続された積和演算回路のうち、最終段の積和演算回路の累算結果がデシメータフィルタによる演算結果となる。ステップST5が終了すると、ステップST1へ戻り、デシメータ処理を繰り返す。
[第2の実施形態]
デシメーションフィルタにFIRフィルタを用いる場合、通常FIRフィルタの各タップの係数は、各タップを時系列に並べたときに、時刻の早いタップの係数と時刻の遅いタップの係数とで、時刻の中央値に対して対称なタップ係数とする場合が多い。そのような場合、係数メモリが記憶する係数は、時刻の早いタップの係数と時刻の遅いタップの係数で共通の係数を用いることができる。したがって、係数メモリが記憶する係数の数は、1/2にすることができる。
デシメーションフィルタにFIRフィルタを用いる場合、通常FIRフィルタの各タップの係数は、各タップを時系列に並べたときに、時刻の早いタップの係数と時刻の遅いタップの係数とで、時刻の中央値に対して対称なタップ係数とする場合が多い。そのような場合、係数メモリが記憶する係数は、時刻の早いタップの係数と時刻の遅いタップの係数で共通の係数を用いることができる。したがって、係数メモリが記憶する係数の数は、1/2にすることができる。
すなわち、FIRフィルタの積和演算回路の数Lを偶数、デシメーション比Mとして、FIRフィルタのタップ数L*Mを入力デジタル信号の時系列に並べたときに、kを0以上かつ(L/2)*M未満の任意の整数として(L/2)*M−k番目のタップの係数値は、(L/2)*M+k+1番目のタップの係数値にそれぞれ等しい場合は、係数メモリが記憶する係数の数は、1/2にすることができる。
ただし、係数メモリからの係数の読み出しに何らかの工夫が必要となる。例えば、係数メモリをデュアルポートのメモリとして、FIRフィルタの各タップの係数のうち、時刻の早いタップの係数を読み出すアドレスと時刻の遅いタップの係数を読み出すアドレスとを一つの係数メモリから独立に並行して複数のアドレスを指定して読み出すようにすることができる。
ここで、第2の実施形態の動作原理について説明する。仮にデシメータ回路に内蔵するデシメーションフィルタの積和演算回路の数L=4、デシメーション比M=4、FIRフィルタのタップ数(次数)N=16とする。
デシメーションフィルタの出力値は、第1乃至第4の4個の積和演算回路でそれぞれ乗算結果を累算した合計値になる。前段の積和演算回路から与えられる初期値を除いて、第1乃至第4の積和演算回路で新たに加算される乗算の和をそれぞれ、S1、S2、S3、S4として、デシメーションフィルタの出力値をD0(z)とすると、以下の式(8)〜式(12)で表すことができる。
Do(z)=S1+S2+S3+S4 式(8)
S1=x0*c0+x1*c1+x2*c2+x3*c3 式(9)
S2=x4*c4+x5*c5+x6*c6+x7*c7 式(10)
S3=x8*c8+x9*c9+x10*c10+x11*c11 式(11)
S4=x12*c12+x13*c13+x14*c14+x15*c15 式(12)
Do(z)=S1+S2+S3+S4 式(8)
S1=x0*c0+x1*c1+x2*c2+x3*c3 式(9)
S2=x4*c4+x5*c5+x6*c6+x7*c7 式(10)
S3=x8*c8+x9*c9+x10*c10+x11*c11 式(11)
S4=x12*c12+x13*c13+x14*c14+x15*c15 式(12)
ここで、x0は、最も早い時間に入力された入力デジタル信号の値であり、x15は、最も遅い時間に入力された入力デジタル信号の値である。また、c0〜c15は、デシメーションフィルタのタップ係数である。時系列に入力されるデジタル信号に対するデシメーションフィルタのタップ係数が対称であるとする。
すなわち、[形態5]で述べたように、c0からc15までの16個のタップを時系列で並べたときに、kを0以上かつ(L/2)*M未満の任意の整数として(L/2)*M−k番目のタップの係数値は、(L/2)*M+k+1番目のタップの係数値に等しい。L=4、M=4を代入して書き直すと、時系列的に1番目のタップの係数であるc0から16番目のタップの係数であるc15について、kを0から7までの任意の整数として、8−k番目のタップの係数は、9+k番目のタップの係数に等しいとする。さらに具体的に記載すると、各タップの係数は、c8=c7、c9=c6、c10=c5、c11=c4、c12=c3、c13=c2、c14=c1、c15=c0である。
従って、上記式(11)、(12)は、以下の式(13)、(14)のように書き換えることができる。
S3=x8*c7+x9*c6+x10*c5+x11*c4 式(13)
S4=x12*c3+x13*c2+x14*c1+x15*c0 式(14)
S3=x8*c7+x9*c6+x10*c5+x11*c4 式(13)
S4=x12*c3+x13*c2+x14*c1+x15*c0 式(14)
また、第1乃至第4の4つの積和演算回路が上記S1〜S4の演算を行う時刻はそれぞれ異なるが、第1の積和演算回路が上記S1の演算を行っている間に、同一の入力デジタル信号x0、x1、x2、x3に対して第2乃至第4の積和演算回路が行う演算をまとめると式(15)〜(18)のようになる。
S1(t03)=x0*c0+x1*c1+x2*c2+x3*c3 式(15)
S2(t03)=x0*c4+x1*c5+x2*c6+x3*c7 式(16)
S3(t03)=x0*c7+x1*c6+x2*c5+x3*c4 式(17)
S4(t03)=x0*c3+x1*c2+x2*c1+x3*c0 式(18)
S1(t03)=x0*c0+x1*c1+x2*c2+x3*c3 式(15)
S2(t03)=x0*c4+x1*c5+x2*c6+x3*c7 式(16)
S3(t03)=x0*c7+x1*c6+x2*c5+x3*c4 式(17)
S4(t03)=x0*c3+x1*c2+x2*c1+x3*c0 式(18)
すなわち、第1の積和演算回路と第4の積和演算回路は、共通の係数c0、c1、c2、c3を用いてx0、x1、x2、x3に対して演算を行うが、各係数が必要となるタイミングは異なる。たとえば、第1の積和演算回路は、入力デジタル信号x0の係数としてc0を用いるが、第4の積和演算回路は、入力デジタル信号x3の係数としてc0を用いる。第1の積和演算回路と、第4の積和演算回路で同一の係数c0が必要になるタイミングが異なる。
同様に、第2の積和演算回路と第3の積和演算回路は、共通の係数c4、c5、c6、c7を用いて演算を行うが、各係数を用いて演算を行うタイミングは異なる。すなわち、第1、第2の積和演算回路と第3、第4の積和演算回路で、同一の係数を異なったタイミングで読み出す必要がある。従って、係数メモリをデュアルポートのメモリとして、第1、第2の積和演算回路が用いる係数と、第3、第4の積和演算回路が用いる係数を独立して読み出せるようにする必要がある。
図5にそのような第2の実施形態によるデシメータ回路の回路ブロック図を示す。図5のデシメータ回路10Bは、図1の第1の実施形態のデシメータ回路から係数メモリ2Bが記憶する係数の数を1/2に減らしている。また、係数メモリ2Bは、デュアルポートメモリである。
係数メモリに対するアドレス入力信号として、ADREとADRLの2系統のアドレスが入力され、アドレスADREに対応する係数データと、アドレスADRLに対応する係数データが同時に別々のアドレスに対応して出力される。アドレスADREは、Lの値を偶数として、縦続接続されているL個の積和演算回路のうち、先頭からL/2個の前段の積和演算回路が用いる係数の読み出しアドレスを指定する。同様に、アドレスADRLは、縦続接続されているL個の積和演算回路のうち、末尾からL/2個の残りの後段の積和演算回路が用いる係数の読み出しアドレスを指定する。
なお、図5では、積和演算回路は、1−aと1−bの2つであり、そのうち、前段の積和演算回路1−aには、アドレスADREの指定により読み出された係数信号Caが内部の乗算器11に接続されている。一方、後段の積和演算回路1−bには、アドレスADRLの指定により読み出された係数信号Cbが内部の図示を省略している乗算器に接続されている。
図5では、タイミング制御回路3Bは、デュアルポートメモリである係数メモリ2BのアドレスとしてADRE、ADRLの2つのアドレスを出力するので、図1に示すデシメータ回路10のタイミング制御回路3と構成、機能が異なっている。図5のデシメータ回路10Bでは、上述したように、係数メモリ2Bとタイミング制御回路3Bの構成と機能が図1に示すデシメータ回路10と若干異なっているほかは、図1に示す第1の実施形態のデシメータ回路10と構成、機能、動作は、ほぼ同一である。したがって、重複した説明は省略する。
[第3の実施形態]
第2の実施形態で説明した式(15)〜式(18)を見ても理解できる通り、第1乃至第2の積和演算回路が入力デジタルデータx0の演算に用いる4つの係数と、x3の演算に用いる4つの係数は共通し、x1の演算に用いる4つの係数とx2の演算に用いる4つの
係数は共通している。
第2の実施形態で説明した式(15)〜式(18)を見ても理解できる通り、第1乃至第2の積和演算回路が入力デジタルデータx0の演算に用いる4つの係数と、x3の演算に用いる4つの係数は共通し、x1の演算に用いる4つの係数とx2の演算に用いる4つの
係数は共通している。
また、第1の積和演算回路と第4の積和演算回路が4回の演算に用いる係数は互いに共通であり、第2の積和演算回路と第3の積和演算回路が4回の演算に用いる係数も互いに共通である。したがって、第2の実施形態のようにデュアルポートのメモリを用いずに、係数メモリの構成を4つの係数を平行して読み出すシングルポート2アドレスの係数メモリとして、同時に読み出した4つの係数のうち、2つの係数から1つの係数を選択する係数セレクタを各積和演算回路の側に設けることによって、第2の実施形態と同一の機能を実現することもできる。
すなわち、Lを偶数として、積和演算回路の数をL個とすると、L個の積和演算回路が同時に用いる係数の関係は決まっているので、係数メモリからL個の係数を同時に読み出し、同時に読み出したL個の係数のうち、どの係数を用いるか、積和演算回路の側に係数セレクタを設けて乗算器が用いる係数として同時に読み出したL個の係数から係数セレクタにより選択した係数を用いてもよい。
図6にそのような第3の実施形態によるデシメータ回路の回路ブロック図を示す。図6のデシメータ回路10Cは、図1の第1の実施形態のデシメータ回路から係数メモリ2Cが記憶する係数の数を1/2に減らしている。係数メモリ2CからL個の積和演算回路が用いる係数を並列して読み出し、並列に読み出したL個の係数から各積和演算回路が用いる係数を選択する係数セレクタ16を設けている。
図6では、Lの値は2であるので、係数メモリ2CからCL、CMの2つの係数を読み出しているが、同時に読み出した2つの係数は、積和演算回路1C−aと1C−bのどちらが用いるか第1の実施形態のようには固定されていない。第2の実施形態の積和演算回路1Cには、係数セレクタ16が設けられ、係数メモリ2Cから読み出した2つの係数のうち、どちらの係数を乗算の係数として用いるか、係数セレクタ16にて選択する。積和演算回路1C−aと1C−bにそれぞれ設けた係数セレクタ16により、積和演算回路1C−aの乗算器には、係数Caを供給し、積和演算回路1C−bの図示しない乗算器には、係数Cbを供給している。
なお、図6に示すように、係数セレクタの選択信号をタイミング制御回路3Cが出力するタイミング制御信号を用いてもよいが、そのタイミング制御信号は、ダウンレートコンバータ4やセレクタ14を制御するタイミング制御信号en1とはタイミングの異なるタイミング制御信号en2である。
次に、上記実施形態を具体的に適用した実施例について説明する。
図4は、図1に示す第1の実施形態のデシメータ回路10における実施例1のサンプリング周期毎の状態の遷移を示す図である。実施例1では、図1に示す第1の実施形態のデシメータ回路10において、積和演算回路の数L=2、デシメーション比M=3、FIRフィルタのタップ数(次数)N=6である。
また、図4において、「t」は入力デジタル信号のサンプリング周期毎の時刻、「xi」はサンプリング周期毎の入力デジタル信号の値、「Cj」は係数メモリ2から積和演算回路1−aへ読み出される係数の値、「CN/2+j」は係数メモリ2から積和演算回路1−bへ読み出される係数の値である。また、「da」は、積和演算回路1−aから出力される累算結果の出力値であり、「db」は、積和演算回路1−bから出力される累算結果の出力値である。
図4において、初期状態では、積和演算回路1−aは、固定値0により初期設定されるので、daの値は0になる。時刻t0では、入力デジタル信号xiの値は、x0となり、係数メモリからは、係数c0とc3が読み出される。積和演算回路1−aでは、入力デジタル信号xiの値x0と係数c0との乗算が行われ初期設定値0に加算され、出力値daの値は、x0*c0となる。
時刻t1では、次の入力デジタル信号x1と係数c1との乗算が行われ、時刻t0の出力値daの値に加算され、出力値daの値は、x0*c0+x1*c1となる。時刻t2では、時刻t1での出力値daに入力デジタル信号x2と係数c2との乗算結果が加算され、出力値daの値は、x0*c0+x1*c1+x2*c2となる。この演算が終了すると、この出力値daの値により、積和演算回路1−bが初期設定されると共に、積和演算回路1−aは固定値0に初期設定される。
時刻t3では、入力デジタル信号xiの値は、x3となり、係数メモリからは、時刻t0と同一の係数c0とc3が読み出される。積和演算回路1−aでは、xiの値x3と係数c0とが乗算され、積和演算回路1−bでは、xiの値x3と係数c3とが乗算される。積和演算回路1−aの出力値daは、時刻t2の後で0に初期設定されているので、x3とc0との乗算結果x3*c0が出力値daの値となる。積和演算回路1−bの出力値dbは、時刻t2の後で出力値daにより初期設定された値x0*c0+x1*c1+x2*c2に乗算結果x3*c3が加算され、(x0*c0+x1*c1+x2*c2)+x3*c3となる。
以下、同様に、時刻t4では、出力値daの値に乗算値x4*c1がさらに加算され、出力値dbの値には乗算値x4*c4がさらに加算される。時刻t5になると出力値daの値に乗算値x5*c2がさらに加算され積和演算回路1−bの次の初期設定値として出力される。また、積和演算回路1−bの出力値dbは、x0からx5までの入力デジタル信号に基づくフィルタ演算結果として外部に出力される。以降、入力デジタル信号の3サンプリング周期毎(時刻t8、t11・・・)に積和演算回路1−bの出力値dbには、フィルタ演算結果が出力され、デシメータ回路として機能を実現している。
すなわち、積和演算回路1−aでは、デシメーション比M=3の値に基づいて、サンプリング周期に同期して入力される入力デジタル信号xiと係数cjの値を乗算器により乗算し、連続する3つの乗算値を初期設定値である固定値に加算し、出力値daとして出力する動作を入力デジタル信号xiのサンプリング周期に同期して行う。また、係数の値は、c0、c1、c2の3つの係数を繰り返し用いて乗算する。
積和演算回路1−bでは、積和演算回路1−aの累算結果による出力値daを初期設定値として入力し、その初期設定値に積和演算回路1−bにより乗算した結果を加算する。また、積和演算回路1−bの用いる係数は、c3、c4、c5の3つの係数を繰り返し用いて乗算する。
図7は、図5に示す第2の実施形態のデシメータ回路10B、または、第3の実施形態のデシメータ回路10Cにおける実施例2のサンプリング周期毎の状態の遷移を示す図である。第2の実施形態と第3の実施形態では、積和演算回路の演算の遷移の状態に関してはほとんど差異がないので、どちらのデシメータ回路を用いても実施例2の演算を実施できる。
図7の実施例2の説明において、実施例1とほぼ同一である部分については、重複する説明を省略し、異なる部分のみを説明する。実施例2では、図5に示す第2の実施形態のデシメータ回路10B、または、第3の実施形態のデシメータ回路10Cにおいて、積和演算回路の数L=2、デシメーション比M=4、FIRフィルタのタップ数(次数)N=8である。
図7において、「CL」と「CM」は、第3の実施形態のデシメータ回路10Cを用いる場合に、係数メモリ2Cから並列して読み出される2つの係数の値である。第2の実施形態のデシメータ回路10Bを用いる場合には、「CL」と「CM」は意味がない。
また、「Ca」は、前段の積和演算回路(1−a又は1C−a)の乗算器に与えられる係数であり、「Cb」は、後段の積和演算回路(1−b又は1C−b)の乗算器に与えられる係数である。第3の実施形態のデシメータ回路10Cを用いる場合は、「Ca」と「Cb」は、「CL」と「CM」のうち、係数セレクタにより選択された値となる。
時刻t3までに前段の積和演算回路(1−a又は1C−a)によって累算された値da3は、後段の積和演算回路(1−b又は1C−b)に初期設定値として与えられ、時刻t4以降の累算に用いられる。同様に、時刻t7までに前段の積和演算回路によって累算された値da7は、後段の積和演算回路に初期設定値として与えられ、時刻t8以降の累算に用いられる。
[そのほかの実施形態]
第1乃至第3の実施形態において、乗算器11や加算器12はパイプライン構成にしてもよい。ただしこの場合、累算器15を初期化するタイミング制御信号enをパイプライン遅延の分だけ遅らせる必要がある。
第1乃至第3の実施形態において、乗算器11や加算器12はパイプライン構成にしてもよい。ただしこの場合、累算器15を初期化するタイミング制御信号enをパイプライン遅延の分だけ遅らせる必要がある。
本発明の全開示(特許請求の範囲及び図面を含む)の枠内において、さらにその基本的技術思想に基づいて、実施形態ないし実施例の変更・調整が可能である。また、本発明の特許請求の範囲の枠内において種々の開示要素の多様な組み合わせないし選択が可能である。すなわち、本発明は、特許請求の範囲及び図面を含む全開示、技術的思想にしたがって当業者であればなし得るであろう各種変形、修正を含むことは勿論である。
1−a、1−b、1−l、1C−a、1C−b:積和演算回路
2、2B、2C、32:係数メモリ
3、3B、3C、34:タイミング制御回路
4:ダウンレートコンバータ
10、10A、10B、10C:デシメータ回路
11、331:乗算器
12、24、332:加算器
13、333:レジスタ
14:セレクタ
15:累算器
16:係数セレクタ
21:遅延素子
22:ダウンサンプラ
23:フィルタ
31:バッファメモリ
33:演算装置
In:デジタル信号入力端子
Xi:入力デジタル信号
Cj、CN/2+j、CN/L+j、CN*(L−1)/L+j、CL、CM:(タップ)係数
ADR:アドレス信号
en、en1、en2:タイミング制御信号
2、2B、2C、32:係数メモリ
3、3B、3C、34:タイミング制御回路
4:ダウンレートコンバータ
10、10A、10B、10C:デシメータ回路
11、331:乗算器
12、24、332:加算器
13、333:レジスタ
14:セレクタ
15:累算器
16:係数セレクタ
21:遅延素子
22:ダウンサンプラ
23:フィルタ
31:バッファメモリ
33:演算装置
In:デジタル信号入力端子
Xi:入力デジタル信号
Cj、CN/2+j、CN/L+j、CN*(L−1)/L+j、CL、CM:(タップ)係数
ADR:アドレス信号
en、en1、en2:タイミング制御信号
Claims (9)
- 複数の積和演算回路と、前記複数の積和演算回路に対してそれぞれ積演算の係数を与える係数メモリと、を備え、
前記複数の積和演算回路は、それぞれ、入力デジタル信号のサンプリング周期で動作し、前記入力デジタル信号と前記係数メモリから読み出した係数とを乗算する乗算器と、前記乗算器の演算結果を累算する累算器と、を備え、前記複数の積和演算回路にそれぞれ含まれる累算器は、互いに縦続接続され、それぞれM回(Mは2以上の整数)累算を行う毎に、初段に接続された累算器は固定値に、初段以外の累算器は前段に接続された累算器の出力信号により初期設定され、最終段の累算器の出力信号により前記入力デジタル信号のサンプリング周期をM倍に間引いた出力信号を得ることを特徴とするデシメータ回路。 - 前記累算器は、レジスタと、初期設定値と前記レジスタの出力信号とを入力しタイミング制御信号によりいずれかを選択して出力するセレクタと、前記セレクタの出力信号と前記乗算器との出力信号とを加算する加算器と、を備え、前記レジスタに前記加算器の加算結果を記憶することを特徴とする請求項1記載のデシメータ回路。
- 前記入力デジタル信号のサンプリング周期に合わせて係数メモリに対する係数の読み出しを制御すると共に、前記タイミング制御信号を生成するタイミング制御回路をさらに備えることを特徴とする請求項2記載のデシメータ回路。
- 前記最終段の累算器の出力信号を保持し、前記M回累算を行う毎に更新するダウンレートコンバータをさらに備えることを特徴とする請求項1乃至3いずれか1項記載のデシメータ回路。
- 前記縦続接続された複数の積和演算回路の数をL(Lは、2以上の整数)としたときに、前記L個の縦続接続された積和演算回路が、L*M次のFIR(Finite impulse response)フィルタとしてデシメーションフィルタの機能を果たすデシメータ回路であって、
さらにLが偶数であり、FIRフィルタのL*M個のタップを時系列で並べたときに、kを0以上かつ(L/2)*M未満の任意の整数として(L/2)*M−k番目のタップの係数値は、(L/2)*M+k+1番目のタップの係数値に等しく、前記係数メモリは、前記FIRフィルタの(L/2)*M−k番目のタップの係数と(L/2)*M+k+1番目のタップの係数とを共通の値として同一のアドレスに同一のデータとして記憶していることを特徴とする請求項1乃至4いずれか1項記載のデシメータ回路。 - 前記係数メモリは、前記L個の縦続接続された積和演算回路のうち、前段のL/2個の積和演算回路が用いる係数の読み出しと、後段の残りのL/2個の積和演算回路が用いる係数の読み出しと、を別々なアドレスを指定して同時に読み出すことのできるデュアルポートのメモリであることを特徴とする請求項5記載のデシメータ回路。
- 前記係数メモリはL個の係数データを並列に読み出し、前記L個の積和演算回路は、それぞれ前記係数メモリから読み出したL個の係数データのうち、対応する2個の係数データを入力し、そのうち選択した1個の係数データを乗算器の係数データとして与える係数セレクタをさらに備えていることを特徴とする請求項5記載のデシメータ回路。
- それぞれ、乗算器と、累算器と、を有し、前記累算器の入力と出力とが互いに縦続接続されている複数の積和演算回路を備え、入力デジタル信号のサンプリング周期をM倍(Mは2以上の整数)に間引いた出力信号を出力するデシメータ回路の演算方法であって、
前記複数の積和演算回路にそれぞれ含まれ、互いに縦続接続されている累算器のうち、初段の累算器を固定値により初期設定すると共に、前記初段以外の累算器を前段の累算器の出力値により初期設定する第1のステップと、
前記複数の積和演算回路に含まれる乗算器によりそれぞれ所定の係数と前記入力デジタル信号とを乗算し、前記乗算結果を累算器の初期設定値に加算する処理を前記入力デジタル信号のサンプリング周期に同期してM回繰り返す第2のステップと、
を備え、前記第1のステップと第2のステップとを前記間引いた出力信号の周期に合わせて繰り返し、前記第2のステップが終了する毎に、前記縦続接続された累算器のうち、最終段の累算器の出力値により、前記入力デジタル信号のサンプリング周期をM倍に間引いた出力信号を得ることを特徴とするデシメータ回路の演算方法。 - 前記複数の積和演算回路の数をL(Lは2以上の整数)とすると、前記L個の積和演算回路が、L*M次のFIR(Finite impulse response)フィルタとしてデシメーションフィルタの機能を果たすデシメータ回路であって、前記所定の係数は、前記L*M次のFIRフィルタの各タップの係数であることを特徴とする請求項8記載のデシメータ回路の演算方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010230859A JP2012085177A (ja) | 2010-10-13 | 2010-10-13 | デシメータ回路及びデシメータ回路の演算方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2010230859A JP2012085177A (ja) | 2010-10-13 | 2010-10-13 | デシメータ回路及びデシメータ回路の演算方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2012085177A true JP2012085177A (ja) | 2012-04-26 |
Family
ID=46243548
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2010230859A Pending JP2012085177A (ja) | 2010-10-13 | 2010-10-13 | デシメータ回路及びデシメータ回路の演算方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2012085177A (ja) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865311A (zh) * | 2020-07-27 | 2020-10-30 | 中国电子科技集团公司第三十六研究所 | 一种可变模小数变频并行信号处理装置及方法 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01293007A (ja) * | 1988-05-20 | 1989-11-27 | Nec Corp | 非巡回形ダウンサンプリングフィルタ |
JPH01319317A (ja) * | 1988-05-09 | 1989-12-25 | Tektronix Inc | デジタル・フィルタ |
JPH1155077A (ja) * | 1997-05-30 | 1999-02-26 | Commquest Technol Inc | ディジタル・フィルタ及びディジタル・フィルタ内で位相値およびロールオーバ信号を得る方法 |
JPH11163680A (ja) * | 1997-09-26 | 1999-06-18 | Lucent Technol Inc | フィルタの構造および方法 |
JP2010011493A (ja) * | 2009-10-09 | 2010-01-14 | Fujitsu Ltd | ディジタルフィルタ |
-
2010
- 2010-10-13 JP JP2010230859A patent/JP2012085177A/ja active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPH01319317A (ja) * | 1988-05-09 | 1989-12-25 | Tektronix Inc | デジタル・フィルタ |
JPH01293007A (ja) * | 1988-05-20 | 1989-11-27 | Nec Corp | 非巡回形ダウンサンプリングフィルタ |
JPH1155077A (ja) * | 1997-05-30 | 1999-02-26 | Commquest Technol Inc | ディジタル・フィルタ及びディジタル・フィルタ内で位相値およびロールオーバ信号を得る方法 |
JPH11163680A (ja) * | 1997-09-26 | 1999-06-18 | Lucent Technol Inc | フィルタの構造および方法 |
JP2010011493A (ja) * | 2009-10-09 | 2010-01-14 | Fujitsu Ltd | ディジタルフィルタ |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111865311A (zh) * | 2020-07-27 | 2020-10-30 | 中国电子科技集团公司第三十六研究所 | 一种可变模小数变频并行信号处理装置及方法 |
CN111865311B (zh) * | 2020-07-27 | 2024-04-09 | 中国电子科技集团公司第三十六研究所 | 一种可变模小数变频并行信号处理装置及方法 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US6260053B1 (en) | Efficient and scalable FIR filter architecture for decimation | |
US5696708A (en) | Digital filter with decimated frequency response | |
CN1819457B (zh) | 采样率转换器以及相应的方法 | |
US8131790B2 (en) | Decimation filter | |
JPH0340972B2 (ja) | ||
JP2006345508A (ja) | デジタル信号のサンプリング周波数を変換するための方法および装置 | |
JPH0828649B2 (ja) | ディジタルフィルタ | |
JP3066241B2 (ja) | ディジタルフィルタ及び同ディジタルフィルタを用いたオーバサンプリング型アナログ/ディジタル変換器 | |
JP2008021119A (ja) | デジタルフィルタおよびこれを用いた画像処理装置 | |
JP3210219B2 (ja) | 櫛形フィルタとそれを用いた送受信装置 | |
JPH04323910A (ja) | A/d,d/a変換装置 | |
JP2012085177A (ja) | デシメータ回路及びデシメータ回路の演算方法 | |
KR20050013180A (ko) | 디지털 필터의 설계 방법, 디지털 필터 설계용 프로그램,디지털 필터 | |
JP3322030B2 (ja) | サンプリングレート変換装置 | |
JP3097599B2 (ja) | ディジタルフィルタ | |
WO2005002051A1 (ja) | デジタルフィルタ | |
Zhu et al. | ASIC implementation architecture for pulse shaping FIR filters in 3G mobile communications | |
Mehra et al. | FPGA Based Design of High Performance Decimator using DALUT Algorithm | |
JP3258938B2 (ja) | デシメーションフィルタ | |
JPH05175785A (ja) | デシメーション用ディジタルフィルタ | |
Babic et al. | Decimation by non-integer factor in multistandard radio receivers | |
JP3243831B2 (ja) | Fir型フィルタ | |
Kumar et al. | Delay efficient generalized rational sampling rate conversion polyphase FIR filter | |
JP3172046B2 (ja) | サンプリングレートコンバータ | |
Gupta et al. | A survey on efficient rational sampling rate conversion algorithms |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A621 | Written request for application examination |
Free format text: JAPANESE INTERMEDIATE CODE: A621 Effective date: 20130808 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20140909 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20150508 |