説明
Pythonを使用して、ベクトル信号発生器にロードできる波形ファイル(*.wv)を手動で作成するにはどうすればいいですか?
Pythonを使用して、ベクトル信号発生器にロードできる波形ファイル(*.wv)を手動で作成するにはどうすればいいですか?
*.wvファイルを手動で作成するには、波形のI/Qデータと、信号がサンプリングされたサンプリング周波数(クロック)が必要です。
この簡単な例では、10 MHzのクロックと、20サンプルのI/Qシーケンスを使用しています。
波形ファイルのヘッダーには、タグと呼ばれるものが挿入されます。TYPE、CLOCK、LEVEL OFFS、WAVEFORMの各タグは、すべての波形ファイルに必須です。
他のタグはすべてオプションであり、TYPEタグの後に任意の順序で挿入できます。
I/Qデータの数値の-1.0~+1.0の範囲は、波形の16ビットD/Aコンバーターの-32767~+32767の変調範囲に対応します。
この16ビットの符号付き整数を、リトルエンディアン形式の16進数で表した結果のI/Q値に変換する必要があります。
その後、データを2進フォーマットでWAVEFORMタグに次の形式で挿入します。
上記のコードを実行した後、作成されたファイルをR&S ARB Toolboxで開くと、次のような波形が得られます。PythonコードのI/Qデータと比較することで、データが正しく作成されていることがわかります。
参考資料:
SMBV100Bユーザ・マニュアル
https://www.rohde-schwarz.com/produkte/messtechnik/vektorsignalgeneratoren/rs-smbv100b-vektorsignalgenerator_63493-519808.html