傅里叶变换处理音频c++_积分变换(1)——傅里叶级数
學(xué)習(xí)階段:大學(xué)數(shù)學(xué),積分變換。
前置知識(shí):微積分、線性代數(shù)、復(fù)變函數(shù)。
我們是如何區(qū)分開(kāi)兩個(gè)同時(shí)說(shuō)話的人的聲音的?要知道,聲音本質(zhì)是一種機(jī)械波,波具有疊加性,同時(shí)說(shuō)話的兩個(gè)人的聲波疊加之后是一種混亂的波形,人卻能自然而然地把它們分離開(kāi),知道哪部分聲音是同一個(gè)人發(fā)出的,這其中有什么原理?
實(shí)際上,不同人說(shuō)話的聲波有不同的特性。男人聲音低沉,也即聲波頻率較低;女人聲音尖亮,也即聲波的頻率較高。聲波的頻率不同,則音調(diào)不同,聽(tīng)感也不同。同一個(gè)人說(shuō)話聲音的頻率相近,把混合聲波中頻率相近的部分分離出來(lái),就能得到每個(gè)人各自說(shuō)話的波形。人的大腦自帶這個(gè)功能,但是這個(gè)原理在數(shù)學(xué)上具有相當(dāng)?shù)碾y度,很晚(19世紀(jì))才被傅里葉等人提出來(lái)。
積分變換在信號(hào)處理、音頻處理、圖像處理、解微分方程等領(lǐng)域有著重要的作用。
對(duì)于一個(gè)值隨時(shí)間變化的函數(shù)
,傅里葉變換告訴我們?nèi)绾螐闹蟹纸獬鲱l率不同的部分。傅里葉級(jí)數(shù)是局部的傅里葉變換,用離散頻率的周期函數(shù)來(lái)線性表示一定區(qū)間上的 ,它是考慮無(wú)窮區(qū)間的傅里葉變換的基礎(chǔ)。1. 周期函數(shù)的線性組合
我們要把函數(shù)
分解為頻率不同的部分,也就是讓一些有不同頻率的周期函數(shù)加起來(lái)等于 . 根據(jù)波的疊加與線性代數(shù)的思想,我們希望可以把 分解為其中
是周期函數(shù),具有特定的頻率 . 現(xiàn)在我們需要先確定使用哪些周期函數(shù) ,然后確定出系數(shù) 分別是多少。這組函數(shù)
可視為基底,可以線性表示各種各樣的函數(shù)。我們當(dāng)然希望基底越簡(jiǎn)單越好,而且應(yīng)具有正交性,這在第5節(jié)中有論述。2. 最簡(jiǎn)單的周期函數(shù):勻速圓周運(yùn)動(dòng)
勻速圓周運(yùn)動(dòng)是最簡(jiǎn)單的周期運(yùn)動(dòng)。根據(jù)歐拉公式,復(fù)平面上繞著單位圓的勻速圓周運(yùn)動(dòng)可記為
這里的
是實(shí)數(shù),被稱(chēng)為角速度/角頻率,控制著旋轉(zhuǎn)的頻率。 越大,旋轉(zhuǎn)越快。 為正數(shù)表示逆時(shí)針旋轉(zhuǎn),為負(fù)數(shù)表示順時(shí)針旋轉(zhuǎn)。如圖1所示:圖1 e^(iωt)易得
的周期為 ,即轉(zhuǎn)一整圈所需的時(shí)間。3. 函數(shù)
的性質(zhì)函數(shù)
有一些非常好的性質(zhì)。讓
乘以常系數(shù) ,相當(dāng)于改變圓周運(yùn)動(dòng)的起點(diǎn)到 點(diǎn),但不改變圓周運(yùn)動(dòng)的中心(仍是原點(diǎn))和頻率。根據(jù)復(fù)數(shù)乘法的性質(zhì),復(fù)數(shù)相乘時(shí),模長(zhǎng)相乘,輻角相加,容易得到這個(gè)結(jié)論。 的模長(zhǎng) 決定了圓周運(yùn)動(dòng)的半徑/振幅, 的輻角 決定了圓周運(yùn)動(dòng)的起始角度/相位。如圖2所示:圖2 改變圓周運(yùn)動(dòng)的起點(diǎn)至c另外,由于圓周運(yùn)動(dòng)的中心恒為原點(diǎn),故下式成立:
該積分值的物理意義是:n層圓周的重心(或運(yùn)動(dòng)位置的平均值)乘以運(yùn)動(dòng)時(shí)間
. 這個(gè)值顯然是0,證明其實(shí)也很容易:當(dāng)
時(shí),相當(dāng)于一直停留在起點(diǎn)不動(dòng),此時(shí)積分值不為0,而是 .4. 傅里葉級(jí)數(shù)
4.1 復(fù)值函數(shù)的指數(shù)形式
改變函數(shù)
的 會(huì)得到一系列函數(shù)。選用哪些函數(shù)呢?為了讓這些函數(shù)有一定的共性以簡(jiǎn)化問(wèn)題,我們使用一批共同具有周期 的函數(shù)。記其中最慢的頻率為基準(zhǔn)角頻率 ,則 ,所有函數(shù)的頻率都是 的整數(shù)倍,故這一系列函數(shù)可表示為 . 如圖3所示:圖3 具有相同周期T的各種圓周運(yùn)動(dòng)由第1節(jié)的思想,設(shè)函數(shù)
可表示成計(jì)算
有非常巧妙的算法:在上式兩端同時(shí)乘以 得在上式兩端同時(shí)做
到 的定積分。根據(jù)第3節(jié) 的性質(zhì)(1)式有故
稱(chēng)數(shù)列
為 的離散頻譜,因?yàn)樗暾涗浟艘幌盗薪穷l率不同的,分別為 的圓周運(yùn)動(dòng)作為 分量的系數(shù)。最終得到的級(jí)數(shù) 在 上收斂于 ,稱(chēng)之為 的傅里葉級(jí)數(shù)的指數(shù)形式。指數(shù)形式對(duì)于函數(shù)值為復(fù)數(shù)的 亦適用。離散頻譜
的求法可以從幾何角度來(lái)理解。函數(shù) 可以視為在復(fù)平面上畫(huà)圖,在時(shí)刻 筆尖落在 點(diǎn)。函數(shù) 相當(dāng)于讓 隨時(shí)間變化時(shí)還要加上一個(gè)“反向旋轉(zhuǎn)”,讓其中 這一旋轉(zhuǎn)分量始終停留在起點(diǎn)不動(dòng),而其他旋轉(zhuǎn)分量依然有著周期 ,只不過(guò)頻率改變了。積分 求的是周期 內(nèi)的路徑的重心,由于其他旋轉(zhuǎn)分量的重心為零,而 留在起點(diǎn)不動(dòng),重心正好是 ,因此該積分求出的正好是 的值。該求法和泰勒級(jí)數(shù)系數(shù)的求法有著異曲同工之妙。對(duì)多項(xiàng)式函數(shù)
求 次導(dǎo),并代入 ,會(huì)發(fā)現(xiàn)有且僅有 這一項(xiàng)不是零,從而求出 的值;讓一系列勻速圓周運(yùn)動(dòng)的合成 進(jìn)行“反向旋轉(zhuǎn)”,即乘以 ,會(huì)發(fā)現(xiàn)有且僅有 這一項(xiàng)的重心不是零,從而求出 的值。4.2 實(shí)值函數(shù)的三角形式
如果
是實(shí)值函數(shù),還可以把傅里葉級(jí)數(shù)寫(xiě)為三角形式。由(2)式得因?yàn)?
為實(shí)值,故 也為實(shí)值, 與 互為共軛復(fù)數(shù)。將傅里葉級(jí)數(shù)兩兩配對(duì)得將
記為 ,那么 ,代入上式可得一對(duì)圓周運(yùn)動(dòng)之和在圖形上如圖4所示:
圖4 一對(duì)圓周運(yùn)動(dòng)之和(3)式是傅里葉級(jí)數(shù)的三角形式之一。其中
記錄了所有的振幅,稱(chēng)之為離散振幅譜; 記錄了所有的相位,稱(chēng)之為離散相位譜。用兩角和差公式可將(3)式打開(kāi),得到
注意到
,故記
那么
(4)式是傅里葉級(jí)數(shù)的另一種三角形式。
至此,離散頻譜
的實(shí)部、虛部、模長(zhǎng)、輻角的物理意義都已經(jīng)找到了。*5. 函數(shù)向量的標(biāo)準(zhǔn)正交基
上述作為基底的函數(shù)被稱(chēng)為函數(shù)向量。用某種方式定義了它們的內(nèi)積之后,可以證明我們所使用的函數(shù)基底為標(biāo)準(zhǔn)正交基,也就是最簡(jiǎn)形式了。
自定義內(nèi)積,涉及到內(nèi)積空間,這是泛函分析課程所涉及的內(nèi)容。(我沒(méi)有學(xué)過(guò)泛函分析,因此相關(guān)內(nèi)容只是我自己粗淺的理解,可能有謬誤。)
5.1 指數(shù)形式的標(biāo)準(zhǔn)正交基
定義
與 的內(nèi)積為:利用第3節(jié)
的性質(zhì),容易證明 構(gòu)成一組標(biāo)準(zhǔn)正交基。實(shí)際上4.1節(jié)計(jì)算 的巧妙方法,正是利用了基底的正交關(guān)系:用一個(gè)向量?jī)?nèi)積所有其他向量都得0.5.2 三角形式的標(biāo)準(zhǔn)正交基
定義
與 的內(nèi)積為:先將三角函數(shù)化為指數(shù)函數(shù),再利用第3節(jié)
的性質(zhì),容易證明 構(gòu)成一組標(biāo)準(zhǔn)正交基。附錄
推薦視頻:
【官方雙語(yǔ)】微分方程概論-第四章:但什么是傅立葉級(jí)數(shù)呢?-從熱流到畫(huà)圈圈?www.bilibili.com如何用傅里葉級(jí)數(shù)繪制出任意圖像來(lái)?雙語(yǔ)?www.bilibili.com傅立葉變換如何理解?美顏和變聲都是什么原理?李永樂(lè)老師告訴你_嗶哩嗶哩 (゜-゜)つロ 干杯~-bilibili?www.bilibili.com總結(jié)
以上是生活随笔為你收集整理的傅里叶变换处理音频c++_积分变换(1)——傅里叶级数的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Mac文件无法拖拽到硬盘怎么办mac文件
- 下一篇: c++ 原子操作 赋值_原子操作原理