(58)【調査した分野】(Int.Cl.,DB名)
L個(Lは2以上の整数)のビット列で表されたサーモメータコードからなるデジタル入力信号が入力され、命令信号にしたがって前記デジタル入力信号の論理値1のビットデータを有するビット位置を並び替えたL個のビット列からなるデジタル出力信号を生成する出力信号生成部と、
前記デジタル出力信号のビット位置に対応づけられたL個の積算値を演算する積算部と、
前記積算値に基づき前記命令信号を生成する命令信号生成部と、
を備え、
一つの変換信号に変換される複数の前記デジタル入力信号が変換サイクル毎に入力され、且つ前記デジタル入力信号が前記変換信号に寄与する度合いを表す重みが前記複数のデジタル入力信号毎に異なっており、
前記積算部は、前記デジタル出力信号が生成される毎に、当該デジタル出力信号の、前記論理値1のビットデータを有するビット位置に対応する前記積算値にのみ、当該デジタル出力信号に対応する前記デジタル入力信号の重みである対応重みを加算し、
前記命令信号生成部は、前記L個の積算値のうち、前記積算値がより小さいビット位置を検出し、検出された前記ビット位置に対応する前記デジタル出力信号のビット位置を優先して前記論理値1に設定する前記命令信号を生成するデータ加重平均化回路。
前記積算部は、前記デジタル出力信号において前記論理値1に設定されたビットの個数と前記デジタル出力信号に対応する前記対応重みとの乗算値を前記Lで割り算した商を積算平均値とし、前記デジタル出力信号に基づき前記積算値を更新した後、全ての前記積算値から前記積算平均値を減算し、
前記命令信号生成部は、前記積算平均値を減算した後の前記積算値をもとに前記命令信号を生成する請求項3に記載のデータ加重平均化回路。
前記積算部は、前記デジタル出力信号において前記論理値1に設定されたビットの個数と前記デジタル出力信号に対応する前記対応重みとの乗算値を前記Lで割り算した商を積算平均値とし、前記デジタル出力信号が生成される毎に、当該デジタル出力信号の、前記論理値1のビットデータを有するビット位置に対応する前記積算値には、当該デジタル出力信号に対応する前記対応重みから前記積算平均値を減算した減算結果を加算すると共に、他のビット位置に対応する前記積算値から前記積算平均値を減算し、
前記命令信号生成部は、前記積算部での前記加算後の前記積算値及び前記減算後の前記積算値をもとに、前記命令信号を生成する請求項3に記載のデータ加重平均化回路。
L個(Lは2以上の整数)のビット列で表されたサーモメータコードからなるデジタル入力信号の論理値1のビットデータを有するビット位置を、命令信号にしたがって並び替えたL個のビット列からなるデジタル出力信号を生成する出力信号生成ステップと、
前記デジタル出力信号のビット位置に対応づけられたL個の積算値を演算する積算ステップと、
前記積算値に基づき前記命令信号を生成する命令信号生成ステップと、
を備え、
一つの変換信号に変換される複数の前記デジタル入力信号が変換サイクル毎に入力され、且つ前記デジタル入力信号が前記変換信号に寄与する度合いを表す重みが前記複数のデジタル入力信号毎に異なっており、
前記積算ステップでは、前記デジタル出力信号が生成される毎に、当該デジタル出力信号の、前記論理値1のビットデータを有するビット位置に対応する前記積算値にのみ、当該デジタル出力信号に対応する前記デジタル入力信号の重みである対応重みを加算し、
前記命令信号生成ステップでは、前記L個の積算値のうち、前記積算値がより小さいビット位置を検出し、検出された前記ビット位置に対応する前記デジタル出力信号のビット位置を優先して前記論理値1に設定する前記命令信号を生成するデータ加重平均化方法。
前記積算ステップでは、前記デジタル出力信号において前記論理値1に設定されたビットの個数と前記デジタル出力信号に対応する前記対応重みとの乗算値を前記Lで割り算した商を積算平均値とし、前記デジタル出力信号に基づき前記積算値を更新した後、全ての前記積算値から前記積算平均値を減算し、
前記命令信号生成ステップでは、前記積算平均値を減算した後の前記積算値をもとに前記命令信号を生成する請求項8に記載のデータ加重平均化方法。
前記積算ステップでは、前記デジタル出力信号において前記論理値1に設定されたビットの個数と前記デジタル出力信号に対応する前記対応重みとの乗算値を前記Lで割り算した商を積算平均値とし、前記デジタル出力信号が生成される毎に、当該デジタル出力信号の、前記論理値1のビットデータを有するビット位置に対応する前記積算値には、当該デジタル出力信号に対応する前記対応重みから前記積算平均値を減算した減算結果を加算すると共に、他のビット位置に対応する前記積算値から前記積算平均値を減算し、
前記命令信号生成ステップでは、前記積算ステップでの前記加算後の前記積算値及び前記減算後の前記積算値をもとに、前記命令信号を生成する請求項8に記載のデータ加重平均化方法。
インクリメンタルデルタシグマAD変換器においてデジタル/アナログ変換動作を行う際に行われるデータ加重平均化処理に用いられる請求項8から請求項12のいずれか1項に記載のデータ加重平均化方法。
【背景技術】
【0002】
従来からアナログ信号をデジタル信号に変換するA/D(Analog/Digital)変換器が様々な機器(携帯電話、スマートフォン、オーディオ機器など)に使用されている。また、無線通信分野やオーディオ分野では、広い信号帯域で、かつ高い信号対雑音比をもつアナログデジタル変換器(AD変換器)が要求されている。特に、携帯機器に用いられるAD変換器には電力供給源のバッテリーの制約があるために低消費電力であることが求められるが、この用途としてデルタシグマ技術を用いたデルタシグマAD変換器が多く用いられている。
【0003】
一般的に、デルタシグマAD変換器は、1つ以上の積分器で構成されたループフィルタと、このループフィルタの出力をデジタル化して出力する量子化器と、この量子化器の出力信号をフィードバックするためのデジタルアナログ変換器(DA変換器)からなっている。
図1は、従来のインクリメンタルデルタシグマAD変換器を示すブロック図である。このインクリメンタルデルタシグマAD変換器は、サンプルホールド(SH)回路1とリセット信号発生器2とデルタシグマ変調器3とデジタル演算部4とを備えている(例えば、特許文献1参照)。
【0004】
入力信号AINは、サンプルホールド回路1によってあるタイミングの電圧がホールドされ、信号AIN’がデルタシグマ変調器3に入力される。デルタシグマ変調器3は、L(>=1)段のアナログ積分器12と、そのアナログ積分器12とデジタル演算部4内のデジタル積分器(図示せず)とを変換の最初にリセットするリセット信号発生器2と量子化器13とDAコンバータ(DAC)14と加算器11とで構成されている。
【0005】
図2は、
図1に示したサンプルホールド回路1とデルタシグマ変調器3の一例を示した回路構成図で、
図3(a)乃至(m)は、
図2における信号波形図である。
図2では、量子化レベルが1値である3次のデルタシグマ変調器を示したものであるが、これに限るものではなく、それぞれの値は自由に取りうる。
サンプルホールド回路1については、
図3(b)に示すトラッキングフェーズ(φt=H)にて、
図3(i)に示す入力信号AIN=AINP−AINNに応じた電荷をCsp及びCsnにて蓄え、
図3(c)に示すφhの立ち上がりにてAMP0を用いてChp及びChnに転送する。トラッキングフェーズ(φt=H)の初期段階では、
図3(a)に示すφrsh=HにてChp及びChnの電荷をリセットする。また、トラッキングフェーズ(φt=H)では、
図3(d)に示すφr=HにてCi1p,Ci1n,Ci2p,Ci2n及びCi3p,Ci3nの電荷をリセットする。
【0006】
転送した電荷をコンバージョンフェーズの間保持する(φh=H)ことにより、デルタシグマ変調器3の入力AIN’=AINP’−AINN’を一定に保つ。
デルタシグマ変調器3については、第1のアナログ積分器311は、
図3(j)に示す信号AIN’に応じた電荷を
図3(e)に示すφsの立ち上がりにてCs1p及びCs1nに蓄えるスイッチトキャパシタ部と、
図3(l)に示すREFP、
図3(m)に示すREFNを用いてフィードバック信号に応じた電荷をφsの立ち上がりにてCfbp及びCfbnに蓄えるSCDAC部(DAコンバータ),AMP1,Ci1p及びCi1nからなり、これらを第1のAMP311aを用いて
図3(f)に示すφiの立ち上がりにてCi1p及びCi1nに転送する。
【0007】
第2のアナログ積分器312、第3のアナログ積分器313についても同様にCs2p,Cs2nの電荷をCi2p,Ci2nに、Cs3p,Cs3nの電荷をCi3p,Ci3nにそれぞれ第2のAMP312a,第3のAMP313aを用いてφiの立ち上がりにて転送することで各段での積分を行う。
ここで、第1のアナログ積分器311は、加算器も兼ねている。すなわち、AIN’信号とフィードバック信号との加算は、第1のアナログ積分器311の第1のAMP311aのサミングノードにおいて、量子化器32の出力である
図3(k)に示すMODOに応じた
図3(g)に示す信号φip及び
図3(h)に示す信号φinにて信号経路を直接結合することによって実現される。例えば、量子化器32の出力MODOがLのとき信号φipにて信号経路を結合し、量子化器32の出力MODOがHのとき信号φinにて信号経路を結合する。
【0008】
量子化器32については、AIN’信号をC0ffp,C0ffnに、第1のアナログ積分器311の出力INT1Oに応じた電荷をC1ffp,C1ffnに、第2のアナログ積分器312の出力INT2Oに応じた電荷をC2ffp,C2ffnに、第3のアナログ積分器313の出力INT3Oに応じた電荷をC3ffp,C3ffnにφiの立ち上がりにてそれぞれ蓄えるスイッチトキャパシタ部と、各電荷の加算を行う加算部と、加算した信号SUMPとSUMNを比較する比較部とからなる。各電荷の加算は、各スイッチトキャパシタ部の出力の信号経路を直接結合することによって実現される。
【0009】
量子化器32の出力MODOは、デルタシグマ変調器3の出力となると同時に初段アナログ積分器311にフィードバックされる。量子化器32の出力MODOをデジタル演算器(図示せず)がデジタル演算(積分)し、デジタル出力DOUTを得る。
サンプルホールド回路1がある時刻の入力信号AINに応じた電荷を保持し、デルタシグマ変調器3が一定に保たれた入力AIN’に対し所定のオーバーサンプリング比により動作した後、第1のアナログ積分器311と第2のアナログ積分器312と第3のアナログ積分器313及びデジタル演算部4内のデジタル積分器(図示せず)は、リセット信号発生器2によりφr=Hにてリセットされる。例えば、第1のアナログ積分器311では、φr=Hにてアンプの入出力をショートしCi1p,Ci1nの電荷を0としてリセットを行う。
【0010】
φrsh=Hによるリセット後、サンプルホールド回路1は、次の時刻の入力信号AIN=AINP−AINNに応じた電荷をCsp及びCsnにて蓄え、各回路は上述した動作を順次繰り返す。
ところで、このような構成を有するインクリメンタルデルタシグマAD変換器においては、量子化器13の出力信号をフィードバックするためのDAコンバータ14を備えている。このため、DAコンバータ14を構成する複数のDA変換素子間の特性のばらつきによって不具合が生じ、結果的に、インクリメンタルデルタシグマAD変換器におけるAD変換結果に高調波の歪みを発生させてしまう等の可能性がある。これを回避するために、複数のDA変換素子を順番に選択することにより、各DA変換素子の使用回数を平均化する、データ加重平均化回路(以後、DWA(Data Weight Averaging)回路ともいう。)を設けることが知られている(例えば、特許文献2参照)。
【0011】
DWA回路は、例えば
図4に示すように、
図1に示すインクリメンタルデルタシグマAD変換器において、DAコンバータ14の入力側に設けられる。DWA回路15は、量子化器13からの量子化器出力MODOを入力し、量子化器出力MODOに基づいて、DAコンバータ14に含まれる複数のDA変換素子のうちのいずれかを選択するための信号を生成する。DAコンバータ14では、この生成された信号に基づいて、DA変換素子が順に選択される。
【0012】
図5は、DWA回路15の一例を示すブロック図である。
図5に示すDWA回路15は、ビットシフタ41とポインタ発生器42とを備える。
ビットシフタ41及びポインタ発生器42に入力される量子化器出力MODOは、
図4に示すように、インクリメンタルデルタシグマAD変換器に含まれる、量子化器13のデジタル出力信号であって、サーモメータコードで表現される。
【0013】
ここで、サーモメータコードとは、論理値0と論理値1の2値を用い、連続する論理値1の個数によりデータ値を表現したコードのことをいう。サーモメータコードによる表現では、論理値1のビット又は論理値1のビット列が、あるビットから論理値0のビット又は論理値1のビット列に切り替わる。例えば、10進数で表現された「3」は、7ビットのバイナリコードでは「0000011」と表現される。10進数で表現された「3」をサーモメータコードで表現すると、「0000111」となる。
【0014】
ビットシフタ41は、量子化器出力MODOを表すL個のビット列からなるL値のデジタル出力信号において、ポインタDpに基づき、論理値1を有するビットをソートし直す機能を有する。つまり、ポインタDpが示す、量子化器出力MODOのビット列における初期位置に該当するビットを基準として論理値1を有する1又は複数のビット列が形成されるように、ビット位置をずらし、L個のビット列からなるL値の平均化回路出力DWAOを出力する。
【0015】
ポインタ発生器42は、量子化器出力MODOが示すデータ値Dth(10進数表示)の大きさに応じて、サーモメータコードをなすL個のビット列のうちの、初期位置となるビットを示すポインタDp(10進数表示)を更新する機能を有する。
ポインタ発生器42により更新されたポインタDpは、
図4に示すインクリメンタルデルタシグマAD変換器のDAコンバータ14と同じ周波数で動作するクロック信号CLKで同期化され、次に入力される量子化器出力MODOにおける初期位置を表すポインタDpとなる。
【0016】
図6は、
図5に示すDWA回路15の動作を説明するための信号の流れを示す説明図である。
図6に示すように、データ値Dthをサーモメータコードで表した量子化器出力MODOは、ポインタDpとともにビットシフタ41に入力され、量子化器出力MODOは、ビットシフタ41でソートされて、L個のビット列からなるL値の平均化回路出力DWAOとして出力される。
【0017】
同時に、データ値Dthはポインタ発生器42に入力され、ポインタ発生器42は、データ値Dthに基づきポインタDpを更新する。
図7は、DWA回路15のビットシフタ41及びポインタ発生器42における処理手順の一例を示すフローチャートである。
ビットシフタ41には、量子化器出力MODOと、ポインタ発生器42からのポインタDpとが入力される。
【0018】
ビットシフタ41では、まず、ポインタDpとデータ値Dthとの和が、量子化器出力MODOのビット数を表すLよりも大きいか否か(Dp+Dth>L)を判定する(ステップS1)。
Dp+Dth>Lを満足しない場合には、ステップS2に移行し、1〜LまでのL個のビット列からなる平均化回路出力DWAOにおいて、Dp<k≦(Dp+Dth)を満足するk番目のビットについては、ビットデータとして論理値1を設定し(ステップS3)、Dp<k≦(Dp+Dth)を満足しない他のビットについてはビットデータとして論理値0を設定する(ステップS4)。
【0019】
一方、ステップS1でDp+Dth>Lを満足する場合にはステップS5に移行し、k>Dp、又は、k≦Dp+Dth−Lを満足するk番目のビットについては、ビットデータとして論理値1を設定し(ステップS6)、k>Dp、又は、k≦Dp+Dth−Lを満足しない他のビットについては、ビットデータとして論理値0を設定する(ステップS7)。そして、このようにして設定されたビットデータを有するL値のデジタル信号であるDWAO(L)を、平均化回路出力DWAOとして出力する(ステップS8)。
【0020】
なお、
図7中の、DWAO(k)は、平均化回路出力DWAOにおけるk番目のビットのビットデータを表す。
これにより、L値のサーモメータコードからなる量子化器出力MODOにおいて、論理値1と論理値0の個数を変えずに、ポインタDpで指定されるビット数分だけ、論理値1のビット位置を移動させたデジタル信号を得ることができる。すなわち、量子化器出力MODOにおいて、ポインタDpで指定されるビット数分だけビットシフトされた、平均化回路出力DWAOを得ることができる。
【0021】
一方、ポインタ発生器42には、量子化器出力MODOが入力される。
ポインタ発生器42では、まず、量子化器出力MODOを表すサーモメータコードを、2の補数コード(2′s comp.)に変換し、D2cとして出力する(ステップS11)。
この2の補数コード(2′s comp.)で表されるD2cが表す10進数表示の値を「データ値D2c(10進数表示)」と表すものとすると、データ値D2c(10進数表示)と、ポインタDpをクロック信号CLKで1クロックだけ遅延させたDp_Dとの和をとることで、新しいポインタの元となる中間値Dp′を算出する(Dp′=D2c+Dp_D)(ステップS12)。
【0022】
この中間値Dp′が量子化器出力MODOのビット数を表すLより小さい場合には(ステップS13)、中間値Dp′がそのまま新たなポインタDpとなる(Dp=Dp′)(ステップS14)。中間値Dp′が量子化器出力MODOのビット数を表すL以上である場合には、中間値Dp′からLを減算した値が新たなポインタDpとなる(Dp=Dp′−L)(ステップS15)。
【0023】
算出されたポインタDpは、コンバージョンステップ(Conversion Step)jがオーバーサンプリング比mに達すると(ステップS16)、一旦初期化されて初期位置として例えば“0”に更新され(ステップS17)、それ以外の時はそのままポインタの値として「Dp」が出力される。
なお、オーバーサンプリング比mは、
図4に示すインクリメンタルデルタシグマAD変換器に含まれるデルタシグマ変調器3におけるオーバーサンプリング比を表す。また、コンバージョンステップjは、量子化器出力MODOの入力サイクルを表す。コンバージョンステップjは、1からm(mはオーバーサンプリング比)までの値をとる。
図4のインクリメンタルデルタシグマAD変換器では、サンプルホールド回路1でホールドされたあるタイミングにおける電圧信号AIN′に対して、1からmのコンバージョンステップjを一つの変換サイクルとして、A/D変換を行う。1からmの各コンバージョンステップjにおける各量子化器出力MODOをデジタル積分した値が、サンプルホールドされた電圧信号AIN′のデジタル変換値となる。
【0024】
図8は、
図5〜
図7で説明したDWA回路15が、
図1及び
図2で示したようなインクリメンタルデルタシグマAD変換器ではなく、各コンバージョンステップjで重みが均等な回路で使用された場合、例えば、一般的なデルタシグマAD変換器等で使用された場合の具体的な入出力結果の一例を示したものである。
なお、ここでいう重みとは、1からmのコンバージョンステップjそれぞれで演算される量子化器出力MODOが、1からmのコンバージョンステップjを含む1つの変換サイクルで得られるデジタル変換値に寄与する度合いを表す。
【0025】
図1及び
図2で示したインクリメンタルデルタシグマAD変換器は、
図1に示すように、量子化器出力MODOに対し、デジタル演算部4により、アナログ積分器による演算処理と同様の演算である累積加算を行う処理を実行するため、量子化器出力MODOが最終出力結果すなわちデジタル変換値に及ぼす重みがコンバージョンステップ毎に異なるという特徴があり、各コンバージョンステップにおける量子化器出力MODOの重みは、コンバージョンステップjが進むほど小さくなる。
【0026】
インクリメンタルデルタシグマAD変換器のような、入力信号をサンプルホールドする構成を有していない一般的なデルタシグマAD変換器は、各コンバージョンステップにおける量子化器出力MODOの重みは、コンバージョンステップ間で同一となる。
図8は、オーバーサンプリング比mがm=8、量子化器13での量子化レベルLがL=7である場合に、適当な値の量子化器出力MODOが入力された場合の、DWA回路15における各種信号のデータの一例を示す。なお、各種信号はこれに限るものではなく、それぞれの値は自由に取りうる。
【0027】
図8は、各コンバージョンステップj(j=1〜m)における、L値のサーモメータコードで表される量子化器出力MODO、データ値D2c(10進数表示)、ポインタDp、L値のデジタル信号からなる平均化回路出力DWAO、重みWeightを表す。なお、
図8において、各コンバージョンステップにおける平均化回路出力DWAOの各ビットについてそのビットデータが論理値1であるときの重みWeightをビット毎に1変換サイクルにわたって積算した値を、合計値(Total)として表し、ビット毎の合計値(Total)の標準偏差をσとして表す。
【0028】
図8において、コンバージョンステップj=1では、この時点ではポインタは初期化されているためDp=0となり、サーモメータコードで表される量子化器出力MODOは、「0001111」であり、“1”が4つであるため、データ値Dth=4となる。そのため、Dp+Dth=0+4=4となり、L=7であるため、Dp+Dth>Lを満足しない。よって、Dp<k≦Dp+Dthを満足する、k=1〜4に対応するビットのビットデータが論理値1となり、それ以外のビットは論理値0となる。
【0029】
また、サーモメータコードで表される量子化器出力MODOは、「0001111」であるため、D2c(10進数表示)=4となり、Dp′=D2c+Dp_D=4+0=4となり、Dp′≧Lを満足しないため、Dp=Dp′=4となり、ポインタDpが“4”に更新される。
コンバージョンステップj=2では、ポインタDpが更新されてDp=4である。また、量子化器出力MODOはサーモメータコードで「0000111」であり、Dth=3となるため、Dp+Dth=4+3=7となり、Dp+Dth>Lを満足しないことから、Dp<k≦Dp+Dthを満足する、k=5〜7に対応するビットのビットデータが論理値1となり、それ以外のビットは論理値0となる。
【0030】
また、量子化器出力MODOはサーモメータコードで「0000111」であるため、D2c(10進数表示)=3となり、Dp′=D2c+Dp_D=3+4=7となり、Dp′≧Lを満足するため、Dp=Dp′−L=0となり、ポインタDpが“0”に更新される。
コンバージョンステップj=3では、ポインタDpが更新されてDp=0である。また、量子化器出力MODOはサーモメータコードで「0000001」であり、Dth=1となるため、Dp+Dth=0+1=1となり、Dp+Dth>Lを満足しないことから、Dp<k≦Dp+Dthを満足する、k=1に対応するビットのビットデータが論理値1となり、それ以外のビットは論理値0となる。
【0031】
また、量子化器出力MODOはサーモメータコードで「0000001」であるため、D2c(10進数表示)=1となり、Dp′=D2c+Dp_D=1+0=1となり、Dp′≧Lを満足しないため、Dp=Dp′=1となり、ポインタDpが“1”に更新される。
以下、このシーケンスを繰り返すことにより、
図8に示すように各コンバージョンステップにおける平均化回路出力DWAOの各ビットデータが確定する。
【0032】
そして、コンバージョンステップj=8では、量子化器出力MODOはサーモメータコードで「0000001」であるため、D2c(10進数表示)=1となり、Dp′=D2c+Dp_D=1+0=1となる。Dp′≧Lを満足しないため、Dp=Dp′=1となるが、j=8であり、オーバーサンプリング比m(=8)に達するため、ポインタDpは初期化されて“0”に更新される。そのため、次の、コンバージョンステップj=1では、ポインタDp=0として処理が行われる。
【0033】
このようなシーケンスで動作するDWA回路15は、
図1及び
図2で示したようなインクリメンタルデルタシグマAD変換器ではなく、各コンバージョンステップで重みが均等な回路、例えば、デルタシグマAD変換器等で使用された場合、コンバージョンステップ毎に重みを数値化して「1」に規格化すると、
図8に示すように、8回のコンバージョンステップでは、1回に付き重みWeightはWeight=1/8=0.125となる。
【0034】
ここで、
図8に示す平均化回路出力DWAOの各列、すなわち平均化回路出力DWAOの各ビットに着目すると、コンバージョンステップ1〜8、すなわち1変換サイクルにおいて、それぞれ論理値1が3回、論理値0が5回設定されており、DWA回路15により、論理値0と論理値1とを均等に繰り返すように、ビットデータが設定されていることがわかる。
【0035】
各ビットについて、ビットデータが論理値1であるときの重みWeightを足し合わせると、0.125×3=0.375となり、各列のコンバージョンステップ1〜8における重みWeightの合計値はビット間で等しくなり、標準偏差σは“0”となる。
ここで、例えば、DWA回路15の出力をスイッチトキャパシタDA変換器の入力として使用した場合、平均化回路出力DWAOにおいて、ビットデータが論理値1であるビットに対応づけられたキャパシタ(CAP)がオンとなり、ビットデータが論理値0であるビットに対応づけられたキャパシタ(CAP)がオフとなるように動作する。
【0036】
このとき、各列の重みWeightが等しいということは、各列に対応づけられた7個のキャパシタが均等にオンとなることと等価であり、すなわちスイッチトキャパシタDA変換器の出力は、キャパシタの特性のばらつきの影響を受けないことを意味する。
【発明を実施するための形態】
【0051】
以下の詳細な説明では、本発明の実施形態の完全な理解を提供するように多くの特定の具体的な構成について記載されている。しかしながら、このような特定の具体的な構成に限定されることなく他の実施態様が実施できることは明らかであろう。また、以下の実施形態は、特許請求の範囲に係る発明を限定するものではなく、実施形態で説明されている特徴的な構成の組み合わせの全てを含むものである。
【0052】
以下、図面を参照して本発明の一実施形態について説明する。
ここでは、本発明に係るDWA回路15を、
図4に示すように、インクリメンタルデルタシグマAD変換器に適用した場合について説明する。
まず、本発明の第1実施形態を説明する。
図10は、本発明の一実施形態におけるDWA回路15の一例を示すブロック図である。
【0053】
DWA回路15は、
図10に示すように、出力信号生成部51と、積算部52と、命令信号生成部53と、遅延処理部54と、を備える。DWA回路15は、例えば演算処理装置などで構成される。
出力信号生成部51には、
図4に示す、量子化器13からの量子化器出力MODOと、遅延処理部54で遅延された、命令信号生成部53からの命令信号Order_Dとが入力され、L個のビット列からなるL値のデジタル信号である量子化器出力MODOを、命令信号Order_Dにしたがってソートし直して、L個のビット列からなるL値のデジタル信号を生成し、これを平均化回路出力DWAOとして出力する。
【0054】
積算部52は、出力信号生成部51から出力される平均化回路出力DWAOを入力し、平均化回路出力DWAOの各ビット位置に対応する積算値を演算する。すなわち、平均化回路出力DWAOの各ビット位置のうち、論理値1が設定されたビット位置については、このビット位置に対応する積算値に、コンバージョンステップに応じた重みWeightを積算し、論理値0が設定されたビット位置については、重みWeightを積算しない。この操作をコンバージョンステップj=1〜mまで繰り返し行うことにより、平均化回路出力DWAOのビット位置毎に、重み積算値Sumを演算する。
【0055】
命令信号生成部53は、積算部52から出力された重み積算値Sumに基づき、量子化器出力MODOを表すL値のデジタル信号において1番目からL番目までのL個のビット位置のうち、そのビットデータを論理値1とするビット位置の優先順を示す命令信号Orderを生成する。この命令信号Orderは、1〜Lまでの整数からなるL個の命令値からなり、L個の命令値は重複しない。L個の命令値のそれぞれは、量子化器出力MODOの1からLのビット位置それぞれに対応づけられており、平均化回路出力DWAOの各ビット位置に論理値1を設定する優先順を表す。例えば、命令信号Orderが「4、2、5、1、3、6、7」である場合には、1番目のビット位置の命令値は「4」、2番目のビット位置の命令値は「2」、…、6番目のビット位置の命令値は「6」、7番目のビット位置の命令値は「7」となるため、1番目のビット位置が論理値1に設定される優先順は4位、2番目のビット位置が論理値1に設定される優先順は2位となる。
【0056】
遅延処理部54は、命令信号生成部53で生成した命令信号Orerを、
図4に示すインクリメンタルデルタシグマAD変換器と同じ周波数で動作するクロック信号で同期化し、次に入力される量子化器出力MODOに対する命令信号Order_Dとして、出力信号生成部51に出力する。
図11は、
図10に示すDWA回路15の動作を説明するための信号の流れを示す説明図である。
【0057】
図11に示すように、データ値Dthをサーモメータコードで表した量子化器出力MODOは、命令信号Order_Dと共に出力信号生成部51に入力され、命令信号Order_Dにしたがって、出力信号生成部51でソートされて、L個のビット列からなるL値の平均化回路出力DWAOとして出力される。
また、出力信号生成部51から出力される平均化回路出力DWAOは、積算部52に入力され、積算部52では、平均化回路出力DWAOのビットデータに応じて重みWeightを積算し、重み積算値Sumを演算する。
【0058】
この重み積算値Sumに応じて命令信号生成部53において、命令信号Orderを生成し、遅延処理部54において、
図4に示すインクリメンタルデルタシグマAD変換器と同じ周波数で動作するクロック信号で同期化し、次の平均化回路出力DWAOを決定するための命令信号Order_Dを生成する。
図12は、DWA回路15の各部における処理手順の一例を示すフローチャートである。なお、データ値Dthは0≦Dth≦Lを満足する値である。
【0059】
図12に示すように、出力信号生成部51には、量子化器出力MODOと命令信号Order_Dとが入力される。命令信号Order_Dは、前述のように、1〜Lまでの整数からなるL個の命令値からなる。
出力信号生成部51では、命令信号Order_Dに含まれるL個の命令値のそれぞれと量子化器出力MODOのデータ値Dthとを順に比較し(ステップS101)、命令信号Order_Dにおいて、k番目のビット位置に対応する命令値がデータ値Dth以下であるときには、平均化回路出力DWAOのk番目のビット位置を論理値1に設定し(ステップS102)、k番目の命令値がデータ値Dth以下でないときには、平均化回路出力DWAOのk番目のビット位置を論理値0に設定する(ステップS103)。そして、このようにして各ビット位置に、論理値1または論理値0が設定された平均化回路出力DWAOを出力する(ステップS104)。
【0060】
命令信号Order_DをなすL個の命令値は、それぞれ1からLまで割り振られているため、上記のシーケンスにより、L個のビット列からなる量子化器出力MODOにおいて、論理値1と論理値0の個数を変えることなく、これらを並び替えることが可能となる。
例えば、量子化器出力MODOが「0001111」であり、命令信号Order_DがL(L=7)個の命令値を含み、k=1番目から順にその数値が「4、2、5、1、3、6、7」であるとする。量子化器出力MODOのデータ値Dthは「4」であるため、データ値Dthと命令信号Order_Dとを比較することにより生成される2値のビット列からなるデジタル信号は、「1、1、0、1、1、0、0」となり、論理値1の個数と論理値0の個数は変わらないまま、論理値1となるビットの位置が並び替えられ、このデジタル信号が、平均化回路出力DWAOとして出力される。
【0061】
積算部52には、平均化回路出力DWAOが入力される。そして、平均化回路出力DWAOのL値のビット位置毎に、重み積算値Sumが演算される。平均化回路出力DWAOにおいて、k番目のビット位置の重み積算値をSum(k)としたとき、k番目のビット位置のビットデータが論理値1の場合には、Sum(k)=Sum(k)+Weightに更新される(ステップS111)。k番目のビット位置のビットデータが論理値0の場合には、重み積算値Sum(k)は更新されない。ここで、重みWeightは、前述のように、コンバージョンステップによって異なる値であって、次式(2)に基づいて演算される。
【0062】
なお、(2)式中のConst.は、値を必要なデジタルbit数にするための一定値、Lは量子化器出力MODOのビット数を表すL値、mはオーバーサンプリング比、jは、各コンバージョンステップを表す。また、(2)式の分子は、(m−b)においてbを1からj−1まで変化させたときの総乗の演算結果にLを乗算することを表し、(2)式の分母は、(m+L−a)においてaを1からjまで変化させたときの総乗を演算することを表す。
【0064】
重みWeightは、予めテーブルとして所定の記憶領域に記憶されておいてもよく、また、デジタル演算によりその都度演算するようにしてもよい。
算出された重み積算値Sum(k)は、コンバージョンステップjがオーバーサンプリング比mに達すると(ステップS112)、一旦初期化されてSum(k)=0に更新される(ステップS113)。コンバージョンステップjがオーバーサンプリング比mに達していないときには、ステップS111で演算された重み積算値Sum(k)の値が、そのままコンバージョンステップjにおける重み積算値として出力される。
【0065】
積算部52で演算された、平均化回路出力DWAOの各ビット位置に対応する重み積算値Sum(k)は、命令信号生成部53に入力される。
命令信号生成部53では、各ビット位置に対応する重み積算値Sum(k)を、昇順に並び替え、重み積算値Sum(k)が最小となるものから順に、1番からL番まで昇順に応じた命令値pを割りつける。
【0066】
そして、平均化回路出力DWAOの各ビット位置kに対応する命令値pからなる数値列を、命令信号Order_Dとする(ステップS121)。例えば、各ビット位置における重み積算値Sum(k)(k=1〜L)が、Sum(k=4)<Sum(k=2)<Sum(k=5)<Sum(k=1)<Sum(k=3)<Sum(k=6)<Sum(k=7)を満足するときには、平均化回路出力DWAOの1番目のビット位置に対応する重み積算値Sum(k=1)は昇順で4位、2番目のビット位置に対応する重み積算値Sum(k=2)は昇順で2位、3番目のビット位置に対応する重み積算値Sum(k=3)は昇順で5位、4番目のビット位置に対応する重み積算値Sum(k=4)は昇順で1位、5番目のビット位置に対応する重み積算値Sum(k=5)は昇順で3位、6番目のビット位置に対応する重み積算値Sum(k=6)は昇順で6位、7番目のビット位置に対応する重み積算値Sum(k=7)は昇順で7位となるため、命令信号Order_Dは、1番目のビット位置に対応する命令値から順に並んだ、「4、2、5、1、3、6、7」となる。
【0067】
なお、命令信号生成部53での昇順への並び替え処理は、どのようなアルゴリズムであっても適用することができる。例えば、一般的にはバブルソート、バケットソート、基数ソート、ヒープソート、マージソート、クイックソートなどのアルゴリズムを適用することができる。
命令信号生成部53で生成された命令信号Order_Dは、遅延処理部54に入力される。
【0068】
なお、命令信号生成部53では、重み積算値Sum(k)が同一値である場合には、例えば、ビット位置を表すkが大きいほど、重み積算値Sum(k)の並びが後となるように昇順に並べる。
遅延処理部54は、命令信号Order_Dに対し、
図4のインクリメンタルデルタシグマAD変換器と同じ周波数で動作するCLKで同期化して1CLK遅延させ、これを次のコンバージョンステップにおける命令信号Order_Dとして出力信号生成部51に出力する(ステップS131)。
【0069】
以上の動作を繰り返すことで、各コンバージョンステップにおいて、重み積算値Sum(k)の小さいビット位置から順にそのビットデータが論理値1となるように、平均化回路出力DWAOの各ビット位置のビットデータが決定される。そのため、1変換サイクルが終了した時点での各ビット位置の重み積算値Sum(k)が均等になるように、各コンバージョンステップにおいて論理値1となるビット位置が決定されることになる。
【0070】
その結果、1変換サイクルにおける、各ビット位置の重み積算値Sum(k)がより均等となる。したがって、前述のように、各ビット位置に対応づけられた例えばキャパシタ(CAP)がより均等にONするように制御されることになり、すなわち、コンバージョンステップにおいて重みが異なることによって生じる、DWAO回路15におけるデータ平均化処理による効果の低減を抑制することができる。
【0071】
図13は、
図12に示す処理を行うDWA回路15を備えた、
図4に示す、重みWeightがコンバージョンステップ毎に異なるインクリメンタルデルタシグマAD変換器における、DWA回路15の各種信号の入出力結果の一例を示したものである。
図13は、オーバーサンプリング比mがm=8、量子化レベルLがL=7である場合に、適当な値の量子化器出力MODOが入力された場合を示したものである。なお、各種信号はこれに限るものではなく、それぞれの値は自由に取りうる。
【0072】
図13(a)は、各コンバージョンステップj(j=1〜m)であるときの、L値のサーモメータコードで表される量子化器出力MODO、データ値D2c(10進数表示)、L値のデジタル信号からなる平均化回路出力DWAO、重みWeightを表す。
また、
図13(a)において、各コンバージョンステップにおける平均化回路出力DWAOの各ビット位置についてそのビットデータが論理値1であるときの重みWeightをビット位置毎に加算した値、すなわち、1変換サイクルにおける重み積算値Sum(k)を合計値(Total)として表し、そのときのビット位置毎の重み積算値Sum(k)の標準偏差をσとして表す。
【0073】
図13(b)は、各コンバージョンステップj(j=1〜m)であるときの、L値のデジタル信号からなる平均化回路出力DWAOの各ビット位置に対応する重み積算値Sum(k)と、命令信号Order_Dと、重みWeightと、を表す。
また、初期状態及び初期化されたときの重み積算値Sum(k)及び命令信号Order_Dを、コンバージョンステップj=0として表す。
【0074】
図13において、初期状態では、命令信号Order_D及び重み積算値Sum(k)は、コンバージョンステップj=0の場合に示すように、初期化されているため、k=1〜7の各ビット位置に対応する重み積算値Sum(k)は「0」、命令信号Order_Dは、k=1から順に「1、2、3、4、5、6、7」となる。
コンバージョンステップj=1におけるサーモメータコードで表される量子化器出力MODOは「0001111」であり、「1」が4つであるため、データ値Dth=4となる。
図12のフローチャートにしたがって処理が行われると、出力信号生成部51で、命令信号Order_Dとデータ値Dth(=4)とが比較され、k=1から順に、平均化回路出力DWAOの各ビット位置のビットデータは、「1、1、1、1、0、0、0」となり、「1111000」からなるデジタル信号が平均化回路出力DWAOとして出力される。
【0075】
積算部52では、コンバージョンステップj=1における平均化回路出力DWAOを入力し、論理値1が設定されているビット位置について、重み積算値Sum(k)を更新する。ここで、コンバージョンステップj=1での重みWeightは0.300であり、1番目から4番目のビット位置が論理値1に設定されているため、k=1〜4の重み積算値Sum(k)が「0.300」となり、k=5〜7の重み積算値Sum(k)は「0.000」のままとなる。
【0076】
コンバージョンステップj=1における各ビット位置に対応する重み積算値Sum(k)は、命令信号生成部53で昇順に命令値pが対応づけられ、重み積算値Sum(k)=0.000である、k=5〜7番目のビット位置に、ビット位置kの昇順に、命令値p=1〜3が対応づけられる。重み積算値Sum(k)=0.300である、k=1〜4番目のビット位置に、ビット位置kの昇順に、命令値p=4〜7が対応づけられる。その結果、
図13(b)に示すように、命令信号Order_Dは、「4、5、6、7、1、2、3」となる。
【0077】
コンバージョンステップj=2では、量子化器出力MODOは「0000111」であり、データ値Dth=3となる。また、コンバージョンステップj=1において、命令信号Order_Dは、「4、5、6、7、1、2、3」に更新されている。
そのため、データ値Dth=3と命令信号Order_Dとを比較した結果、平均化回路出力DWAOの各ビットのビットデータは、k=1から順に、「0、0、0、0、1、1、1」となり、「0000111」からなるデジタル信号が平均化回路出力DWAOとして出力される。
【0078】
また、論理値1が設定されたk=5〜7番目のビット位置に対応する重み積算値Sum(k)に、コンバージョンステップj=2における重み0.233が加算され、各ビット位置に対応する重み積算値Sum(k)は、k=1から順に、「0.300、0.300、0.300、0.300、0.233、0.233、0.233」となる。
各ビット位置に対応する重み積算値Sum(k)に対し、命令値pを対応づけると、重み積算値Sum(k)=0.233である、k=5〜7番目のビット位置に、ビット位置kの昇順に、命令値p=1〜3が対応づけられ、重み積算値Sum(k)=0.300である、k=1〜4番目のビット位置に、ビット位置kの昇順に、命令値p=4〜7が対応付けられる。その結果、命令信号Order_Dは、「4、5、6、7、1、2、3」となる。
【0079】
コンバージョンステップj=3では、量子化器出力MODOは「0000001」であり、データ値Dth=1となる。このとき命令信号Order_Dは「4、5、6、7、1、2、3」であるため、平均化回路出力DWAOの各ビットは、k=1から順に、「0、0、0、0、1、0、0」となり、「0000100」からなるデジタル信号が平均化回路出力DWAOとして出力される。
【0080】
また、論理値1が設定されたk=5番目のビット位置に対応する重み積算値Sum(k)に、コンバージョンステップj=3における重み0.175が加算され、各ビット位置に対応する重み積算値Sum(k)は、k=1から順に、「0.300、0.300、0.300、0.300、0.408、0.233、0.233」となる。
各ビット位置の重み積算値Sum(k)に対し、命令値pを対応づけると、重み積算値Sum(k)=0.233である、k=6〜7番目のビット位置が、ビット位置kの昇順に、p=1〜2となり、重み積算値Sum(k)=0.300である、k=1〜4番目のビット位置が、ビット位置kの昇順に、p=3〜6となり、重み積算値Sum(k)=0.408である、k=5番目のビット位置がp=7となる。その結果、命令信号Order_Dは、「3、4、5、6、7、1、2」となる。
【0081】
コンバージョンステップj=4では、量子化器出力MODOは「0000011」であり、データ値Dth=2となる。命令信号Order_Dは「3、4、5、6、7、1、2」であるため、平均化回路出力DWAOの各ビット位置は、k=1から順に、「0、0、0、0、0、1、1」となり、「0000011」からなるデジタル信号が平均化回路出力DWAOとして出力される。
【0082】
また、論理値1が設定されたk=6〜7番目のビット位置に対応する重み積算値Sum(k)に、コンバージョンステップj=4における重み0.125が加算され、各ビット位置に対応する重み積算値Sum(k)は、k=1から順に、「0.300、0.300、0.300、0.300、0.408、0.358、0.358」となる。
各ビット位置に対応する重み積算値Sum(k)に対し、命令値pを対応づけると、重み積算値Sum(k)=0.300である、k=1〜4番目のビット位置が、ビット位置kの昇順に、命令値p=1〜4となり、重み積算値Sum(k)=0.358である、k=6〜7番目のビット位置が、ビット位置kの昇順に、命令値p=5〜6となり、重み積算値Sum(k)=0.408である、k=5番目のビット位置が命令値p=7となる。その結果、命令信号Order_Dは、「1、2、3、4、7、5、6」となる。
【0083】
コンバージョンステップj=5では、コンバージョンステップj=4と同様に、量子化器出力MODOは「0000011」であり、データ値Dth=2、命令信号Order_Dは「1、2、3、4、7、5、6」であるため、平均化回路出力DWAOは、「1100000」として出力される。
また、論理値1が設定されたk=1〜2番目のビット位置に対応する重み積算値Sum(k)に、コンバージョンステップj=5における重み0.083が加算され、各ビット位置に対応する重み積算値Sum(k)は、k=1から順に、「0.383、0.383、0.300、0.300、0.408、0.358、0.358」となる。
【0084】
そのため、各ビット位置に対応づけられた重み積算値Sum(k)に対し、命令値pを対応づけると、k=3〜4番目のビット位置が、ビット位置kの昇順に、p=1〜2となり、k=6〜7番目のビット位置が、ビット位置kの昇順に、p=3〜4となり、k=1〜2番目のビット位置が、ビット位置kの昇順に、p=5〜6となり、k=5番目のビット位置がp=7となり、命令信号Order_Dは、「5、6、1、2、7、3、4」となる。
【0085】
コンバージョンステップj=6では、量子化器出力MODOは引き続き「0000011」であり、データ値Dth=2、命令信号Order_Dは「5、6、1、2、7、3、4」であるため、平均化回路出力DWAOは、「0011000」として出力される。
また、論理値1が設定されたk=3〜4番目のビット位置に対応する重み積算値Sum(k)に、コンバージョンステップj=6における重み0.050が加算され、各ビット位置に対応する重み積算値Sum(k)は、k=1から順に、「0.383、0.383、0.350、0.350、0.408、0.358、0.358」となる。
【0086】
そのため、各ビット位置に対応する重み積算値Sum(k)に対し、命令値pを対応づけると、k=3〜4番目のビット位置が、ビット位置kの昇順に、p=1〜2となり、k=6〜7番目のビット位置が、ビット位置kの昇順に、p=3〜4となり、k=1〜2番目のビット位置が、ビット位置kの昇順に、p=5〜6となり、k=5番目のビット位置がp=7となり、命令信号Order_Dは、「5、6、1、2、7、3、4」からなる。
【0087】
コンバージョンステップj=7では、量子化器出力MODOは「0111111」であり、データ値Dth=6、命令信号Order_Dは「5、6、1、2、7、3、4」であるため、平均化回路出力DWAOは、「1111011」として出力される。
また、論理値1が設定されたk=1〜4番目のビット位置、6〜7番目のビット位置に対応する重み積算値Sum(k)に、コンバージョンステップj=7における重み0.025が加算され、各ビット位置に対応する重み積算値Sum(k)は、k=1から順に、「0.408、0.408、0.375、0.375、0.408、0.383、0.383」となる。
【0088】
そのため、各ビット位置に対応する重み積算値Sum(k)に対し、命令値pを対応づけると、k=3〜4番目のビット位置が、ビット位置kの昇順に、p=1〜2となり、k=6〜7番目のビット位置が、ビット位置kの昇順に、p=3〜4となり、k=1〜2、5番目のビット位置が、ビット位置kの昇順に、p=5〜7となり、命令信号Order_Dは、「5、6、1、2、7、3、4」となる。
【0089】
コンバージョンステップj=8では、量子化器出力MODOは「0000001」であり、データ値Dth=1、命令信号Order_Dは「5、6、1、2、7、3、4」であるため、平均化回路出力DWAOは、「0010000」として出力される。
また、論理値1が設定されたk=3番目のビット位置に対応する重み積算値Sum(k)に、コンバージョンステップj=8における重み0.008が加算され、各ビット位置に対応する重み積算値Sum(k)は、k=1から順に、「0.408、0.408、0.383、0.375、0.408、0.383、0.383」となる。
【0090】
そのため、各ビット位置に対応する重み積算値Sum(k)に対し、命令値pを対応づけると、k=4番目のビット位置がp=1となり、k=3番目のビット位置がp=2となり、k=6〜7番目のビット位置が、ビット位置kの昇順に、p=3〜4となり、k=1〜2、5番目のビット位置が、ビット位置kの昇順に、p=5〜7となり、命令信号Order_Dは、「5、6、2、1、7、3、4」となる。
【0091】
そして、コンバージョンステップjがオーバーサンプリング比m=8に達することから、重み積算値Sum(k)は0に初期化される。なお、コンバージョンステップjがオーバーサンプリング比mに達したときに、命令信号Order_Dも0に初期化するようにしてもよく、あるいは、初期化せずに、一つ前の変換サイクルにおける命令信号Order_Dの最終値を次の変換サイクルにおける命令信号Order_Dの初期値として処理を行うようにしてもよい。
【0092】
このような手順で平均化回路出力DWAOを演算するようにした場合、1変換サイクルにおける、重みの合計Totalは、コンバージョンステップj=8における重み積算値Sum(k)の値となり、重みの合計Totalの標準偏差σは「0.015」となる。これは、
図9に示すように、従来のDWA回路を用いた場合の重みの合計Totalの標準偏差σは「0.080」であるのに比較してより小さくなっており、平均化回路出力DWAOにおいて、論理値0と論理値1とがより均等に決定されていることを意味する。
【0093】
つまり、前述のように、例えば、DWA回路15の平均化回路出力DWAOをスイッチトキャパシタDA変換器の入力として使用し、平均化回路出力DWAOにおいて、論理値1が設定されているビット位置に対応づけられたキャパシタをオン、論理値0が設定されているビット位置に対応づけられたキャパシタをオフとするように動作する構成とした場合、キャパシタがより均等にオン動作することになり、すなわち、データ加重平均化処理による効果の低減を抑制することができる。
【0094】
次に、本発明の第2実施形態を説明する。
この第2実施形態におけるDWA回路15は、第1実施形態におけるDWA回路15において、積算部52の処理手順が異なること以外は同様であるので同一部には同一符号を付与しその詳細な説明は省略する。
第2実施形態におけるDWA回路15は、積算部52では、出力信号生成部51から出力される平均化回路出力DWAOを入力し、ビットデータが論理値1であるビット位置については、重み積算値Sum(k)に、前記(2)式から算出される重みWeightを加算して重み積算値Sum(k)を更新し(ステップS201)、論理値0であるビット位置については重み積算値Sum(k)を更新しない。なお、重みWeightは、予めテーブルとして所定の記憶領域に記憶しておいてもよいし、デジタル演算によりその都度演算するようにしてもよい。
【0095】
続いて、平均化回路出力DWAOのビット位置に対応する重み積算値Sum(k)毎に、重み積算値Sum(k)から平均値Averageを減算し、重み積算値Sum(k)を更新する(ステップS202)。平均値Averageは、次式(3)で演算される。(3)式中のDout(k)はサーモメータコードで表される量子化器出力MODOのL個のビット位置のビットデータを表し、ΣDout(k)は、各ビットデータを加算した値、すなわちビットデータとして論理値1が設定されているビット位置の数を表す。また、weightは前記(2)式から算出される重みWeight、Lは量子化レベルである。例えば、コンバージョンステップjの時に量子化器出力MODOが「0001111」である場合にはΣDout(k)=4となる。なお、平均値Averageが積算平均値に対応している。
【0097】
平均値Averageは、その都度演算するようにしてもよく、あるいは、量子化器出力MODOに応じて変化するΣDout(k)を変数とし、WeightとL値とを係数とする関数として所定の記憶領域に記憶しておき、この関数と、入力される量子化器出力MODOとから演算するようにしてもよい。
算出された重み積算値Sum(k)は、コンバージョンステップがサンプリングオーバー比mに達したとき初期化され、例えば0にリセットされる(ステップS203、S204)。コンバージョンステップがサンプリングオーバー比mに達しない間は、ステップS202で更新された重み積算値Sum(k)がそのまま出力される。
【0098】
そして、命令信号生成部53は、積算部52から出力される重み積算値Sum(k)にしたがって、命令信号Orderを生成し、遅延処理部54で遅延された命令信号Order_Dが出力信号生成部51に入力される。出力信号生成部51は、量子化器出力MODOのデータ値Dthと、命令信号Order_Dとをビット位置毎に比較して平均化回路出力DWAOを生成する。
【0099】
図15は、
図14に示す処理を行うDWA回路15を備えた、
図4に示す、重みWeightがコンバージョンステップ毎に異なるインクリメンタルデルタシグマAD変換器における、DWA回路15の各種信号の入出力結果の一例を示したものである。
図15は、オーバーサンプリング比mがm=8、量子化レベルLがL=7である場合に、適当な値の量子化器出力MODOが入力された場合を示す。なお、各種信号はこれに限るものではなく、それぞれの値は自由に取りうる。
【0100】
図15(a)は、各コンバージョンステップj(j=1〜m)であるときの、L値のサーモメータコードで表される量子化器出力MODO、データ値D2c(10進数表示)、L値のデジタル信号からなる平均化回路出力DWAO、重みWeightを表す。
また、
図15(a)において、各コンバージョンステップにおける平均化回路出力DWAOの各ビット位置についてそのビットデータが論理値1であるときの重みWeightをビット位置毎に加算した値、すなわち、1変換サイクルにおける重み積算値Sum(k)を合計値(Total)として表し、ビット位置毎の重み積算値Sum(k)の標準偏差をσとして表す。
【0101】
図15(b)は、各コンバージョンステップj(j=1〜m)であるときの、L値のデジタル信号からなる平均化回路出力DWAOの各ビット位置に対応する重み積算値Sum(k)と、命令信号Order_Dと、重みWeightを表す。
また、初期状態及び初期化されたときの重み積算値Sum(k)及び命令信号Order_Dを、コンバージョンステップj=0として表す。
【0102】
図15において、コンバージョンステップj=1では、命令信号Order_D及び重み積算値Sum(k)はコンバージョンステップj=0に示すように、初期化され、重み積算値Sum(k)は、k=1〜7番目の各ビット位置が「0」、命令信号Order_Dは、k=1から順に「1、2、3、4、5、6、7」の数値列となっている。
サーモメータコードで表される量子化器出力MODOは「0001111」であり、データ値Dth=4であるため、k=1から順に、平均化回路出力DWAOの各ビット位置のビットデータは、「1、1、1、1、0、0、0」となり、「1111000」からなるデジタル信号が平均化回路出力DWAOとして出力される。
【0103】
コンバージョンステップj=1における平均化回路出力DWAOにおいて、論理値1が設定されている1〜4番目のビット位置において、重み積算値Sum(k)が、コンバージョンステップj=1のときの重み0.300に応じて更新され、さらに、各ビット位置について重み積算値Sum(k)から平均値Averageが減算される。コンバージョンステップj=1の場合、ΣDout(k)=4であり、L=7、重みWeightは0.300であるため、平均値Average=4×0.300/7=0.171となる。そのため、平均化回路出力DWAOの各ビット位置に対応する重み積算値Sum(k)は、1〜4番目のビット位置が「0.129」、5〜7番目のビット位置が「−0.171」となる。
【0104】
そして、コンバージョンステップj=1における重み積算値Sum(k)に命令値pが対応づけられ、k=5〜7番目のビット位置が、ビット位置kの昇順に、p=1〜3となり、k=1〜4番目のビット位置が、ビット位置kの昇順に、p=4〜7となる。その結果、
図15(b)に示すように、命令信号Order_Dは、「4、5、6、7、1、2、3」となる。
【0105】
続いて、コンバージョンステップj=2では、量子化器出力MODOは「0000111」であり、データ値Dth=3となる。また、コンバージョンステップj=1において、命令信号Order_Dは、「4、5、6、7、1、2、3」に更新されている。
コンバージョンステップj=2では、量子化器出力MODOは「0000111」であり、データ値Dth=3、命令信号Order_Dは「4、5、6、7、1、2、3」であるため、平均化回路出力DWAOは、「0000111」として出力される。
【0106】
また、論理値1が設定されたk=5〜7番目のビット位置に対応する重み積算値Sum(k)に、コンバージョンステップj=2における重み「0.233」が加算され、さらに、各ビット位置に対応する重み積算値Sum(k)から、コンバージョンステップj=2における平均値Average=3×0.233/7=0.100が減算されて、各ビット位置に対応する重み積算値Sum(k)は、k=1から順に、「0.029、0.029、0.029、0.029、−0.038、−0.038、−0.038」となる。
【0107】
そのため、各ビット位置に対応する重み積算値Sum(k)に対し、命令値pを付与すると、k=5〜7番目のビット位置が、ビット位置kの昇順に、p=1〜3となり、k=1〜4番目のビット位置が、ビット位置kの昇順に、p=4〜7となり、命令信号Order_Dは、「4、5、6、7、1、2、3」となる。
以後、同様の手順で処理を行い、量子化器出力MODOに対応した平均化回路出力DWAOを生成する。
【0108】
ここで、
図13に示す第1実施形態における入出力結果の一例と、
図15に示す第2実施形態における入出力結果の一例とを比較すると、同一の量子化器出力MODOに対して処理を行っているため、
図13(b)、
図15(b)に示すように、重み積算値Sum(k)の値は異なっているものの、平均化回路出力DWAOや、命令信号Order_Dは同一値となっている。なぜならば、
図14に示す第2実施形態における重み積算値Sum(k)演算のためのシーケンスでは、第1実施形態における重み積算値Sum(k)演算のためのシーケンスに対してさらに、各ビット位置に対応する重み積算値Sum(k)から同一の平均値Averageを減算するようにしたものであって、各ビット位置から同一の平均値Averageを減算しているため、各ビット位置に対応する重み積算値Sum(k)の大小関係は変わらない。そのため、第1実施形態と第2実施形態とでは、重み積算値Sum(k)に基づき演算される命令信号Order_Dや、平均化回路出力DWAOは同一となる。
【0109】
しかしながら、第2実施形態における重み積算値Sum(k)演算のためのシーケンスでは、各ビット位置に対応する重み積算値Sum(k)から平均値Averageを減算する処理を行うため、各コンバージョンステップにおいて得られる、全ビット位置に対応する重み積算値Sum(k)の総和は常に「0」となる特徴がある。
このため、平均化回路出力DWAOは、コンバージョンステップjが進むと、重みが加味されて均等に論理値1と論理値0とを繰り返すようになるため、各ビット位置に対応する重み積算値Sum(k)は同じような値をとることになるが、全ビット位置に対応する重み積算値Sum(k)の総和は「0」であるため、ビット位置に対応する重み積算値Sum(k)も0に近づいていく。
【0110】
つまり、命令信号生成部53に入力される重み積算値Sum(k)の値は比較的小さい値を取ることになるため、重み積算値Sum(k)として確保すべきビット数は少なくてよく、すなわち、命令値pを対応づける際のソート演算をより簡単にすることができる。
さらに、一般にソート演算は、大まかに行えば均等になるという性質を利用すると、重み積算値Sum(k)を単純に平均値、すなわち「0」よりも大きいか小さいかでソートを行うという、手法を取ることによって、より簡易的に均等化させることも可能となる。その結果、DWA回路15における処理負荷を軽減することができるという効果も得ることができる。
【0111】
次に、本発明の第3実施形態を説明する。
この第3実施形態におけるDWA回路15は、第2実施形態におけるDWA回路15において、積算部52の処理手順が異なること以外は同様であるので同一部には同一符号を付与しその詳細な説明は省略する。
第3実施形態におけるDWA回路15は、積算部52では、出力信号生成部51から出力される平均化回路出力DWAOを入力し、ビットデータが論理値1であるビット位置については、重み積算値Sum(k)に、次式(4)から算出される重みWeight1を加算して重み積算値Sum(k)を更新し(ステップS301)、論理値0であるビット位置については次式(5)から算出される重みWeight2を加算して重み積算値Sum(k)を更新する。
【0113】
重みWeight1は、(4)式に示すように、(2)式で表される重みWeightから(3)式で表される平均値Averageを減算した値である。
重みWeight2は、(5)式に示すように、(3)式で表される平均値Averageの負値である。
なお、重みWeight1、重みWeight2は、デジタル演算によりその都度演算するようにしてもよく、量子化器出力MODOに応じて変化する項を変数とする関数を所定の記憶領域に記憶しておき、入力される量子化器出力MODOと、記憶している関数とをもとに、演算するようにしてもよい。
【0114】
算出された重み積算値Sum(k)は、コンバージョンステップがサンプリングオーバー比mに達したとき初期化され、例えば「0」にリセットされる(ステップS303、S304)。コンバージョンステップがサンプリングオーバー比mに達しない間は、ステップS301又はステップS302で更新された重み積算値Sum(k)がそのまま出力される。
【0115】
そして、命令信号生成部53は、積算部52から出力される重み積算値Sum(k)にしたがって、命令信号Orderを生成し、遅延処理部54で遅延された命令信号Order_Dが出力信号生成部51に入力される。出力信号生成部51は、量子化器出力MODOのデータ値Dthと、命令信号Order_Dとを比較して平均化回路出力DWAOを生成する。
【0116】
つまり、第2実施形態における積算部52のシーケンスでは、平均化回路出力DWAOにおいて、論理値1のビット位置に対応する重み積算値Sum(k)に対して各コンバージョンステップjに応じた重みWeightを加算した後、全ビット位置について、重み積算値Sum(k)から平均値Averageを減算するようにしているが、第3実施形態では、コンバージョンステップjに応じた重みWeightから平均値Averageを減算した減算値を予め演算しておき、論理値1のビット位置に対応する重み積算値Sum(k)については、予め演算した減算値を加算し、論理値0のビット位置に対応する重み積算値Sum(k)については、減算値として負値の平均値Averageを加算するものである。このように、予め減算値を演算しておくことによって、演算をより簡略化することができ、すなわちより速やかに重み積算値Sum(k)を得ることができる。
【0117】
なお、上記実施形態においては、本実施形態におけるDWA回路15を、量子化器出力MODOが最終出力結果に及ぼす寄与度、すなわち、重みWeightがコンバージョンステップ毎に異なるAD変換器として、
図4に示すインクリメンタルデルタシグマAD変換器に適用した場合について説明したがこれに限るものではなく、重みWeightがコンバージョンステップ毎に異なるAD変換器であれば適用することができる。
【0118】
また、上記実施形態においては、サーモメータコードにおいて、論理値1の数がデータ値を表す場合について説明したが、論理値0の数がデータ値を表す場合であっても適用することができる。
また、本発明の範囲は、図示され記載された例示的な実施形態に限定されるものではなく、本発明が目的とするものと均等な効果をもたらす全ての実施形態をも含む。さらに、本発明の範囲は、全ての開示されたそれぞれの特徴のうち特定の特徴のあらゆる所望する組み合わせによって画され得る。