使用 matlab 产生GK101任意波数据文件的方法
一、引言
MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它不但包含高效的数值计算、数据处理能力,而且简单易用,是工程师日常研发过程中不可缺少的工具。本文使用matlab 生成一组简单的数据文件然后转换成 《GK101 任意波发生器》波形数据文件,由此为大家演示数据生成、格式转换的过程。
二、文件转换函数
我们已经做好了任意波文件格式转换文件,源代码如下:
%=======================================
% 生成GK101 任意波数据文件的程序
% Copyright GINGKO @
%======================================= function arb(x,fre,amp,offs)
%清理工作台
close all
clc
%建立文件
fid=fopen('arb0.wvt','wt') ;
%写入注释头
fprintf(fid,';==== arb file generator for gk101 ====\n');
%写入频率信息
fprintf(fid,'[frequency] = %f;\n',fre);
%写入幅度信息
fprintf(fid,'[amplitude] = %f;\n',amp);
%写入直流偏置信息
fprintf(fid,'[offset] = %f;\n',offs);
%写入日期信息
fprintf(fid,'[date] = %d-%d-%d;\n',year(now),month(now),day(now));
%提取矩阵大、小范围,并写入
fprintf(fid,'[datarange] = %f,%f;\n',min(x),max(x));
[m,n]=size(x);
%提取矩阵长度,并写入
fprintf(fid,'[length] = %d;\n',n);
%写入数据
fprintf(fid,'[data] = \n');
fprintf(fid,'%f,%f,%f,%f,%f,\n',x); %输出矩阵
%关闭文件
fclose(fid)
这个程序很简单,没接触过 matlab 的估计也能看个大概,大家不用复制,我上传个文件(arb.m):http://files.cnblogs.com/xiaomagee/arb.rar
大家下载这个文件后解压缩,为了方便使用,把它放在任意一个硬盘的根目录下。
三、数据生成实例
本节通过产生一个叠加白噪声的正弦波,来演示整个数据产生、格式转换并存储的过程。
1.进入 arb.m 所在的目录:
我把arb.m 文件保存在了 D 盘的 matlab 目录,所以通过下面的命令行进入:

2.通过命令行产生一个正弦波:
其中: x = 0:0.01:2*pi; 表示生成一个矩阵 x ,它包含从 0到 2π 、间隔为 0.01 的数据。
y = sin(x) 计算正弦信号,保存在矩阵 y 中。

3. 叠加白噪声:
其中:z = awgn(y,20) 表示在矩阵 y 上,叠加信噪比位 20dB 的白噪声,并存储在矩阵 z 中。

subplot(,,);
plot(y)
subplot(,,);
plot(z)
四句为绘制波形,执行后如图所示,分别为原始波形和叠加噪声后的波形。

4. 调用函数,保存文件:
其中 arb(z,1000,5,0) 参数分别为:z 为需要保存的矩阵数据,1000 为波形频率,5 为波形幅度,0 为波形直流偏置。
执行后会在工作目录生成任意波数据文件:arb0.wvt。
这里我们也提供下载:http://files.cnblogs.com/xiaomagee/arb0.rar
生成文件后,把 《GK101 任意波发生器》连接电脑,就可以把波形文件复制进去了并重现波形了。通过本例叠加噪声的正弦波,我们可以测试低通、带通滤波器的性能。

通过《GK101 任意波发生器》冲先后的波形:

四、结束语
本文通过 matlab 生成数据并转换成 GK101 所能识别的文件格式,使得《GK101任意波发生器》更容易与计算机配合工作,重现大家工作中想要的激励信号。
实际工作中,数据来源可以多种多样,例如ADC采集的原始数据、经过处理后的数据、标准函数叠加等等,完全不受限制。极大的发挥了《GK101 任意波发生器》 的潜能,为电子工程师研发过程推波助澜。
仪器介绍页面:
http://item.taobao.com/item.htm?id=40313916417

使用 matlab 产生GK101任意波数据文件的方法的更多相关文章
- 使用安捷伦波形编辑软件产生GK101 任意波数据文件的方法(支持手绘)
软件安装包下载地址: 链接: http://pan.baidu.com/s/1bn8Lmhx 密码: v5xz 一.安捷伦IO套件安装 1.将压缩包解压,首先双击IOLibSuite_16_3_179 ...
- linux shell 脚本攻略学习10--生成任意大小的文件和文本文件的交集与差集详解
一.生成任意大小的文件(dd命令): 举例: amosli@amosli-pc:~/learn/example$ ; + records in + records out bytes ( MB/s a ...
- matlab的m程序转执行文件exe
转换主要有两步: 第一步 设置编译器 在命令窗口输入 mbuild -setup 根据提示操作即可,.如下图我的设置 第二步 转换执行文件 命令行输入 mcc -m main 即可(输入 mcc ...
- 设置MATLAB中Current Folder的默认文件夹(转载)
设置MATLAB中Current Folder的默认文件夹 在我们使用MATLAB的过程中,其Current Folder面板会给我们带来一定的便利性.但遗憾的是,MATLAB自身没有提供友好的设置界 ...
- Matlab 从入门到精通 Chapter11 文件读取I/O
11.1 工作空间数据读取 将工作空间的变量保存为文件,可以使用save命令. save('filename') 将文件保存在当前目录下,文件名为filename.mat save('filenam ...
- Matlab R2017b 关联 .m 和 .fig 文件
1. 前言 安装「Matlab R2017b」后,无法关联.m和.fig文件,每次需要在MATLAB里边打开,而不能之间点击.m文件打开,十分麻烦. 2. 解决方案 1.首先,在Matlab R201 ...
- (入门)matlab中创建和调用m文件
大学学过的一款软件,说实话没好好学,老师直接讲到高深的做仿真之类的 综合网上的教程讲述基础的matlab创建遇到的问题: 参考: 1. https://blog.csdn.net/weixin_423 ...
- matlab改变GUI和figure左上角图标的方法,并生成exe文件
1. GUI左上角图标的更改,假设GUI的Tag为figure1,在其OpeningFcn里添加h = handles.figure1; %返回其句柄newIcon = javax.swing.Ima ...
- C语言处理CSV文件的方法(一)
什么是CSV文件 CSV是 Comma-separated values (逗号分隔值)的首字母缩写,它通常是以逗号且不仅限于逗号分隔各个值,我们都叫他CSV. 看下面的例子: China, Shan ...
随机推荐
- BestCoder11(Div2) 1003 Boring count (hdu 5056) 解题报告
题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=5056 题目意思:给出一条只有小写字母组成的序列S,问当中可以组成多少条每个字母出现的次数 <= ...
- touch详解
touch事件 前言 一个触屏网站到底和传统的pc端网站有什么区别呢,交互方式的改变首当其冲.例如我们常用的click事件,在触屏设备下是如此无力. 手机上的大部分交互都是通过touch来实现的,于是 ...
- 谈Web前端安全编码
最近开发中涉及到有关输出正确的HTML标签这样的问题,正好对字符编码这块儿多看看,之前对这个方面认识的不深,思考的确实不够,如果下次再碰见类似的问题,若再次不少时间去调研的花,就得不偿失了. 就像正则 ...
- makefile_1(初识make)
Makefile有三个非常有用的变量.分别是$@,$^,$<代表的意义分别是: $@--目标文件,$^--所有的依赖文件,$<--第一个依赖文件. LIBS = -lmCFLAGS = - ...
- Myeclipse中把java代码导成UML类图
Myeclipse中把java代码导成UML类图 1.右键点击项目名称,选择New-------àUML2 Model 2.给类图命名 3.导成类图 1)如果要把整个项目导成类图,则把整个项目拖到类图 ...
- android 实现自定义卫星菜单
看了hyman老师的视频,听起来有点迷糊,所以就想把实现卫星菜单的实现总结一下.长话短说,下面总结一下: 一.自定义ViewGroup1).自定义属性文件 属性的定义: <attr name=& ...
- 消息队列入门(四)ActiveMQ的应用实例
>>部署和启动ActiveMQ 去官网下载:http://activemq.apache.org/ 我下载的是apache-activemq-5.12.0-bin.tar.gz, 解压到本 ...
- Oracle数据库表设计时的注意事项
表是Oracle数据库中最基本的对象之一.万丈高楼从平地起,这个基础对象对于数据库来说,非常重要.因为其设计是否合理,直接跟数据库的性能相关.从Oracle数据库菜鸟到数据库专家这个过程中,在表设计与 ...
- jquery+php实现用户输入搜索内容时自动提示
index.html <html> <head> <meta charset=;} #search_auto li a:hover{background:#D8D ...
- uva 11380(最大流+拆点)
题目链接:http://acm.hust.edu.cn/vjudge/problem/viewProblem.action?id=36707 思路:根据题意拆点建图即可. #include<io ...