《電子技術應用》
您所在的位置:首頁 > 可編程邏輯 > 設計應用 > LabVIEW中調用MATLAB進行信號處理方法研究
LabVIEW中調用MATLAB進行信號處理方法研究
2014年微型機與應用第10期
吳小紅
甘肅政法學院 公安技術學院,甘肅 蘭州
摘要: 系統是由若干互相有著某種聯系的單元組成的一個能夠完成某種功能的整體。信號作用于某系統的響應如何,需要以某種方式去分析。系統分析需要經過3個過程:(1)建模,以理論為基礎,對所要研究的對象創建一個數學模型;(2)分析該模型;(3)做出合理的物理解釋。分析過程很關鍵,方式方法很多,工具也很多,MATLAB和LabVIEW是常用的兩個軟件分析平臺。
Abstract:
Key words :

  摘  要MATLABLabVIEW是目前流行于工程技術領域的工具軟件。LabVIEW的優點是能夠將信號順利地采集進來并進行自動化分析和處理,但其分析信號能力有局限和缺陷。MATLAB分析計算能力很強,但與外部設備交換信息能力卻很差。將二者結合起來混合編程,取長補短,充分發揮各自的優勢,可設計出功能比較完善的信號處理系統。為此,研究了在LabVIEW中調用MATLAB進行信號處理的方法。詳述了各種方法的使用流程、注意事項,并總結了各種方法使用的不同領域和優缺點。

  關鍵詞: MATLAB;LabVIEW;信號處理;數據采集;動態鏈接庫

  系統是由若干互相有著某種聯系的單元組成的一個能夠完成某種功能的整體。信號作用于某系統的響應如何,需要以某種方式去分析。系統分析需要經過3個過程:(1)建模,以理論為基礎,對所要研究的對象創建一個數學模型;(2)分析該模型;(3)做出合理的物理解釋。分析過程很關鍵,方式方法很多,工具也很多,MATLAB和LabVIEW是常用的兩個軟件分析平臺。

  MATLAB的科學計算能力、圖像處理和數值分析能力都比較強。LabVIEW是用于編制虛擬儀器的圖形化編程工具。自然界各種信號信息的監測,機器、車輛等故障的診斷,還有許多即時動態信號的監控,需要先將信號盡量不失真地采集進來,這一點LabVIEW很容易完成。對采集信號作用于系統模型復雜分析計算最好用MATLAB去完成。為了直觀、方便觀察,可用LabVIEW做一個界面[1]。

  1 MATLAB在LabVIEW中調用的實現

  LabVIEW和MATLAB混合編程的實現主要有以下幾種方法。

  1.1 調用MATLAB script節點算法

  LabVIEW提供了各類腳本節點與外部實現通信和交換信息。LabVIEW中可通過MATLAB script節點調用MATLAB的腳本程序(即M文件)。

  1.1.1 調用MATLAB script節點過程

  從LabVIEW中函數選版選用過程為:函數→數學→腳本與公式→腳本節點→MATLAB script節點。拖曳出節點,放在程序框圖面板中,用工具選版按需要調節大小;按程序需要為該節點添加輸入輸出變量。LabVIEW可通過輸入變量向腳本中輸入所要處理的信號,運行腳本后的結果通過輸出變量送到LabVIEW的輸出控件,顯示出處理的數據或者波形圖,直觀清楚,就像實際的儀器面板一樣。具體方法為:右鍵單擊腳本邊框,從彈出的菜單中選擇添加輸入或輸出,隨即在邊框出現一個小方框,一般習慣輸入在左邊,輸出在右邊。添加之后,各變量需要命名,用Labeling工具依據腳本程序中的變量依次命名,注意選擇合適的數據類型,否則運行會出錯[2]。

  1.1.2 向MATLAB腳本節點輸入腳本程序

  向MATLAB腳本節點輸入腳本程序有兩種方法:

  (1)用Operating或Labeling工具直接向MATLAB腳本節點編寫腳本程序。

  (2)從MATLAB中導入。可以先在MATLAB環境下編程運行調試好程序后,再用右鍵單擊MATLAB腳本節點,打開快捷菜單,然后選擇Import,從對話框中選擇需要導入的文件即可[3]。

  1.1.3 保存MATLAB腳本程序

  右鍵單擊MATLAB腳本節點,從打開的菜單中選擇Export,在打開的Name the script對話框中輸入需要保存的文件名,點擊save,以MATLAB文本文件擴展名.m保存腳本程序[3]。

  1.1.4 調用過程的注意事項

  在LabVIEW中調用MATLAB要注意以下幾點:

  (1)LabVIEW是通過Activex技術來調用MATLAB腳本節點的,MATLAB腳本只適用于Windows操作系統。

  (2)使用MATLAB腳本時需要調用MATLAB服務器,所以計算機上要裝有MATLAB 6.5以上的版本。

  (3)調用調試過程中的數據類型要匹配,否則運行會出錯[4]。

  這種方法不用復雜的編程,操作也簡單,對于初學者比較容易掌握,但對計算機操作系統要求較高,兩個軟件都需要正確全面安裝各個組件,否則無法正常調用。

  1.2 應用COM 組件調用MATLAB

  MATLAB中M語言開發的算法可以用COM技術自動轉變為獨立的COM組件對象,可在任何支持COM對象的應用程序中使用。LabVIEW在其相關的函數選版→互連接口→ActiveX模塊中提供了一組與該組件操作相關的子VI,實現對COM對象具體的操作。

  這種方法適用于規模較大的應用程序,編程有些復雜,要求使用者對MATLAB工具包和LabVIEW的子程序應用特別熟練[5]。

  1.3 應用動態鏈接庫技術調用MATLAB

  在LabVIEW編程界面下利用動態鏈接庫技術調用MATLAB,步驟為:

  (1)在MATLAB編程界面下用m文件翻譯器Matcom將源文件翻譯為cpp代碼,同時編譯為dll文件。

  (2)在LabVIEW編程界面下用調用庫函數CLF(CallLibrary Function)節點,進行動態鏈接庫函數的調用。

  這種方法適合對C語言等編程很熟練的高手,因為在LabVIEW動態鏈接庫需要用C語言等編程。

  2 LabVIEW中調用MATLAB進行信號處理的實現

  2.1 信號分析的處理過程

  LabVIEW與MATLAB協同工作,在分析處理信號過程中,LabVIEW負責數據采集,同時設計用戶圖形界面;MATLAB在后臺主要完成大型計算、數據分析、細節處理,提供給LabVIEW調用,其工作過程如圖1所示。

004.jpg

  2.2 調用MATLAB script節點法對信號進行濾波

  實際的信號很容易被干擾,特別是傳感器輸出的模擬信號,如汽車油門開度傳感器、水溫傳感器、真空度傳感器等。采集到原始信號后,必須對其進行濾除處理,除去干擾信號,才能正確使用。

  混有干擾的信號直接濾波效果較差,在時域上也很難看出是什么特征的,但如果變換到頻域之后,就很容易看出特征了。因此,將原始有干擾的信號先進行FFT變換,將時域變換到頻域,再進行濾波處理,最后再反變換還原信號,其效果很好。LabVIEW信號處理模塊有不少濾波節點可以完成濾波功能,圖2就是用LabVIEW處理信號的程序框圖,可以看到過程比較復雜,處理后顯示的信號也較差。

005.jpg

  上述過程在MATLAB中由幾個函數運算就可完成,圖3是LabVIEW調用MATLAB script節點,對信號變換濾波處理的程序框圖。按照MATLAB程序中要求的信息分別在腳本節點外框上添加輸入變量和輸出變量(一般習慣把輸入變量放在左邊,輸出變量放在右邊),同時修改數據類型,使二者匹配。將LabVIEW采集到的信息送給MATLAB script節點,導入事先在MATLAB中調試好的程序,在LabVIEW中運行即可。輸出信號可通過輸出變量用相應的顯示控件在前面板顯示,處理過程中許多需要設定的參數都可以在前面板以按鈕方式設置,數據可任意改變,就像一個實際儀器一樣,操作簡單、數據可靠。該程序還可以打包成可安裝文件,在任何平臺上使用。

007.jpg

  圖4是程序運行后顯示的波形。由圖4(a)、(b)可知,原始信號是一個混雜有干擾的信號,其頻譜在低頻處有一個模值特別高的點,這一點就是原信號的數據,這是需要保留的點;而在高頻部分還有很多模值相對較小的點,這些就是干擾信號,是要去除的數據。對數據進行低通濾波,把高頻的信號去掉,得到濾波后信號的頻譜圖,如圖4(c)、(d)所示。由圖可知,高頻部分的雜波已經被清除。如要了解時域的波形上有什么變化,可以對頻域信號進行反傅里葉變換,得到經過低通濾波后的時域波形,恢復后的波形是去除干擾后很好的正弦波。

008.jpg

  2.3 調用MATLAB script節點法對信號進行濾波程序

  程序如下:

  close all;%先關閉所有圖片

  Adc=2;%直流分量幅度

  Fs=256;%采樣頻率(Hz)

  N=256;%采樣點數

  t=0:1/Fs:N/Fs;%采樣時刻

  plot(t,S);%顯示原始信號

  title('原始信號');

  hold on

  figure;

  Y=fft(S,256);%對信號進行256點的FFT

  Ayy=abs(Y);%取模

  plot(Ayy);%顯示取模后的FFT信號

  title('原始信號頻譜圖');

  hold on

  figure;

  RY=real(Y);%提取FFT后數據的實部

  IY=imag(Y);%提取FFT后數據的虛部

  RY(10:N-10)=0;%理想低通濾波

  IY(10:N-10)=0;

  plot(RY);

  title('濾波后信號的頻譜圖');

  hold on

  figure;

  YY=RY+1i*IY;%濾波后重新組合實部和虛部

  SS=real(ifft(YY));%進行反傅里葉變換

  figure

  plot(SS,'r');%顯示濾波后的信號,

  并與原始信號進行對比

  title('濾波后的信號');

  hold on

  plot(S)

  MATLAB具有強大的數值分析和處理能力,還擁有眾多的專業工具箱,因此在LabVIEW中調用MATLAB來解決問題過程簡單易行,并能夠擴展LabVIEW的功能,極大地拓寬了虛擬儀器的開發范圍。將LabVIEW與MATLAB有機地結合起來,在大型的測試系統與仿真過程中是非常有利的。

  參考文獻

  [1] 劉衛國,陳昭平.MATLAB程序設計與應用[M].北京:高等教育出版社,2002.

  [2] 劉君華.基于LabVIEW的虛擬儀器設計與應用[M].北京:高等教育出版社,2002.

  [3] 石博強.LabVIEW6.1編程技術實用教程[M].北京:中國鐵道出版社,2002.

  [4] BISHOP R H.LabVIEW 6i實用教程[M].喬瑞萍,譯.北京:電子工業出版社,2002.

  [5] 王沫然.MATLAB與科學計算(第二版)[M].北京:電子工業出版社,2003.


此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
亚洲午夜黄色| 亚洲精品免费在线观看| 1024欧美极品| 国内成人在线| 国产日韩欧美精品在线| 欧美三级日本三级少妇99| 欧美激情久久久久| 欧美国产日韩一区| 浪潮色综合久久天堂| 久久久久**毛片大全| 久久精品视频免费| 久久国产直播| 久久国内精品视频| 久久九九国产精品| 久久精品最新地址| 久久蜜桃av一区精品变态类天堂| 久久精品视频免费| 久久久蜜桃精品| 久久精品一本| 久久伊伊香蕉| 欧美成人精品h版在线观看| 欧美成人性网| 欧美精品在欧美一区二区少妇| 欧美韩国日本综合| 欧美日韩一卡| 国产精品欧美经典| 国产欧美亚洲日本| 激情一区二区| 亚洲人线精品午夜| 一本色道久久| 亚洲欧美日韩在线观看a三区| 亚洲欧美日韩精品综合在线观看| 亚洲欧美日韩一区二区三区在线观看 | 国产欧美精品日韩精品| 国产亚洲欧美一区二区三区| 精品999久久久| 亚洲日本成人网| 中文亚洲视频在线| 午夜久久电影网| 亚洲国内自拍| 亚洲图片欧美午夜| 久久精彩视频| 欧美 日韩 国产在线| 欧美日韩影院| 国产一区二区三区久久| 亚洲电影免费观看高清完整版在线观看 | 午夜精品视频一区| 久久免费视频观看| 欧美激情国产日韩| 国产精品影视天天线| 一区二区在线免费观看| 亚洲精品视频免费在线观看| 亚洲香蕉成视频在线观看| 久久成年人视频| 亚洲精品一区二区三区av| 亚洲一区中文| 久久一区二区三区四区| 欧美日韩国产成人| 国产精品夜夜夜| 亚洲高清电影| 亚洲一区二区三区乱码aⅴ| 久久精品一区中文字幕| 在线亚洲一区| 久久久精品一区二区三区| 欧美日韩精品在线视频| 国产欧美一区二区三区久久人妖| 18成人免费观看视频| 亚洲深夜福利网站| 91久久国产综合久久| 亚洲欧美在线观看| 欧美成人午夜视频| 国产日韩欧美一区| 99综合视频| 亚洲国产日韩美| 欧美一级黄色录像| 欧美久久久久久蜜桃| 国产亚洲午夜高清国产拍精品| 亚洲精品国产精品久久清纯直播| 午夜久久久久| 亚洲主播在线播放| 欧美国产视频一区二区| 国产在线精品一区二区中文| 国产精品99久久不卡二区| 亚洲欧洲另类| 久久精品视频导航| 国产精品一级久久久| 亚洲精品中文在线| 亚洲精华国产欧美| 久久久久久久久久久久久久一区 | 久久久噜噜噜| 国产精品久久久久久久久久久久久久| 亚洲国产精品123| 欧美伊人久久大香线蕉综合69| 亚洲一区bb| 欧美精品自拍| 亚洲电影毛片| 久久国产精品99久久久久久老狼| 午夜精品久久久久久久| 欧美三级在线视频| 亚洲激情成人在线| 91久久香蕉国产日韩欧美9色| 久久精品国产99国产精品| 国产精品xvideos88| 亚洲精品偷拍| 99re视频这里只有精品| 欧美成人xxx| 亚洲电影免费观看高清| 亚洲国产精品一区| 久久在线免费视频| 国产在线国偷精品产拍免费yy| 亚洲免费在线播放| 欧美一区二区三区免费观看| 国产精品久久久一区二区三区| 一本色道久久99精品综合 | 在线一区二区三区做爰视频网站 | 91久久久久久| 91久久精品国产91性色| 美女黄网久久| 在线看不卡av| 亚洲国产精品精华液网站| 久热精品在线视频| 狠狠色狠色综合曰曰| 久久精品日产第一区二区| 久久天堂国产精品| 狠狠久久五月精品中文字幕| 久久精品一区二区三区不卡| 久久免费精品视频| 在线成人中文字幕| 亚洲精品1区2区| 欧美激情视频给我| 99精品国产在热久久| 亚洲专区国产精品| 国产伦精品一区二区三区高清版| 亚洲专区一区| 久久久7777| 亚洲国产91精品在线观看| 日韩视频一区| 欧美日韩一区二区三区视频| 中文亚洲免费| 久久精品99无色码中文字幕| 国内欧美视频一区二区| 亚洲激情第一页| 欧美日韩的一区二区| 宅男噜噜噜66一区二区| 欧美一区三区三区高中清蜜桃| 国产一区观看| 91久久中文字幕| 欧美日韩在线一区二区| 亚洲欧美精品伊人久久| 久久先锋影音av| 亚洲人成在线观看一区二区| 亚洲午夜在线视频| 国产亚洲观看| 亚洲理伦在线| 国产精品久99| 久久国产精品99国产| 欧美精品一区二| 亚洲欧美国产高清va在线播| 久久久精品999| 亚洲国产精品久久| 亚洲欧美日韩精品一区二区| 国产在线视频不卡二| 亚洲美女免费精品视频在线观看| 欧美日韩直播| 欧美在线视频一区二区三区| 欧美黑人一区二区三区| 亚洲一区二三| 欧美刺激午夜性久久久久久久| 亚洲午夜免费视频| 浪潮色综合久久天堂| 一区二区电影免费在线观看| 久久精品理论片| 亚洲精品专区| 久久久免费观看视频| 日韩视频一区二区三区| 久久免费国产精品| 一区二区三区高清不卡| 久久久亚洲人| 国产精品99久久久久久人| 久久这里只有| 亚洲视频在线看| 你懂的视频一区二区| 亚洲小视频在线观看| 欧美大片91| 午夜免费电影一区在线观看| 欧美精品国产精品| 欧美在线观看一二区| 欧美日韩亚洲91| 亚洲国产一区二区三区在线播| 国产精品劲爆视频| 亚洲精品免费观看| 国产一区二区激情| 亚洲欧美成人一区二区三区| 在线观看一区视频| 欧美一区在线看| 亚洲毛片在线观看.| 欧美+日本+国产+在线a∨观看| 亚洲在线日韩| 欧美日韩国产欧| 亚洲国产欧美不卡在线观看|