• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于聲卡的頂錘破裂實(shí)時檢測系統(tǒng)方案設(shè)計

      2015-02-24 07:37:48劉棟任天平
      機(jī)床與液壓 2015年16期
      關(guān)鍵詞:聲卡緩沖區(qū)調(diào)用

      劉棟,任天平

      (鄭州大學(xué)機(jī)械工程學(xué)院,河南鄭州 450001)

      六面頂壓機(jī)是目前國內(nèi)超高壓高溫靜壓法合成人造金剛石的主要生產(chǎn)設(shè)備。頂錘,主要材料是鎢鈷系列硬質(zhì)合金,安裝在六面頂壓機(jī)活塞的大墊塊頂部使用。當(dāng)受油缸驅(qū)動一組6個頂錘閉合形成高壓腔時,腔體內(nèi)可達(dá)到10~20 GPa以上的壓力和攝氏1 500℃以上的溫度,承受著壓應(yīng)力、拉應(yīng)力以及剪切應(yīng)力,處于超臨界狀態(tài)下工作。由于頂錘內(nèi)部的缺陷造成的應(yīng)力集中不能通過塑性變形得到消除,以及頂錘校對不當(dāng)、合成塊放置不當(dāng)?shù)韧饨缫蛩赜绊?,頂錘發(fā)生破裂。如果未及時發(fā)現(xiàn),進(jìn)行卸壓停熱操作,將會導(dǎo)致高壓腔內(nèi)壓力外泄,進(jìn)而造成碎屑及合成塊飛濺、“放炮”、多個頂錘損壞等危害,帶來巨大的人員傷亡隱患和經(jīng)濟(jì)損失。六面頂壓機(jī)頂錘破裂在線無損檢測預(yù)報警顯得非常重要,有顯著的經(jīng)濟(jì)意義及社會意義。

      現(xiàn)階段對于頂錘破裂的檢測,并無可靠實(shí)用的技術(shù),主要是通過生產(chǎn)現(xiàn)場有經(jīng)驗(yàn)的合成工通過聽聲音的方式來判斷 (頂錘破裂時,發(fā)出類似鋸條掰斷的聲音),以預(yù)防為主?;诖?,認(rèn)為當(dāng)頂錘產(chǎn)生宏觀裂紋進(jìn)而產(chǎn)生聲音時或之前,產(chǎn)生了音頻段的特征信號。該特征信號可以是音頻信號或者是頂錘破裂所產(chǎn)生的振動信號,文中采集的是振動信號而非音頻信號以屏蔽環(huán)境噪聲的干擾。經(jīng)過現(xiàn)場信號采集,確定了頂錘破裂時存在該頻譜分布異常的特征信號。通過對該特征信號的識別,實(shí)現(xiàn)頂錘破裂的報警。

      作者提出一種基于聲卡的頂錘破裂實(shí)時檢測系統(tǒng)。采用計算機(jī)聲卡而非傳統(tǒng)的數(shù)據(jù)采集卡完成數(shù)據(jù)采集;采用C++多線程技術(shù)、C++和MATLAB混合編程的方式完成軟件設(shè)計;利用MATLAB強(qiáng)大的信號分析能力,編寫信號分析識別算法,封裝成COM組件,供C++調(diào)用,完成信號分析以實(shí)現(xiàn)實(shí)時檢測報警。

      1 系統(tǒng)方案設(shè)計

      通過功能分析,頂錘破裂在線檢測報警系統(tǒng),在系統(tǒng)組成上分為傳感檢測模塊、信號調(diào)理模塊、數(shù)據(jù)采集模塊、數(shù)據(jù)分析模塊、人機(jī)顯示模塊、報警輸出模塊。如圖1所示,傳感器信號通過信號調(diào)理電路,利用計算機(jī)的線路輸入 (line in)作為信號輸入端口,將獲取的A/D采樣數(shù)值傳入計算機(jī)中,進(jìn)而通過編寫的應(yīng)用程序進(jìn)行相關(guān)分析,若檢測識別到頂錘破裂信號,報警輸出。另外,聲卡測量信號的引入應(yīng)采用音頻電纜或者屏蔽電纜以降低噪聲干擾。

      圖1 系統(tǒng)組成

      傳統(tǒng)數(shù)據(jù)采集工作主要由專用的數(shù)據(jù)采集卡完成,價格昂貴并需要單獨(dú)的驅(qū)動程序完成數(shù)據(jù)采集和獲取。大多數(shù)分辨率為12/16位,并且受計算機(jī)插槽接口、地址、中斷資源的限制,擴(kuò)展性較差,同時在電磁干擾較強(qiáng)的場合可能無法對其進(jìn)行電磁屏蔽,造成采樣數(shù)據(jù)失真[1]。

      而計算機(jī)聲卡就是一款很好的雙通道數(shù)據(jù)采集系統(tǒng),同時具有A/D、D/A以及低通濾波功能,價格低廉、兼容性好、靈活通用、性能穩(wěn)定。另外聲卡使用DMA方式傳遞數(shù)據(jù),極大地降低了CPU的占用率。一般聲卡的16位轉(zhuǎn)換精度對于許多工程測量和科學(xué)實(shí)驗(yàn)來講已經(jīng)足夠了。當(dāng)然聲卡數(shù)據(jù)采集也具有其局限性,只適合采集音頻域的信號,即輸入信號范圍為20~20 000 Hz的信號;不允許任意設(shè)定采樣頻率,因此不能控制整周期采樣,需要通過相應(yīng)的信號處理方法來彌補(bǔ)非整周期采樣帶來的問題[2]。雖然現(xiàn)今一些聲卡的采樣率提高到了96/192 kHz甚至更高,但是價格昂貴,而且某些是通過重采樣技術(shù)轉(zhuǎn)換得到的。

      在頂錘破裂在線檢測應(yīng)用中,采集的振動信號頻率位于音頻段,同時現(xiàn)場的壓機(jī)控制系統(tǒng)帶有工控機(jī),采用計算機(jī)聲卡完成數(shù)據(jù)采集是一種很好的選擇。聲卡一般有mic in和line in兩個音頻輸入口。聲卡的mic in輸入端有高增益的放大器,最大輸入信號強(qiáng)度50 mVrms,容易引入噪聲,使信號有較大失真,且容易造成信號過負(fù)荷;line in線路輸入抗干擾強(qiáng),輸入電壓不超過1.5 Vrms[3]。故使用line in口作為信號輸入端口,其干擾小且動態(tài)特性良好。

      但是直接測量信號可能過于嘈雜或危險,信號調(diào)理電路將信號處理成可以直接輸入聲卡line in口,主要包括信號的隔離和線性化處理、放大/衰減、阻抗匹配、濾波等,以使信號能夠正確地被聲卡所識別。

      而后聲卡將信號采樣數(shù)據(jù)存入數(shù)據(jù)存儲單元,信號分析模塊對信號進(jìn)行識別分析,檢測到報警信號,通過報警輸出模塊,通知壓機(jī)控制系統(tǒng)進(jìn)行停熱、卸壓等故障操作。

      2 軟件架構(gòu)

      關(guān)于軟件設(shè)計,采用C++和MATLAB混合編程的方式,以C++為主,利用多線程技術(shù)和COM組件技術(shù),結(jié)合兩種編程語言特點(diǎn),取長補(bǔ)短,提高程序運(yùn)行效率,完成對信號的采集分析識別。

      如圖2所示,開啟采集線程,利用Windows音頻API函數(shù)驅(qū)動聲卡完成數(shù)據(jù)采集操作,將采樣數(shù)據(jù)存入內(nèi)存數(shù)據(jù)緩沖區(qū);預(yù)處理線程將從內(nèi)存緩存區(qū)取出數(shù)據(jù),進(jìn)行端點(diǎn)檢測等預(yù)處理,然后將疑似信號送入分析線程;分析線程完成信號識別,進(jìn)而通過報警模塊輸出報警信號。

      圖2 系統(tǒng)軟件架構(gòu)

      數(shù)據(jù)交互在內(nèi)存中進(jìn)行,以保證數(shù)據(jù)的快速存取。信號識別分為兩級,預(yù)處理完成算法相對簡單的前期識別處理,只有疑似信號才被送入分析線程,進(jìn)行相對復(fù)雜的特征提取及模式識別算法實(shí)現(xiàn),完成相對耗時的識別操作。通過這種方式,提高程序運(yùn)行效率,保證信號識別處理的實(shí)時性。

      通過C++和MATLAB混合編程的方式,利用MATLAB固有的函數(shù)和算法,縮短了程序開發(fā)周期;采用C++多線程技術(shù),有效彌補(bǔ)了MATLAB不能并行工作的特點(diǎn);另一方面,MATLAB是一種解釋性執(zhí)行語言,通過將其編寫的算法封裝成COM組件,某種程度上提高其執(zhí)行效率[4]。

      3 系統(tǒng)功能設(shè)計

      3.1 信號調(diào)理電路

      信號調(diào)理電路將傳感器信號處理成可以直接輸入聲卡采集的信號,送入聲卡的line in口完成A/D轉(zhuǎn)換。信號調(diào)理電路由高通濾波器、兩級放大電路、低通濾波器等部分組成,完成阻抗匹配、幅度調(diào)節(jié)及信號濾波。

      3.1.1 阻抗匹配

      外電路阻抗和聲卡阻抗之間的對應(yīng)關(guān)系對送入聲卡的信號質(zhì)量有顯著影響。為了獲得可接受的效果,外電路的輸出阻抗必須小于聲卡的輸入阻抗。否則部分或者全部信號強(qiáng)度將會因?yàn)樨?fù)載效應(yīng)丟失,大部分聲卡的輸入阻抗為60~2 000 Ω[3],可以利用運(yùn)放的輸出阻抗無限小的特點(diǎn),完成阻抗匹配。

      3.1.2 幅度調(diào)節(jié)

      保證輸入電壓范圍不超過1.5 Vrms,不超出聲卡line in口測量范圍。為了提高輸入阻抗,降低輸出阻抗,采用兩級放大電路,第一級采用同相放大器,第二級采用反相放大器。同相放大器具有很高的輸入阻抗,對輸入信號源影響很小,輸入的信號電流很小,信號電壓不會有太大的損失;反相放大器輸出阻抗小,和聲卡輸入端完成阻抗匹配。兩級電路按照1.5 Vrms來考慮選取電阻參數(shù)。

      3.1.3 濾波

      高通濾波器由一個小電容 (1 μf)和大電阻 (1 MΩ)組成一個RC濾波電路來實(shí)現(xiàn),主要用于濾除工頻干擾和低頻噪聲。

      低通濾波采用二階壓控型低通濾波器,單位增益,主要用于降低高頻干擾,根據(jù)特征信號頻率選擇截止頻率。整個電路除了有關(guān)電阻電容外,選取高性能運(yùn)放lm358,完成電路設(shè)計。

      3.2 聲卡信號獲取

      與一般的數(shù)據(jù)采集卡不同,聲卡A/D任務(wù)通常都是連續(xù)狀態(tài)的。為了節(jié)省CPU資源,計算機(jī)的CPU并不是在每次聲卡A/D結(jié)束后都要響應(yīng)一次中斷,而是采用了緩沖區(qū)的工作方式[2]。

      待測信號源源不斷地送入聲卡,創(chuàng)建3個音頻緩沖區(qū),采樣數(shù)據(jù)保存在音頻緩沖區(qū)中。當(dāng)一個緩沖區(qū)滿的時候,該緩沖區(qū)置滿標(biāo)志位,發(fā)送MM_WIM_DATA消息,將該緩沖區(qū)控制權(quán)歸還給程序,自動將采樣數(shù)據(jù)存入下一個緩存區(qū),并執(zhí)行waveInOpen函數(shù)指定的回調(diào)函數(shù)。在回調(diào)函數(shù)中,將緩沖區(qū)數(shù)據(jù)移入內(nèi)存采樣數(shù)據(jù)緩沖區(qū),通知異步線程進(jìn)行處理,并再次調(diào)用waveInAddBuffer將緩存區(qū)重新填入音頻數(shù)據(jù)緩存隊(duì)列,以實(shí)現(xiàn)循環(huán)采樣,從而保證采樣不間斷,采樣數(shù)據(jù)不丟失。

      處理流程如圖3所示,表1列出來用到的Windows音頻 API函數(shù)[2]。

      圖3 聲卡采集流程圖

      表1 Windows音頻API函數(shù)

      需要注意的是,調(diào)用waveInPrepareHeader函數(shù)準(zhǔn)備緩沖區(qū),是采用堆分配的方式,為其分配的內(nèi)存區(qū)域被鎖定了,無法通過delete或者free來釋放了,必須調(diào)用waveInUnprepareHeader函數(shù)才能解鎖定,然后才能釋放。同時在退出系統(tǒng)停止采集時,需要首先調(diào)用waveInReset函數(shù)將內(nèi)存從waveInAddBuffer函數(shù)的限定中釋放,然后再使用waveInUnprepareHeader釋放,最后調(diào)用delete或者free釋放內(nèi)存空間。

      3.3 信號分析

      通過對現(xiàn)場提取的信號分析,可分為3類:噪聲、近似信號、裂錘信號。噪聲,是指工頻干擾等引入的雜音背景聲,能量小;近似信號,是指環(huán)境噪聲等裂錘信號,能量較大。

      圖4為采集到的信號,分析發(fā)現(xiàn)信號具有短時性特點(diǎn),事件長度在40~150 ms。在某些短時段呈現(xiàn)隨機(jī)噪聲特點(diǎn),在某些短時段由呈現(xiàn)出周期性信號特性,其他時段為兩者混合。只有在短時間內(nèi),信號才較平穩(wěn)。因此對信號的分析識別,必須建立在短時性的前提下,分為兩部分來實(shí)現(xiàn)。

      圖4 采集得到的信號

      預(yù)處理操作,主要進(jìn)行時域分析,主要任務(wù)是端點(diǎn)檢測,獲取近似信號和裂錘信號的起點(diǎn)和終點(diǎn),從而截取信號,通知信號分析異步線程對其進(jìn)行分析。有效的端點(diǎn)檢測能夠更有效地對信號進(jìn)行分析訓(xùn)練和識別,大大減少識別的運(yùn)算復(fù)雜度,提高程序運(yùn)行效率,保證實(shí)時性。這里采用改進(jìn)的短時能量和短時平均過零率雙門限方法實(shí)現(xiàn),采用動態(tài)閾值確定門限值,運(yùn)算小、易于實(shí)現(xiàn)并且魯棒性較好,有較好的識別效果。圖5為短點(diǎn)檢測算法MATLAB仿真效果圖。另外一方面,針對裂錘信號短時相關(guān)函數(shù)、短時頻譜等時域特征不同進(jìn)行信號初步篩選。

      圖5 MATLAB斷點(diǎn)檢測算法測試

      對截取出來的信號進(jìn)行分析,通過時域及頻域特征提取,完成信號識別。分析發(fā)現(xiàn),特征段頻譜分布明顯不同。利用FFT進(jìn)行頻譜分析時,為保證頻域分辨率,需要足夠的時域數(shù)據(jù)序列,在44.1 kHz的采樣率下,取4 096點(diǎn) FFT,得到大約44.1 kHz/4 096=10.77 Hz的頻率分辨率。同時為了減輕譜泄漏影響,需要加窗。但要注意應(yīng)用窗函數(shù)的時候,頻率分辨率本質(zhì)上會降低,高能量的譜分量還會遮蔽低能量的譜分量,特別當(dāng)原始時間數(shù)據(jù)的平均值為非零時更加明顯,這與直流分量DC飄逸有關(guān)。通過計算時間序列的平均值并從原始序列的每一個樣點(diǎn)中減掉這個平均值可以消除這個問題 (注意平均和減的過程必須在加窗前進(jìn)行)[5]。對截取出來的信號分析算法是采用MATLAB語言編寫的,將其封裝成COM組件以供調(diào)用[3]。

      圖6為聲卡數(shù)據(jù)采集及調(diào)用COM組件多線程處理的程序效果圖,設(shè)定緩沖區(qū)大小為4 096,采樣頻率為44.1 kHz,CPU為雙核1.8 GHz。這樣92.9 ms完成一次采樣,開啟線程調(diào)用COM組件完成數(shù)據(jù)分析 (4 096點(diǎn)FFT及端點(diǎn)檢測)。測試發(fā)現(xiàn)第一次調(diào)用COM組件用時較長,包含初始化COM庫、創(chuàng)建COM接口實(shí)例以及調(diào)用COM方法,這一部分可以放到程序初始化過程中進(jìn)行。初始化完成之后,調(diào)用COM組件封裝的函數(shù)進(jìn)行信號分析時,最長用時在20 ms左右,浮動變化,這是由于Windows并非為實(shí)時操作系統(tǒng),系統(tǒng)為線程按照優(yōu)先級分配時間片,執(zhí)行相應(yīng)任務(wù)。因此可以創(chuàng)建相應(yīng)的循環(huán)隊(duì)列數(shù)據(jù)結(jié)構(gòu)類,將預(yù)處理截取的數(shù)據(jù)送入循環(huán)隊(duì)列,順序處理,從而提高時間容錯能力[6]。

      圖6 信號采集與調(diào)用COM組件測試

      4 結(jié)束語

      結(jié)合金剛石六面頂壓機(jī)頂錘工作場合及特性,提出一種基于聲卡的頂錘破裂檢測方案,利用聲卡采集頂錘工作過程中的振動信號,采用C++和MATLAB混合編程的方式完成信號實(shí)時采集分析。該方案大大降低了軟硬件成本,可擴(kuò)展性強(qiáng),并已得到工程應(yīng)用,處于測試階段,可行性得到了驗(yàn)證。但是在為提高信號識別的準(zhǔn)確度而采用較復(fù)雜的信號分析算法時,實(shí)時性有待提高,需要進(jìn)行算法優(yōu)化以及進(jìn)行實(shí)時操作系統(tǒng)移植予以解決。

      [1]魏勇,孫士平.基于LabView與USB的虛擬儀器接口設(shè)計[J].現(xiàn)代電子技術(shù),2009,31(8):163.

      [2]田敏,李江全,鄧江濤,等.案例解說MATLAB典型控制應(yīng)用[M].北京:電子工業(yè)出版社,2010.

      [3]蔣程鵬,呂建敏.基于LABVIEW的脈搏測試儀[J].醫(yī)療裝備,2009(10):13-15.

      [4]張亮,王繼陽.MATLAB與 C/C++混合編程[M].北京:人民郵電出版社,2008:113-139.

      [5]LYONS Richard G.數(shù)字信號處理[M].朱光明,程建遠(yuǎn),劉保童,等,譯.北京:機(jī)械工業(yè)出版社,2006.

      [6]CHILDS Jeffrey S.C++類和數(shù)據(jù)結(jié)構(gòu)[M].張杰良,譯.北京:清華大學(xué)出版社,2009.

      猜你喜歡
      聲卡緩沖區(qū)調(diào)用
      嵌入式系統(tǒng)環(huán)形緩沖區(qū)快速讀寫方法的設(shè)計與實(shí)現(xiàn)
      核電項(xiàng)目物項(xiàng)調(diào)用管理的應(yīng)用研究
      LabWindows/CVI下基于ActiveX技術(shù)的Excel調(diào)用
      基于系統(tǒng)調(diào)用的惡意軟件檢測技術(shù)研究
      關(guān)鍵鏈技術(shù)緩沖區(qū)的確定方法研究
      利用RFC技術(shù)實(shí)現(xiàn)SAP系統(tǒng)接口通信
      地理信息系統(tǒng)繪圖緩沖區(qū)技術(shù)設(shè)計與實(shí)現(xiàn)
      電視技術(shù)(2012年1期)2012-06-06 08:13:58
      麻雀成鳳凰 本本聲卡變X—Fi
      用心聆聽,“高清”聲卡進(jìn)階技
      莱州市| 博湖县| 红河县| 济宁市| 泸定县| 延安市| 西乌珠穆沁旗| 石渠县| 浦县| 金溪县| 老河口市| 民和| 昌宁县| 高雄市| 新竹县| 区。| 太和县| 吉隆县| 洛宁县| 长汀县| 维西| 会理县| 元谋县| 兰西县| 克拉玛依市| 安徽省| 许昌市| 邹平县| 汾阳市| 余江县| 加查县| 德昌县| 山东省| 翁源县| 甘洛县| 双城市| 台北县| 封开县| 宜宾县| 驻马店市| 南乐县|