(57)【要約】【課題】  ローカルＤＡＣの使用率の変化を少なくして変換特性を改善させることにより、低歪率及び高Ｓ／Ｎを達成することができるデルタシグマ方式Ｄ／Ａ変換器を提供することを目的とする。【解決手段】  サンプリング周期毎に、セレクタ８により各サンプリング周期開始時のローカルＤＡＣ７の使用開始位置を決定してバレルシフタ３によって巡回させるとともに、さらに前記サンプリング周期を分割した小周期毎に、前記決定したローカルＤＡＣ７の開始位置をシフトレジスタ５により順次シフトさせながら変化させることにより、従来のサンプリング周波数と同等のサンプリング周波数でありながら複数のローカルＤＡＣの全てを平均に使用することができるようにする。【選択図】          図１
2005197995.tif 000002
【特許請求の範囲】
【請求項１】
複数のローカルＤＡＣの中から量子化レベルに対応した数のローカルＤＡＣに所定単位量を与えて加算しアナログ出力を得るＤ／Ａ変換器であって、
サンプリング周期を等時間間隔に分割した小周期を設け、
各サンプリング周期の最初の小周期における前記ローカルＤＡＣの選択位置を所定の演算に基づいて決定し、
後続する小周期における前記ローカルＤＡＣ選択位置を、１つ前の小周期における選択位置から所定量巡回的にずらすことにより順次決定することを特徴とするデルタシグマ方式Ｄ／Ａ変換器。
【請求項２】
定められた２以上の任意整数（ｎ）の任意整数倍の個数（Ｑ）を有するローカルＤＡＣと、
サンプリング周波数（ｆS）で出力を発生する量子化器と、
前記量子化器からの出力をＱ個のビットの配列からなるサーモメータコード（Ｐm：ｍは任意のサンプリング時点を表す、以下同じ）に変換する第１変換器と、
前記第１変換器により変換されたサーモメータコード（Ｐm）のビット配列を、周波数（ｎｆS）毎にＱ／ｎビット単位で巡回的にシフトしたコード出力（Ｒm）を発生する第２変換器と、
前記第２変換器によりビット配列をシフトする際の、各サンプリング周期最初のシフト量（開始ビット位置（Ｓm））を、所定の演算により決定するセレクタとを備え、
前記第２変換器が発生するコード出力（Ｒm）の各ビットを前記ローカルＤＡＣのそれぞれに対応して与えることを特徴とするデルタシグマ方式Ｄ／Ａ変換器。
【請求項３】
前記セレクタは、１サンプリング前（ｍ−１サンプリング時点）におけるサーモメータコード（Ｐm-1）及び前記開始ビット位置（Ｓm-1）を参照し、ｍサンプリング時における前記サーモメータコード（Ｐm）の開始ビット位置を（Ｐm-1＋Ｓm-1）／（Ｑ／ｎ）の余りの値に設定することを特徴とする請求項２に記載のデルタシグマ方式Ｄ／Ａ変換器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、低歪率、高Ｓ／Ｎ（信号対雑音比）のオーディオ用デルタシグマ（変調）方式Ｄ／Ａ変換器に関するものであり、特に、４レベル以上の量子化レベルをもつデルタシグマ（変調）方式Ｄ／Ａ変換器の量子化器からローカルＤＡＣまでの構成に関わるものである。
【背景技術】
【０００２】
最近、オーディオ分野ではデルタシグマ変調と呼ばれる変換方式で量子化器を帰還ループの中に設けることにより量子化雑音を可聴帯域外に追いやるＡ／Ｄ、Ｄ／Ａ変換器が盛んに用いられている。例えばＡ／Ｄ変換におけるサンプリング周波数を高くすれば信号帯域内の量子化雑音は減少し、少ないビットの量子化でも信号帯域内のダイナミックレンジを確保することが可能である。しかしこの場合、サンプリング周波数を非常に高くすることが要求される。そこで、Ａ／Ｄ変換におけるデルタシグマ変調では、アナログ入力を積分してから量子化し、量子化出力を入力から差し引くという操作を加えることによって、量子化雑音に右上がりの分布特性を与え（高周波域に集中させること）、これにより低周波数の量子化雑音を激減させるようにしている。
【０００３】
上述したようなサンプリング周波数を高く設定することを特徴とするデルタシグマ変調方式において、量子化器の出力をＤ／Ａ変換するローカルＤ／Ａ変換器には、ダイナミック・エレメント・マッチング（ＤＥＭ）方式が使用されてきている。このＤＥＭ方式の場合、ローカルＤ／Ａ変換器が、抵抗やコンデンサ等のアナログ素子を使用した複数の変換エレメントによって構成されるので、そのＤ／Ａ変換精度は、前記変換エレメントのＩＣ製造を行う際の半導体プロセスに起因した相対ばらつきに大きく依存することになる。
そこで、ＤＥＭ方式では、前記複数の変換エレメントがある手順に従って一定時間内で平均的に使用されるようにすることで、半導体の製造プロセスに起因した相対ばらつきをできるだけ抑え、Ｄ／Ａ変換が高精度に行われるように工夫することが重要となる。
【０００４】
図６は、前記ＤＥＭ方式によるＤ／Ａ変換器の概略構成を示した図である。図６に示すように、ＤＥＭ方式によるＤ／Ａ変換器は、量子化器１から出力される出力レベル数に応じたサーモメータコードを出力するサーモメータコード変換器２と、バレルシフタ１３と、互いに等価な重み付けがなされた素子（ＬＤＡＣ１〜ＬＤＡＣ１２）を備えるローカルＤ／Ａ変換器（以後、「ローカルＤＡＣ」と称する）１１と、アナログ加算器１０とから構成されている。
【０００５】
従来のＤＥＭ方式Ｄ／Ａ変換器は、サーモメータコード変換器２から出力されるサーモメータコードのビット配列をバレルシフタ１３により巡回的にシフトさせることを特徴としている。つまり、バレルシフタ１３によるビット配列の巡回的なシフトによって、ローカルＤＡＣ１１を構成する複数の素子（具体的にはＬＤＡＣ１〜ＬＤＡＣ１２、代表して「ＬＤＡＣｘ」と称する）が均一的に使用されるようにし、各ＬＤＡＣｘが有している個々のばらつきを全体として分散させて、最終的にはアナログ加算器１０を介して量子化器１の出力レベル数に応じたアナログ出力が得られるように構成している。
【０００６】
また、前記ビット配列のシフトとサンプリング周波数との関係に着目すれば、（１）サンプリング周波数毎にサーモメータコードを巡回的に単純シフトさせてＮ個のＬＤＡＣｘを順番に使用する方法、または（２）ある一定のビット数Ｍ毎に、ＬＤＡＣｘをブロック化しておいて、サンプリング周波数毎にそのブロック単位でビット配列を巡回的にシフトさせるとともに、周波数（ｎ・ｆS）毎に前記ビット配列を１ビットずつシフトする方法等の様々なビットシフト方法が提案されている（例えば、特許文献１参照）。
【０００７】
【特許文献１】特開２０００−３４９６４１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００８】
しかしながら、前述した従来のビットシフト方法の場合、そのシフト処理手順によって、Ｄ／Ａ変換精度が大きく影響されるという問題点があった。すなわち、前述した（１）のサンプリング周波数（ｆS）毎にサーモメータコードを巡回的にシフトさせる方法では、例えば、サーモメータコードが１レベルの場合、１サンプリング期間Ｔｓ（＝１／ｆS）には１個のＬＤＡＣｘしか使用しないので、ローカルＤＡＣ１１を構成する全部でｎ個のＬＤＡＣｘを均一に使用するまでにはｎ・Ｔｓの時間を要してしまっていた。また、例えば、サーモメータコードがｎ／２レベルの場合、全ＬＤＡＣｘを均一に使用するまでの時間は２ＴSとなる。
このように、従来のビットシフト方法では、各ＬＤＡＣｘを均一に使用する際の平均時間がサーモメータコードのレベル数に依存してしまうという欠点があった。
【０００９】
また、前述した（２）のサンプリング周波数（ｆS）毎にブロック化したＬＤＡＣｘを巡回的にシフトするとともに、周波数（ｎ・ｆS）毎でもブロック単位内のビット配列を１ビットずつシフトする方法では、次のような問題点があった。ローカルＤＡＣ１１内の各ブロックは、各ブロックの先頭となるＬＤＡＣｘを常に開始位置として使用するため、各サンプリング周波数（ｆS）におけるＬＤＡＣｘの開始位置が予め決定されてしまうことになる。このため、例えば、近接するサンプリング期間でサーモメータコードレベルが変化し続ける場合には、そのレベル変化分をＱmとすれば、ブロック間のローカルＤＡＣの使用率が、最大で（Ｑm／ｎ）の余りに相当する分だけ変化することになり、その結果、Ｓ／Ｎ劣化の原因を生じさせていた。
【００１０】
そこで、本発明は前述した問題点に鑑み、Ｄ／Ａ変換器のコスト上昇を抑えつつローカルＤＡＣの使用率の変化を少なくして変換特性を改善させることにより、低歪率及び高Ｓ／Ｎを達成することができるデルタシグマ方式Ｄ／Ａ変換器を提供することを目的としている。
【課題を解決するための手段】
【００１１】
本発明のデルタシグマ方式Ｄ／Ａ変換器は、複数のローカルＤＡＣの中から量子化レベルに対応した数のローカルＤＡＣに所定単位量を与えて加算しアナログ出力を得るＤ／Ａ変換器であって、サンプリング周期を等時間間隔に分割した小周期を設け、各サンプリング周期の最初の小周期における前記ローカルＤＡＣの選択位置を所定の演算に基づいて決定し、後続する小周期における前記ローカルＤＡＣ選択位置を、１つ前の小周期における選択位置から所定量巡回的にずらすことにより順次決定することを特徴としている。
【００１２】
また、定められた２以上の任意整数（ｎ）の任意整数倍の個数（Ｑ）を有するローカルＤＡＣと、サンプリング周波数（ｆS）で出力を発生する量子化器と、前記量子化器からの出力をＱ個のビットの配列からなるサーモメータコード（Ｐm：ｍは任意のサンプリング時点を表す、以下同じ）に変換する第１変換器と、前記第１変換器により変換されたサーモメータコード（Ｐm）のビット配列を、周波数（ｎｆS）毎にＱ／ｎビット単位で巡回的にシフトしたコード出力（Ｒm）を発生する第２変換器と、前記第２変換器によりビット配列をシフトする際の開始ビット位置（Ｓm）を、所定の演算により決定するセレクタとを備え、前記第２変換器が発生するコード出力（Ｒm）の各ビットを前記ローカルＤＡＣのそれぞれに対応して与えることを特徴としている。
【００１３】
また、前記セレクタは、１サンプリング前（ｍ−１サンプリング時点）におけるサーモメータコード（Ｐm-1）及び前記開始ビット位置（Ｓm-1）を参照し、ｍサンプリング時における前記サーモメータコード（Ｐm）の開始ビット位置を（Ｐm-1＋Ｓm-1）／（Ｑ／ｎ）の余りの値に設定することを特徴としている。
【発明の効果】
【００１４】
サンプリング周期を等時間間隔に分割した小周期を設けておき、各サンプリング周期の最初の小周期における前記ローカルＤＡＣの選択位置を所定の演算に基づいて決定し、後続する小周期における前記ローカルＤＡＣ選択位置を、１つ前の小周期における選択位置から所定量巡回的にずらすことにより順次決定するようにしたので、サンプリング周期内の各小周期におけるローカルＤＡＣの選択位置を複数のローカルＤＡＣ内で常に変化させることが可能となり、この変化する選択位置から巡回的にローカルＤＡＣが使用されるようになるので複数のローカルＤＡＣのすべてを平均的に使用することができる。
【００１５】
これにより、従来のデルタシグマ方式Ｄ／Ａ変換器で用いられていたサンプリング周波数と同等のサンプリング周波数でありながら、ローカルＤＡＣに対する不均一な使用から生じてしまうＤ／Ａ変換時の歪成分及びＳ／Ｎ劣化をできるだけ抑えることが可能となり、高精度なＤ／Ａ変換を実現できる。
【発明を実施するための最良の形態】
【００１６】
以下、本発明の好適な実施形態について図面を参照しながら詳細に説明する。
＜デルタシグマ方式Ｄ／Ａ変換器の全体構成＞
図１は、本発明のデルタシグマ方式Ｄ／Ａ変換器１００（以下、Ｄ／Ａ変換器１００と略す）の概略構成を示すブロック図である。図１に示すように、Ｄ／Ａ変換器１００は、量子化器１、サーモメータコード変換器２、バレルシフタ３、データラッチ４、シフトレジスタ５、データラッチ６、ローカルＤＡＣ７、セレクタ８、１／ｎ分周器９、及びアナログ加算器１０等を備えている。
【００１７】
量子化器１は、サンプリング周波数（ｆｓ）に従って入力される多ビットのデジタル信号を任意のレベル数のデジタル信号に変換して出力する。なお、本実施の形態では、量子化器１は２進数で４ビット（２4）のデジタル信号を出力してレベル数が全体で１５、すなわち、１〜１５段階を有する量子化レベルの出力を行う。また、ＬＤＡＣｘの個数Ｑに関し、Ｑ＝１６としている。
【００１８】
サーモメータコード変換器２は、量子化器１から出力される１〜１５のデジタル信号がＱビット（Ｑ個）の配列を有するサーモメータコードにそれぞれ格納されるように変換する。このサーモメータコードは、ローカルＤＡＣ７を構成するＬＤＡＣｘをいくつ使用するかを示している。具体的には例えば、サーモメータコードのＱビットの配列のうち“１”が設定されているのが１個の場合、ある所定の時間間隔（１／（ｎｆS）、以下「１／ｎｆS」と略す）では１６個のＬＤＡＣｘのうち任意の１個のみが使用されるようにすることを表し、サーモメータコードが大きくなるほど（本実施の形態の場合、最大値は１５）多数のＬＤＡＣｘが使用されることを表している。
なお、サーモメータコード変換器２により第１変換器が構成されている。
【００１９】
セレクタ８は、前記サーモメータコードに対応するレベル数分のＬＤＡＣｘを、１６個のＬＤＡＣｘ中の何れのＬＤＡＣｘから使用するかについて、後述するアルゴリズムに従って開始ビット位置Ｓmとして決定し、これをバレルシフタ３に出力する。
【００２０】
バレルシフタ３は、セレクタ８により決定された開始位置Ｓmからサーモメータコードに対応する分の“１”を設定してデータラッチ４に出力する。
データラッチ４は、サンプリング周波数（ｆS）毎にバレルシフタ３からの出力値をラッチして、シフトレジスタ５に出力する。
シフトレジスタ５は、１サンプリング周期（１／ｆS）を任意の整数ｎで分割した周期（１／ｎｆS）毎に、データラッチ４からの出力を（Ｑ／ｎ）ビット単位でさらに巡回的にシフトさせ、その結果をデータラッチ６に出力する。（Ｑ／ｎ）ビット単位で行うシフト処理については、後で詳述する。
なお、シフトレジスタ５により第２変換器が構成されている。
【００２１】
データラッチ６は、周期（１／ｎｆS）毎に、シフトレジスタ５から出力されるコードＲをラッチしてこれをローカルＤＡＣ７に出力する。ＬＤＡＣ１〜ＬＤＡＣ１６は、それぞれ互いに等価な重み付けを有している。この場合、シフトレジスタ５から出力される１６ビットのコードＲ（コードＲの各ビットは“０”または“１”に設定されている）と、ローカルＤＡＣ７内の１６個のＬＤＡＣｘとはそれぞれ対応し、コードＲにおいてビットＲkが“１”の値を有するとき、これに対応するＬＤＡＣｋに所定の単位量が与えられて電流が流れる。
【００２２】
アナログ加算器１０は、ローカルＤＡＣ７の各ＬＤＡＣｘと接続するように構成されており、各ＬＤＡＣｘの値を加算する。したがって、アナログ加算器１０は、周期（１／ｎｆS）毎にビットＲmに“１”が設定されたＬＤＡＣｋの出力をすべて加算して、量子化器の出力レベル数に応じたアナログ出力を発生させている。
また、１／ｎ分周器９は、ｎｆSのクロックを１／ｎ分周することにより周期（１／ｆS）のクロックを生成し、サンプリング周期（１／ｆS）で動作するバレルシフタ３、データラッチ４に出力する。
【００２３】
＜Ｄ／Ａ変換器１００の全体動作＞
ここでは、Ｄ／Ａ変換器１００の全体動作について説明する。図２は、全体動作の処理手順を示すフローチャートである。
本実施の形態では、ＬＤＡＣｘの個数ＱをＱ＝１６、及び周期（１／ｎｆS）を規定する整数ｎをｎ＝８とした場合で説明する。
【００２４】
まず、図２に示すステップＳ２０１で、量子化器１は、サンプリング周波数（ｆS）毎に入力されるデジタル信号を、４ビット構成の２進デジタル信号“０００１”〜“１１１１”のいずれかに変換する。この場合、２進４ビット構成であるため、１〜１５レベルの何れかに該当するデジタル信号に変換されることになる。
次に、ステップＳ２０２で、サーモメータコード変換器２は、量子化器１が変換した２進デジタル信号を、１６ビットのサーモメータコードに変換する。前述したように、ステップＳ２０１でデジタル信号は１〜１５レベルの何れかに既に変換されているので、ここでは、２進４ビットが示す値を１６ビット分のデジタル信号に表現することになる。例えば、量子化器１からの２進デジタル信号が量子化レベル１を表す“０００１”の場合、“１０００００００００００００００”という１６ビットのうち左端から１つのビットのみが“１”を有するサーモメータコードに変換される。
【００２５】
ステップＳ２０３で、セレクタ８は、前記ステップＳ２０２で１６ビットに展開したサーモメータコードを、各サンプリング期間の最初に何ビットシフトさせるのか（開始ビット位置）を決定する。この開始ビット位置を決定するアルゴリズムについて次に説明する。
セレクタ８は、１サンプリング周期（１／ｆS）毎に開始ビット位置を決定する。いま、第ｍ番目の周期を対象とする場合、その開始ビット位置Ｓmは、直前（第ｍ−１番目）の周期における開始ビット位置Ｓm-1及びサーモメータコード値Ｐm-1と、ＬＤＡＣｘ数Ｑと、周期（１／ｎｆS）を規定するための整数ｎとを用いて、
Ｓm＝ＭＯＤ（（Ｐm-1＋Ｓm-1）／（Ｑ／ｎ））        ………（式１）
により算出する。なお、ＭＯＤは、括弧内の演算結果の剰余を表す。
【００２６】
ここで、前記（式１）によって算出される開始位置が具体的にどのように変化しているかを、図３を参照しながら説明する。
図３は、セレクタ８によって１サンプリング周期（１／ｆS）毎に開始ビット位置がシフトしていく様子を表した遷移図である。図３において、縦方向は時間の推移を表しており、１サンプリング周期（１／ｆS）毎に周期１、周期２、周期３、…と表示しているとともに、各サンプリング周期（１／ｆS）内をそれぞれｎ値で分割して８等分し、第１〜第８の小周期に分割して表示している。また、図３の横方向は、シフトレジスタ５から出力される１６個のコードＲ（Ｒ0〜Ｒ15）を表している。そして、マトリックスの網掛け部分は、各サンプリング周期でどのコードＲxに所定の単位量を表す“１”を設定すべきかを示している。
【００２７】
具体的に、周期１、周期２、周期３、…とそれぞれの第１番目の小周期においてどのコードＲxに網掛けが施されているかをみてみると、周期１ではコードＲ0、周期２ではコードＲ1、周期３ではコードＲ1となっている。例えば、周期２の場合、第１番目の小周期（周期２の開始）では、周期１（ｍ−１）における開始ビット位置Ｓm-1＝０及びサーモメータコード値Ｐm-1＝１を前記（式１）に代入して開始ビット位置Ｓmを求める。すなわち、開始ビット位置Ｓm＝ＭＯＤ（（１＋０）／（１６／８））＝ＭＯＤ（１／２）＝１となり、図３に示すように、周期２の開始ビット位置（Ｓm＝１）に対応するコードＲ1が網掛けされる。周期３以降も同様である。ここで、前記（式１）より算出された開始ビット位置ＳmがコードＲxの添え字（つまり、ｘ）に対応している。
【００２８】
なお、周期１の第１番目の小周期（周期１の開始）は、直前の周期のサーモメータコード値等が存在しない。このため、本実施形態では、前記（式１）に基づいて開始ビット位置を算出するのではなく、コードＲ0を開始ビット位置に対応するコードＲとしている。  なお、以下では、開始ビット位置Ｓmに対応するコードＲSmを、「開始コードＲSm」と称することとする。
【００２９】
また、従来のＤＥＭ方式における開始コードＲSmの遷移を示す図が、図４及び図５である。図４のＤＥＭ方式の場合、各周期の開始コードＲSmが、直前の周期に使用された開始コードＲSmの続きより単純に開始していることがわかる。また、図５のＤＥＭ方式の場合、１６個のコードＲを、開始コードＲSmとしてＲ0を有する第１グループ（Ｒ0〜Ｒ7）と、開始コードＲSmとしてＲ8を有する第２グループ（Ｒ8〜Ｒ15）との２つのグループに分ける。そして、周期１の開始時では開始コードＲ0、周期２の開始時では開始コードＲ8、周期３の開始時では開始コードＲ0、周期４の開始時では開始コードＲ8、…と、交互に開始コードＲSmを切替えている。
【００３０】
この場合、図５に示されているように、各サンプリング周期内においてさらに小周期（１／ｎｆS）毎に、各小周期の開始コードＲSmが順次巡回的にシフトされているものの、各サンプリング周期の（１／ｆS）の開始コードは、Ｒ0またはＲ8の何れか一方であり、二者択一としての固定的な選択でしかない。この場合、ローカルＤＡＣ使用頻度の値は、図４及び図５の各下部に示すように各シフトレジスタでばらつきを有しているのがわかる。
【００３１】
このように、セレクタ８により算出された開始ビット位置を入力したバレルシフタ３は、入力された開始ビット位置Ｓmに対応する開始コードＲSmを起点として、サーモメータコードに対応する分のコードＲxに“１”を設定するとともに、残りのコードＲxには“０”を設定する。つまり、各小周期（１／ｎｆS）で“１”が設定されるコードＲxの終りは、その小周期の開始コードＲSmに、そのサンプリング周期のサーモメータコード値Ｐm−１を加算したコードＲxとなる。例えば、周期２の第１の小周期は、開始コードがＲ1のため、周期２のサーモメータコード値Ｐm−１＝３を加算したコードＲ4が終了コードとなり、コードＲ1〜コードＲ4までが網掛け状態になる。
【００３２】
そして、セレクタ８は、これをシフト後のサーモメータコードとしてデータラッチ４に出力する。
データラッチ４は、このシフト後のサーモメータコードをサンプリング周波数（ｆS）毎、すなわち、１／ｆS間隔でシフトレジスタ５に出力する。
【００３３】
ここで、コードＲxをシフトさせる最小時間単位を本実施の形態では小周期（１／ｎｆS）に設定しているので、次のステップＳ２０４で、１小周期（１／８ｆS）が経過するかを判断する。この判断の結果、まだ経過していなければ開始ビット位置をそのままの状態に維持し、経過した場合はステップＳ２０５に進む。
【００３４】
ステップＳ２０５で、シフトレジスタ５は、１小周期（１／８ｆS）の開始ビット位置を、直前の小周期のビットシフト位置にＱ／ｎビット加算してシフトさせる。例えば、図３に示す周期１内に着目すると、Ｒ0→Ｒ2→Ｒ4→Ｒ6→Ｒ8→Ｒ10→Ｒ12→Ｒ14と、小周期（１／ｎｆS）毎に２（＝Ｑ／ｎ＝１６／８）ずつ、開始コードＲSmが移動していくのがわかる。
【００３５】
他のサンプリング周期でも同様であり、各小周期の開始コードＲSmは、第１番目の小周期の開始コードから２ずつ順次移動し、各サンプリング周期におけるサーモメータコードの出力コード分のコードＲxが巡回的に網掛け状態になる。ここで「巡回的に」とは、“１”を設定するコードＲxが末尾のコードＲ15に達した場合、先頭のコードＲ0に戻っていくということを意味している。
【００３６】
このように、シフトレジスタ５は、小周期（１／ｎｆS）毎に開始コードＲSmを２つシフトさせながら、サーモメータコードの出力コード分のコードＲxに“１”を設定した１６個のコードＲx（Ｒ0〜Ｒ15）をデータラッチ６に出力する。
【００３７】
次にステップＳ２０６で、データラッチ６は、小周期毎にコードＲxをローカルＤＡＣ７に出力する。コードＲxとローカルＤＡＣ７の各ＬＤＡＣｘとはそれぞれ対応しているので、結局、アナログ加算器１０は、“１”が設定されたＬＤＡＣｘを加算して、サーモメータコードに対応したアナログ出力を生じさせる（ステップＳ２０７）。そして、１サンプリング周期（１／ｆS）が経過したか否かを判断し（ステップＳ２０８）、判断の結果、未経過であればステップＳ２０４に戻って前記処理を繰り返す。これに対して、１サンプリング周期（１／ｆS）が経過している場合は、ステップＳ２０３に戻って、Ｄ／Ａ変換を終了させるまで前記処理を繰り返して行う（ステップＳ２０９）。
【００３８】
本実施の形態によれば、セレクタ８により１サンプリング周期（１／ｆS）毎に巡回させるビットの開始位置を、サーモコードレベルの変化分を考慮した前記（式１）に基づいて変化させるとともに、各サンプリング周期をｎ分割した小周期（１／ｎｆS）毎に前記開始ビット位置からさらにＱ／ｎビット順次シフトさせるようにしているので、本方式では、任意の複数サンプリング周期期間（ｍ＊（１／ｆS））内で、各ローカルＤＡＣの使用頻度誤差が（（１／ｆS）／ｎ）以下となることが保証されており、各ビット位置に対応する１６個のＬＤＡＣｘのうち特定のＬＤＡＣｘが固定的に使用されることを防止し、すべてのＬＤＡＣｘを平均的に使用することができる。
【００３９】
また、各ＬＤＡＣｘが有するトランジスタにおけるＯＮ／ＯＦＦのスイッチングスピードのずれから生じる誤差成分をできるだけ極小にするためには、各ＬＤＡＣｘのＯＮ／ＯＦＦ頻度を時間的に一定とすることが望まれる。本方式では、サーモメータコード変換器２の出力が（Ｑ／ｎ）より小さい場合、あるいは（Ｑ−（Ｑ／ｎ））より大きい場合以外は、各ＬＤＡＣｘのＯＮ／ＯＦＦ回数が前記サンプリング周期の数ｍと同一になる。すなわち、１つのサンプリング周期で各ＬＤＡＣｘがＯＮ／ＯＦＦのスイッチングを１回行うことからレベルによる変動を生じない為、交流の電流特性を安定して維持することができる。
【００４０】
なお、本実施の形態では、量子化レベルを１〜１５段階としてＬＤＡＣ数Ｑ＝１６、１サンプリング周波数を規定する分割数をｎ＝８として説明したがこれに限られず、任意のＬＤＡＣ数及び任意の分割数を扱うことが可能なことは言うまでもない。さらに、本実施の形態では、量子化器１が変換出力するビット数とＬＤＡＣ数Ｑとが対応するように、ＬＤＡＣ数Ｑ＝１６に対して量子化器１からは２進数表現の４ビットが変換出力されるようにしたがこれに限られない。
【００４１】
また、本発明の目的は、本実施の形態のデルタシグマ方式Ｄ／Ａ変換器１００の機能を実現するソフトウェアのプログラムコードを記憶した記憶媒体を、システム或いは装置に供給し、そのシステム或いは装置のコンピュータ（又はＣＰＵやＭＰＵ）が記憶媒体に格納されたプログラムコードを読みだして実行することによっても、達成されることは言うまでもない。
【００４２】
この場合、記憶媒体から読み出されたプログラムコード自体が本実施の形態の機能を実現することとなり、そのプログラムコードを記憶した記憶媒体及び当該プログラムコードは本発明を構成することとなる。プログラムコードを供給するための記憶媒体としては、ＲＯＭ、フレキシブルディスク、ハードディスク、光ディスク、光磁気ディスク、ＣＤ−ＲＯＭ、ＣＤ−Ｒ、磁気テープ、不揮発性のメモリカード等を用いることができる。
【００４３】
また、コンピュータが読みだしたプログラムコードを実行することにより、上記本実施の形態の機能が実現されるだけでなく、そのプログラムコードの指示に基づき、コンピュータ上で稼動しているＯＳ等が実際の処理の一部又は全部を行い、その処理によって本実施の形態の機能が実現される場合も含まれることは言うまでもない。
【図面の簡単な説明】
【００４４】
【図１】本発明の一実施形態であるデルタシグマ方式Ｄ／Ａ変換器の全体構成を示すブロック図である。
【図２】本発明の一実施形態であるデルタシグマ方式Ｄ／Ａ変換器の全体動作の処理手順を示すフローチャートである。
【図３】周期（１／ｎｆS）間隔で、使用対象となるＬＤＡＣｘがシフトする様子を表す図である。
【図４】従来のデルタシグマ方式Ｄ／Ａ変換器（小周期毎のシフトなし）を用いたときのＬＤＡＣｘの使用状態を表す図である。
【図５】従来のデルタシグマ方式Ｄ／Ａ変換器（小周期毎のシフトあり）を用いたときのＬＤＡＣｘの使用状態を表す図である。
【図６】従来のデルタシグマ方式Ｄ／Ａ変換器の概略構成を示した図である。
【符号の説明】
【００４５】
１    量子化器
２    サーモメータコード変換器
３    バレルシフタ
４    データラッチ
５    シフトレジスタ
６    データラッチ
７    ローカルＤ／Ａ変換器（ローカルＤＡＣ）
８    セレクタ
９    １／ｎ分周器
１０    アナログ加算器
【図１】
2005197995.tif 000003
【図２】
2005197995.tif 000004
【図３】
2005197995.tif 000005
【図４】
2005197995.tif 000006
【図５】
2005197995.tif 000007
【図６】
2005197995.tif 000008