图1. 标配AWG波形工具可以快速创建波形,如图中所示的正弦波。
公式窗口(左上方)包含着实际公式和其它细节,公式具体如下:
#Here w = 2*pi*10^4*t
#The Freq of the equation F= 1/((points/cycle) * clock)
#In this equation Freq is 1/1000*100ns = 10KHz i.e. 10^4
#View the waveform with the settings Points: 1K,SR,10MS/s
Range(0us, 100us)
注意,大多数文本由注释组成,运算函数是简单的“sin(w)”。一旦基本波形完成,绘图工具可以使用人为失真或畸变改动简单的正弦形状。
另外,还为特定应用提供了专用软件,如串行数据。通过此类软件,高速串行数据设计人员可以开发拥有特定数量的随机抖动、周期性抖动或占空比相关(DCD)抖动软件成分的波形,或创建通道属性,如预加重、ISI、噪声和均衡。它还可以创建基于扩频技术的信号。通过结合使用信号发生软件和AWG,设计人员可以在串行数据接收机和相关元器件上执行压力测试、检定和一致性测试。
使用MATLAB
MATLAB是美国迈斯沃克公司出品的非常流行的软件工具,为工程师们提供了完善的数学运算、分析和DSP功能。MATLAB是基于数学的高级语言和互动环境,旨在比通用编程语言更快地执行计算密集型任务,如C、C++、等等。MATLAB包括多种工具,设计人员可以利用这些工具,计算和预览带有调制、抖动或失真等特点的复杂波形。
MATLAB的仪器控制工具箱便于直接从MATLAB与仪器通信(包括信号发生器)。工具箱支持GPIB、VISA、TCP/IP和UDP通信协议、等等。MATLAB和AWG之间一旦建立通信,这些工具使用起来会非常简明便捷,并支持小的优化指令集。
使用MATLAB创建波形
上面的代码实例涉及使用两行“程序”生成基本正弦波,其简单地指明了范围,调用函数。通过MATLAB及其它同类工具,可以设计复杂的波形。使用调制、失真、瞬态信号和抖动“增强的”波形是压力测试的核心。对这些信号编程可能要求两行以上的代码,但不用对这个过程心生畏惧,如下面的实例所示。注释行前面的“%”符号是MATLAB惯例。对具体命令及其判定符,应参阅MATLAB文档。下面的实例用于泰克AWG,但对您可能遇到的任何AWG,这一过程类似。
1. 指定波形特点
%This sample shows how to connect to an AWG to create a linear sweep waveform
%////////////////////////////////////////////////////////////////
%// Parameters you can change
%////////////////////////////////////////////////////////////////
clock = 10e+9; %// AWG clock
fc = 1.25e+9; %// Center frequency
pd = 4e-6; %// sweep period
fs = -4.5e6; %// starting frequency
fe = 4.5e+6; %// ending frequency
len = pd * clock; %Waveform length
t = (0:len-1)/clock; %Sample interval
这一段中的操作项设置仪器时钟频率和中心频率及扫描频率。所需的波形是RF线性调频,扫描大约1.25 GHz的中心频率。这些值用传统工程符号表示,如“e+9”表示109倍。因此,中心频率fc为1.25 x 109或1.25 GHz。扫描长度是周期(4e-6)和时钟(10e+9)的乘积。
2. 生成波形
%Create a sample pulse waveform with I & Q
i = cos(2*pi*fs*t + 2*pi*(fe-fs)*(((t.^2)/2)/pd));
q = sin(2*pi*fs*t + 2*pi*(fe-fs)*(((t.^2)/2)/pd));
%Create IF waveform
Waveform = i .* cos(2*pi*fc*t) - q .* sin(2*pi*fc*t);
%Plot Waveform
plot(Waveform)
这个步骤的数学运算非常密集。第一步设置的项目被输入公式中,使用余弦公式定义同相(I)成分,使用正弦公式定义正交(Q)成分。然后,根据IQ荐组合计算称为“Waveform”的阵列,最后绘制称为Waveform的阵列图。这就是实际IF波形。
3. 初始化和连接
%Initialize the driver和connect to the instrument using Visa calls
%Use this for LAN, with your IP address
%[sess,msg]=NewSession('TCPIP::xxx.xxx.xxx.xxx::INSTR','LAN');
%Use this for GPIB, with your GPIB address
[sess,msg]=NewSession('GPIB0::01::INSTR','GPIB');
%Reset the instrument.
Write(sess,'*RST');
在这一步中,您第一次接触采用TCP/IP或GPIB协议的仪器。这个实例部分与特定GPIB地址的AWG打开一个新的通信会话。注意已经包括LAN上仪器的同等行,但注释符号使其失效。最后一行中的“Write”命令复位仪器。与上面特定应用的第一段和第二段不同,这是一个很好的通用代码段,几乎适合使用AWG的任何MATLAB会话。
图2. 这是泰克AWG7000系列屏幕上看到的实例中得到的线性调频波形。
欢迎光临 电子技术论坛_中国专业的电子工程师学习交流社区-中电网技术论坛 (http://bbs.eccn.com/) | Powered by Discuz! 7.0.0 |