日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

fft的c语言和matlab对比_傅里叶级数(FS)、傅里叶变换(FT)快速傅里叶变换(FFT)及量子傅里叶变换(QFT)之间推导关系...

發布時間:2024/7/5 55 豆豆
生活随笔 收集整理的這篇文章主要介紹了 fft的c语言和matlab对比_傅里叶级数(FS)、傅里叶变换(FT)快速傅里叶变换(FFT)及量子傅里叶变换(QFT)之间推导关系... 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

1 引言

傅里葉級數 (Fourier Series, FS) 是《高等數學》中遇到的一個重要的級數,它可以將任意一個滿足狄利克雷條件的函數為一系列三角級數的和。最早由法國數學家傅里葉在研究偏微分方程的邊值問題時提出,極大地推動了偏微分方程理論的發展。根據歐拉公式及其推導式,傅里葉級數又可以推導出《信號與系統》中最重要的傅里葉變換(Fourier Transform, FT)。FT由于可以將信號從時域到頻域來回變換,分析信號的成分,從而廣泛應用于信號處理領域。在計算機處理中,信號被離散化為采樣點,針對離散采樣點的傅里葉變換成為了《數字信號處理》中的離散傅里葉變換(Discrete Fourier Transform, DFT)。但是由于DFT計算量過于龐大(計算復雜度高),1965年由J.W.庫利和T.W.圖基提出了最早版本的快速傅里葉變換(Fast Fourier Transform, FFT),將計算量減少了幾個量級,從而使得計算機更加快速地處理信號,從而促進通信、信號處理領域的快速發展。近年來由于量子計算機的興起,量子傅里葉變換(Quantum Fourier Transform, QFT)更是可以對FFT進行指數級別的加速。

由于這一系列變換出現在不同學科中,老師在講課時也是各自獨立講解,所以大多數同學(包括我)對其中的似曾相識的公式,一直分不清有什么區別和聯系,這篇文章著重于這一系列傅里葉算法的直接的相互推導。

2 一維傅里葉級數(FS)

2.1 周期性

首先寫出傅里葉級數的表達式:

其中,

, 是FS的系數,也是我們需要求的參數,若它們確定,則

即可被分解為N階的FS。

由于

, ,因此上式可以改寫為:

時, , 是周期為 的周期函數,也是FS中周期最大的一組分量。我們取周期 ,其他分量,在 中應該包含了多個完整的周期。此時有:

2.2 正交性

何為正交?正交是線性代數中的概念,即列向量a, b的內積為0,就稱這兩向量正交。正交還可以不嚴謹地理解為這兩組向量之間沒有關系。

同樣地,借鑒這個定義,在連續函數中的正交為:

此時,我們令

,有:

積分是一個線性算符,積分和等于和的積分,上式可以看做兩個三角函數分別積分。當

時,無論 還是 均大于等于1,因此它們的周期必然小于等于 。根據前面的結論有:

時,上式變為:

前一項,積分明顯為0,后一項為

同理,還可以嘗試令

,在此不再贅述,可以得到結論:在FS中每兩個不同的級數之間存在兩兩正交關系。

2.3 求系數

,

首先看

怎么求。令:

就是把要分解的函數和傅里葉級數同時做了積分,等號右邊可以拆為2N+1個積分和,根據前面的周期性可知,除了第一項以外,后面的項的積分均為0。故上式可以化簡為:

這里的表達式就說明了

其實是函數的均值。

接著,我們嘗試求

,令:

其中,

也是1~N中的一個值,為了便于和 區分開來,方便敘述。

利用上面證明的周期性和正交性,我們可以知道,只有當

時,積分結果才不為0,其余均為0。故上式可以化簡為:

故:

同理,我們可以得到正弦分量的系數。最后結果為:

到這里,所有FS的系數就能求出來了。但是這里有個比較詭異的地方,當

時,上式算出的 與我們之前算出的 不等,為了保持k的延續性,通常情況是用 表示FS的第一項。

3 傅里葉變換(FT)

3.1 FT和FS之間的關系

首先,把傅里葉變換的公式寫出來:

然后,回到傅里葉級數。

根據歐拉公式

及其一個簡單的變形:

代入到傅里葉級數中:

傅里葉級數變為:

變換后的系數

求解方式可以根據上面 求得。

的定義域是 ,且 是非周期函數,我們可以對 進行周期延拓,認為它在定義域內為一個周期;而 和 前所述,在 中最少有1個周期,上式不妨寫為:

所以,

時, 與 間隔很小,可視作連續。

由于

在 內為一個周期,也可以表示為在 內也是一個周期(周期延拓)。故上式寫為

, 由 替換, 由 替換就出現了傅里葉變換的公式

3.2離散傅里葉變換

在計算機中,我們不可能令

,這樣 與 仍被當做離散量,這樣一來積分號就變成了求和號,上式可以寫作:

因此我們就得到了能夠被計算機執行的離散傅里葉變換的函數式。

為便于理解,先帶個具體數據進去考慮。若采樣的數據點為8,頻率分量個數也為8。用

來表示這種情況下的DFT函數。

上面這些式子用矩陣表示為,假設有個矩陣

右乘一個時域組成的列向量得到一個頻域組成的列向量。

將上面的一組求和式翻譯成矩陣

為了便于觀察,令

矩陣中的 。上式可以寫為:

根據

的周期性: 可進一步化簡。

3.3 快速傅里葉變換

從3.2節,我們知道了,要完成一次DFS需要用一個矩陣去乘以一個時域組成的列向量,而這個矩陣大小與時域上的采樣點和頻域分量的個數有關。若它們的個數為

,則上面的一個矩陣乘法包含 次數值乘法,這當 較大時,需要消耗大量的計算機資源。好在構成DFS的矩陣有著一定的特殊規律,可以使用分治法,使其只需要大約 次數值乘法,即可完成工作。

仍然以

為例,不難看出 是一個正交對稱陣(實際上所有DFS構成的矩陣都是正交對稱陣)。交換 偶數列位置提到奇數列前面。

與 只差一個奇偶置換矩陣

同樣地,我們還可以寫出

同樣地,令

矩陣中的

值得注意的是

(周期性)

又可以寫為:

左邊4列中包含了兩個 而右邊4列是由系數和 共同組成。因此 又可以被寫為:

其中

為單位陣, 是一個對角陣。

最后

這樣一來上面這個矩陣需要多少次乘法呢?由于

是奇偶置換矩陣,在計算機中是只需要移位,不需要做乘法運算,故

顯然,主要的計算量在于

和 ,共計 次數值乘法, 是對角陣,需要額外4次乘法, 是它的相反數,不計入乘法次數。最后我們就將原本需要 次乘法變為了 次乘法。

同理,我們還可以對

進一步拆分為

帶入

化簡下:

此時需要的乘法數量為

推廣到更一般的情況,仍然可以使用類似上述的遞歸方式,最后FFT的計算復雜度變為

4、量子傅里葉變換

如果對量子邏輯門有一定了解的同學,看到上面最終的遞歸化簡式,已經發現和量子邏輯門很像了。比如我們看

那這不就是

門嘛。

再比如

也可以分解成量子門的形式(中間省略了歸一化參數):

其中

為哈德瑪門, 為 的單位陣, 為受控S門。

也可以分解成量子門的形式(中間省略了歸一化參數):

其中,

相當于 的單位陣。

相當于 門。

接著 我們觀察置換矩陣

,列出這兩個的真值表

不難發現

就相當于SWAP門

根據

的遞歸表達式可以看出,矩陣左乘向量順序為先 再 ,它們的真值表變換如下

列出合并后的真值表,那這不就是1,3 qubit交換位置嘛。

即:

整個

的遞歸式就可以寫成(中間省略了歸一化參數):

量子電路如下:

有興趣的可以對比一下與《量子計算與量子信息》書中盒子5.1是否是等價的電路。如果以基本量子門作為計算單元的話,QFT的復雜度則只需

總結

以上是生活随笔為你收集整理的fft的c语言和matlab对比_傅里叶级数(FS)、傅里叶变换(FT)快速傅里叶变换(FFT)及量子傅里叶变换(QFT)之间推导关系...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。