版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
畢業(yè)設(shè)計(jì)說明書基于Matlab的實(shí)時(shí)聲信號(hào)采集與譜分析設(shè)計(jì)學(xué)生姓名:學(xué)號(hào):學(xué)院:系名:專業(yè):指導(dǎo)教師:2011年6月GatherandanalyzethedesignwiththetableinacousticalsignalbasedonMATLABAbstractInthispaperwilldiscusstheprinciplesoffrequencyanalysis,analysisoftheclassicalandthemodernspectralandtheadvantageanddisadvantageofthem,specificallycomparePeriodogram,BartlettwithWelchalgorithm.AndthenusingMATLABtorealizationofthefrequencyofacousticsignalanalysis,contrastadvangeanddisadvangevisually.ThedatawhichwillbecollectedthroughserialhasreadbackandspectralanalysisundertheenvironmentofMATLAB.Usingthismethodtheacousticsignalacquisitionandspectralanalysissystemhasthestrongandreal-timeprocessingspeedadvantage.Keywords:DSP,spectralanalysis,spectralestimation,andMATLAB基于Matlab的實(shí)時(shí)聲信號(hào)采集與譜分析設(shè)計(jì)摘要本文介紹了基于MATLAB的聲信號(hào)采集與譜分析的設(shè)計(jì)過程,在闡述頻率分析及功率譜估計(jì)原理的基礎(chǔ)上,分析了經(jīng)典功率譜估計(jì)和現(xiàn)代功率譜估計(jì)的兩大類算法,主要采用了經(jīng)典功率譜估計(jì)的周期法,間接法和改進(jìn)的周期法及現(xiàn)代功率譜估計(jì)的AR模型參數(shù)法對(duì)聲信號(hào)進(jìn)行譜分析,并通過大量試驗(yàn)對(duì)各種算法進(jìn)行驗(yàn)證對(duì)比。該設(shè)計(jì)利用串口將采集到的聲信號(hào)上傳,并在MATLAB環(huán)境下進(jìn)行譜分析,用此方法實(shí)現(xiàn)的聲信號(hào)采集與譜分析系統(tǒng),具有實(shí)時(shí)性強(qiáng)、處理速度快點(diǎn)優(yōu)點(diǎn)。關(guān)鍵詞:DSP,頻譜分析,功率譜估計(jì),MATLAB目錄1緒論 11.1數(shù)字信號(hào)處理的簡(jiǎn)介及發(fā)展?fàn)顩r 11.2頻譜分析的發(fā)展現(xiàn)狀及趨勢(shì) 11.3本設(shè)計(jì)的主要任務(wù) 32聲信號(hào)的采集及傳輸 42.1TMS320F2812的概述 42.2串口傳輸模塊 53譜分析在MATLAB中的實(shí)現(xiàn) 73.1MATLAB軟件簡(jiǎn)介 73.2譜分析的幾種算法 73.2.1經(jīng)典功率譜估計(jì)的幾種典型算法 73.2.2現(xiàn)代功率譜估計(jì)分析方法 163.3用戶界面的設(shè)計(jì) 203.31窗口界面的實(shí)現(xiàn)過程 203.32用戶界面 224總結(jié) 25附錄A基于MATLAB用戶界面的譜分析的程序 26參考文獻(xiàn) 33致謝 351緒論1.1數(shù)字信號(hào)處理的簡(jiǎn)介及發(fā)展?fàn)顩r數(shù)字信號(hào)處理(DigitalSignalProcessing,簡(jiǎn)稱DSP)是將信號(hào)以數(shù)字方式表示并處理的理論和技術(shù)。它是一門涉及眾多學(xué)科而又廣泛應(yīng)用于多個(gè)領(lǐng)域的新興學(xué)科。20世紀(jì)60年代以來,隨著計(jì)算機(jī)和信息技術(shù)的飛速發(fā)展,數(shù)字信號(hào)處理技術(shù)應(yīng)運(yùn)而生并得到迅速的發(fā)展。DSP數(shù)字信號(hào)處理是一種通過使用數(shù)學(xué)技巧執(zhí)行轉(zhuǎn)換或提取信息來處理現(xiàn)實(shí)信號(hào)的方法。它的核心算法是離散傅立葉變換(DFT),DFT使信號(hào)在數(shù)字域和頻域都實(shí)現(xiàn)了離散化,從而可以用通用計(jì)算機(jī)處理離散信號(hào)。而使數(shù)字信號(hào)處理從理論走向?qū)嵱玫氖强焖俑盗⑷~變換(FFT),F(xiàn)FT的出現(xiàn)大大減少了DFT的運(yùn)算量,使實(shí)時(shí)的數(shù)字信號(hào)處理成為可能,極大促進(jìn)了該學(xué)科的發(fā)展[1]。DSP(數(shù)字信號(hào)處理器)是一種高速專用的微處理器,DSP芯片建立在數(shù)字信號(hào)處理的各種理論和算法基礎(chǔ)上,專門完成各種實(shí)時(shí)數(shù)字信息處理,DSP系統(tǒng)所選用的算法是經(jīng)過各種實(shí)踐檢驗(yàn)的通用算法的組合和改進(jìn)而來,它的運(yùn)算功能強(qiáng)大,專門處理以運(yùn)算為主,不允許延遲的實(shí)時(shí)信號(hào);它有特殊的尋址方式,可高效的進(jìn)行FFY運(yùn)算;靈活的輸入輸出接口和片內(nèi)輸入輸出管理;有高速的并行數(shù)據(jù)處理算法的優(yōu)化指令集,修改,升級(jí)都很方便;靈活的使用C語言或匯編語言編程;集成化程度高,成本低,可靠性好,硬件簡(jiǎn)化,有完整的開發(fā)和調(diào)試工具,開發(fā)周期短[2]。其應(yīng)用領(lǐng)域也由最初的軍用的尖端產(chǎn)品擴(kuò)展到計(jì)算機(jī)、通信、家電、辦公自動(dòng)化、儀器儀表、汽車電子等各個(gè)領(lǐng)域,發(fā)展速度快,應(yīng)用實(shí)效之大,是目前任何一種器件不能與之相提并論的。在當(dāng)今的數(shù)字化時(shí)代快速發(fā)展的背景下,DSP已成為通信、計(jì)算機(jī)、消費(fèi)類電子產(chǎn)品等領(lǐng)域的基礎(chǔ)器件,被譽(yù)為信息社會(huì)革命的旗手。DSP將是未來集成電路中發(fā)展最快的電子產(chǎn)品,并成為電子產(chǎn)品更新?lián)Q代的決定因素,它將徹底變革人們的工作、學(xué)習(xí)和生活方式[2]。1.2頻譜分析的發(fā)展現(xiàn)狀及趨勢(shì)信號(hào)分析主要包括時(shí)域分析和頻域分析。譜分析就是頻域分析,具體是指將信號(hào)源發(fā)出的信號(hào)強(qiáng)度按頻率順序展開,使其成為頻率的函數(shù),并考察變化規(guī)律。頻譜分析在生產(chǎn)實(shí)踐和科學(xué)研究中獲得日益廣泛的應(yīng)用。例如,對(duì)汽車、飛機(jī)、輪船、汽輪機(jī)等各類旋轉(zhuǎn)機(jī)械、電機(jī)、機(jī)床等機(jī)器的主體或部件進(jìn)行實(shí)際運(yùn)行狀態(tài)下的譜分析,可以提供設(shè)計(jì)數(shù)據(jù)和檢驗(yàn)設(shè)計(jì)效果,或者尋找振源和診斷故障,保證設(shè)備的安全運(yùn)行等;在聲納系統(tǒng)中,為了尋找海洋水面船只或潛艇,需要對(duì)噪聲信號(hào)進(jìn)行譜分析,以提供有用信息,判斷艦艇運(yùn)動(dòng)速度、方向、位置、大小等。因此對(duì)譜分析方法的研究,受到人們的普遍注意和重視,是當(dāng)前信號(hào)處理技術(shù)中一個(gè)十分活躍的課題。1965年庫利一圖基在《計(jì)算數(shù)學(xué)》雜志上發(fā)表快速傅里葉變換(FFT)算法,F(xiàn)FT和頻譜分析很快發(fā)展成為機(jī)械設(shè)備故障診斷、振動(dòng)分析、無線電通信、信息圖像處理和自動(dòng)控制等多種學(xué)科重要的理論基礎(chǔ)。然而長期的應(yīng)用和近年來的理論分析表明:經(jīng)快速傅立葉變換得到的離散頻譜,頻率、幅值和相位均可能產(chǎn)生較大誤差,單諧波加矩形窗時(shí)最大誤差從理論上分析可達(dá)36.4%;即使加其他窗時(shí),也不能完全消除此影響,在加Hanning窗時(shí),只進(jìn)行幅值恢復(fù)時(shí)的最大幅值誤差仍高達(dá)15.3%,相位誤差高達(dá)90度。因此,頻譜分析的結(jié)果在許多領(lǐng)域只能定性而不能精確的定量分析和解決問題,大大限制了該技術(shù)的工程應(yīng)用,特別是在機(jī)械振動(dòng)和故障診斷中的應(yīng)用受到極大限制。從上世紀(jì)70年代中期,有關(guān)學(xué)者開始致力于頻譜校正理論的研究以期解決離散頻譜誤差較大的問題,通過加窗、局部細(xì)化、多點(diǎn)卷積幅值修正等方法來提高頻率識(shí)別精度,解決了離散高次諧波參數(shù)的精確測(cè)量等問題[3]。從目前國內(nèi)外學(xué)者所進(jìn)行的大量研究工作來看,主要是對(duì)單頻率信號(hào)(或頻率間隔較大的多頻率信號(hào))離散頻譜的自動(dòng)識(shí)別和校正方法進(jìn)行探討,密集頻率的校正也只限于兩個(gè)鄰近頻率成分的校正,未能深入到連續(xù)頻率成分頻譜的誤差和校正方法的研究。而實(shí)際工程中的很多信號(hào)是密集頻率成分或連續(xù)頻率成分的信號(hào),比如“拍振”信號(hào)是最簡(jiǎn)單的密集頻率信號(hào)。在旋轉(zhuǎn)機(jī)械、故障診斷和非線性動(dòng)力系統(tǒng)分析中,常常也會(huì)出現(xiàn)密集頻譜現(xiàn)象。在有限樣本長度下,僅僅由此類信號(hào)的FFT頻譜很難識(shí)別其頻率構(gòu)成,也不能確定其各頻率的參數(shù)。而且由于旁瓣泄露或主瓣干涉的影響,基于單頻率信號(hào)頻譜校正的比值法不再適合此類多頻信號(hào)。對(duì)此類信號(hào)在進(jìn)行離散頻譜分析時(shí)所產(chǎn)生誤差的分析方法與頻率間隔較大的信號(hào)誤差分析方法存在巨大差異,校正方法也不相同,校正的難度極大。因此,只有對(duì)這類信號(hào)在進(jìn)行離散傅里葉變換時(shí)所產(chǎn)生的誤差進(jìn)行深入系統(tǒng)的分析與研究,并找到一種較完善的頻率、幅值和相位的校正方法,才能使離散傅里葉變換和頻譜分析在機(jī)械工程中得到更廣泛應(yīng)用,同時(shí)也擴(kuò)大其在無線電通信、信息圖像處理、自動(dòng)控制、多媒體、機(jī)械設(shè)備故障診斷等技術(shù)的應(yīng)用范圍[4]。當(dāng)前,具有密集頻譜的頻譜校正問題是目前頻譜校正技術(shù)最難解決的問題之一,成為工程界和研究離散頻譜校正的學(xué)者們關(guān)注的焦點(diǎn)。1.3本設(shè)計(jì)的主要任務(wù)DSP聲DSP聲傳感器譜分析A/DSPI串口通信譜分析本設(shè)計(jì)主要任務(wù)圖1.1本設(shè)計(jì)的原理框圖本設(shè)計(jì)的原理框圖如圖1.1所示,首先通過傳感器采集目標(biāo)聲信號(hào),聲信號(hào)進(jìn)入DSP芯片TMS320F2812內(nèi)部的AD轉(zhuǎn)換器實(shí)現(xiàn)模數(shù)轉(zhuǎn)換,之后數(shù)據(jù)通過串口實(shí)時(shí)上傳至計(jì)算機(jī)運(yùn)用Matlab軟件進(jìn)行頻譜和功率譜分析。本設(shè)計(jì)的主要任務(wù)是通過串口把實(shí)時(shí)采集的數(shù)據(jù)傳至計(jì)算機(jī)后,在MATLAB環(huán)境下將數(shù)據(jù)讀回并實(shí)現(xiàn)信號(hào)的頻譜分析。本設(shè)計(jì)主要研究了各種頻譜分析算法實(shí)現(xiàn)后的效果圖,直觀比較不同的算法的不同效果。其中包括經(jīng)典功率譜分析和現(xiàn)代功率譜分析。經(jīng)典譜估計(jì)是將數(shù)據(jù)工作區(qū)外的未知數(shù)據(jù)假設(shè)為零,相當(dāng)于數(shù)據(jù)加窗,主要方法有直接法,間接法和改進(jìn)的直接法。現(xiàn)代譜估計(jì)是通過觀測(cè)數(shù)據(jù)估計(jì)參數(shù)模型再按照求參數(shù)模型輸出功率的方法估計(jì)信號(hào)功率譜,主要是針對(duì)經(jīng)典譜估計(jì)的分辨率低和方差性能不好等問題提出的,主要的參數(shù)模式是自回歸(AR)模型、移動(dòng)平均(MA)模型和自回歸/移動(dòng)平均(ARMA)模型,其中AR模型由線性方程描述,而MA和ARMA模型則由非線性方程描述。由于MA和ARMA模型均可用高階的AR模型來近似,本文使用的是AR參數(shù)模型。2聲信號(hào)的采集及傳輸2.1TMS320F2812的概述TMS320F2812是美國TI公司推出的C2000平臺(tái)上的定點(diǎn)32位DSP芯片,主頻150MHZ、處理性能可達(dá)150MIPS,每條指令周期6.67ns。TMS320F2812采用哈佛總線結(jié)構(gòu),具有統(tǒng)一的存儲(chǔ)模式,包括4M可尋址程序空間和4M可尋址數(shù)據(jù)空間。同時(shí)片內(nèi)具有128×16位的FLASH存儲(chǔ)器和18K×16位的SRAM,以及4K×16位的引導(dǎo)ROM。最大支持外擴(kuò)512K×16位的SRAM和512K×16位的FLASH。具有兩個(gè)事件管理器(EVA、EVB)以及外設(shè)中斷模塊(PIE),最大支持96個(gè)外部中斷。TMS320F2812的外部存儲(chǔ)器接口(XINTF)被映射到5個(gè)獨(dú)立的存儲(chǔ)空間[5]。圖2.1F2812功能組成框圖TMS320F28lx系列DSP的處理器的器件上集成了多種先進(jìn)的外設(shè),為電機(jī)及其他運(yùn)動(dòng)控制領(lǐng)域應(yīng)用的實(shí)現(xiàn)提供了良好的平臺(tái)。同時(shí)代碼和指令與F24x系列數(shù)字信號(hào)處理器完全兼容,從而保證了項(xiàng)目或產(chǎn)品設(shè)計(jì)的可延續(xù)性[6]。與F24x系列數(shù)字信號(hào)處理器相比,F(xiàn)2812系列數(shù)字信號(hào)處理器提高了運(yùn)算的精度(32位)和系統(tǒng)的處理能力(達(dá)到15OMIPS)。該數(shù)字信號(hào)處理器還集成了128KB的Flash存儲(chǔ)器,4KB的引導(dǎo)ROM,數(shù)學(xué)運(yùn)算表以及ZKB的OTPROM,從而大大改善了應(yīng)用的靈活性。128位的密碼保護(hù)機(jī)制有效地保護(hù)了產(chǎn)品的知識(shí)產(chǎn)權(quán)。兩個(gè)事件管理器模塊為電機(jī)及功率變換控制提供了良好的控制功能。16通道高性能12位ADC單元提供了兩個(gè)采樣保持電路,可以實(shí)現(xiàn)雙通道信號(hào)同步采樣。2.2串口傳輸模塊本設(shè)計(jì)通過TMS320F2812內(nèi)部的A/D轉(zhuǎn)換器實(shí)現(xiàn)信號(hào)的采集,理解串口通信的原理并編寫串口讀數(shù)的程序,將采樣結(jié)果通過串口上傳到計(jì)算機(jī)。數(shù)據(jù)的各位逐位按順序傳送稱為串行通信[7]。串行通信可分為異步傳送和同步傳送兩種方式。異步傳送方式方式采用每個(gè)字符按照一個(gè)獨(dú)立的整體進(jìn)行發(fā)送,字符的間隔時(shí)間可以任意變化,即每個(gè)字符作為獨(dú)立的信息單位(幀),可以隨機(jī)地出現(xiàn)在數(shù)據(jù)流中。所謂“異步”,就是指通信時(shí)兩字符之間的間隔事先不能確定,也沒有嚴(yán)格的定時(shí)要求。在異步通信中,CPU與外部之間的通信遵循以下規(guī)定:(1)字符格式。字符格式是指字符的編碼形式及規(guī)定。例如,規(guī)定每個(gè)串行字符由4個(gè)部分組成:1個(gè)起始位、5~8個(gè)數(shù)據(jù)位、1個(gè)奇偶校驗(yàn)位以及1~2個(gè)停止位。(2)傳輸速率。傳輸速率是指每秒鐘傳送的二位進(jìn)制數(shù),通常稱為波特率。國際上規(guī)定了標(biāo)準(zhǔn)波特率系列,最常用的標(biāo)準(zhǔn)波特率是:110、300、600、1200、1800、2400、4800、9600、115200、19200波特等。(3)字符速率。字符速率是指每秒鐘傳送的字符數(shù),它與波特率是兩個(gè)相關(guān)但表達(dá)的意義不相同的概念。例如,若異步通信的數(shù)據(jù)格式由1位起始位、8位數(shù)據(jù)位、1位奇偶位、2位停止位組成,波特率為9600b/s,則每秒鐘能夠最多傳送9600/(1+8+1+2)=800個(gè)字符[8]。SCI(SerialCommunicationInterface),即串行通信接口,是一個(gè)雙線的異步串口,即具有接收和發(fā)送兩根信號(hào)線的異步串口,一般可以看作是UART(通用異步接收/發(fā)送裝置)。SCI發(fā)送數(shù)據(jù)的速度是由波特率來決定的。TMS320F2812的每個(gè)SCI都具有兩個(gè)8位的波特率寄存器,SCIHBAUD和SCILBAUD,通過編程,可以實(shí)現(xiàn)達(dá)到64K不同的速率。在進(jìn)行通信的時(shí)候,雙方都必須以相同的數(shù)據(jù)格式和波特率進(jìn)行通信,否則通信會(huì)失敗[9]。TMS320F2812和PC機(jī)上的串口調(diào)試軟件進(jìn)行通信時(shí),TMS320F2812采用了什么樣的數(shù)據(jù)格式和波特率,那么串口調(diào)試軟件也需要設(shè)定成相同的數(shù)據(jù)格式和波特率,反之也一樣。TMS320F2812的SCI模塊支持CPU與采用NRZ(non-return-to-zero不歸零)標(biāo)準(zhǔn)格式的異步外圍設(shè)備之間進(jìn)行數(shù)字通信。設(shè)計(jì)時(shí)我們的SCI使用的是RS232串行接口,TMS320F2812就能和其他使用RS232接口的設(shè)備進(jìn)行通信。TMS320F2812內(nèi)部的兩個(gè)SCI之間,或者TMS320F2812的SCI和其他DSP的SCI之間均能實(shí)現(xiàn)通信。TMS320F2812內(nèi)部具有兩個(gè)相同的SCI模塊,SCIA和SCIB,每一個(gè)SCI模塊都各有一個(gè)接收器和發(fā)送器。SCI的接收器和發(fā)送器各具有一個(gè)16級(jí)深度的FIFO(Firstinfistout先入先出)隊(duì)列,它們還都有自己獨(dú)立的使能位和中斷位,可以在半雙工通信中進(jìn)行獨(dú)立的操作,或者在全雙工通信中同時(shí)進(jìn)行操作[10]。根據(jù)信息的傳送方向,串行通信可以分為單工、半雙工和全雙工三種[9]。如果在通信過程的任意時(shí)刻,信息只能由一方A傳到另一方B,則稱為單工。如果在任意時(shí)刻,信息即可由A傳到B,又能由B傳到A,但只能由一個(gè)方向上的傳輸存在,稱為半雙工傳輸。如果在任意時(shí)刻,線路上存在A到B和B到A的雙信號(hào)傳輸,則稱為全雙工。本次設(shè)計(jì)采用的波特率是115200bps,無校驗(yàn),8個(gè)數(shù)據(jù)位,1個(gè)停止位。圖2.4顯示了串口調(diào)試的界面。圖2.4串口調(diào)試窗口3譜分析在MATLAB中的實(shí)現(xiàn)在本次設(shè)計(jì)中要求對(duì)從串口接收的數(shù)據(jù)進(jìn)行譜分析,由于MATLAB軟件相對(duì)其他軟件具有語言簡(jiǎn)潔緊湊,庫函數(shù)豐富,運(yùn)算符豐富,功能強(qiáng)勁等優(yōu)點(diǎn),所以本設(shè)計(jì)選擇MATLAB軟件進(jìn)行譜分析。3.1MATLAB軟件簡(jiǎn)介MATLAB的名稱來源自MatrixLaboratory,它是一種科學(xué)計(jì)算軟件,專門以矩陣的形式處理數(shù)據(jù)。MATLAB將高性能的數(shù)值計(jì)算和可視化集成在一起,并提供了大量的內(nèi)置函數(shù),從而被廣泛應(yīng)用于科學(xué)計(jì)算、控件系統(tǒng)、信息處理等領(lǐng)域的分析、仿真和設(shè)計(jì)工作,而且利用MATLAB產(chǎn)品的開放式結(jié)構(gòu),可以非常容易地對(duì)MATLAB的功能進(jìn)行擴(kuò)充,從而在不斷深化對(duì)問題認(rèn)識(shí)的同時(shí),不斷完善MATLAB產(chǎn)品以提高產(chǎn)品自身的競(jìng)爭(zhēng)能力[10]。MATLAB語言是一種基于C語言內(nèi)核的工程計(jì)算語言,集數(shù)值分析、矩陣運(yùn)算、信號(hào)處理和圖形顯示于一體,構(gòu)成了一個(gè)使用方便、界面友好的用戶環(huán)境。其優(yōu)點(diǎn)是:可擴(kuò)展性強(qiáng),允許用戶自行建立指定功能的M文件、開發(fā)自己的工具箱或利用現(xiàn)有的數(shù)百種商用Toolbox,易學(xué)易用[11]。3.2譜分析的幾種算法信號(hào)的頻譜分析是研究信號(hào)特性的重要手段之一,對(duì)于聲信號(hào),由于它一般是非平穩(wěn)隨機(jī)信號(hào),通常是求其功率譜來進(jìn)行頻譜分析。功率譜估計(jì)(PSD)是用有限長的數(shù)據(jù)來估計(jì)信號(hào)的功率譜,它對(duì)于認(rèn)識(shí)一個(gè)隨機(jī)信號(hào)或其他應(yīng)用方面來講都是非常重要的,是數(shù)字信號(hào)處理的重要研究內(nèi)容之一。功率譜估計(jì)分為經(jīng)典譜估計(jì)和現(xiàn)代譜估計(jì)。經(jīng)典譜估計(jì)是將數(shù)據(jù)工作區(qū)外的未知數(shù)據(jù)假設(shè)為零,相當(dāng)于數(shù)據(jù)加窗,主要方法有直接法和間接法;現(xiàn)代譜估計(jì)是通過觀測(cè)數(shù)據(jù)估計(jì)參數(shù)模型再按照求參數(shù)模型輸出功率的方法估計(jì)信號(hào)功率譜,主要是針對(duì)經(jīng)典譜估計(jì)的分辨率低和方差性能不好等問題提出的,應(yīng)用最廣的是AR參數(shù)模型[12]。本章將分別介紹經(jīng)典功率譜估計(jì)中的直接法、間接法、改進(jìn)算法和現(xiàn)代功率譜估計(jì)中的基于AR模型的幾種相關(guān)算法。3.2.1經(jīng)典功率譜估計(jì)的幾種典型算法經(jīng)典譜估計(jì)具有物理概念明確、算法簡(jiǎn)單的特點(diǎn),是目前經(jīng)常使用的譜估計(jì)方法。在經(jīng)典譜估計(jì)中,主要方法有周期圖法、間接法,和直接法的改進(jìn)算法Bartlett法及Welch法。(1)周期圖法周期圖法又稱直接法,利用該方法得到的隨機(jī)信號(hào)y(n)的功率譜是直接由傅立葉變換得到的。傅立葉級(jí)數(shù)是對(duì)周期信號(hào)求解頻域特性,傅立葉變換則是對(duì)非周期信號(hào)求解其頻域信息。一個(gè)周期信號(hào)的傅立葉級(jí)數(shù)的實(shí)質(zhì)是:把所要研究時(shí)域的周期波形分解成許多不同頻率的正弦波的疊加和。傅立葉變換可以看作是時(shí)間函數(shù)在頻率域上的表示。由傅立葉變換給出的頻率域包含的信息和原函數(shù)時(shí)間域內(nèi)包含的完全相同,不同的僅是信息的表示形式。由于計(jì)算機(jī)的離散性,對(duì)一個(gè)時(shí)間連續(xù)信號(hào)進(jìn)行分析要在遵守抽樣定理的前提下,進(jìn)行抽樣。同樣,對(duì)一個(gè)時(shí)域信號(hào)進(jìn)行分析時(shí),也要在頻域呈離散性,離散傅立葉變換應(yīng)運(yùn)而生。綜上所述:周期圖法是把隨機(jī)序列y(n)的N個(gè)觀測(cè)數(shù)據(jù)視為一個(gè)能量有限的序列,直接計(jì)算y(n)的離散傅立葉變換得Y(k),然后再取其幅值的平方,并除以N,作為序列y(n)真實(shí)功率譜的估計(jì)。以下是利用直接法進(jìn)行功率譜估計(jì)的MATLAB代碼:clear;
fs=1000;%采樣頻率
n=0:1/Fs:1;%產(chǎn)生含有噪聲的序列
xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n));
window=boxcar(length(xn));%矩形窗
nfft=1024;
[Pxx,f]=periodogram(xn,window,nfft,Fs);%直接法
plot(f,10*log10(Pxx));下面利用直接法對(duì)其信號(hào)進(jìn)行分析,圖3.1為原始仿真信號(hào),圖3.2為直接法求得的功率譜圖:圖3.1原始仿真信號(hào)圖3.2利用直接法求得的功率譜圖這種將周期圖作為功率譜估計(jì)的一個(gè)主要缺點(diǎn)就是頻率分辨率低,這是由于周期圖在計(jì)算中把觀察到的有限長的N個(gè)數(shù)據(jù)以外的數(shù)據(jù)認(rèn)為是零。該方法的優(yōu)點(diǎn)是計(jì)算效率高。在實(shí)際的快速傅立葉變換算法的使用中還需要注意數(shù)據(jù)截?cái)鄮淼淖V泄漏問題以及頻率離散帶來的柵欄效應(yīng)。(2)間接法間接法先由序列x(n)估計(jì)出自相關(guān)函數(shù)R(n),然后對(duì)R(n)進(jìn)行傅立葉變換,便得到x(n)的功率譜估計(jì)。以下是利用間接法進(jìn)行功率譜的估計(jì)的MATLAB代碼:
clear;
fs=1000;%采樣頻率
n=0:1/Fs:1;%產(chǎn)生含有噪聲的序列
xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n));
nfft=1024;
cxn=xcorr(xn,'unbiased');%計(jì)算序列的自相關(guān)函數(shù)
CXk=fft(cxn,nfft);
Pxx=abs(CXk);
index=0:round(nfft/2-1);
k=index*Fs/nfft;
plot_Pxx=10*log10(Pxx(index+1));plot(k,plot_Pxx);下面利用間接法對(duì)其信號(hào)進(jìn)行分析,圖3.3為原始仿真信號(hào),圖3.4為間接法求得的功率譜圖:圖3.3原始仿真信號(hào)圖3.4利用間接法求得的功率譜圖(3)改進(jìn)的直接法對(duì)于直接法的功率譜估計(jì),當(dāng)數(shù)據(jù)長度N太大時(shí),譜曲線起伏加劇,若N太小,譜的分辨率又不好,因此需要改進(jìn)。而改進(jìn)的直接法主要有Bartlett算法和Welch算法[13]。
1)Bartlett平均周期圖法Bartlett平均周期圖法的基本思想很簡(jiǎn)單,即將具有N個(gè)觀測(cè)點(diǎn)的可用樣本分成L=N/M個(gè)子樣本,每個(gè)子樣本有M個(gè)觀測(cè)點(diǎn),然后在每個(gè)w值上對(duì)所有子樣本的周期圖進(jìn)行平均,一次來減小周期圖中較大的波動(dòng)[7]。它的數(shù)學(xué)描述如下,設(shè):,t=1,…,M j=1,…,L(式3.1)表示第j個(gè)子樣本的觀測(cè)值,并設(shè) (式3.2)表示相應(yīng)的周期圖。則Bartlett方法為 (式3.3)Bartlett方法是對(duì)長度為M的分段數(shù)據(jù)進(jìn)行計(jì)算,其分辨率大約為1/M??梢姡c原始的周期圖方法相比,Bartlett方法的分辨率下降了L倍??梢宰C明Bartlett方法的方差減小了L倍。選擇M(或L)時(shí)可以根據(jù)經(jīng)驗(yàn)對(duì)分辨率和方差進(jìn)行折中。以下是利用Bartlett進(jìn)行功率譜的估計(jì)的MATLAB代碼:Fs=1000;
n=0:1/Fs:1;
xn=cos(2*pi*40*n)+3*cos(2*pi*100*n)+randn(size(n));
nfft=1024;
window=boxcar(length(n));%矩形窗
noverlap=0;%數(shù)據(jù)無重疊
p=0.9;%置信概率
[Pxx,Pxxc]=psd(xn,nfft,Fs,window,noverlap,p);
index=0:round(nfft/2-1);
k=index*Fs/nfft;
plot_Pxx=10*log10(Pxx(index+1));
plot_Pxxc=10*log10(Pxxc(index+1));
figure(1)
plot(k,plot_Pxx);
pause;
figure(2)
plot(k,[plot_Pxxplot_Pxx-plot_Pxxcplot_Pxx+plot_Pxxc]);下面利用Bartlett對(duì)其信號(hào)進(jìn)行分析,圖3.5為原始仿真信號(hào),圖3.6為Bartlett求得的功率譜圖:圖3.5原始仿真信號(hào)圖3.6利用Bartlett法求得的一信號(hào)的功率譜圖基于上述討論有下面的結(jié)論:Bartlett與基本周期圖相比,它的分辨率降低了,方差也下降了。2)Welch平滑平均周期圖法目前在工程實(shí)際中,經(jīng)典譜估計(jì)獲得廣泛應(yīng)用的是1967年由Welch提出的修正周期圖法[14]。該方法綜合了Bartlett改進(jìn)周期圖法的優(yōu)點(diǎn),是通過先對(duì)數(shù)據(jù)分段加窗處理,然后再求平均的方法進(jìn)行的。Welch法對(duì)Bartlett法進(jìn)行了兩方面的修正,一是選擇適當(dāng)?shù)拇昂瘮?shù)w(n),并在周期圖計(jì)算前直接加進(jìn)去。二是在分段時(shí),可使各段之間有重疊,這樣會(huì)使方差減小[15]。為了用數(shù)學(xué)形式描述welch方法[8],可以先假設(shè):,t=1,...,Mj=1,...,S(式3.4)式(3.4)表示第j個(gè)數(shù)據(jù)段,其中的是第j個(gè)觀測(cè)序列的起始點(diǎn)。如果K=M,則序列不重疊(但是相鄰連接的),可以采用Bartlett方法對(duì)樣本分段(即產(chǎn)生S=L=N/M個(gè)數(shù)據(jù)子樣本)。但是Welch方法中建議K值選為M/2,此時(shí),有個(gè)數(shù)據(jù)段(在連續(xù)子段之間有50%的重疊)。以下是利用Welch法進(jìn)行功率譜的估計(jì)的MATLAB代碼:Fs=1000;n=0:1/Fs:1;yn=cos(2*pi*40*n)+3*cos(2*pi*90*n)+randn(size(n));nfft=1024;window=boxcar(100);%矩形窗window1=hamming(100);%海明窗window2=blackman(100);%blackman窗noverlap=20;%數(shù)據(jù)無重疊range='half';%頻率間隔為[0Fs/2],計(jì)算一半的頻率[Pxx,f]=pwelch(yn,window,noverlap,nfft,Fs,range);[Pxx1,f]=pwelch(yn,window1,noverlap,nfft,Fs,range);[Pxx2,f]=pwelch(yn,window2,noverlap,nfft,Fs,range);plot_Pxx=10*log10(Pxx);plot_Pxx1=10*log10(Pxx1);plot_Pxx2=10*log10(Pxx2);subplot(311);plot(f,plot_Pxx);title('矩形窗');subplot(312);plot(f,plot_Pxx1);title('海明窗');subplot(313);plot(f,plot_Pxx2);title('blackman窗');下面利用Welch對(duì)其信號(hào)進(jìn)行分析,圖3.7為原始仿真信號(hào),圖3.8為Welch得的功率譜圖:圖3.7原始仿真信號(hào)圖3.8利用Welch法不同加窗函數(shù)的頻譜分析結(jié)果通過仿真結(jié)果,很容易解釋W(xué)elch方法對(duì)Bartlett方法改進(jìn)的原因,因?yàn)橄M档捅还烙?jì)的功率譜的方差,所以在數(shù)據(jù)分段時(shí)允許數(shù)據(jù)之間有重疊,這樣,就增加了(式3.4)式中被平均的周期圖數(shù)。同時(shí),因?yàn)橄M軌蚋玫乜刂票还烙?jì)的功率譜的偏差/分辨率特性,所以在計(jì)算周期圖時(shí)引入了時(shí)間窗。另外,時(shí)間窗對(duì)每一個(gè)子樣本序列末端數(shù)據(jù)的加權(quán)較小,所以即使相鄰子樣本序列之間有重疊,彼此之間的相關(guān)性也較小。這種“去相關(guān)”的主要作用是通過式(式3.4)的平均運(yùn)算完成的。在經(jīng)典譜估計(jì)中,無論是周期圖法還是其改進(jìn)的方法,都存在著頻率分辨率低、方差性能不好的問題,原因是進(jìn)行頻譜估計(jì)時(shí)需要對(duì)數(shù)據(jù)加窗截?cái)啵糜邢迋€(gè)數(shù)據(jù)或其自相關(guān)函數(shù)來估計(jì)無限個(gè)數(shù)據(jù)的功率譜,這其實(shí)是假定了窗以外的數(shù)據(jù)或自相關(guān)函數(shù)全為零,這種假定是不符合實(shí)際的,正是由于這些不符合實(shí)際的假設(shè)造成了經(jīng)典譜估計(jì)分辨率較差[15]。另外,經(jīng)典譜估計(jì)的功率譜定義中既無求均值運(yùn)算又無求極限運(yùn)算,因而使得譜估計(jì)的方差性能較差,當(dāng)數(shù)據(jù)很短時(shí),這個(gè)問題更為突出,所以大家又熱衷于模型參數(shù)估計(jì)法的研究。3.2.2現(xiàn)代功率譜估計(jì)分析方法用模型法進(jìn)行譜估計(jì)的方法稱為現(xiàn)代功率譜估計(jì)方法,它主要是針對(duì)經(jīng)典譜估計(jì)的分辨率低和方差性能不好的問題而提出的,它不是直接地進(jìn)行功率譜的計(jì)算,而是假設(shè)隨機(jī)信號(hào)服從一個(gè)模型,通過模型參數(shù)得到信號(hào)的功率譜?,F(xiàn)代功率譜估計(jì)的內(nèi)容極其豐富,涉及的學(xué)科和領(lǐng)域也相當(dāng)廣泛,大致可分為參數(shù)模型估計(jì)和非參數(shù)模型估計(jì)兩大類,前者有AR模型、MA模型、ARMA模型、PRONY指數(shù)模型等;后者有最小方差方法、多分量的MUSIC方法等。本小節(jié)針對(duì)AR模型參數(shù)的幾種典型求解算法原理進(jìn)行簡(jiǎn)單介紹[17]。AR模型的物理意義是認(rèn)為序列y(n)是白噪聲作用于線性時(shí)不變系統(tǒng)時(shí)的系統(tǒng)響應(yīng)。假設(shè)一個(gè)隨機(jī)過程可以由AR(p)模型刻畫[18],即 (式3.5)式中:u(n)、x(n)為實(shí)平穩(wěn)的隨機(jī)信號(hào);u(n)為白噪聲;R為方差。經(jīng)過推導(dǎo),可得:=+(式3.6)式中:為的自相關(guān)函數(shù)。上式是AR模型的正則方程Yule-Walke。解Yule-Walke方程是一個(gè)復(fù)雜的矩陣求逆數(shù)學(xué)問題,當(dāng)N大時(shí)運(yùn)算量會(huì)很大。因此就有了各種簡(jiǎn)便的算法,如Levinson-Durbin遞推算法、協(xié)方差算法、Burg遞推算法、自相關(guān)算法等[19]。(1)AR模型譜估計(jì)的協(xié)方差算法協(xié)方差即數(shù)據(jù)矩陣的協(xié)方差方法。觀察數(shù)據(jù)窗[0,N-1],為了不對(duì)觀察數(shù)據(jù)窗之外的數(shù)據(jù)任何假設(shè),將這組數(shù)據(jù)分成初始數(shù)據(jù)并記為,其它數(shù)據(jù)記為。計(jì)算協(xié)方差算法可以分為三步:第一,確定模型階p,由觀察數(shù)據(jù)共軛轉(zhuǎn)置構(gòu)成數(shù)據(jù)矩陣;第二,對(duì)進(jìn)行特征分解,得到W個(gè)不為零的特征值和部分特征矩陣;第三,將估計(jì)參數(shù)帶入功率譜密度公式(式3.7)。 (式3.7)以下是利用改進(jìn)協(xié)方差算法進(jìn)行功率譜的估計(jì)的MATLAB代碼:fs=1000;%取樣頻率n=0:1/fs:1;xn=4.1*cos(2*pi*300*n)+3.8*cos(2*pi*305*n)+0.5*randn(size(n));nfft=1024;%FFT的長度subplot(411);plot(n,xn);title('仿真信號(hào)x(n)')[px3,f3]=pmcov(xn,30,nfft,fs);subplot(412);plot(f3,px3);title('改進(jìn)協(xié)方差算法功率譜估計(jì)')下面利用改進(jìn)協(xié)方差算法對(duì)其信號(hào)進(jìn)行分析,圖3.9為原始仿真信號(hào)和改進(jìn)協(xié)方差算法求得的功率譜圖:圖3.9原始仿真信號(hào)和改進(jìn)協(xié)方差算法功率譜圖(2)AR模型譜估計(jì)的自相關(guān)算法與協(xié)方差算法不同,由觀測(cè)數(shù)據(jù)對(duì)信號(hào)在盡可能多的時(shí)刻進(jìn)行預(yù)測(cè),產(chǎn)生盡可能多的預(yù)測(cè)誤差,是自相關(guān)算法[20]。計(jì)算協(xié)方差算法:第一,利用觀測(cè)數(shù)據(jù),得到預(yù)測(cè)的最大時(shí)間范圍是[0,N+P-1];第二,用觀測(cè)數(shù)據(jù)以外的數(shù)據(jù),令,則(式3.8)計(jì)算該范圍的預(yù)測(cè)誤差和;第三,由得到自相關(guān)矩陣,即Yule-walker方程,利用levinson遞歸求解Yule-walker方程得到AR模型的參數(shù)等效于前向預(yù)測(cè)器的系數(shù)。以下是利用自相關(guān)法進(jìn)行功率譜的估計(jì)的MATLAB代碼:fs=1000;%取樣頻率n=0:1/fs:1;xn=4.1*cos(2*pi*300*n)+3.8*cos(2*pi*305*n)+0.5*randn(size(n));nfft=2048;%FFT的長度subplot(411);plot(n,xn);title('仿真信號(hào)x(n)')[px1,f1]=pyulear(xn,30,nfft,fs);subplot(413);plot(f1,px1);title('自相關(guān)法功率譜估計(jì)')下面利用自相關(guān)算法對(duì)其信號(hào)進(jìn)行分析,圖3.10為原始仿真信號(hào)和自相關(guān)算法求得的功率譜圖:圖3.10原始仿真信號(hào)和自相關(guān)算法功率譜圖(3)AR模型譜估計(jì)的Burg算法在現(xiàn)代功率譜估計(jì)的歷史中,Burg提出的最大熵方法產(chǎn)生了很大的影響,刺激了現(xiàn)代譜估計(jì)方法的發(fā)展。Burg算法進(jìn)行功率譜估計(jì)時(shí)是令前后向預(yù)測(cè)誤差功率之和最小,即對(duì),前后都不加窗,使用Levinson-Durbin遞推可快速的求解AR系數(shù)。Burg算法是建立在數(shù)據(jù)基礎(chǔ)之上的,避免了先計(jì)算自相關(guān)函數(shù),從而提高計(jì)算速度,計(jì)算不太復(fù)雜,且分辨率優(yōu)于自相關(guān)法,是較為通用的方法。以下是利用Burg法進(jìn)行功率譜的估計(jì)的MATLAB代碼:fs=1000;%取樣頻率n=0:1/fs:1;xn=4.1*cos(2*pi*300*n)+3.8*cos(2*pi*305*n)+0.5*randn(size(n));nfft=2048;%FFT的長度subplot(411);plot(n,xn);title('仿真信號(hào)x(n)')[px2,f2]=pburg(xn,30,nfft,fs);subplot(414);plot(f2,px2);title('Burg算法功率譜估計(jì)')下面利用Burg算法對(duì)其信號(hào)進(jìn)行分析,圖3.11為原始仿真信號(hào)和Burg算法求得的功率譜圖:圖3.11原始信號(hào)和Burg算法功率譜圖仿真結(jié)果直觀地說明了自相關(guān)算法、Burg算法和改進(jìn)協(xié)方差算法各自的優(yōu)缺點(diǎn)。對(duì)相隔僅有5HZ的2個(gè)混合信號(hào)進(jìn)行譜估計(jì)時(shí),自相關(guān)法不容易看出其頻率成份,而Burg算法和改進(jìn)協(xié)方差算法提高了參數(shù)估計(jì)的精度和頻率分辨率。參數(shù)模型譜估計(jì)方法是現(xiàn)代譜估計(jì)的重要內(nèi)容,AR模型譜估計(jì)隱含著數(shù)據(jù)和自相關(guān)函數(shù)的外推,其長度可能超過給定的長度,分辨率不受信源信號(hào)長度的限制,這是經(jīng)典譜估計(jì)無法做到的。在AR模型自相關(guān)算法中由于對(duì)ef(n)前后都加窗,使得自相關(guān)法的分辨率降低,數(shù)據(jù)越短分辨率越差。3.3用戶界面的設(shè)計(jì)圖形用戶界面是指由窗口、菜單、對(duì)話框等各種元素組成的用戶界面。在這種用戶界面中,用戶的操作既形象生動(dòng),又方便靈活,所以當(dāng)今絕大部分開發(fā)環(huán)境與應(yīng)用程序都采用圖形用戶界面,許多流行的開發(fā)工具也都可以進(jìn)行圖形用戶界面的設(shè)計(jì)。MATLAB作為功能強(qiáng)大的科學(xué)計(jì)算軟件,同樣也提供了一套可視化的創(chuàng)建圖形窗口的工具,本設(shè)計(jì)利用MATLAB所提供的圖像用戶界面(GUI),實(shí)現(xiàn)一個(gè)可視的面向?qū)ο蟮牟僮鹘缑鎇21]。3.31窗口界面的實(shí)現(xiàn)過程該系統(tǒng)界面的設(shè)計(jì)主要是利用MATLAB所提供的GUI(GraphUserInterface)向?qū)гO(shè)計(jì)控件而完成的,該向?qū)Э梢詫?shí)現(xiàn)多種控件的設(shè)計(jì),給用戶提供了一種友好的交互方式,同時(shí)也給操作帶來很多方便。圖形用戶界面GUI是包含圖形對(duì)象(如圖形窗口、菜單、控件、文本)的用戶界面,用戶以某種方式選擇或者激活這些對(duì)象會(huì)發(fā)生變化或引起動(dòng)作。(1)啟動(dòng)GUI的方法啟動(dòng)圖形用戶界面的方法有很多種,例如可以利用工具欄上的命令按鈕,也可以采用菜單和命令的方式。在本人設(shè)計(jì)的案例中采用的是命令方式:在命令窗口直接輸入guide命令,彈出的窗口如圖3.12所示:圖3.12為啟動(dòng)GUI界面彈出的窗口在彈出的guidequickstart窗口中選擇createnewgui選項(xiàng)卡里面地BlankGUI選項(xiàng),這樣就可以進(jìn)入圖形用戶界面來設(shè)計(jì)我們的系統(tǒng)靜態(tài)界面,如下圖3.13所示:圖3.13為系統(tǒng)靜態(tài)界面上圖就是Guide提供的圖形界面設(shè)計(jì)工具集,在此界面下就可以利用控件組件、文本菜單、排列工具等對(duì)系統(tǒng)的界面進(jìn)行設(shè)計(jì)。當(dāng)靜態(tài)界面設(shè)計(jì)完成以后,對(duì)該界面進(jìn)行保存,此時(shí)Guidie將自動(dòng)生成兩個(gè)發(fā)布文件,分布是.fig文件和.m文件。Fig文件:該文件包括圖形窗口及其所有后裔的完全描述,包括所有對(duì)象的屬性值。Fig文件是一個(gè)二進(jìn)制文件,調(diào)用hgsave命令或界面設(shè)計(jì)編輯器的file菜單save選項(xiàng)保存圖像窗口時(shí)將產(chǎn)生該文件。Fig文件最有用的地方之一就是對(duì)象句柄的保存和引用,可以使用open、openfig和hgload命令打開一個(gè)后綴為.fig的文件。M文件:該文件包括GUI設(shè)計(jì)、控制函數(shù)以及為子函數(shù)的用戶控件回調(diào)函數(shù),主要用于控制GUI展開時(shí)的各種特征。這個(gè)M文件可以分為GUI初始化和回調(diào)函數(shù)兩個(gè)部分,用戶控件的回調(diào)函數(shù)根據(jù)用戶與GUI的具體交互方式分別調(diào)用。3.32用戶界面本設(shè)計(jì)中用戶界面,大體分為信號(hào)輸入模塊,原始信號(hào)顯示模塊,頻譜分析模塊,經(jīng)典譜分析模塊和現(xiàn)代譜分析模塊四部分。經(jīng)典譜分析模塊包含直接法、間接法、Welch法和Bartlett法四個(gè)小模塊。現(xiàn)代譜分析模塊則包括Burg法和自相關(guān)法兩個(gè)小模塊。根據(jù)不同的信號(hào)來源,界面主要采用兩種不同輸入方式。一種信號(hào)來源是由串口實(shí)時(shí)采集到的信號(hào),把該信號(hào)作為一種輸入方式。然后點(diǎn)擊打開串口,串口開始讀取數(shù)據(jù)同時(shí)把數(shù)據(jù)保存在D盤下的一個(gè)文件中。接著關(guān)閉串口,點(diǎn)擊打開按鈕,即可讀回由串口實(shí)時(shí)采集到的聲信號(hào)數(shù)據(jù)。打開文件的同時(shí)首先在坐標(biāo)軸中會(huì)顯示原始信號(hào)波形。其次點(diǎn)擊頻譜分析按鈕,坐標(biāo)軸會(huì)顯示信號(hào)的幅度譜。最后就是功率譜分析部分,用到了八種方法,分別是經(jīng)典功率譜估計(jì)中的直接法、間接法、welch法、barlett法,以及現(xiàn)代功率譜估計(jì)中AR模型法的Burg算法和自相關(guān)算法。圖3.14為輸入信號(hào)為串口接收的數(shù)據(jù)的界面。另一種信號(hào)來源是打開mat文件中已存的兩個(gè)不同頻率疊加的聲音信號(hào),把該信號(hào)作為一種輸入方式。然后點(diǎn)打開按鈕,在打開文件名的同時(shí)首先會(huì)在坐標(biāo)軸中顯示原始信號(hào)波形。其他的操作如上第一種方式。圖3.15為輸入信號(hào)為mat文件中已存的信號(hào)。圖3.14輸入信號(hào)為串口接收的數(shù)據(jù)界面圖3.15輸入信號(hào)為mat文件已存的數(shù)據(jù)通過實(shí)驗(yàn)仿真可以直觀地看出以下特性:(1)經(jīng)典功率譜估計(jì)中的周期圖法所得到的結(jié)果特點(diǎn)是離散性大,曲線粗糙,方差較大,但是分辨率較高。(2)Bartlett平均周期圖法和Welch平滑平均周期圖法的收斂性較好,曲線平滑,估計(jì)的結(jié)果方差較小,但是功率譜主瓣較寬,分辨率低。這是由于對(duì)隨機(jī)序列的分段處理引起了長度有限所帶來的Gibbs現(xiàn)象而造成的。(3)與Bartlett法相比,Welch法的估計(jì)曲線比較粗糙,但是分辨率較好,原因是Welch法中對(duì)數(shù)據(jù)進(jìn)行截?cái)鄷r(shí)加的是Hanning窗,而在Bartlett法中使用的是矩形窗,相對(duì)于矩形窗,窗的主瓣包含更多的能量,因而使功率譜的主瓣較窄,分辨率較高。經(jīng)典功率譜估計(jì)的分辨率反比于有效信號(hào)的長度,但現(xiàn)代譜估計(jì)的分辨率可以不受此限制。這是因?yàn)閷?duì)于給定的N點(diǎn)有限長序列x(n),雖然其估計(jì)出的自相關(guān)函數(shù)也是有限長的,但是現(xiàn)代譜估計(jì)的一些隱含著數(shù)據(jù)和自相關(guān)函數(shù)的外推,使其可能的長度超過給定的長度,不象經(jīng)典譜估計(jì)那樣受窗函數(shù)的影響。因而現(xiàn)代譜的分辨率比較高,而且現(xiàn)代譜線要平滑得多,從實(shí)驗(yàn)仿真圖可以清楚看出[22]。4總結(jié)本設(shè)計(jì)首先通過傳感器采集目標(biāo)聲信號(hào),聲信號(hào)進(jìn)入DSP芯片TMS320F2812內(nèi)部的AD轉(zhuǎn)換器實(shí)現(xiàn)模數(shù)轉(zhuǎn)換,之后數(shù)據(jù)通過串口實(shí)時(shí)上傳至計(jì)算機(jī)運(yùn)用Matlab軟件進(jìn)行頻譜和功率譜分析。主要是對(duì)于信號(hào)的頻率分析算法進(jìn)行研究,所謂的頻率分析即是在頻域范圍內(nèi)研究信號(hào)的特征,通常用求信號(hào)的功率譜來研究信號(hào)的頻率特性。首先是介紹經(jīng)典功率譜估計(jì)和現(xiàn)代功率譜估計(jì)幾種常見的頻譜分析算法的原理,并在Matlab軟件上利用用戶界面對(duì)采集的原始聲信號(hào)數(shù)據(jù)進(jìn)行頻譜分析,則直觀的對(duì)比出每種算法各自的優(yōu)缺點(diǎn)。而有待改進(jìn)的地方是在MATLAB環(huán)境下如何采用更多的算法進(jìn)行頻譜分析,如何編寫更美觀實(shí)用的界面,也可以進(jìn)一步研究如何提高頻譜分析的分辨率,降低估計(jì)方差等。附錄A基于MATLAB用戶界面的譜分析的程序functionvarargout=untitledzuizhong(varargin)gui_Singleton=1;gui_State=struct('gui_Name',mfilename,...'gui_Singleton',gui_Singleton,...'gui_OpeningFcn',@bishe_OpeningFcn,...'gui_OutputFcn',@bishe_OutputFcn,...'gui_LayoutFcn',[],...'gui_Callback',[]);ifnargin&&ischar(varargin{1})gui_State.gui_Callback=str2func(varargin{1});endifnargout[varargout{1:nargout}]=gui_mainfcn(gui_State,varargin{:});elsegui_mainfcn(gui_State,varargin{:});endfunctionbishe_OpeningFcn(hObject,eventdata,handles,varargin)handles.output=hObject;guidata(hObject,handles);functionvarargout=untitledzuizhong_OutputFcn(hObject,eventdata,handles)varargout{1}=handles.output;functiontxtfile_Callback(hObject,eventdata,handles)%打開txt文件,單擊單選按鈕,相應(yīng)參數(shù)設(shè)置部分可用if~get(handles.txtfile,'value')set(handles.filename_01,'enable','off');set(handles.open_txt,'enable','off');elseset(handles.filename_01,'enable','on');set(handles.open_txt,'enable','on');set(handles.wavefile,'value',0);set(handles.filename_02,'enable','off');set(handles.open_wave,'enable','off');endfunctionwavefile_Callback(hObject,eventdata,handles)%打開wav文件,單擊單選按鈕,相應(yīng)參數(shù)設(shè)置部分可用if~get(handles.wavefile,'value')set(handles.filename_02,'enable','off');set(handles.open_wave,'enable','off');elseset(handles.filename_02,'enable','on');set(handles.open_wave,'enable','on');set(handles.txtfile,'value',0);set(handles.filename_01,'enable','off');set(handles.open_txt,'enable','off');endfunctionopen_wave_Callback(hObject,eventdata,handles)[filename,filepath]=uigetfile('.wav','Openwavfile');[y,fs,nbits]=wavread([filepath,filename]);set(handles.filename_02,'string',filename);handles.y=y;handles.fs=fs;plot(handles.axes1,handles.y);guidata(hObject,handles);functionfilename_02_Callback(hObject,eventdata,handles)functionfilename_02_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctionpinpu_Callback(hObject,eventdata,handles)%進(jìn)行FFT變換并做頻譜圖Y=fft(handles.y);%進(jìn)行fft變換mag=abs(Y);%求幅值f=(0:length(Y)-1)'*handles.fs/length(Y);%進(jìn)行對(duì)應(yīng)的頻率轉(zhuǎn)換plot(handles.xianshi2,f,fuzhi);%做幅值譜圖functionzhijie_Callback(hObject,eventdata,handles)functionradiobutton3_Callback(hObject,eventdata,handles)functionradiobutton4_Callback(hObject,eventdata,handles)functionpushbutton4_Callback(hObject,eventdata,handles)Fs=22050;window=boxcar(length(handles.y));%矩形窗nfft=1024;[Pxx,f]=periodogram(handles.y,window,nfft,Fs);%直接法plot(handles.xianshi4,f,10*log10(Pxx));functionjianjie_Callback(hObject,eventdata,handles)Fs=1000;nfft=1024;cxn=xcorr(handles.y,'unbiased');CXK=fft(cxn,nfft);Pxx=abs(CXK);index=0:round(nfft/2-1);k=index*Fs/nfft;plot_Pxx=10*log10(Pxx(index+1));plot(handles.xianshi10,k,plot_Pxx);functionwelch_Callback(hObject,eventdata,handles)Fs=22050;nfft=1024;window=boxcar(100);%矩形窗noverlap=20;%數(shù)據(jù)無重疊range='half';%頻率間隔為[0Fs/2],只計(jì)算一半的頻率[Pxx,f]=pwelch(handles.y,window,noverlap,nfft,Fs,range);plot_Pxx=10*log10(Pxx);plot(handles.xianshi5,f,plot_Pxx);functionbartlett_Callback(hObject,eventdata,handles)Fs=22050;nfft=1024;window=boxcar(100);%矩形窗noverlap=0;%數(shù)據(jù)無重疊p=0.9;%置信概率[Pxx,Pxxc]=psd(handles.y,nfft,Fs,window,noverlap,p);index=0:round(nfft/2-1);k=index*Fs/nfft;plot_Pxx=10*log10(Pxx(index+1));plot(handles.xinashi7,k,plot_Pxx);functionAR_Callback(hObject,eventdata,handles)fs=1000;nfft=2048;[px1,f1]=pburg(handles.y,50,nfft,fs);plot(handles.xianshi8,f1,px1);functionzixinagguan_Callback(hObject,eventdata,handles)fs=1000;nfft=2048;[px2,f2]=pyulear(handles.y,30,nfft,fs);plot(handles.xianshi11,f2,px2);functionopen_txt_Callback(hObject,eventdata,handles)filepath=get(handles.filename_01,'string')fid=fopen(filepath,'rt');[a,count]=fscanf(fid,'%X',inf);fori=1:count/2-2b(i)=a(2*i-1)*256+a(2*i);endhandles.y=b;handles.fs=2000;plot(handles.axes1,b);guidata(hObject,handles);functionfilename_01_Callback(hObject,eventdata,handles)functionfilename_01_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctionxianshi_Callback(hObject,eventdata,handles)functionxianshi_CreateFcn(hObject,eventdata,handles)ifispc&&isequal(get(hObject,'BackgroundColor'),get(0,'defaultUicontrolBackgroundColor'))set(hObject,'BackgroundColor','white');endfunctionpushbutton10_Callback(hObject,eventdata,handles)functionstart_serial_Callback(hObject,eventdata,handles)globalscom;globalfid;ifget(hObject,'value')set(handles.start_serial,'string','關(guān)閉串口');scom=serial('com1');set(s
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 濕地修復(fù)工程監(jiān)測(cè)與數(shù)據(jù)分析2025版合同2篇
- 二零二五版物流倉儲(chǔ)設(shè)施建設(shè)與運(yùn)營合同2篇
- 二零二五年度節(jié)能工廠租賃合同編制要?jiǎng)t3篇
- 二零二五版旅游度假區(qū)基礎(chǔ)設(shè)施建設(shè)項(xiàng)目包工合同范本2篇
- 二零二五年度飛機(jī)銷售合同附帶飛行員培訓(xùn)及考核協(xié)議3篇
- 二零二五年度公寓裝修及設(shè)施配套合同3篇
- 二零二五版出口貨物安全檢驗(yàn)合同規(guī)定與流程3篇
- 二零二五年度汽車租賃合同解除與終止范本匯編3篇
- 二零二五版汽車維修擔(dān)保書之擔(dān)保函與擔(dān)保合同3篇
- 二零二五版別墅窗簾設(shè)計(jì)、安裝及智能家居集成合同3篇
- 第三十六屆全國電力行業(yè)風(fēng)力發(fā)電運(yùn)行檢修職業(yè)技能競(jìng)賽基礎(chǔ)理論題庫附有答案
- 2024年紀(jì)檢監(jiān)察綜合業(yè)務(wù)知識(shí)題庫含答案(研優(yōu)卷)
- 科室醫(yī)療質(zhì)量與安全管理小組工作制度
- 中華民族共同體概論課件第五講大一統(tǒng)與中華民族共同體初步形成(秦漢時(shí)期)
- 初二生地會(huì)考試卷及答案-文檔
- 私營企業(yè)廉潔培訓(xùn)課件
- 施工單位值班人員安全交底和要求
- 中國保險(xiǎn)用戶需求趨勢(shì)洞察報(bào)告
- 數(shù)字化轉(zhuǎn)型指南 星展銀行如何成為“全球最佳銀行”
- 中餐烹飪技法大全
- 靈芝孢子油減毒作用課件
評(píng)論
0/150
提交評(píng)論