深度學習開源框架系列:基礎演算法之傅立葉變換:1:概要介紹
傅立葉變換時數字訊號處理的重要方法之一,是法國數學家傅立葉在1807年在法國科學學會上發表的一篇文章中所提出的,在文章中使用了正弦函式描述溫度分佈,而且提出了一個著名的論斷:任何連續性的週期訊號都可以由一組適當的正弦曲線組合而成。而這個論斷被當時審查論文的著名數學家拉格朗日所否定,拉格朗日認為正弦函式無法組合成一個個帶有稜角的訊號,但是從無限逼近的角度考慮,可以使用正弦函式來非常逼近期直到表示方法不存在明顯差異,這篇論文最終在在拉格朗日死後15年之久才得以發表。
傅立葉變換的分類
根據訊號是是週期性以及連續還是離散的特點,將傅立葉變換進行延伸,變換分為如下四種
週期性 | 連續性 | 縮寫 | 全稱 | 說明 |
---|---|---|---|---|
週期性 | 連續性 | FS | Fourier Series | 傅立葉級數 |
非週期性 | 連續性 | FT | Fourier Transform | 傅立葉變換 |
週期性 | 離散型 | DFT | Discrete Fourier Transform | 離散傅立葉變換(週期性) |
非週期性 | 離散型 | DTFT | Discrete Time Fourier Transform | 離散時間傅立葉變換 |
另外,根據使用的是實數還是複數,有分為實數傅立葉變換和複數傅立葉變換。
主要特點:FS
用於分析連續週期訊號。時域上任意連續的週期訊號可以分解為無限多個正弦訊號之和,在頻域上就表示為離散非週期的訊號,即時域連續週期對應頻域離散非週期的特點。
主要特點:FT
主要用於分析連續非週期訊號,由於訊號是非週期的,它必包含了各種頻率的訊號,所以具有時域連續非週期對應頻域連續非週期的特點。
FS和FT 都是用於連續訊號頻譜的分析工具,都以傅立葉級數理論問基礎推匯出的。時域上連續的訊號在頻域上都有非週期的特點,但對於週期訊號和非週期訊號又有在頻域離散和連續之分。
主要特點:DTFT
它用於離散非週期序列分析,根據連續傅立葉變換要求連續訊號在時間上必須可積這一充分必要條件,那麼對於離散時間傅立葉變換,用於它之上的離散序列也必須滿足在時間軸上級數求和收斂的條件;由於訊號是非週期序列,它必包含了各種頻率的訊號,所以DTFT對離散非週期訊號變換後的頻譜為連續的,即有時域離散非週期對應頻域連續週期的特點。
主要特點:DFT
假設了序列的週期無限性,但在處理時又對區間作出限定(主值區間),以符合有限長的特點,這就使DFT帶有了週期性。另 外,DFT只是對一週期內的有限個離散頻率的表示,所以它在頻率上是離散的,就相當於DTFT變換成連續頻譜後再對其取樣,此時取樣頻率等於序列延拓後的週期N,即主值序列的個數。
離散傅立葉變換DFT
DFT用於將訊號從時域變換為頻域,而且時域與頻域都是離散的,可以確認出一個訊號是由哪些正弦波疊加而成,而這些結果者反應為正弦波的振幅和相位等資訊。而至於時域與頻域,前者表示的是訊號隨時間動態變化的關係,在這種分析方式下,往往會隨著時間的不同訊號呈現不同的狀態變化。而頻域可以理解為正弦波的振幅,從傅立葉的論斷中我們瞭解到,任何周期函式,都可能是由不同振幅和不同相位與角頻率的正弦波的疊加,頻域分析的一個主要結果是頻譜,常見的頻譜有兩種:振幅相關的頻譜與相位相關的頻譜。比如正弦曲線可表示為y=Asin(ωx+φ)+k,具體的實際意義如下所示:
引數 | 定義 | 解釋 |
---|---|---|
A | 振幅 | 反映幅度 |
(ωx+φ) | 相位 | 反映變數y所處的狀態。 |
φ | 初相 | x=0時的相位 |
k | 偏距 | 反映在座標系上則為影象的上移或下移。 |
ω | 角頻率 | 控制正弦週期(單位弧度內震動的次數)。 |
理解輔助:變形的諧波函式
諧波(harmonic wave)是指電流中所含有的頻率為基波的整數倍的電量,一般是指對週期性的非正弦電量進行傅立葉級數分解,其餘大於基波頻率的電流產生的電量。如下可以看出動態的三角函式的圖形變換,可以加深對傅立葉論斷的理解。
理解輔助:振幅的頻譜
而至於如何求取頻譜,由於三角函式具有正交性,相互之間不具影響,根據此特性結合下圖,對於振幅的頻譜則可有直觀的瞭解。而至於初相相關的頻譜,可以以此為基礎,不難理解。
快速傅立葉變換FFT
FFT(Fast Fourier Transform)實際只是DFT的改善。是1965年由庫利和圖基共同提出的一種快速計算DFT的方法。這種方法充分利用了DFT運算中的對稱性和週期性,從而將DFT運算量從N2減少到N*log2N。當N比較小時,FFT優勢並不明顯。但當N大於32開始,點數越大,FFT對運算量的改善越明顯。比如當N為1024時,FFT的運算效率比DFT提高了100倍。
應用領域和侷限
傅立葉變化在很多領域都有很好的應用,比如影象優化和音訊降噪等等,但是由於傅立葉變換的模型建立在平穩訊號基礎上的,對於非平穩訊號的分析具有很大的局現性。
參考文獻
相關推薦
深度學習開源框架系列:基礎演算法之傅立葉變換:1:概要介紹
傅立葉變換時數字訊號處理的重要方法之一,是法國數學家傅立葉在1807年在法國科學學會上發表的一篇文章中所提出的,在文章中使用了正弦函式描述溫度分佈,而且提出了一個著名的論斷:任何連續性的週期訊號都可以由一組適當的正弦曲線組合而成。而這個論斷被當時審查論文的著名數
CV:深入淺出的講解傅立葉變換(真正的通俗易懂)
這是一篇很NB的文章,圖文並茂............... 另外這個回答比較好:能不能通俗地講解傅立葉和小波分析的關係? 第二個妹子頭像的回答 &n
c語言數字影象處理(六):二維離散傅立葉變換
基礎知識 複數表示 C = R + jI 極座標:C = |C|(cosθ + jsinθ) 尤拉公式:C = |C|ejθ 有關更多的時域與複頻域的知識可以學習複變函式與積分變換,本篇文章只給出DFT公式,性質,以及實現方法 二維離散傅立葉變換(DFT) 其中f(x,y)為原影象,F(u,
機器學習開源框架系列:Torch:1:簡介與安裝
Torch是一個基於BSD License的開源的機器學習的框架,早在2002年就釋出了Torch的初版。Torch一直聚焦於大規模的機器學習應用,尤其是影象或者視訊應用等領域,在超過5萬次的下載,在學校和企業中也有著不小的影響力,而Torch7希望能夠做到
系統學習深度學習(七)--主流深度學習開源框架對比
轉自:http://blog.csdn.net/u010167269/article/details/51810613,本文做了相關修改。 比較的三方面:可擴充套件性(extensibility)、hardware utilization(硬體利用率)以及大家最關心的:
AI 從業者該如何選擇深度學習開源框架丨硬創公開課
編者按:本文內容來自微軟美國總部機器學習科學家彭河森博士在雷鋒網(公眾號:雷鋒網)硬創公開課的分享,並由彭河森博士親自整理成文。 正如程式語言一樣,深度學習開源框架同樣各有優劣和適用的場景,那麼 AI 從業者該如何有針對性地選擇這些平臺來玩轉深度學習? 本期公開課特邀了先後在谷歌、亞馬遜、微軟供職的機
深度學習(四)——目標檢測演算法YOLO的訓練和檢測過程的基本思路介紹
基礎知識掌握情況決定研究的高度,我們剛開始接觸深度學習時,一般都是看到別人的概括,這個方法很好能讓我們快速上手,但是也有一個很大的缺點, 知識理解的不透徹,導致我們對演算法優化時一頭霧水。我也是抱著知識總結的思想開始自己的深度學習知識精髓的探索,也希望能從中幫助到
快速傅立葉變換FFT的學習筆記一:C語言程式碼的簡單實現
快速傅立葉變換FFT的學習筆記一:C語言程式碼的簡單實現 fft.c #include "math.h" #include "fft.h" void conjugate_complex(int n,complex in[],complex out[]) { int i = 0
快速傅立葉變換FFT的學習筆記二:深入實踐
快速傅立葉變換FFT的學習筆記二:深入實踐 快速傅立葉變換(Fast Fourier Transform)是離散傅立葉變換的一種快速演算法,簡稱FFT,通過FFT可以將一個訊號從時域變換到頻域。 資料結構 通過AD採集到一串時域上的資料點,一個int型的陣列
python OpenCV學習筆記(二十五):傅立葉變換(Fourier Transform )
傅立葉變換用於分析各種濾波器的頻率特性。對於影象,二維離散傅立葉變換(2D Discrete Fourier Transform/DFT)用於尋找頻域。快速傅立葉變換(Fast Fourier Transform/FFT)的快速演算法用於計算DFT。
算法系列之二十三:離散傅立葉變換之音訊播放與頻譜顯示
頻譜和均衡器,幾乎是媒體播放程式的必備物件,沒有這兩個功能的媒體播放程式會被認為不夠專業,現在主流的播放器都具備這兩個功能,foobar 2000的十八段均衡器就曾經讓很多人著迷。我用Winamp播放音樂(AOL已經在2013年12月20日停止了Winamp的
【演算法學習筆記】快速傅立葉變換
# 快速傅立葉變換 快速傅立葉變換(Fast Fourier Transform, FTT)在ACM/OI中最主要的應用是計算多項式乘法。 ## 多項式的係數表示和點值表示 假設$f(x)$為$x$的$n$階多項式,則其可以表示為: $$f(x)=\sum_{i=0}^na_ix^i$$ 這裡的$n
頻域處理:傅立葉變換及小波變換
頻域處理:傅立葉變換及小波變換 引言 1、傅立葉變換 2、小波變換 3、程式 引言 影象處理–>頻域處理–>傅立葉變換、小波變換。用另一種方法來觀察世界的話,你會發現世界是永恆不變的。
學習傅立葉變換
1. 背景 法國數學家吉恩·巴普提斯特·約瑟夫·傅立葉被世人銘記的最大的貢獻是:他指出任何周期函式都可以表示為不同頻率的正弦和/或餘弦之和的形式,每個正弦項和/或餘弦項乘以不同的係數(現在稱該和為傅立葉級數)。無論函式多麼複雜,只要它是週期的,並且滿足某些適度的數學條件,都可以用這樣的和來表示。即一個複
二維傅立葉變換學習
參考網址:https://blog.csdn.net/thecentry/article/details/80709593 https://blog.csdn.
「學習筆記」Fast Fourier Transform 快速傅立葉變換
快速傅立葉變換( Fast Fourier Transform,FFT \text{Fast Fourier Transfo
[學習筆記]FFT——快速傅立葉變換
大力推薦部落格: 傅立葉變換(FFT)學習筆記 一、多項式乘法: 我們要明白的是:FFT利用分治,處理多項式乘法,達到O(nlogn)的複雜度。(雖然常數大)FFT=DFT+IDFTDFT:本質是把多項式的係數表達轉化為點值表達。因為點值表達,y可以直接相乘。點值表達下相
java 實現傅立葉變換演算法 及複數的運算
最近專案需求,需要把python中的演算法移植到java上,其中有一部分需要用到複數的運算和傅立葉變換演算法,廢話不多說 如下: package qrs; /** * 複數的運算 * */ public class Complex { private final double
快速傅立葉變換 學習筆記
快速傅立葉變換 學習筆記 前言:這篇學習筆記以\(\text{Dew}\)的意會yy為主,有些地方會比較簡略,不過該有的證明應該還是會有的。 多項式的表示法 係數表示法 \(f(x)=a_0+a_1x+a_2x^2+\dots+a_nx^n\) 點值表示法 \(n+1\)個不同的點可
快速傅立葉變換(FFT)學習筆記
快速傅立葉變換(FFT)學習筆記 快速傅立葉變換(\(\rm Fast\ Fourier\ Transformation\)), 用於在 \(\Theta(n\log n)\) 時間內求兩個多項式的乘積. 前置技能 卷積 一個 \(n - 1\) 次 \(n\) 項式 \(f(x)\) 可以表示為 \