隨著技術(shù)力量的不斷提升,被處理的信號的頻率越來越高。例如,手機的信號便是上GHz的超高頻信號。在采集這類超高頻信號的過程中,系統(tǒng)很容易受到各種電磁波的干擾,從而使有用信號夾帶各式各樣的諧波成分,這就給后續(xù)的信號處理帶來了很大的麻煩,諸如數(shù)據(jù)量過大,計算復(fù)雜等。因此設(shè)計一套效率高,可用性強的系統(tǒng)來對高頻信號進行采集及處理顯得尤其重要。
1 設(shè)計思路
在這篇文章中,作者討論一種可行的方法,即是使用LabVIEW來進行數(shù)據(jù)采集,使用MATLAB作為數(shù)據(jù)處理的平臺。那么如何高效的將兩者結(jié)合將成為設(shè)計的關(guān)鍵。本文將對不同的結(jié)合方法進行實驗,具體執(zhí)行步驟如下:首先使用LabVIEW將高頻信號采集回來并暫時保存;鑒于MATLAB強大的計算能力,作者使用它來產(chǎn)生一個用于比較的高采樣率的波形,并將這個波形通過3種不同的技術(shù)引入LabVIEW;最后通過均方差與相關(guān)性,可行性與速度的對比,分析哪一種方法才是最好的。
2 文獻調(diào)查
在文獻中,作者介紹了在LabVIEW平臺如何運用DAQ工具進行基本采集的相關(guān)操作。文獻中的作者介紹了在MATLAB上對信號進行各種處理的基本方法。在文獻中,作者展示了在NI平臺上如何運用Math Script RT模塊來開發(fā)MATLAB代碼。文獻介紹了在LabVIEW中使用MATLABscript模塊進行接口設(shè)計。
3 軟件介紹說明
LabVIEW是一種基于數(shù)據(jù)流的編程語言,而MATLAB是第四代編程語言,用來執(zhí)行數(shù)字計算的任務(wù)。
LabVIEW的數(shù)據(jù)流編程是一種基于圖標的,因而常被人們稱為G語言。用這些圖標連成的程序叫做VIs(虛擬儀器)。程序的接口是基于前面板的,它能夠接收輸入和提供輸出,在前面板中各部分模塊以圖標連線的方式組成一個結(jié)構(gòu)框架。前面板中的另外一個重要的特性是連線板,它的作用是在一個VI中以圖標的方式使用另一個VI。
人們最初使用LabVIEW只是用來測量,自動化控制,但是隨著LabVIEW集成了越來越多的特性,它逐漸轉(zhuǎn)變成了一種完善的開發(fā)環(huán)境。G語言最大的優(yōu)勢就在于他并行執(zhí)行的能力。
MATLAB常被人們稱為第四代語言。它具有嚴謹?shù)臄?shù)字化矩陣操作,如果用一些簡單的語言,如:C,C++,來執(zhí)行這些操作的話,那不論對編程者還是計算機來說都將是非常困難的。MATLAB起初是用來計算復(fù)雜的矩陣的。它也集成了不同的特性來滿足各種各樣的要求。例如,添加的Simulink就是MATLAB朝圖形模塊化發(fā)展的重要的一步。
使用LabVIEW還是MATLAB來完成特定的功能,取決于編程者的個人愛好。但是由于某些原因,作者需要將一種編程環(huán)境的特性使用在另一種環(huán)境中,比如:將一個使用MATIAB寫的代碼使用在并行執(zhí)行的環(huán)境中。本文主要研究了LabVIEW與MATLAB相結(jié)合的3種解決方法,并通過一個用來標度的信號發(fā)生器來分析使用3種不同方法的優(yōu)劣。
4 系統(tǒng)
所設(shè)計的系統(tǒng)結(jié)構(gòu)如圖1所示。
4.1 產(chǎn)生信號
當(dāng)要對一個高頻信號(比如高達2 GHz的信號)進行采集和處理的時候,通常會設(shè)計一個高速或者超高速硬件采集電路。包括放大部分、濾波部分;A/D和D/A轉(zhuǎn)換部分等,這對電路的要求非常高,要求邊采集邊存儲,電路速度高,而且要考慮各種輻射干擾等,同時,目前市場上的高頻信號發(fā)生器價格普遍昂貴。因此作者使用LabVIEW的DAQmx工具包,產(chǎn)生虛擬高頻信號。
DAQmx產(chǎn)生的虛擬高頻信號可調(diào)參數(shù)多,且能夠產(chǎn)生諸如正弦波,方波,鋸齒波等波形。作者使用不同參數(shù)的信號,以使得結(jié)果更具有說服力。例如:頻率范圍:500 M~10 GHz,分辨率為10 Hz。
4.2 LabVIEW進行采集及顯示
先在DAQmx定時VI中設(shè)定好采樣模式及采樣率,這里作者設(shè)定的是連續(xù)采樣模式和1 000的采樣率;接著在DAQmx讀取VI中,作者設(shè)定為模擬多通道多采樣2D DBL,超時設(shè)為2;最后將DAQmx開始任務(wù)VI、DAQmx停止任務(wù)VI、DAQmx清除任務(wù)VI與前面兩個VI連接,這樣就完成了基本的采集設(shè)計。將產(chǎn)生的模擬信號直接連接到波形圖表VI可以很直觀的看到波形。
前面板設(shè)計如圖2所示。
其主要部分是顯示采集波形的圖表,和內(nèi)部產(chǎn)生波形數(shù)據(jù)的圖表。表盤和其左方的波形圖是均方差的相關(guān)表述,數(shù)字控件描述的是均方差和相關(guān)系數(shù)的值。
相比起其他的信號比較法,如:基線信號比較法、信噪比和有效數(shù)據(jù)位比較法等,采用均方差來比較波形顯得更加的簡便,可靠。而相關(guān)性揭示了2個波形的相似度,即是2個數(shù)據(jù)間的線性關(guān)系。
采集的數(shù)據(jù)在LabVIEW中被保存為一個txt文檔,這只需要將數(shù)據(jù)連線到寫入文本文件VI即可。保存的數(shù)據(jù)可以被用來進行處理、分析或者是其它用途,同時這也提供了備份以防止不可遇見的事故發(fā)生。
4.3 MATLAB進行處理
MATLAB被用來執(zhí)行數(shù)據(jù)計算來比較2個波形。
4.3.1 均方差
均方差的代碼實現(xiàn)了將2個波形數(shù)據(jù)按照矩陣的形式代入方程中,然后將所得結(jié)果返回給LabVIEW并顯示出來。均方差的公式由下式給出
4.3.2 相關(guān)系數(shù)
相關(guān)系數(shù)可以用以下命令實現(xiàn)
R=corrcoef(X) (2)
這條命令將2個矩陣(一個是采集得到的,一個是內(nèi)部生成的)建立相關(guān)性,并輸出計算得到的相關(guān)系數(shù)。
相關(guān)系數(shù)的公式如下
4.3.3 參考信號
參考信號用來與采集得到的信號數(shù)據(jù)進行均方差與相關(guān)性的對比。它由MATLAB產(chǎn)生,因為MATLAB擁有豐富的數(shù)學(xué)函數(shù)庫及強大的各種工具箱(ToolBox),這就使得作者可以很方便靈活的產(chǎn)生各種參數(shù)的不同信號,而且使用MATLAB能得到較高的采樣率,并且對信號的處理也比較簡單,同時也避免了將參考信號引入MATLAB script模塊的麻煩。
5 3種方法
5.1 第一種
為了實現(xiàn)第一種方法,作者運用LabVIEW的DAO工具包,設(shè)定好產(chǎn)生虛擬信號的參數(shù),再將信號采集回來,并將數(shù)據(jù)保存為一個txt文件。將這個txt文件引入MATLAB,并與MATLAB內(nèi)部產(chǎn)生的信號進行對比,通過計算得到均方差和相關(guān)系數(shù)。
5.2 第二種方法
第二種方法只使用LabVIEW一個軟件,首先采集信號數(shù)據(jù)并保存,接著使用LabVIEW的MATLAB script模塊產(chǎn)生內(nèi)部信號,最后將倆信號對比并計算均方差和相關(guān)系數(shù),如圖3所示。
5.3 第三種方法
第三種方法借助LabVIEW內(nèi)部的Math Script RT來完成,具體步驟和第二種方法類似,如圖4所示。
6 結(jié)果分析
實驗環(huán)境為CPU:Intel Pentium D 2.8 GHz,內(nèi)存:1G,顯卡:GT220。系統(tǒng):Windows XP。
產(chǎn)生高頻信號為1 GHz,深度為1 024 M,重復(fù)實驗10次。
對于一些小誤差,如校準誤差,幾乎可以忽略不計,因為都是在同一個環(huán)境下試驗完成的。因此作者集中分析方法的可行性,然后對比3種方法,最后得出結(jié)論哪一種是最好的。
6.1 引入txt文件
這種方法非常耗時。首先,使用LabVIEW采集得到數(shù)據(jù)并將之保存為一個txt文件,然后再將這個文件引入MATLAB。即是用戶需要在打開一個軟件后再打開另外一個軟件來完成操作,這是很繁瑣的。
從開發(fā)者的角度來說,這種方法也許很簡單或者說是不那么復(fù)雜。但是,這種方法可行性最低。因為除了耗時,它還需要對這兩種軟件有一定的認識,因此花在查找文獻上的時間也相應(yīng)的增多了。
另外,這種方法增加了電腦的負擔(dān),畢竟是開了兩個程序。如果你使用的是一臺老電腦的話,那么這可能會降低你的工作效率。
綜上,作者不建議使用這種方法。
6.2 使用MATLAB script
這種方法經(jīng)過驗證比上一種要好。因為用戶不必打開兩個應(yīng)用程序來執(zhí)行程序,所以相對的比較可行。
但是,這種方法也需要安裝MATLAB軟件,才能在LabVIEW中調(diào)用MATLAB script模塊。這樣就導(dǎo)致了程序執(zhí)行的緩慢,因為用戶必須等待一段時間讓計算機進行切換計算。
除了操作性的難題,這種方法最主要的問題還是不能夠?qū)崟r計算。采集的數(shù)據(jù)必須先保存為矩陣的形式,然后再調(diào)用MATLAB script模塊進行處理。這樣就不僅浪費了時間,而且還需要另外的算法來臨時保存數(shù)據(jù)。
6.3 使用Math Script RT
這種方法使用了內(nèi)嵌的Math Script模塊,它集合了LabVIEW和MATLAB的優(yōu)點,而且還不需要安裝另外的軟件。Math Script模塊沒有必要調(diào)用MATLAB軟件,因為它本身就能夠識別800多條命令,也就是說使用。Math Script模塊的話就不需要再安裝MATLAB軟件了。
相比上一種方法,最主要的優(yōu)勢除了運行快還有就是能夠進行實時處理。因為其不需要對數(shù)據(jù)進行臨時的數(shù)據(jù)存儲,也沒有丟失實時的信息,這就使得它的運行速度是最快的。測試結(jié)果如圖5所示。
7 結(jié)論
為了最優(yōu)化系統(tǒng)的性能,本文提倡對不同目的使用不同的軟件。使用LabVIEW進行數(shù)據(jù)采集,運用MATLAB進行數(shù)據(jù)處理,這是很多項目的需要,也是很多程序員的需要。文中使用3種方法將LabVIEW與MATLAB的特性相結(jié)合:引入txt文件到MATLAB,使用MATLAB script模塊,使用Math Script RT。通過分析得到的結(jié)果,證實了使用Math Script RT無論在速度和可行性方面都是最好的。
上一篇:基于LabVIEW的光伏電源監(jiān)控系統(tǒng)設(shè)計
下一篇:應(yīng)用LabVIEW與AWR軟件為無線應(yīng)用設(shè)計復(fù)雜電路
推薦閱讀
史海拾趣
隨著市場需求的不斷變化,昭華公司敏銳地捕捉到了防水型輕觸開關(guān)的市場潛力。他們投入大量資金進行技術(shù)研發(fā),成功開發(fā)出了一系列防水性能優(yōu)異、穩(wěn)定性強的防水型輕觸開關(guān)。這些產(chǎn)品一經(jīng)推出便受到了市場的熱烈歡迎,為昭華公司帶來了可觀的利潤。此外,昭華公司還不斷探索新的技術(shù)路線,成功將LED與開關(guān)結(jié)合,推出了發(fā)光開關(guān)系列產(chǎn)品,進一步豐富了公司的產(chǎn)品線。
Cypress在USB技術(shù)領(lǐng)域取得了顯著的成就。自1996年開始深耕USB產(chǎn)品以來,Cypress逐漸成為了USB領(lǐng)域內(nèi)的領(lǐng)先者。公司推出的EZ-PD系列產(chǎn)品是業(yè)界第一個支持USB PD 3.0供電規(guī)范的解決方案,贏得了市場的廣泛認可。此外,Cypress還不斷推出新的USB產(chǎn)品和技術(shù),推動了USB技術(shù)的不斷發(fā)展和創(chuàng)新。
隨著公司業(yè)務(wù)的不斷發(fā)展,Crystal Clear Technology意識到單憑自身力量難以快速占領(lǐng)市場份額。因此,公司積極尋求與行業(yè)內(nèi)外的合作伙伴建立戰(zhàn)略合作關(guān)系。通過與知名電子設(shè)備制造商的合作,Crystal Clear Technology的顯示屏產(chǎn)品得以廣泛應(yīng)用在各種電子設(shè)備上,進一步擴大了公司的業(yè)務(wù)范圍和影響力。
C-MAX Time Solutions公司在發(fā)展過程中,逐漸認識到深耕細分市場的重要性。公司針對工業(yè)控制、安防監(jiān)控等特定領(lǐng)域,推出了定制化的時間同步解決方案。這些方案不僅滿足了客戶的特殊需求,也提高了C-MAX在這些細分市場的占有率。通過不斷積累口碑和經(jīng)驗,C-MAX逐漸在電子行業(yè)中樹立起了專業(yè)、可靠的形象。
XXXX年,Exel Microsystems Inc公司意識到了品質(zhì)管理對于企業(yè)發(fā)展的重要性。于是,公司開始引進先進的品質(zhì)管理理念和體系,加強了對產(chǎn)品從研發(fā)到生產(chǎn)的全過程控制。通過嚴格的品質(zhì)管理,Exel的產(chǎn)品質(zhì)量得到了顯著提升,客戶滿意度也隨之提高。這一舉措不僅增強了公司的市場競爭力,也為公司的長期發(fā)展奠定了堅實基礎(chǔ)。
一個關(guān)于SYSGEN是如何產(chǎn)生SDBUS.DLL的 我看了WINCE500\\PUBLIC\\COMMON\\OAK\\DRIVERS\\SDCARD\\SDBUSDRIVER目錄下的source文件,發(fā)現(xiàn)TARGETTYPE=LIBRARY,就是說是編譯成庫文件的,但是我對整個工程Build and sysgen,發(fā)現(xiàn)在工程目錄下生成了SDBUS.dll文件,我想SDBUS.dll文件應(yīng)該是在SYSGEN ...… 查看全部問答∨ |
|
#include \"msp430x44x.h \"const unsigned char led_table[]={0xd7, //*\"0\"*//0x14, //*\"1\"*//0xcd, //*\"2\"*//0x5d, //*\"3\"*// // LED 顯示代碼LED0x1e, //*\"4\"*//0x5b, //*\"5\"*//0xdb, //*\"6\"*//0x15, //*\"7\"*//0xdf, //*\"8\"*/ ...… 查看全部問答∨ |
最近項目中要用到CC2530構(gòu)建無線傳感網(wǎng),利用一個CC2530(假設(shè)為A)管理底下的多個終端,終端上也是CC2530,負責(zé)采集數(shù)據(jù)或者受控。每個終端都有一個事先定好的固定的編號,最終要實現(xiàn)通過A來控制底下的所有終端,且能根據(jù)編號訪問到固定的終端。我 ...… 查看全部問答∨ |
這幾天要精簡乘法和除法,找到ti提供的乘除法處理程序,我就試了一下,為什么得數(shù)都不對哪!哪位大牛用過,解釋一下。 程序和說明在附件里。 [ 本帖最后由 zengbo84 于 2012-3-16 10:22 編輯 ]… 查看全部問答∨ |
20835的on-chip Flash能不能作為普通數(shù)據(jù)段使用,如何使用 20835的on-chip Flash能不能作為普通數(shù)據(jù)段使用,如何使用?!? 查看全部問答∨ |
上位機通過proteus中自帶的虛擬串口與protues通信 上位機自行設(shè)定個房間溫度上下限 超過該范圍可以操作升溫降溫電機動作 最近顯示屏上位機即將完成 有需要共同研究的可以聯(lián)系我! 顯示屏上位機也是用visual studio200 ...… 查看全部問答∨ |
|
好書推薦---《案例解說單片機C語言開發(fā)--基于AVR+Proteus仿真》 案例解說單片機C語言開發(fā)--基于AVR+Proteus仿真 iccavr是atmega128單片機軟件開發(fā)環(huán)境,proteus是目前應(yīng)用最廣泛的硬件仿真環(huán)境?!栋咐庹f單片機c語言開發(fā)——基于avr+proteus仿真》基于iccavr和proteus介紹了atmega128單片機體系結(jié)構(gòu)、 ...… 查看全部問答∨ |
EK-TM4C123GXL LaunchPad 常用的幾個PDF文檔 有些人問 ROM_SysCtlClockSet(SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | SYSCTL_OSC_INT |SYSCTL_OSC_MAIN | SYSCTL_XTAL_16MHZ);和 SysCtlClockSet(SYSCTL_SYSDIV_2_5 | SYSCTL_USE_PLL | & ...… 查看全部問答∨ |
- 助力 1400V高壓測試挑戰(zhàn)—imc發(fā)布全新EV HISO測溫模塊
- 是德科技探討AI數(shù)據(jù)中心:下一代AI網(wǎng)絡(luò)需要更高階的驗證
- 是德科技在2025年春季O-RAN全球PlugFest活動展示先進Open RAN解決方案
- 艾德克斯IT-N2100 系列太陽能陣列模擬器助力上海交大光伏技術(shù)研究
- ITECH重磅發(fā)布IT2705直流電源分析儀,重構(gòu)模塊化測試體驗
- 函數(shù)發(fā)生器如何成為多波形的信號源
- 6G與AI開啟沉浸式通信新時代
- 維發(fā)電子科技:技術(shù)和業(yè)務(wù)雙線突破,在新能源零部件賽道加速“破壁”
- 移動測繪成像:不僅僅是高分辨率