罗德信号源:如何生成和转换wv基带波形文件

R&S矢量信号源,例如SMW、SMBV、SGT等,支持用户自定义基带数据波形文件,文件格式是R&S专用的*.wv文件。本文介绍几种wv文件的生成方法,把用户生成的IQ数据保存为wv格式,或把现有数据文件转换为wv格式。分别基于以下平台和软件:Matlab、python、C#和R&S ARB toolbox。

Matlab

R&S信号源官方文件工具包,使用此工具包可以在matlab中将IQ数组及其采样率等信息直接生成R&S信号源的专用*.wv文件,保存在电脑本地,或者控制信号源上传。

https://www.rohde-schwarz.com/applications/r-s-matlab-toolkit-for-signal-generators-application-note_56280-15774.html

工具包中关键函数文件是rs_generate_wave.m,文件开头注释详细的函数说明,其中IQinfo结构数组是必要参数,特别是其中的I/Q两个1*n数组和采样率。

设置参数InstrObj=0,KeepLocalFile=1, 不须连接仪器,生成wv保存本地;如需连接控制信号源上传,InstrObj = rs_connect函数返回值。

罗德信号源:如何生成和转换wv基带波形文件

以下Matlab代码,是导入*.mat中的IQ数据,预览并生成*.wv文件,保存在本电脑当前路径下:


% #convert *.mat data file
load('IQ.mat');
IQInfo.I_data = Idata;   % #I-data(1*n) from mat file
IQInfo.Q_data = Qdata;   % #Q-data(1*n) from mat file
IQInfo.clock  = 100E6;   % #Sample Rate 
IQInfo.filename = 'IQ.wv';
% #Plot Data for preview
rs_visualize( IQInfo.clock, IQInfo.I_data, IQInfo.Q_data );

% #generate *.wv file
rs_generate_wave(0, IQInfo, 0, 1)   % #generate the wv file
disp(['waveform file "' IQInfo.filename '" saved...']);

Python

通过语句from RsSmw import *导入R&S SMW的官方模块,其它型号矢量信号源也有相应模块;需要预先导入RsSmw和pyVisa模块。此模块中关键函数是create_waveform_file_from_samples,IQ数组和采样率由用户自定义。

以下Python代码依据IQ数组生成*.wv文件:

from RsSmw import *

# 生成IQ数组:i_data,q_data,省略代码...
# 本地wv文件 arbFileExample.wv,采样率100MHz
clock_freq= 100E6 
pc_wv_file = 'arbFileExample.wv'
# auto_scale=True代表基带电平自动调节,大值满量程
# ['MARKER LIST 1: 0:1;10:0']:在波形文件起始时刻,USER1输出10个采样时间宽度的脉冲
result = smw.arb_files.create_waveform_file_from_samples(i_data, q_data, pc_wv_file,
                                                         clock_freq=clock_freq, auto_scale=True,
                                                         additional_tags=['MARKER LIST 1: 0:1;10:0'],
                                                         comment='wv example')

C#

C#菜单Tools -> NuGet Packet Manager -> Manage NuGet Packages for Solution… 导入RsSmw。此模块中关键函数是smw.ArbFiles.CreateWaveformFileFromSamples,IQ数组和采样率由用户自定义。

以下C#代码依据IQ数组生成*.wv文件:

// Creating the I/Q vectors as lists: i_data / q_data
var pcWvFileA = @"c:\temp\arbFileAexampleCsharp.wv";
// Samples clock
var clockFreq = 100e6;
var autoScale = true;
var commentA = "Created from I/Q vectors";

// I-component an Q-component data
// var iSamples = ...;
// var qSamples = ...;

// create the pcWvFileA 
smw.ArbFiles.CreateWaveformFileFromSamples(iSamples, qSamples, pcWvFileA, clockFreq, autoScale, commentA);

ARB-Toolbox

这是R&S信号源任意波形文件生成工具,官方免费软件,功能有生成多种类型调制信号波形文件、多种文件类型转换为*.wv文件、wv文件分析、控制频谱仪读取IQ数据并生成*.wv波形文件,还可以对数据进行重采样、滤波等操作。

生成的信号类型有:

  • Function:自定义函数
  • Expression:自定义公式
  • AM/FM/PM
  • FM Sweep:连续扫频(锯齿或三角)
  • Multi Tone:多载波
  • Pulse:脉冲(或线性调频)
  • Noise:噪声
罗德信号源:如何生成和转换wv基带波形文件

可以将以下格式的IQ数据文件,转换为*.wv

  • Data:数据文件,二进制或文本格式可选,单列的I/Q两个文件或一个双列文件;
  • MATLAB:*.mat数据文件,I/Q两个标量数据文件或一个矢量数据文件
  • RIQ:*.riq数据文件,R&S PR100保存的文件格式
  • WAV:*.wav数据文件,R&S EM100保存的文件格式
  • iq-tar:*.iqtar数据文件,R&S频谱仪保存的文件格式
  • IQR.wvh:*.wvh数据文件,R&S IQR保存的文件格式
罗德信号源:如何生成和转换wv基带波形文件

相关新闻

在线咨询
分享本页
返回顶部