使用任意波形(或函数)发生器产生想要的任意信号
使用任意波形(或函数)发生器产生想要的任意信号
1.说明
本文主要记述,本人使用Tektronix(泰克)公司的 AFG3101 型号的任意函数发生器(Arbitrary Function Generator,AFG) 和AWG520型号的任意波形发生器 (Arbitrary Waveform Generator,AWG)的一些经验方法,如有不当,还请指出,谢谢!
2.生成任意波形
主要有两种方法生成,一是使用 Tektronix(泰克)提供的 ArbExpress 软件创建生成波形,二是使用Matlab,这里主要讲述如何将数据转换成任意波形(或函数)发生器支持的波形文件。
2.1 使用ArbExpress 软件创建生成波形
注:ArbExpress软件的具体使用方法,在此并不介绍,请参见软件手册。
下图2-1显示如何使用Equation Editor 创建生成 频率为2MHz的正弦波的绝对值波形:
图 2-1 使用ArbExpress的Equation Editor生成
当然如果已经连接仪器,还可以右击直接发送波形至信号发生器,如下图2-3所示:
2.2 使用Matlab产生波形
Matlab是一款功能强大的数值分析计算软件,其在科学研究与工程上的重要性在此不再重复。新建Matlab 脚本(Script)文件,输入下面的代码,生成abs(sin)信号:
t = 0:0.001:1;
t = t*(1e-6);
f = 1e6;% 1MHz
x = abs(sin(2*pi*f*t));
plot(t,x)
title('abs(sin),f=2 MHz,Number of Samples:1001')
图2-4 Matlab 生成abs(sin)信号
但是如何将生成的数据传送给仪器呢?
ArbExpress 软件原本提供了,Matlab与仪器交互的方法,可是,按照该软件提供的方法,并不能实现,原因及自己提出的解决方法见第4小节:4. 将数据转换成仪器支持的文件格式。
3. 传送波形文件至信号发生器
3.1 USB连接方式
以AFG3101为例,将USB接入AFG3101的后面板的USB的接口中,另一端插入电脑的USB口。
打开ArbExpress 软件,按下图3-1所示步骤连接仪器:
然后定位到自己产生的波形文件(tfw格式)在PC机上的的位置,将文件直接拖拽至EMEM或USER1~USER4即可,如下图所示
还可以直接在软件中直接调整波形参数,然后点击“Apply”即可更改。
3.2 网线连接方式
交叉网线不同于一般的网线,只是水晶头接法不一样。关于交叉网线的制作,自行搜索,也可参见:交叉网线制作图解。
用交叉网线连接AWG520与PC机,接着设置PC机IPV4地址,由于比较简单,这里不进行介绍,这里设置IPV4地址为:192.168.0.1
然后在 仪器前面板 找到“Utility ”按钮,如下图红色圈1 所示:
然后按下图,按下Comm红色圈所对应的按钮,弹出下图所示界面,根据需要修改红色框中的IP地址(这里用图示默认值):
接着,按下 上图3-5 中 右侧 Execute Ping ... 所对应的按钮,进行 Ping测试,弹出如下界面:
在上图红色框中输入PC机IPV4地址,如上图所示,然后按下 OK对应的按钮,进行 测试,如果 提示:“...... is alive” ,则表明连接正常。
当然也可以在PC机中打开 DOS 界面,输入:ping 192.168.0.2 进行测试。
最后发现,原来是地址填错了,是的,正确的应该是:192.168.000.002,如下图3-7所示,哦,我晕
连接上后,按上图,把波形文件(如上图中的 sinc.wfm)拖拽到仪器中即可把文件传输到AWG520。
下面讲述如何将,数据转换成,ArbExpress支持的波形文件。
4. 将数据转换成波形文件
% example of connect to AFG3101 with USB%% New Session[ SessionID , StatusMsg ] = NewSession ('USB::0x0699::0x0342::C021173::INSTR', 'USB');%% Generate waveform
t = 0:0.001:1;
t = t*(1e-6);
f = 1e6;% 1MHz
x = abs(sin(2*pi*f*t));
plot(t,x)
title('abs(sin),f=2 MHz,Number of Samples:1001')%% Send DataData = x;[Status,StatusMsg] = SendWfm (SessionID, 'example.wfm', Data, 1001);%% Close SessionCloseSession(SessionID) ;
图4-1 Matlab错误提示
但是,在Tools\Matlab下可以找到 matarb.dll 和matarb.mexw32 文件,如下图所示:
图4-2 ArbExpress 提供的Matlab 工具
可以看出matarb.mexw32文件为32位版本,而本人所用Matlab为64位版本,于是重新安装32位版本的Matlab。
-------------待补充
应该是版本不兼容的问题。根据手册说明,Matlab版本应该为6的,以上的需要重新编译。本人在XP系统上安装了Matlab6.5 测试,仍然报错。而该工具没有提供源代码文件(虽然手册中说有),无法重新编译生成新的文件,无奈之下,放弃了这种方法。如有知道如何解决这个问题的大牛,还请指出解决方法,非常感谢!
于是乎,想到能否通过数据格式转换,将数据转换成ArbExpress支持的文件。
后来,发现ArbExpress,支持csv 和 txt文件,于是,将波形文件保存成csv文件,用记事本打开后,如下图,所示:
图4-3 一种csv格式
很容易可以看出规律,数据 第一列为 时刻,第二列为信号值。于是乎想到,将数据保存成类似的格式,然后导入ArbExpress中,再保存成其它格式的文件,一试,再试,屡试不爽
如可以在用于生成波形的Matlab文件中加入:signal = [t' x']; save signal.txt -ascii signal 如下面的Matlab代码中红色加粗部分所示:
t = 0:0.001:1;
t = t*(1e-6);
f = 1e6;% 1MHz
x = abs(sin(2*pi*f*t));
plot(t,x)
title('abs(sin),f=2 MHz,Number of Samples:1001')% Save to txt
signal = [t' x'];
save signal.txt -ascii signal
然后在ArbExpress 中打开signal.txt 文件,弹出下图对话框,按图中所示操作:
图4-4 打开txt文件,选择格式
之后,可以看到波形,如下图所示
图4-5 signal.txt 中的波形
然后 Flie -> Save as,保存成你想要的文件即可,当然,在保存之前,你还可以对波形进行修改。
如有更好的方法,欢迎交流!谢谢!
使用任意波形(或函数)发生器产生想要的任意信号相关推荐
- python波形分析库_Python科学计算——任意波形拟合
任意波形的生成(geneartion of arbitrary waveform) 在商业,军事等领域都有着重要的应用,诸如空间光通信 (free-space optics communication ...
- python正弦波和等腰三角波_Python科学计算——任意波形拟合
任意波形的生成 (geneartion of arbitrary waveform) 在商业,军事等领域都有着重要的应用,诸如空间光通信 (free-space optics communicatio ...
- dve 二维数组信号 显示波形_函数任意波形发生器价格
函数任意波形发生器价格,深圳市乐信智测科技有限公司成立于2017年01月11日,注册地位于深圳市龙华区民治街道北站社区创业花园177-180栋411,法人代表为李澍龙. 函数任意波形发生器价格, 说明 ...
- 普源DG1062Z函数/任意波形发生器产品介绍
DG1000Z系列函数/任意波形发生器是一款集函数发生器.任意波形发生器.噪声发生器.脉冲发生器.谐波发生器.模拟/数字调制器.频率计等功能于一身的多功能信号发生器.该系列所有型号皆具有2个功能*相同 ...
- pcb外观维修_「维修案例」泰克AFG3021函数任意波形发生器故障维修
在产品调试的过程中,大多数的电路需要输入某种幅度随时间变化的信号,在这样的应用场景中,一个完整的测试测量系统一般会包含激励源,被测件和采集仪器三个部分.采集仪器通常使用的是示波器和逻辑分析仪,而信号源 ...
- 画时域随机信号波形_【鼎阳硬件智库原创︱测试测量】任意波形发生器的基本输出波形及其相关参数...
方浩 鼎阳硬件设计与测试智库专家组成员 传统的函数发生器可以输出正弦波.方波.三角波等标准波形,但是在实际的测试场景中,为了模拟产品在实际使用过程中的复杂情况,往往需要人为地去制造一些"不规 ...
- 已调信号波形是怎样的_【鼎阳硬件智库原创 | 测试测量】初识任意波形发生器...
方浩 鼎阳硬件设计与测试智库专家组成员 在产品调试的过程中,大多数的电路需要输入某种幅度随时间变化的信号,在这样的应用场景中,一个完整的测试测量系统一般会包含激励源,被测件和采集仪器三个部分.采集仪器 ...
- 两波形相位差的计算值_如何将您的计算机用作任意波形发生器
了解您的计算机如何用作任意波形发生器.在本文中,我们将使用Scilab生成数字信号,这些信号可以通过计算机的音频硬件转换为模拟波形. 最近我一直在撰写文章,证明Scilab用于各种信号处理任务.在这种 ...
- 使用SBench 6为任意波形发生器创建,捕获和传输波形
任意波形发生器(AWG)是一种功能强大且灵活的信号发生器,能够在发生器带宽范围内输出任意波形.拥有AWG之后,您将需要在其中产生波形.创建,捕获,修改和传输测试波形的步骤可以很容易地与发生器的步骤相匹 ...
- 高速数据采集卡与AWG任意波形发生器在量子计算中的应用现状
量子计算的现状与发展 自21世纪初以来,量子科学,特别是量子信息科学这个领域,研究活动正在迅速增加. 这一研究领域有望取得巨大的技术进步,这可能对我们未来计算和通信得运营方式产生深远影响. 科学家们正 ...
最新文章
- 损失函数理解汇总,结合PyTorch1.7和TensorFlow2
- php微信扫码支付报错,(转)微信调用扫码和支付功能是都报错 the permission value is offline verifying...
- 解决警告inconsistent dll linkage
- 拼图项目:延期的后果
- sharepoint2013的审核日志的时间区域设置
- php 网页转换成pdf文件格式,将网页HTML转换成PDF格式文件的几种办法
- vf程序设计与c语言,全国计算机等级考试vf和C语言哪个更好
- 局域网组网 | 交换机常用命令
- 机器学习笔记(九)——数据降维:主成分分析法(PCA)
- python车辆检测模型_使用OpenCV和Python构建自己的车辆检测模型
- 虽然没有见过凌晨四点的洛杉矶,但是我们见证了了凌晨灯火通明科技园:程序员的痛谁懂
- 基于CSS的个人网页
- cesium 学习笔记(三) 在地图上放置3D建筑模型
- JavaScript常见问题及答案
- 凡事预则立不预则废,你有自己的应急基金吗?教你如何理财
- 一分钟带你解读光纤收发器,秒懂(一)
- js 实现呼起(打开)app
- 传感网与物联网的区别,这二者之间的具体区别到底是什么?
- jst基本语法第十五讲:正则表达式
- 图像傅里叶变换--OpenCV