天天看點

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    如果說有哪個人在大學生腦海裡一直揮之不去,那一定是——沒錯,就是他,傅裡葉(Jean Baptiste Joseph Fourier,1768-1830),他的重要成就:傅裡葉級數理論,給衆多學子留下了不可磨滅的陰影。但是你可知道,傅裡葉級數理論的前世今生?

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

本期目錄

一、一個重要的發現

二、傅裡葉的堅持及傅裡葉級數的嚴密化

三、傅裡葉級數到底是什麼

四、傅裡葉級數的實際應用

五、傅裡葉級數理論的知識基礎

六、傅裡葉級數理論的基本内容

七、幾種傅裡葉級數的計算技巧

八、參考文獻

一、一個重要的發現

    事實上,傅裡葉級數并不起源于傅裡葉。早在傅裡葉還沒出生的1753年,丹尼爾·伯努利(Daniel Bernoulli,1700-1782)就提出了可以用三角函數來解弦振動方程。弦振動方程大概就是這麼個玩意兒:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    這是偉大的數學家們邁出打通三角函數與其他函數中間那扇牆的第一步。緊接着到1759年,數學家們已成功将x的2/3次方用三角函數的形式表示。再跨越到1777年,在歐拉(Leonhard Euler,1707-1783)研究天文問題時,已推導出以下的式子:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    可以發現,這個式子和我們今天在高數課本上看到的傅裡葉級數中的a(n)已經非常接近了。但是,這個式子僅能表示周期為l的偶函數的情況,尚未具備普适性。

二、傅裡葉的堅持與傅裡葉級數的嚴密化

    為什麼伯努利、歐拉等鼎鼎有名的大佬已經做到這一步,卻仍然無法成就“伯努利級數”或“歐拉級數”呢?因為從當時的數學研究而言,很多的壁壘尚未打破,比如周期函數和非周期函數的對立、奇函數和偶函數的對立等,這種現在看來比較狹隘的函數觀,為三角函數的進一步突破造成了阻礙,也讓歐拉、伯努利等一衆知名數學家無法打破傅裡葉級數的壁壘。

    但終于在19世紀初,三角函數也迎來了它的生命天子——傅裡葉。傅裡葉是一個實體學家,他利用把周期函數轉化為三角函數的方法成功解決了熱傳導理論的很多問題,同時也讓他提出:任何一個周期函數都能用三角函數的方式展開。

    已享有盛名的傅裡葉在對周期函數與三角函數的問題上在當時的數學家看來就像一個二愣子一般硬要往裡鑽,在别的數學學家乃至各個領域大牛都堅定地認為周期函數不可能被表示成三角函數的形式,甚至連巴黎科學院都是以拒了他的論文之時,傅裡葉卻仍然堅決認為這是可行的。他無比自信地認為,任何一個周期函數在(-pi,pi)上都可表示為以下的式子:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    但最最可惜的是,傅裡葉沒能給出詳細證明,也并沒有歸納出傅裡葉級數在展開過程中所需要的限制條件。他隻靠一種直覺說:“周期函數一定能表示成三角函數的形式。”這就像你嘴上一直說“我一定能減肥成功”但始終不見你行動更不見你瘦下來。

    直到1829年,傅裡葉級數才迎來了它的第二位卓有貢獻的推動者——狄利克雷(Johann Peter Gustav Lejeune Dirichlet,1805-1859)。他在論文《關于三角函數的收斂性》中給出并證明了三角函數收斂與目标函數 f(x) 的條件,被尊稱為使傅裡葉級數嚴密化的第一人甚至傅裡葉級數理論的創始者。他所給出的傅裡葉級數收斂的條件——狄利克雷條件,跟我們現在高數課本中的條件已經相差無幾。

    1854年,黎曼(Riemann,1826-1866)在論文《用三角級數表示函數》中,給出并證明了傅裡葉級數的系數為:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    至此,高數課本中關于傅裡葉級數的理論内容基本得到解決。至今,傅裡葉級數已不斷發展并應用于實際生活中,在信号與系統等方面已經不可或缺,其理論研究上也已經變得更具普适性,并不隻限于(-pi,pi)的區間。

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

三、傅裡葉級數到底是什麼

    取分段函數:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    舉這麼一個分段函數為例,将它展開為傅裡葉級數的結果為:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    我們将其中的三角函數逐項疊加,圖像大概是這樣:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    我們可以看出,在不斷的疊加過程中,三角函數的和已經逐漸逼近原分段函數了。是以,我們成功地将一個一般的函數轉化為了三角函數的表示形式,而按照百度百科,傅裡葉級數就是一種特殊的三角級數,它将一般的周期函數分解為三角函數的形式。當然如果這樣描述,那就是太小看傅裡葉級數的威力了。在實際應用中,比如熱傳導,比如信号與系統等,它們所需要用到的各類函數千變萬化,是需要通過無比複雜的函數進行逼近的。但若我們在具體實作這種種計算的過程中,能夠将複雜函數分解為簡單函數和,那麼對于複雜函數的處理能力将發生飛躍。實際上,傅裡葉級數更應該被解釋或描述為:“将(複雜)函數和圖像分解成簡單震蕩的疊加”,盡管它的起源是一個看起來和頻率和震蕩毫無關系的實體問題(引自3blue1brown關于熱傳導理論的講解中涉及傅裡葉變換的部分)。

四、傅裡葉級數的實際應用

1.數學應用

    通過傅裡葉級數對函數進行展開,并由傅裡葉級數的斂散性直接得出兩式相等,以下給出一個例子:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

2.解決平面連杆機構綜合問題

    平面連杆機構中連杆上任意點的運動軌迹(連杆曲線)可以表示為一系列不同周期的圓周運動頻率分量的合成。把每個諧波成分的參數 作為一個獨立構件的運動參數,然後把每個構件依次相連形成一個開鍊(對應于矢量求和),則該開鍊機構的端點描繪出的曲線,就是這裡所需的平面連杆曲線。

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    用連杆曲線的諧波成分來描述相應的連杆曲線,根據這些諧波成分轉化成相應的開鍊機構就可以完全再現原連杆軌迹,進而也将連杆曲線的幾何意義與其諧波參數聯系起來,為下一步利用這一數學工具進行機構軌迹綜合奠定了基礎。

    由連杆轉角函數中的變量連杆擺動角函數θ(t)和機構尺寸參數共同決定連杆轉角函數的諧波特征參數。以常見的平面四杆機構為例,兩個對應杆長成比例的平面四杆機構 ABCD 和 AEFG,根據幾何關系可知兩者具有相同的連杆擺動角函數θ(t) 。是以可以将連杆機構各杆長轉化為量綱一的尺寸型與擺動角函數θ(t) 相對應。

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    根據傅裡葉級數理論,給出了連杆曲線諧波參數在平面連杆機構和空間連杆機構上的幾何意義,為連杆機構連杆曲線的分析和綜合提供了有效的工具。基于傅裡葉級數理論解決了連杆曲線特征參數提取的問題,給出了建立平面和空間連杆曲線數值圖譜的統一步驟,在此基礎上為連杆機構的軌迹綜合提供了一個新的思路。

3.改進機器人動力學參數辨識

    針對機器人動力學參數辨識的問題,提出一種基于改進傅裡葉級數的辨識方法。采用靜态連續摩擦模型描述機器人關節摩擦特性,以確定基于該模型的摩擦補償是實體可實作的。推導得到機器人動力學模型的線性形式。設計嚴格滿足速度、加速度邊界條件的改進傅裡葉級數作為激勵軌迹,并根據條件數準則優化激勵軌迹系數。考慮測量噪聲的影響,采用最大似然法作為參數估計的方法。實驗結果表明,采用所提方法的辨識結果能夠準确重構機器人關節力矩值。且相比于傳統的基于傅裡葉級數的辨識方法,該方法提高參數辨識的精度。

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

4.信号解析

    計算機在處理各種信号時,都會用到傅裡葉變換。以聲音為例,我們知道聲音是物體振動發出的,它是一種波,通過空氣或其他媒體進行傳播。如果用聲波記錄儀記錄并顯示這些波的振動形式,會發現生活中的絕大部分的聲音是都是非常複雜甚至雜亂無章的。而傅裡葉可以把聲音的波形分解為震蕩疊加的形式,便于進一步處理。

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

五、傅裡葉級數理論的知識基礎

1.周期函數

(1)周期函數的定義

    簡而言之,周期函數就是其定義域上的所有曲線會不斷重複出現的函數,從數學的角度下一個定義即:在函數 f(x) 的定義域上有:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    其中,當 T>0 且取得 T = Tmin 使得上式成立時,稱 T 為 f(x) 的最小正周期。比如最典型的三角函數就是一個以 2 pi 為最小正周期的周期函數:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    值得注意的是,周期函數要求上式都能在定義域上恒成立,比如這個函數,雖然其中絕大部分能重複出現,但上式并非恒成立,故也不是周期函數:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

(2)周期函數的幾個特性

① 若 T 為一個周期函數的周期,則 T 的任意整數倍(0除外)都是該周期函數的周期。

② 對函數 f(x) 有:f(nx) (n>1) 相當于将整個 x 軸壓縮 n 倍。考慮周期函數,當未知量 x 前乘上任意大于1的實數 n 将使其周期也壓縮 n 倍。故當我們對周期為 T 的周期函數作以下周期變換:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

并令:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

則函數 F(t) 為周期為 2 pi 的周期函數。

③ 對一個周期為 T 的函數,對于任意一個長度為 T 的積分區域,其積分結果相等,即:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

2.三角函數系

(1)“系”概念的引出

    高中階段我們就學習過直線系、圓系。以直線系為例,設有直線 l1 、l2 ,則直線系方程:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    這個式子即表示了過 l1 、l2 兩直線交點的一切直線,即表示了這些直線所構成的集合中的所有元素。所謂“系”,也就是某一個群體中任一個體都包含有相同“特征”,比如該直線系中任一直線都過一個 l1 、l2 兩直線交點這一任意點。

(2)三角函數系

    我們把:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

稱為三角函數系。在這個系中,任意有限個項的和仍為周期為 2 pi 的周期函數。如下面這個函數:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

(3)三角函數系的正交性

利用三角函數積化和差可證得下式成立。

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

3.收斂定理

    該定理又稱為 Dirichlet 充分條件,由 Dirichlet 在1829年的論文《關于三角函數的收斂性》中整理并證明。今天我們學習的内容中,已對 Dirichlet 充分條件進行了放寬。現在的 Dirichlet 充分條件如下:

(1)函數 f(x) 周期為 2 pi ;

(2)函數 f(x) 在 [ -pi , pi ] 上逐段光滑;

(3)函數 f(x) 在 [ -pi , pi ] 上隻有有限個極值點。

    當某一函數符合上述條件時,該函數在任意一點上收斂于左右兩點的均值。設 S(x) 為展開後的傅裡葉級數,則有:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

說明:

(1)當 f(x) 在點 x0 為中心的領域内連續時,左右極限相等且為 f(x0) ;

(2)當 f(x) 在點 x0 間斷時,傅裡葉級數收斂于左右極限的均值;

(3)若函數定義域即為 [ -pi , pi ] ,則左右兩側端點的傅裡葉級數收斂情況為左右端點極限的均值。我們作一個拓展定義,補充左右兩側周期,即可得到如上結論。

    上面的三則知識基礎看起來與傅裡葉毫無關聯,事實上是在使用過程中必不可少的前提條件。首先,所謂傅裡葉級數是将周期函數展成三角函數的表示形式;其次,傅裡葉級數是一種特殊的三角級數,正因三角函數系的存在,才使我們能夠順利得到其展開式的通式;還有,事實上隻要函數 f(x) 在區間 [ -pi , pi ] 上可積即可計算其傅裡葉級數,但隻有符合收斂定理,算出來的傅裡葉級數和原函數 f(x) 之間才能畫上等号,即在 n 趨于無窮的時候,它們的值才相等。

六、傅裡葉級數理論的基本内容

    對于任意周期為 2 pi 并在 [ -l , l ] 上可積的函數 f(x) ,将下式成為 f(x) 的傅裡葉級數:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

其中:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    再次強調,當且僅當 f(x) 滿足收斂條件時,才有:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    否則,應使用 “ ~ ” 以表示該三角級數是函數 f(x) 的傅裡葉級數,但 f(x) 展成的傅裡葉級數不一定收斂于 f(x) 。

    下面對 an 的公式作簡單推導:

    若以 2 pi 為周期的函數 f(x) 可以展成三角級數,令:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    對該式兩邊同乘 coskx 後再兩邊積分,在利用三角函數系的正交性約去 n≠k 的項(根據三角函數系的正交性,當 n ≠ k 時兩個三角函數在區間 [ -pi , pi ] 上的積分為0,當 n = k 時積分為pi)得:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    bn 即兩邊同乘 sinkx 後在兩邊積分後可得。

七、幾種傅裡葉級數的計算技巧

1.奇偶函數的傅裡葉級數

    當函數 f(x) 為奇函數時,有:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    我們将該級數稱為:正弦級數。

    同樣的,當函數 f(x) 為偶函數時,有:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    我們将該級數稱為:餘弦級數。

2.周期延拓

    對于一些函數,它們并不是周期函數,但若我們也希望将它們展成傅裡葉級數,可以通過周期延拓的方法來解決。比如對于這麼一個函數:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    我們可以把它看作是以下幾個周期函數的一部分:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生
c++ 提取傅裡葉描述子_傅裡葉級數的前世今生
c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    通過這樣的方法,我們可以先計算出周期函數的傅裡葉級數,其在原函數 f(x) 的定義域上即為 f(x) 的傅裡葉級數。事實上我們并不需要在做題過程中把這樣的過程寫出來,隻需知道原理上是我們擴充了其定義域并構造出新的周期函數以友善我們的計算即可。

    另外可以發現,對于這樣一個函數 f(x) ,我們可以把它拓展為奇函數或偶函數或其他周期函數。我們把拓展為奇函數稱為奇延拓,把拓展為偶函數稱為偶延拓。    

    對于同一個函數 f(x) ,奇偶延拓或延拓成非奇非偶函數算出的傅裡葉級數收斂的值相等,隻是在表示方式有所不同。是以我們可以根據需要去延拓已知函數 f(x) 以達到我們的計算目的。

3. f(x) 為多項式時的傅裡葉級數

    當 f(x) 為形如: 

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

的由多項式夠成的函數時,求傅裡葉系數 an 和 bn 時需要用到分部積分法,求解過程比較困難。我們對該積分進行改進,可以通過觀察直接寫出積分結果,即傅裡葉系數的表達式。

    在這之前,我們需要了解的是,三角函數 sin x 和 cos x 在求導過程中能夠互相轉化而且是有周期性的,即求四階導後的結果是自身。

    接下來,我們取一個多項式夠成的函數 f(x) 為例:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    以下是對該定積分的計算過程:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    下面,我們給出對一般形如:的由多項式夠成的函數的計算通式:

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

    說明:其實這個方法的原理和本質還是分部積分法,隻不過我們是對其使用的方法進行了一定的改進以友善計算。

八、參考文獻

[1] 賈随軍,胡俊美. 傅裡葉級數理論成因分析_賈随軍[J]. 鹹陽師範學院學報, 2017, 32(6): 15-22.

[2] 王亞男. 傅裡葉級數在實際中的應用_王亞男[J]. 科技創新與應用, 2014, 89(13): 271-272.

[3] 張霞,陳秀,王貴霞,等. 高等數學創新實訓課堂的建構與實施以傅裡葉級數為例張霞[J]. 合肥學院學報(自然科學版), 2014, 24(2): 58-61.

[4] 尚宇,武小燕. 傅裡葉級數在心電信号模拟中的應用_尚宇[J]. 西安工業大學學報, 2016, 36(1): 21-25.

[5] 吳文祥,朱世強,靳興來. 基于改進傅裡葉級數的機器人動力學參數辨識[J]. 浙江大學學報(工學版), 2013, 47(2): 231-237.

[6] 褚金奎,孫建偉. 基于傅裡葉級數理論的連杆機構軌迹綜合方法[J]. 機械工程學報, 2010, 46(13): 31-41.

[7] 劉榮英. 偏微分方程在弦振動問題中的應用[D]. 華中師範大學, 2007.

[8] 鄧新蒲,吳京. 傅裡葉級數的起源、發展與啟示[J]. 電氣電子教學學報, 2012, 34(5): 1-4.

公衆号:成柴之路

歡迎關注

長按掃碼關注我們

随時歡迎來公衆号留言

c++ 提取傅裡葉描述子_傅裡葉級數的前世今生

繼續閱讀