方洵 魏亞茹 鄭玉恒
摘 要:誤差理論與數(shù)據(jù)處理是測控技術(shù)與儀器專業(yè)的一門專業(yè)基礎(chǔ)課,課程的理論性強(qiáng),公式繁多復(fù)雜,給學(xué)生學(xué)習(xí)該門課程造成了一定的困難.利用圖形化編程語言 LabVIEW 進(jìn)行實(shí)驗(yàn)軟件的開發(fā),將該課程實(shí)驗(yàn)的數(shù)據(jù)處理部分利用軟件完成,使學(xué)生有更多的時(shí)間專注于誤差理論和數(shù)據(jù)處理方法的理解。
關(guān)鍵詞:LabVIEW;線性擬合;數(shù)據(jù)處理
1.LabVIEW編程開發(fā)環(huán)境介紹
LabVIEW是一種程序開發(fā)環(huán)境,由美國國家儀器(NI)公司研制開發(fā),類似于C和BASIC開發(fā)環(huán)境,但是LabVIEW與其他計(jì)算機(jī)語言的顯著區(qū)別是:其他計(jì)算機(jī)語言都是采用基于文本的語言產(chǎn)生代碼,而LabVIEW使用的是圖形化編輯語言G編寫程序,產(chǎn)生的程序是框圖的形式。
與C和BASIC一樣,LabVIEW也是通用的編程系統(tǒng),有一個(gè)完成任何編程任務(wù)的龐大函數(shù)庫。LabVIEW的函數(shù)庫包括數(shù)據(jù)采集、GPIB、串口控制、數(shù)據(jù)分析、數(shù)據(jù)顯示及數(shù)據(jù)存儲,等等。LabVIEW也有傳統(tǒng)的程序調(diào)試工具,如設(shè)置斷點(diǎn)、以動畫方式顯示數(shù)據(jù)及其子程序(子VI)的結(jié)果、單步執(zhí)行等等,便于程序的調(diào)試。
LabVIEW(Laboratory Virtual Instrument Engineering Workbench)是一種用圖標(biāo)代替文本行創(chuàng)建應(yīng)用程序的圖形化編程語言。傳統(tǒng)文本編程語言根據(jù)語句和指令的先后順序決定程序執(zhí)行順序,而 LabVIEW 則采用數(shù)據(jù)流編程方式,程序框圖中節(jié)點(diǎn)之間的數(shù)據(jù)流向決定了VI及函數(shù)的執(zhí)行順序。VI指虛擬儀器,是 LabVIEW 的程序模塊。
LabVIEW提供很多外觀與傳統(tǒng)儀器(如示波器、萬用表)類似的控件,可用來方便地創(chuàng)建用戶界面。用戶界面在 LabVIEW 中被稱為前面板。使用圖標(biāo)和連線,可以通過編程對前面板上的對象進(jìn)行控制。這就是圖形化源代碼,又稱G代碼。LabVIEW 的圖形化源代碼在某種程度上類似于流程圖,因此又被稱作程序框圖代碼。
2.軟件設(shè)計(jì)實(shí)例
2.1實(shí)驗(yàn)原理
用最小二乘的方法,設(shè)計(jì)輸出電壓隨廢氣濃度的變化關(guān)系。
2.2程序設(shè)計(jì)
給定廢氣濃度(X),輸出電壓值(Y),設(shè)計(jì)VI,實(shí)現(xiàn)輸入壓力值與輸出電壓值之間的最佳線性擬合直線。
2.3程序框圖設(shè)計(jì)
本實(shí)驗(yàn)采用了LabVIEW數(shù)組函數(shù),簇函數(shù),創(chuàng)建數(shù)組,數(shù)組捆綁,XY圖以及線性擬合函數(shù)來實(shí)現(xiàn)功能及數(shù)據(jù)計(jì)算與處理。得到數(shù)據(jù)快速且數(shù)據(jù)準(zhǔn)確,相比于人為計(jì)算,減少了出錯(cuò)率,有效提高了效率。
2.4.線性擬合函數(shù)介紹
(1)輸入?yún)?shù)
Y:是由因變值組成的數(shù)組。Y的長度必須大于等于未知參數(shù)的元素個(gè)數(shù)
X:是由自變量組成的數(shù)組。X的元素必須等于Y的元素個(gè)數(shù)。
權(quán)重:是觀測點(diǎn)(xi,yi)的權(quán)重?cái)?shù)組。權(quán)重的元素?cái)?shù)必須等于Y的元素?cái)?shù)。若權(quán)重未連線,VI將把權(quán)重的所有元素設(shè)置為1.
容差:確定使用最小絕對殘差或Bisquare方法時(shí),何時(shí)停止斜率和截距的迭代調(diào)整。對于最小絕對殘差方法,若兩次連續(xù)的交互之間殘差的相對差小于容差,該VI將返回結(jié)果殘差。對于Bisquare方法,若兩次連續(xù)的交互之間斜率的和截距的相對差小于容差,該VI將返回斜率和截距。若容差小于等于0,VI將設(shè)置容差為0.0001。
方法:指定擬合方法。有3種方法可選擇:最小二乘(默認(rèn)),最小絕對殘差,Bisquare。
參世界限:包含斜率和截距的上、下限。若知道特定參數(shù)的值,可設(shè)置參數(shù)的上、下限為該值。
(2)輸出參數(shù)
最佳線性擬合:返回?cái)M合模型的Y值。
斜率:返回?cái)M合模型的斜率。
截距:返回?cái)M合模型的截距。
殘差:返回?cái)M合模型的加權(quán)平均值。若方法設(shè)置為最小絕對殘差值,則殘差為加權(quán)平均絕對誤差;否則殘差為加權(quán)均方誤差。
3.結(jié)語
本實(shí)驗(yàn)是基于LabVIEW編程環(huán)境對誤差與數(shù)據(jù)處理的,同樣在其他編程環(huán)境上可實(shí)現(xiàn),例如MATLAB與C語言。但相比于其他編程環(huán)境,LabVIEW則具有獨(dú)特的優(yōu)勢,LabVIEW操作更為簡單,結(jié)果更加形象,效率更為高效。只需對相關(guān)圖標(biāo)的端口進(jìn)行連線,捆綁等操作,點(diǎn)擊運(yùn)行,即可完成大量繁復(fù)程序工作,結(jié)果可同時(shí)用數(shù)據(jù)與圖形圖表呈現(xiàn),易于理解。
在誤差理論與數(shù)據(jù)處理的教學(xué)改革中,LabVIEW編程環(huán)境能夠?qū)崿F(xiàn)高效的編譯,是一款教育與學(xué)習(xí)的有力工具。
參考文獻(xiàn):
[1] 費(fèi)業(yè)泰. 誤差理論與數(shù)據(jù)處理[M]. 北京: 機(jī)械工業(yè)出版社, 2015
[2] 張世英,劉智敏. 測量實(shí)踐的數(shù)據(jù)處理. 北京: 科學(xué)出版社, 1977
[3] 雷振山. ?LabVIEW 7 Express實(shí)用技術(shù)教程[M]. 北京:北京鐵道出版社,2004
[4] 張重雄,張思維. 虛擬儀器技術(shù)分析與設(shè)計(jì)(第三版). 北京:電子工業(yè)出版社, 2017
[5] 楊樂平,李海濤,楊磊. LabVIEW程序設(shè)計(jì)與應(yīng)用. 北京:電子工業(yè)出版社,2005