« ZYNQのLinuxカーネルを5.15にアップデートしてKSZ9131が動作した | トップページ | Cosmo-Zのロックインアンプで1uVを測る »

2022.03.04

Cosmo-Zのロックインアンプで10uVを測る

Cosmo-Zにはロックインアンプというオプションがあります。FPGAの中でロックインアンプを作って特定周波数の微弱な信号の振幅や位相を計測するというものです。

この機能の能力を測定するため、ファンクションジェネレータで1mV程度の振幅の信号を作って、それを抵抗で100分の1に分圧してADCに入力してみることにしました。

Lockin_test

上の写真では、抵抗で分圧した電圧と、生の信号、それからトリガをCosmo-Zに入力しています。

ちなみに、私が持っている安いGW Instekのファンクションジェネレータで出せる最も小さな振幅の信号と、分圧した信号をCosmo-Zに入れてキャプチャしてみると、下の図のようになります。

Minimum_signal

青い線は生の信号、茶色は分圧した信号です。

さすがに何も信号が見えていなければロックインアンプでも見ることはできないので、Comso-Zの入力部にOPA656を使ったゲイン100のアンプを乗せます。100分の1にした信号をOPアンプで100倍してADCに入れるというわけです。

すると、ノイズに埋もれながらも、正弦波らしきものが見えてきました。

Lockin_amp100

この状態でFFTをかけてみると、ノイズに埋もれながらもピークの周波数では、赤のチャネル(1/100して100倍したもの)と、青のチャネル(生の信号)は同じ値を示しているので、

Fft_20220306000001

ロックインアンプで振幅を読み取れるのではないかと期待できるわけです。

ファンクションジェネレータから与える正弦波の振幅をいろいろ変えて測ってみたところ、

Lockin_6mv

元の信号の振幅が0.5mV~22mV(アッテネータ後では50uV~220uV)では、アッテネータ前の振幅と、アッテネータ後の振幅が直線的な関係になることが確認できました。

Lockin_22mv

Cosmo-ZでCosmo-Zを校正する感じなのであまり良い方法ではないのですが、mV、μVの振幅を正確に測る測定器がないのでどうしようもありません。Como-Zのロックインアンプは元の振幅がmVのオーダーがあればノイズに埋もれることはないので、横軸は正しいと考えて、この結果はある程度信用できるのではないかと思います。

なお、私が持っているこの古いファンクションジェネレータは、振幅調整がディジタルではない(アナログのツマミを回す方式)ので、電圧がわかりません。他にもディジタル設定式のオーディオアナライザや高周波発生器もあるのですがトリガが出せないので、ロックインアンプの評価には不向きです。

これでは先に進めないので、Agilent(Keysight)の任意波形発生器「33522B」を買いに、秋葉にいったのですが、品切れだそうです。納期1.5か月です。似たような任意波形発生器も全部品切れだそうです。お店の人曰く、半導体不足で入ってこないそうです。

幸いMouserにKeysightのEDU33212Aというのがあったので即効で注文しました。EDUという型番ですがエデュケーション専用ではないようですし、THDなどの数値もE33522Bと比べて遜色ありません。来週、これが来たらより正確に測ってみれそうです。

|

« ZYNQのLinuxカーネルを5.15にアップデートしてKSZ9131が動作した | トップページ | Cosmo-Zのロックインアンプで1uVを測る »

コメント

コメントを書く



(ウェブ上には掲載しません)




« ZYNQのLinuxカーネルを5.15にアップデートしてKSZ9131が動作した | トップページ | Cosmo-Zのロックインアンプで1uVを測る »