JP2005323207A - 信号変換装置および信号処理方法 - Google Patents
信号変換装置および信号処理方法 Download PDFInfo
- Publication number
- JP2005323207A JP2005323207A JP2004140350A JP2004140350A JP2005323207A JP 2005323207 A JP2005323207 A JP 2005323207A JP 2004140350 A JP2004140350 A JP 2004140350A JP 2004140350 A JP2004140350 A JP 2004140350A JP 2005323207 A JP2005323207 A JP 2005323207A
- Authority
- JP
- Japan
- Prior art keywords
- value
- signal
- conversion
- converter
- input
- 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
- Analogue/Digital Conversion (AREA)
- Control Of Amplification And Gain Control (AREA)
Abstract
【課題】 高い分解能が要求される多ビットA/Dコンバート機能を、よりビット数の少なく安価な低分解能のA/Dコンバータを用いて実現する信号変換装置を提供する。
【解決手段】
演算増幅器13の入力に、アナログの入力信号Vinの振幅値とD/Aコンバータ16から出力される信号の振幅値との差分値が入力されるようにする。CPU17は、D/Aコンバータ16の入力が“0”のとき(出力も0[V])には演算増幅器13の利得を第1利得に設定し、D/Aコンバータ16から入力信号Vinと略同一の振幅値の信号が入力されたときは演算増幅器13の利得を第1利得の複数倍の第2利得に高めるようにする。そして、2回のA/D変換を行い、両方のA/D変換値を勘案して、高精度な変換値を算出し、これを最終的な変換値として外部に出力する。
【選択図】 図1
【解決手段】
演算増幅器13の入力に、アナログの入力信号Vinの振幅値とD/Aコンバータ16から出力される信号の振幅値との差分値が入力されるようにする。CPU17は、D/Aコンバータ16の入力が“0”のとき(出力も0[V])には演算増幅器13の利得を第1利得に設定し、D/Aコンバータ16から入力信号Vinと略同一の振幅値の信号が入力されたときは演算増幅器13の利得を第1利得の複数倍の第2利得に高めるようにする。そして、2回のA/D変換を行い、両方のA/D変換値を勘案して、高精度な変換値を算出し、これを最終的な変換値として外部に出力する。
【選択図】 図1
Description
本発明は、アナログ信号およびその変化をデジタル値に変換する信号変換装置および信号処理方法に関する。
アナログ信号およびその変化をデジタル値に変換する信号変換装置として、アナログ−デジタル変換器(以後「A/Dコンバータ」という)がある。A/Dコンバータは、動作原理から全並列比較型、積分型などのように分類されるほか、分解能によっても分類される。分解能によってA/Dコンバータを分類する場合、識別可能な分解能の逆数を2進数表現の桁数で表し、nビットA/Dコンバータ(nは整数)のように表現される。
従来、入力されたアナログ信号をデジタル値に正確に変換するときは、分解能を上げる必要があるため、高いビット数のA/Dコンバータが採用されていた。しかし、高いビット数のA/Dコンバータは当然に高価であり、それを使用する電子機器の原価を上げてしまう。
一般に、A/Dコンバータがどの程度正確に変換されるかを表す変換確度は、その最小分解能と殆ど一致している。例えば12ビットA/Dコンバータの分解能は、1/4096で表されるが、この場合の変換確度も入力されるアナログ信号の変化範囲の1/4096以下であるのが普通である。しかし、A/Dコンバータの用途の中には、高分解能であることは要求されるが、その変換確度についてはそれほど要求されない用途がある。
図6は、このような用途の一例である電子回路のブロック図である。
図示された電子回路は、狭帯域増幅器(Narrow Band Amplifier)51への入力信号を増幅し、増幅した信号をその出力端子から後続のシステム52へ送り出す回路である。狭帯域増幅器51には、入力信号として、PLL(Phase Locked Loop)回路(PLL−IC)53により制御されることで、その周波数が決まるVCO(電圧制御発振器)54の出力が、電力制御回路(Power CONT)55でその振幅値が制御されて入力される。
図示された電子回路は、狭帯域増幅器(Narrow Band Amplifier)51への入力信号を増幅し、増幅した信号をその出力端子から後続のシステム52へ送り出す回路である。狭帯域増幅器51には、入力信号として、PLL(Phase Locked Loop)回路(PLL−IC)53により制御されることで、その周波数が決まるVCO(電圧制御発振器)54の出力が、電力制御回路(Power CONT)55でその振幅値が制御されて入力される。
狭帯域増幅器51からは、周波数ズレが検知できる信号が送り出され、AFC(Automatic Frequency Control:自動周波数制御回路)56に入力される。AFC56は、この信号をもとに周波数ズレに比例した誤差信号(電圧)を出力する。誤差増幅器(Error AMP)57は、この誤差信号を一定期間積分して出力する。この誤差増幅器57で積分された信号は、A/Dコンバータ58でデジタル信号に変換されてマイクロプロセッサ(μ−CPU)59に入力される。
マイクロプロセッサ59は、A/Dコンバータ58から出力されるデジタル信号を周波数に換算し、これをPLL回路53に入力する。このように周波数を変えることにより、出力周波数を一定に保っている。
マイクロプロセッサ59は、A/Dコンバータ58から出力されるデジタル信号を周波数に換算し、これをPLL回路53に入力する。このように周波数を変えることにより、出力周波数を一定に保っている。
しかしながら、AFC56は、周波数の誤差があれば、それを自動的に補正する信号を出力するものであるから、AFC56の出力信号を差分増幅器57で積分したものとそのときの周波数とは、厳密に一致している必要はない。狭帯域増幅器51の出力周波数は、マイクロプロセッサ59による制御内容に依存して一意に決まる。つまり、マイクロプロセッサ59が読み込んで実行する制御プログラムの内容次第で狭帯域増幅器51の出力周波数の値が決まる。
このような電子回路で必要とされる周波数の変化ステップおよび周波数の可変幅は、狭帯域増幅器51の帯域と中心周波数のバラツキで決まり、この比が、必要なA/Dコンバータ58の分解能を決めることになる。A/Dコンバータ58の出力は、VCO54の発振周波数にリンクしているので、周波数制御の最小幅は、A/Dコンバータ58の分解能で決まり、周波数可変幅は、A/Dコンバータ58の入力信号の振幅の変化幅となる。
図6に示される電子回路において、A/Dコンバータ58が12ビットA/Dコンバータで、例えば最初に実際の入力信号の変化範囲の「500/4096」(入力範囲の最大値を4096分割した中の500の意、以下、分数で表現するものについて同様)に相当する信号が入力されたときのA/Dコンバータ58の出力が「510/4096」であったとする。この場合、誤差(=「510/4096」−「500/4096」=「10/4096」)は、通常は問題とはならないが、次に入力された信号が例えば「505/4096」へと細かく変ったときに、その入力信号の変化量である「5/4096」に従い、A/Dコンバータ58の出力は、「(515±1)/4096」に変化する(510+5=515なので)、という動作が要求される。
ここで、±1は、一般的にA/D変換に付随する原理的な誤差である。
ここで、±1は、一般的にA/D変換に付随する原理的な誤差である。
本発明は、その分解能は必要とされるが、変換確度はそれほど要求されない用途等に使用することができる、低ビット数でありながら比較的高い分解能が確保できるA/Dコンバータを備えた信号変換装置およびアナログ信号からデジタル値に変換する際の分解能を高めることができる信号処理方法を提供することを、その課題とする。
本発明が提供する信号変換装置は、アナログ信号をデジタル信号に変換するA/Dコンバータ、デジタル信号をアナログ信号に変換するD/Aコンバータ、利得切換可能な演算増幅器およびこの演算増幅器の利得を制御する制御手段を備え、前記演算増幅器は、変換対象となるアナログの入力信号の振幅値と前記D/Aコンバータから出力される信号の振幅値との差分値を増幅し、増幅された信号を前記A/Dコンバータに入力するように構成されており、前記A/Dコンバータは、前記増幅された信号をデジタル変換して装置外部に出力可能にするとともに、当該デジタル変換した信号を前記D/Aコンバータに入力するように構成されており、前記制御手段は、前記D/Aコンバータに入力されるデジタル信号の値が初期値のときには前記演算増幅器の利得を第1利得に設定し、前記D/Aコンバータから前記アナログの入力信号と略同一の振幅値の信号が前記演算増幅器に入力されたときは当該演算増幅器の利得を前記第1利得の複数倍の第2利得に高めるように構成されている装置である。
前記制御手段は、例えば、前記A/Dコンバータで変換されたデジタル信号を一時的にメモリに保持するとともに、前記メモリから読み出したデジタル信号を前記D/Aコンバータに入力するように構成される。前記制御手段は、また、前記D/Aコンバータに入力すべきデジタル信号の値を前記A/Dコンバータに入力される入力信号の変化範囲に応じて修正するように構成することもできる。
前記A/Dコンバータおよび前記D/Aコンバータは、それぞれ所定の分解能で、入力された信号を変換して出力するものである。例えば、A/DコンバータとD/Aコンバータとが、共に1/2nの分解能であり(但し、nは正の整数)、前記第2利得が前記第1利得のN倍に高まるものである場合、第2利得の演算増幅器で増幅された増幅信号をA/Dコンバータでデジタル変換したときの分解能は1/(2n×N)となるものである。
本発明が提供する信号処理方法は、アナログの入力信号を第1利得の演算増幅器で増幅し、これにより得られた増幅信号をデジタル変換する第1のA/D変換過程と、この第1のA/D変換過程で得られた第1変換値(D1)を基に、それをアナログ変換したときに前記入力信号の振幅値と所定範囲内で近似する振幅値の第1入力相当値(E1)が得られる第1デジタル信号(D1’)を生成する過程と、この第1デジタル信号(D1’)のアナログ変換により得られた値と前記入力信号の振幅値との差分を前記第1利得のN倍(Nは2以上の自然数)の第2利得に切り換えた演算増幅器で増幅し、この増幅信号をデジタル変換する第2のA/D変換過程とを含み、前記Nにより重み付けされた前記第1変換値(D1)又は第1入力相当値(E1)と、前記第2のA/D変換過程で得られた第2変換値(D2)から導出した詳細差分を表す値(E2)とを合算することにより、前記入力信号に対応するデジタルの詳細変換値(K1)を生成する信号処理方法である。
ある実施の一態様では、前記Nで重み付けされた前記第1変換値(D1)又は第1入力相当値(E1)をデジタル変換のベース値(H)として所定のメモリに記憶しておき、前記第1デジタル信号(D1’)のアナログ変換により得られた値と新たな入力信号の振幅値との差分を前記第2利得の演算増幅器で増幅し、この増幅信号をデジタル変換する第3のA/D変換過程を含み、この第3のA/D変換過程で得られた第3変換値(D3)により得られた詳細差分を表す値(E3)と前記メモリに記憶されているベース値(H)とを合算することにより、前記新たな入力信号に対応する詳細変換値(K2)を生成する。
この信号処理方法における一実施の態様において、前記詳細差分を表す値(E3)が所定の第1変換許容範囲(DT1)を逸脱するかどうかを判定する第1判定過程をさらに含み、この第1判定過程により前記詳細差分を表す値(E3)が前記第1変換許容範囲(DT1)を逸脱すると判定されたときは当該詳細差分を表す値(E3)を破棄するようにしてもよい。
また、前記詳細差分を表す値(E3)が前記第1変換許容範囲(DT1)よりもさらに狭い第2変換許容範囲(DT2)を逸脱するかどうかを判定する第2判定過程をさらに含み、前記詳細差分を表す値(E3)が前記第1判定過程で前記第1変換許容範囲(DT1)内であるが前記第2判定過程で前記第2変換許容範囲(DT2)を逸脱すると判定されたときは、新たな入力信号による前記第2判定過程の判定結果が前記第2変換許容範囲(DT2)内となる方向にデジタル信号からアナログ信号への変換時の設定値と前記ベース値とを修正する。
また、前記詳細差分を表す値(E3)が前記第1変換許容範囲(DT1)よりもさらに狭い第2変換許容範囲(DT2)を逸脱するかどうかを判定する第2判定過程をさらに含み、前記詳細差分を表す値(E3)が前記第1判定過程で前記第1変換許容範囲(DT1)内であるが前記第2判定過程で前記第2変換許容範囲(DT2)を逸脱すると判定されたときは、新たな入力信号による前記第2判定過程の判定結果が前記第2変換許容範囲(DT2)内となる方向にデジタル信号からアナログ信号への変換時の設定値と前記ベース値とを修正する。
上記の修正の具体的な態様としては、例えば、直前の詳細変換値(K2)に最も近い値のデジタル補正データ(D3’)を算出してこのデジタル補正データ(D3’)をアナログ変換し、これにより得られたアナログ値と新たな入力信号の振幅値との差分を前記第2利得の演算増幅器で増幅し、この増幅信号をデジタル変換する第4のA/D変換過程を含み、この第4のA/D変換過程で得られた第4変換値(D4)により得られた詳細差分を表す値(E4)を前記直前の詳細変換値(K2)から差し引くことにより、前記メモリに記憶されているベース値を修正するようにする。
本発明によれば、安価な低分解能のA/Dコンバータを用いた場合であっても、それよりも高分解能のA/Dコンバータ機能を実現することができ、所望の高分解能を持った信号変換装置を従来よりも低コストで実現することができる。
本発明は、A/Dコンバータで変換した入力信号の振幅値に相当するデジタル値をもとにD/Aコンバータで入力信号の振幅値に近似した振幅値の信号を生成し、この信号の振幅値と入力信号の振幅値との差を表す微小の差分信号を得る。そして、この差分信号を比較的大きな利得の演算増幅器で増幅し、その演算増幅器の出力を再度同じA/DコンバータでA/D変換する。このように複数回のA/D変換による変換結果に基づいて、入力信号に対応する最終的なデジタル信号を得る。二回目以降のA/D変換出力の最小分解能に相当する入力信号の振幅値は、演算増幅器の利得に対応して細かなものとなっている。例えば10[mV]の分解能のA/Dコンバータの前段に、利得10倍の演算増幅器があるなら、入力換算の分解能は、1[mV]となる。本発明では、制御手段の一つであるCPUが、上記のように演算増幅器の利得増加分だけ細かくなった、より高分解能の変換結果によるデジタル信号を生成する。すなわち、本発明は、比較的分解能の低いA/Dコンバータを主体としつつ、D/Aコンバータと利得切換可能な演算増幅器、サンプルホールド回路等を利用して、CPUで各部品の制御と変換結果との演算とを行うことで、A/Dコンバータとしての分解能を高めたA/D変換機能を実現している。
A/Dコンバータによる変換結果であるデジタル信号は、アナログ値に対応する所定の値を呈することになる。そこで、以後の説明では、変換されたデジタル信号を「変換値」あるいは「変換された値」と称する。
A/Dコンバータによる変換結果であるデジタル信号は、アナログ値に対応する所定の値を呈することになる。そこで、以後の説明では、変換されたデジタル信号を「変換値」あるいは「変換された値」と称する。
[第1実施例]
以下、本発明の実施例を図面を参照して説明する。
図1は、本発明の第1実施例に係る信号変換装置の構成例を示すブロック図、図2および図3は、それぞれ、この実施例の信号変換装置における信号処理手順図である。
以下、本発明の実施例を図面を参照して説明する。
図1は、本発明の第1実施例に係る信号変換装置の構成例を示すブロック図、図2および図3は、それぞれ、この実施例の信号変換装置における信号処理手順図である。
図示される信号変換装置10は、信号入力側の前段に、信号入力端子S1より入力された、A/D変換の対象となる入力信号Vinを所定の振幅値で所定時間保持したまま出力するサンプルホールド回路11を設けている。
このサンプルホールド回路11は、ICとして市販されているものを利用することができる。ホールドする時間は、後述するCPU17によって決められる。以後の説明では、サンプルホールド回路を「S/H回路」と称する。
このサンプルホールド回路11は、ICとして市販されているものを利用することができる。ホールドする時間は、後述するCPU17によって決められる。以後の説明では、サンプルホールド回路を「S/H回路」と称する。
信号変換装置10は、また、反転バッファ回路12、抵抗器R6、その利得Gが“1”又は“16”のいずれか一方に切換制御可能な演算増幅器13、および、A/Dコンバータ14が、この順に直列に接続して構成されている。
演算増幅器13の入出力間には、抵抗器R3と外部から開閉制御可能な開閉スイッチ15および抵抗器R4の直列回路とが並列接続されており、抵抗値が開閉スイッチ15のオン・オフによって異なる帰還回路が形成されている。
演算増幅器13の反転入力端子(−)には、上記の帰還回路の入力端のほか、抵抗器R6および抵抗器R5のそれぞれの一端が接続されている。抵抗器R6の他端は反転バッファ回路12の出力端子に接続され、抵抗器R5の他端は、D/Aコンバータ16の出力端子に、それぞれ接続されている。
A/Dコンバータ14およびD/Aコンバータ16は、CPU17と共にバスに接続されており、CPU17によりその動作が制御され、また、CPU17との間でデジタル信号の受け渡しを行うように構成されている。
演算増幅器13の入出力間には、抵抗器R3と外部から開閉制御可能な開閉スイッチ15および抵抗器R4の直列回路とが並列接続されており、抵抗値が開閉スイッチ15のオン・オフによって異なる帰還回路が形成されている。
演算増幅器13の反転入力端子(−)には、上記の帰還回路の入力端のほか、抵抗器R6および抵抗器R5のそれぞれの一端が接続されている。抵抗器R6の他端は反転バッファ回路12の出力端子に接続され、抵抗器R5の他端は、D/Aコンバータ16の出力端子に、それぞれ接続されている。
A/Dコンバータ14およびD/Aコンバータ16は、CPU17と共にバスに接続されており、CPU17によりその動作が制御され、また、CPU17との間でデジタル信号の受け渡しを行うように構成されている。
この実施例では、A/Dコンバータ14は、入力信号の変化範囲が“−1”〜“1”[V]で、8ビット分解能のもの、D/Aコンバータ16は、出力信号の変化範囲“−1”〜“1”[V]で、8ビット分解能のものをそれぞれ使用しており、この信号処理装置10に入力されるアナログの入力信号Vinに対して、12ビットA/Dコンバータと同様の分解能でA/D変換を行うようにしている。このときの各部の動作については、後で詳しく説明する。
演算増幅器13の利得Gを切り換えるための開閉スイッチ15としては、CPU17により制御される半導体スイッチを用いることができる。
演算増幅器13の利得Gを切り換えるための開閉スイッチ15としては、CPU17により制御される半導体スイッチを用いることができる。
演算増幅器13は、この信号変換装置10に入力される入力信号Vinの振幅値に等しくなるS/H回路11の出力V1に対して反転バッファ回路12が挿入されているので、この出力V1に対しては非反転増幅器として動作する。他方、D/Aコンバータ16の出力V2に対しては、演算増幅器13は、反転増幅器として動作する。演算増幅器13は、これらの出力V1、V2のアナログ減算結果を出力する。演算増幅器13の出力V3は、上記の出力V1から出力V2を差し引いた値に利得Gを乗算したものとなる。
利得Gは、開閉スイッチ15のオン、オフに応じて“1”又は“16”に切り替わる。すなわち、開閉スイッチ15がオンのときは、負帰還回路の抵抗器が抵抗器R3と抵抗器R4の並列回路になるので利得Gが“1”、開閉スイッチ15がオフのときは、負帰還回路の抵抗器が抵抗器R3のみとなるので利得Gは“16”となる。
CPU17は、A/Dコンバータ14で変換されたデジタル信号を一時的に保持し、この保持したデジタル信号をD/Aコンバータ16に入力させるほか、開閉スイッチ15のオン・オフ制御、S/H回路11の動作制御などを行う。
なお、CPU17は専用に設けてもよいが、この信号処理装置10が組み込まれる電子機器の動作制御用に設けられたCPUがあれば、そのCPUの動作手順を定めるソフトウエア(プログラムおよびデータ)の一部を変更することにより、そのCPUを代用することもできる。
なお、CPU17は専用に設けてもよいが、この信号処理装置10が組み込まれる電子機器の動作制御用に設けられたCPUがあれば、そのCPUの動作手順を定めるソフトウエア(プログラムおよびデータ)の一部を変更することにより、そのCPUを代用することもできる。
<信号変換装置の処理手順>
次に、図1に示した構成の信号変換装置10による処理手順を図2に従って説明する。
前提として、A/Dコンバータ14およびD/Aコンバータ16における、デジタル値とそれに対応するアナログ信号との関係は、先に示したアナログ電圧範囲が”−1”〜”1”、8ビット分解能のA/Dコンバータ14及びD/Aコンバータ16の入力及び出力であり、代表的な値は、図7に示される関係であるものとする。
信号変換装置10は、CPU17が、D/Aコンバータ16の入力側に初期値として0[V]をセットする。これにより、D/Aコンバータ16からは、0[V]のアナログ信号が出力される(ステップS1)。
CPU17は、また、S/H回路11を制御して、現在の入力信号Vinの振幅値をホールドさせる(ステップS2)。これにより、S/H回路11からは、振幅値が所定期間一定となるアナログ信号(出力V1)が出力される。CPU17は、初期段階では、開閉スイッチ15を閉じて演算増幅器13の利得Gを第1利得である”1”に設定する(ステップS3)。そして、S/H回路11の出力V1を抵抗器R1、反転バッファ回路12を介して演算増幅器13に入力する。この演算増幅器13で増幅された信号は、A/Dコンバータ14で変換されてデジタルの変換値D1を生成する(ステップS4)。この段階で、CPU17が読みとる変換値D1は、A/D変換過程における暫定的な入力相当値、すなわち入力信号Vinのホールドされた振幅値に相当するデジタル値である。
次に、図1に示した構成の信号変換装置10による処理手順を図2に従って説明する。
前提として、A/Dコンバータ14およびD/Aコンバータ16における、デジタル値とそれに対応するアナログ信号との関係は、先に示したアナログ電圧範囲が”−1”〜”1”、8ビット分解能のA/Dコンバータ14及びD/Aコンバータ16の入力及び出力であり、代表的な値は、図7に示される関係であるものとする。
信号変換装置10は、CPU17が、D/Aコンバータ16の入力側に初期値として0[V]をセットする。これにより、D/Aコンバータ16からは、0[V]のアナログ信号が出力される(ステップS1)。
CPU17は、また、S/H回路11を制御して、現在の入力信号Vinの振幅値をホールドさせる(ステップS2)。これにより、S/H回路11からは、振幅値が所定期間一定となるアナログ信号(出力V1)が出力される。CPU17は、初期段階では、開閉スイッチ15を閉じて演算増幅器13の利得Gを第1利得である”1”に設定する(ステップS3)。そして、S/H回路11の出力V1を抵抗器R1、反転バッファ回路12を介して演算増幅器13に入力する。この演算増幅器13で増幅された信号は、A/Dコンバータ14で変換されてデジタルの変換値D1を生成する(ステップS4)。この段階で、CPU17が読みとる変換値D1は、A/D変換過程における暫定的な入力相当値、すなわち入力信号Vinのホールドされた振幅値に相当するデジタル値である。
なお、以後の説明では、A/Dコンバータ14により複数回行うA/D変換の各々を、そのときの演算増幅器13等の利得の設定や変換時までの過程に応じて、他の回でのA/D変換と区別するために、便宜上、初回のものは第1のA/D変換、2回目のものは第2のA/D変換、…と表現し、それにより得られる変換値を第1変換値、第2変換値、…のように表現する。また、最終的な値としてA/Dコンバータ14から出力される変換値をA/D変換値と表現する。
一般に、A/Dコンバータ14によるアナログ信号からデジタル値ヘの変換は、デジタル信号の値をD、アナログ値をE、アナログ信号の振幅値が電圧であるときの1ステップ電圧(1[LSB])の値をMとすると、下記の(1)式の演算により求められる。
但し、具体的な例として、入力電圧範囲”−1”〜”1”[V]、8ビットのA/Dコンバータとしての数値を示している。
D=INT[(E+1)/M]−128 …(1)
但し、「INT」はその数値を超えない最大の整数を返すための関数である。また、このときの「M」は、電圧幅である2[V]と上述した分解能「1/256」とから、0.0078125[V]となる数値であるが、以下の説明では、便宜上、「M」を「2/256」として説明する。
但し、具体的な例として、入力電圧範囲”−1”〜”1”[V]、8ビットのA/Dコンバータとしての数値を示している。
D=INT[(E+1)/M]−128 …(1)
但し、「INT」はその数値を超えない最大の整数を返すための関数である。また、このときの「M」は、電圧幅である2[V]と上述した分解能「1/256」とから、0.0078125[V]となる数値であるが、以下の説明では、便宜上、「M」を「2/256」として説明する。
CPU17は、A/Dコンバータ14の入力信号Vinの振幅値に近似した入力相当値E1を、第1変換値D1から算出する(ステップS5)。そして、D/Aコンバータ16から、入力相当値E1に近い値を出力させるためのデータD1′を算出する(ステップS6)。データD1′は、好ましくは、その値が入力相当値E1に最も近いデータとする。
D/Aコンバータ16における、デジタル値Dからアナログ値Eヘの変換は、下記の(2)式により求めることができる。
E=D×M ……(2)
このときの「M」は、D/Aコンバータの1ステップ電圧(1[LSB])であり、上記具体例のD/Aコンバータ16の場合は、「2/256」となる。
E=D×M ……(2)
このときの「M」は、D/Aコンバータの1ステップ電圧(1[LSB])であり、上記具体例のD/Aコンバータ16の場合は、「2/256」となる。
CPU17は、上記のようにして求めたデータD1′をD/Aコンバータ16の入力側にセットする(ステップS7)。なお、以上は、A/Dコンバータ14の分解能と異なる分解能のD/Aコンバータ16を使用することもできるので、この場合にも共通する汎用性のある処理として説明しているが、本例では、D/Aコンバータ16も8ビットであるから、A/Dコンバータ14から得られた8ビットの第1A/D変換値D1をそのままデータD1′として、D/Aコンバータ16の入力側にセットするようにしてもよい。
次いで、CPU17は、開閉スイッチ15をオフにすることで、演算増幅器13の利得Gを第2利得である“16”に設定する(ステップS8)。その後、演算増幅器13の出力を再度A/Dコンバータ14に入力することで第2のA/D変換を行い、第2変換値D2を生成する(ステップS9)。この第2変換値D2は、D/Aコンバータ16の出力V2とS/H回路11の出力V1との差分を16倍した値である。つまり、分解能「1/256」のA/Dコンバータ14への入力信号の変化範囲である「256/256」の「1/16」に相当する範囲を、分解能「1/256」でA/D変換したことに相当し、そのA/Dコンバータ14の入力信号の変化範囲を12ビット相当の「1/4096」の分解能でデジタル変換したことと、ほぼ等価となる。
CPU17は、上記のようにして生成した第2変換値D2から詳細差分を表す値となる新たな入力相当値E2を算出する(ステップS10)。そして、第1のA/D変換により得られた第1変換値D1と利得”16”との乗算により得られる値と、上述の入力相当値E2とを合算して、最終的な変換値K1(=D1×”16”+E2)を算出し(ステップS11′)、これを信号変換装置10の最終的な変換値K1としてCPU17から出力する(ステップS12′)。
このように、信号変換装置10への入力信号を分解能[1/(256×16)]でA/D変換することにより、分解能を高めた変換値K1を得ることができる。
以後は、ステップS1からステップS11′の処理を繰り返すことにより、高分解能の変換値を、入力信号の変化に応じて順次連続的に求めることができる。
なお、上述した、第1変換値D1と利得”16”との乗算により得られる値は、分解能を高めた変換値K1のベースとなる値という意味で、以後の説明では、「ベース値H」と称する。
このように、信号変換装置10への入力信号を分解能[1/(256×16)]でA/D変換することにより、分解能を高めた変換値K1を得ることができる。
以後は、ステップS1からステップS11′の処理を繰り返すことにより、高分解能の変換値を、入力信号の変化に応じて順次連続的に求めることができる。
なお、上述した、第1変換値D1と利得”16”との乗算により得られる値は、分解能を高めた変換値K1のベースとなる値という意味で、以後の説明では、「ベース値H」と称する。
参考までに、上記の動作の具体的内容を数値を挙げて説明する。
D/Aコンバータ16の入力側に初期値として0[V]がセットされ(ステップS1)、これにより、演算増幅器13の入力として、例えば0.333[V]のアナログ電圧が入力信号Vinとして入力されたとする。CPU17は、第1のA/D変換を行うために、この入力信号Vinをサンプルホールドした後(ステップS2)、D/Aコンバータ16の出力信号(0[V]のアナログ信号)との差分を求める。具体的には、両信号の振幅値を差し引く。そして、その振幅値を利得”1”の演算増幅器13で増幅し、この増幅信号を8ビットA/Dコンバータ14でA/D変換して、第1変換値D1を得る(ステップS3、ステップS4)。この第1変換値D1は、上述した「INT[256×(0.333+1)/2]−128」の演算により、”42”として求められる。CPU17は、この”42”をD/Aコンバータ16の入力側にセットする(ステップS7)。これにより、D/Aコンバータ16からは、0.328(=2×「42/256」)[V]のアナログ信号が出力される。ここでは、誤差を考慮して、D/Aコンバータ16から、0.320[V]のアナログ信号が出力されるものとする。
D/Aコンバータ16の入力側に初期値として0[V]がセットされ(ステップS1)、これにより、演算増幅器13の入力として、例えば0.333[V]のアナログ電圧が入力信号Vinとして入力されたとする。CPU17は、第1のA/D変換を行うために、この入力信号Vinをサンプルホールドした後(ステップS2)、D/Aコンバータ16の出力信号(0[V]のアナログ信号)との差分を求める。具体的には、両信号の振幅値を差し引く。そして、その振幅値を利得”1”の演算増幅器13で増幅し、この増幅信号を8ビットA/Dコンバータ14でA/D変換して、第1変換値D1を得る(ステップS3、ステップS4)。この第1変換値D1は、上述した「INT[256×(0.333+1)/2]−128」の演算により、”42”として求められる。CPU17は、この”42”をD/Aコンバータ16の入力側にセットする(ステップS7)。これにより、D/Aコンバータ16からは、0.328(=2×「42/256」)[V]のアナログ信号が出力される。ここでは、誤差を考慮して、D/Aコンバータ16から、0.320[V]のアナログ信号が出力されるものとする。
このD/Aコンバータ16から出力されるアナログ信号と、S/H回路11の反転出力信号とを演算増幅器13に入力して、これを”16”の利得で増幅する。この演算増幅器13による増幅信号、すなわち出力V3は、0.208(=(0.333−0.320)×16)[V]となる。この出力V3に対して第2のA/D変換を行う(ステップS9)。これにより生成される第2変換値D2は、”26”(=INT[256×(0.208+1)/2]−128)となる。
ベース値Hは、”672”(=42×16)となり、最終的に算出される変換値K1は、”698”(=672+26)となる(ステップS10′、ステップS11′)。
このようにして、入力信号Vinに対する12ビットA/Dコンバータ相当の高分解能の変換値K1を得ることができる。
このようにして、入力信号Vinに対する12ビットA/Dコンバータ相当の高分解能の変換値K1を得ることができる。
なお、0.333[V]を直接12ビット分解能のA/Dコンバータでデジタル変換した場合に得られる理論値は“682”であり、上述の例で得られた“698”との間に“16”の値の差が生じることは、予め留意しておく必要がある。但し、この差は、8ビットA/DコンバータのLSB誤差による1ビットに過ぎないので、実用上は、問題視されないものである。
以上、8ビットのA/Dコンバータ14を用いて12ビット分解能のA/D変換結果を得る場合の例を示したが、本発明によれば、一般的に、nビットのA/Dコンバータを用いて演算増幅器を増幅度”1”と増幅度Gxに切換可能な回路構成にすることで、入力信号を分解能[1/(2n×Gx)]でA/D変換した最終的な変換値を算出することが可能になるものである。
[1/(2n×Gx)]未満の分解能の変換結果についても、演算により導くことが可能である。
[1/(2n×Gx)]未満の分解能の変換結果についても、演算により導くことが可能である。
また、上記の例では、ベース値Hを、第1変換値D1と利得”16”との乗算値から算出しているが、入力相当値E1と利得”16”との乗算値から算出しても実質的に同じ値が得られるものである。
[第2実施例]
信号変換装置10では、ベース値Hを繰り返して用いて次回以降の変換値を算出するように動作することもできる。このときのA/D変換の手順を図3に示す。
信号変換装置10では、ベース値Hを繰り返して用いて次回以降の変換値を算出するように動作することもできる。このときのA/D変換の手順を図3に示す。
図3において、ステップS1〜ステップS10の処理過程により、第1変換値D1と第2変換値D2とを得るまでの動作は、上述したとおりである。
この例では、続いて、「E1×16」(但し、「D1×16」であっても良い)を、上述したベース値Hとして所定のメモリ記憶しておく(ステップS11)。そして、「H+E2=K1」の演算により、今回のA/D変換での入力信号Vinに対応する変換値K1を算出し(ステップS12)、この算出した変換値K1をCPU17から出力する(ステップS13)。入力信号Vinが0.333[V]のアナログ電圧であったとすれば、上述した例と同じく、変換値K1は“698”となる。
このようにして最初の高分解能の変換値K1を得た後、以降のA/D変換では、S/H回路11を制御して、現時点の新たな入力信号を取り込み、出力V1をホールドする(ステップS14)。そして、演算増幅器13の利得Gを”16”に設定したまま、高分解能の第3のA/D変換(前述の第2のA/D変換と同等の変換)を行って第3変換値D3を生成し(ステップS15)、A/Dコンバータ14の入力に相当する入力相当値E3を第3変換値D3から算出する(ステップS16)。
その後、メモリに記憶されているベース値Hと入力相当値E3との合算を行って、新たな入力信号に対する最終A/D変換値K2を算出し(ステップS17′)、この最終A/D変換値K2をCPU17から出力する(ステップS18′)。
以後、ステップS14に戻り、新たに入力信号Vinに対してステップS15〜ステップS18′の処理を繰り返す。これにより、入力信号Vinの変化に対応する最終A/D変換値K2を順次得ることができる。
その後、メモリに記憶されているベース値Hと入力相当値E3との合算を行って、新たな入力信号に対する最終A/D変換値K2を算出し(ステップS17′)、この最終A/D変換値K2をCPU17から出力する(ステップS18′)。
以後、ステップS14に戻り、新たに入力信号Vinに対してステップS15〜ステップS18′の処理を繰り返す。これにより、入力信号Vinの変化に対応する最終A/D変換値K2を順次得ることができる。
[第3実施例]
入力信号Vinの変化範囲が大きく変化した場合は、演算増幅器13の出力が飽和したり、A/Dコンバータ14への入力が動作範囲を超えたりして、正確な変換値が得られなくなる場合がある。
この場合は、図4に示すように、図3のステップS1〜ステップS16の手順に付加して、A/Dコンバータ14のオーバーフローの監視(ステップS17)および順次得られる第3変換値D3に対応した入力相当値E3の監視を行い(ステップS18)、常にA/Dコンバータ14および演算増幅器13の動作範囲の中央付近を用いるようにして、変換を続けるように制御する。
入力信号Vinの変化範囲が大きく変化した場合は、演算増幅器13の出力が飽和したり、A/Dコンバータ14への入力が動作範囲を超えたりして、正確な変換値が得られなくなる場合がある。
この場合は、図4に示すように、図3のステップS1〜ステップS16の手順に付加して、A/Dコンバータ14のオーバーフローの監視(ステップS17)および順次得られる第3変換値D3に対応した入力相当値E3の監視を行い(ステップS18)、常にA/Dコンバータ14および演算増幅器13の動作範囲の中央付近を用いるようにして、変換を続けるように制御する。
すなわち、上述した例と同等のステップS1〜ステップS16の処理(図3参照)の後、CPU17は、A/Dコンバータ14においてオーバーフローが生じていないかどうか、つまり上記の動作範囲を逸脱していないかどうかを判定する(ステップS17)。オーバーフローが生じている場合は(ステップS17:YES)は、入力相当値E3が不正確なものなので、それを破棄してステップS1に戻り、第3のA/D変換(ステップS16)までをやり直す(再START)。
オーバーフローでなければ(ステップS17:NO)、ステップS18で入力相当値E3が一定の信号変換許容範囲を逸脱しているかどうかを、入力相当値E3の絶対値(|E3|)と予め定めた電圧幅DT1との比較によって判定する。電圧幅DT1は、例えば、A/Dコンバータ14の動作範囲がフルスケールで”−1”〜”1”[V]である信号変換装置10では、信号変換許容範囲(電圧幅DT1)として、±0.75[V]を設定する。
これはADコンバータなどの処理電圧範囲が正負対称な場合の説明であるが、処理範囲が正電圧のみの場合などは、絶対値をとるのでなく、上限と下限との範囲内に有るか否かの判定により、この第1の信号変換許容範囲であるか否かを判定する。以下の第2の信号変換許容範囲に関してもこれに準ずる。
オーバーフローでなければ(ステップS17:NO)、ステップS18で入力相当値E3が一定の信号変換許容範囲を逸脱しているかどうかを、入力相当値E3の絶対値(|E3|)と予め定めた電圧幅DT1との比較によって判定する。電圧幅DT1は、例えば、A/Dコンバータ14の動作範囲がフルスケールで”−1”〜”1”[V]である信号変換装置10では、信号変換許容範囲(電圧幅DT1)として、±0.75[V]を設定する。
これはADコンバータなどの処理電圧範囲が正負対称な場合の説明であるが、処理範囲が正電圧のみの場合などは、絶対値をとるのでなく、上限と下限との範囲内に有るか否かの判定により、この第1の信号変換許容範囲であるか否かを判定する。以下の第2の信号変換許容範囲に関してもこれに準ずる。
入力相当値E3の絶対値が電圧幅DT1を超えている場合(ステップS18:YES)は、当該入力相当値E3を破棄してステップS1に戻り、ステップS17までの処理をやり直す(再START)。
絶対値が電圧幅DT1以下であれば(ステップS18:NO)、ベース値Hとの合算を行って、新しい入力信号に対する最終A/D変換値K2を算出し(ステップS19)、このA/D変換値K2を出力する(ステップS20′)。その後、ステップS14に戻り、新たに入力信号Vinを取り込んで、上記のステップS14以降の手順を繰り返し、それに対応する最終A/D変換値K2を得る。
絶対値が電圧幅DT1以下であれば(ステップS18:NO)、ベース値Hとの合算を行って、新しい入力信号に対する最終A/D変換値K2を算出し(ステップS19)、このA/D変換値K2を出力する(ステップS20′)。その後、ステップS14に戻り、新たに入力信号Vinを取り込んで、上記のステップS14以降の手順を繰り返し、それに対応する最終A/D変換値K2を得る。
[第4実施例]
ベース値Hを第2変換値D2から演算のみで求め、これを動的に更新することによっても、信号変換装置10の動作時に、常にA/Dコンバータ14および演算増幅器13の変換許容範囲の中央付近を用いるように制御することができる。
このように制御したときのA/D変換の手順を図5に示す。
ベース値Hを第2変換値D2から演算のみで求め、これを動的に更新することによっても、信号変換装置10の動作時に、常にA/Dコンバータ14および演算増幅器13の変換許容範囲の中央付近を用いるように制御することができる。
このように制御したときのA/D変換の手順を図5に示す。
この場合のA/D変換においては、図4に示したステップS1〜S13と同じ手順によって第1A/D変換値D1および第2A/D変換値D2を生成して、最初の高分解能の変換値K1を生成する。そして、変換値K1を生成した後、以降のA/D変換の過程では、S/H回路11を制御して、現時点の入力信号を随時取り込み、出力V1を保持(ホールド)させる(ステップS14)。また、演算増幅器13の利得Gを”16”に設定したまま、高分解能の第3のA/D変換を行って第3A/D変換値D3を生成する(ステップS15)。その後、入力相当値E3を第3変換値D3から算出する(ステップS16)。
次いで、図4の場合と同様、A/Dコンバータ14がオーバーフローしているかを判定し、オーバーフローであれば(ステップS17:YES)、ステップS1に戻り、オーバーフローでなければ(ステップS17:NO)、入力相当値E3の絶対値(|E3|)と信号変換許容範囲(電圧幅DT1)とを比較する。
この実施例では、入力相当値E3の値(第3変換値D3)に応じて、以下の(a)、(b)、(c)のいずれかの異なった処理を行う。
この実施例では、入力相当値E3の値(第3変換値D3)に応じて、以下の(a)、(b)、(c)のいずれかの異なった処理を行う。
(a)の処理
入力相当値E3の絶対値が電圧幅DT2以下のときは(ステップS20:NO)、ステップS19で得られているA/D変換値K2を最終変換値として出力する(ステップS26)。その後、次回の信号入力およびA/D変換のために、ステップS14の処理に戻る。
入力相当値E3の絶対値が電圧幅DT2以下のときは(ステップS20:NO)、ステップS19で得られているA/D変換値K2を最終変換値として出力する(ステップS26)。その後、次回の信号入力およびA/D変換のために、ステップS14の処理に戻る。
(b)の処理
入力相当値E3の絶対値が電圧幅DT2以下であって(ステップS20:NO)、ステップS19で得られているA/D変換値K2を最終変換値として出力した後(ステップS26)、次回の信号入力およびA/D変換のために、ステップS14の処理に戻り、次の新たな入力信号を保持(ホールド)して、すべての設定をそのまま継続して第3のA/D変換を行い(ステップS15)、ステップS16以降の処理を繰り返す。
入力相当値E3の絶対値が電圧幅DT2以下であって(ステップS20:NO)、ステップS19で得られているA/D変換値K2を最終変換値として出力した後(ステップS26)、次回の信号入力およびA/D変換のために、ステップS14の処理に戻り、次の新たな入力信号を保持(ホールド)して、すべての設定をそのまま継続して第3のA/D変換を行い(ステップS15)、ステップS16以降の処理を繰り返す。
(c)の処理
入力相当値E3が信号変換許容範囲(電圧幅DT1)内であるが、第2信号変換許容範囲(電圧幅DT2)を逸脱する場合は(ステップS20:YES)、A/D変換値K2の算出に用いたベース値Hをデジタル補正データを用いて修正(更新)する。すなわち、入力相当値E3が”−0.5”〜”0.5”[V]を超え、”−0.75”〜”0.75”[V]の範囲内であれば、A/Dコンバータ14への入力値を”0”に近づけて収束させるべく、D/Aコンバータ16の入力にセットする値を修正し、次に入力される入力信号に対する変化幅が小さくなるようにする。
入力相当値E3が信号変換許容範囲(電圧幅DT1)内であるが、第2信号変換許容範囲(電圧幅DT2)を逸脱する場合は(ステップS20:YES)、A/D変換値K2の算出に用いたベース値Hをデジタル補正データを用いて修正(更新)する。すなわち、入力相当値E3が”−0.5”〜”0.5”[V]を超え、”−0.75”〜”0.75”[V]の範囲内であれば、A/Dコンバータ14への入力値を”0”に近づけて収束させるべく、D/Aコンバータ16の入力にセットする値を修正し、次に入力される入力信号に対する変化幅が小さくなるようにする。
そのために、D/Aコンバータ16に、直前のA/D変換値K2に最も近い値を出力させるためのデータD3′をデジタル補正データとしてCPU17で算出し(ステップS21)、これをD/Aコンバータ16の入力にセットする(ステップS22)。
このD/Aコンバータ16の新しいセット値のもとに行われる次の入力信号に対するA/Dコンバータ14による変換値K2が、その前に変換した値と変わらないようにするために、D/Aコンバータ16のセット値に整合させ、連続性を保つための修正を含めたベース値Hを求め、これを新たなセット値として修正しておく。
このD/Aコンバータ16の新しいセット値のもとに行われる次の入力信号に対するA/Dコンバータ14による変換値K2が、その前に変換した値と変わらないようにするために、D/Aコンバータ16のセット値に整合させ、連続性を保つための修正を含めたベース値Hを求め、これを新たなセット値として修正しておく。
すなわち、第3のA/D変換と同様の第4のA/D変換を行って第4変換値D4を生成し(ステップS23)、この第4変換値D4から入力相当値E4を算出して(ステップS24)、ステップS19で求めた変換値K2から入力相当値E4を差し引くことにより、新たなベース値Hを算出する。そして、この新たなベース値Hを次のセット値として更新(ステップS25)した後、更新されたベース値Hと第3入力相当値E3とを合算して得られる変換値K2を最終の変換値として出力する(ステップS26)。その後、ステップS14に戻って処理を続ける。
上記(a)〜(c)の処理における入力信号の変化に対する信号変換装置10の動作の内容を、具体的数値を挙げて説明する。
動作開始時の信号変換装置10への入力信号が、例えば0.333[V]のアナログ電圧であったとすると、第1のA/D変換では、第1変換値“698”が得られる。
前述の(a)の場合に相当する例として、最初の入力信号Vinである0.333[V]のアナログ電圧(変換値“698”)に続いて、それが0.380[V]に変化した場合の例を説明する。
この入力信号VinをS/H回路11でサンプルホールドすると、D/Aコンバータ16のセット値、演算増幅器13の利得G(”16”)は変更されていないので、演算増幅器13の出力V3は、0.96(=0.380−0.320)×16)[V]となる。これをA/D変換(第3のA/D変換)すると、出力D3は“122”(=INT[256×(0.96+1)/2]−128)となる。“122”の入力相当値は、「2/256×122=0.953、0.953>0.75」であるから、この場合には、最初からA/D変換をやり直すことになる。
前述の(a)の場合に相当する例として、最初の入力信号Vinである0.333[V]のアナログ電圧(変換値“698”)に続いて、それが0.380[V]に変化した場合の例を説明する。
この入力信号VinをS/H回路11でサンプルホールドすると、D/Aコンバータ16のセット値、演算増幅器13の利得G(”16”)は変更されていないので、演算増幅器13の出力V3は、0.96(=0.380−0.320)×16)[V]となる。これをA/D変換(第3のA/D変換)すると、出力D3は“122”(=INT[256×(0.96+1)/2]−128)となる。“122”の入力相当値は、「2/256×122=0.953、0.953>0.75」であるから、この場合には、最初からA/D変換をやり直すことになる。
すなわち、0.380[V]の入力信号Vinをサンプルホールドした後、D/Aコンバータ16の出力0[V]を差し引き、利得”1”に設定された状態の演算増幅器13の出力を8ビットA/Dコンバータ14でA/D変換する。その出力D1は、“48”(=INT[256×(0.38+1)/2]−128)となる。よってD/Aコンバータ16の入力に、“48”をセットする。
「2×(48/256)」の演算結果は0.375[V]であるから、D/Aコンバータ16からは、±1ビットの誤差を入れて、0.367[V]〜0.383[V]の範囲の電圧が出力される。ここでは、仮に0.375[V]が出力されるものとする。
S/H回路11の出力とD/Aコンバータ16の出力を加え(演算増幅器13による減算)、利得Gを”16”として増幅すると、演算増幅器13の出力V3は、0.08(=(0.38−0、375)×16)[V]となる。これをA/D変換すると、得られる出力D2は、“10”(=INT[256×(0.08+1)/2]−128)となる。
高分解能相当値(ベース値)Hは“768”(=48×16)であるから、A/D変換値K1は、“778”(=768+10)となる。
前述の(b)の処理に相当する例として、最初の入力信号Vinである0.333[V]のアナログ電圧(A/D変換出力“698”)に続いて、入力信号Vinが0.336[V]に変化したものとし、これをA/D変換する場合について説明する。
この入力信号VinをS/H回路11でサンプルホールドすると、D/Aコンバータ16のセット値、演算増幅器13の利得G(“16”)は変わらないので、演算増幅器13の出力V3は、0.256(=(0、336−0.320)×16)[V]となり、これをA/D変換(第3のA/D変換)すると、出力D3は、“32”(=INT[256×(0.256+1)/2]−128)となる。“32”の入力相当電圧は0.25(=2/256×32)であり、0.25≦0.5であるから、以降の処理はそのまま継続する。
この入力信号VinをS/H回路11でサンプルホールドすると、D/Aコンバータ16のセット値、演算増幅器13の利得G(“16”)は変わらないので、演算増幅器13の出力V3は、0.256(=(0、336−0.320)×16)[V]となり、これをA/D変換(第3のA/D変換)すると、出力D3は、“32”(=INT[256×(0.256+1)/2]−128)となる。“32”の入力相当電圧は0.25(=2/256×32)であり、0.25≦0.5であるから、以降の処理はそのまま継続する。
すなわち、前回と同じ高分解能相当値(ベース値)Hを使ってA/D変換値K2が算出され、“704”(=672+32)が得られる。
このように、入力信号の0.003(=0.336−0.333)[V]の変化に従って変換値が“6”(=704−698)だけ変化している。ちなみに、入力信号の変化範囲2[V]で、12ビット分解能の場合の変換値での“6”の変化相当のアナログ電圧は0.0029(=2×6/4096)[V]であり、入力変化との差0.0001[V]は12ビットA/DコンバータのLSB(≒0.0005)以下である。
このように、入力信号の0.003(=0.336−0.333)[V]の変化に従って変換値が“6”(=704−698)だけ変化している。ちなみに、入力信号の変化範囲2[V]で、12ビット分解能の場合の変換値での“6”の変化相当のアナログ電圧は0.0029(=2×6/4096)[V]であり、入力変化との差0.0001[V]は12ビットA/DコンバータのLSB(≒0.0005)以下である。
次に、前述の(c)の処理に相当する例として、最初の入力信号Vinである0.333Vのアナログ電圧(A/D変換出力“698”)に続いて、入力信号Vinが0.364[V]に変化したときのA/D変換の例を説明する。
この入力信号VinをS/H回路11にてサンプルホールドすると、D/Aコンバータ16のセット値、増幅器利得G(“16”)は変わらないので、演算増幅器13の出力V3は、0.704(=0.364−0.320)×16)[V]となる。これをA/D変換(第3のA/D変換)すると、出力D3は、“90”(=INT[256×(0.704+1)/2]−128)となる。
これにより算出される現入力0.364[V]に対してのA/D変換値K2は“762”(=672+90)となる。“90”の入力相当電圧は0.703(=「2/256」×90)[V]であり、0.5<0.703≦0.75であるから、この場合には、D/Aコンバータ16のセット値を修正する。現入力0.364[V]の高分解能A/D変換値K2は“762”であり、D/Aコンバータ16のセット値を更新し直してもこの値は保たれて、連続性を維持しなければなければならない。また、修正されるセット値は、“47”(=762/16)となる。
この入力信号VinをS/H回路11にてサンプルホールドすると、D/Aコンバータ16のセット値、増幅器利得G(“16”)は変わらないので、演算増幅器13の出力V3は、0.704(=0.364−0.320)×16)[V]となる。これをA/D変換(第3のA/D変換)すると、出力D3は、“90”(=INT[256×(0.704+1)/2]−128)となる。
これにより算出される現入力0.364[V]に対してのA/D変換値K2は“762”(=672+90)となる。“90”の入力相当電圧は0.703(=「2/256」×90)[V]であり、0.5<0.703≦0.75であるから、この場合には、D/Aコンバータ16のセット値を修正する。現入力0.364[V]の高分解能A/D変換値K2は“762”であり、D/Aコンバータ16のセット値を更新し直してもこの値は保たれて、連続性を維持しなければなければならない。また、修正されるセット値は、“47”(=762/16)となる。
「2×「47/256」−1」の演算結果は0.3672[V]であるから、”47”をセットしたときのD/Aコンバータ16の出力は、±1ビットの誤差を入れて、0.375[V]〜0359[V]の範囲の電圧が出力される。ここでは、仮に−0.367[V]が出力されるものとする。
S/H回路11の出力とD/Aコンバータ16の出力を加え、演算増幅器13の利得Gを”16”として増幅すると、演算増幅器13の出力V3は、−0.048(=(0.364−0.367)×16)[V]となる。これをA/D変換すると、得られる出力D4は、“−7”(=INT[256×(−0.048+1)/2]−128)となる。これとD/Aコンバータ16の出力とを合算したものは、“762”に一致していなければならないから、高分解能相当値(ベース値)Hは“769”(=762−(−7))に更新される。
以上の説明から明らかなように、本発明の信号変換装置10では、分解能の低い8ビットA/Dコンバータ14、8ビットD/Aコンバータ16、演算増幅器13、アナログスイッチ15およびS/H回路11を使用して、CPU17による制御・演算機能により、入力信号Vinに対する12ビットA/D変換出力を得て、入力信号Vinの小さな範囲の変化に対して12ビット分解能のようなな追随性を持つA/Dコンバート機能が実現されている。
なお、上記の例では、8ビットのA/Dコンバータ14およびD/Aコンバータ16で12ビット相当の分解能のA/D変換を可能にしたが、8ビット分解能程度であれば、これらは汎用のコンピュータに内蔵されている付帯機能を使用することも可能であり、原価を低廉に維持して実現することが可能になり、その効果は大きい。
本発明は、これまで説明した実施例に限らず、各種の変形も可能である。
例えば、8ビットデバイスで12ビットデバイス相当の変換を例として示したが、このビット数に限られることはなく、任意のビット数のデバイスで、これより多い任意なビット数相当の変換をする構成にも容易に変更することができる。また、既述したように、A/DコンバータとD/Aコンバータの分解能は異なっていてもよいし、演算により算出できる最大の分解能未満の分解能での変換結果もデータ処理によって導くことができる。
例えば、8ビットデバイスで12ビットデバイス相当の変換を例として示したが、このビット数に限られることはなく、任意のビット数のデバイスで、これより多い任意なビット数相当の変換をする構成にも容易に変更することができる。また、既述したように、A/DコンバータとD/Aコンバータの分解能は異なっていてもよいし、演算により算出できる最大の分解能未満の分解能での変換結果もデータ処理によって導くことができる。
また、各実施例では、演算増幅器13の利得を2段階に切り換える例を示したが、A/Dコンバータ14の入力範囲を切り換えることによっても、ほぼ同様な動作を実現することができる。これは、一般的にはA/Dコンバータの内部で増幅度を切り換えることと等価である。
10・・・A/Dコンバータ
11・・・サンプルホールド回路
12・・・反転バッファ回路
13・・・演算増幅器
14・・・A/Dコンバータ
15・・・開閉スイッチ
16・・・D/Aコンバータ
17・・・CPU
R3、R4・・・帰還回路用の抵抗器
11・・・サンプルホールド回路
12・・・反転バッファ回路
13・・・演算増幅器
14・・・A/Dコンバータ
15・・・開閉スイッチ
16・・・D/Aコンバータ
17・・・CPU
R3、R4・・・帰還回路用の抵抗器
Claims (9)
- アナログ信号をデジタル信号に変換するA/Dコンバータ、デジタル信号をアナログ信号に変換するD/Aコンバータ、利得切換可能な演算増幅器およびこの演算増幅器の利得を制御する制御手段を備え、
前記演算増幅器は、変換対象となるアナログの入力信号の振幅値と前記D/Aコンバータから出力される信号の振幅値との差分値を増幅し、増幅された信号を前記A/Dコンバータに入力するように構成されており、
前記A/Dコンバータは、前記増幅された信号をデジタル変換して装置外部に出力可能にするとともに、当該デジタル変換した信号を前記D/Aコンバータに入力するように構成されており、
前記制御手段は、前記D/Aコンバータに入力されるデジタル信号の値が初期値のときには前記演算増幅器の利得を第1利得に設定し、前記D/Aコンバータから前記アナログの入力信号と略同一の振幅値の信号が前記演算増幅器に入力されたときは当該演算増幅器の利得を前記第1利得の複数倍の第2利得に高めるように構成されている、
信号変換装置。 - 前記制御手段は、前記A/Dコンバータで変換されたデジタル信号を一時的にメモリに保持するとともに、前記メモリから読み出したデジタル信号を前記D/Aコンバータに入力するように構成されている、
請求項1記載の信号変換装置。 - 前記制御手段は、前記D/Aコンバータに入力すべきデジタル信号の値を前記A/Dコンバータに入力される入力信号の変化範囲に応じて修正するように構成されている、
請求項1又は2記載の信号変換装置。 - 前記A/Dコンバータの分解能がそれぞれ1/2nであり(但し、nは正の整数)、前記第2利得が前記第1利得のN(Nは2以上の自然数)倍に高まるものであり、
前記第2利得で増幅された信号を前記A/Dコンバータでデジタル変換したときの分解能が1/(2n×N)である、
請求項1記載の信号変換装置。 - アナログの入力信号を第1利得の演算増幅器で増幅し、これにより得られた増幅信号をデジタル変換する第1のA/D変換過程と、この第1のA/D変換過程で得られた第1変換値を基に、それをアナログ変換したときに前記入力信号の振幅値と所定範囲内で近似する振幅値の第1入力相当値が得られる第1デジタル信号を生成する過程と、この第1デジタル信号のアナログ変換により得られた値と前記入力信号の振幅値との差分を前記第1利得のN倍(Nは2以上の自然数)の第2利得に切り換えた演算増幅器で増幅し、この増幅信号をデジタル変換する第2のA/D変換過程とを含み、前記Nにより重み付けされた前記第1変換値又は第1入力相当値と、前記第2のA/D変換過程で得られた第2変換値から導出した詳細差分を表す値とを合算することにより、前記入力信号に対応するデジタルの詳細変換値を生成する、
信号処理方法。 - 前記Nで重み付けされた前記第1変換値又は第1入力相当値をデジタル変換のベース値として所定のメモリに記憶する過程と、
前記第1デジタル信号のアナログ変換により得られた値と新たな入力信号の振幅値との差分を前記第2利得の演算増幅器で増幅し、この増幅信号をデジタル変換する第3のA/D変換過程とを含み、
この第3のA/D変換過程で得られた第3変換値により得られた詳細差分を表す値と前記メモリに記憶されているベース値とを合算することにより、前記新たな入力信号に対応する詳細変換値を生成する、
請求項5記載の信号処理方法。 - 前記詳細差分を表す値が所定の第1変換許容範囲を逸脱するかどうかを判定する第1判定過程をさらに含み、この第1判定過程により前記詳細差分を表す値が前記第1変換許容範囲を逸脱すると判定されたときは当該詳細差分を表す値を破棄する、
請求項6記載の信号処理方法。 - 前記詳細差分を表す値が前記第1変換許容範囲よりもさらに狭い第2変換許容範囲を逸脱するかどうかを判定する第2判定過程をさらに含み、前記詳細差分を表す値が前記第1判定過程で前記第1変換許容範囲内であるが前記第2判定過程で前記第2変換許容範囲を逸脱すると判定されたときは、新たな入力信号による前記第2判定過程の判定結果が前記第2変換許容範囲内となる方向にデジタル信号からアナログ信号への変換時の設定値と前記ベース値とを修正する、
請求項7記載の信号処理方法。 - 直前の詳細変換値に最も近い値のデジタル補正データを算出してこのデジタル補正データをアナログ変換し、これにより得られたアナログ値と新たな入力信号の振幅値との差分を前記第2利得の演算増幅器で増幅し、この増幅信号をデジタル変換する第4のA/D変換過程を含み、この第4のA/D変換過程で得られた第4変換値により得られた詳細差分を表す値を前記直前の詳細変換値から差し引くことにより、前記メモリに記憶されているベース値を修正する、
請求項8記載の信号処理方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004140350A JP2005323207A (ja) | 2004-05-10 | 2004-05-10 | 信号変換装置および信号処理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004140350A JP2005323207A (ja) | 2004-05-10 | 2004-05-10 | 信号変換装置および信号処理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2005323207A true JP2005323207A (ja) | 2005-11-17 |
Family
ID=35470137
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004140350A Pending JP2005323207A (ja) | 2004-05-10 | 2004-05-10 | 信号変換装置および信号処理方法 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2005323207A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106771460A (zh) * | 2017-01-16 | 2017-05-31 | 佛山科学技术学院 | 一种高分辨率测量转换电路 |
CN109039333A (zh) * | 2017-06-08 | 2018-12-18 | 三菱电机株式会社 | 增益控制放大装置 |
-
2004
- 2004-05-10 JP JP2004140350A patent/JP2005323207A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106771460A (zh) * | 2017-01-16 | 2017-05-31 | 佛山科学技术学院 | 一种高分辨率测量转换电路 |
CN106771460B (zh) * | 2017-01-16 | 2023-03-31 | 佛山科学技术学院 | 一种高分辨率测量转换电路 |
CN109039333A (zh) * | 2017-06-08 | 2018-12-18 | 三菱电机株式会社 | 增益控制放大装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US7142138B2 (en) | Multi-step analog/digital converter and on-line calibration method thereof | |
US7501965B2 (en) | Correcting for errors that cause generated digital codes to deviate from expected values in an ADC | |
KR102034743B1 (ko) | 아날로그-디지털 변환기 | |
US20090135037A1 (en) | Correcting Offset Errors Associated With A Sub-ADC In Pipeline Analog To Digital Converters | |
RU2107388C1 (ru) | Способ преобразования аналоговых сигналов в цифровые и преобразователь аналогового сигнала в последовательность цифровых сигналов | |
EP1339169B1 (en) | Method of calibrating an analog-to-digital converter and a circuit implementing the same | |
US8344929B2 (en) | A/D converter device and signal processing unit | |
US7042373B2 (en) | Error measuring method for digitally self-calibrating pipeline ADC and apparatus thereof | |
JPH057154A (ja) | A/d変換回路 | |
KR20140052050A (ko) | 아날로그디지털 변환기 및 아날로그 신호를 디지털 신호로 변환하는 방법 | |
US10735016B2 (en) | D/A conversion circuit, quantization circuit, and A/D conversion circuit | |
CN104104387B (zh) | 一种提高模数转换器动态范围的装置和方法 | |
JPS62289016A (ja) | オフセツト自動補正a/d変換回路 | |
JP3971414B2 (ja) | A/d変換装置、およびこれを用いた通信機器 | |
JP2005323207A (ja) | 信号変換装置および信号処理方法 | |
US5072358A (en) | Process controller | |
US10218371B1 (en) | Cost effective DAC linearization system | |
JP2001345700A (ja) | A/d変換回路 | |
JP2006080717A (ja) | パイプラインa/d変換器およびその出力補正方法 | |
JP2008182333A (ja) | 自己補正型アナログデジタル変換器 | |
JPS5817407B2 (ja) | 零調装置 | |
JP3097346B2 (ja) | アナログ−デジタル変換器 | |
JP2009133698A (ja) | ゼロ点補正回路 | |
US10116317B1 (en) | Signal generator with self-calibration | |
JP5262164B2 (ja) | デジタルagc回路およびそれを用いた角速度センサ |