離散傅里葉變換快速算法的研究與MATLAB算法實(shí)現(xiàn)_第1頁
離散傅里葉變換快速算法的研究與MATLAB算法實(shí)現(xiàn)_第2頁
離散傅里葉變換快速算法的研究與MATLAB算法實(shí)現(xiàn)_第3頁
離散傅里葉變換快速算法的研究與MATLAB算法實(shí)現(xiàn)_第4頁
離散傅里葉變換快速算法的研究與MATLAB算法實(shí)現(xiàn)_第5頁
已閱讀5頁,還剩17頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡介

離散傅里葉變換快速算法的研究與MATLAB算法實(shí)現(xiàn)1.本文概述快速傅里葉變換(FastFourierTransformation,FFT)是一種將大點(diǎn)數(shù)N的離散傅里葉變換(DFT)分解為若干小點(diǎn)的DFT組合的算法。這種分解大大降低了DFT的運(yùn)算工作量,從而顯著提高了其計(jì)算速度。由于FFT技術(shù)在各個(gè)科學(xué)技術(shù)領(lǐng)域得到廣泛應(yīng)用,它極大地推動(dòng)了信號(hào)處理技術(shù)的進(jìn)步,已成為數(shù)字信號(hào)處理的強(qiáng)有力的工具。本論文旨在全面敘述各種快速傅里葉變換算法的原理和特點(diǎn),并基于MATLAB平臺(tái)實(shí)現(xiàn)了這些算法。通過本文的研究,讀者將對快速傅里葉變換有更深入的理解,并能夠利用MATLAB實(shí)現(xiàn)這些算法,為實(shí)際的信號(hào)處理應(yīng)用提供有力支持。2.離散傅里葉變換()的推導(dǎo)方法:周期延拓中的搬移通過與e{j2piknN}的卷積來實(shí)現(xiàn)。表示:延拓后的波形在數(shù)學(xué)上可表示為原始波形與沖激串序列的卷積。經(jīng)過抽樣、截?cái)嗪脱油睾螅盘?hào)時(shí)域和頻域都是離散、周期的。處理后信號(hào)的連續(xù)時(shí)間傅里葉變換是離散函數(shù),僅在離散頻率點(diǎn)fkf_0處存在沖激,強(qiáng)度為a_k,其余各點(diǎn)為0。同時(shí),它是周期函數(shù),周期為Nf_0,每個(gè)周期內(nèi)有N個(gè)不同的幅值。時(shí)域的離散時(shí)間間隔(或周期)與頻域的周期(或離散間隔)互為倒數(shù)。DFT的定義如下:設(shè)h(nT_s)是連續(xù)函數(shù)h(t)的N個(gè)抽樣值n0,1,ldots,N1,這N個(gè)點(diǎn)的寬度為N的DFT為:H(k)sum_{n0}{N1}h(nT_s)e{j2piknN}H(k)是連續(xù)頻率函數(shù)的N個(gè)抽樣值,k0,1,ldots,N1。DFT的變換核函數(shù)為W_Ne{j2piN},它們具有正交性,即:sum_{k0}{N1}W_N{nk}W_N{mr}Ndelta(nr)h(n)frac{1}{N}sum_{k0}{N1}H(k)W_N{nk}DFT具有周期性和對稱性,并且離散譜具有周期性、共軛對稱性和幅度對稱性。DFT的定義是針對任意的離散序列中的有限個(gè)離散抽樣的,并不要求該序列具有周期性。由DFT求出的離散譜是離散的周期函數(shù),周期為N、離散間隔為f_0。如果稱離散譜經(jīng)過IDFT所得到的序列為重建信號(hào),則重建信號(hào)是離散的周期函數(shù),周期為NT_s(對應(yīng)離散譜的離散間隔的倒數(shù))。3.快速傅里葉變換()算法原理快速傅里葉變換(FastFourierTransform,FFT)是一種用于快速計(jì)算序列的離散傅里葉變換(DFT)或其逆變換的方法。它通過將DFT矩陣分解為稀疏(大多為零)因子之積來提高計(jì)算效率。FFT算法的基本思想是在1965年普及的,但它的推導(dǎo)可以追溯到1805年。FFT算法的核心優(yōu)勢在于其能夠?qū)⒂?jì)算DFT的復(fù)雜度從O(N2)降低到O(NlogN),其中N為數(shù)據(jù)大小。這種復(fù)雜度的降低使得FFT在工程、科學(xué)和數(shù)學(xué)領(lǐng)域得到廣泛應(yīng)用。例如,在信號(hào)處理中,F(xiàn)FT可以用于分析信號(hào)的頻率成分。FFT算法的基本原理是利用DFT的周期性和對稱性,將輸入序列分解為越來越小的子序列進(jìn)行離散傅里葉變換計(jì)算,最后將這些子序列的結(jié)果合成為完整的N點(diǎn)離散傅里葉變換。這種分解和合成的過程可以通過蝶形運(yùn)算來實(shí)現(xiàn),蝶形運(yùn)算包括復(fù)數(shù)乘法和加法操作。FFT算法有多種變體,其中最著名的是按時(shí)間抽取的FFT算法和按頻率抽取的FFT算法。按時(shí)間抽取的FFT算法將時(shí)域信號(hào)序列按偶奇分排,而按頻率抽取的FFT算法將頻域信號(hào)序列按偶奇分排。這些算法都能夠有效地減少計(jì)算量,提高計(jì)算效率??焖俑道锶~變換(FFT)算法通過利用DFT的周期性和對稱性,將計(jì)算DFT的復(fù)雜度從O(N2)降低到O(NlogN),從而實(shí)現(xiàn)了對離散傅里葉變換的快速計(jì)算。它在信號(hào)處理、圖像處理、通信等領(lǐng)域具有廣泛的應(yīng)用。4.各種快速傅里葉變換算法的特點(diǎn)按時(shí)間抽取的FFT算法(DecimationinTimeFFT)蝶形計(jì)算:該算法的基本操作是蝶形計(jì)算,包含一次復(fù)數(shù)乘法和兩次復(fù)數(shù)加法。原位計(jì)算:算法可以原位計(jì)算,即在輸入序列上直接進(jìn)行計(jì)算,不需要額外的存儲(chǔ)空間。碼位倒置:在計(jì)算過程中需要進(jìn)行碼位倒置,即將輸入序列按照二進(jìn)制反轉(zhuǎn)的順序進(jìn)行重新排列。按頻率抽取的FFT算法(DecimationinFrequencyFFT)蝶形計(jì)算:與按時(shí)間抽取的FFT算法類似,該算法也使用蝶形計(jì)算作為基本操作?;诙M(jìn)制分解:該算法利用序列長度的二進(jìn)制表示進(jìn)行遞歸分解,因此只適用于序列長度為2的冪的情況。高效的蝶形運(yùn)算:由于二進(jìn)制分解的特性,基2FFT算法中的蝶形運(yùn)算可以非常高效地實(shí)現(xiàn)。靈活的基數(shù)選擇:該算法可以根據(jù)序列長度選擇不同的基數(shù)進(jìn)行分解,從而在非2的冪的情況下也能應(yīng)用。自適應(yīng)性能:通過選擇合適的基數(shù),混合基FFT算法可以自適應(yīng)地調(diào)整計(jì)算復(fù)雜度和存儲(chǔ)需求。這些不同的FFT算法在計(jì)算效率、存儲(chǔ)需求和適用場景上有所差異,因此在實(shí)際應(yīng)用中需要根據(jù)具體情況選擇合適的算法。5.基于的算法實(shí)現(xiàn)在這一部分,我們將使用MATLAB編程語言來實(shí)現(xiàn)離散傅里葉變換的快速算法。MATLAB提供了豐富的函數(shù)和工具箱,使得實(shí)現(xiàn)這些算法變得更加簡單和高效。我們需要導(dǎo)入必要的MATLAB工具箱,例如信號(hào)處理工具箱(SignalProcessingToolbox)。我們可以使用MATLAB的內(nèi)置函數(shù)來生成測試信號(hào),例如使用randn函數(shù)生成隨機(jī)噪聲信號(hào)。我們將使用MATLAB的fft函數(shù)來計(jì)算離散傅里葉變換。fft函數(shù)可以接受一個(gè)時(shí)域信號(hào)作為輸入,并返回其頻域表示。我們可以使用不同的參數(shù)來控制fft函數(shù)的行為,例如設(shè)置fft函數(shù)的點(diǎn)數(shù)(n)和采樣頻率(Fs)。在實(shí)現(xiàn)快速傅里葉變換算法時(shí),我們可以使用蝶形運(yùn)算(Butterflyoperation)來減少計(jì)算量。蝶形運(yùn)算是一種將輸入信號(hào)劃分為奇偶兩部分,并對每一部分進(jìn)行DFT運(yùn)算的方法。通過迭代應(yīng)用蝶形運(yùn)算,我們可以將N點(diǎn)DFT運(yùn)算分解為多個(gè)小點(diǎn)的DFT運(yùn)算,從而大大減少計(jì)算量。在MATLAB中,我們可以使用循環(huán)結(jié)構(gòu)來實(shí)現(xiàn)蝶形運(yùn)算。具體來說,我們可以使用兩個(gè)嵌套的循環(huán)來迭代應(yīng)用蝶形運(yùn)算。在外層循環(huán)中,我們將輸入信號(hào)劃分為奇偶兩部分。在內(nèi)層循環(huán)中,我們將對每一部分進(jìn)行DFT運(yùn)算。我們可以使用MATLAB的繪圖函數(shù)來可視化結(jié)果。例如,我們可以使用plot函數(shù)繪制時(shí)域信號(hào)和頻域信號(hào)的圖形,以便更好地理解和分析算法的性能。通過以上步驟,我們可以在MATLAB中實(shí)現(xiàn)離散傅里葉變換的快速算法,并使用實(shí)際信號(hào)進(jìn)行測試和驗(yàn)證。這將有助于我們深入理解這些算法的原理和應(yīng)用,并為進(jìn)一步的研究和開發(fā)奠定基礎(chǔ)。參考資料:庫利-圖基快速傅里葉變換算法(Cooley-Tukey算法)是最常見的快速傅里葉變換算法。這一方法以分治法為策略遞歸地將長度為N=N1N2的DFT分解為長度分別為N1和N2的兩個(gè)較短序列的DFT,以及與旋轉(zhuǎn)因子的復(fù)數(shù)乘法。這種方法以及FFT的基本思路在1965年J.W.Cooley和J.W.Tukey合作發(fā)表AnalgorithmforthemachinecalculationofcomplexFourierseries之后開始為人所知。但后來發(fā)現(xiàn),實(shí)際上這兩位作者只是重新發(fā)明了高斯在1805年就已經(jīng)提出的算法(此算法在歷史上數(shù)次以各種形式被再次提出)。庫利-圖基快速傅里葉變換算法是將序列長為N的DFT分區(qū)為兩個(gè)長為N/2的子序列的DFT,因此這一應(yīng)用只適用于序列長度為2的冪的DFT計(jì)算,即基2-FFT。實(shí)際上,如同高斯和庫利與圖基都指出的那樣,庫利-圖基算法也可以用于序列長度N為任意因數(shù)分解形式的DFT,即混合基FFT,而且還可以應(yīng)用于其他諸如分裂基FFT等變種。盡管庫利-圖基算法的基本思路是采用遞歸的方法進(jìn)行計(jì)算,大多數(shù)傳統(tǒng)的算法實(shí)現(xiàn)都將顯示的遞歸算法改寫為非遞歸的形式。因?yàn)閹炖瓐D基算法是將DFT分解為較小長度的多個(gè)DFT,因此它可以同任一種其他的DFT算法聯(lián)合使用。離散傅立葉變換的復(fù)雜度為(可引用大O符號(hào))。快速傅立葉變換的復(fù)雜度為,分析可見下方架構(gòu)圖部分,級(jí)數(shù)為而每一級(jí)的復(fù)雜度為,故復(fù)雜度為。在FFT算法中,針對輸入做不同方式的分組會(huì)造成輸出順序上的不同。如果我們使用時(shí)域抽?。―ecimation-in-time),那么輸入的順序?qū)?huì)是比特反轉(zhuǎn)排列(bit-reversedorder),輸出將會(huì)依序排列。但若我們采取的是頻域抽取(Decimation-in-frequency),那么輸出與輸出順序的情況將會(huì)完全相反,變?yōu)橐佬蚺帕械妮斎肱c比特反轉(zhuǎn)排列的輸出。我們可以將DFT公式中的項(xiàng)目在時(shí)域上重新分組,這樣就叫做時(shí)域抽?。―ecimation-in-time),在這里將會(huì)被代換為旋轉(zhuǎn)因子(twiddlefactor)。我們可以將DFT公式中的項(xiàng)目在頻域上重新分組,這樣就叫做頻域抽取(Decimation-in-frequency)。利用庫利-圖基算法進(jìn)行離散傅立葉拆解時(shí),能夠依需求而以2,4,8…等2的冪次方為單位進(jìn)行拆解,不同的拆解方法會(huì)產(chǎn)生不同層數(shù)快速傅里葉變換的架構(gòu),基底越大則層數(shù)越少,復(fù)數(shù)乘法器也越少,但是每級(jí)的蝴蝶形架構(gòu)則會(huì)越復(fù)雜,因此常見的架構(gòu)為2基底、4基底與8基底這三種設(shè)計(jì)。2基底-快速傅立葉算法(Radix-2FFT)是最廣為人知的一種庫利-圖基快速傅立葉算法分支。此方法不斷地將N點(diǎn)的FFT拆解成兩個(gè)'N/2'點(diǎn)的FFT,利用旋轉(zhuǎn)因子的對稱性借此來降低DFT的計(jì)算復(fù)雜度,達(dá)到加速的功效。而其實(shí)前述有關(guān)時(shí)域抽取或是頻域抽取的方法介紹,即為2基底的快速傅立葉轉(zhuǎn)換法。以下展示其他種2基底快速傅立葉算法的連線方法,此種不規(guī)則的連線方法可以讓輸出與輸入都為循序排列,但是連線的復(fù)雜度卻大大的增加。4基底快速傅立葉變換算法則是承接2基底的概念,在此里用時(shí)域抽取的技巧,將原本的DFT公式拆解為四個(gè)一組的形式:在這里再利用的特性來進(jìn)行與2基數(shù)FFT類似的化減方法,以降低算法復(fù)雜度。在庫利-圖基算法里,使用的基底(radix)越大,復(fù)數(shù)的乘法與存儲(chǔ)器的訪問就越少,所帶來的好處不言而喻。但是隨之而來的就是實(shí)數(shù)的乘法與實(shí)數(shù)的加法也會(huì)增加,尤其計(jì)算單元的設(shè)計(jì)也就越復(fù)雜,對于可應(yīng)用FFT之點(diǎn)數(shù)限制也就越嚴(yán)格。在表中我們可以看到在不同基底下所需的計(jì)算成本。在DFT的公式中,我們重新定義x=T,=T,則DFT可重寫為=FN?x。FN是一個(gè)N×N的DFT矩陣,其元素定義為ij=WNij(i,j∈),當(dāng)N=8時(shí),我們可以得到以下的F8矩陣并且進(jìn)一步將其拆解。在拆解成三個(gè)矩陣相乘之后,我們可以將復(fù)數(shù)運(yùn)算的數(shù)量從56個(gè)降至24個(gè)復(fù)數(shù)的加法。底下是8基底的的SFG。要注意的是所有的輸出與輸入都是復(fù)數(shù)的形式,而輸出與輸入的排序也并非規(guī)律排列,此種排列方式是為了要達(dá)到接線的最優(yōu)化。在2/8基底的算法中,我們可以看到我們對于偶數(shù)項(xiàng)的輸出會(huì)使用2基底的分解法,對于奇數(shù)項(xiàng)的輸出采用8基底的分解法。這個(gè)做法充分利用了2基底與4基底擁有最少乘法數(shù)與加法數(shù)的特性。當(dāng)使用了2基底的分解法后,偶數(shù)項(xiàng)的輸出如下所示。以上式子就是2/8基底的FFT快速算法。在架構(gòu)圖上可化為L型的蝴蝶運(yùn)算架構(gòu),如圖5所示。為了改進(jìn)Radix2/8在架構(gòu)上的不規(guī)則性,我們在這里做了一些修改,如下表.。此修改可讓架構(gòu)更加規(guī)則,且所使用的加法器與乘法器數(shù)量更加減少,如下表所示。在這里我們最小的運(yùn)算單元稱為PE(ProcessElement),PE內(nèi)部包含了2/8基底、2/4基底、2基底的運(yùn)算,簡化過的信號(hào)處理流程與蝴蝶型架構(gòu)圖可見圖6基底的選擇越大會(huì)造成蝴蝶形架構(gòu)更加復(fù)雜,控制電路也會(huì)復(fù)雜化。因此ShoushengHe和MatsTorkelson在1996提出了一個(gè)2^2基底的FFT算法,利用旋轉(zhuǎn)因子的特性:。而–j的乘法基本上只需要將被乘數(shù)的實(shí)部虛部對調(diào),然后將虛部加上負(fù)號(hào)即可,這樣的負(fù)數(shù)乘法被定義為'簡單乘法',因此可以用很簡單的硬件架構(gòu)來實(shí)現(xiàn)。利用上面的特性,22基底FFT能用串接的方式將旋轉(zhuǎn)因子以4為單位對DFT公式進(jìn)行拆解,將蝴蝶形架構(gòu)層數(shù)降到log4N,大幅減少復(fù)數(shù)乘法器的用量,而同時(shí)卻維持了2基底蝴蝶形架構(gòu)的簡單性,在性能上獲得改進(jìn)。2^2基底DIFFFT算法的拆解方法如下列公式所述:然后套用CommonFactorAlgorithm(CFA)如上述公式所示,原本的DFT公式會(huì)被拆解成多個(gè),而又可分為BF2I與BF2II兩個(gè)層次結(jié)構(gòu),分別會(huì)對應(yīng)到之后所介紹的兩種硬件架構(gòu)。一個(gè)16點(diǎn)的DFT公式經(jīng)過一次上面所述之拆解之后可得下面的FFT架構(gòu)可以看出圖6的架構(gòu)保留了2基底的簡單架構(gòu),然而復(fù)數(shù)乘法卻降到每兩級(jí)才出現(xiàn)一次,也就是次。而BF2I以及BF2II所對應(yīng)的硬件架構(gòu)如圖7:其中BF2II硬件單元中左下角的交叉電路就是用來處理-j的乘法。其中圖8下方的為一7比特寬的計(jì)數(shù)器,而此架構(gòu)的控制電路相當(dāng)單純,只要將計(jì)數(shù)器的各個(gè)比特分別接上BF2I與BF2II單元即可。下表將2基底、4基底與22基底算法做一比較,可以發(fā)現(xiàn)22基底算法所需要的乘法氣數(shù)量為2基底的一半,加法棄用量是4基底的一半,并維持一樣的存儲(chǔ)器用量和控制電路的簡單性。如上所述,22算法是將旋轉(zhuǎn)因子視為一個(gè)簡單乘法,進(jìn)而由公式以及硬件上的化簡獲得硬件需求上的改進(jìn)。而借由相同的概念,ShoushengHe和MatsTorkelson進(jìn)一步將旋轉(zhuǎn)因子的乘法化簡成一個(gè)簡單乘法,而化簡的方法將會(huì)在下面講解。在2基數(shù)FFT算法中的基本概念是利用旋轉(zhuǎn)因子的對稱性,4基數(shù)算法則是利用的特性。但是我們會(huì)發(fā)在這些旋轉(zhuǎn)因子的對稱特性中出現(xiàn)。─并沒有被利用到。主要是因?yàn)榈某朔ㄟ\(yùn)算會(huì)讓整個(gè)FFT變得復(fù)雜,但是如果借由近似的方法,我們便可以將此一運(yùn)算化簡為12個(gè)加法。我們可以從上式注意到,可以被近似為五個(gè)加法的結(jié)果,所以就可以被簡化為只有六個(gè)加法,再算入實(shí)部與虛部的計(jì)算,總共只需12個(gè)加法器就可以運(yùn)用到此一簡化特性。經(jīng)由與基底類似的推導(dǎo),并用串接的方式將旋轉(zhuǎn)因子以8為單位對DFT公式進(jìn)行拆解,基底FFT算法進(jìn)一步將復(fù)數(shù)乘法器的用量縮減到log8N,并同時(shí)維持硬件架構(gòu)的簡單性。推導(dǎo)的方法與基底相當(dāng)類似。借由這樣的方法,基底能將乘法器的用量縮減到2基底的1/3,并同時(shí)維持一樣的存儲(chǔ)器用量以及控制電路的簡單性。離散傅里葉變換(DiscreteFourierTransform,DFT)傅里葉分析方法是信號(hào)分析的最基本方法,傅里葉變換是傅里葉分析的核心,通過它把信號(hào)從時(shí)間域變換到頻率域,進(jìn)而研究信號(hào)的頻譜結(jié)構(gòu)和變化規(guī)律。離散傅里葉變換(DFT),是傅里葉變換在時(shí)域和頻域上都呈現(xiàn)離散的形式,將時(shí)域信號(hào)的采樣變換為在離散時(shí)間傅里葉變換(DTFT)頻域的采樣。在形式上,變換兩端(時(shí)域和頻域上)的序列是有限長的,而實(shí)際上這兩組序列都應(yīng)當(dāng)被認(rèn)為是離散周期信號(hào)的主值序列。即使對有限長的離散信號(hào)作DFT,也應(yīng)當(dāng)將其看作經(jīng)過周期延拓成為周期信號(hào)再作變換。在實(shí)際應(yīng)用中通常采用快速傅里葉變換以高效計(jì)算DFT。設(shè)x(n)是長度為N的有限長序列,則其傅里葉變換,Z變換與離散傅里葉變換分別用以下三個(gè)關(guān)系式表示離散傅里葉變換是x(n)的頻譜(ejω)在上的N點(diǎn)等間隔采樣,也就是對序列頻譜的離散化,這就是DFT的物理意義.如果1(n)和2(N)是兩個(gè)有限長序列,長度分別為N1和N2,且Y(N)=A1(N)+B2(N)式中表明將(N)以N為周期進(jìn)行周期拓延得到新序列'(N)=((N))下標(biāo)n,再將'(N)左移M位,最后取主值序列得到循環(huán)移位序列Y(N)DFT的一個(gè)重要特點(diǎn)就是隱含的周期性,從表面上看,離散傅里葉變換在時(shí)域和頻域都是非周期的,有限長的序列,但實(shí)質(zhì)上DFT是從DFS引申出來的,它們的本質(zhì)是一致的,因此DTS的周期性決定DFT具有隱含的周期性。可以從以下三個(gè)不同的角度去理解這種隱含的周期性(1)從序列DFT與序列FT之間的關(guān)系考慮(k)是對頻譜(ejω)在上的N點(diǎn)等間隔采樣,當(dāng)不限定k的取值范圍在時(shí),那么k的取值就在以外,從而形成了對頻譜(ejω)的等間隔采樣。由于(ejω)是周期的,這種采樣就必然形成一個(gè)周期序列(2)從DFT與DFS之間的關(guān)系考慮。(k)=∑n={0,N-1}x(n)WNexp^nk,當(dāng)不限定N時(shí),具有周期性在工程實(shí)際中經(jīng)常遇到的模擬信號(hào)xn(t),其頻譜函數(shù)n(jΩ)也是連續(xù)函數(shù),為了利用DFT對xn(t)進(jìn)行譜分析,對xn(t)進(jìn)行時(shí)域采樣得到x(n)=xn(nT),再對x(n)進(jìn)行DFT,得到(k)則是x(n)的傅里葉變換(ejω)在頻率區(qū)間上的N點(diǎn)等間隔采樣,這里x(n)和(k)都是有限長序列傅里葉變換理論證明,時(shí)間有限長的信號(hào)其頻譜是無限寬的,反之,弱信號(hào)的頻譜有限寬的則其持續(xù)時(shí)間將為無限長,按采樣定理采樣時(shí),采樣序列應(yīng)為無限長,這不滿足DFT的條件。實(shí)際中,對于頻譜很寬的信號(hào),為防止時(shí)域采樣后產(chǎn)生‘頻譜混疊’,一般用前置濾波器濾除幅度較小的高頻成分,使信號(hào)的帶寬小于折疊頻率;同樣對于持續(xù)時(shí)間很長的信號(hào),采樣點(diǎn)數(shù)太多也會(huì)導(dǎo)致存儲(chǔ)和計(jì)算困難,一般也是截取有限點(diǎn)進(jìn)行計(jì)算。上述可以看出,用DFT對模擬信號(hào)進(jìn)行譜分析,只能是近似的,其近似程度取決于信號(hào)帶寬、采樣頻率和截取長度(a)對xn(t)以T為間隔進(jìn)行采樣,即xn(t)|t=nT=xa(nT)=x(n),由于(jΩ)≈∑n={-∞,+∞}x(nT)*exp^-jΩnT*Tx(nT)≈1/2π{0,Ωs}(JΩ)*e^jΩnTDω(b)將序列x(n)=xn(t)截?cái)喑砂蠳個(gè)抽樣點(diǎn)的有限長序列(jΩ)≈T∑n={0,N-1}x(nT)*exp^-jΩnT*T由于時(shí)域抽樣,抽樣頻率為fs=1/T,則頻域產(chǎn)生以fs為周期的周期延拓,如果頻域是帶限信號(hào),則有可能不產(chǎn)生頻譜混疊,成為連續(xù)周期頻譜序列,頻譜的周期為fs=1/T(c)為了數(shù)值計(jì)算,頻域上也要抽樣,即在頻域的一個(gè)周期中取N個(gè)樣點(diǎn),fs=NF0,每個(gè)樣點(diǎn)間隔為F0,頻域抽樣使頻域的積分式變成求和式,而在時(shí)域就得到原來已經(jīng)截?cái)嗟碾x散時(shí)間序列的周期延拓,時(shí)間周期為T0=1/F0。因此有Ω→kΩ0,dΩ→Ω0,{-∞,+∞}dΩ→∑n={-∞,+∞}Ω0(jkΩ0)≈T∑n={0,N-1}x(nT)*exp^-jkΩ0nT判斷系統(tǒng)是否為最小相位系統(tǒng)的簡單方法是:如果兩個(gè)系統(tǒng)的傳遞函數(shù)分子和分母的最高次數(shù)都分別是m,n,則頻率ω趨于無窮時(shí),兩個(gè)系統(tǒng)的對數(shù)幅頻曲線斜率均為-20(n-m)dB/dec但對數(shù)相頻曲線卻不同:最小相位系統(tǒng)趨于-90°(n-m),而非最小相位系統(tǒng)卻不這樣。根據(jù)采樣定理,只有當(dāng)采樣頻率大于信號(hào)最高頻率的兩倍時(shí),才能避免頻域混疊。實(shí)際信號(hào)的持續(xù)時(shí)間是有限的,因而從理論上來說,其頻譜寬度是無限的,無論多大的采樣頻率也不能滿足采樣定理。但是超過一定范圍的高頻分量對信號(hào)已沒有多大的影響,因而在工程上總是對信號(hào)先進(jìn)行低通濾波另一方面,DFT得到的頻率函數(shù)也是離散的,其頻域抽樣間隔為F0,即頻率分辨力。為了對全部信號(hào)進(jìn)行采樣,必須是抽樣點(diǎn)數(shù)N滿足條件從以上兩個(gè)公式來看,信號(hào)最高頻率分量fc和頻率分辨力F0有矛盾。若要fc增加,則抽樣間隔T就要減小,而FS就要增加,若在抽樣點(diǎn)數(shù)N不變的情況下,必然是F0增加,分辨力下降。唯一有效的方法是增加記錄長度內(nèi)的點(diǎn)數(shù)N,在fc和F0給定的條件下,N必須滿足在實(shí)際中遇到的序列x(n),其長度往往是有限長,甚至是無限長,用DFT對其進(jìn)行譜分析時(shí),必須將其截?cái)酁殚L度為N的有限長序列原序列x(n)的頻譜是離散譜線,經(jīng)截?cái)嗪笫姑扛V線都帶上一個(gè)辛格譜,就好像使譜線向兩邊延申,通常將這種是遇上的截?cái)鄬?dǎo)致頻譜展寬成為泄露,泄露使得頻譜變得模糊,分辨率降低因截?cái)嗍怪髯V線兩邊形成許多旁瓣,引起不同分量間的干擾,成為譜間干擾,這不僅影響頻譜分辨率,嚴(yán)重時(shí)強(qiáng)信號(hào)的旁瓣可能湮滅弱信號(hào)的主譜線。N點(diǎn)DFT是在頻率區(qū)間上對信號(hào)的頻譜進(jìn)行N點(diǎn)等間隔采樣,得到的是若干個(gè)離散點(diǎn)(k),且它們之限制為基頻F0的整數(shù)倍,這部好像在柵欄的一邊通過縫隙看另一邊的景象,只能在離散點(diǎn)的地方看到真實(shí)的景象,其余部分頻譜成分被遮攔,所以稱為柵欄效應(yīng)。減小柵欄效應(yīng),可以在時(shí)域數(shù)據(jù)末端增加一些零值點(diǎn),是一個(gè)周期內(nèi)的點(diǎn)數(shù)增加在時(shí)域內(nèi)對信號(hào)長度的選擇會(huì)影響DFT運(yùn)算的正確性。實(shí)際的信號(hào)往往是隨機(jī)的,沒有確定的周期,因此在實(shí)際中,應(yīng)經(jīng)可能估計(jì)出幾個(gè)典型的、帶有一定周期性的信號(hào)區(qū)域進(jìn)行頻譜分析,然后在取其平均值,從而得到合理的結(jié)果。圖像處理已經(jīng)成為了當(dāng)今社會(huì)的熱門領(lǐng)域,它廣泛應(yīng)用于各個(gè)領(lǐng)域,如醫(yī)學(xué)影像、安全監(jiān)控、數(shù)字娛樂等。傅里葉變換是一種重要的數(shù)學(xué)工具,在圖像處理中有著廣泛的應(yīng)用。本文將詳細(xì)介紹基于傅里葉變換的MATLAB圖像處理方法,包括傅里葉變換的基本原理、圖像處理基礎(chǔ)、基于傅里葉變換的圖像處理方法以及實(shí)例分析。圖像是一種用像素陣列表示的二維函數(shù),其定義在某個(gè)空間范圍內(nèi)。圖像可以由相機(jī)、掃描儀等設(shè)備獲取,也可以由計(jì)算機(jī)生成。在圖像處理中,我們通常的是像素值的改變,如亮度、對比度、色彩等。常見的圖像類型有灰度圖像、彩色圖像、二進(jìn)制圖像等。傅里葉變換是一種將圖像從空間域轉(zhuǎn)換到頻率域的數(shù)學(xué)變換。它將圖像分解成一系列不同頻率的正弦和余弦函數(shù)的疊加。通過傅里葉變換,我們可以將圖像的空域信息轉(zhuǎn)換為頻域信息,這在圖像處理中非常有用。在MATLAB中,我們可以使用fft2函數(shù)對圖像進(jìn)行傅里葉變換。下面是一個(gè)簡單的示例:img_fft=fft2(double(img));%對圖像進(jìn)行傅里葉變換基于傅里葉變換的圖像處理方法有很多,下面我們介紹幾種常見的應(yīng)用:傅里葉變換可以將圖像的噪聲從頻域移除。通常情況下,我們可以將圖像進(jìn)行傅里葉變換后,濾除高頻部分,然后再進(jìn)行逆傅里葉變換,以達(dá)到降噪的效果。img_noise=imnoise(img,'gaussian',0,01);%添加高斯噪聲img_fft_noise=fft2(double(img_noise));%對噪聲圖像進(jìn)行傅里葉變換img_fft_denoised=img_fft_noise(1:4:end,1:4:end);%濾除高頻部分img_denoised=irfft2(img_fft_denoised);%進(jìn)行逆傅里葉變換傅里葉變換可以將圖像的能量集中在低頻部分,我們可以只保留低頻部分而濾除高頻部分,以達(dá)到壓縮的效果。img_fft=fft2(double(img));%對圖像進(jìn)行傅里葉變換img_fft_low=img_fft(1:4:end,1:4:end);%保留低頻部分img_compressed=irfft2(img_fft_low);%進(jìn)行逆傅里葉變換為了更好地說明傅里葉變換在圖像處理中的應(yīng)用效果,我們舉一個(gè)簡單的例子。假設(shè)我們有一張加了高斯噪聲的圖像,我們先使用傅里葉變換進(jìn)行降噪,然后對降噪后的圖像進(jìn)行壓縮。從上面的結(jié)果可以看出,經(jīng)過傅里葉變換進(jìn)行降噪后,圖像的噪聲明顯減少,圖像質(zhì)量得到

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(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ǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論