說的廣義一點,"複數"是一個"概念",不是一種客觀存在。
什麼是"概念"?一張紙有幾個面?兩個,這裡"面"是一個概念,一個主觀對客觀存在的認知,就像"大"和"小"的概念一樣,只對人的意識有意義,對客觀存在本身沒有意義(康德:純粹理性的批判)。把紙條的兩邊轉一下相連接,變成"莫比烏斯圈",這個紙條就只剩下一個"面"了。概念是對客觀世界的加工,反映到意識中的東西。
數的概念是這樣被推廣的:什麼數x使得x²=-1?實數軸顯然不行,(-1)×(-1)=1。那麼如果存在一個抽象空間,它既包括真實世界的實數,也能包括想像出來的x²=-1,那麼我們稱這個想像空間為"複數域"。那麼實數的運算法則就是複數域的一個特例。為什麼1×(-1)=-1?+-符號在複數域裡面代表方向,-1就是"向後,轉!"這樣的命令,一個1在圓周運動180度以後變成了-1,這裡,直線的數軸和圓周旋轉,在複數的空間裡面被統一了。
因此,(-1)×(-1)=1可以解釋為"向後轉"+"向後轉"=回到原地。那麼複數域如何表示x²=-1呢?很簡單,"向左轉","向左轉"兩次相當於"向後轉"。由於單軸的實數域(直線)不包含這樣的元素,所以複數域必須由兩個正交的數軸表示--平面。很明顯,我們可以得到複數域乘法的一個特性,就是結果的絕對值為兩個複數絕對值相乘,旋轉的角度=兩個複數的旋轉角度相加。
高中時代我們就學習了迪莫弗定理。為什麼有這樣的乘法性質?不是因為複數域恰好具有這樣的乘法性質(性質決定認識),而是發明複數域的人就是根據這樣的需求去弄出了這麼一個複數域(認識決定性質),是一種主觀唯心主義的研究方法。為了構造x²=-1,我們必須考慮把乘法看為兩個元素構成的集合:乘積和角度旋轉。
因為三角函數可以看為圓周運動的一種投影,所以,在複數域,三角函數和乘法運算(指數)被統一了。我們從實數域的傅立葉級數展開入手,立刻可以得到形式更簡單的,複數域的,和實數域一一對應的傅立葉複數級數。因為複數域形式簡單,所以研究起來方便----雖然自然界不存在複數,但是由於和實數域的級數一一對應,我們做個反映射就能得到有物理意義的結果。
那麼傅立葉變換,那個令人難以理解的轉換公式是什麼含義呢? 我們可以看一下它和複數域傅立葉級數的關係。
什麼是微積分,就是先微分,再積分,傅立葉級數已經作了無限微分了,對應無數個離散的頻率分量衝擊信號的和。傅立葉變換要解決非周期信號的分析問題,想像這個非周期信號也是一個周期信號:只是周期為無窮大,各頻率分量無窮小而已(否則積分的結果就是無窮)。那麼我們看到傅立葉級數,每個分量常數的求解過程,積分的區間就是從T變成了正負無窮大。而由於每個頻率分量的常數無窮小,那麼讓每個分量都去除以f,就得到有值的數----所以周期函數的傅立葉變換對應一堆脈衝函數。
同理,各個頻率分量之間無限的接近,因為f很小,級數中的f,2f,3f之間幾乎是挨著的,最後挨到了一起,和卷積一樣,這個複數頻率空間的級數求和最終可以變成一個積分式:傅立葉級數變成了傅立葉變換。注意有個概念的變化:離散的頻率,每個頻率都有一個"權"值,而連續的F域,每個頻率的加權值都是無窮小(面積=0),只有一個頻率範圍內的"頻譜"才對應一定的能量積分。頻率點變成了頻譜的線。
因此傅立葉變換求出來的是一個通常是一個連續函數,是複數頻率域上面的可以畫出圖像的東西?那個根號2π又是什麼?它只是為了保證正變換反變換回來以後,信號不變。我們可以讓正變換除以2,讓反變換除以π,怎麼都行。慢點,怎麼有"負數"的部分,還是那句話,是數軸的方向對應複數軸的旋轉,或者對應三角函數的相位分量,這樣說就很好理解了。有什麼好處?我們忽略相位,只研究"振幅"因素,就能看到實數頻率域內的頻率特性了。
我們從實數(三角函數分解)——>複數(e和π)——>複數變換(F)——>複數反變換(F₋₁)——>複數(取幅度分量)——>實數,看起來很複雜,但是這個工具使得,單從實數域無法解決的頻率分析問題,變得可以解決了。
兩者之間的關係是:傅立葉級數中的頻率幅度分量是a1~an,b1~bn,這些離散的數表示頻率特性,每個數都是積分的結果。而傅立葉變換的結果是一個連續函數:對於f域每個取值點a1~aN(N=無窮),它的值都是原始的時域函數和一個三角函數(表示成了複數)積分的結果----這個求解和級數的表示形式是一樣的。不過是把N個離散的積分式子統一為了一個通用的,連續的積分式子。
復頻域,大家都說畫不出來,但是我來畫一下!因為不是一個圖能夠表示清楚的。我用純中文來說:
畫一個x,y軸組成的平面,以原點為中心畫一個圓(r=1)。再畫一條豎直線:(直線方程x=2),把它看成是一塊擋板。
想像,有一個原子,從(1,0)點出發,沿著這個圓作逆時針勻速圓周運動。想像太陽光從x軸的複數方向射向x軸的正數方向,那麼這個原子運動在擋板(x=2)上面的投影,就是一個簡諧振動。
再修改一下,x=2對應的不是一個擋板,而是一個印表機的出紙口,那麼,原子運動的過程就在白紙上畫下了一條連續的sin(t)曲線!
上面3條說明了什麼呢?三角函數和圓周運動是一一對應的。如果我想要sin(t+x),或者cos(t)這種形式,我只需要讓原子的起始位置改變一下就可以了:也就是級坐標的向量,半徑不變,相位改變。
傅立葉級數的實數展開形式,每一個頻率分量都表示為AnCos(nt)+BnSin(nt),我們可以證明,這個式子可以變成sqr(An²+Bn²)sin(nt+x)這樣的單個三角函數形式,那麼:實數值對(An,Bn),就對應了二維平面上面的一個點,相位x對應這個點的相位。實數和複數之間的一一對應關係便建立起來了,因此實數頻率唯一對應某個複數頻率,我們就可以用複數來方便的研究實數的運算:把三角運算變成指數和乘法加法運算。
但是,F變換仍然是有限制的(輸入函數的表示必須滿足狄義赫立條件等),為了更廣泛的使用"域"變換的思想來表示一種"廣義"的頻率信息,我們就發明出了拉普拉斯變換,它的連續形式對應F變換,離散形式就成了Z變換。
離散信號呢?離散周期函數的F級數,項數有限,離散非周期函數(看為周期延拓以後仍然是離散周期函數),離散F級數,仍然項數有限。離散的F變換,很容易理解----連續信號通過一個周期採樣濾波器,也就是頻率域和一堆脈衝相乘。時域取樣對應頻域周期延拓。為什麼?反過來容易理解了,時域的周期延拓對應頻率域的一堆脈衝。
兩者的區別:FT[f(t)]=從負無窮到正無窮對[f(t)exp(-jwt)]積分LT[f(t)]=從零到正無窮對[f(t)exp(-st)]積分 (由於實際應用,通常只做單邊Laplace變換,即積分從零開始) 具體地,在Fourier積分變換中,所乘因子為exp(-jwt),此處,-jwt顯然是為一純虛數;而在laplace變換中,所乘因子為exp(-st),其中s為一複數:s=D+jw,jw是為虛部,相當於Fourier變換中的jwt,而D則是實部,作為衰減因子,這樣就能將許多無法作Fourier變換的函數(比如exp(at),a>0)做域變換。
而Z變換,簡單地說,就是離散信號(也可以叫做序列)的Laplace變換,可由抽樣信號的Laplace變換導出。ZT[f(n)]=從n為負無窮到正無窮對[f(n)Z^(-n)]求和。Z域的物理意義:由於值被離散了,所以輸入輸出的過程和花費的物理時間已經沒有了必然的關係(t只對連續信號有意義),所以頻域的考察變得及其簡單起來。
我們把(1,-1,1,-1,1,-1)這樣的基本序列看成是數字頻率最高的序列,他的數字頻率是1Hz(數字角頻率2π),其他的數字序列頻率都是N分之1Hz,頻率分解的結果就是0-2π角頻率當中的若干個值的集合,也是一堆離散的數。由於時頻都是離散的,所以在做變換的時候,不需要寫出衝擊函數的因子
離散傅立葉變換到快速傅立葉變換----由於離散傅立葉變換的次數是O(N²),於是我們考慮把離散序列分解成兩兩一組進行離散傅立葉變換,變換的計算複雜度就下降到了O(NlogN),再把計算的結果累加O(N),這就大大降低了計算複雜度。
再說一個高級話題:小波。在實際的工程應用中,前面所說的這些變換大部分都已經被小波變換代替了。
什麼是小波?先說什麼是波:傅立葉級數裡面的分量,sin/cos函數就是波,sin(t)/cos(t)經過幅度的放縮和頻率的收緊,變成了一系列的波的求和,一致收斂於原始函數。注意傅立葉級數求和的收斂性是對於整個數軸而言的,嚴格的。
不過前面我們說了,實際應用FFT的時候,我們只需要關注部分信號的傅立葉變換然後求出一個整體和就可以了,那麼對於函數的部分分量,我們只需要保證這個用來充當磚塊的"波函數",在某個區間(用窗函數來濾波)內符合那幾個可積分和收斂的定義就可以了,因此傅立葉變換的"波"因子,就可以不使用三角函數,而是使用一系列從某些基本函數構造出來的函數族,只要這個基本函數符合那些收斂和正交的條件就可以了。
怎麼構造這樣的基本函數呢?sin(t)被加了方形窗以後,映射到頻域是一堆無窮的散列脈衝,所以不能再用三角函數了。我們要得到頻率域收斂性好的函數族,能覆蓋頻率域的低端部分。說的遠一點,如果是取數位訊號的小波變換,那麼基礎小波要保證數字角頻率是最大的2π。
利用小波進行離頻譜分析的方法,不是像傅立葉級數那樣求出所有的頻率分量,也不是向傅立葉變換那樣看頻譜特性,而是做某種濾波,看看在某種數字角頻率的波峰值大概是多少。可以根據實際需要得到如幹個數字序列。
我們採用(0,f),(f,2f),(2f,4f)這樣的倍頻關係來考察函數族的頻率特性,那麼對應的時間波形就是倍數擴展(且包含調製,所以才有頻譜搬移)的一系列函數族。頻域是窗函數的基本函數,時域就是鐘形函數。當然其他類型的小波,雖然頻率域不是窗函數,但是仍然可用:因為小波積分求出來的變換,是一個值,例如(0,f)裡包含的總能量值,(f,2f)裡面包含的總能量值。所以即使頻域的分割不是用長方形而是其他的圖形,對於結果來說影響不大。
同時,這個頻率域的值,它的解析度密度和時域小波基函數的時間解析度是衝突的(時域緊頻域寬,時域寬頻域緊),所以設計的時候受到海森堡測不準原理的制約。Jpeg2000壓縮就是小波:因為時頻都是局部的,變換結果是數值點而不是向量,所以,計算複雜度從FFT的O(NlgN)下降到了O(N),性能非常好。
用中文說了這麼多,基本的思想已經表達清楚了,為了"研究方便",從實數傅立葉級數展開,到創造了複數域的傅立葉級數展開,再到傅立葉變換,再擴展到拉式變換,再為了時頻都離散的情況簡化為Z變換,全部都用一根主線聯繫起來了。