使用 matlab 產生GK101任意波資料檔案的方法

XiaomaGee發表於2014-08-22

一、引言

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 ====\n');
14 %寫入頻率資訊
15 fprintf(fid,'[frequency] = %f;\n',fre);
16 %寫入幅度資訊
17 fprintf(fid,'[amplitude] = %f;\n',amp);
18 %寫入直流偏置資訊
19 fprintf(fid,'[offset] = %f;\n',offs);
20 %寫入日期資訊
21 fprintf(fid,'[date] = %d-%d-%d;\n',year(now),month(now),day(now));
22 %提取矩陣大、小範圍,並寫入
23 fprintf(fid,'[datarange] = %f,%f;\n',min(x),max(x));
24 [m,n]=size(x);
25 %提取矩陣長度,並寫入
26 fprintf(fid,'[length] = %d;\n',n);
27 %寫入資料
28 fprintf(fid,'[data] = \n');
29 fprintf(fid,'%f,%f,%f,%f,%f,\n',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

 

相關文章