1.はじめに

No.152では擬似音声発生器を紹介しました。この時にも述べましたが、レベル調整が難しい点がありました。オシロだと波形は見えますが、レベルについては比較も測定も不可能です。もちろんサイン波であれば比較も測定も容易です。No.41のAFレベルメータでは表示にバラツキを生じてしまいます。

そこで、一定時間のレベルを平均化する事で、0.1dB程度の値が読める事を目標とし、写真1のようなデジタル表示のAFレベルメータを作ってみました。このように特殊な目的で作っていますので、一般のVUメータのように音声や音楽に追従して振らせるような目的とは全く異なります。

photo

写真1 このようなデジタル表示のAFレベルメータです。

2.擬似音声のレベル

このような測定が思いのほか大変とは、実は全く知りませんでした。No.41で紹介した写真2で簡単に測れると思っていたのですが、読取誤差は大きいし、会社のレベル計とも違いが出てしまいました。このようなVUメータには規格があり、0VUを入力した時に300msで99%まで振れるようになっています。瞬間的な信号に対しても対応できるように、可能な限り早く針を追従させているのでしょう。これで擬似音声を測ると、1dB以上の幅で振動してしまうのです。メータの目的としては正しいのですが、平均レベルとしては読みにくい事となってしまいます。但し、「無線機器測定法の実際」という本ではVUメータで測るようにはなっています。

photo

写真2 No.41で作ったレベルメータです。

実はNo.41は、今までサイン波しか測っていませんでした。過大入力をした時にメータに負担をかけないように、振り切れた付近にアンプの飽和領域を設定していました。しかし、0dBのところに擬似音声を合わせると、内部のアンプがピークで飽和してしまうらしく、低めに表示する事にも気が付きました。そのため-5dB程度の位置にしないと、擬似音声は正しく測れないのでした。このような信号に対しては、アンプに十分な余裕を持たせないとダメだと学習しました。もちろん音声でも同じなのでしょう。

そこで、新たにデジタル方式のAFレベルメータを作る事にしました。A/D変換をして信号を読み取り、長めに測る事で擬似音声の正しい平均電圧値を測定しようと考えました。擬似音声が測れれば「もう何でも計れるだろう」という考えのAFレベルメータです。

3.回路

図1のようにオペアンプで適度に増幅をし、AVRに入れてA/D変換します。最初はダイオードで検波してからA/D変換していたのですが、ダイオードには立ち上がりの電圧があり誤差の原因となります。そこで、増幅した信号を直接A/D変換してLCDに表示する事にしました。

photo

図1 全回路図になります。(※クリックすると画像が拡大します。)

入力には600Ωのアッテネータがありますが、最初は無かったものです。思ったよりも感度が良くなり過ぎてしまい、使いにくく感じました。そこで後から20dBの固定アッテネータを追加したものです。正確には計算上19.77dBで、インピーダンスは578Ωになります。それに抵抗の誤差が入りますので、更に誤差は大きくなる可能性がありますが、全体とすれば十分でしょう。比較するには全く問題になりません。

ほとんど前例のないような自作になってしまいました。ずい分と実験に時間がかかった作品ですが、その割には特に変わった回路でもありませんし、作り方でもありません。結果としては、そんなものなのでしょう。

4.作製

図2のような実装図を作成してからハンダ付けをしました。オペアンプの部分だけはアース付きのユニバーサル基板を使っています。これは別に作った基板を流用しただけです。ダイオードによる検波回路を外し、ゲインを×10、×100だったのを×3、×10に変更しています。苦労の結果ですが、結局は単純なアンプになりました。この基板はネジ止めをせず、下側のメインのユニバーサル基板からの電源と入力のワイヤーで固定してみました。強度的にも保守的にも問題はなさそうです。なお、出力の47kΩ半固VRは、非常にシビアな調整になりますので多回転を使います。半固定を基板上に置くよりも、調整しやすいようにパネル面に出すべきなのかもしれません。

photo

図2 基板の実装図です。(※クリックすると画像が拡大します。)

まとめ方を考えて、加工をしたLアングルや生基板等を集めたところが写真3です。写真4のように組みあがる予定です。基板を100mm×100mmの生基板に載せて、入力にはターミナルをアルミLアングルで取り付ける事にしました。基板を考えているところが写真5になります。ざっと組み立ててテストしているところが写真6です。この後で測定レベルを広くするため、アッテネータを追加しています。写真7がそのアッテネータです。スイッチの上部に生基板の小片を貼り付け、ここをグランドとしてT型のアッテネータを作っています。

photo

写真3 加工したLアングルや生基板です。

photo

写真4 仮組です。

photo

写真5 基板内のレイアウトを考えているところです。

photo

写真6 ざっと組み立ててテスト中です。この後でアッテネータなど追加しています。

photo

写真7 追加したアッテネータです。

ところで、長い間ずっと気になっていたのですが、キャラクタLCDはソケットと情報線は同じなのに、+5VとGNDが反対の製品があります。今までゴチャゴチャになってしまい、ソケットを使っているのに、交換して試す事がとても危ない状態でした。実際に入れ替えてみて「あれ、暖まってきた・・」という逆接を何回かやりました。そこで写真8のようにLCD側は5Vのハンダ部分に赤いマジックで印を付け、ソケットには写真9のように赤のポスカで印を付けました。これで+5Vが明らかになりますので、事故防止になります。このような作業は作製時にしておくべきでしょう。

photo

写真8 LCD側の赤マークです。

photo

写真9 ソケット側の赤マークです。

5.ソフト

CPUにはAVRのTiny861Aを使っています。A/D変換は10ビットですので、単純には60dBほどのダイナミックレンジとなります。しかし、1000回や10000回の平均を取る事で拡大しているように見えますが、理論的にはどうなのか良く解りません。ソフトではザックリとした値を計算し、後で他の測定器と比較して微調整するのが良いと思います。

10ビットのA/Dコンバータですので、出力は0~1023となります。センターの512をゼロ点として、プラス側もマイナス側も使って平均値を出します。そしてdBVを計算してLCDに表示します。LCDの上側にピーク値を表示し、下側に平均値を表示します。このような表示をする事で測定状態が解りますので、安心して測れます。A/D変換が限界を超えると誤差となると思っていましたが、オペアンプはレールtoレールではありません。オペアンプの限界が先になるため、1回でも512±350カウントの幅を外れると「INPUT LEVEL OVER」とピーク値側に表示します。その場合は入力にアッテネータを入れるようにします。1回の測定では、1000回あるいは10000回サンプリングして平均値を出してdBVに変換をしています。

最初に始めた時はA/D変換した結果を、まず全て合計していました。次に平均電圧を出してから電力にしてdBmを算出していました。これで上手く動いていると思っていたのですが、フト思い浮かんだのがAM変調の電力です。例えば100Wのキャリアで無変調時は100Wですが、100%変調時の平均電力としては150Wになります。パワー計の針が100Wのままなのは、実は電圧を測っていて、目盛だけ電力に置き換えているためです。電圧は平均すると変わりません。熱電対式のパワー計であれば、150Wと表示するはずです。疑似音声もこれと同じと気が付きました。つまりサイン波であればdBmとdBVの電圧と電力変換は加減算で可能です。しかし、サイン波以外では誤差が生じてしまいます。一般的なレベルメータは、どのような考え方で作られているのでしょうか。2乗してから平均するのが一般的なのか、電圧を平均してから電力にして電圧計の目盛だけ入れ替えているのか、という疑問があります。

これでしばらく悩んでしまいましたが、中途半端な電力表示は止めて平均電圧にする方法にしました。つまり1V基準のdBV表示です。OBWを測る時は、1kHzや1.5kHzと同じレベルの「電圧」の擬似音声を入力しますので、目的からしても電圧表示の方が都合が良いと気が付きました。

LCDには0.01dBVの桁まで表示しています。これは、この桁まで正確などというものではありません。せいぜい有効な桁は0.1dBVまででしょう。10000回の平均で測ると、表示の切り替わったタイミングが解りづらいため、意識的に細かい表示にしました。使いやすさのためで、最下位桁にこれ以上の意味はありません。

ソフトでは1000回から、最大は30万回までサンプリング回数を試しました。回数によって一長一短がありますが、結局スライドスイッチを追加して回数を切り替える事としました。回数が増えれば時間がかかるようになりますが、安定した値となります。これは正確に測りたいのか早くざっと測りたいのか、またサイン波なのか擬似音声のようなノイズなのか、これらによっても変わってきます。切り替える事によって、使い勝手が格段に向上しました。

あまり例の無いものを作ったため、これで良いのか良く解らない部分が多くあります。下手なソフトですが、以下に置いておきますので参考にして下さい。

ソフトダウンロード

なお、PCの環境はWINDOWS XPで、BASCOM AVRの製品版 VER.1.11.9.8を使ってコンパイルしています。書き込みはAVR ISPmkII ですが、基板のISP端子との接続には自作の変換ケーブルを使っています。これ以外の環境についての確認はしていません。

6.調整

オペアンプの出力にある半固VRは、0~12Vでスイングされた信号をA/D変換のできる0~5Vにするためのものです。ソフトではA/D出力の中央の512をゼロポイントとしています。オシロやデジタルテスターで無信号時にざっと2.5Vになるようにします。次に無信号時に、一番レベルが低い表示になるように微調整します。ここがダイナミックレンジの一番取れる位置になります。

サイン波の測定できる範囲としては、アッテネータOFFで最大が-24dBVで最小は-70dBV程度です。最小は調整によって変化します。最大を-24dBVとしたのは、ピークでオペアンプの幅を超えるからです。この測定の様子を写真10に示します。アッテネータをONすると、全て20dB上昇する事となります。ちなみにマイク入力レベルを5mVとすると、-46dBVですので測れる幅に十分に入ります。

photo

写真10 測定しているところです。

電源にスイッチング式のACアダプタを用いると、いくら調整しても-65dBVより下がらない事に気が付きました。ところが、No.123で作った電源では-100dBVまで下がり、瞬間的には-130dBVまで下がります。こんな値に意味は無いとしても、電源は大事という事になるのでしょう。オペアンプの回路には78L09が、CPUの回路には78L05がそれぞれ入っています。しかし、電源の12Vの変化によって、僅かにゼロ点が変化してしまいます。そのようにシビアなものですので、普段使う電源で調整する必要があります。あるいは電源も内蔵にすべきなのかもしれません。

ソフトでは基準の5Vを使って、電圧の平均値を計算しています。もし平均値が測れ、基準にできるような測定器があれば、ソフトの係数を微調整し測定結果を正しい値に追い込むと良いでしょう。

7.測定

No.152ではスペアナのトライアル期間を過ぎてしまい、OBWの測定に入れないと述べました。めったに使う事のない機能に数万円も出すのも考えものです。そこでAPB-3を使ってデータを取り出し、エクセルで計算させる技を開発しました。このエクセルの使い方と考え方はかなりのボリュームになります。そこでこの続編とします。

このようにして測ってみた結果としては、No.88の7MHzのSSBトランシーバは2813Hzとなりました。この時のスペクトラムは測定結果1になります。

photo

測定結果1. OBWを測った時のスペクトラムです。試した事が多かったので、レベルは多少異なるかもしれません。(※クリックすると画像が拡大します。)

8.終わりに

私が知らないだけかもしれませんが、ほとんど世の中で見たことが無いようなレベルメータになりました。参考にできるものが全く無い手探りの状態からのスタートでしたので、苦労したのですがスペック的には疑問符が付きます。第一、擬似音声とサイン波のレベルを合わせるのに、このような方法で良いのかが良く解りません。早々に次の測定器を作る可能性もあります。ソフトでゼロ点を自動調整するとか、オペアンプでも5Vを電源にするなど、次のアイデアも出て来ています。

新たに出てきた思わぬ問題点があります。ノイズフロアに近いレベルでは、サイン波と擬似音声でアッテネータを入れた時の下がり方に、僅かな違いが出てしまう事に気が付きました。レベルが下がるとそれまではA/D変換できていた低いレベルのノイズが変換出来なくなり、それが積み重なって少しずつ表示が下がると考えていますが、真偽は不明です。いずれにしてもノイズのような信号レベルを測るのは、大変に難しいものであると認識しました。