<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 基于LabVIEW和Matlab混合編程的小波降噪方法

          基于LabVIEW和Matlab混合編程的小波降噪方法

          作者: 時間:2017-10-21 來源:網(wǎng)絡(luò) 收藏

            本文分析了傳統(tǒng)方法在處理非平穩(wěn)信號時的缺點,研究了小波去噪的原理和方法,研究了利用混合編程的方法,將完美的圖形編程技術(shù)和強大的的數(shù)學解算功能結(jié)合起來,實現(xiàn)了小波降噪的數(shù)學建模和信號圖像顯示。通過對振動沖擊信號的濾波處理,表明了在處理非平穩(wěn)信號時的有效性。

          本文引用地址:http://www.ex-cimer.com/article/201710/367213.htm

            0 引言

            信號降噪是信號處理領(lǐng)域的經(jīng)典問題之一。傳統(tǒng)的降噪方法主要包括線性濾波方法和非線性濾波方法,在工作時對信號進行篩選,只讓特定頻段的信號通過。當信號中的有用成分和噪聲成分各占不同頻帶,可以將噪聲成分有效除去。但如果信號和噪聲的頻譜重疊,則經(jīng)典將不起作用。這些濾波器按濾波的頻段可分為高通、低通及帶通濾波器,根據(jù)設(shè)計濾波器的思想可以把濾波器分為巴特沃斯濾波器、貝塞爾濾波器、橢圓濾波器及切比雪夫濾波器等。

            此外,傳統(tǒng)的濾波器降噪方法的不足在于使信號變換后熵增加,無法刻畫信號的非平穩(wěn)性并且無法得到信號的相關(guān)性。為了克服上述缺點,采用小波變換來解決信號降噪的方法應(yīng)用越來越廣泛。但是,由于小波變換數(shù)學理論較深,對于初學者而言,使用傳統(tǒng)的C語言等編程方法,編程難度很大。本文采用 混合編程的方法,將LabVIEW 完美的圖形編程技術(shù)和Matlab強大的數(shù)學解算功能結(jié)合起來,實現(xiàn)了小波降噪的數(shù)學建模和信號圖像顯示。

            1 小波變換原理

            小波變換的理論主要包括連續(xù)小波變換、離散小波變換和多分辨分析。

            1.1 連續(xù)小波變換

            按如下方式平移和伸縮而生成的函數(shù)族 {ψ a,b } 叫分析小波或連續(xù)小波(Continue Wavelet Transform,CWT),ψ 稱為基本小波。

           

            任意函數(shù)在某一尺度a 、平移點b 上的小波變換系數(shù),實質(zhì)上表征的是在b 位置處,時間段2aΔψ 上包含在中心頻率為ω* a ,帶寬為2Δψ - /a 頻窗內(nèi)的頻率分量大小,隨著尺度a 的變化,對應(yīng)窗口中心頻率為ω* a 及窗口寬度2Δψ - /a 也發(fā)生變化。

            1.2 離散小波變換

            在實際應(yīng)用中,一般分析的信號都是經(jīng)過離散采樣后得到的離散時間序列,需要把連續(xù)小波及其變換離散化,以進行數(shù)字信號處理。具體作法是通過對其伸縮尺度因子a 和平移因子b 的采樣而離散化。

           

            式中:m,n 分別稱為頻率范圍指數(shù)和時間步長變化指數(shù)。

            在連續(xù)小波變換Wψ f (a,b) 中,由于a,b 是連續(xù)變化的,它是高冗余的,只要母小波ψ(t) 滿足容許條件,則可由Wψ f (a,b) 完全恢復原信號f (t) 。對于離散小波變換,由于對a,b 進行了離散采樣,為了使Wψ f (m,n) 包含足夠的信息以恢復原信號f (t) ,就需要對變換使用的母小波作出更嚴格的限制。

            在Hilbert空間H中的一族函數(shù){- }jj ∈ J稱為是一個框架,如果存在A,B ∈(0,∞) 時,對于所有f ∈ H,有:

           

            2 小波降噪原理

            小波變換具有低熵性、多分辨率特性、去相關(guān)性、選基靈活性的特點,因此小波降噪得到更廣泛的應(yīng)用。其中閾值去噪方法是一種實現(xiàn)簡單、結(jié)果較好的

            閾值去噪方法就是對小波分解后的各層系數(shù)中模大于和小于某閾值的系數(shù)分別處理,然后對處理完的小波系數(shù)進行反變換,重構(gòu)經(jīng)去噪的信號。在現(xiàn)實情況下,有用的信號通常是低頻信號,而噪聲信號通常是高頻信號,在去噪的過程中,通常對小波分解的高頻系數(shù)進行閾值化后重構(gòu)信號。閾值的獲取是小波去噪的關(guān)鍵,本文中的小波去噪模塊借助于Matlab小波分析工具箱中的小波分析函數(shù)獲取閾值。

            Matlab 中實現(xiàn)信號閾值獲取的函數(shù)有ddencmp、thselect、wbmpen 和wdcbm,本文采用了wbmpen.小波去噪的部分Matlab代碼如下:



            3 LabVIEW 和Matlab 混合編程方法

            3.1 LabVIEW簡介

            LabVIEW(Laboratory Virtual Instrument Engineer-ing)是NI(National Instruments)公司的產(chǎn)品,是一種圖形化的編程語言,它廣泛地被工業(yè)界、學術(shù)界和研究實驗室所接受,視為一個標準的數(shù)據(jù)采集和儀器控制軟件。這是一個功能強大且靈活的軟件,利用它可以方便地建立自己的虛擬儀器,其圖形化的界面使得編程及使用過程都生動有趣。利用LabVIEW,可產(chǎn)生獨立運行的可執(zhí)行文件。

            圖形化的程序語言,又稱為“G”語言。使用這種語言編程時,基本上不寫程序代碼,取而代之的是流程圖。它盡可能利用了技術(shù)人員、科學家、工程師所熟悉的術(shù)語、圖標和概念,因此,LabVIEW 是一個面向最終用戶的工具,提供了實現(xiàn)儀器編程和數(shù)據(jù)采集系統(tǒng)的便捷途徑。使用它進行原理研究、設(shè)計、測試并實現(xiàn)儀器系統(tǒng)時,可以大大提高工作效率。

            3.2 LabVIEW調(diào)用外部代碼的方法

            LabVIEW 的Functions 模塊內(nèi)Advanced 中CIN 節(jié)點,用戶可將需要調(diào)用的外部代碼編譯成LabVIEW 所能識別的格式與此節(jié)點相連,當此節(jié)點執(zhí)行時,Lab-VIEW 將自動調(diào)用與此節(jié)點相連的外部代碼,并向CIN傳遞特定的數(shù)據(jù)結(jié)構(gòu)。

            使用CIN技術(shù),用戶可向CIN傳遞任意復合的數(shù)據(jù)結(jié)構(gòu)。由于LabVIEW 中數(shù)據(jù)的存儲格式遵循了C語言中數(shù)據(jù)的存儲格式,所以通常情況下,使用CIN 可獲得較高的程序效率。

            3.3 利用LabVIEW的圖形界面編程方法

            為了更直觀地顯示信號波形,采用LabVIEW 開發(fā)了圖形顯示界面,用以顯示原始信號波形和消噪后信號波形。圖1是圖形顯示界面的LabVIEW編程代碼。圖2是采用LabVIEW和Matlab混合編程的代碼。

            

            4 應(yīng)用實例

            本文采用小波去噪方法對兩種不同的振動沖擊信號進行了分析處理,如圖3和圖4所示。

            

            

            從圖形顯示結(jié)果可以看出,經(jīng)小波降噪后,濾除了噪聲干擾信號,各激勵響應(yīng)信號更加明顯,這對于后期的信號分析處理奠定了良好基礎(chǔ)。

            5 結(jié)語

            小波去噪方法相比于傳統(tǒng)的濾波器方法,在處理非平穩(wěn)信號時具有獨特的優(yōu)勢,有助于提高信號分析處理精度。而采用LabVIEW 和Matlab 混合編程的方法,則降低了編程難度,可以大大提高工作效率,是一種實現(xiàn)儀器編程的便捷途徑。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();