是德科技
直播中

李璐

7年用户 171经验值
私信 关注
[问答]

N5182B选通信号为什么不是预期的500ksa

我正在使用N5182B矢量信号发生器,其RF输出直接连接到频谱分析仪。
我正在使用Agilent N7622B Signal Studio Toolkit 1.3.0.0版将matlab波形写入VSG。
我使用Toolkit附带的MATLAB示例代码生成1000个样本音 - 相关代码总结如下:phase =(2 * pi / 100)*  [0:999 ];
Idata = cos(阶段);
Qdata =罪(阶段);
这非常有效;
出现预期的语气。
VSG表示该段在BBG内存中占用1000sa,如预期的那样。
但是,当我将音调调整为500,000个样本时(在设备的32Msa限制内),VSG表示该段占用488ksa,而不是预期的500ksa。
噪声基底升高,出现音调的副本(镜像中心频率),并且音调每秒打开和关闭许多次。
对MATLAB代码的唯一更改是使用“phase =(2 * pi / 100)*  [0:499999 ];”
而不是“phase =(2 * pi / 100)*  [0:999 ];”
谁能告诉我可能是什么原因导致的?
我附上了截图,显示频谱分析仪在预期频率下设置为零跨度,而500ksa音调以50MHz时钟频率播放。
这种模式的周期恰好是10ms。
模式开始时的较高幅度步长为1.3ms。
模式的总时间为7.76ms。

以上来自于谷歌翻译


     以下为原文

  I'm using a N5182B vector signal generator, with its RF output connected directly to a spectrum analyzer.  I'm using the Agilent N7622B Signal Studio Toolkit version 1.3.0.0 to write Matlab waveforms to the VSG.

I used the MATLAB sample code that comes with Toolkit to generate a 1000 sample tone - relevant code summarized below:
phase = (2*pi/100)*[0:999];
Idata = cos(phase);
Qdata = sin(phase);

This works perfectly; a tone appears where expected.  The VSG indicates that the segment occupies 1000sa in BBG memory, as expected.  However, when I make the tone 500,000 samples long (well within the device's 32Msa limit), the VSG indicates the segment occupies 488ksa, rather than the expected 500ksa.  The noise floor becomes elevated, a copy of the tone appears (mirrored about the center frequency), and the tone gates on and off many times per second.  The only change to the MATLAB code was using "phase = (2*pi/100)*[0:499999];" instead of "phase = (2*pi/100)*[0:999];"

Can anyone tell me what might be causing this?

I've attached screenshot showing the spectrum analyzer set to zero span at the expected frequency, while the 500ksa tone is being played back at a 50MHz clock rate.  The period of this pattern is exactly 10ms.  The higher-amplitude step at the start of the pattern is 1.3ms long.  The total on time of the pattern is 7.76ms.   
附件

回帖(1)

李璐

2019-7-24 15:15:16
数字 - 一旦我求助,我就找出问题所在。
这似乎是Signal Studio Toolkit文件解析的一个问题。
将数据放在制表符分隔的文本文件而不是MATLAB文件中会导致文件未损坏;
但是,软件会抛出OutOfMemoryException,然后才能处理任何有用长度的文件。
可用的实际内存量似乎不会影响此异常;
该应用程序似乎只能使用1GB的提交费用。
我找到的解决方案是手动形成BBG二进制文件。
它们由16位无符号数组成,I和Q交错。
然后可以通过FTP将这些上载到VSG。
这是更多的工作,但它不会像Signal Studio Toolkit那样破坏文件。

以上来自于谷歌翻译


     以下为原文

  Figures - as soon as I ask for help I figure out the problem.  This appears to be an issue with the Signal Studio Toolkit's file parsing.  Putting your data in a tab-delimited text file instead of a MATLAB file results in an uncorrupted file; however, the software throws an OutOfMemoryException before being able to process a file of any useful length.  The amount of actual memory available does not seem to affect this exception; the application appears to only be able to use 1GB of commit charge.

The solution I found was to form BBG binary files manually.  They consist of 16bit unsigned numbers, with I and Q interleaved.  These can then be uploaded through FTP to the VSG.  This is more work but it does not corrupt the files the way Signal Studio Toolkit does.
举报

更多回帖

发帖
×
20
完善资料,
赚取积分