首先何謂諧波?諧波(harmonics)本來是一個音樂的概念,於兩千多年前,希臘的哲學家已發覺有些音節一同合唱時會有和諧的感覺,這便是諧音。而大哲學家畢達哥拉斯更發現這些諧音間的微妙數學關係。
現代科學對諧波的理解極為簡單,這就是頻率剛好成整數倍數。例如,有一個聲音其頻率為300Hz,那麼600Hz,900Hz,1200Hz等便是它的諧波。
Fourier就是經過嚴謹的數學推導,創出對任何週期性函數找出其正弦及其諧波組成的方法。由於這方法需用比較高深的微積分,所以,我今次不深入討論了。但我們可以通過一些例子,感性地理解這們學問。
以下我便以方波為例,
現在就是要用正弦波用組成這個方波。 |
主波便是一個和方波相同週期的正弦波。 ’嘩,差咁遠,咁都得!’ ’有點耐性罷!’ |
紅色的波形代表我們所用的正弦波。我們多加了一個3倍頻率的諧波。為甚麼是3倍,又為甚麼是這樣的大小?這便是由Fourier analysis計算出來。 綠色的波形代表紅色波形的總和。特別留意本主波的最高位超越了方波不少。加了3次諧波後,結果反而是低於方波。 |
加入5倍諧波,結果更加接近。 |
再加入7倍諧波後的結果。 |
再加入9倍諧波的結果。 |
首10個諧波再加的結果。 |
首100個諧波相加的結果。 |
從上例可以觀察到,主波和幾個諧波相加後,便‘相當’似一個方波,但理論上,要完全變成一個方波,便要把無限多的諧波相加!
進行了這樣的分析,又有甚麼好處呢?幾十年前,當數碼技術還未普及時,模擬技術便靠這們學問對電子設計進行各樣的計算和分析。簡單來說,我們祗要詳細了解電子電路對正弦波的各項特性,我們便等如知道它對其他任何週期性訊號的特性!
當我們要使用數碼去處理模擬訊號時,必需將模擬訊號轉換成數碼訊號,這個過程稱為‘取樣’(sampling)。但要取多少點才足夠呢?這個標準其實也是基於Fourier analysis。
其實,Fourier analysis對數碼技術的應用,遠超於此。Fourier analysis是把數學函數,變成一個主正弦波及其諧波的數學方法。由此變化出來的有Fourier Transform。這就是可以把由數碼取了樣的波形,轉換為主正弦波及其諧波。轉換後,我們便可以視它們為一組的正弦波加以分析,傳送或壓縮。
Discrete Cosine Transformation (DCT)正正是由Fourier Transform衍生出來的。所以,在Jpeg壓縮的算法裏,我們實在是把獨立的點看成一個整體(註),然後運用DCT把它們看成是一組正弦波相加而成。理論上是要無限多的‘波’,但我們抛棄了高頻的‘波’。這樣,便會看到重覆性,便可以有效壓縮了!
這樣應可以理解為甚麼會出現水波紋(artifacts),回顧方波的例子,平來是直線的方波,在有限次的主波諧波相加後,是不是出現了‘波紋’!這便解釋了為甚麼把變化得快的部份去除,反會出現額外的變化!
其實,圖像壓縮給了我們一個重要的哲學啟示,這就是有沒有規律,其實要看我們如何去表達。一般圖像若以RGB表達,實在很難找出規律,但經過一連串轉換後,便可以成功找出規律,最後達成壓縮的任務!
抽象數學,便是研究很多常人看似完全獨立和沒規律的東西,找出規律和相關性。
1 則留言:
As for DCT, does that assume the function is even?
張貼留言