自己診断ソフト「DIAG」

Piレシーバ拡張ボードは出荷時に全数動作確認していますが、その祭に全帯域で所定のゲインがある事を確認するために自己診断ソフト「DIAG」を実行しています。
写真のようにCW出力とANT入力間を30〜40dBのATTを介して接続し、画面上のf特グラフとテキストによるPASS/FAIL判定で診断します。



下の画面はDIAG実行時に表示されるゲイン(MAG)と群遅延(GDL)です。 50MHz〜2200MHzを10MHz間隔でスイープしています。この場合の掃引時間は約1秒です。 2GHz付近で波形が乱れるのはIQ復調ICのDCオフセットが悪化するためで、DIAGがゼロIF方式を採用しているためです。 LowIF方式、または後述するベースバンドゲインを変更すればこの問題は改善します。



下の画面はDIAG実行時のPASS/FAIL判定の様子です。
このf特はCW出力とフロントエンド回路の特性が加算されたものですが、殆どはフロントエンドのLNA「HMC599」の特性が見えています。 このようにHMC599のフロントエンドとしての実用範囲は1GHzあたりが限界です。
もちろん1GHz以上でも外部LNAやANTモジュール等を付ければ問題ありません。



DIAGの目的は50MHz〜1GHzの範囲の利得がほぼフラットである事を確認するためなので、この程度の分解能で十分です。

簡易計測器として利用するには

自己診断ソフト「DIAG」は振幅と群遅延(位相)の通過特性を測る事ができるため簡易的なネットアナとして使用できます。
簡易的というのはダイナミックレンジが50dB程度しかないためフィルタなどの減衰特性を測るにはレベル分解能が不足するためです。 後日、ダイナミックレンジを大幅に拡大させた実用的な計測器(スペアナ&ネットアナ)を紹介する予定です。

DIAGではそのままでも良いのですが簡易計測器として50dBのダイナミックレンジを確保するにはDCオフセットを抑えなくてはなりません。 そのためベースバンドアンプのゲインを現状の30dBから0dBに落として 直交復調ICから出力されるDCオフセットの影響を1/30に小さくします。

下記回路図の以下の定数を変更します。

1005チップ抵抗 R33 15kΩ → 470Ω
1005チップ抵抗 R34 15kΩ → 470Ω
1005チップ抵抗 R35 15kΩ → 470Ω
1005チップ抵抗 R36 15kΩ → 470Ω



基板上の実際の位置はベースバンドOPアンプの両隣になります。
現在付いている15kΩを外して、代わりに470Ωを実装します。
受信機としての感度は30dB低下するため計測器との両立はできませんが、 後日両立に対応した追加基板の開発予定があります。



簡易計測器としての測定例

ベースバンドゲインを1/30に下げてDCオフセットの影響を抑えると下の画像のようにS/Nが向上します。 これは3dBのATTを介してCW出力とANT入力間を接続しています。



[C]キーを押す事でノーマライズされます。(下の画像)



下の画像はノーマライズされた状態で20dBATTと直列にRFアンプ「GN1021」を挿れて測定した結果です。 1GHz以上までゲイン20dBが得られています。
このように緩やかなf特のデバイス測定などに使用できます。



自己診断ソフトのダウンロード

自己診断を試してみたい場合、基板を改造して簡易測定をしてみたい場合は以下のDIAGソフトをダウンロードしてください。
DIAGソフトはソースコードで配布されるためそれぞれの環境でコンパイルが必要になります。

DIAGソフトのダウンロードはこちら


ダウンロードたソースファイルをPiRadioディレクトリの下に置きます。

ソースコードのコンパイル方法

$ cd PiRadio
$ g++ -I/usr/include/X11 -L/usr/X11 -o diag diag.cpp -lX11

起動方法

一例としてPiRadioディレクトリ上で

sudo ./diag 50 2200 10 30 10 50 10 1

でDIAGソフトが起動します。
ラズベリーパイのGPIOにアクセスするため管理者権限のsudoが必要になります。

***引数の説明***

diag f1 f2 f3 m1 m2 d1 d2 a1

f1 : サーチ開始周波数(MHz)
f2 : サーチ終了周波数(MHz)
f3 : ステップ周波数(MHz)
m1 : 振幅リファレンスレベル(dB)
m2 : 振幅スケールレベル(dB/div)
d1 : 群遅延リファレンスレベル(ns)
d2 : 群遅延スケールレベル(ns/div)
a1 : 平均回数


上の例では50MHz〜2200MHzを10MHzステップでサーチし
振幅表示の上端が30dB、スケールは10dB/div
群遅延表示の上端が50ns、スケールは10ns/div
平均値処理はなし(1回)となります。

DIAG判定値

PASS/FAILの判定値は以下の通りです。40dB ATTを挿入した場合の値になっています。
1GHz以上は動作確認程度の判定値になっています。

100MHz Gain>-10dB
150MHz Gain>-10dB
300MHz Gain>-10dB
450MHz Gain>-10dB
600MHz Gain>-10dB
800MHz Gain>-10dB
1200MHz Gain>-20dB
1500MHz Gain>-20dB
1800MHz Gain>-20dB
2100MHz Gain>-25dB

1GHz以上でFAILした場合、f特画面を確認してFAIL周波数前後の利得に問題なければPASSとしています。