アナログとディジタル、AD変換について気になった2点

アナログとディジタルの話題を書いてしまって、つい気になったまま放置していた話題を二つ思い出した。
専門分野の話題なので、興味のない方は、やたら面倒なだけなので、無視してください。

まず最初に、最近見かけた「臨床工学技士国家試験模擬試験」の問題の選択肢の内容について。

専門外の方向けに、AD変換とは何で、どんなことをやっているか、簡単に説明する。
アナログ量(連続信号)を、コンピュータで処理できるように「整数値」に変換する処理のことだと思っていただければ、ほぼ間違いない。
例えば、0V〜1Vの電気信号が出力されている回路があったとする。これを、0〜1000までの整数に割り振る。そうすると、1Vが1000等分されるから、「1」が1000分の1V、つまり、0.001V = 1mV(ミリボルト)になる。このように「整数値」に変換することを「量子化」と呼ぶ。
また、無限に細かく時間を追うことはできないため、例えば1m秒(ミリ秒)単位で量子化を行うとすると、この「時間的に切ること」を「標本化」と呼ぶ。英語ではサンプリングで、この周波数がサンプリング周波数。

こうして、心電図の信号だとか、血圧波形の信号だとかをコンピュータに取り込むのだけれど、量子化すると「1」が1mVの場合、0.5mVの信号は「0」に丸め込まれてしまって、1mVよりも細かい値はディジタル信号に反映できない。オーディオなどで、CDよりもアナログレコードの方が「音質がいい」という議論があるのは、どうしてもこの「量子化誤差」が発生するためではないか、と私は考える。他にも、標本化による丸め込みの誤差も発生する。

気になったのは、この「量子化誤差が量子化幅の二分の一だ」、という文章を「正解」とした問題が出題されたことで、「あれ?」と思った。確かに、量子化が「四捨五入」ならば±50%で、最大誤差は量子化幅の二分の一なのだろうけれど、現実のAD変換器は、「コンパレータ」(比較回路)と呼ばれる回路を使っていて、その動作は、「ある信号電圧以上の信号なら1を、信号電圧未満なら0を」というような動作になる。つまり、起きていることは「切り捨て」で、1ミリボルトの量子化幅ならば、0.9999...ミリボルトまで誤差は発生し得る、と私は理解しているのだけれども。

この「量子化誤差は量子化幅(分解能)の最大二分の一」という「説」は、以前にも誰かから聞いた覚えがあって、「いや、コンパレータを使うAD変換器が普通だから、量子化誤差の最大は量子化幅でしょ?」という議論をした記憶がある。この「説」を見かけたのは、これが2回目。ということは、ある程度「流布」している説なんだろうか?

念の為に、以下のサイトなどで見てみた。

https://www.dewejapan.com/daq/converter_type.html#con_type16
ADコンバータの種類

積分型のAD変換器以外は、全部コンパレータを使っているから「切り捨て」の動作になる。積分型の場合には時間の測定になるけれども、これも最終的には「比較演算」で切り捨てになるはずで、この「量子化誤差は、量子化幅の二分の一」は、あり得ないのではないか、と思ったのだけれども、モヤモヤしていたので、書いてしまってスッキリしようかと、つい、書いてしまった。
ちなみに、手持ちの教科書などでは、この「二分の一」説は見当たらなかった。

もう一つは、ナイキスト周波数。

「ナイキスト周波数とは」でGoogleで検索すると、ほとんどのサイトで「ナイキスト周波数とは、標本化(サンプリング)周波数の1/2の周波数だ」と、書かれている。
臨床工学技士の「標準テキスト」でも、Wikipedia でも、この説明を書いている。

ところが、私が昔使っていた信号理論の教科書では、ナイキスト周波数は「原信号が持っている信号成分の2倍」という書き方がされていた。今、大学時代に使った教科書を探そうとしたのだけれど、見つからなかった。(というよりも、ちょっと探してすぐに見つからなかったので、探すのをやめた。)

ナイキストのサンプリングの定理では、特定周波数を有する信号をサンプリングする場合には、その信号周波数の2倍以上の周波数でサンプリングを行う必要があり、その「原信号の周波数の2倍」をナイキスト周波数と呼ぶ、と習っていて、電気工学/電子工学分野の担当だった先生も、やはり同じことをおっしゃっていたので、この「説」も、ある程度広まっているのかも知れない。

私が習ったのとは違う「サンプリング周波数の1/2が、ナイキスト周波数だ」と書いているサイトが圧倒的多数のようだったのだけれど、別の種類の記述も一つ見つけた。

https://www.ni.com/ja/shop/data-acquisition/measurement-fundamentals/analog-fundamentals/acquiring-an-analog-signal--bandwidth--nyquist-sampling-theorem-.html

アナログ信号の集録:帯域幅、ナイキストサンプリング理論、およびエイリアシング

ナイキストサンプリング理論

ナイキストサンプリング理論は、サンプリングレートと測定信号の周波数の関係を説明するものです。この理論では、サンプリングレートfsは測定信号の対象となる最高周波数成分の2倍以上でなければならないとされています。多くの場合、この周波数はナイキスト周波数、fNと呼ばれます。

https://www.ni.com/ja/shop/data-acquisition/measurement-fundamentals/analog-fundamentals/acquiring-an-analog-signal--bandwidth--nyquist-sampling-theorem-.html


式7:サンプリングレートはナイキスト周波数の2倍以上でなければならない

厳密に言えば、このページでは、「原信号の持つ最高周波数成分」をナイキスト周波数と呼んでいる。(ってことは、三つ目の「説」か?)

間違いなく、私は「原信号の持つ最高周波数成分の2倍がナイキスト周波数」で学んだし、電子工学の分野でこの内容で学んだ方も多いはずだと思う。(かなり著名な教科書で、この記述があったと記憶しているし、同僚だったその電気・電子工学分野の担当の先生も、かなり自信たっぷりにこの説で押してきていた。)

標準テキストを「改めるように」クレームを出しませんか?的な話になった時に、当時勤めていた大学の学科長のE先生(計測制御系の学会の元理事だったか、学会長だったかをやられた方)が原著を調べてくれて、どうやら、Nyquistご自身は「Nyquist周波数」などという呼び名を使っていないことが確認できたと。
つまり、後から、「原信号の最高周波数成分の2倍」をナイキスト周波数と呼ぶ派と、「サンプリング周波数の1/2」をナイキスト周波数と呼ぶ派の、両方が発生してしまった、ということになるのかも知れない。(いや、第三の説もあるみたいだけれど、、、。)

いずれにせよ、今日ググってみて、英語で"What's Nyquist frequency?"でググっても、AIに聞いても、「サンプリング周波数の1/2」と返ってきたので、もう、圧倒的にそちらが主流なんだろうな、というか、私が学んだ教科書が間違っていた、ということでここは納得して引き下がるしかないかな、と思った。

私が学生に教える時に、「ナイキスト周波数」について説明するのは、やや避けていた。どちらが正しいか、自信がなかった(というか、おそらくナイキスト自身は自分の名前を周波数につけていなかったのだろうと思う)ので、どちらの意味で出題されてもいいように、というか、「信号周波数とサンプリング周波数の関係」だけをしっかり覚えるように、伝えていた。のだけれど、来年度からは「ナイキスト周波数」の呼び名も定期試験の問題に復活させるかな?と思った。

以上
追補:後から、誤字脱字のみ修正しました。

いいなと思ったら応援しよう!