2018年08月12日 | 公開。 |
2019年03月24日 | 「等価サンプリング」を「等価時間サンプリング」に書き直した。 |
この記事で紹介するオシロスコープは簡易型のオシロスコープなので、オシロスコープ専用機に比べれば性能的に劣っている部分があります。簡易型のオシロスコープがどういう部分で劣っているかや、簡易型のオシロスコープで測定を行う場合にどういう点に注意すればいいのかについて理解するためには、いくつかの指標と機能を理解する必要があります。
ここでは、オシロスコープの性能考える上で重要になるいくつかの指標と機能について、簡単に説明します。
この章で説明する指標や機能の意味を理解できれば、オシロスコープ専用機にステップアップする際の機種選定の参考にもなるでしょう。
オシロスコープはアナログオシロスコープとデジタルオシロスコープの2種類に分類できます。デジタルオシロスコープの場合、観測する電圧信号を、標本化(一定間隔で電圧を測定する事)と量子化(本来は連続的な値を取る電圧を飛び飛びの値で近似する事)します。(図10参照)
デジタルオシロスコープは、一定間隔で電圧の測定を繰り返します。一度電圧を測定してから、次に電圧を測定するまでの時間間隔を、サンプリング間隔(あるいはサンプリング周期)と呼びます。デジタルオシロスコープは、一度電圧を測定してから、その次に電圧を測定するまでの間に、入力電圧波形がどのように変化したかを知りません。この様に一定間隔でしか電圧を測定せず、計測していない時の電圧の情報を捨ててしまう事を標本化(あるいはサンプリング)と呼びます。
また、デジタルオシロスコープは、電圧を測定する時に、測定した電圧値を、ある「小さな基準電圧」の整数倍に近似して測定します。その「小さな基準電圧」を通常1LSB(LSBはLeast Significant Bitの略)と表わします。言い換えれば、デジタルオシロスコープが電圧を測定する場合は、全ての測定電圧を、nLSB(nは整数)と近似してしまう訳です。電圧を測定する際に、実際の電圧に最も近くてnLSBの形で表現できる電圧に近似する処理(つまり小数点以下の四捨五入処理)を行うとすると、電圧の近似誤差の絶対値は最大で0.5LSBになります。この様に、測定電圧を「小さな基準電圧」の整数倍で近似してしまう事を量子化と呼びます。
以上の様に、デジタルオシロスコープで電圧波形を測定する場合、標本化と量子化を行います。そのため本当は図10の黒い曲線の様な電圧波形なのに、画面上には同図の青い折れ線の様な波形が表示されてしまいます。この様にして生じる誤差は、測定条件によってはかなり顕著に表れる事があります。
デジタルオシロスコープを使い始めたばかりの初心者は、この様な事情を知らないために、標本化と量子化によって誤差が生じている事を考慮せずに、デジタルオシロスコープの画面に表示されている波形をうのみにする傾向が強くあります。
一方でアナログオシロスコープの場合は、標本化や量子化や行わずに電圧波形を連続的に観測するため、それらによる誤差を考慮せずに観測できるというメリットがあります。
特に、アナログ技術に長けた技術者の場合、このメリットを重視する傾向が強い事があります。その様な技術者は、アナログオシロスコープを「生オシロ」(生の波形が観測できるオシロスコープの意)と呼んで珍重します。
筆者は、標本化や量子化の知識のない初心者こそ、生オシロを使うメリットが大きいと考えていますが、オシロスコープはデジタル技術の恩恵で小型化、低価格化した事もあり、現在はアナログオシロスコープを製造するメーカーは少なくなりました。また、複雑な波形や単発波形(繰り返し発生せず、たった一度しか発生しない波形)の場合、デジタルオシロスコープでなければ、観測が非常に難しいという事実もあります。
参考:昔の技術者は、単発波形を観測するために、アナログオシロスコープの画面を銀塩写真に撮影して観測したそうです。銀塩写真は現像やプリントといった、時間と手間とお金がかかる処理を経ないと目で見える形にはならないため、非常に気の長い作業だったみたいです。今では、単発波形もデジタルオシロスコープのsingleモードで、非常に簡単に観測が行えるようになりました。ちなみに、筆者には銀塩写真が必要な測定をした経験がありません。この記事で紹介するオシロスコープには、現在singleモードがないのですが、Arduino Dueのスケッチを書き換えると簡単に実現できるため、将来的にはsingleモードの機能を追加する予定です。
そういう訳で、現在では初心者がアナログオシロスコープを使うのは、現実的ではなくなりました。よほどの事情がない限り、デジタルオシロスコープを選択するしかない状況となりました。
この記事で紹介しているオシロスコープも、もちろんデジタルオシロスコープです。
オシロスコープで同時に観測できる電圧信号の数をチャネル数といいます。多くの信号を画面上で比較したい場合は、その信号の数以上のチャネル数が必要になります。
電子工作の初心者の場合は、あまり多くのチャネルを同時に観測する事はないかも知れません。それでも、最低は2チャネルのオシロスコープを使うべきだと筆者は考えています。
参考:携帯できる簡易型のオシロスコープの場合は、1チャネルしか使えないオシロスコープも販売されています。1チャネルのオシロスコープでも、ないよりはずいぶんましなのですが、使える局面はずいぶんと限定的です。ある程度使いこなしてくると、すぐに2チャネル以上のオシロスコープが欲しくなるでしょう。
電子回路、特にアナログ回路の動作を理解する上で、2つの同じ周波数の信号の振幅比や位相差を比較する事は、かなり重要な要素になります。逆に言うと、この比較ができない事には、電子回路の基礎的かつ重要な部分を理解する事はできません。
またアナログ回路であれ、デジタル回路であれ、入力信号に何らかの加工をして出力信号を得る回路があるならば、それら2つの信号を比較しないと、回路の本質が分かりません。そのためには最低でも2チャネルのオシロスコープが必要になります。
まずはこの記事で紹介している様な2チャネルのオシロスコープを使ってみましょう。2チャネルでは少なすぎると感じる機会が多くなってくれば、4チャネルのオシロスコープの購入を検討しましょう。
参考:デジタル回路の場合は、基本的な回路を扱う場合でも、例えば8チャネルや16チャネルなどの多くの信号を同時観測する必要が生じる場合があります。その様な多チャネルの同時観測は通常、オシロスコープではできませんので、ロジックアナライザの使用をお勧めします。ロジックアナライザでは電圧をLかHに区別するだけの機能しか持っていませんが、その分、チャネル数が多く、またメモリ長も長く取れる事が多いです。ただし、2チャネルのオシロスコープでも、分周回路など、動作を確認できるデジタル回路は色々ありますので、最初はその範囲で勉強するのもいいでしょう。
図10において、デジタルオシロスコープは一定間隔で電圧を測定する事を説明しました。電圧を測定する時間間隔の事をサンプリング間隔と呼ぶ事も同図で説明しましたが、サンプリング間隔の逆数をサンプリング周波数(あるいはサンプリングレート)と呼びます。
当然ですが、サンプリング周波数は高い方が(サンプリング間隔が短い方が)、正確な波形測定ができます。しかしながら、サンプリング周波数を高くすると、オシロスコープが高価になってしまいます。
サンプリング周波数の単位はHz(ヘルツ)またはsps(Samples Per Secondの略)です。Hzもspsも同じ単位なのですが、Hzを使うと、普通の交流の周波数と混同してしまう恐れのある時は、spsを使います。
たとえば、サンプリング周波数が1MHz(=1,000,000Hz)あるいは1Msps(=1,000,000sps)の場合は、1秒間に100万回の電圧測定を行います。
サンプリング周波数について考える場合に、是非知っておくべきなのはナイキストにより予想され、シャノンにより証明された、サンプリング定理と呼ばれる理論です。
サンプリング定理によれば、サンプリング周波数の1/2以下の周波数成分しか含まない信号の場合、標本化を行っているのにも関わらず、元々の信号を完全に再生できます。逆に、サンプリング周波数の1/2以上の周波数成分を含む信号の場合、標本化により、観測波形に歪が発生します。
参考:この事からサンプリング周波数の1/2の周波数は、観測できる信号周波数の上限だと考えられます。サンプリング周波数の1/2の周波数をナイキスト周波数と呼びます。
具体的な例を挙げて説明すると、例えば1MHz以下の周波数成分しか含まないと分かっている信号の場合、2MHz(2Msps)のサンプリング周波数で測定していれば、信号を全く劣化させることなく観測する事ができるという事です。
注意:ここでは量子化は行わない場合、あるいは1LSBが十分小さい場合について議論しています。
この様に、信号に含まれる周波数の上限と、必要なサンプリング周波数には密接な関係があります。
ただし、信号に含まれる周波数の上限の2倍以上のサンプリング周波数で十分だというのは、サンプリング関数(sinc関数)による補間処理(測定していない時間帯の電圧を計算により再現する処理)を行った場合の話です。中級機以上のオシロスコープにはサンプリング関数による補間処理の機能が付いています(それでもデフォルトではOFFになっている事が多い)が、初級機では単純な直線補間(測定点を直線で結ぶ補間)を行います。直線補間の場合は、信号に含まれている周波数の上限の10倍以上のサンプリング周波数が必要な事が、経験上知られています。
つまり、1MHz以下の周波数成分しか含まないと分かっている信号の場合でも、10MHz(10Msps)のサンプリング周波数が必要になるわけです。
この「観測する信号の上限周波数のさらに10倍のサンプリング周波数」というのが、オシロスコープを選ぶ時の重要な指標になります。
ただ、観測に使用するチャネル数が多くなると、サンプリング周波数の上限が下がってしまうオシロスコープが多く存在する事には注意が必要です。
例えば、1チャネルの観測では最高で100Mspsのサンプリング周波数が得られるのに、2チャネルの同時観測の場合は、上限が半分の50Mspsになってしまう事が良くあります。この場合でも、100Mspsと表示されている場合があるので、必要なチャネル数でのサンプリング周波数を、説明書などでちゃんと調べる必要があります。
参考:この記事で紹介しているオシロスコープは、使用するチャネル数に限らず、サンプリング周波数の上限は160kspsです。使用チャネル数によらずサンプリング周波数の上限が変わらないのは、初心者には理解しやすいと思います。
また、サンプリング周波数が、時間レンジの設定により変わる事は非常に重要です。同じオシロスコープでも、時間レンジを長くすると、サンプリング周波数が落ちてしまいます。その事により、時間レンジを不用意に長く設定すると、信号周波数が変化しないにも関わらず、ナイキスト周波数が信号周波数を下回ってしまい、エイリアシングあるいは折り返し歪と呼ばれる非常に大きな歪が観測される事があります。
余談:筆者は大学の電気工学科・電子工学科で非常勤講師をしており、学生達の実験を指導しています。先ほど述べた様に、個人的には、初心者にはアナログオシロスコープを使わせる方がいいと思っているものの、時代の流れで学生実験にもデジタルオシロスコープを導入する事になってしまいました。デジタルオシロスコープに替えると、案の定、時間レンジの設定が不適切で、頓珍漢な周波数の信号が画面に表示され、学生がその表示を無批判に信じるという現象が起こる様になりました。アナログオシロスコープを使っていた時代なら、時間レンジを不用意に長く設定すると、波形が水平方向に圧縮されて、線ではなく帯として表示されていました。これならそもそも画面上で周波数の測定を行えないので、頓珍漢な周波数の測定結果が出てくることはありませんでした。
繰り返し波形観測する場合は、何回も繰り返し測定をする事で、サンプリング周波数から理論的に予想される時間分解能(サンプリング間隔)以上の時間分解能を得る事が、場合によっては可能です。この様に、繰り返し測定により、実際のサンプリング間隔よりも短い間隔で電圧の変化を測定する技術の事を等価時間サンプリングといいます。
図11は等価時間サンプリングの原理を表わした図です。
同図赤丸は、観測1周期目に測定した測定点です。青丸は、観測2周期目に測定した測定点です。緑丸は、観測3周期目に測定した測定点です。また各測定点には、実際に測定された順番を小さな数字で書き込んであります。
この図では、3周期にわたって測定を行い、かつ、各周期で位相(タイミング)が少しずつ違う点を測定したので、本当のサンプリング間隔の1/3の、見かけ上のサンプリング間隔が得られている様子が分かります。見かけ上のサンプリング間隔が本来の1/3になるという事は、サンプリング周波数が見かけ上(等価的に)3倍になるという事です。
等価時間サンプリングを使うと、この様に等価的なサンプリング周波数を、実際のサンプリング周波数の何倍、あるいは何十倍に、見せかける事ができます。
ただし、等価時間サンプリングは単発波形には適用する事ができません。
また、繰り返し波形に等価時間サンプリングを適用する場合でも、欲張って等価的なサンプリング周波数を実際のサンプリング周波数より大きくしようとするほど、測定しなければならない周期の数が増え、測定にかかる時間が長くなります。
この様に、問題はあるものの、安いA/D変換器で高い周波数の波形を観測できるという点では、等価時間サンプリングには大きなメリットがあるといえます。
オシロスコープの性能や使い勝手を考える上では、等価時間サンプリングにより、等価的なサンプリング周波数がどこまで上がるのかや、どの時間レンジまで実時間サンプリング(等価時間サンプリングの手法を使わないサンプリング)ができるのかなどが、注目ポイントになります。
サンプリング周波数や等価的なサンプリング周波数(等価時間サンプリングをする場合)が、測定できる信号周波数の上限を決めるという話はしましたが、オシロスコープの測定周波数の限界を決めるのは、サンプリング周波数や等価的なサンプリング周波数ばかりではありません。
オシロスコープのA/D変換器に信号が入力されるまでに、プリアンプなどのアナログ回路を信号が通ります。このアナログ回路に、扱える周波数の上限があるのです。
このアナログ回路はLPFの様に振舞いますが、このLPFのカットオフ周波数(通常は通過域平坦部を基準にして、利得が-3dBになった周波数)をオシロスコープの周波数帯域と呼びます。
カットオフ周波数においては、利得がすでに3dB落ちています(利得が約0.7倍におちています)。そのため、周波数帯域は、測定したい信号の周波数の上限の、さらに3倍以上必要です。
この様に、オシロスコープで観測できる信号の周波数の上限は、サンプリング周波数(および等価的なサンプリング周波数)と、周波数帯域の双方で制限を受ける事に注意が必要です。
参考:アナログオシロスコープの場合、サンプリング周波数の概念がありませんので周波数帯域だけに注意をすればいい事になります。
オシロスコープに使われているA/D変換器は、測定した電圧を2進数で表します。この2進数の桁数が量子化ビット数です。
例えば安価なオシロスコープに使われているA/D変換器なら、8ビットのA/D変換器を使用している場合が多いのですが、この場合は、電圧を28=256段階で表現します。
それが高級機種になると、例えば12ビットといった、より多いビット数で電圧を測定します。12ビットの場合、212=4096段階で電圧を表現します。
もちろん量子化ビット数が多いオシロスコープの方が、波形を滑らかに表示する事ができます。一方で、量子化ビット数が多くなると、高価になります。
ただ、量子化ビット数が多いほど正確に電圧を表わせるというのは、A/D変換器が理論通りの性能を発揮した場合の話です。理論通り動作するA/D変換器は、最大でも0.5LSBの量子化誤差しか発生しませんが、現実のA/D変換器はもっと大きな量子化誤差を発生します。
この量子化誤差が理論よりも多いという現象は、考え方を変えれば、実質的な量子化ビット数が、表面上の量子化ビット数よりも下回っているとも言えます。この様に量子化誤差の大きさから、実質的な量子化ビット数を逆算した物が、有効ビット数と呼ばれるものです。
つまり、有効ビット数が大きなオシロスコープほど、電圧を正確に測定できるといえます。
ある程度簡易型のオシロスコープの扱いにも慣れ、前章で説明した機能や指標の意味も理解できてきたら、実際に販売されているオシロスコープ専用機の価格や仕様を調べ、性能と価格がどの様な関係にあるのかを確かめてみるのもいいでしょう。
例えば、次に紹介するサイトで、デジタルオシロスコープの実売価格や仕様を調べる事ができます。
この記事では、Arduino Dueを持ちいたオシロスコープの試作機を紹介しました。
簡単なプリアンプ基板とキーパッド基板を試作し、それらと既製のLCDシールドをArduino Dueに追加するとで、ある程度実用的なデジタルオシロスコープを作る事ができました。
高性能なArduino Dueとで使い慣れた開発環境(Arduino IDE)を使う事により、かなりの短時間で実用的な回路を開発できる事が確認でき、Arduinoというプラットフォームのポテンシャルの高さを確認できたと思います。
参考:全く何もない所から、Youtubeに紹介の動画をアップロードするまでに4日しかかかりませんでした。
今回は、手持ちの部品だけを使って、連休中に大急ぎで回路を組み立てたため、まだ回路に改良の余地がかなり残されています。特に、1.65Vの中間電位を作って、それをアナログ回路のGNDにした点は、USBケーブルでパソコンにつながっている回路の信号を測定できないという意味においては、使い勝手を悪くする要因でした。負電源を生成するDC-DCコンバータの使用により、今後この点を改善したいと思います。
また、ソフトウェア的には、波形の振幅の自動測定や加算平均処理など、スケッチに手を入れれば追加できそうな機能が色々あるのに、実現できていません。スケッチの完成度を上げるのも今後の課題です。
この記事が、皆さんにオシロスコープを身近に感じるきっかけになればうれしく思っています。