基于加海明窗的FFT高精度諧波檢測算法分析及其在測控設(shè)備低頻干擾信號(hào)檢測中的應(yīng)用_第1頁
基于加海明窗的FFT高精度諧波檢測算法分析及其在測控設(shè)備低頻干擾信號(hào)檢測中的應(yīng)用_第2頁
基于加海明窗的FFT高精度諧波檢測算法分析及其在測控設(shè)備低頻干擾信號(hào)檢測中的應(yīng)用_第3頁
基于加海明窗的FFT高精度諧波檢測算法分析及其在測控設(shè)備低頻干擾信號(hào)檢測中的應(yīng)用_第4頁
基于加海明窗的FFT高精度諧波檢測算法分析及其在測控設(shè)備低頻干擾信號(hào)檢測中的應(yīng)用_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、基于加海明窗的FFT高精度諧波檢測算法分析及其在測控設(shè)備低頻干擾信號(hào)檢測中的應(yīng)用技術(shù)室 馬東陽摘要:大量電子元器件構(gòu)成的測控系統(tǒng),各分系統(tǒng)之間不可避免的會(huì)產(chǎn)生低頻諧波干擾,采用加Hamming窗的FFT算法,在有效抑制頻譜泄漏的情況下,對(duì)低頻諧波信號(hào)進(jìn)行檢測。分析了算法的原理,設(shè)計(jì)了算法的應(yīng)用流程,通過Matlab仿真測試,最終在測控設(shè)備低頻諧波干擾信號(hào)檢測中取得了較好的應(yīng)用效果。關(guān)鍵詞:低頻干擾;快速傅立葉變換;海明窗;頻譜泄漏1 引言現(xiàn)代測控系統(tǒng)功能日益復(fù)雜,所用電子元器件不斷增多,隨著設(shè)備列裝時(shí)間增長,由大量電子元器件構(gòu)成的各個(gè)分系統(tǒng)不可避免的會(huì)產(chǎn)生低頻諧波干擾信號(hào),對(duì)測控系統(tǒng)測量精度產(chǎn)

2、生影響。本文分析了基于加海明窗的高精度快速傅立葉變換算法的物理意義及其在應(yīng)用中需要注意的問題,并結(jié)合試驗(yàn)任務(wù)對(duì)測控設(shè)備低頻干擾信號(hào)進(jìn)行了檢測,取得了較好的應(yīng)用效果。2 FFT算法分析2.1 FFT算法結(jié)果的具體物理意義FFT是離散傅立葉變換的快速算法,可以將一個(gè)信號(hào)由時(shí)域變換到頻域。時(shí)域上的任何周期信號(hào)或有限長信號(hào)y(t),都可以用無數(shù)個(gè)余弦函數(shù)之和來表示: (1)式中:fk 為頻率;A(fk)為幅值;(fk)為相位?;贔FT 獲取y(t)頻譜的基本過程如下:(1)對(duì)時(shí)域波形y(t)等間隔采樣,使之變成適合計(jì)算機(jī)處理的N 點(diǎn)離散信號(hào)y(n);(2)根據(jù)下式對(duì)y(n)進(jìn)行離散快速傅立葉變換,即

3、FFT,得:,其中 (2)(3)記Y(k)的實(shí)部為,虛部為,頻率對(duì)應(yīng)的幅度和相位為 (3)由上可知,假設(shè)采樣得到N個(gè)采樣點(diǎn),經(jīng)過FFT變換之后,就可以得到N個(gè)點(diǎn)的FFT結(jié)果。為了方便進(jìn)行FFT運(yùn)算,通常N取2的整數(shù)次方。假設(shè)采樣頻率為Fs,信號(hào)頻率F,采樣點(diǎn)數(shù)為N;那么FFT之后結(jié)果就是一個(gè)N點(diǎn)的復(fù)數(shù)。若原始信號(hào)的峰值為A,那么FFT的結(jié)果的每個(gè)點(diǎn)(除了第一個(gè)點(diǎn)直流分量之外)的模值就是A的N/2倍;而第一個(gè)點(diǎn)是直流分量,它的模值是直流分量的N倍。每個(gè)點(diǎn)的相位,就是在該頻率下信號(hào)的相位;第一個(gè)點(diǎn)表示直流分量(即0Hz),而最后一個(gè)點(diǎn)N的再下一個(gè)點(diǎn)(實(shí)際上這個(gè)點(diǎn)是不存在的)則表示采樣頻率Fs,這中

4、間被N-1個(gè)點(diǎn)平均分成N等份,每個(gè)點(diǎn)的頻率依次增加。2.2 FFT算法在實(shí)際應(yīng)用中需要注意的幾個(gè)問題2.2.1柵欄效應(yīng)由2.1可知,在采樣點(diǎn)數(shù)為N,采樣頻率為Fs時(shí),第n點(diǎn)所表示的頻率為: (4)由公式(4)可以看出,F(xiàn)n所能分辨到頻率為Fs/N,如果采樣頻率Fs為1024Hz,采樣點(diǎn)數(shù)為1024點(diǎn),則可以分辨到1Hz。1024Hz的采樣率采樣1024點(diǎn),剛好是1秒,也就是說采樣1秒時(shí)間的信號(hào)并做FFT,則結(jié)果可以分析到1Hz,如果采樣2秒時(shí)間的信號(hào)并做FFT,則結(jié)果可以分析到0.5Hz。這就相當(dāng)于透過柵欄觀賞風(fēng)景,只能看到頻譜的一部分,而其它頻率點(diǎn)看不見,因此很可能使一部分有用的頻率成分被漏

5、掉,此種現(xiàn)象被稱為柵欄效應(yīng)。當(dāng)時(shí)域采樣滿足采樣定理時(shí),柵欄效應(yīng)不會(huì)有什么影響;而頻域采樣的柵欄效應(yīng)則影響很大,“擋住”或丟失的頻率成分有可能是重要的或具有特征的成分,使信號(hào)處理失去意義。減小柵欄效應(yīng)可用提高采樣間隔也就是頻率分辨力的方法來解決。間隔小,頻率分辨力高,被“擋住”或丟失的頻率成分就會(huì)越少。2.2.2頻譜泄漏對(duì)于頻率為Fs的正弦序列,它的頻譜應(yīng)該只是在Fs處有離散譜。但是,在利用FFT求它的頻譜時(shí),對(duì)時(shí)域做了截短,結(jié)果使信號(hào)的頻譜不只是在Fs處有離散譜,而是在以Fs為中心的頻帶范圍內(nèi)都有譜線出現(xiàn),我們可以理解為是從Fs頻率上“泄漏”出去的,這種現(xiàn)象稱為頻譜泄漏。同樣在處理測控設(shè)備采集

6、的離散數(shù)據(jù)x(n)時(shí),通常需要將序列x(n)進(jìn)行截短,取一部分?jǐn)?shù)據(jù)進(jìn)行分析,這就不可避免會(huì)出現(xiàn)頻譜泄漏的情況。頻譜泄漏引起的直接后果就是降低頻譜分辨率,令主譜線旁邊有很多旁瓣,這就會(huì)造成譜線間的干擾,嚴(yán)重時(shí)旁瓣的能量強(qiáng)到分不清是旁瓣還是信號(hào)本身。為了減少頻譜能量泄漏,可采用不同的截取函數(shù)對(duì)信號(hào)進(jìn)行截?cái)?。泄漏與窗函數(shù)頻譜的兩側(cè)旁瓣有關(guān),如果兩側(cè)瓣的高度趨于零,而使能量相對(duì)集中在主瓣,就可以較為接近于真實(shí)的頻譜。為此,在時(shí)間域中可采用不同的窗函數(shù)來截?cái)嘈盘?hào)。典型的加窗序列有海明、漢寧、布萊克曼、高斯等窗序列。本文在處理實(shí)時(shí)測量數(shù)據(jù)時(shí)采用了加海明窗的方法。海明窗在時(shí)域的表達(dá)式如下: (5)圖1 Ma

7、tlab仿真的海明窗函數(shù)圖形3 算法實(shí)現(xiàn)及在測控設(shè)備低頻干擾信號(hào)檢測中的應(yīng)用3.1 FFT算法實(shí)現(xiàn)FFT算法的核心部分即快速傅立葉變換的蝶形運(yùn)算,需要處理的是復(fù)數(shù),故在參與運(yùn)算前需要將測控設(shè)備采樣的離散數(shù)據(jù)變換成復(fù)數(shù)。算法主要應(yīng)用流程如下:(1)在時(shí)域上給采樣得到的離散數(shù)據(jù)加海明窗,將加窗的結(jié)果序列做復(fù)數(shù)變換;(2)將復(fù)數(shù)序列做傅立葉變換;(3)變換后的結(jié)果根據(jù)第2.1節(jié)的分析,解算出相應(yīng)頻率對(duì)應(yīng)的幅度值。算法總體處理流程如圖2所示:圖2 程序流程圖算法核心部分是對(duì)復(fù)數(shù)進(jìn)行的遞歸多級(jí)蝶形運(yùn)算,在FFT函數(shù)中實(shí)現(xiàn),主要代碼如下: if (input.Length = 1) return new

8、Complex input0 ; int length = input.Length; int half = length / 2; Complex output = new Complexlength; double fac = -2.0 * Math.PI / length; if (invert) fac = -fac; Complex evens = new Complexhalf; for (int i = 0; i < half; i+) evensi = input2 * i; Complex evenResult = FFT(evens, invert); Complex

9、 odds = new Complexhalf; for (int i = 0; i < half; i+) oddsi = input2 * i + 1; Complex oddResult = FFT(odds, invert); for (int k = 0; k < half; k+) double fack = fac * k; Complex oddPart = oddResultk * new Complex(Math.Cos(fack), Math.Sin(fack); outputk = evenResultk + oddPart; outputk + half

10、= evenResultk - oddPart; return output;3.2 算法處理結(jié)果與Matlab仿真結(jié)果對(duì)比將本文所設(shè)計(jì)算法的處理結(jié)果讀入Matlab繪圖,同時(shí)用Matlab自帶的FFT算法進(jìn)行仿真驗(yàn)證,結(jié)果如下。圖3 本文所用算法和Matlab仿真結(jié)果4 結(jié)論本文在分析研究FFT算法的原理和應(yīng)用重點(diǎn)基礎(chǔ)上,對(duì)測控設(shè)備采集到的離散數(shù)據(jù)序列做了時(shí)域加Hamming窗的處理,進(jìn)而采用FFT算法對(duì)其進(jìn)行時(shí)-頻變換;在頻域上對(duì)信號(hào)進(jìn)行頻譜分析,檢測測控系統(tǒng)內(nèi)部低頻諧波干擾,并用Matlab對(duì)原始數(shù)據(jù)進(jìn)行了仿真分析。對(duì)比發(fā)現(xiàn)本文采用的數(shù)據(jù)處理流程滿足測控系統(tǒng)低頻諧波信號(hào)檢測的要求,做成模塊后,易于被各設(shè)備移植使用,方便編程擴(kuò)展。參考文獻(xiàn)1 胡廣書數(shù)字信號(hào)處理M北京:清華大學(xué)出版社2 謝明,丁康頻譜分析的校正方法J振動(dòng)工程學(xué)報(bào)3 齊國清幾種基于FFT的頻率估計(jì)方法精度分析J振動(dòng)工程學(xué)報(bào)4 齊國清,賈欣樂插值FF

溫馨提示

  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論