見本 PDF

特集
第 4 章 測定の流れ，USB 通信，FIR フィルタ，ヒルベルト変換，キャリブレーション，DDSの計算など

PC 側のアプリケーション・ソフトウェア
富井 里一
Tommy Reach

4.1 全体の構成
PC アプリケーション（以下，PC アプリ）の開発環境
は Delphi XE2 Professional を 利 用 し ま す． 言 語 はPASCALです．.pasファイルがプログラムのソース・ファイル（ASCII ファイル）です．
本 PC アプリは，いくつかの .pas ファイルから構成されています．図 4.1 に，そのファイルとファイル間の関係を示します．

ネットワーク・アナライザ 8753D に似た操作性にこだわったために，ボタン操作の処理ルーチンはかなりの量になってしまいました．

■ 4.1.2 TZiPic32mxVna̲v001.pas
TZiPic32mxVna_v001.pas は，測定条件の設定，DDS レジスタのデータ計算，PIC マイコンとのデータのやり取り，測定データの処理と校正データによる補正処理を担当します．

■ 4.1.1 main.pas■ 4.1.3 TZiHilb̲v001.pas とTZiMpusbapiDll̲v001.pas

main.pas は，ボタンやマウスやキーのイベントに従った処理（関数）をコールする機能が主になります．
Windows の汎用的なメニューにすればプログラムの記述は少ない行数で済んだのですが，キーサイト社のFIR フィルタとヒルベルト変換（ADC のサンプリン
グ・データの信号処理）を TZiHilb_v001.pas が担
当 し ま す．PIC マ イ コ ン と の デ ー タ の や り 取 り は
TZiMpusbapiDll_v001.pas の関数を利用します．

TZiPoc32mxVna_v001.pas

TZiMpusbapiD11_v001.pas

測定処理

マイクロチップ・テクノロジー社のDLLをコールDDSレジスタのデータ計算する関数

PICマイコン制御

main.pas

測定データの処理TZiHilb_v001.pas

校正データによる補正処理

信号処理

S パラメータを配列に保管

配列：FIRフィルタとヒルベルトのタップ係数
FIRフィルタ処理

ユーザ・インターフェース
ボタン，マウス，キーなどのイベント処理
メニュー処理ファイル処理TZiSmith_v010.pas

ヒルベルト変換処理

グラフ処理（スミス・チャート，極座標）
配列：グラフにプロットするデータ

TZiGLMag_v001.pas
グラフ処理（LOG-MAG，DELAY，SWR）
配列：グラフにプロットするデータ

その他

DlgBx_*.pas：ダイアログ・ボックス関連の処理
TZiFmProgressBar_v001.pas：プログレス・バーの処理

TZiMSmt_v009.pas： S パラメータ計算の関数群
TZiIinFile_v005.pas：.iniファイルの読み書き
処理

TZiS4p_v019.pas：s2pファイルの読み書き処理
TZiInputVal_v010.pas：テキストを数値変換する処理

TZioutputVal_v010.pas：数値をテキスト変換〈 図 4.1 〉ファイル構成とファイル間の関係

46

する処理

No.35

特集

作る！ ベクトル・ネットワーク・アナライザ■ 4.1.4 TZiSmith̲v010.pas とTZiGLMag̲v001.pas
TZiSmith_v010.pas はスミス・チャートと極座標のグラフを処理をします．グラフにプロットするデける処理の概略フローです．［RUN］ボタンを押すとイベントのプロシジャ TZiMain.Btn_StartClick()に進み，測定が始まります．
● TZiMain.Btn̲StartClick（）ータの配列を持っています．また，マーカ機能やスケール変更などグラフに関係する処理はここで行います．
グラフが異なるだけで同じ機能を持つ TZiGLMag_v001.pas があります．これは横軸周波数のグラフで，繰り返し測定，または，1 回のみ測定を確認して，MEAS_OneTime() 関数に進みます．
● TZiMain.MEAS̲OneTime（）
まず，測定モード（S 11/S 12/S 21/S 22）とキャリブレーションの種類（RESP/RES＆ISO/ENH−RESP/1−PORT

LOG−MAG，DELAY，SWR のときに利用します．

/FULL 2−PORT）
を確認します．次にコールする関数■ 4.1.5 その他
ダイアログ・ボックスやプログレス・バーの表示関
連のファイル，S パラメータ計算の関数群，設定ファイル（.ini）の読み書き，Touchstone 形式ファイルの読み書き，テキスト数値変換機能などをそれぞれ機能
別にファイル（.pas）があります．

4.2 測定フローの概要
全体の構成を細かく説明するには限界があります．
そのため測定する流れを紹介することで，少しでも全体像が見えてくればという考えで進めます．

■ 4.2.1 測定の概略フロー
図 4.2 は「S 11 の測定かつ 1−Port CAL」の条件にお測定開始を判定するためです．そして，［HOLD］ボタンが押されるまでループ処理を行います．
ループ処理の中は，測定をする関数をコールします．
ここでは TZiMain.MEAS_1PORT_S11() 関数をコールすることとします．そして，グラフの再描画を行います．
［HOLD］ボタンが押されたとき，または，1 回だけ測定する場合は，再描画をした後にこの関数を抜けて測定は終了します．
● TZiMain.MEAS̲1PORT̲S11（）関数
ここでは，アクティブなグラフ（SMITH/POLAR/LOG−MAG/DELAY/SWR）を確認します．そして周波数のポイント数だけループ処理を行います．
ループ処理の中は，以下を行います．
● 測定を行う TZiVNA.MES_SUB() 関数のコール●

キャリブレーション・データによるS パラメー

main. pas
TZiPic32mxVna̲v001. pas

TZiMain.Btn_StartClick()
1回測定/繰り返し測定の確認

TZiVNA.MES_SUB()
DDS, ADC用の関数をコール

TZiMain.MEAS_OneTime()
測定モードの確認（S 11, S 12 , S 21 , S 22）
CALモードの確認（Resp, 1-Port, …）測定用の関数をコールグラフ全体の再描画
Holdボタンの確認

OFF

1周波数測定用の関数をコール

TZiVNA.DdsExeFrq()
DDS用の周波数データをDDSに転送
ADCサンプリング・データを受け取る

条件：S 11，1-Port

TZiVNA.MeasS_1Freq()ON

TZiMain.MEAS_1PORT_S11()

測定終了

FIRフィルタの処理

グラフの確認（LOG-MAG, SMITH, …）ヒルベルト変換の処理

測定用のサブ関数をコール

A /R または B /R の処理

CALデータによる測定データの補正
2点間の直線プロット（一つ前のデータと現在のデータ）
測定ポイントの確認
Maxポイント未満
Maxポイント〈 図 4.2 〉測定の概略フローNo.3547