zoukankan      html  css  js  c++  java
  • 使用 matlab 产生GK101任意波数据文件的方法

    一、引言

    MATLAB是由美国mathworks公司发布的主要面对科学计算、可视化以及交互式程序设计的高科技计算环境。它不但包含高效的数值计算、数据处理能力,而且简单易用,是工程师日常研发过程中不可缺少的工具。本文使用matlab 生成一组简单的数据文件然后转换成 《GK101 任意波发生器》波形数据文件,由此为大家演示数据生成、格式转换的过程。

    二、文件转换函数

    我们已经做好了任意波文件格式转换文件,源代码如下:

     1 %=======================================
     2 % 生成GK101 任意波数据文件的程序
     3 % Copyright GINGKO @2014
     4 %=======================================
     5 
     6 function arb(x,fre,amp,offs)
     7 %清理工作台
     8 close all
     9 clc
    10 %建立文件
    11 fid=fopen('arb0.wvt','wt') ; 
    12 %写入注释头
    13 fprintf(fid,';==== arb file generator for gk101 ====
    ');
    14 %写入频率信息
    15 fprintf(fid,'[frequency] = %f;
    ',fre);
    16 %写入幅度信息
    17 fprintf(fid,'[amplitude] = %f;
    ',amp);
    18 %写入直流偏置信息
    19 fprintf(fid,'[offset] = %f;
    ',offs);
    20 %写入日期信息
    21 fprintf(fid,'[date] = %d-%d-%d;
    ',year(now),month(now),day(now));
    22 %提取矩阵大、小范围,并写入
    23 fprintf(fid,'[datarange] = %f,%f;
    ',min(x),max(x));
    24 [m,n]=size(x);
    25 %提取矩阵长度,并写入
    26 fprintf(fid,'[length] = %d;
    ',n);
    27 %写入数据
    28 fprintf(fid,'[data] = 
    ');
    29 fprintf(fid,'%f,%f,%f,%f,%f,
    ',x);     %输出矩阵
    30 %关闭文件
    31 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 中。

    1 subplot(2,1,1);
    2 plot(y)
    3 subplot(2,1,2);
    4 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

  • 相关阅读:
    hibernate update部分更新
    strtus2.0实现下载
    cookie和session机制之间的区别与联系
    生成随机数字验证码
    ssh生成随机数字验证码
    ASP一句话轻松获取域上的用户名
    SQL server 日志文件清除
    Entity Framework中使用DbMigrator更新数据库至最新结构
    进程间通信
    asp备份SQL数据库
  • 原文地址:https://www.cnblogs.com/xiaomagee/p/3930321.html
Copyright © 2011-2022 走看看