任意波形发生器(AWG)是一种功能强大且灵活的信号发生器,能够在发生器带宽范围内输出任意波形。拥有AWG之后,您将需要在其中产生波形。创建,捕获,修改和传输测试波形的步骤可以很容易地与发生器的步骤相匹配。 本应用笔记通过提供示例,来简化创建、捕获、修改、传输波形的过程。我们将介绍函数发生器模式,使用方程式创建波形,从数字化仪,示波器和MATLAB等第三方软件传输采集波形。它还包括这些波形的编辑和处理。我们的硬件重点将放在M2i.6xxx和M4i.66xxPCIe AWG上,其示例如图1所示。
这些模块化AWG产品提供16个型号,具有1至4个通道,信号产生速率从20MS/s至1.25GS/s,带宽为10MHz至400MHz,分辨率为8、14或16位。所有AWG产品都使用一组通用的驱动程序和支持软件。
图1基于PCIExpress的M4i.66xx系列AWG提供1、2、4通道,采样率高达1.25GS/s,带宽高达400MHz。
使用AWG的函数发生器模式
每个AWG都可以将其用作简单的函数生成器,可以直接产生和输出正弦波,矩形(正方形),三角形,锯齿形和直流波形,而不需要任何复杂的操作。SBench6软件包中提供EasyGenerator功能。SBench6是一款功能强大且直观的交互式测量软件,用于采集,处理和创建信号。它用于所有Spectrum的数字化仪,AWG以及基于LAN总线的NETBOX系统。
图2
EasyGenerator是SBench6软件的组成部分,如图2所示。EasyGenerator便于选择六种函数发生波形中的任何一种,包括正弦波,矩形,三角形,锯齿形,SINC和DC波形,用户可以调节每个波形的频率,幅度和相位,矩形,三角形和锯齿波的占空比也可以调节。它还可以为每个可用的输出通道选择单独的波形设置,只需按一下开始按钮就可以将所有启用的波形传输到AWG输出。EasyGenerator提供了一种将标准函数发生器波形输出到AWG的简单方法。
使用SBench6中的方程式创建波形。
创建波形的最准确方法是将它们建立在数学方程式的基础上。它们精确且可重复,并提供各种测试信号。SBench6包括一个函数生成器编辑器,支持使用基于文本的方程式生成波形,如图3所示。
图3使用SBench6的函数生成器编辑器基于方程式创建正弦扫描
函数发生器编辑器接受文本格式的方程式,并允许选择采样率,幅度和波形持续时间。
编辑器使用以下运算符:
Operators
+Addition
-Subtraction
*Multiplication
/Division
%Modulo
^Power
&bitwiseAND
|bitwiseOR
<<bitwiseleftshift
>>bitwiserightshift
Italsoacceptsthesepredefinedconstants:
e=Euler’snumber=2.7182...
pi=PI=3.14159...
Thefollowingfunctionsarerecognized:
sin(x)Sine
cos(x)Cosine
tan(x)Tangent
asin(x)ArcSine
acos(x)ArcCosine
atan(x)ArcTangent
sinh(x)HyperbolicSine
cosh(x)HyperbolicCosine
tanh(x)HyperbolicTangent
ln(x)NaturalLogarithm
abs(x)AbsoluteValue
所有函数都需要一个参数。标准参数是x(当前样本),它从0到[length-1],也可以使用另一个表达式修改参数,这需要操纵合成信号的时基。
此外,以下条件函数采用基于参数的值,如说明中所示。
if(x,min,max)ifx>=minandx<=maxtheresultis1.0,otherwisezero
sign(x)is-1.0ifargumentisnegative,+1.0ifargumentispositive
tri(x,d)Trianglewithd%ofoneperiodrising,theother100-d%falling
rect(x,d)Rectanglewithd%ofoneperiodhigh,theother100-d%low
图4显示了使用上述运算符和函数创建正弦扫描波形的示例。Spectrum提供了一个应用笔记,其中展示了24个使用方程创建波形的示例。该注释可在主页上找到。
图4使用SBench6中的方程式创建正弦扫描的示例。
导入波形
我们已经看到,在Spectrum的SBench6软件中可以在本地创建波形,也可以从其他来源创建或获取波形,包括数字化仪和数字示波器以及电子表格,数学程序和系统集成软件等软件工具。这些来源的波形可以导入到SBench6中,并使用以下导入格式之一发送到AWG。
导入SBench6
函数将加载先前存储的SBench6数据文件,包括所有包含的信号。
导入SBench5
此函数将导入SBench5格式的数据文件,数据格式由SBench产品的先前版本使用。
导入ASCII
此函数将导入一个ASCII文件,其中包含基于列的信号数据。该函数将尝试确定数据格式,然后将数据转换为有效信号。
导入波
此函数将导入由全球标准文件扩展名.wav标识的标准波形音频文件。从波形文件派生一个或多个信号,并显示在SBench6中。不包含在波形文件中的数据信息被设置为标准值。
导入二进制
函数导入纯二进制文件,该文件仅包含信号数据而没有标题信息。该函数将查找由SBench6编写的附加头,并使用此处存储的信息。如果在基本信息SBench6中没有找到头文件
将提示输入所需的信息。
下表显示了各种信号源的最常见导入格式:
波形源 |
传输文件格式 |
SpectrumDigitizer |
.sb6dat,ASCII,Binary |
SpectrumAWG |
.sb6dat,ASCII,Binary |
SpectrumdigitizerNETBOX |
.sb6dat,ASCII,Binary |
Digitizer(Non-Spectrum |
ASCII |
DigitalOscilloscope |
ASCII |
Spreadsheet(Excel) |
ASCII |
MathProgram(MATLAB) |
ASCII,Binary |
SystemIntegrationSoftware(LabVIEW) |
ASCII,Binary |
Audio Recording |
Wave |
从频谱数字化仪导入波形
使用SBench6可以轻松地从Spectrum数字化仪导入波形,每个Spectrum设备(数字化仪和AWG)都有一个SBench6实例。使用数字转换器捕获所需的波形,确保信号幅度,带宽和采样率在AWG范围内。捕获波形后,使用文件下拉菜单以SBench6格式(.sb6dat)导出采集的波形。注意保存导出的波形文件的路径和文件名。
打开SBench6的AWG实例。图5显示了将波形导入AWG的步骤。
图5使用“文件”下拉菜单下的“导入”功能将数字化仪中的波形导入到SBench6AWG实例中的过程。
从文件下拉菜单中选择导入/加载。选择SBench6格式,使用“选择要导入的文件”导航。
对于所需的文件(从SBench6的数字化仪实例导出的),然后按“Open”。所选文件中存储的波形将出现在SBench6左上角的“输入通道”窗格的import标题下。右击所需的波形,然后选择“AddtoDisplay”以查看波形。
在SBench6的AWG实例的左下角找到“OutputChannels”窗格。注意所需的输出通道。单击并将所需的输入通道拖到所需的输出通道。现在,输出通道的指定数据字段应指示导入波形的名称。
右击输出通道,然后选择“设置”选项。设置通道将弹出显示输出通道的配置,包括新分配的数据文件。选中“输出启用框”以从选定的AWG通道输出波形,如图6所示。
图6将波形传输到所需的输出通道并启用AWG输出
应当注意,可以使用“设置通道”弹出窗口将所需波形分配给选定的输出通道。还要注意,可以从此弹出窗口控制输出通道幅度范围和相关的配置项。
信号处理后将波形传输到AWG。
如图7所示,使用数字化仪的多重采集模式采集了5个超声波波形,这些波形集合被导入AWGSBewnch6的实例中。模拟此操作所需的波形是五个波形的平均值。该计算可以在SBench6中进行,方法是右击导入的波形,然后从弹出窗口中选择“计算”。下一个弹出窗口提供了计算选择,选择“信号平均”,然后从下一个弹出窗口中选择平均倍数。平均多重设置允许输入平均段数。在该示例中,所有段均设置为取平均值。单击“开始”启动计算,结果显示在“输入通道”窗格中,显示轨迹MAV_Ch-1。将此波形添加到显示器中进行检查,并确认它是否是所需的仿真波形。如果波形正确,则拖动MAV_Ch-1到输出通道。现在,平均的超声波波形将是AWG输出。这可以通过计算得到的任意时域波形来实现。
图7将平均波形转换成AWG输出通道的步骤。
从数字示波器或数字化仪导入波形
有一种专门用于内部存储的二进制格式,还有基于文本的格式,包括ASCII,MATLAB(.dat)和spreadsheet(.csv)格式。使用SBench6的导入功能,这些基于文本的格式最容易引入AWG的格式。
SBench6可以处理单列幅度(Y)数据或包含幅度(Y)和时间(X)数据的双列的ASCII导入。它扫描文件并自动尝试确定数据格式,包括文件的长度,时钟速率和幅度范围。
信号应该通过与AWG.Save兼容的振幅范围、采样率和内存长度等设置来获取,将波形另存为单列幅度数据或双列时间和幅度格式。要注意存储波形文件的格式和文件名。
使用文件下拉导入/加载选择将波形文件导入SBench6,如图8所示。
图8将ASCII文件从数字示波器导入SBench6的步骤。
选择ASCII导入,将弹出一个对话框,提示选择导入源文件名,选择源文件名后,弹出“基本文件设置”对话框。输入您正在使用的ASCII文件格式的详细信息以及相关的设备设置。图8中的覆盖图显示了示波器屏幕以及部分保存的ASCII文件。DSO文件头提供了文件长度和采样周期,SBench6已经捕获了这些信息。数据被列为两列,第一列是时间信息,第二列是幅度信息,使用科学数字格式,分隔符是逗号,换行控件使用回车和换行。最后的设置是要跳过的行数,以防止包含标头。在这种情况下,标题包含10个项目。在“基本文件设置”对话框中输入或验证此数据后,请按“确定”按钮导入波形。
导入波形后,可以将源波形从通道窗格中的“导入”字段拖动到所需的输出通道,如之前的频谱数字化仪导入示例中所述。
从第三方软件导入波形
波形也可以在第三方数学,电子表格和系统集成程序(例如MATLAB,Excel或LabVIEW)中生成。一般过程是相同的,波形数据存储为ASCII文件并导入到SBench6中。图9提供了使用MATLAB的示例,波形的采样率和幅度范围应在使用AGW的范围内。光学测量中常见的一个Volt SINC2函数是使用100MS/s的采样率计算并保存为ASCII文件的。使用文件下拉菜单再次调用ASCII导入函数,选择源波形,并使用基本设置选择合适的ASCII设置。接受ASCII设置时,波形将被导入并显示在SBench6左上角的输入通到窗格中。此时,可以将其拖动到所需的输出通道或模拟显示。SBench6中的波形也可以使用计算工具进行处理,然后传输到输出通道中。
图9通过ASCII导入,显示从MATLAB(MATLAB编辑器和显示的绘图窗口)将波形导入到SBench6的步骤的合成图像。从文件下拉列表开始,选择ASCII,选择源文件,验证基本文件设置,然后按OK导入。
MATLAB和LabVIEW具有强大的文件格式化工具。借助一些编程技巧,用户可以以二进制格式输出数据。他们还可以使用适当的频谱驱动器将波形直接加载到AWG中。
导入.wav格式的波形文件
波形音频或.wav文件用于编码声音,音乐和相关波形。SBench6也可以导入这些文件,如图10所示。
图10使用文件下拉菜单,选择Wave以导入WaveformAudio或wav.file.All.示例为1.2秒的“喇叭声”,一旦导入,即可通过AWG输出播放波形。
使用“文件”下拉菜单再次到导入功能。SBench6将提示输入文件名和幅度范围。与其他波形导入过程一样,单击并拖动导入的波形可以将其拖动到所需的输出端口或模拟显示之一。
结论
SBench6是一款功能非常强大的波形创建工具,可支持Spectrum的全系列任意波形发生器。其操作范围从简单的函数发生器操作,复杂的波形创建,高级信号处理到快速导入多种波形格式。它是AWG和其他波形源之间的桥梁,无需任何编程即可将波形直接加载到AWG中。
本帖最后由 坤驰科技 于 2019-10-31 15:43 编辑