デジタルアナログ変換装置およびその制御方法
【課題】処理負荷の増大を抑制しつつ、アナログ信号の出力レベルの精度を向上させる。
【解決手段】本発明のデジタルアナログ変換装置は、Nビットのデジタル信号をアナログ信号に変換して出力するDAコンバータと、所定のサンプリング周期で入力されるM(M>N)ビットのデジタル信号に示される第1の値を、Nビットのデジタル信号で示される範囲内の第2の値となるように所定比で縮小して出力するスケール変換部と、第2の値をNビットのデジタル信号で示される第3の値に変換して出力するビット長変換部と、所定のサンプリング周期内で、第2の値と第3の値との誤差を示す第4の値を入力値とする所定の演算を複数回行い、演算結果が0である場合には第3の値を、演算結果が正である場合には、第3の値から1を減算した第5の値を、演算結果が負である場合には、第3の値に1を加算した第6の値を、DAコンバータに出力する出力値決定部と、を有する。
【解決手段】本発明のデジタルアナログ変換装置は、Nビットのデジタル信号をアナログ信号に変換して出力するDAコンバータと、所定のサンプリング周期で入力されるM(M>N)ビットのデジタル信号に示される第1の値を、Nビットのデジタル信号で示される範囲内の第2の値となるように所定比で縮小して出力するスケール変換部と、第2の値をNビットのデジタル信号で示される第3の値に変換して出力するビット長変換部と、所定のサンプリング周期内で、第2の値と第3の値との誤差を示す第4の値を入力値とする所定の演算を複数回行い、演算結果が0である場合には第3の値を、演算結果が正である場合には、第3の値から1を減算した第5の値を、演算結果が負である場合には、第3の値に1を加算した第6の値を、DAコンバータに出力する出力値決定部と、を有する。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、デジタル信号をアナログ信号に変換するデジタルアナログ変換装置およびその制御方法に関する。
【背景技術】
【0002】
デジタル信号をアナログ信号に変換するDA変換を行うデジタルアナログコンバータ(DAC)においては、DACがDA変換を行うデジタル信号のビット数が多いほど、アナログ信号の出力レベル数が増加するので、ダイナミックレンジが増加し、出力レベルの精度が高くなる。具体的には、DA変換を行うデジタル信号のビット数が1ビット増えると、出力レベル数が2倍に増加し、ダイナミックレンジは6dB増加する。以下では、N(N≧2)ビットのデジタル信号のDA変換を行う、いわゆるマルチビット式のDACをNビットDACと称する。
【0003】
12ビットDACの場合、ダイナミックレンジは72dB(=12ビット×6dB)となる。この12ビットDACの最大出力レベルを0dBVとすると、出力レベルの範囲は、0dBV〜−72dBVとなる。ここで、必要な出力レベルの精度を実現するために、−90dBVの出力レベルが必要である場合には、12ビットDACよりもダイナミックレンジの大きいDACを使用する必要がある。
【0004】
しかし、DACを使用する際には、ダイナミックレンジだけでなく、アナログ信号の出力レート(アナログ信号の出力レベルの更新周期)も考慮する必要がある。
【0005】
一般に、DACとしては、高出力レート(MHz、GHzオーダー)であって、低ダイナミックレンジ(8ビットDAC、12ビットDACなど)のもの、または、低出力レート(kHzオーダー)であって、高ダイナミックレンジ(16ビットDAC、24ビットDACなど)のものが多く市販されている。
【0006】
図9(a)は、ダイナミックレンジと出力レートとに応じたDACの分布を示し、図9(b)は、出力レートでみた各領域に属するDACの種類数を示し、図9(c)は、ダイナミックレンジでみた各領域に属するDACの種類数を示す。図9に示すように、高出力レート、低ダイナミックレンジの領域(領域A)、および、低出力レート、高ダイナミックレンジの領域(領域C)に属するDACの種類が多く、中出力レート、中ダイナミックレンジの領域(領域B)に属するDACの種類が少ない。
【0007】
したがって、必要な出力レートおよびダイナミックレンジを同時に満たすDACが存在しない場合がある。
【0008】
そこで、特許文献1(特開2006−101049号公報)には、NビットDACを有し、M(M>N)ビットのデジタル信号が入力されるデジタルアナログ変換装置において、Mビットのデジタル信号から(M−N)ビット分を切り捨てたNビットのデジタル信号に示される値を出力値(出力レベル)とする信号をNビットDACに出力させるとともに、ビットの切り捨てにより信号の出力値では表現できなくなる値を、所定期間における信号のパルス幅により再現する技術が開示されている。
【0009】
特許文献1に開示の技術によれば、ビットの切り捨てにより表現できなくなる値を信号のパルス幅により再現することで、NビットDACのアナログ信号の出力レベルの精度を、MビットDAC相当にまで拡張することができるので、DACが必要な出力レベルの精度となるダイナミックレンジを満たさない場合にも、そのDACの出力レベルの精度を拡張させて使用することができる。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2006−101049号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、特許文献1に開示の技術においては、信号のパルス幅を異ならせるために、特許文献1の図13に示されるように、デジタルアナログ変換装置にN個の加算器を設け、これらの加算器に並列処理を行わせる。複数の加算器に並列処理させると、出力レベルの精度を拡張するビット数が増えるにつれて、処理負荷が増大するという課題がある。
【0012】
本発明の目的は、上述した課題を解決し、Mビットのデジタル信号をNビット(M>N)のDACで変換する際に、処理負荷の増大を抑制しつつ、アナログ信号の出力レベルの精度を向上させることができるデジタルアナログ変換装置およびその制御方法を提供することにある。
【課題を解決するための手段】
【0013】
上記目的を達成するために本発明のデジタルアナログ変換装置は、
Nビットのデジタル信号をアナログ信号に変換して出力するDAコンバータを有し、所定のサンプリング周期でM(M>N)ビットのデジタル信号が入力されるデジタルアナログ変換装置であって、
前記Mビットのデジタル信号に示される第1の値を、Nビットのデジタル信号で示される範囲内の第2の値となるように所定比で縮小して出力するスケール変換部と、
前記第2の値をNビットのデジタル信号で示される第3の値に変換して出力するビット長変換部と、
前記第2の値と前記第3の値との誤差を示す第4の値を算出して出力する誤差算出部と、
前記所定のサンプリング周期内で、前記第4の値を入力値とする所定の演算を複数回行い、演算結果が0である場合には前記第3の値を前記DAコンバータに出力し、前記演算結果が正である場合には、前記第3の値から1を減算した第5の値を前記DAコンバータに出力し、前記演算結果が負である場合には、前記第3の値に1を加算した第6の値を前記DAコンバータに出力する出力値決定部と、を有する。
【0014】
上記目的を達成するために本発明のデジタルアナログ変換装置の制御方法は、
Nビットのデジタル信号をアナログ信号に変換して出力するDAコンバータを有し、所定のサンプリング周期でM(M>N)ビットのデジタル信号が入力されるデジタルアナログ変換装置の制御方法であって、
スケール変換部が、前記Mビットのデジタル信号に示される第1の値を、Nビットのデジタル信号で示される範囲内の第2の値となるように所定比で縮小して出力し、
ビット長変換部が、前記第2の値をNビットのデジタル信号で示される第3の値に変換して出力し、
誤差算出部が、前記第2の値と前記第3の値との誤差を示す第4の値を算出して出力し、
出力値決定部が、前記所定のサンプリング周期内で、前記第4の値を入力値とする所定の演算を複数回行い、演算結果が0である場合には前記第3の値を前記DAコンバータに出力し、前記演算結果が正である場合には、前記第3の値から1を減算した第5の値を前記DAコンバータに出力し、前記演算結果が負である場合には、前記第3の値に1を加算した第6の値を前記DAコンバータに出力する。
【発明の効果】
【0015】
本発明によれば、ビット長変換による誤差に応じて所定の演算を行い、その演算結果に応じてアナログ信号の出力レベルを決定するので、DACの出力レベルの精度を拡張するビット数が増加しても、処理負荷の増大を抑制しつつ、アナログ信号の出力レベルの精度を向上させることができる。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施形態のデジタルアナログ変換装置の構成を示すブロック図である。
【図2】図1に示すDSPの構成を示すブロック図である。
【図3】関連する16ビットDACの出力波形を示す図である。
【図4】関連する18ビットDACの出力波形を示す図である。
【図5】図1に示すDACの出力波形を示す図である。
【図6】図1に示すDACが1ビットDACである場合の、デジタルアナログ変換装置の構成を示すブロック図である。
【図7】図6に示すDSPの構成の一例を示すブロック図である。
【図8】図6に示すDSPの構成の他の一例を示すブロック図である。
【図9】一般的なDACの性能による分布を示す図である。
【発明を実施するための形態】
【0017】
以下に、本発明を実施するための形態について図面を参照して説明する。
【0018】
図1は、本発明の一実施形態のデジタルアナログ変換装置の構成を示すブロック図である。
【0019】
図1に示すデジタルアナログ変換装置100は、デジタルシグナルプロセッサ(DSP)110と、N(N≧2)ビットDACであるDAコンバータ(DAC)120と、ローパスフィルタ(LPF)130と、を有する。
【0020】
M(M>N)ビットのデジタル信号がDSP110に入力される。
【0021】
DSP110は、Mビットのデジタル信号が入力されると、そのMビットのデジタル信号をNビットのデジタル信号にビット長変換し、DAC120に出力する。
【0022】
DAC120は、クロック信号が入力され、そのクロック信号により定まる出力レートで、DSP110から出力されたNビットのデジタル信号に示される値を出力値とするアナログ信号をLPF130に出力する。
【0023】
LPF130は、DAC120から出力されたアナログ信号の低域成分を通過させる。DAC120から出力されたアナログ信号の波形は、階段状の波形であるが、LPF130を通過させることで、連続的な波形となる。
【0024】
次に、DSP110の構成を説明する。なお、DAC120およびLPF130の構成は当業者にとってよく知られており、本発明と直接関係しないので、説明を省略する。
【0025】
図2は、DSP110の構成を示すブロック図である。
【0026】
図2に示すDSP110は、スケール変換部111と、ビット長変換部112と、誤差算出部113と、出力値決定部114と、を有する。
【0027】
また、出力値決定部114は、誤差積算部115と、極性判定部116と、出力値算出部117と、を有する。
【0028】
Mビットのデジタル信号がスケール変換部111に入力される。
【0029】
スケール変換部111は、下記の式(1)を用いて、Mビットのデジタル信号に示される値(以下、Mビットスケールの値と称する)Inを、Nビットのデジタル信号に示される値(以下、Nビットスケールの値と称する)の範囲内の値Out1に変換し、ビット長変換部112と誤差算出部113とに出力する。
【0030】
【数1】
【0031】
ビット長変換部112は、スケール変換部111から出力された値Out1を入力値In1とし、入力値In1の小数点以下を切り捨てた値Out2を、誤差算出部113と出力値算出部117とに出力する。
【0032】
誤差算出部113は、ビット長変換部112から出力された値Out2を入力値In2とし、また、スケール変換部111から出力された値Out1を入力値In3とし、下記の式(2)を用いて、値Out3を算出し、誤差積算部115に出力する。
【0033】
【数2】
【0034】
出力値決定部114は、DAC120から出力されるアナログ信号の出力値を決定し、決定した出力値を示すNビットのデジタル信号をDAC120に出力する。
【0035】
誤差積算部115は、誤差算出部113から出力された値Out3を入力値In4とし、また、極性判定部116から出力された値Out5を入力値In5とし、下記の式(3)を用いて、値Out4を算出し、極性判定部116に出力する。
【0036】
【数3】
【0037】
なお、式(3)において、値Out4’は前回出力された値Out4を示し、入力値In5’は極性判定部116から前回出力された値Out5を示す。
【0038】
極性判定部116は、誤差積算部115から出力された値Out4を入力値In6とし、入力値In6の正負を判定し、入力値In6が、0より大きい場合には“−1”を、0より小さい場合には“+1”を、0である場合には“0”を、値Out5として、誤差積算部115と出力値算出部117とに出力する。
【0039】
出力値算出部117は、ビット長変換部112から出力された値Out1を入力値In7とし、また、極性判定部116から出力された値Out5を入力値In8とし、下記の式(4)を用いて、値Out6を算出しDAC120に出力する。
【0040】
【数4】
【0041】
次に、DSP110の動作を説明する。
【0042】
なお、以下では、1MHzのレートで、2の補数形式の16ビットのデジタル信号がスケール変換部111に入力されるものとし、また、DAC120が、2の補数形式の12ビットのデジタル信号のDA変換を行う、12ビットDACである場合を例として説明する。この場合、DAC120には、出力レートが16MHz(=1MHz×2^4(=16−12))となるクロック信号が入力される。また、DSP110は、16ビットのデジタル信号の1回の入力に対して、DAC120に12ビットのデジタル信号を16回出力する。
【0043】
なお、2の補数形式の16ビットスケールの値を10進数で示すと、“+32767〜−32768”の範囲となり、2の補数形式の12ビットスケールの値を10進数で示すと、“+2047〜−2048”の範囲となる。したがって、16ビットのデジタル信号を12ビットのデジタル信号に変換するには、16ビットスケールの値を12ビットスケールの値の範囲の値に縮小する必要がある。
【0044】
ここで、16ビットスケールの値が“+32767”である場合には、12ビットスケールの値は“+2047”となればよい。すなわち、値Out1を算出するための計算式は、式(5)のようになる。
【0045】
【数5】
【0046】
一方、16ビットスケールの値が“−32768”である場合には、12ビットスケールの値は“−2048”となればよい。すなわち、値Out1を算出するための計算式は、式(6)のようになる。
【0047】
【数6】
【0048】
16ビットスケールの値の正負に応じて、値Out1を算出するための式が異なると、値Out1が不適当となることがあるので、式(5)または式(6)のいずれかに統一する必要がある。ここで、式(6)に統一すると、16ビットスケールの値が“+32767”である場合には、値Out1が“2047.9375”となり、12ビットスケールの値の範囲を超えてしまう。そこで、値Out1の算出に用いられる式は、より縮小率の大きい式(5)となる。
【0049】
なお、式(5)における、“2047”は“2^11(=12ビット(DAC120がDA変換可能なビット数)−1)−1”に相当し、“32767”は“2^15(=16ビット(入力されるデジタル信号のビット数)−1)−1”に相当する。したがって、DAC120がDA変換可能なビット数をNとし、入力されるデジタル信号のビット数をMとすると、上述した式(1)が導かれる。
【0050】
スケール変換部111は、上述した式(5)を用いて、値Out1を算出する。
【0051】
ビット長変換部112は、値Out1の小数点以下を切り捨てて、値Out2とする。
【0052】
誤差算出部113は、値Out2を入力値In2とし、値Out1を入力値In3とし、式(2)を用いて、値Out3を算出する。
【0053】
なお、入力値In2と入力値In3との差は、値Out1の小数点以下の値であり、ビット長変換により生じる誤差に相当する。
【0054】
誤差積算部115は、値Out3を入力値In4とし、また、極性判定部116から出力された値Out5を入力値In5とし、式(3)を用いて、値Out4を算出する。
【0055】
極性判定部116は、値Out4を入力値In6とし、入力値In6が、0より大きい場合には“−1”を、0より小さい場合には“+1”を、0である場合には“0”を、値Out5として出力する。
【0056】
出力値算出部117は、値Out1を入力値In7とし、値Out5を入力値In8とし、式(4)を用いて、値Out6を算出し、DAC120に出力する。
【0057】
上述したように、16ビットのデジタル信号の1回の入力に対して、DSP110は、12ビットのデジタル信号を16回出力する。したがって、誤差積算部115、極性判定部116、および、出力値算出部117は、1回の16ビットのデジタル信号の入力に対して、それぞれの動作を16回繰り返す。
【0058】
次に、DAC120の動作を説明する。
【0059】
なお、以下では、DAC120は、16ビットDACであるとする。また、18ビットのデジタル信号がDSP110に入力され、DSP110は、その18ビットのデジタル信号を16ビットのデジタル信号に変換してDAC120に出力するものとする。
【0060】
まず、一般的な16ビットDACの出力波形を図3に示す。
【0061】
図3(a)は、一般的な16ビットDACから出力される正弦波の一例を示す図である。また、図3(b)は、図3(a)に示す点線で囲まれた部分を拡大した波形を示す図である。なお、図3(b)において、点線で示された波形は、所望の出力波形を示す。
【0062】
図3(b)に示すように、16ビットDACから所定のサンプリング周期で信号が出力され、その出力波形は階段状になっている。
【0063】
なお、16ビットDACの分解能(出力レベルの精度)は、65535段(=2^16ビット−1)である。ここで、所望の出力値が、16ビットDACの分解能の1段1段の間に位置する場合、所望の出力値と16ビットDACの出力値との間に誤差が生じることになる。この誤差がDACの出力レベルの精度に影響する。
【0064】
次に、一般的な18ビットDACの出力波形を図4に示す。
【0065】
図4(a)は、一般的な18ビットDACから出力される正弦波の一例を示す図である。また、図4(b)は、図4(a)に示す点線で囲まれた部分を拡大した波形を示す図である。なお、図4(b)において、点線で示された波形は、所望の出力波形を示す。
【0066】
18ビットDACの分解能は、262143段(=2^18ビット−1)であり、出力レベル数が多いので、図4(b)に示すように、16ビットDACよりも所望の出力値との誤差を小さくすることができる。
【0067】
次に、本実施形態におけるDAC120の出力波形を図5に示す。
【0068】
図5(a)は、DAC120から出力される正弦波の一例を示す図である。また、図5(b)は、図5(a)に示す点線で囲まれた部分を拡大した波形を示す図である。なお、図5(b)において、点線で示された波形は、所望の出力波形を示す。
【0069】
DAC120は、Mビットのデジタル信号の入力レートの4(=2^(18−16))倍の出力レートとなるクロック信号が入力され、そのクロック信号により規定されるサンプリング周期で信号を出力する。
【0070】
以下では、18ビットスケールの値が“1310001”であるとする。
【0071】
DSP110は、18ビットスケールの値を16ビットスケールの値に変換し、サンプリング周期Aにおいては値“327501(327500+1LSB)”を、サンプリング周期Bにおいては値“327499(327500−1LSB)”を、サンプリング周期Cにおいては値“327501(327500+1LSB)”を、サンプリング周期Dにおいては値“327500(0LSB)”を示す16ビットのデジタル信号を出力する。
【0072】
なお、「327500+1LSB」とは、“327500”に“1”を加算することを示し、「327500−1LSB」とは、“327500”から“1”を減算することを示し、「327500(0LSB)」とは、加算も減算も行わないことを示す。
【0073】
DAC120は、DSP110から出力された16ビットのデジタル信号に応じて、サンプリング周期Aにおいては出力値“327501”の、サンプリング周期Bにおいては出力値“327499”の、サンプリング周期Cにおいては出力値“327501”の、サンプリング周期Dにおいては出力値“327500”の信号を出力する。
【0074】
すなわち、サンプリング周期A〜Dにおいて、出力値“327501”の信号が2回、出力値“327500”および出力値“327499”の信号が1回、出力される。
【0075】
ここで、16ビットスケールの値“327501”は18ビットスケールの値“1310004”に、16ビットスケールの値“327499”は18ビットスケールの値“1309996”に、16ビットスケールの値“327500”は18ビットスケールの値“1310000”に相当する。
【0076】
つまり、サンプリング周期A〜Dにおいて、値“1310004”に相当する信号が2回、値“1310000”および値“1309996”に相当する信号が1回、出力されたことになる。
【0077】
したがって、サンプリング周期A〜Dで平均すると、18ビットスケールの値“1310001”に相当する出力値の信号が出力されたことになるので、16ビットDACであるDAC120の出力レベルの精度が、18ビットDAC相当にまで、2ビット分拡張されたことになる。
【0078】
なお、16ビットスケールにビット長変換された値に、“1”を加算した値、“1”を減算した値、または、加算も減算も行わない値を出力値とする信号が、所定期間内において出力される回数に応じて、DAC120から出力される信号の、18ビットスケールで相当する値を表1のように調整することができる。表1において、「+1」は、ビット長変換された値に、“+1”を加算した値を示し、「−1」は“1”を減算した値を示し、「0」は加算も減算も行われていない値を示す。
【0079】
【表1】
【0080】
このように、本実施形態においては、スケール変換部111およびビット長変換部112の出力値の誤差に応じて、所定期間におけるDAC120の出力値を増減させることで、ビット長変換により表現できなくなる値を再現する、パルス密度変調を行っている。
【0081】
したがって、本実施形態においては、特許文献1に開示の技術のように、ビットの切り捨てにより表現できなくなる値に応じてパルス幅を異ならせる、パルス幅変調を行うための複数の加算器による並列処理が不要となり、拡張するビット数が増加しても処理負荷の増大を抑制することができる。
【0082】
なお、「+1」、「−1」、「0」の出力回数は、表1に示した例に限られるものではない。
【0083】
また、上述したように、DAC120の出力波形は階段状であるため、出力されるアナログ信号には高周波ノイズが混在する。通常、LPF130を通過させることで、この高周波ノイズを減衰させているが、頻繁にDAC120の出力値を変化させると、高周波ノイズがさらに高域にシフトする。ノイズが高域にシフトすると、LPF130による高周波ノイズを減衰が容易となり、ノイズの除去性能が上がる。したがって、「+1」、「−1」、「0」の出力順序は、極力、同じ値が連続しないようにするのが望ましい。
【0084】
このように本実施形態によれば、デジタルアナログ変換装置100は、Mビットのデジタル信号をNビットのデジタル信号にビット長変換し、ビット長変換により生じた誤差に応じて、所定期間におけるDAC120から出力される信号の出力値を“1”だけ増減させ、その所定期間におけるDAC120から出力される信号の出力値が、Mビットのデジタル信号に示される値に相当する値となるようにする。
【0085】
したがって、処理負荷の増大を抑制しつつ、NビットDACであるDAC120のアナログ信号の出力レベルの精度を、MビットDAC相当まで拡張することができる。
【0086】
なお、本実施形態においては、DAC120が、マルチビット式のDACである場合を例として説明したが、本発明はこれに限られるものではなく、1ビットDAC、すなわち、バッファである場合にも適用することができる。
【0087】
図6は、1ビットDACであるバッファを有するデジタルアナログ変換装置200の構成を示す図である。
【0088】
図6に示すデジタルアナログ変換装置200は、DSP210と、バッファ220と、帯域通過フィルタ(BPF)230と、を有する。
【0089】
Mビットのデジタル信号が、DSP210に入力される。
【0090】
DSP210は、Mビットのデジタル信号が入力されると、1ビットのデジタル信号にビット長変換を行い、バッファ220に出力する。
【0091】
バッファ220は、DSP210から出力された1ビットのデジタル信号に応じた出力値の信号を、アナログ信号としてBPF230に出力する。
【0092】
BPF230は、バッファ220から出力されたアナログ信号の所定の帯域成分を通過させる。ここで、バッファ220は1ビットDACであるので、バッファ220から出力されるアナログ信号には、直流成分が残留する。この直流成分を除去するために、LPF130からBPF230に変更される。なお、アナログ信号に直流成分が残留してもよい場合には、LPF130を用いてもよい。
【0093】
次に、DSP210の構成を説明する。なお、バッファ220およびBPF230の構成は当業者にとってよく知られており、本発明と直接関係しないので、説明を省略する。
【0094】
図7は、DSP210の構成を示す図である。なお、図7において、図2と同様の構成については同じ符号を付し、説明を省略する。
【0095】
図7に示すDSP210は、図2に示すDSP110と比較して、スケール変換部111をスケール変換部211に変更した点と、誤差算出部113を誤差算出部213に変更した点と、誤差積算部115を誤差積算部215に変更した点と、極性判定部116を極性判定部216に変更した点と、が異なる。
【0096】
スケール変換部211は、Mビットのデジタル信号が入力されると、下記の式(7)を用いて、値Out1を算出し、ビット長変換部112と誤差算出部213とに出力する。
【0097】
【数7】
【0098】
なお、16ビットスケールの値を10進数で示すと、“0〜+65535”の範囲となる。また、1ビットスケールの値を10進数で示すと、“0〜+1”の範囲となる。したがって、16ビットのデジタル信号を1ビットのデジタル信号に変換するには、その16ビットスケールの値を1ビットのデジタル信号で示される範囲内の値に縮小する必要がある。
【0099】
ここで、16ビットスケールの値が“+65535”である場合には、1ビットスケールの値が“+1”となればよい。すなわち、値Out1を算出するための計算式は、式(8)のようになる。
【0100】
【数8】
【0101】
なお、式(8)における、“1”は、“2^1(=1ビット(バッファ220がDA変換可能なビット数))−1”に相当し、“65535”は“2^16(=16ビット(入力されるデジタル信号のビット数))−1”に相当する。
【0102】
ここで、式(8)においては、16ビットスケールの値を縮小するのが目的であるため、 “65535”を増加させてもよい。したがって、 “65535”を、1だけ増加させた“65536=2^16”に置き換えると、上述した式(7)が導かれる。
【0103】
誤差算出部213は、ビット長変換部112から出力された値Out2を入力値In2とし、また、スケール変換部211から出力された値Out1を入力値In3とし、下記の式(9)を用いて値Out3を算出し、誤差積算部215に出力する。
【0104】
【数9】
【0105】
誤差積算部215は、誤差算出部213から出力された値Out3を入力値In4とし、また、極性判定部216から出力された値Out5を入力値In5とし、下記の式(10)を用いて値Out4を算出し、極性判定部216に出力する。
【0106】
【数10】
【0107】
極性判定部216は、誤差積算部215から出力された値Out4を入力値In6とし、入力値In6が、0以上の場合には“0”を、0未満の場合には“+1”を、値Out5として、誤差積算部215と出力値算出部117とに出力する。
【0108】
なお、上述したように、例えば、入力値Inとして、16ビットスケールの値が入力される場合、その最大値は“65535”となる。
【0109】
また、式(7)においては、入力値Inを“2^16(=65536)”で除算する。したがって、スケール変換部211から出力される値Out1は常に、“1”未満になる。なお、16ビットスケールの値が入力される場合を例としてが、他のビットスケールの値が入力される場合にも同様に、値Out1は“1”未満となる。
【0110】
値Out1が常に“1”未満であれば、ビット長変換部112から出力される値Out2は、常に0となり、式(9)は、式(11)のようになる。
【0111】
【数11】
【0112】
つまり、誤差算出部213は、スケール変換部211から出力された値Out1に、“2^M”を乗算して反転した値を値Out3として出力することになる。
【0113】
ここで、スケール変換部211では、入力値Inを“2^M”で除算した値を値Out1として出力し、誤差算出部213は、その値Out1に“2^M”を乗算している。したがって、スケール変換部211による“2^M”での除算と誤差算出部213による“2^M”の乗算とは相殺されることから不要となり、入力値Inの極性を反転して誤差積算部215に入力すればよいということが分かる。
【0114】
入力値Inを反転した値を入力値In4として入力すると、値Out4の算出に用いられる式は、式(12)のようになる。
【0115】
【数12】
【0116】
また、値Out2が常に0であるので、極性判定部216から出力された値Out5がそのまま、値Out6となる。したがって、式(4)を用いた演算は不要となる。
【0117】
上述した不要な処理を省くと、DSP210の構成を、より簡略化できる。
【0118】
図8は、DSP210の他の構成を示すブロック図である。なお、図8において、図7と同様の構成については同じ符号を付し、説明を省略する。
【0119】
図8示すDSP210は、図7に示すDSP210と比較して、誤差積算部215を誤差積算部225に変更した点と、極性判定部216を極性判定部226に変更した点と、スケール変換部211、ビット長変換部112、誤差算出部213、および、出力値算出部117を削除した点と、が異なる。
【0120】
誤差積算部225は、入力されたデジタル信号に示される値を入力値In4とし、式(12)を用いて値Out4を算出し、極性判定部226に出力する。
【0121】
極性判定部226は、値Out5と入力値In6とし、入力値In6が、0以上の場合には“0”を、0未満の場合には“+1”を、値Out5として誤差積算部225とDAC210とに出力する。
【0122】
このように、デジタルアナログ変換装置200によれば、DACが1ビットDACである場合にも、処理負荷の増大を抑制しつつ、アナログ信号の出力レベルの精度を拡張することができる。
【符号の説明】
【0123】
100,200 デジタルアナログ変換装置
110,210 デジタルシグナルプロセッサ(DSP)
111,211 スケール変換部
112 ビット長変換部
113,213 誤差算出部
114 出力値決定部
115,215,225 誤差積算部
116,216,226 極性判定部
117 出力値算出部
120 デジタルアナログコンバータ(DAC)
130 ローパスフィルタ(LPF)
220 バッファ
230 バンドパスフィルタ(BPF)
【技術分野】
【0001】
本発明は、デジタル信号をアナログ信号に変換するデジタルアナログ変換装置およびその制御方法に関する。
【背景技術】
【0002】
デジタル信号をアナログ信号に変換するDA変換を行うデジタルアナログコンバータ(DAC)においては、DACがDA変換を行うデジタル信号のビット数が多いほど、アナログ信号の出力レベル数が増加するので、ダイナミックレンジが増加し、出力レベルの精度が高くなる。具体的には、DA変換を行うデジタル信号のビット数が1ビット増えると、出力レベル数が2倍に増加し、ダイナミックレンジは6dB増加する。以下では、N(N≧2)ビットのデジタル信号のDA変換を行う、いわゆるマルチビット式のDACをNビットDACと称する。
【0003】
12ビットDACの場合、ダイナミックレンジは72dB(=12ビット×6dB)となる。この12ビットDACの最大出力レベルを0dBVとすると、出力レベルの範囲は、0dBV〜−72dBVとなる。ここで、必要な出力レベルの精度を実現するために、−90dBVの出力レベルが必要である場合には、12ビットDACよりもダイナミックレンジの大きいDACを使用する必要がある。
【0004】
しかし、DACを使用する際には、ダイナミックレンジだけでなく、アナログ信号の出力レート(アナログ信号の出力レベルの更新周期)も考慮する必要がある。
【0005】
一般に、DACとしては、高出力レート(MHz、GHzオーダー)であって、低ダイナミックレンジ(8ビットDAC、12ビットDACなど)のもの、または、低出力レート(kHzオーダー)であって、高ダイナミックレンジ(16ビットDAC、24ビットDACなど)のものが多く市販されている。
【0006】
図9(a)は、ダイナミックレンジと出力レートとに応じたDACの分布を示し、図9(b)は、出力レートでみた各領域に属するDACの種類数を示し、図9(c)は、ダイナミックレンジでみた各領域に属するDACの種類数を示す。図9に示すように、高出力レート、低ダイナミックレンジの領域(領域A)、および、低出力レート、高ダイナミックレンジの領域(領域C)に属するDACの種類が多く、中出力レート、中ダイナミックレンジの領域(領域B)に属するDACの種類が少ない。
【0007】
したがって、必要な出力レートおよびダイナミックレンジを同時に満たすDACが存在しない場合がある。
【0008】
そこで、特許文献1(特開2006−101049号公報)には、NビットDACを有し、M(M>N)ビットのデジタル信号が入力されるデジタルアナログ変換装置において、Mビットのデジタル信号から(M−N)ビット分を切り捨てたNビットのデジタル信号に示される値を出力値(出力レベル)とする信号をNビットDACに出力させるとともに、ビットの切り捨てにより信号の出力値では表現できなくなる値を、所定期間における信号のパルス幅により再現する技術が開示されている。
【0009】
特許文献1に開示の技術によれば、ビットの切り捨てにより表現できなくなる値を信号のパルス幅により再現することで、NビットDACのアナログ信号の出力レベルの精度を、MビットDAC相当にまで拡張することができるので、DACが必要な出力レベルの精度となるダイナミックレンジを満たさない場合にも、そのDACの出力レベルの精度を拡張させて使用することができる。
【先行技術文献】
【特許文献】
【0010】
【特許文献1】特開2006−101049号公報
【発明の概要】
【発明が解決しようとする課題】
【0011】
しかしながら、特許文献1に開示の技術においては、信号のパルス幅を異ならせるために、特許文献1の図13に示されるように、デジタルアナログ変換装置にN個の加算器を設け、これらの加算器に並列処理を行わせる。複数の加算器に並列処理させると、出力レベルの精度を拡張するビット数が増えるにつれて、処理負荷が増大するという課題がある。
【0012】
本発明の目的は、上述した課題を解決し、Mビットのデジタル信号をNビット(M>N)のDACで変換する際に、処理負荷の増大を抑制しつつ、アナログ信号の出力レベルの精度を向上させることができるデジタルアナログ変換装置およびその制御方法を提供することにある。
【課題を解決するための手段】
【0013】
上記目的を達成するために本発明のデジタルアナログ変換装置は、
Nビットのデジタル信号をアナログ信号に変換して出力するDAコンバータを有し、所定のサンプリング周期でM(M>N)ビットのデジタル信号が入力されるデジタルアナログ変換装置であって、
前記Mビットのデジタル信号に示される第1の値を、Nビットのデジタル信号で示される範囲内の第2の値となるように所定比で縮小して出力するスケール変換部と、
前記第2の値をNビットのデジタル信号で示される第3の値に変換して出力するビット長変換部と、
前記第2の値と前記第3の値との誤差を示す第4の値を算出して出力する誤差算出部と、
前記所定のサンプリング周期内で、前記第4の値を入力値とする所定の演算を複数回行い、演算結果が0である場合には前記第3の値を前記DAコンバータに出力し、前記演算結果が正である場合には、前記第3の値から1を減算した第5の値を前記DAコンバータに出力し、前記演算結果が負である場合には、前記第3の値に1を加算した第6の値を前記DAコンバータに出力する出力値決定部と、を有する。
【0014】
上記目的を達成するために本発明のデジタルアナログ変換装置の制御方法は、
Nビットのデジタル信号をアナログ信号に変換して出力するDAコンバータを有し、所定のサンプリング周期でM(M>N)ビットのデジタル信号が入力されるデジタルアナログ変換装置の制御方法であって、
スケール変換部が、前記Mビットのデジタル信号に示される第1の値を、Nビットのデジタル信号で示される範囲内の第2の値となるように所定比で縮小して出力し、
ビット長変換部が、前記第2の値をNビットのデジタル信号で示される第3の値に変換して出力し、
誤差算出部が、前記第2の値と前記第3の値との誤差を示す第4の値を算出して出力し、
出力値決定部が、前記所定のサンプリング周期内で、前記第4の値を入力値とする所定の演算を複数回行い、演算結果が0である場合には前記第3の値を前記DAコンバータに出力し、前記演算結果が正である場合には、前記第3の値から1を減算した第5の値を前記DAコンバータに出力し、前記演算結果が負である場合には、前記第3の値に1を加算した第6の値を前記DAコンバータに出力する。
【発明の効果】
【0015】
本発明によれば、ビット長変換による誤差に応じて所定の演算を行い、その演算結果に応じてアナログ信号の出力レベルを決定するので、DACの出力レベルの精度を拡張するビット数が増加しても、処理負荷の増大を抑制しつつ、アナログ信号の出力レベルの精度を向上させることができる。
【図面の簡単な説明】
【0016】
【図1】本発明の一実施形態のデジタルアナログ変換装置の構成を示すブロック図である。
【図2】図1に示すDSPの構成を示すブロック図である。
【図3】関連する16ビットDACの出力波形を示す図である。
【図4】関連する18ビットDACの出力波形を示す図である。
【図5】図1に示すDACの出力波形を示す図である。
【図6】図1に示すDACが1ビットDACである場合の、デジタルアナログ変換装置の構成を示すブロック図である。
【図7】図6に示すDSPの構成の一例を示すブロック図である。
【図8】図6に示すDSPの構成の他の一例を示すブロック図である。
【図9】一般的なDACの性能による分布を示す図である。
【発明を実施するための形態】
【0017】
以下に、本発明を実施するための形態について図面を参照して説明する。
【0018】
図1は、本発明の一実施形態のデジタルアナログ変換装置の構成を示すブロック図である。
【0019】
図1に示すデジタルアナログ変換装置100は、デジタルシグナルプロセッサ(DSP)110と、N(N≧2)ビットDACであるDAコンバータ(DAC)120と、ローパスフィルタ(LPF)130と、を有する。
【0020】
M(M>N)ビットのデジタル信号がDSP110に入力される。
【0021】
DSP110は、Mビットのデジタル信号が入力されると、そのMビットのデジタル信号をNビットのデジタル信号にビット長変換し、DAC120に出力する。
【0022】
DAC120は、クロック信号が入力され、そのクロック信号により定まる出力レートで、DSP110から出力されたNビットのデジタル信号に示される値を出力値とするアナログ信号をLPF130に出力する。
【0023】
LPF130は、DAC120から出力されたアナログ信号の低域成分を通過させる。DAC120から出力されたアナログ信号の波形は、階段状の波形であるが、LPF130を通過させることで、連続的な波形となる。
【0024】
次に、DSP110の構成を説明する。なお、DAC120およびLPF130の構成は当業者にとってよく知られており、本発明と直接関係しないので、説明を省略する。
【0025】
図2は、DSP110の構成を示すブロック図である。
【0026】
図2に示すDSP110は、スケール変換部111と、ビット長変換部112と、誤差算出部113と、出力値決定部114と、を有する。
【0027】
また、出力値決定部114は、誤差積算部115と、極性判定部116と、出力値算出部117と、を有する。
【0028】
Mビットのデジタル信号がスケール変換部111に入力される。
【0029】
スケール変換部111は、下記の式(1)を用いて、Mビットのデジタル信号に示される値(以下、Mビットスケールの値と称する)Inを、Nビットのデジタル信号に示される値(以下、Nビットスケールの値と称する)の範囲内の値Out1に変換し、ビット長変換部112と誤差算出部113とに出力する。
【0030】
【数1】
【0031】
ビット長変換部112は、スケール変換部111から出力された値Out1を入力値In1とし、入力値In1の小数点以下を切り捨てた値Out2を、誤差算出部113と出力値算出部117とに出力する。
【0032】
誤差算出部113は、ビット長変換部112から出力された値Out2を入力値In2とし、また、スケール変換部111から出力された値Out1を入力値In3とし、下記の式(2)を用いて、値Out3を算出し、誤差積算部115に出力する。
【0033】
【数2】
【0034】
出力値決定部114は、DAC120から出力されるアナログ信号の出力値を決定し、決定した出力値を示すNビットのデジタル信号をDAC120に出力する。
【0035】
誤差積算部115は、誤差算出部113から出力された値Out3を入力値In4とし、また、極性判定部116から出力された値Out5を入力値In5とし、下記の式(3)を用いて、値Out4を算出し、極性判定部116に出力する。
【0036】
【数3】
【0037】
なお、式(3)において、値Out4’は前回出力された値Out4を示し、入力値In5’は極性判定部116から前回出力された値Out5を示す。
【0038】
極性判定部116は、誤差積算部115から出力された値Out4を入力値In6とし、入力値In6の正負を判定し、入力値In6が、0より大きい場合には“−1”を、0より小さい場合には“+1”を、0である場合には“0”を、値Out5として、誤差積算部115と出力値算出部117とに出力する。
【0039】
出力値算出部117は、ビット長変換部112から出力された値Out1を入力値In7とし、また、極性判定部116から出力された値Out5を入力値In8とし、下記の式(4)を用いて、値Out6を算出しDAC120に出力する。
【0040】
【数4】
【0041】
次に、DSP110の動作を説明する。
【0042】
なお、以下では、1MHzのレートで、2の補数形式の16ビットのデジタル信号がスケール変換部111に入力されるものとし、また、DAC120が、2の補数形式の12ビットのデジタル信号のDA変換を行う、12ビットDACである場合を例として説明する。この場合、DAC120には、出力レートが16MHz(=1MHz×2^4(=16−12))となるクロック信号が入力される。また、DSP110は、16ビットのデジタル信号の1回の入力に対して、DAC120に12ビットのデジタル信号を16回出力する。
【0043】
なお、2の補数形式の16ビットスケールの値を10進数で示すと、“+32767〜−32768”の範囲となり、2の補数形式の12ビットスケールの値を10進数で示すと、“+2047〜−2048”の範囲となる。したがって、16ビットのデジタル信号を12ビットのデジタル信号に変換するには、16ビットスケールの値を12ビットスケールの値の範囲の値に縮小する必要がある。
【0044】
ここで、16ビットスケールの値が“+32767”である場合には、12ビットスケールの値は“+2047”となればよい。すなわち、値Out1を算出するための計算式は、式(5)のようになる。
【0045】
【数5】
【0046】
一方、16ビットスケールの値が“−32768”である場合には、12ビットスケールの値は“−2048”となればよい。すなわち、値Out1を算出するための計算式は、式(6)のようになる。
【0047】
【数6】
【0048】
16ビットスケールの値の正負に応じて、値Out1を算出するための式が異なると、値Out1が不適当となることがあるので、式(5)または式(6)のいずれかに統一する必要がある。ここで、式(6)に統一すると、16ビットスケールの値が“+32767”である場合には、値Out1が“2047.9375”となり、12ビットスケールの値の範囲を超えてしまう。そこで、値Out1の算出に用いられる式は、より縮小率の大きい式(5)となる。
【0049】
なお、式(5)における、“2047”は“2^11(=12ビット(DAC120がDA変換可能なビット数)−1)−1”に相当し、“32767”は“2^15(=16ビット(入力されるデジタル信号のビット数)−1)−1”に相当する。したがって、DAC120がDA変換可能なビット数をNとし、入力されるデジタル信号のビット数をMとすると、上述した式(1)が導かれる。
【0050】
スケール変換部111は、上述した式(5)を用いて、値Out1を算出する。
【0051】
ビット長変換部112は、値Out1の小数点以下を切り捨てて、値Out2とする。
【0052】
誤差算出部113は、値Out2を入力値In2とし、値Out1を入力値In3とし、式(2)を用いて、値Out3を算出する。
【0053】
なお、入力値In2と入力値In3との差は、値Out1の小数点以下の値であり、ビット長変換により生じる誤差に相当する。
【0054】
誤差積算部115は、値Out3を入力値In4とし、また、極性判定部116から出力された値Out5を入力値In5とし、式(3)を用いて、値Out4を算出する。
【0055】
極性判定部116は、値Out4を入力値In6とし、入力値In6が、0より大きい場合には“−1”を、0より小さい場合には“+1”を、0である場合には“0”を、値Out5として出力する。
【0056】
出力値算出部117は、値Out1を入力値In7とし、値Out5を入力値In8とし、式(4)を用いて、値Out6を算出し、DAC120に出力する。
【0057】
上述したように、16ビットのデジタル信号の1回の入力に対して、DSP110は、12ビットのデジタル信号を16回出力する。したがって、誤差積算部115、極性判定部116、および、出力値算出部117は、1回の16ビットのデジタル信号の入力に対して、それぞれの動作を16回繰り返す。
【0058】
次に、DAC120の動作を説明する。
【0059】
なお、以下では、DAC120は、16ビットDACであるとする。また、18ビットのデジタル信号がDSP110に入力され、DSP110は、その18ビットのデジタル信号を16ビットのデジタル信号に変換してDAC120に出力するものとする。
【0060】
まず、一般的な16ビットDACの出力波形を図3に示す。
【0061】
図3(a)は、一般的な16ビットDACから出力される正弦波の一例を示す図である。また、図3(b)は、図3(a)に示す点線で囲まれた部分を拡大した波形を示す図である。なお、図3(b)において、点線で示された波形は、所望の出力波形を示す。
【0062】
図3(b)に示すように、16ビットDACから所定のサンプリング周期で信号が出力され、その出力波形は階段状になっている。
【0063】
なお、16ビットDACの分解能(出力レベルの精度)は、65535段(=2^16ビット−1)である。ここで、所望の出力値が、16ビットDACの分解能の1段1段の間に位置する場合、所望の出力値と16ビットDACの出力値との間に誤差が生じることになる。この誤差がDACの出力レベルの精度に影響する。
【0064】
次に、一般的な18ビットDACの出力波形を図4に示す。
【0065】
図4(a)は、一般的な18ビットDACから出力される正弦波の一例を示す図である。また、図4(b)は、図4(a)に示す点線で囲まれた部分を拡大した波形を示す図である。なお、図4(b)において、点線で示された波形は、所望の出力波形を示す。
【0066】
18ビットDACの分解能は、262143段(=2^18ビット−1)であり、出力レベル数が多いので、図4(b)に示すように、16ビットDACよりも所望の出力値との誤差を小さくすることができる。
【0067】
次に、本実施形態におけるDAC120の出力波形を図5に示す。
【0068】
図5(a)は、DAC120から出力される正弦波の一例を示す図である。また、図5(b)は、図5(a)に示す点線で囲まれた部分を拡大した波形を示す図である。なお、図5(b)において、点線で示された波形は、所望の出力波形を示す。
【0069】
DAC120は、Mビットのデジタル信号の入力レートの4(=2^(18−16))倍の出力レートとなるクロック信号が入力され、そのクロック信号により規定されるサンプリング周期で信号を出力する。
【0070】
以下では、18ビットスケールの値が“1310001”であるとする。
【0071】
DSP110は、18ビットスケールの値を16ビットスケールの値に変換し、サンプリング周期Aにおいては値“327501(327500+1LSB)”を、サンプリング周期Bにおいては値“327499(327500−1LSB)”を、サンプリング周期Cにおいては値“327501(327500+1LSB)”を、サンプリング周期Dにおいては値“327500(0LSB)”を示す16ビットのデジタル信号を出力する。
【0072】
なお、「327500+1LSB」とは、“327500”に“1”を加算することを示し、「327500−1LSB」とは、“327500”から“1”を減算することを示し、「327500(0LSB)」とは、加算も減算も行わないことを示す。
【0073】
DAC120は、DSP110から出力された16ビットのデジタル信号に応じて、サンプリング周期Aにおいては出力値“327501”の、サンプリング周期Bにおいては出力値“327499”の、サンプリング周期Cにおいては出力値“327501”の、サンプリング周期Dにおいては出力値“327500”の信号を出力する。
【0074】
すなわち、サンプリング周期A〜Dにおいて、出力値“327501”の信号が2回、出力値“327500”および出力値“327499”の信号が1回、出力される。
【0075】
ここで、16ビットスケールの値“327501”は18ビットスケールの値“1310004”に、16ビットスケールの値“327499”は18ビットスケールの値“1309996”に、16ビットスケールの値“327500”は18ビットスケールの値“1310000”に相当する。
【0076】
つまり、サンプリング周期A〜Dにおいて、値“1310004”に相当する信号が2回、値“1310000”および値“1309996”に相当する信号が1回、出力されたことになる。
【0077】
したがって、サンプリング周期A〜Dで平均すると、18ビットスケールの値“1310001”に相当する出力値の信号が出力されたことになるので、16ビットDACであるDAC120の出力レベルの精度が、18ビットDAC相当にまで、2ビット分拡張されたことになる。
【0078】
なお、16ビットスケールにビット長変換された値に、“1”を加算した値、“1”を減算した値、または、加算も減算も行わない値を出力値とする信号が、所定期間内において出力される回数に応じて、DAC120から出力される信号の、18ビットスケールで相当する値を表1のように調整することができる。表1において、「+1」は、ビット長変換された値に、“+1”を加算した値を示し、「−1」は“1”を減算した値を示し、「0」は加算も減算も行われていない値を示す。
【0079】
【表1】
【0080】
このように、本実施形態においては、スケール変換部111およびビット長変換部112の出力値の誤差に応じて、所定期間におけるDAC120の出力値を増減させることで、ビット長変換により表現できなくなる値を再現する、パルス密度変調を行っている。
【0081】
したがって、本実施形態においては、特許文献1に開示の技術のように、ビットの切り捨てにより表現できなくなる値に応じてパルス幅を異ならせる、パルス幅変調を行うための複数の加算器による並列処理が不要となり、拡張するビット数が増加しても処理負荷の増大を抑制することができる。
【0082】
なお、「+1」、「−1」、「0」の出力回数は、表1に示した例に限られるものではない。
【0083】
また、上述したように、DAC120の出力波形は階段状であるため、出力されるアナログ信号には高周波ノイズが混在する。通常、LPF130を通過させることで、この高周波ノイズを減衰させているが、頻繁にDAC120の出力値を変化させると、高周波ノイズがさらに高域にシフトする。ノイズが高域にシフトすると、LPF130による高周波ノイズを減衰が容易となり、ノイズの除去性能が上がる。したがって、「+1」、「−1」、「0」の出力順序は、極力、同じ値が連続しないようにするのが望ましい。
【0084】
このように本実施形態によれば、デジタルアナログ変換装置100は、Mビットのデジタル信号をNビットのデジタル信号にビット長変換し、ビット長変換により生じた誤差に応じて、所定期間におけるDAC120から出力される信号の出力値を“1”だけ増減させ、その所定期間におけるDAC120から出力される信号の出力値が、Mビットのデジタル信号に示される値に相当する値となるようにする。
【0085】
したがって、処理負荷の増大を抑制しつつ、NビットDACであるDAC120のアナログ信号の出力レベルの精度を、MビットDAC相当まで拡張することができる。
【0086】
なお、本実施形態においては、DAC120が、マルチビット式のDACである場合を例として説明したが、本発明はこれに限られるものではなく、1ビットDAC、すなわち、バッファである場合にも適用することができる。
【0087】
図6は、1ビットDACであるバッファを有するデジタルアナログ変換装置200の構成を示す図である。
【0088】
図6に示すデジタルアナログ変換装置200は、DSP210と、バッファ220と、帯域通過フィルタ(BPF)230と、を有する。
【0089】
Mビットのデジタル信号が、DSP210に入力される。
【0090】
DSP210は、Mビットのデジタル信号が入力されると、1ビットのデジタル信号にビット長変換を行い、バッファ220に出力する。
【0091】
バッファ220は、DSP210から出力された1ビットのデジタル信号に応じた出力値の信号を、アナログ信号としてBPF230に出力する。
【0092】
BPF230は、バッファ220から出力されたアナログ信号の所定の帯域成分を通過させる。ここで、バッファ220は1ビットDACであるので、バッファ220から出力されるアナログ信号には、直流成分が残留する。この直流成分を除去するために、LPF130からBPF230に変更される。なお、アナログ信号に直流成分が残留してもよい場合には、LPF130を用いてもよい。
【0093】
次に、DSP210の構成を説明する。なお、バッファ220およびBPF230の構成は当業者にとってよく知られており、本発明と直接関係しないので、説明を省略する。
【0094】
図7は、DSP210の構成を示す図である。なお、図7において、図2と同様の構成については同じ符号を付し、説明を省略する。
【0095】
図7に示すDSP210は、図2に示すDSP110と比較して、スケール変換部111をスケール変換部211に変更した点と、誤差算出部113を誤差算出部213に変更した点と、誤差積算部115を誤差積算部215に変更した点と、極性判定部116を極性判定部216に変更した点と、が異なる。
【0096】
スケール変換部211は、Mビットのデジタル信号が入力されると、下記の式(7)を用いて、値Out1を算出し、ビット長変換部112と誤差算出部213とに出力する。
【0097】
【数7】
【0098】
なお、16ビットスケールの値を10進数で示すと、“0〜+65535”の範囲となる。また、1ビットスケールの値を10進数で示すと、“0〜+1”の範囲となる。したがって、16ビットのデジタル信号を1ビットのデジタル信号に変換するには、その16ビットスケールの値を1ビットのデジタル信号で示される範囲内の値に縮小する必要がある。
【0099】
ここで、16ビットスケールの値が“+65535”である場合には、1ビットスケールの値が“+1”となればよい。すなわち、値Out1を算出するための計算式は、式(8)のようになる。
【0100】
【数8】
【0101】
なお、式(8)における、“1”は、“2^1(=1ビット(バッファ220がDA変換可能なビット数))−1”に相当し、“65535”は“2^16(=16ビット(入力されるデジタル信号のビット数))−1”に相当する。
【0102】
ここで、式(8)においては、16ビットスケールの値を縮小するのが目的であるため、 “65535”を増加させてもよい。したがって、 “65535”を、1だけ増加させた“65536=2^16”に置き換えると、上述した式(7)が導かれる。
【0103】
誤差算出部213は、ビット長変換部112から出力された値Out2を入力値In2とし、また、スケール変換部211から出力された値Out1を入力値In3とし、下記の式(9)を用いて値Out3を算出し、誤差積算部215に出力する。
【0104】
【数9】
【0105】
誤差積算部215は、誤差算出部213から出力された値Out3を入力値In4とし、また、極性判定部216から出力された値Out5を入力値In5とし、下記の式(10)を用いて値Out4を算出し、極性判定部216に出力する。
【0106】
【数10】
【0107】
極性判定部216は、誤差積算部215から出力された値Out4を入力値In6とし、入力値In6が、0以上の場合には“0”を、0未満の場合には“+1”を、値Out5として、誤差積算部215と出力値算出部117とに出力する。
【0108】
なお、上述したように、例えば、入力値Inとして、16ビットスケールの値が入力される場合、その最大値は“65535”となる。
【0109】
また、式(7)においては、入力値Inを“2^16(=65536)”で除算する。したがって、スケール変換部211から出力される値Out1は常に、“1”未満になる。なお、16ビットスケールの値が入力される場合を例としてが、他のビットスケールの値が入力される場合にも同様に、値Out1は“1”未満となる。
【0110】
値Out1が常に“1”未満であれば、ビット長変換部112から出力される値Out2は、常に0となり、式(9)は、式(11)のようになる。
【0111】
【数11】
【0112】
つまり、誤差算出部213は、スケール変換部211から出力された値Out1に、“2^M”を乗算して反転した値を値Out3として出力することになる。
【0113】
ここで、スケール変換部211では、入力値Inを“2^M”で除算した値を値Out1として出力し、誤差算出部213は、その値Out1に“2^M”を乗算している。したがって、スケール変換部211による“2^M”での除算と誤差算出部213による“2^M”の乗算とは相殺されることから不要となり、入力値Inの極性を反転して誤差積算部215に入力すればよいということが分かる。
【0114】
入力値Inを反転した値を入力値In4として入力すると、値Out4の算出に用いられる式は、式(12)のようになる。
【0115】
【数12】
【0116】
また、値Out2が常に0であるので、極性判定部216から出力された値Out5がそのまま、値Out6となる。したがって、式(4)を用いた演算は不要となる。
【0117】
上述した不要な処理を省くと、DSP210の構成を、より簡略化できる。
【0118】
図8は、DSP210の他の構成を示すブロック図である。なお、図8において、図7と同様の構成については同じ符号を付し、説明を省略する。
【0119】
図8示すDSP210は、図7に示すDSP210と比較して、誤差積算部215を誤差積算部225に変更した点と、極性判定部216を極性判定部226に変更した点と、スケール変換部211、ビット長変換部112、誤差算出部213、および、出力値算出部117を削除した点と、が異なる。
【0120】
誤差積算部225は、入力されたデジタル信号に示される値を入力値In4とし、式(12)を用いて値Out4を算出し、極性判定部226に出力する。
【0121】
極性判定部226は、値Out5と入力値In6とし、入力値In6が、0以上の場合には“0”を、0未満の場合には“+1”を、値Out5として誤差積算部225とDAC210とに出力する。
【0122】
このように、デジタルアナログ変換装置200によれば、DACが1ビットDACである場合にも、処理負荷の増大を抑制しつつ、アナログ信号の出力レベルの精度を拡張することができる。
【符号の説明】
【0123】
100,200 デジタルアナログ変換装置
110,210 デジタルシグナルプロセッサ(DSP)
111,211 スケール変換部
112 ビット長変換部
113,213 誤差算出部
114 出力値決定部
115,215,225 誤差積算部
116,216,226 極性判定部
117 出力値算出部
120 デジタルアナログコンバータ(DAC)
130 ローパスフィルタ(LPF)
220 バッファ
230 バンドパスフィルタ(BPF)
【特許請求の範囲】
【請求項1】
Nビットのデジタル信号をアナログ信号に変換して出力するDAコンバータを有し、所定のサンプリング周期でM(M>N)ビットのデジタル信号が入力されるデジタルアナログ変換装置であって、
前記Mビットのデジタル信号に示される第1の値を、Nビットのデジタル信号で示される範囲内の第2の値となるように所定比で縮小して出力するスケール変換部と、
前記第2の値をNビットのデジタル信号で示される第3の値に変換して出力するビット長変換部と、
前記第2の値と前記第3の値との誤差を示す第4の値を算出して出力する誤差算出部と、
前記所定のサンプリング周期内で、前記第4の値を入力値とする所定の演算を複数回行い、演算結果が0である場合には前記第3の値を前記DAコンバータに出力し、前記演算結果が正である場合には、前記第3の値から1を減算した第5の値を前記DAコンバータに出力し、前記演算結果が負である場合には、前記第3の値に1を加算した第6の値を前記DAコンバータに出力する出力値決定部と、を有することを特徴とするデジタルアナログ変換装置。
【請求項2】
請求項1記載のデジタルアナログ変換装置において、
前記出力値決定部は、誤差積算部と、極性判定部と、出力値算出部と、を備え、
前記誤差積算部は、前記所定の演算として、前記第4の値と、前回の前記所定の演算の演算結果と、前回の極性判定部の出力値と、の加算を行い、演算結果を出力し、
前記極性判定部は、前記演算結果の正負を判定し、前記演算結果が0である場合には0を出力し、前記演算結果が正である場合には−1を出力し、前記演算結果が負である場合には+1を出力し、
前記出力値算出部は、前記第3の値に前記極性判定部の出力値を加算した値を前記DAコンバータに出力することを特徴とするデジタルアナログ変換装置。
【請求項3】
請求項1または2記載のデジタルアナログ変換装置において、
前記DAコンバータから出力されたアナログ信号の所定の帯域成分を通過させるフィルタをさらに有することを特徴とするデジタルアナログ変換装置。
【請求項4】
Nビットのデジタル信号をアナログ信号に変換して出力するDAコンバータを有し、所定のサンプリング周期でM(M>N)ビットのデジタル信号が入力されるデジタルアナログ変換装置の制御方法であって、
スケール変換部が、前記Mビットのデジタル信号に示される第1の値を、Nビットのデジタル信号で示される範囲内の第2の値となるように所定比で縮小して出力し、
ビット長変換部が、前記第2の値をNビットのデジタル信号で示される第3の値に変換して出力し、
誤差算出部が、前記第2の値と前記第3の値との誤差を示す第4の値を算出して出力し、
出力値決定部が、前記所定のサンプリング周期内で、前記第4の値を入力値とする所定の演算を複数回行い、演算結果が0である場合には前記第3の値を前記DAコンバータに出力し、前記演算結果が正である場合には、前記第3の値から1を減算した第5の値を前記DAコンバータに出力し、前記演算結果が負である場合には、前記第3の値に1を加算した第6の値を前記DAコンバータに出力することを特徴とするデジタルアナログ変換装置の制御方法。
【請求項5】
請求項4記載のデジタルアナログ変換装置の制御方法において、
誤差積算部が、前記所定の演算として、前記第4の値と、前回の前記所定の演算の演算結果と、前回の極性判定部の出力値と、の加算を行い、演算結果を出力し、
前記極性判定部が、前記演算結果の正負を判定し、前記演算結果が0である場合には0を出力し、前記演算結果が正である場合には−1を出力し、前記演算結果が負である場合には+1を出力し、
出力値算出部が、前記第3の値に前記極性判定部の出力値を加算した値を前記DAコンバータに出力することを特徴とするデジタルアナログ変換装置の制御方法。
【請求項1】
Nビットのデジタル信号をアナログ信号に変換して出力するDAコンバータを有し、所定のサンプリング周期でM(M>N)ビットのデジタル信号が入力されるデジタルアナログ変換装置であって、
前記Mビットのデジタル信号に示される第1の値を、Nビットのデジタル信号で示される範囲内の第2の値となるように所定比で縮小して出力するスケール変換部と、
前記第2の値をNビットのデジタル信号で示される第3の値に変換して出力するビット長変換部と、
前記第2の値と前記第3の値との誤差を示す第4の値を算出して出力する誤差算出部と、
前記所定のサンプリング周期内で、前記第4の値を入力値とする所定の演算を複数回行い、演算結果が0である場合には前記第3の値を前記DAコンバータに出力し、前記演算結果が正である場合には、前記第3の値から1を減算した第5の値を前記DAコンバータに出力し、前記演算結果が負である場合には、前記第3の値に1を加算した第6の値を前記DAコンバータに出力する出力値決定部と、を有することを特徴とするデジタルアナログ変換装置。
【請求項2】
請求項1記載のデジタルアナログ変換装置において、
前記出力値決定部は、誤差積算部と、極性判定部と、出力値算出部と、を備え、
前記誤差積算部は、前記所定の演算として、前記第4の値と、前回の前記所定の演算の演算結果と、前回の極性判定部の出力値と、の加算を行い、演算結果を出力し、
前記極性判定部は、前記演算結果の正負を判定し、前記演算結果が0である場合には0を出力し、前記演算結果が正である場合には−1を出力し、前記演算結果が負である場合には+1を出力し、
前記出力値算出部は、前記第3の値に前記極性判定部の出力値を加算した値を前記DAコンバータに出力することを特徴とするデジタルアナログ変換装置。
【請求項3】
請求項1または2記載のデジタルアナログ変換装置において、
前記DAコンバータから出力されたアナログ信号の所定の帯域成分を通過させるフィルタをさらに有することを特徴とするデジタルアナログ変換装置。
【請求項4】
Nビットのデジタル信号をアナログ信号に変換して出力するDAコンバータを有し、所定のサンプリング周期でM(M>N)ビットのデジタル信号が入力されるデジタルアナログ変換装置の制御方法であって、
スケール変換部が、前記Mビットのデジタル信号に示される第1の値を、Nビットのデジタル信号で示される範囲内の第2の値となるように所定比で縮小して出力し、
ビット長変換部が、前記第2の値をNビットのデジタル信号で示される第3の値に変換して出力し、
誤差算出部が、前記第2の値と前記第3の値との誤差を示す第4の値を算出して出力し、
出力値決定部が、前記所定のサンプリング周期内で、前記第4の値を入力値とする所定の演算を複数回行い、演算結果が0である場合には前記第3の値を前記DAコンバータに出力し、前記演算結果が正である場合には、前記第3の値から1を減算した第5の値を前記DAコンバータに出力し、前記演算結果が負である場合には、前記第3の値に1を加算した第6の値を前記DAコンバータに出力することを特徴とするデジタルアナログ変換装置の制御方法。
【請求項5】
請求項4記載のデジタルアナログ変換装置の制御方法において、
誤差積算部が、前記所定の演算として、前記第4の値と、前回の前記所定の演算の演算結果と、前回の極性判定部の出力値と、の加算を行い、演算結果を出力し、
前記極性判定部が、前記演算結果の正負を判定し、前記演算結果が0である場合には0を出力し、前記演算結果が正である場合には−1を出力し、前記演算結果が負である場合には+1を出力し、
出力値算出部が、前記第3の値に前記極性判定部の出力値を加算した値を前記DAコンバータに出力することを特徴とするデジタルアナログ変換装置の制御方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【公開番号】特開2012−129849(P2012−129849A)
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【出願番号】特願2010−280378(P2010−280378)
【出願日】平成22年12月16日(2010.12.16)
【出願人】(599161890)NECネットワーク・センサ株式会社 (71)
【Fターム(参考)】
【公開日】平成24年7月5日(2012.7.5)
【国際特許分類】
【出願日】平成22年12月16日(2010.12.16)
【出願人】(599161890)NECネットワーク・センサ株式会社 (71)
【Fターム(参考)】
[ Back to top ]