(57)【特許請求の範囲】
【請求項１】
Ｎビットのデジタル信号をアナログ信号に変換して出力するＤＡコンバータを有し、所定のサンプリング周期でＭ（Ｍ＞Ｎ）ビットのデジタル信号が入力されるデジタルアナログ変換装置であって、
前記Ｍビットのデジタル信号に示される第１の値を、Ｎビットのデジタル信号で示される範囲内の第２の値となるように所定比で縮小して出力するスケール変換部と、
前記第２の値をＮビットのデジタル信号で示される第３の値に変換して出力するビット長変換部と、
前記第２の値と前記第３の値との誤差を示す第４の値を算出して出力する誤差算出部と、
前記所定のサンプリング周期内で、前記第４の値を入力値とする所定の演算を複数回行い、演算結果が０である場合には前記第３の値を前記ＤＡコンバータに出力し、前記演算結果が正である場合には、前記第３の値から１を減算した第５の値を前記ＤＡコンバータに出力し、前記演算結果が負である場合には、前記第３の値に１を加算した第６の値を前記ＤＡコンバータに出力する出力値決定部と、を有し、
前記出力値決定部は、誤差積算部と、極性判定部と、出力値算出部と、を備え、
前記誤差積算部は、前記所定の演算として、前記第４の値と、前回の前記所定の演算の演算結果と、前回の極性判定部の出力値と、の加算を行い、演算結果を出力し、
前記極性判定部は、前記演算結果が０である場合には０を出力し、前記演算結果が正である場合には−１を出力し、前記演算結果が負である場合には＋１を出力し、
前記出力値算出部は、前記第３の値に前記極性判定部の出力値を加算した値を前記ＤＡコンバータに出力することを特徴とするデジタルアナログ変換装置。
【請求項２】
請求項１記載のデジタルアナログ変換装置において、
前記ＤＡコンバータから出力されたアナログ信号の所定の帯域成分を通過させるフィルタをさらに有することを特徴とするデジタルアナログ変換装置。
【請求項３】
Ｎビットのデジタル信号をアナログ信号に変換して出力するＤＡコンバータを有し、所定のサンプリング周期でＭ（Ｍ＞Ｎ）ビットのデジタル信号が入力されるデジタルアナログ変換装置の制御方法であって、
スケール変換部が、前記Ｍビットのデジタル信号に示される第１の値を、Ｎビットのデジタル信号で示される範囲内の第２の値となるように所定比で縮小して出力し、
ビット長変換部が、前記第２の値をＮビットのデジタル信号で示される第３の値に変換して出力し、
誤差算出部が、前記第２の値と前記第３の値との誤差を示す第４の値を算出して出力し、
出力値決定部が、前記所定のサンプリング周期内で、前記第４の値を入力値とする所定の演算を複数回行い、演算結果が０である場合には前記第３の値を前記ＤＡコンバータに出力し、前記演算結果が正である場合には、前記第３の値から１を減算した第５の値を前記ＤＡコンバータに出力し、前記演算結果が負である場合には、前記第３の値に１を加算した第６の値を前記ＤＡコンバータに出力し、
誤差積算部が、前記所定の演算として、前記第４の値と、前回の前記所定の演算の演算結果と、前回の極性判定部の出力値と、の加算を行い、演算結果を出力し、
極性判定部が、前記演算結果が０である場合には０を出力し、前記演算結果が正である場合には−１を出力し、前記演算結果が負である場合には＋１を出力し、
出力値算出部が、前記第３の値に前記極性判定部の出力値を加算した値を前記ＤＡコンバータに出力することを特徴とするデジタルアナログ変換装置の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、デジタル信号をアナログ信号に変換するデジタルアナログ変換装置およびその制御方法に関する。
【背景技術】
【０００２】
デジタル信号をアナログ信号に変換するＤＡ変換を行うデジタルアナログコンバータ（ＤＡＣ）においては、ＤＡＣがＤＡ変換を行うデジタル信号のビット数が多いほど、アナログ信号の出力レベル数が増加するので、ダイナミックレンジが増加し、出力レベルの精度が高くなる。具体的には、ＤＡ変換を行うデジタル信号のビット数が１ビット増えると、出力レベル数が２倍に増加し、ダイナミックレンジは６ｄＢ増加する。以下では、Ｎ（Ｎ≧２）ビットのデジタル信号のＤＡ変換を行う、いわゆるマルチビット式のＤＡＣをＮビットＤＡＣと称する。
【０００３】
１２ビットＤＡＣの場合、ダイナミックレンジは７２ｄＢ（＝１２ビット×６ｄＢ）となる。この１２ビットＤＡＣの最大出力レベルを０ｄＢＶとすると、出力レベルの範囲は、０ｄＢＶ〜−７２ｄＢＶとなる。ここで、必要な出力レベルの精度を実現するために、−９０ｄＢＶの出力レベルが必要である場合には、１２ビットＤＡＣよりもダイナミックレンジの大きいＤＡＣを使用する必要がある。
【０００４】
しかし、ＤＡＣを使用する際には、ダイナミックレンジだけでなく、アナログ信号の出力レート（アナログ信号の出力レベルの更新周期）も考慮する必要がある。
【０００５】
一般に、ＤＡＣとしては、高出力レート（ＭＨｚ、ＧＨｚオーダー）であって、低ダイナミックレンジ（８ビットＤＡＣ、１２ビットＤＡＣなど）のもの、または、低出力レート（ｋＨｚオーダー）であって、高ダイナミックレンジ（１６ビットＤＡＣ、２４ビットＤＡＣなど）のものが多く市販されている。
【０００６】
図９（ａ）は、ダイナミックレンジと出力レートとに応じたＤＡＣの分布を示し、図９（ｂ）は、出力レートでみた各領域に属するＤＡＣの種類数を示し、図９（ｃ）は、ダイナミックレンジでみた各領域に属するＤＡＣの種類数を示す。図９に示すように、高出力レート、低ダイナミックレンジの領域（領域Ａ）、および、低出力レート、高ダイナミックレンジの領域（領域Ｃ）に属するＤＡＣの種類が多く、中出力レート、中ダイナミックレンジの領域（領域Ｂ）に属するＤＡＣの種類が少ない。
【０００７】
したがって、必要な出力レートおよびダイナミックレンジを同時に満たすＤＡＣが存在しない場合がある。
【０００８】
そこで、特許文献１（特開２００６−１０１０４９号公報）には、ＮビットＤＡＣを有し、Ｍ（Ｍ＞Ｎ）ビットのデジタル信号が入力されるデジタルアナログ変換装置において、Ｍビットのデジタル信号から（Ｍ−Ｎ）ビット分を切り捨てたＮビットのデジタル信号に示される値を出力値（出力レベル）とする信号をＮビットＤＡＣに出力させるとともに、ビットの切り捨てにより信号の出力値では表現できなくなる値を、所定期間における信号のパルス幅により再現する技術が開示されている。
【０００９】
特許文献１に開示の技術によれば、ビットの切り捨てにより表現できなくなる値を信号のパルス幅により再現することで、ＮビットＤＡＣのアナログ信号の出力レベルの精度を、ＭビットＤＡＣ相当にまで拡張することができるので、ＤＡＣが必要な出力レベルの精度となるダイナミックレンジを満たさない場合にも、そのＤＡＣの出力レベルの精度を拡張させて使用することができる。
【先行技術文献】
【特許文献】
【００１０】
【特許文献１】特開２００６−１０１０４９号公報
【発明の概要】
【発明が解決しようとする課題】
【００１１】
しかしながら、特許文献１に開示の技術においては、信号のパルス幅を異ならせるために、特許文献１の図１３に示されるように、デジタルアナログ変換装置にＮ個の加算器を設け、これらの加算器に並列処理を行わせる。複数の加算器に並列処理させると、出力レベルの精度を拡張するビット数が増えるにつれて、処理負荷が増大するという課題がある。
【００１２】
本発明の目的は、上述した課題を解決し、Ｍビットのデジタル信号をＮビット（Ｍ＞Ｎ）のＤＡＣで変換する際に、処理負荷の増大を抑制しつつ、アナログ信号の出力レベルの精度を向上させることができるデジタルアナログ変換装置およびその制御方法を提供することにある。
【課題を解決するための手段】
【００１３】
上記目的を達成するために本発明のデジタルアナログ変換装置は、
Ｎビットのデジタル信号をアナログ信号に変換して出力するＤＡコンバータを有し、所定のサンプリング周期でＭ（Ｍ＞Ｎ）ビットのデジタル信号が入力されるデジタルアナログ変換装置であって、
前記Ｍビットのデジタル信号に示される第１の値を、Ｎビットのデジタル信号で示される範囲内の第２の値となるように所定比で縮小して出力するスケール変換部と、
前記第２の値をＮビットのデジタル信号で示される第３の値に変換して出力するビット長変換部と、
前記第２の値と前記第３の値との誤差を示す第４の値を算出して出力する誤差算出部と、
前記所定のサンプリング周期内で、前記第４の値を入力値とする所定の演算を複数回行い、演算結果が０である場合には前記第３の値を前記ＤＡコンバータに出力し、前記演算結果が正である場合には、前記第３の値から１を減算した第５の値を前記ＤＡコンバータに出力し、前記演算結果が負である場合には、前記第３の値に１を加算した第６の値を前記ＤＡコンバータに出力する出力値決定部と、を有し、
前記出力値決定部は、誤差積算部と、極性判定部と、出力値算出部と、を備え、
前記誤差積算部は、前記所定の演算として、前記第４の値と、前回の前記所定の演算の演算結果と、前回の極性判定部の出力値と、の加算を行い、演算結果を出力し、
前記極性判定部は、前記演算結果が０である場合には０を出力し、前記演算結果が正である場合には−１を出力し、前記演算結果が負である場合には＋１を出力し、
前記出力値算出部は、前記第３の値に前記極性判定部の出力値を加算した値を前記ＤＡコンバータに出力する。
【００１４】
上記目的を達成するために本発明のデジタルアナログ変換装置の制御方法は、
Ｎビットのデジタル信号をアナログ信号に変換して出力するＤＡコンバータを有し、所定のサンプリング周期でＭ（Ｍ＞Ｎ）ビットのデジタル信号が入力されるデジタルアナログ変換装置の制御方法であって、
スケール変換部が、前記Ｍビットのデジタル信号に示される第１の値を、Ｎビットのデジタル信号で示される範囲内の第２の値となるように所定比で縮小して出力し、
ビット長変換部が、前記第２の値をＮビットのデジタル信号で示される第３の値に変換して出力し、
誤差算出部が、前記第２の値と前記第３の値との誤差を示す第４の値を算出して出力し、
出力値決定部が、前記所定のサンプリング周期内で、前記第４の値を入力値とする所定の演算を複数回行い、演算結果が０である場合には前記第３の値を前記ＤＡコンバータに出力し、前記演算結果が正である場合には、前記第３の値から１を減算した第５の値を前記ＤＡコンバータに出力し、前記演算結果が負である場合には、前記第３の値に１を加算した第６の値を前記ＤＡコンバータに出力し、
誤差積算部が、前記所定の演算として、前記第４の値と、前回の前記所定の演算の演算結果と、前回の極性判定部の出力値と、の加算を行い、演算結果を出力し、
極性判定部が、前記演算結果が０である場合には０を出力し、前記演算結果が正である場合には−１を出力し、前記演算結果が負である場合には＋１を出力し、
出力値算出部が、前記第３の値に前記極性判定部の出力値を加算した値を前記ＤＡコンバータに出力する。
【発明の効果】
【００１５】
本発明によれば、ビット長変換による誤差に応じて所定の演算を行い、その演算結果に応じてアナログ信号の出力レベルを決定するので、ＤＡＣの出力レベルの精度を拡張するビット数が増加しても、処理負荷の増大を抑制しつつ、アナログ信号の出力レベルの精度を向上させることができる。
【図面の簡単な説明】
【００１６】
【図１】本発明の一実施形態のデジタルアナログ変換装置の構成を示すブロック図である。
【図２】図１に示すＤＳＰの構成を示すブロック図である。
【図３】関連する１６ビットＤＡＣの出力波形を示す図である。
【図４】関連する１８ビットＤＡＣの出力波形を示す図である。
【図５】図１に示すＤＡＣの出力波形を示す図である。
【図６】図１に示すＤＡＣが１ビットＤＡＣである場合の、デジタルアナログ変換装置の構成を示すブロック図である。
【図７】図６に示すＤＳＰの構成の一例を示すブロック図である。
【図８】図６に示すＤＳＰの構成の他の一例を示すブロック図である。
【図９】一般的なＤＡＣの性能による分布を示す図である。
【発明を実施するための形態】
【００１７】
以下に、本発明を実施するための形態について図面を参照して説明する。
【００１８】
図１は、本発明の一実施形態のデジタルアナログ変換装置の構成を示すブロック図である。
【００１９】
図１に示すデジタルアナログ変換装置１００は、デジタルシグナルプロセッサ（ＤＳＰ）１１０と、Ｎ（Ｎ≧２）ビットＤＡＣであるＤＡコンバータ（ＤＡＣ）１２０と、ローパスフィルタ（ＬＰＦ）１３０と、を有する。
【００２０】
Ｍ（Ｍ＞Ｎ）ビットのデジタル信号がＤＳＰ１１０に入力される。
【００２１】
ＤＳＰ１１０は、Ｍビットのデジタル信号が入力されると、そのＭビットのデジタル信号をＮビットのデジタル信号にビット長変換し、ＤＡＣ１２０に出力する。
【００２２】
ＤＡＣ１２０は、クロック信号が入力され、そのクロック信号により定まる出力レートで、ＤＳＰ１１０から出力されたＮビットのデジタル信号に示される値を出力値とするアナログ信号をＬＰＦ１３０に出力する。
【００２３】
ＬＰＦ１３０は、ＤＡＣ１２０から出力されたアナログ信号の低域成分を通過させる。ＤＡＣ１２０から出力されたアナログ信号の波形は、階段状の波形であるが、ＬＰＦ１３０を通過させることで、連続的な波形となる。
【００２４】
次に、ＤＳＰ１１０の構成を説明する。なお、ＤＡＣ１２０およびＬＰＦ１３０の構成は当業者にとってよく知られており、本発明と直接関係しないので、説明を省略する。
【００２５】
図２は、ＤＳＰ１１０の構成を示すブロック図である。
【００２６】
図２に示すＤＳＰ１１０は、スケール変換部１１１と、ビット長変換部１１２と、誤差算出部１１３と、出力値決定部１１４と、を有する。
【００２７】
また、出力値決定部１１４は、誤差積算部１１５と、極性判定部１１６と、出力値算出部１１７と、を有する。
【００２８】
Ｍビットのデジタル信号がスケール変換部１１１に入力される。
【００２９】
スケール変換部１１１は、下記の式（１）を用いて、Ｍビットのデジタル信号に示される値（以下、Ｍビットスケールの値と称する）Ｉｎを、Ｎビットのデジタル信号に示される値（以下、Ｎビットスケールの値と称する）の範囲内の値Ｏｕｔ１に変換し、ビット長変換部１１２と誤差算出部１１３とに出力する。
【００３０】
【数１】
0005652873.tif 000002
【００３１】
ビット長変換部１１２は、スケール変換部１１１から出力された値Ｏｕｔ１を入力値Ｉｎ１とし、入力値Ｉｎ１の小数点以下を切り捨てた値Ｏｕｔ２を、誤差算出部１１３と出力値算出部１１７とに出力する。
【００３２】
誤差算出部１１３は、ビット長変換部１１２から出力された値Ｏｕｔ２を入力値Ｉｎ２とし、また、スケール変換部１１１から出力された値Ｏｕｔ１を入力値Ｉｎ３とし、下記の式（２）を用いて、値Ｏｕｔ３を算出し、誤差積算部１１５に出力する。
【００３３】
【数２】
0005652873.tif 000003
【００３４】
出力値決定部１１４は、ＤＡＣ１２０から出力されるアナログ信号の出力値を決定し、決定した出力値を示すＮビットのデジタル信号をＤＡＣ１２０に出力する。
【００３５】
誤差積算部１１５は、誤差算出部１１３から出力された値Ｏｕｔ３を入力値Ｉｎ４とし、また、極性判定部１１６から出力された値Ｏｕｔ５を入力値Ｉｎ５とし、下記の式（３）を用いて、値Ｏｕｔ４を算出し、極性判定部１１６に出力する。
【００３６】
【数３】
0005652873.tif 000004
【００３７】
なお、式（３）において、値Ｏｕｔ４’は前回出力された値Ｏｕｔ４を示し、入力値Ｉｎ５’は極性判定部１１６から前回出力された値Ｏｕｔ５を示す。
【００３８】
極性判定部１１６は、誤差積算部１１５から出力された値Ｏｕｔ４を入力値Ｉｎ６とし、入力値Ｉｎ６の正負を判定し、入力値Ｉｎ６が、０より大きい場合には“−１”を、０より小さい場合には“＋１”を、０である場合には“０”を、値Ｏｕｔ５として、誤差積算部１１５と出力値算出部１１７とに出力する。
【００３９】
出力値算出部１１７は、ビット長変換部１１２から出力された値Ｏｕｔ１を入力値Ｉｎ７とし、また、極性判定部１１６から出力された値Ｏｕｔ５を入力値Ｉｎ８とし、下記の式（４）を用いて、値Ｏｕｔ６を算出しＤＡＣ１２０に出力する。
【００４０】
【数４】
0005652873.tif 000005
【００４１】
次に、ＤＳＰ１１０の動作を説明する。
【００４２】
なお、以下では、１ＭＨｚのレートで、２の補数形式の１６ビットのデジタル信号がスケール変換部１１１に入力されるものとし、また、ＤＡＣ１２０が、２の補数形式の１２ビットのデジタル信号のＤＡ変換を行う、１２ビットＤＡＣである場合を例として説明する。この場合、ＤＡＣ１２０には、出力レートが１６ＭＨｚ（＝１ＭＨｚ×２^４（＝１６−１２））となるクロック信号が入力される。また、ＤＳＰ１１０は、１６ビットのデジタル信号の１回の入力に対して、ＤＡＣ１２０に１２ビットのデジタル信号を１６回出力する。
【００４３】
なお、２の補数形式の１６ビットスケールの値を１０進数で示すと、“＋３２７６７〜−３２７６８”の範囲となり、２の補数形式の１２ビットスケールの値を１０進数で示すと、“＋２０４７〜−２０４８”の範囲となる。したがって、１６ビットのデジタル信号を１２ビットのデジタル信号に変換するには、１６ビットスケールの値を１２ビットスケールの値の範囲の値に縮小する必要がある。
【００４４】
ここで、１６ビットスケールの値が“＋３２７６７”である場合には、１２ビットスケールの値は“＋２０４７”となればよい。すなわち、値Ｏｕｔ１を算出するための計算式は、式（５）のようになる。
【００４５】
【数５】
0005652873.tif 000006
【００４６】
一方、１６ビットスケールの値が“−３２７６８”である場合には、１２ビットスケールの値は“−２０４８”となればよい。すなわち、値Ｏｕｔ１を算出するための計算式は、式（６）のようになる。
【００４７】
【数６】
0005652873.tif 000007
【００４８】
１６ビットスケールの値の正負に応じて、値Ｏｕｔ１を算出するための式が異なると、値Ｏｕｔ１が不適当となることがあるので、式（５）または式（６）のいずれかに統一する必要がある。ここで、式（６）に統一すると、１６ビットスケールの値が“＋３２７６７”である場合には、値Ｏｕｔ１が“２０４７．９３７５”となり、１２ビットスケールの値の範囲を超えてしまう。そこで、値Ｏｕｔ１の算出に用いられる式は、より縮小率の大きい式（５）となる。
【００４９】
なお、式（５）における、“２０４７”は“２^１１（＝１２ビット（ＤＡＣ１２０がＤＡ変換可能なビット数）−１）−１”に相当し、“３２７６７”は“２^１５（＝１６ビット（入力されるデジタル信号のビット数）−１）−１”に相当する。したがって、ＤＡＣ１２０がＤＡ変換可能なビット数をＮとし、入力されるデジタル信号のビット数をＭとすると、上述した式（１）が導かれる。
【００５０】
スケール変換部１１１は、上述した式（５）を用いて、値Ｏｕｔ１を算出する。
【００５１】
ビット長変換部１１２は、値Ｏｕｔ１の小数点以下を切り捨てて、値Ｏｕｔ２とする。
【００５２】
誤差算出部１１３は、値Ｏｕｔ２を入力値Ｉｎ２とし、値Ｏｕｔ１を入力値Ｉｎ３とし、式（２）を用いて、値Ｏｕｔ３を算出する。
【００５３】
なお、入力値Ｉｎ２と入力値Ｉｎ３との差は、値Ｏｕｔ１の小数点以下の値であり、ビット長変換により生じる誤差に相当する。
【００５４】
誤差積算部１１５は、値Ｏｕｔ３を入力値Ｉｎ４とし、また、極性判定部１１６から出力された値Ｏｕｔ５を入力値Ｉｎ５とし、式（３）を用いて、値Ｏｕｔ４を算出する。
【００５５】
極性判定部１１６は、値Ｏｕｔ４を入力値Ｉｎ６とし、入力値Ｉｎ６が、０より大きい場合には“−１”を、０より小さい場合には“＋１”を、０である場合には“０”を、値Ｏｕｔ５として出力する。
【００５６】
出力値算出部１１７は、値Ｏｕｔ１を入力値Ｉｎ７とし、値Ｏｕｔ５を入力値Ｉｎ８とし、式（４）を用いて、値Ｏｕｔ６を算出し、ＤＡＣ１２０に出力する。
【００５７】
上述したように、１６ビットのデジタル信号の１回の入力に対して、ＤＳＰ１１０は、１２ビットのデジタル信号を１６回出力する。したがって、誤差積算部１１５、極性判定部１１６、および、出力値算出部１１７は、１回の１６ビットのデジタル信号の入力に対して、それぞれの動作を１６回繰り返す。
【００５８】
次に、ＤＡＣ１２０の動作を説明する。
【００５９】
なお、以下では、ＤＡＣ１２０は、１６ビットＤＡＣであるとする。また、１８ビットのデジタル信号がＤＳＰ１１０に入力され、ＤＳＰ１１０は、その１８ビットのデジタル信号を１６ビットのデジタル信号に変換してＤＡＣ１２０に出力するものとする。
【００６０】
まず、一般的な１６ビットＤＡＣの出力波形を図３に示す。
【００６１】
図３（ａ）は、一般的な１６ビットＤＡＣから出力される正弦波の一例を示す図である。また、図３（ｂ）は、図３（ａ）に示す点線で囲まれた部分を拡大した波形を示す図である。なお、図３（ｂ）において、点線で示された波形は、所望の出力波形を示す。
【００６２】
図３（ｂ）に示すように、１６ビットＤＡＣから所定のサンプリング周期で信号が出力され、その出力波形は階段状になっている。
【００６３】
なお、１６ビットＤＡＣの分解能（出力レベルの精度）は、６５５３５段（＝２^１６ビット−１）である。ここで、所望の出力値が、１６ビットＤＡＣの分解能の１段１段の間に位置する場合、所望の出力値と１６ビットＤＡＣの出力値との間に誤差が生じることになる。この誤差がＤＡＣの出力レベルの精度に影響する。
【００６４】
次に、一般的な１８ビットＤＡＣの出力波形を図４に示す。
【００６５】
図４（ａ）は、一般的な１８ビットＤＡＣから出力される正弦波の一例を示す図である。また、図４（ｂ）は、図４（ａ）に示す点線で囲まれた部分を拡大した波形を示す図である。なお、図４（ｂ）において、点線で示された波形は、所望の出力波形を示す。
【００６６】
１８ビットＤＡＣの分解能は、２６２１４３段（＝２^１８ビット−１）であり、出力レベル数が多いので、図４（ｂ）に示すように、１６ビットＤＡＣよりも所望の出力値との誤差を小さくすることができる。
【００６７】
次に、本実施形態におけるＤＡＣ１２０の出力波形を図５に示す。
【００６８】
図５（ａ）は、ＤＡＣ１２０から出力される正弦波の一例を示す図である。また、図５（ｂ）は、図５（ａ）に示す点線で囲まれた部分を拡大した波形を示す図である。なお、図５（ｂ）において、点線で示された波形は、所望の出力波形を示す。
【００６９】
ＤＡＣ１２０は、Ｍビットのデジタル信号の入力レートの４（＝２^（１８−１６））倍の出力レートとなるクロック信号が入力され、そのクロック信号により規定されるサンプリング周期で信号を出力する。
【００７０】
以下では、１８ビットスケールの値が“１３１０００１”であるとする。
【００７１】
ＤＳＰ１１０は、１８ビットスケールの値を１６ビットスケールの値に変換し、サンプリング周期Ａにおいては値“３２７５０１（３２７５００＋１ＬＳＢ）”を、サンプリング周期Ｂにおいては値“３２７４９９（３２７５００−１ＬＳＢ）”を、サンプリング周期Ｃにおいては値“３２７５０１（３２７５００＋１ＬＳＢ）”を、サンプリング周期Ｄにおいては値“３２７５００（０ＬＳＢ）”を示す１６ビットのデジタル信号を出力する。
【００７２】
なお、「３２７５００＋１ＬＳＢ」とは、“３２７５００”に“１”を加算することを示し、「３２７５００−１ＬＳＢ」とは、“３２７５００”から“１”を減算することを示し、「３２７５００（０ＬＳＢ）」とは、加算も減算も行わないことを示す。
【００７３】
ＤＡＣ１２０は、ＤＳＰ１１０から出力された１６ビットのデジタル信号に応じて、サンプリング周期Ａにおいては出力値“３２７５０１”の、サンプリング周期Ｂにおいては出力値“３２７４９９”の、サンプリング周期Ｃにおいては出力値“３２７５０１”の、サンプリング周期Ｄにおいては出力値“３２７５００”の信号を出力する。
【００７４】
すなわち、サンプリング周期Ａ〜Ｄにおいて、出力値“３２７５０１”の信号が２回、出力値“３２７５００”および出力値“３２７４９９”の信号が１回、出力される。
【００７５】
ここで、１６ビットスケールの値“３２７５０１”は１８ビットスケールの値“１３１０００４”に、１６ビットスケールの値“３２７４９９”は１８ビットスケールの値“１３０９９９６”に、１６ビットスケールの値“３２７５００”は１８ビットスケールの値“１３１００００”に相当する。
【００７６】
つまり、サンプリング周期Ａ〜Ｄにおいて、値“１３１０００４”に相当する信号が２回、値“１３１００００”および値“１３０９９９６”に相当する信号が１回、出力されたことになる。
【００７７】
したがって、サンプリング周期Ａ〜Ｄで平均すると、１８ビットスケールの値“１３１０００１”に相当する出力値の信号が出力されたことになるので、１６ビットＤＡＣであるＤＡＣ１２０の出力レベルの精度が、１８ビットＤＡＣ相当にまで、２ビット分拡張されたことになる。
【００７８】
なお、１６ビットスケールにビット長変換された値に、“１”を加算した値、“１”を減算した値、または、加算も減算も行わない値を出力値とする信号が、所定期間内において出力される回数に応じて、ＤＡＣ１２０から出力される信号の、１８ビットスケールで相当する値を表１のように調整することができる。表１において、「＋１」は、ビット長変換された値に、“＋１”を加算した値を示し、「−１」は“１”を減算した値を示し、「０」は加算も減算も行われていない値を示す。
【００７９】
【表１】
0005652873.tif 000008
【００８０】
このように、本実施形態においては、スケール変換部１１１およびビット長変換部１１２の出力値の誤差に応じて、所定期間におけるＤＡＣ１２０の出力値を増減させることで、ビット長変換により表現できなくなる値を再現する、パルス密度変調を行っている。
【００８１】
したがって、本実施形態においては、特許文献１に開示の技術のように、ビットの切り捨てにより表現できなくなる値に応じてパルス幅を異ならせる、パルス幅変調を行うための複数の加算器による並列処理が不要となり、拡張するビット数が増加しても処理負荷の増大を抑制することができる。
【００８２】
なお、「＋１」、「−１」、「０」の出力回数は、表１に示した例に限られるものではない。
【００８３】
また、上述したように、ＤＡＣ１２０の出力波形は階段状であるため、出力されるアナログ信号には高周波ノイズが混在する。通常、ＬＰＦ１３０を通過させることで、この高周波ノイズを減衰させているが、頻繁にＤＡＣ１２０の出力値を変化させると、高周波ノイズがさらに高域にシフトする。ノイズが高域にシフトすると、ＬＰＦ１３０による高周波ノイズを減衰が容易となり、ノイズの除去性能が上がる。したがって、「＋１」、「−１」、「０」の出力順序は、極力、同じ値が連続しないようにするのが望ましい。
【００８４】
このように本実施形態によれば、デジタルアナログ変換装置１００は、Ｍビットのデジタル信号をＮビットのデジタル信号にビット長変換し、ビット長変換により生じた誤差に応じて、所定期間におけるＤＡＣ１２０から出力される信号の出力値を“１”だけ増減させ、その所定期間におけるＤＡＣ１２０から出力される信号の出力値が、Ｍビットのデジタル信号に示される値に相当する値となるようにする。
【００８５】
したがって、処理負荷の増大を抑制しつつ、ＮビットＤＡＣであるＤＡＣ１２０のアナログ信号の出力レベルの精度を、ＭビットＤＡＣ相当まで拡張することができる。
【００８６】
なお、本実施形態においては、ＤＡＣ１２０が、マルチビット式のＤＡＣである場合を例として説明したが、本発明はこれに限られるものではなく、１ビットＤＡＣ、すなわち、バッファである場合にも適用することができる。
【００８７】
図６は、１ビットＤＡＣであるバッファを有するデジタルアナログ変換装置２００の構成を示す図である。
【００８８】
図６に示すデジタルアナログ変換装置２００は、ＤＳＰ２１０と、バッファ２２０と、帯域通過フィルタ（ＢＰＦ）２３０と、を有する。
【００８９】
Ｍビットのデジタル信号が、ＤＳＰ２１０に入力される。
【００９０】
ＤＳＰ２１０は、Ｍビットのデジタル信号が入力されると、１ビットのデジタル信号にビット長変換を行い、バッファ２２０に出力する。
【００９１】
バッファ２２０は、ＤＳＰ２１０から出力された１ビットのデジタル信号に応じた出力値の信号を、アナログ信号としてＢＰＦ２３０に出力する。
【００９２】
ＢＰＦ２３０は、バッファ２２０から出力されたアナログ信号の所定の帯域成分を通過させる。ここで、バッファ２２０は１ビットＤＡＣであるので、バッファ２２０から出力されるアナログ信号には、直流成分が残留する。この直流成分を除去するために、ＬＰＦ１３０からＢＰＦ２３０に変更される。なお、アナログ信号に直流成分が残留してもよい場合には、ＬＰＦ１３０を用いてもよい。
【００９３】
次に、ＤＳＰ２１０の構成を説明する。なお、バッファ２２０およびＢＰＦ２３０の構成は当業者にとってよく知られており、本発明と直接関係しないので、説明を省略する。
【００９４】
図７は、ＤＳＰ２１０の構成を示す図である。なお、図７において、図２と同様の構成については同じ符号を付し、説明を省略する。
【００９５】
図７に示すＤＳＰ２１０は、図２に示すＤＳＰ１１０と比較して、スケール変換部１１１をスケール変換部２１１に変更した点と、誤差算出部１１３を誤差算出部２１３に変更した点と、誤差積算部１１５を誤差積算部２１５に変更した点と、極性判定部１１６を極性判定部２１６に変更した点と、が異なる。
【００９６】
スケール変換部２１１は、Ｍビットのデジタル信号が入力されると、下記の式（７）を用いて、値Ｏｕｔ１を算出し、ビット長変換部１１２と誤差算出部２１３とに出力する。
【００９７】
【数７】
0005652873.tif 000009
【００９８】
なお、１６ビットスケールの値を１０進数で示すと、“０〜＋６５５３５”の範囲となる。また、１ビットスケールの値を１０進数で示すと、“０〜＋１”の範囲となる。したがって、１６ビットのデジタル信号を１ビットのデジタル信号に変換するには、その１６ビットスケールの値を１ビットのデジタル信号で示される範囲内の値に縮小する必要がある。
【００９９】
ここで、１６ビットスケールの値が“＋６５５３５”である場合には、１ビットスケールの値が“＋１”となればよい。すなわち、値Ｏｕｔ１を算出するための計算式は、式（８）のようになる。
【０１００】
【数８】
0005652873.tif 000010
【０１０１】
なお、式（８）における、“１”は、“２^１（＝１ビット（バッファ２２０がＤＡ変換可能なビット数））−１”に相当し、“６５５３５”は“２^１６（＝１６ビット（入力されるデジタル信号のビット数））−１”に相当する。
【０１０２】
ここで、式（８）においては、１６ビットスケールの値を縮小するのが目的であるため、 “６５５３５”を増加させてもよい。したがって、 “６５５３５”を、１だけ増加させた“６５５３６＝２^１６”に置き換えると、上述した式（７）が導かれる。
【０１０３】
誤差算出部２１３は、ビット長変換部１１２から出力された値Ｏｕｔ２を入力値Ｉｎ２とし、また、スケール変換部２１１から出力された値Ｏｕｔ１を入力値Ｉｎ３とし、下記の式（９）を用いて値Ｏｕｔ３を算出し、誤差積算部２１５に出力する。
【０１０４】
【数９】
0005652873.tif 000011
【０１０５】
誤差積算部２１５は、誤差算出部２１３から出力された値Ｏｕｔ３を入力値Ｉｎ４とし、また、極性判定部２１６から出力された値Ｏｕｔ５を入力値Ｉｎ５とし、下記の式（１０）を用いて値Ｏｕｔ４を算出し、極性判定部２１６に出力する。
【０１０６】
【数１０】
0005652873.tif 000012
【０１０７】
極性判定部２１６は、誤差積算部２１５から出力された値Ｏｕｔ４を入力値Ｉｎ６とし、入力値Ｉｎ６が、０以上の場合には“０”を、０未満の場合には“＋１”を、値Ｏｕｔ５として、誤差積算部２１５と出力値算出部１１７とに出力する。
【０１０８】
なお、上述したように、例えば、入力値Ｉｎとして、１６ビットスケールの値が入力される場合、その最大値は“６５５３５”となる。
【０１０９】
また、式（７）においては、入力値Ｉｎを“２^１６（＝６５５３６）”で除算する。したがって、スケール変換部２１１から出力される値Ｏｕｔ１は常に、“１”未満になる。なお、１６ビットスケールの値が入力される場合を例としてが、他のビットスケールの値が入力される場合にも同様に、値Ｏｕｔ１は“１”未満となる。
【０１１０】
値Ｏｕｔ１が常に“１”未満であれば、ビット長変換部１１２から出力される値Ｏｕｔ２は、常に０となり、式（９）は、式（１１）のようになる。
【０１１１】
【数１１】
0005652873.tif 000013
【０１１２】
つまり、誤差算出部２１３は、スケール変換部２１１から出力された値Ｏｕｔ１に、“２^Ｍ”を乗算して反転した値を値Ｏｕｔ３として出力することになる。
【０１１３】
ここで、スケール変換部２１１では、入力値Ｉｎを“２^Ｍ”で除算した値を値Ｏｕｔ１として出力し、誤差算出部２１３は、その値Ｏｕｔ１に“２^Ｍ”を乗算している。したがって、スケール変換部２１１による“２^Ｍ”での除算と誤差算出部２１３による“２^Ｍ”の乗算とは相殺されることから不要となり、入力値Ｉｎの極性を反転して誤差積算部２１５に入力すればよいということが分かる。
【０１１４】
入力値Ｉｎを反転した値を入力値Ｉｎ４として入力すると、値Ｏｕｔ４の算出に用いられる式は、式（１２）のようになる。
【０１１５】
【数１２】
0005652873.tif 000014
【０１１６】
また、値Ｏｕｔ２が常に０であるので、極性判定部２１６から出力された値Ｏｕｔ５がそのまま、値Ｏｕｔ６となる。したがって、式（４）を用いた演算は不要となる。
【０１１７】
上述した不要な処理を省くと、ＤＳＰ２１０の構成を、より簡略化できる。
【０１１８】
図８は、ＤＳＰ２１０の他の構成を示すブロック図である。なお、図８において、図７と同様の構成については同じ符号を付し、説明を省略する。
【０１１９】
図８示すＤＳＰ２１０は、図７に示すＤＳＰ２１０と比較して、誤差積算部２１５を誤差積算部２２５に変更した点と、極性判定部２１６を極性判定部２２６に変更した点と、スケール変換部２１１、ビット長変換部１１２、誤差算出部２１３、および、出力値算出部１１７を削除した点と、が異なる。
【０１２０】
誤差積算部２２５は、入力されたデジタル信号に示される値を入力値Ｉｎ４とし、式（１２）を用いて値Ｏｕｔ４を算出し、極性判定部２２６に出力する。
【０１２１】
極性判定部２２６は、値Ｏｕｔ５と入力値Ｉｎ６とし、入力値Ｉｎ６が、０以上の場合には“０”を、０未満の場合には“＋１”を、値Ｏｕｔ５として誤差積算部２２５とＤＡＣ２１０とに出力する。
【０１２２】
このように、デジタルアナログ変換装置２００によれば、ＤＡＣが１ビットＤＡＣである場合にも、処理負荷の増大を抑制しつつ、アナログ信号の出力レベルの精度を拡張することができる。
【符号の説明】
【０１２３】
１００，２００    デジタルアナログ変換装置
１１０，２１０    デジタルシグナルプロセッサ（ＤＳＰ）
１１１，２１１    スケール変換部
１１２    ビット長変換部
１１３，２１３    誤差算出部
１１４    出力値決定部
１１５，２１５，２２５    誤差積算部
１１６，２１６，２２６    極性判定部
１１７    出力値算出部
１２０    デジタルアナログコンバータ（ＤＡＣ）
１３０    ローパスフィルタ（ＬＰＦ）
２２０    バッファ
２３０    バンドパスフィルタ（ＢＰＦ）
【図１】
0005652873.tif 000015
【図２】
0005652873.tif 000016
【図３】
0005652873.tif 000017
【図４】
0005652873.tif 000018
【図５】
0005652873.tif 000019
【図６】
0005652873.tif 000020
【図７】
0005652873.tif 000021
【図８】
0005652873.tif 000022
【図９】
0005652873.tif 000023