級數(shù) 級數(shù) series 將數(shù)列un的項 u1,u2,…,un,…依次用加號連接起來的函數(shù)。數(shù)項級數(shù)的簡稱。如:u1+u2+…+un+…,簡寫為∑un,un稱為級數(shù)的通項,記Sm=∑un稱之為級數(shù)的部分和。如果當(dāng)m→∞時 ,數(shù)列Sm有極限S,則說級數(shù)收斂,并以S為其和,記為∑un=S否則就說級數(shù)發(fā)散。 級數(shù)是研究函數(shù)的一個重要工具,在理論上和實際應(yīng)用中都處于重要地位,這是因為:一方面能借助級數(shù)表示許多常用的非初等函數(shù), 微分方程的解就常用級數(shù)表示;另一方面又可將函數(shù)表為級數(shù),從而借助級數(shù)去研究函數(shù),例如用冪級數(shù)研究非初等函數(shù),以及進行近似計算等。 級數(shù)的收斂問題是級數(shù)理論的基本問題。從級數(shù)的收斂概念可知,級數(shù)的斂散性是借助于其部分和數(shù)列Sm的斂散性來定義的。因此可從數(shù)列收斂的柯西準(zhǔn)則得出級數(shù)收斂的柯西準(zhǔn)則 :∑un收斂<=>任意給定正數(shù)ε,必有自然數(shù)N,當(dāng)n>N,對一切自然數(shù) p,有|un+1+un+2+…+un+p|<ε,即充分靠后的任意一段和的絕對值可任意小。 如果每一un≥0(或un≤0),則稱∑un為正(或負(fù))項級數(shù),正項級數(shù)與負(fù)項級數(shù)統(tǒng)稱為同號級數(shù)。正項級數(shù)收斂的充要條件是其部分和序列Sm 有上界,例如∑1/n!收斂,因為 Sm=1+1/2!+1/3!+···+1/m!<1+1+1/2+1/2^2+···+1/2^(m-1)<3(2^3表示2的3次方)。 有無窮多項為正,無窮多項為負(fù)的級數(shù)稱為變號級數(shù),其中最簡單的是形如∑[(-1)^(n-1)]*un(un>0)的級數(shù),稱之為交錯級數(shù)。判別這類級數(shù)收斂的基本方法是萊布尼茲判別法 :若un ≥un+1 ,對每一n∈N成立,并且當(dāng)n→∞時lim un=0,則交錯級數(shù)收斂。例如∑[(-1)^(n-1)]*(1/n)收斂。對于一般的變號級數(shù)如果有∑|un|收斂,則稱變號級數(shù)絕對收斂。如果只有 ∑un收斂,但是∑|un|發(fā)散,則稱變號級數(shù)條件收斂。例如∑[(-1)^(n-1)]*(1/n^2)絕對收斂,而∑[(-1)^(n-1)]*(1/n)只是條件收斂。 如果級數(shù)的每一項依賴于變量x,x 在某區(qū)間I內(nèi)變化,即un=un(x),x∈I,則∑un(x)稱為函數(shù)項級數(shù),簡稱函數(shù)級數(shù)。若x=x0使數(shù)項級數(shù)∑un(x0)收斂,就稱x0為收斂點,由收斂點組成的集合稱為收斂域,若對每一x∈I,級數(shù)∑un(x)都收斂,就稱I為收斂區(qū)間。顯然,函數(shù)級數(shù)在其收斂域內(nèi)定義了一個函數(shù),稱之為和函數(shù)S(x),即S(x)=∑un(x)如果滿足更強的條件,Sm(x)在收斂域內(nèi)一致收斂于S(x)。 一類重要的函數(shù)級數(shù)是形如∑an(x-x0)^0的級數(shù),稱之為冪級數(shù) 。它的結(jié)構(gòu)簡單 ,收斂域是一個以為中心的區(qū)間(不一定包括端點),并且在一定范圍內(nèi)具有類似多項式的性質(zhì),在收斂區(qū)間內(nèi)能進行逐項微分和逐項積分等運算。例如冪級數(shù)∑(2x)^n/x的收斂區(qū)間是[-1/2,1/2],冪級數(shù)∑[(x-21)^n]/(n^2)的收斂區(qū)間是[1,3],而冪級數(shù)∑(x^n)/(n!)在實數(shù)軸上收斂。 還有一類非常常用的級數(shù)是傅里葉級數(shù)。 拉普拉斯變換 拉普拉斯變換(英文:Laplace Transform),是工程數(shù)學(xué)中常用的一種積分變換。 如果定義: f(t),是一個關(guān)于t,的函數(shù),使得當(dāng)t<0,時候,f(t)=0,; s, 是一個復(fù)變量; mathcal 是一個運算符號,它代表對其對象進行拉普拉斯積分int_0^infty e^ ,dt;F(s),是f(t),的拉普拉斯變換結(jié)果。 則f(t),的拉普拉斯變換由下列式子給出: F(s),=mathcal left =int_ ^infty f(t),e^ ,dt 拉普拉斯逆變換,是已知F(s),,求解f(t),的過程。用符號 mathcal ^ ,表示。 拉普拉斯逆變換的公式是: 對于所有的t>0,; f(t) = mathcal ^ left =frac int_ ^ F(s),e^ ,ds c,是收斂區(qū)間的橫坐標(biāo)值,是一個實常數(shù)且大于所有F(s),的個別點的實部值。 為簡化計算而建立的實變量函數(shù)和復(fù)變量函數(shù)間的一種函數(shù)變換。對一個實變量函數(shù)作拉普拉斯變換,并在復(fù)數(shù)域中作各種運算,再將運算結(jié)果作拉普拉斯反變換來求得實數(shù)域中的相應(yīng)結(jié)果,往往比直接在實數(shù)域中求出同樣的結(jié)果在計算上容易得多。拉普拉斯變換的這種運算步驟對于求解線性微分方程尤為有效,它可把微分方程化為容易求解的代數(shù)方程來處理,從而使計算簡化。在經(jīng)典控制理論中,對控制系統(tǒng)的分析和綜合,都是建立在拉普拉斯變換的基礎(chǔ)上的。引入拉普拉斯變換的一個主要優(yōu)點,是可采用傳遞函數(shù)代替微分方程來描述系統(tǒng)的特性。這就為采用直觀和簡便的圖解方法來確定控制系統(tǒng)的整個特性(見信號流程圖、動態(tài)結(jié)構(gòu)圖)、分析控制系統(tǒng)的運動過程(見奈奎斯特穩(wěn)定判據(jù)、根軌跡法),以及綜合控制系統(tǒng)的校正裝置(見控制系統(tǒng)校正方法)提供了可能性。 用 f(t)表示實變量t的一個函數(shù),F(xiàn)(s)表示它的拉普拉斯變換,它是復(fù)變量s=σ+j&owega;的一個函數(shù),其中σ和&owega; 均為實變數(shù),j2=-1。F(s)和f(t)間的關(guān)系由下面定義的積分所確定: 如果對于實部σ >σc的所有s值上述積分均存在,而對σ ≤σc時積分不存在,便稱 σc為f(t)的收斂系數(shù)。對給定的實變量函數(shù) f(t),只有當(dāng)σc為有限值時,其拉普拉斯變換F(s)才存在。習(xí)慣上,常稱F(s)為f(t)的象函數(shù),記為F(s)=L[f(t)];稱f(t)為F(s)的原函數(shù),記為ft=L-1[F(s)]。 函數(shù)變換對和運算變換性質(zhì) 利用定義積分,很容易建立起原函數(shù) f(t)和象函數(shù) F(s)間的變換對,以及f(t)在實數(shù)域內(nèi)的運算與F(s)在復(fù)數(shù)域內(nèi)的運算間的對應(yīng)關(guān)系。表1和表2分別列出了最常用的一些函數(shù)變換對和運算變換性質(zhì)。 在工程學(xué)上的應(yīng)用 應(yīng)用拉普拉斯變換解常變量齊次微分方程,可以將微分方程化為代數(shù)方程,使問題得以解決。在工程學(xué)上,拉普拉斯變換的重大意義在于:將一個信號從時域上,轉(zhuǎn)換為復(fù)頻域(s域)上來表示;在線性系統(tǒng),控制自動化上都有廣泛的應(yīng)用。 傅立葉變換 中文譯名 Transformée de Fourier有多種中文譯名,常見的有“傅里葉變換”、“傅立葉變換”、“付立葉變換”、“富里葉變換”、“富里哀變換”等等。為方便起見,本文統(tǒng)一寫作“傅里葉變換”。 應(yīng)用 傅里葉變換在物理學(xué)、數(shù)論、組合數(shù)學(xué)、信號處理、概率論、統(tǒng)計學(xué)、密碼學(xué)、聲學(xué)、光學(xué)、海洋學(xué)、結(jié)構(gòu)動力學(xué)等領(lǐng)域都有著廣泛的應(yīng)用(例如在信號處理中,傅里葉變換的典型用途是將信號分解成幅值分量和頻率分量)。 概要介紹 * 傅里葉變換能將滿足一定條件的某個函數(shù)表示成三角函數(shù)(正弦和/或余弦函數(shù))或者它們的積分的線性組合。在不同的研究領(lǐng)域,傅里葉變換具有多種不同的變體形式,如連續(xù)傅里葉變換和離散傅里葉變換。最初傅里葉分析是作為熱過程的解析分析的工具被提出的(參見:林家翹、西格爾著《自然科學(xué)中確定性問題的應(yīng)用數(shù)學(xué)》,科學(xué)出版社,北京。原版書名為 C. C. Lin & L. A. Segel, Mathematics Applied to Deterministic Problems in the Natural Sciences, Macmillan Inc., New York, 1974)。 * 傅里葉變換屬于諧波分析。 * 傅里葉變換的逆變換容易求出,而且形式與正變換非常類似; * 正弦基函數(shù)是微分運算的本征函數(shù),從而使得線性微分方程的求解可以轉(zhuǎn)化為常系數(shù)的代數(shù)方程的求解.在線性時不變的物理系統(tǒng)內(nèi),頻率是個不變的性質(zhì),從而系統(tǒng)對于復(fù)雜激勵的響應(yīng)可以通過組合其對不同頻率正弦信號的響應(yīng)來獲取; * 卷積定理指出:傅里葉變換可以化復(fù)雜的卷積運算為簡單的乘積運算,從而提供了計算卷積的一種簡單手段; * 離散形式的傅里葉變換可以利用數(shù)字計算機快速的算出(其算法稱為快速傅里葉變換算法(FFT)). 基本性質(zhì) 線性性質(zhì) 兩函數(shù)之和的傅里葉變換等于各自變換之和。數(shù)學(xué)描述是:若函數(shù)f \left( x\right )和g \left(x \right)的傅里葉變換\mathcal[f]和\mathcal[g]都存在,α 和 β 為任意常系數(shù),則\mathcal[\alpha f+\beta g]=\alpha\mathcal[f]+\beta\mathcal[g];傅里葉變換算符\mathcal可經(jīng)歸一化成為么正算符; 頻移性質(zhì) 若函數(shù)f \left( x\right )存在傅里葉變換,則對任意實數(shù) ω0,函數(shù)f(x) e^{i \omega_ x}也存在傅里葉變換,且有\(zhòng)mathcal[f(x)e^{i \omega_ x}]=F(\omega + \omega _0 ) 。式中花體\mathcal是傅里葉變換的作用算子,平體F表示變換的結(jié)果(復(fù)函數(shù)),e 為自然對數(shù)的底,i 為虛數(shù)單位\sqrt; 微分關(guān)系 若函數(shù)f \left( x\right )當(dāng)|x|\rightarrow\infty時的極限為0,而其導(dǎo)函數(shù)f'(x)的傅里葉變換存在,則有\(zhòng)mathcal[f'(x)]=-i \omega \mathcal[f(x)] ,即導(dǎo)函數(shù)的傅里葉變換等于原函數(shù)的傅里葉變換乘以因子 ? iω 。更一般地,若f(\pm\infty)=f'(\pm\infty)=\ldots=f^{(k-1)}(\pm\infty)=0,且\mathcal[f^{(k)}(x)]存在,則\mathcal[f^{(k)}(x)]=(-i \omega)^ \mathcal[f] ,即 k 階導(dǎo)數(shù)的傅里葉變換等于原函數(shù)的傅里葉變換乘以因子( ? iω)k。 卷積特性 若函數(shù)f \left( x\right )及g \left( x\right )都在(-\infty,+\infty)上絕對可積,則卷積函數(shù)f*g=\int_{-\infty}^{+\infty} f(x-\xi)g(\xi)d\xi的傅里葉變換存在,且\mathcal[f*g]=\mathcal[f]\cdot\mathcal[g] 。卷積性質(zhì)的逆形式為\mathcal^[F(\omega)G(\omega)]=\mathcal^[F(\omega)]*\mathcal^[G(\omega)] ,即兩個函數(shù)乘積的傅里葉逆變換等于它們各自的傅里葉逆變換的卷積。 Parseval定理 若函數(shù)f \left( x\right )可積且平方可積,則\int_{-\infty}^{+\infty} f^2 (x)dx = \frac{2\pi}\int_{-\infty}^{+\infty} |F(\omega)|^d\omega 。其中 F(ω) 是 f(x) 的傅里葉變換。 傅里葉變換的不同變種 連續(xù)傅里葉變換 主條目:連續(xù)傅立葉變換 一般情況下,若“傅立葉變換”一詞的前面未加任何限定語,則指的是“連續(xù)傅里葉變換”?!斑B續(xù)傅里葉變換”將平方可積的函數(shù)f(t) 表示成復(fù)指數(shù)函數(shù)的積分或級數(shù)形式。 f(t) = \mathcal^[F(\omega)] = \frac{\sqrt{2\pi}} \int\limits_{-\infty}^\infty F(\omega) e^{i\omega t}\,d\omega. 上式其實表示的是連續(xù)傅里葉變換的逆變換,即將時間域的函數(shù)f(t)表示為頻率域的函數(shù)F(ω)的積分。反過來,其正變換恰好是將頻率域的函數(shù)F(ω)表示為時間域的函數(shù)f(t)的積分形式。一般可稱函數(shù)f(t)為原函數(shù),而稱函數(shù)F(ω)為傅里葉變換的像函數(shù),原函數(shù)和像函數(shù)構(gòu)成一個傅立葉變換對(transform pair)。 一種對連續(xù)傅里葉變換的推廣稱為分?jǐn)?shù)傅里葉變換(Fractional Fourier Transform)。 當(dāng)f(t)為奇函數(shù)(或偶函數(shù))時,其余弦(或正弦)分量將消亡,而可以稱這時的變換為余弦轉(zhuǎn)換(cosine transform) 或 正弦轉(zhuǎn)換(sine transform). 另一個值得注意的性質(zhì)是,當(dāng)f(t) 為純實函數(shù)時,F(?ω) = F(ω)*成立. 傅里葉級數(shù) 主條目:傅里葉級數(shù) 連續(xù)形式的傅里葉變換其實是傅里葉級數(shù)的推廣,因為積分其實是一種極限形式的求和算子而已。對于周期函數(shù),其傅里葉級數(shù)是存在的: f(x) = \sum_{n=-\infty}^{\infty} F_n \,e^ , 其中Fn 為復(fù)振幅。對于實值函數(shù),函數(shù)的傅里葉級數(shù)可以寫成: f(x) = \fraca_0 + \sum_{n=1}^\infty\left[a_n\cos(nx)+b_n\sin(nx)\right], 其中an和bn是實頻率分量的振幅。 離散時間傅里葉變換 主條目:離散時間傅里葉變換 離散傅里葉變換是離散時間傅里葉變換(DTFT)的特例(有時作為后者的近似)。DTFT在時域上離散,在頻域上則是周期的。DTFT可以被看作是傅里葉級數(shù)的逆。 離散傅里葉變換 主條目:離散傅里葉變換 為了在科學(xué)計算和數(shù)字信號處理等領(lǐng)域使用計算機進行傅里葉變換,必須將函數(shù)xn 定義在離散點而非連續(xù)域內(nèi),且須滿足有限性或周期性條件。這種情況下, 使用離散傅里葉變換,將函數(shù) xn 表示為下面的求和形式: x_n = \frac1 \sum_{k=0}^ X_k e^{i\frac{2\pi} kn} \qquad n = 0,\dots,N-1 其中Xk是傅里葉振幅。直接使用這個公式計算的計算復(fù)雜度為\mathcal(n^2),而快速傅里葉變換(FFT)可以將復(fù)雜度改進為\mathcal(n \log n)。計算復(fù)雜度的降低以及數(shù)字電路計算能力的發(fā)展使得DFT成為在信號處理領(lǐng)域十分實用且重要的方法。 在阿貝爾群上的統(tǒng)一描述 以上各種傅里葉變換可以被更統(tǒng)一的表述成任意局部緊致的阿貝爾群上的傅里葉變換。這一問題屬于調(diào)和分析的范疇。在調(diào)和分析中, 一個變換從一個群變換到它的對偶群(dual group)。此外,將傅里葉變換與卷積相聯(lián)系的卷積定理在調(diào)和分析中也有類似的結(jié)論。傅里葉變換的廣義理論基礎(chǔ)參見龐特里雅金對偶性(英文版)中的介紹。 時頻分析變換 主條目:時頻分析變換 小波變換,chirplet轉(zhuǎn)換和分?jǐn)?shù)傅里葉轉(zhuǎn)換試圖得到時間信號的頻率信息。同時解析頻率和時間的能力在數(shù)學(xué)上受不確定性原理的限制。 傅里葉變換家族 下表列出了傅里葉變換家族的成員. 容易發(fā)現(xiàn),函數(shù)在時(頻)域的離散對應(yīng)于其像函數(shù)在頻(時)域的周期性.反之連續(xù)則意味著在對應(yīng)域的信號的非周期性. 變換 時間 頻率 連續(xù)傅里葉變換 連續(xù), 非周期性 連續(xù), 非周期性 傅里葉級數(shù) 連續(xù), 周期性 離散, 非周期性 離散時間傅里葉變換 離散, 非周期性 連續(xù), 周期性 離散傅里葉變換 離散, 周期性 離散, 周期性 傅里葉變換的基本思想首先由法國學(xué)者傅里葉系統(tǒng)提出,所以以其名字來命名以示紀(jì)念。 從現(xiàn)代數(shù)學(xué)的眼光來看,傅里葉變換是一種特殊的積分變換。它能將滿足一定條件的某個函數(shù)表示成正弦基函數(shù)的線性組合或者積分。在不同的研究領(lǐng)域,傅里葉變換具有多種不同的變體形式,如連續(xù)傅里葉變換和離散傅里葉變換。 傅立葉變換屬于調(diào)和分析的內(nèi)容。"分析"二字,可以解釋為深入的研究。從字面上來看,"分析"二字,實際就是"條分縷析"而已。它通過對函數(shù)的"條分縷析"來達到對復(fù)雜函數(shù)的深入理解和研究。從哲學(xué)上看,"分析主義"和"還原主義",就是要通過對事物內(nèi)部適當(dāng)?shù)姆治鲞_到增進對其本質(zhì)理解的目的。比如近代原子論試圖把世界上所有物質(zhì)的本源分析為原子,而原子不過數(shù)百種而已,相對物質(zhì)世界的無限豐富,這種分析和分類無疑為認(rèn)識事物的各種性質(zhì)提供了很好的手段。 在數(shù)學(xué)領(lǐng)域,也是這樣,盡管最初傅立葉分析是作為熱過程的解析分析的工具,但是其思想方法仍然具有典型的還原論和分析主義的特征。"任意"的函數(shù)通過一定的分解,都能夠表示為正弦函數(shù)的線性組合的形式,而正弦函數(shù)在物理上是被充分研究而相對簡單的函數(shù)類,這一想法跟化學(xué)上的原子論想法何其相似!奇妙的是,現(xiàn)代數(shù)學(xué)發(fā)現(xiàn)傅立葉變換具有非常好的性質(zhì),使得它如此的好用和有用,讓人不得不感嘆造物的神奇: 1. 傅立葉變換是線性算子,若賦予適當(dāng)?shù)姆稊?shù),它還是酉算子; 2. 傅立葉變換的逆變換容易求出,而且形式與正變換非常類似; 3. 正弦基函數(shù)是微分運算的本征函數(shù),從而使得線性微分方程的求解可以轉(zhuǎn)化為常系數(shù)的代數(shù)方程的求解.在線性時不變的物理系統(tǒng)內(nèi),頻率是個不變的性質(zhì),從而系統(tǒng)對于復(fù)雜激勵的響應(yīng)可以通過組合其對不同頻率正弦信號的響應(yīng)來獲取; 4. 著名的卷積定理指出:傅立葉變換可以化復(fù)雜的卷積運算為簡單的乘積運算,從而提供了計算卷積的一種簡單手段; 5. 離散形式的傅立葉變換可以利用數(shù)字計算機快速的算出(其算法稱為快速傅立葉變換算法(FFT)). 正是由于上述的良好性質(zhì),傅里葉變換在物理學(xué)、數(shù)論、組合數(shù)學(xué)、信號處理、概率、統(tǒng)計、密碼學(xué)、聲學(xué)、光學(xué)等領(lǐng)域都有著廣泛的應(yīng)用。 有関傅立葉變換的FPGA実現(xiàn) 傅立葉變換是數(shù)字信號處理中的基本操作,廣泛應(yīng)用于表述及分析離散時域信號領(lǐng)域。但由于其運算量與變換點數(shù)N的平方成正比關(guān)系,因此,在N較大時,直接應(yīng)用DFT算法進行譜變換是不切合實際的。然而,快速傅立葉變換技術(shù)的出現(xiàn)使情況發(fā)生了根本性的變化。本文主要描述了采用FPGA來實現(xiàn)2k/4k/8k點FFT的設(shè)計方法。 1 整體結(jié)構(gòu) 一般情況下,N點的傅立葉變換對為: 其中,WN=exp(-2pi/N)。X(k)和x(n)都為復(fù)數(shù)。與之相對的快速傅立葉變換有很多種,如DIT(時域抽取法)、DIF(頻域抽取法)、Cooley-Tukey和Winograd等。對于2n傅立葉變換,Cooley-Tukey算法可導(dǎo)出DIT和DIF算法。本文運用的基本思想是Cooley-Tukey算法,即將高點數(shù)的傅立葉變換通過多重低點數(shù)傅立葉變換來實現(xiàn)。雖然DIT與DIF有差別,但由于它們在本質(zhì)上都是一種基于標(biāo)號分解的算法,故在運算量和算法復(fù)雜性等方面完全一樣,而沒有性能上的優(yōu)劣之分,所以可以根據(jù)需要任取其中一種,本文主要以DIT方法為對象來討論。 ?。危剑福保梗颤cDFT的運算表達式為: 式中,m=(4n1+n2)(2048k1+k2)(n=4n1+n2,k=2048k1+k2)其中n1和k2可?。?1,...,2047,k1和n2可取0,1,2,3。 由式(3)可知,8k傅立葉變換可由4×2k的傅立葉變換構(gòu)成。同理,4k傅立葉變換可由2×2k的傅立葉變換構(gòu)成。而2k傅立葉變換可由128×16的傅立葉變換構(gòu)成。128的傅立葉變換可進一步由16×8的傅立葉變換構(gòu)成,歸根結(jié)底,整個傅立葉變換可由基2、基4的傅立葉變換構(gòu)成。2k的FFT可以通過5個基4和1個基2變換來實現(xiàn);4k的FFT變換可通過6個基4變換來實現(xiàn);8k的FFT可以通過6個基4和1個基2變換來實現(xiàn)。也就是說:FFT的基本結(jié)構(gòu)可由基2/4模塊、復(fù)數(shù)乘法器、存儲單元和存儲器控制模塊構(gòu)成,其整體結(jié)構(gòu)如圖1所示。 圖1中,RAM用來存儲輸入數(shù)據(jù)、運算過程中的中間結(jié)果以及運算完成后的數(shù)據(jù),ROM用來存儲旋轉(zhuǎn)因子表。蝶形運算單元即為基2/4模塊,控制模塊可用于產(chǎn)生控制時序及地址信號,以控制中間運算過程及最后輸出結(jié)果。 ?。病〉芜\算器的實現(xiàn) 基4和基2的信號流如圖2所示。圖中,若A=r0+j*i0,B=r1+j*i1,C=r2+j*i2,D=r3+j*i3是要進行變換的信號,Wk0=c0+j*s0=1,Wk1=c1+j*s1,Wk2=c2+j*s2,Wk3=c3+j*s3為旋轉(zhuǎn)因子,將其分別代入圖2中的基4蝶形運算單元,則有: ?。痢洌絒r0+(r1×c1-i1×s1)+(r2×c2-i2×s2)+(r3×c3-i3×s3)]+j[i0+(i1×c1+r1×s1)+(i2×c2+r2×s2)+(i3×c3+r3×s3)] (4) B′=[r0+(i1×c1+r1×s1)-(r2×c2-i2×s2)-(i3×c3+r3×s3)]+j[i0-(r1×c1-i1×s1)-(i2×c2+r2×s2)+(r3×c3-i3×s3)] (5) ?。谩洌絒r0-(r1×c1-i1×s1)+(r2×c2-i2×s2)-(r3×c3-i3×s3)]+j[i0-(i1×c1+r1×s1)+(i2×c2+r2×s2)-(i3×c3+r3×s3)] (6) ?。摹洌絒r0-(i1×c1+r1×s1)-(r2×c2-i2×s2)+(i3×c3+r3×s3)]+j[i0+(r1×c1-i1×s1)-(i2×c2+r2×s2)-(r3×c3-i3×s3)] (7) 而在基2蝶形中,Wk0和Wk2的值均為1,這樣,將A,B,C和D的表達式代入圖2中的基2運算的四個等式中,則有: ?。痢洌剑颍埃?r1×c1-i1×s1)+j[i0+(i1×c1+r1×s1)] (8) ?。隆洌剑颍埃?(r1×c1-i1×s1)+j[i0-(i1×c1+r1×s1)] (9) ?。谩洌剑颍玻?r3×c3-i3×s3)+j[i0+(i3×c3+r3×s3)] (10) ?。摹洌剑颍玻?r3×c3-i3×s3)+j[i0-(i3×c3+r3×s3)] (11) 在上述式(4)~(11)中有很多類同項,如i1×c1+r1×s1和r1×c1-i1×s1等,它們僅僅是加減號的不同,其結(jié)構(gòu)和運算均類似,這就為簡化電路提供了可能。同時,在蝶形運算中,復(fù)數(shù)乘法可以由實數(shù)乘法以一定的格式來表示,這也為設(shè)計復(fù)數(shù)乘法器提供了一種實現(xiàn)的途徑。 以基4為例,在其運算單元中,實際上只需做三個復(fù)數(shù)乘法運算,即只須計算BWk1、CWk2和DWk3的值即可,這樣在一個基4蝶形單元里面,最多只需要3個復(fù)數(shù)乘法器就可以了。在實際過程中,在不提高時鐘頻率下,只要將時序控制好 便可利用流水線(Pipeline)技術(shù)并只用一個復(fù)數(shù)乘法器就可完成這三個復(fù)數(shù)乘法,大大節(jié)省了硬件資源。 圖2 基2和基4蝶形算法的信號流圖 ?。场。疲疲缘牡刂?br> ?。疲疲宰儞Q后輸出的結(jié)果通常為一特定的倒序,因此,幾級變換后對地址的控制必須準(zhǔn)確無誤。 倒序的規(guī)律是和分解的方式密切相關(guān)的,以基8為例,其基本倒序規(guī)則如下: 基8可以用2×2×2三級基2變換來表示,則其輸入順序則可用二進制序列(n1 n2 n3)來表示,變換結(jié)束后,其順序?qū)⒆優(yōu)椋ǎ睿?n2 n1),如:X 011 → x 110 ,即輸入順序為3,輸出時順序變?yōu)椋丁?br> 更進一步,對于基16的變換,可由2×2×2×2,4×4,4×2×2等形式來構(gòu)成,相對于不同的分解形式,往往會有不同的倒序方式。以4×4為例,其輸入順序可以用二進制序列(n1 n2 n3n4)來表示變換結(jié)束后,其順序可變?yōu)椋ǎǎ睿?n4)(n1 n2)),如: X 0111 → x 1101 。即輸入順序為7,輸出時順序變?yōu)椋保场?br> 在2k/4k/8k的傅立葉變換中,由于要經(jīng)過多次的基4和基2運算,因此,從每次運算完成后到進入下一次運算前,應(yīng)對運算的結(jié)果進行倒序,以保證運算的正確性。 ?。础⌒D(zhuǎn)因子 ?。吸c傅立葉變換的旋轉(zhuǎn)因子有著明顯的周期性和對稱性。其周期性表現(xiàn)為: FFT之所以可使運算效率得到提高,就是利用 ?。疲疲灾钥墒惯\算效率得到提高,就是利用了對稱性和周期性把長序列的DFT逐級分解成幾個序列的DFT,并最終以短點數(shù)變換來實現(xiàn)長點數(shù)變換。 根據(jù)旋轉(zhuǎn)因子的對稱性和周期性,在利用ROM存儲旋轉(zhuǎn)因子時,可以只存儲旋轉(zhuǎn)因子表的一部分,而在讀出時增加讀出地址及符號的控制,這樣可以正確實現(xiàn)FFT。因此,充分利用旋轉(zhuǎn)因子的性質(zhì),可節(jié)?。罚埃ヒ陨洗鎯卧?。 實際上,由于旋轉(zhuǎn)因子可分解為正、余弦函數(shù)的組合,故ROM中存的值為正、余弦函數(shù)值的組合。對2k/4k/8k的傅立葉變換來說,只是對一個周期進行不同的分割。由于8k變換的旋轉(zhuǎn)因子包括了2k/4k的所有因子,因此,實現(xiàn)時只要對讀ROM的地址進行控制,即可實現(xiàn)2k/4k/8k變換的通用。 ?。怠〈鎯ζ鞯目刂?br> 因FFT是為時序電路而設(shè)計的,因此,控制信號要包括時序的控制信號及存儲器的讀寫地址,并產(chǎn)生各種輔助的指示信號。同時在計算模塊的內(nèi)部,為保證高速,所有的乘法器都須始終保持較高的利用率。這意味著在每一個時鐘來臨時都要向這些單元輸入新的操作數(shù),而這一切都需要控制信號的緊密配合。 為了實現(xiàn)FFT的流形運算,在運算的同時,存儲器也要接收數(shù)據(jù)。這可以采用乒乓RAM的方法來完成。這種方式?jīng)Q定了實現(xiàn)FFT運算的最大時間。對于4k操作,其接收時間為4096個數(shù)據(jù)周期,這樣 FFT的最大運算時間就是4096個數(shù)據(jù)周期。另外,由于輸入數(shù)據(jù)是以一定的時鐘為周期依次輸入的,故在進行內(nèi)部運算時,可以用較高的內(nèi)部時鐘進行運算,然后再存入RAM依次輸出。 為節(jié)省資源,可對存儲數(shù)據(jù)RAM采用原址讀出原址寫入的方法,即在進行下一級變換的同時,首先應(yīng)將結(jié)果回寫到讀出數(shù)據(jù)的RAM存貯器中;而對于ROM,則應(yīng)采用與運算的數(shù)據(jù)相對應(yīng)的方法來讀出存儲器中旋轉(zhuǎn)因子的值。 在2k/4k/8k傅立葉變換中,要實現(xiàn)通用性,控制器是最主要的模塊。2k、4k、8k變換具有不同的內(nèi)部運算時間和存儲器地址,在設(shè)計中,針對不同的點數(shù)應(yīng)設(shè)計不同的存儲器存取地址,同時,在完成變換后,還要對開始輸出有用信號的時刻進行指示。 6 硬件的選擇 本設(shè)計的硬件實現(xiàn)選用的是現(xiàn)場可編程門陣列(FPGA)來滿足較高速度的需要。本系統(tǒng)在設(shè)計時選用的是ALTERA公司的STRATIX芯片,該芯片中包含有DSP單元,可以完成較為耗費資源的乘法器單元。同時,該器件也包含有大量存儲單元,從而可保證旋轉(zhuǎn)因子的精度。 除了一些專用引腳外,FPGA上幾乎所有的引腳均可供用戶使用,這使得FPGA信號處理方案具有非常好的I/O帶寬。大量的I/O引腳和多塊存儲器可使設(shè)計獲得優(yōu)越的并行處理性能。其獨立的存儲塊可作為輸入/工作存儲區(qū)和結(jié)果的緩存區(qū),這使得I/O可與FFT計算同時進行。在實現(xiàn)的時間方面,該設(shè)計能在4096個時鐘周期內(nèi)完成一個4096點的FFT。若采用10MHz的輸入時鐘,其變換時間在200μs左右。而由于最新的FPGA使用了MultiTrack互連技術(shù),故可在250MHz以下頻率穩(wěn)定地工作,同時,FFT的實現(xiàn)時間也可以大大縮小。 ?。疲疲赃\算結(jié)果的精度與輸入數(shù)據(jù)的位數(shù)及運算過程中的位數(shù)有關(guān),同時和數(shù)據(jù)的表示形式也有很大關(guān)系。一般來說,浮點方式比定點方式精度高。而在定點計算中,存儲器數(shù)據(jù)的位數(shù)越大,運算精度越高, 使用的存儲單元和邏輯單元也越多。在實際應(yīng)用中,應(yīng)根據(jù)實際情況折衷選擇精度和資源。本設(shè)計通過MATLAB進行仿真證明:其實現(xiàn)的變換結(jié)果與MATLAB工具箱中的FFT函數(shù)相比,信噪比可以達到65db以上,完全可以滿足一般工程的實際應(yīng)用要求。 離散余弦變換 離散余弦變換(DCT for Discrete Cosine Transform)是與傅里葉變換相關(guān)的一種變換,它類似于離散傅里葉變換(DFT for Discrete Fourier Transform),但是只使用實數(shù)。離散余弦變換相當(dāng)于一個長度大概是它兩倍的離散傅里葉變換,這個離散傅里葉變換是對一個實偶函數(shù)進行的(因為一個實偶函數(shù)的傅里葉變換仍然是一個實偶函數(shù)),在有些變形里面需要將輸入或者輸出的位置移動半個單位(DCT有8種標(biāo)準(zhǔn)類型,其中4種是常見的)。 最常用的一種離散余弦變換的類型是下面給出的第二種類型,通常我們所說的離散余弦變換指的就是這種。它的逆,也就是下面給出的第三種類型,通常相應(yīng)的被稱為"反離散余弦變換","逆離散余弦變換"或者"IDCT"。 有兩個相關(guān)的變換,一個是離散正弦變換(DST for Discrete Sine Transform),它相當(dāng)于一個長度大概是它兩倍的實奇函數(shù)的離散傅里葉變換;另一個是改進的離散余弦變換(MDCT for Modified Discrete Cosine Transform),它相當(dāng)于對交疊的數(shù)據(jù)進行離散余弦變換。 應(yīng)用 離散余弦變換,尤其是它的第二種類型,經(jīng)常被信號處理和圖像處理使用,用于對信號和圖像(包括靜止圖像和運動圖像)進行有損數(shù)據(jù)壓縮。這是由于離散余弦變換具有很強的"能量集中"特性:大多數(shù)的自然信號(包括聲音和圖像)的能量都集中在離散余弦變換后的低頻部分,而且當(dāng)信號具有接近馬爾科夫過程(Markov processes)的統(tǒng)計特性時,離散余弦變換的去相關(guān)性接近于K-L變換(Karhunen-Loève 變換--它具有最優(yōu)的去相關(guān)性)的性能。 例如,在靜止圖像編碼標(biāo)準(zhǔn)JPEG中,在運動圖像編碼標(biāo)準(zhǔn)MJPEG和MPEG的各個標(biāo)準(zhǔn)中都使用了離散余弦變換。在這些標(biāo)準(zhǔn)制中都使用了二維的第二種類型離散余弦變換,并將結(jié)果進行量化之后進行熵編碼。這時對應(yīng)第二種類型離散余弦變換中的n通常是8,并用該公式對每個8x8塊的每行進行變換,然后每列進行變換。得到的是一個8x8的變換系數(shù)矩陣。其中(0,0)位置的元素就是直流分量,矩陣中的其他元素根據(jù)其位置表示不同頻率的交流分類。 一個類似的變換, 改進的離散余弦變換被用在高級音頻編碼(AAC for Advanced Audio Coding),Vorbis 和 MP3 音頻壓縮當(dāng)中。 離散余弦變換也經(jīng)常被用來使用譜方法來接偏微分方程,這時候離散余弦變換的不同的變量對應(yīng)著數(shù)組兩端不同的奇/偶邊界條件。 計算 盡管直接使用公式進行變換需要進行O(n2)次操作,但是和快速傅里葉變換類似,我們有復(fù)雜度為O(nlog(n))的快速算法,這就是常常被稱做蝶形變換的一種分解算法。另外一種方法是通過快速傅里葉變換來計算DCT,這時候需要O(n)的預(yù)操作和后操作。 參考 K. R. Rao and P. Yip, 離散余弦變換 : 算法、優(yōu)點和應(yīng)用 (Discrete Cosine Transform: Algorithms, Advantages, Applications) (Academic Press, Boston, 1990). A. V. Oppenheim, R. W. Schafer, and J. R. Buck, 時間離散信號處理 (Discrete-Time Signal Processing), second edition (Prentice-Hall, New Jersey, 1999). S. A. Martucci, 對稱卷積和離散正弦余弦變換 (Symmetric convolution and the discrete sine and cosine transforms), IEEE Trans. Sig. ProcessingSP-42, 1038-1051 (1994). Matteo Frigo and Steven G. Johnson: FFTW, http://www./. 一個免費的C語言庫GPL,可以計算DCT-I~IV的1維到多維的任意大小的變換 M. Frigo and S. G. Johnson, "FFTW3的設(shè)計和實現(xiàn)," Proceedings of the IEEE93 (2), 216–231 (2005). [編輯本段]改進的離散余弦變換 改進的離散余弦變換(Modified Discrete Cosine Transform, MDCT)是一種與傅立葉變換相關(guān)的變換,以第四型離散余弦變換(DCT-IV)為基礎(chǔ),重疊性質(zhì)如下:它是應(yīng)用于處理較大的資料集合,當(dāng)連續(xù)的資料區(qū)塊中,當(dāng)前的資料區(qū)塊跟后續(xù)的資料區(qū)塊有重疊到的情形;即當(dāng)前資料區(qū)塊的后半段與下一個資料區(qū)塊的前半段為重疊的狀態(tài)。這樣的重疊情形,除了具有離散余弦變換(Discrete Cosine Transform, DCT)的能量壓縮特性外,也使這種變換在應(yīng)用于信號壓縮時更引人注目。因為它有助于避免由于資料區(qū)塊邊界所產(chǎn)生的多余資料。因此,這種變換可應(yīng)用于MP3,AC-3, ogg vorbis,和AAC的音頻壓縮等方面。 改進的離散余弦變換是由Princen,Johnson和Bradley承接早前(1986年)Princen和Bradley所提出關(guān)于時域混疊消除法(Time-Domain Aliasing Cancellation, TDAC )的改進的離散余弦變換基本定理,于1987年所提出,詳述如下。至于其他類似的變換還有如以離散正弦變換為基礎(chǔ)的改進的離散正弦變換(Modified Discrete Sine Transform, MDST)。以及其他較少使用的變換,例如以其他不同類型的DCT或DCT/DST的組合為基礎(chǔ)的改進的離散余弦變換。 在MP3的應(yīng)用上,改進的離散余弦變換,并不適用于直接處理音頻信號,而適用于處理32波段多相正交濾波器(Polyphase quadrature filter, PQF)陣列的輸出端信號。這樣的改進的離散余弦變換輸出是由一個混疊削減公式作后置處理,用以減少多相正交濾波器陣列的特殊混疊。這樣的改進的離散余弦變換與濾波器陣列組合,被稱作混合濾波器陣列或子帶改進的離散余弦變換 。相反地,AAC通常使用一個純粹的改進的離散余弦變換;僅Sony公司使用的MPEG – 4 AAC - SSR技術(shù)采用了運用改進的離散余弦變換的四波段多相正交濾波器陣列(但也是很少使用)。自適應(yīng)聽覺變換編碼(Adaptive TRansfeorm Acoustic Coding, ATRAC)利用運用改進的離散余弦變換的堆疊型正交鏡像濾波器(Quadrature Mirror Filter, QMF)。 小波變換 小波變換的概念是由法國從事石油信號處理的工程師J.Morlet在1974年首先提出的,通過物理的直觀和信號處理的實際需要經(jīng)驗的建立了反演公式,當(dāng)時未能得到數(shù)學(xué)家的認(rèn)可。正如1807年法國的熱學(xué)工程師J.B.J.Fourier提出任一函數(shù)都能展開成三角函數(shù)的無窮級數(shù)的創(chuàng)新概念未能得到??名數(shù)學(xué)家J.L.Lagrange,P.S.Laplace以及A.M.Legendre的認(rèn)可一樣。幸運的是,早在七十年代,A.Calderon表示定理的發(fā)現(xiàn)、Hardy空間的原子分解和無條件基的深入研究為小波變換的誕生做了理論上的準(zhǔn)備,而且J.O.Stromberg還構(gòu)造了歷史上非常類似于現(xiàn)在的小波基;1986年??名數(shù)學(xué)家Y.Meyer偶然構(gòu)造出一個真正的小波基,并與S.Mallat合作建立了構(gòu)造小波基的同意方法??多尺度分析之后,小波分析才開始蓬勃發(fā)展起來,其中比利時女?dāng)?shù)學(xué)家I.Daubechies撰寫的《小波十講(Ten Lectures on Wav ...
|