999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于LabVIEW與Matlab混合編程的快速波形顯示

2016-01-18 03:39:24宋連珺柏正堯
自動(dòng)化與儀表 2016年10期
關(guān)鍵詞:程序

宋連珺,柏正堯

(云南大學(xué) 信息學(xué)院,昆明 650500)

在工作和實(shí)驗(yàn)當(dāng)中,對(duì)大量信號(hào)的采集、處理和分析需要專(zhuān)業(yè)的應(yīng)用軟件來(lái)實(shí)現(xiàn)。LabVIEW的開(kāi)發(fā)環(huán)境類(lèi)似于C和BASIC,但是LabVIEW與其他計(jì)算機(jī)語(yǔ)言有明顯的區(qū)別,其他計(jì)算機(jī)語(yǔ)言都是以一種文本性的語(yǔ)言來(lái)產(chǎn)生代碼,而LabVIEW是一種G語(yǔ)言,是以框圖的形式產(chǎn)生程序。LabVIEW的優(yōu)點(diǎn)是能夠進(jìn)行自動(dòng)化分析和處理所采集的信號(hào),但其分析信號(hào)的能力還存在著一些局限和缺陷。

Matlab是一種功能強(qiáng)大的計(jì)算語(yǔ)言,它將計(jì)算、可視化和編程等功能集于一個(gè)易于使用的環(huán)境,得到了廣泛的應(yīng)用。Matlab分析計(jì)算能力很強(qiáng),數(shù)據(jù)庫(kù)也十分強(qiáng)大,但與外部設(shè)備交換信息能力卻很差[1]。所以,有很多人將LabVIEW和Matlab混合編程,取長(zhǎng)補(bǔ)短,讓各自的優(yōu)點(diǎn)能發(fā)揮到最大,以設(shè)計(jì)出功能比較完善的信號(hào)處理系統(tǒng)[2]。例如,使用二者來(lái)進(jìn)行小波去噪、濾波等,解決了單用一個(gè)帶來(lái)的問(wèn)題,降低了程序的復(fù)雜程度,并能得到很好的實(shí)驗(yàn)效果。本文將二者結(jié)合來(lái)實(shí)現(xiàn)波形的顯示,首先在Matlab中運(yùn)行程序,然后把程序?qū)隠ab-VIEW中的Matlab script節(jié)點(diǎn)來(lái)實(shí)現(xiàn)二者的結(jié)合,把問(wèn)題簡(jiǎn)單化,同時(shí)仿真的結(jié)果驗(yàn)證了設(shè)計(jì)的可行性。

本文先單獨(dú)使用Matlab來(lái)進(jìn)行波形的顯示,得到的結(jié)果不是很好。然后改進(jìn)了方法,讓Matlab和LabVIEW混合編程實(shí)現(xiàn)理想的結(jié)果。所以在第二節(jié)里闡述了Matlab在LabVIEW 中調(diào)用的實(shí)現(xiàn)方法和實(shí)現(xiàn)原理。最后在第三節(jié)里闡述了LabVIEW中的Matlab Script來(lái)實(shí)現(xiàn)波形顯示的仿真過(guò)程,并得到仿真結(jié)果。

1 Matlab實(shí)現(xiàn)波形顯示

首先我們用Matlab來(lái)進(jìn)行仿真實(shí)驗(yàn),使用NI FlexRIO設(shè)備設(shè)計(jì)實(shí)現(xiàn)了基于PXI架構(gòu)的高速數(shù)據(jù)采集,并把采集的數(shù)據(jù)以十六進(jìn)制形式保存在TXT文檔里,但是TXT格式不能顯示十六進(jìn)制數(shù)據(jù),用記事本打開(kāi)都是亂碼,用UltraEdit可以看到數(shù)據(jù),但用UltraEdit打開(kāi)的數(shù)據(jù)并不能直接導(dǎo)入LabVIEW、Matlab程序中,因?yàn)椴杉臄?shù)據(jù)都很大,也不能用直接復(fù)制的方法。考慮用Matlab中的fopen,fscanf函數(shù),但因?yàn)門(mén)XT中數(shù)據(jù)如亂碼一樣并不能實(shí)現(xiàn)轉(zhuǎn)換,所以我們用fi函數(shù)和hex函數(shù)把它轉(zhuǎn)換為十六進(jìn)制,再把轉(zhuǎn)換的文件讀入程序。因?yàn)椴杉臄?shù)據(jù)很大,不能都顯示出來(lái),所以顯示其中的一小部分。本文采樣點(diǎn)數(shù)選擇為1024點(diǎn)。

實(shí)驗(yàn)結(jié)果如圖1所示,我們可以看到波形的生成,雖然有些誤差但不影響整體波形。采集中會(huì)有噪聲,所以誤差也不能避免。

圖1 Matlab波形顯示Fig.1 Matlab waveform display

2 Matlab在LabVIEW中調(diào)用的實(shí)現(xiàn)

2.1 調(diào)用Matlab script節(jié)點(diǎn)方法

LabVIEW中可通過(guò)Matlab script節(jié)點(diǎn)調(diào)用Matlab的腳本程序。調(diào)用Matlab scrip節(jié)點(diǎn)過(guò)程為在程序框圖界面單擊右鍵出現(xiàn)函數(shù)選板,然后點(diǎn)擊數(shù)學(xué),在數(shù)學(xué)的選板里找到腳本與公式,在腳本與公式里找到腳本節(jié)點(diǎn)就可以看到Matlab script節(jié)點(diǎn)。最后把節(jié)點(diǎn)拖曳出來(lái),放在程序框圖面板中合適的位置,用工具選版按需要調(diào)節(jié)大小。

2.2 LabVIEW和Matlab混合編程進(jìn)行信號(hào)處理的實(shí)現(xiàn)

本文采集信號(hào)使用的是時(shí)間交替采樣[3],采集的信號(hào)進(jìn)行信號(hào)分析處理,數(shù)據(jù)采集的工作主要是由LabVIEW完成,用戶(hù)圖形界面的設(shè)計(jì)也是由其完成,設(shè)計(jì)的界面清晰明了;后臺(tái)進(jìn)行的大型計(jì)算、數(shù)據(jù)分析、細(xì)節(jié)處理是由Matlab完成,然后把結(jié)果提供給LabVIEW調(diào)用,其工作過(guò)程如圖2所示[4]。

圖2 原理框圖Fig.2 Principle diagram

3 用LabVIEW中的Matlab Script來(lái)實(shí)現(xiàn)波形顯示的仿真過(guò)程

3.1 FI函數(shù)

在進(jìn)行一些大的算法編程時(shí),經(jīng)常會(huì)遇到大量數(shù)據(jù)存儲(chǔ)的格式各不相同的情況,例如DSP和FPGA中用到的是十六進(jìn)制,而Matlab中運(yùn)算得到的是十進(jìn)制,但是執(zhí)行要用各自允許的格式在不同的軟件中,有時(shí)轉(zhuǎn)換起來(lái)非常麻煩。但單用hex函數(shù)也不能解決問(wèn)題。所以我們加入fi函數(shù)來(lái)實(shí)現(xiàn)轉(zhuǎn)換。fi是默認(rèn)構(gòu)造函數(shù)和返回一個(gè)有符號(hào)沒(méi)有值的定點(diǎn)對(duì)象,16位字長(zhǎng),15位小數(shù)長(zhǎng)度[5]。

A=fread(fid,1024,'integer*4',0,'b');

B=fi(A,1,32,0);表示返回一個(gè)定點(diǎn)對(duì)象值 A,為正數(shù),字長(zhǎng)為32 bit,小數(shù)部分長(zhǎng)度為0。

3.2 Matlab算法實(shí)現(xiàn)步驟

本文采樣點(diǎn)數(shù)設(shè)置為1024,這樣可以使結(jié)果比較清晰一些。因?yàn)椴杉奶煳臄?shù)據(jù)十分龐大,也只能選擇其中的一部分,而且采樣點(diǎn)數(shù)過(guò)多會(huì)使波形緊密,看不清楚整體波形。算法實(shí)現(xiàn)步驟可分為4步:

步驟1用fopen打開(kāi)文件,再用fread把文件讀入,讀入后關(guān)閉文件;

步驟2用fi函數(shù)和hex函數(shù)實(shí)現(xiàn)十六進(jìn)制的轉(zhuǎn)換, 程序如下:A=fread(fid,1024,'integer*4',0,'b');B=fi(A,1,32,0);C=upper(hex(B));并把轉(zhuǎn)換的數(shù)據(jù)寫(xiě)入另一個(gè)TXT,文件命名為test.2;

步驟3打開(kāi)轉(zhuǎn)換好的文件test.2,用reshape函數(shù)重新調(diào)整矩陣的行數(shù)、列數(shù)、維數(shù)。把調(diào)整好的數(shù)據(jù)保存在newdata.txt文件中。

步驟4用fscanf函數(shù)一個(gè)個(gè)讀入數(shù)據(jù),并用plot函數(shù)畫(huà)出波形。

3.3 LabVIEW中調(diào)用Matlab script節(jié)點(diǎn)

在操作中我們發(fā)現(xiàn)不用Matlab script節(jié)點(diǎn)直接顯示波形圖只能用波形圖表,不能用波形圖。但是波形圖表逐點(diǎn)地接收數(shù)據(jù),并逐點(diǎn)地顯示在前面板窗口中[6],所以讀入數(shù)據(jù)是一個(gè)個(gè)的讀,并且只能觀察部分波形的變化。雖然可以直接觀察,但不能完整地觀察波形。波形圖可一次接收規(guī)定的采樣點(diǎn)數(shù),并顯示完整的波形。所以使用波形圖就需要Matlab script節(jié)點(diǎn)來(lái)轉(zhuǎn)換采集信號(hào)的數(shù)據(jù)格式。

首先我們把運(yùn)行正確的Matlab程序?qū)牍?jié)點(diǎn),根據(jù)自己所編Matlab程序中輸入輸出的要求在腳本節(jié)點(diǎn)外框上點(diǎn)擊右鍵選擇添加輸入變量和輸出變量,同時(shí)數(shù)據(jù)類(lèi)型也需要修改,使二者匹配,不匹配會(huì)出現(xiàn)錯(cuò)誤。處理過(guò)程中許多需要設(shè)定的參數(shù)都可以在前面板以按鈕方式設(shè)置,可任意改變數(shù)據(jù),就像實(shí)際儀器一樣,也可做一些驗(yàn)證試驗(yàn),操作方法簡(jiǎn)單,還可根據(jù)需要增加功能,數(shù)據(jù)可靠性很高。在輸出變量連接波形圖時(shí),整個(gè)界面清晰明了,比單用LabVIEW編程或Matlab編程簡(jiǎn)單,如圖3所示[7]。

圖3 程序框圖Fig.3 Program chart

在前面板點(diǎn)擊運(yùn)行就可以得到波形,結(jié)果如圖4所示,與圖1相比可以清晰地看出波形,我們可以根據(jù)波形圖推算它的周期。如果要改變采樣點(diǎn)數(shù),應(yīng)該在Matlab里修改采樣點(diǎn)數(shù)運(yùn)行正確后再導(dǎo)入節(jié)點(diǎn),直接在節(jié)點(diǎn)里修改是無(wú)效的,最后運(yùn)行的還是原來(lái)的采樣點(diǎn)數(shù)。

圖4 采樣點(diǎn)數(shù)為1024時(shí)的波形Fig.4 Waveform diagram of the sampling points to 1024

從圖中可以看出在轉(zhuǎn)換過(guò)程中出現(xiàn)了一些誤差,但能夠看出整體波形,波形比單用Matlab顯示的更清晰、方便。

4 結(jié)語(yǔ)

本文將LabVIEW和Matlab相結(jié)合,用于采集數(shù)據(jù)的快速顯示。從仿真結(jié)果可知,采用這個(gè)方法可以使仿真過(guò)程更加簡(jiǎn)潔,可以直接應(yīng)用于復(fù)雜的工程問(wèn)題,不需要繁瑣的轉(zhuǎn)換,解決了LabVIEW和Matlab單獨(dú)使用的局限性。LabVIEW與Matlab混合編程的方法,能充分利用Matlab功能強(qiáng)大的算法庫(kù),取長(zhǎng)補(bǔ)短,實(shí)現(xiàn)快速開(kāi)發(fā),兩者結(jié)合能夠給實(shí)際應(yīng)用帶來(lái)方便。

[1]劉保柱,蘇彥華.Matlab7.0從入門(mén)到精通[M].北京:人民郵電出版社,2010.

[2]趙玲,蘇維均.一種LabVIEW調(diào)用Matlab的方法[J].北京工商大學(xué)學(xué)報(bào):自然科學(xué)版,2009,27(2):73-75.

[3]黃宇.基于PXI架構(gòu)的高速數(shù)據(jù)采集系統(tǒng)設(shè)計(jì)[J].自動(dòng)化與儀表,2015,30(9):79-83.

[4]吳小紅.LabVIEW中調(diào)用Matlab進(jìn)行信號(hào)處理方法研究[J].微型機(jī)與應(yīng)用,2014,33(10):66-68.

[5]曲麗榮,胡容,范壽康.LabVIEW、Matlab及其混合編程技術(shù)[M].北京:機(jī)械工業(yè)出版社,2011.

[6]丁筱玲.基于LabVIEW和單片機(jī)的室內(nèi)環(huán)境監(jiān)測(cè)預(yù)警系統(tǒng)的設(shè)計(jì)[D].山東:山東農(nóng)業(yè)大學(xué),2014.

[7]章佳榮,王璨,趙國(guó)宇.精通LabVIEW虛擬儀器程序設(shè)計(jì)與案例實(shí)現(xiàn)[M].北京:人民郵電出版社,2013.

猜你喜歡
程序
給Windows添加程序快速切換欄
試論我國(guó)未決羈押程序的立法完善
失能的信仰——走向衰亡的民事訴訟程序
“程序猿”的生活什么樣
英國(guó)與歐盟正式啟動(dòng)“離婚”程序程序
基于VMM的程序行為異常檢測(cè)
偵查實(shí)驗(yàn)批準(zhǔn)程序初探
我國(guó)刑事速裁程序的構(gòu)建
創(chuàng)衛(wèi)暗訪程序有待改進(jìn)
恐怖犯罪刑事訴訟程序的完善
主站蜘蛛池模板: 久久久久亚洲精品无码网站| 国产精品hd在线播放| 最新国产高清在线| 2021亚洲精品不卡a| 亚洲自偷自拍另类小说| 国产精品999在线| 制服丝袜在线视频香蕉| 精品91自产拍在线| 日韩毛片在线视频| 欧美日韩免费观看| 日韩欧美综合在线制服| 亚洲精品桃花岛av在线| 亚洲国产天堂久久综合| 成人av手机在线观看| 国产第一页屁屁影院| 久久伊人操| 国产69精品久久久久孕妇大杂乱| 四虎永久免费地址| 九九视频免费在线观看| 91热爆在线| 久久精品人妻中文系列| 国产va欧美va在线观看| 国产精品免费p区| 啊嗯不日本网站| 99在线免费播放| 国产精品网拍在线| 青青青国产精品国产精品美女| 狠狠五月天中文字幕| 亚洲伊人久久精品影院| 日本午夜影院| 国产成人精品免费视频大全五级| 国产精品视频猛进猛出| 青青草欧美| 亚洲精品色AV无码看| 日韩在线欧美在线| 71pao成人国产永久免费视频| 精品一区二区三区自慰喷水| 原味小视频在线www国产| 日韩无码黄色| 日本亚洲欧美在线| 激情综合婷婷丁香五月尤物| 高清色本在线www| 久久影院一区二区h| 欧美午夜在线播放| 日本亚洲最大的色成网站www| 一级爆乳无码av| 在线国产你懂的| 国产精品区视频中文字幕| 日韩人妻精品一区| 国内精品伊人久久久久7777人| 亚洲欧洲日韩久久狠狠爱| 欧美日本激情| 国产一区二区人大臿蕉香蕉| 久久特级毛片| 日韩午夜福利在线观看| 丝袜亚洲综合| 亚洲高清日韩heyzo| 欧美第一页在线| 777午夜精品电影免费看| 精品欧美一区二区三区在线| 亚洲欧美一区二区三区蜜芽| 婷婷亚洲天堂| 久久一日本道色综合久久| 色悠久久综合| 国产精品色婷婷在线观看| 国产福利大秀91| 国产免费久久精品44| 日本午夜精品一本在线观看 | 欧美在线免费| 国产精品v欧美| 国产精品成人AⅤ在线一二三四| 大陆精大陆国产国语精品1024 | 在线观看免费人成视频色快速| 亚洲天堂福利视频| 农村乱人伦一区二区| 亚洲黄色视频在线观看一区| 久久夜夜视频| 毛片手机在线看| 99er这里只有精品| 午夜视频免费试看| 国产欧美视频在线观看| 波多野结衣久久高清免费|