快速傅里叶变换——理论

离散信号傅里叶变换的公式如下所示:


离散傅里叶变换的原理是将原本非周期的信号复制扩展为周期信号,在实际的数字电路处理中,处理的信号是有限长的,取长度为N,即N为信号 的周期,对于有限长周期信号,其离散傅里叶变换有如下性质:

其中 为周期信号的傅里叶级数,而 表示当且仅当 时有 ,因此可以将傅里叶变换转为离散表达,如下所示:

考虑 以N为周期,因此仅需要计算k从0到N-1即可,取 此公式写成矩阵乘法模式如下所示:

W为一个 的方阵,该计算的复杂度为

对于系数矩阵中的元素 ,其公式如下所示:

考虑 ,推导公式如下所示:

再考虑 和 的情况:

再考虑 和 的情况:

最后考虑 且 或 的情况:

根据上述推导,可以得出系数W具有以下四条性质,这三条性质会在后续推导中用到:

基n快速傅里叶变换用于一个长度N为 的序列,例如基2快速傅里叶作用在 的序列上,基4快速傅里叶作用在 的序列上。现在考虑基2FFT的推导(硬件实现一般使用基4或基8FFT实现),首先写出有限长离散序列的傅里叶变换,记一个信号 的FFT变换为 :

快速傅里叶变换的核心思想为 分而治之 ,即 分治法 ,该思想的核心是将一个长度为N的问题,分级为两个长度为 的问题,应用在这里即是需要将一个序列长度为N的FFT变换问题分解为两个序列长度为 的FFT变换。首先进行如下变换:

矩阵的形式如下所示:

根据W的性质 ,代入后有:

矩阵形式的表达如下所示,现在的矩阵为两个个高度为N,长度为N/2的矩阵。

代入 ,根据W的性质 有:

矩阵表达如下所示:

代入 ,根据W的性质 有:

矩阵表达如下所示:

根据上述推导,一个长度为N点的离散傅里叶变换被变为一个长度为 的离散傅里叶变换,取 公式如下所示:

根据频域抽取基2FFT的算法,除了按前后分类外,还可以直接按奇偶进行分类,公式如下所示:

对应的矩阵表示为:

取序列 , 代入上述表达式,取 再代入W的变换性质可得:

其对应的矩阵为:

即将对F[k]的上半部分结果分解为两个FFT结果的和,即:

现在考虑F[k]的下半部分,公式如下所示:

取 ,代入有:

代入W的性质 和 ,有:

将变量i更换为k,其矩阵形式为:

最终可以将结果汇总为:

蝶形运算的公式如下,蝶形运算输入为 和 ,输出为 和 ,系数为 :

其转换为矩阵表达为:

蝶形公式对应着2点FFT的计算,2点FFT的计算如下所示:

转换为矩阵表达为:

对应到蝶形运算有:

首先列出基2频域抽取FFT的分治公式:

以一个8点FFT为例,输入序列为:

进行第一次分治,分为两个4点FFT,序列为:

示意图如下所示,偶数标号的结果由第一个FFT生成,奇数标号的结果由第二个FFT生成:

随后进行第二次分治,将每个4点FFT分解为两个2点FFT,每个序列为:

示意图如下所示:

最终通过2点FFT计算出结果,但如上图所示,计算出的结果位置与标号并不对应,例如计算输出的标号为2的数据(Y10[1])应当位于输出序列(X)的标号4(X[4])。其变换规律为计算输出的标号为n的数据(第n+1个数据)对应到输出序列标号为m的数据,n为m的二进制反序。以计算输出标号为6(第七个数据)的数据Y13[0]为例,6的二进制为110,反序为011,对应十进制数为3,即有 。

首先列出时域抽取FFT的分治公式:



  • 蹇熷倕閲屽彾鍙樻崲鈥斺旂悊璁
    绛旓細鍩簄蹇熷倕閲屽彾鍙樻崲鐢ㄤ簬涓涓暱搴涓 鐨勫簭鍒楋紝渚嬪鍩2蹇熷倕閲屽彾浣滅敤鍦 鐨勫簭鍒椾笂锛屽熀4蹇熷倕閲屽彾浣滅敤鍦 鐨勫簭鍒椾笂銆傜幇鍦ㄨ冭檻鍩2FFT鐨勬帹瀵硷紙纭欢瀹炵幇涓鑸娇鐢ㄥ熀4鎴栧熀8FFT瀹炵幇锛夛紝棣栧厛鍐欏嚭鏈夐檺闀跨鏁e簭鍒楃殑鍌呴噷鍙跺彉鎹紝璁颁竴涓俊鍙 鐨凢FT鍙樻崲涓 锛 蹇熷倕閲屽彾鍙樻崲鐨勬牳蹇冩濇兂涓 鍒嗚屾不涔 ...
  • 蹇熷倕閲屽彾鍙樻崲(FFT)鍩烘湰鍘熺悊涓庡簲鐢ㄥ疄渚
    绛旓細鍦ㄤ俊鍙峰鐞嗙殑棰嗗煙锛屽懆鏈熶俊鍙风殑绂绘暎鍒嗘瀽鏄叧閿殑涓鐜傜鏁e倕閲屽彾绾ф暟锛圖FT锛夋槸鍏跺熀纭锛岃蹇熷倕閲屽彾鍙樻崲锛團FT锛夊垯鍑熷叾楂樻晥鎬ф垚涓哄垎鏋愮殑鍒╁櫒銆傝鎴戜滑浠庡畾涔夊嚭鍙戯紝閫愭鎻ず杩欎竴鐞嗚鐨勭簿楂撳拰瀹為檯搴旂敤銆傚畾涔夋柊瑙 绂绘暎鏃堕棿鍛ㄦ湡淇″彿锛屽叾澶嶆潅鎬ч氳繃铏氭寚鏁伴」宸у鍦板憟鐜般傚綋鎴戜滑灏嗚繛缁椂闂翠俊鍙烽噰鏍峰悗锛屼究寰楀埌涓涓...
  • 蹇熷倕閲屽彾鍙樻崲FFT
    绛旓細蹇熷倕閲屽彾鍙樻崲锛屽嵆鍒╃敤璁$畻鏈鸿绠楃鏁e倕閲屽彾鍙樻崲锛圖FT)鐨勯珮鏁堛佸揩閫熻绠楁柟娉曠殑缁熺О锛岀畝绉癋FT銆傚揩閫熷倕閲屽彾鍙樻崲鏄1965骞寸敱J.W.搴撳埄鍜孴.W.鍥惧熀鎻愬嚭鐨勩傞噰鐢ㄨ繖绉嶇畻娉曡兘浣胯绠楁満璁$畻绂绘暎鍌呴噷鍙跺彉鎹㈡墍闇瑕佺殑涔樻硶娆℃暟澶т负鍑忓皯锛岀壒鍒槸琚彉鎹㈢殑鎶芥牱鐐规暟N瓒婂锛孎FT绠楁硶璁$畻閲忕殑鑺傜渷灏辫秺鏄捐憲銆 鎵╁睍璧勬枡 ...
  • 瀹為獙鍥 蹇熷倕閲屽彾鍙樻崲(FFT)
    绛旓細瀹為獙鍥蹇熷倕閲屽彾鍙樻崲锛團FT锛4.1瀹為獙鐩殑1锛夊姞娣卞蹇熷倕閲屽彾鍙樻崲锛團FT锛夊熀鏈鐞嗚鐨勭悊瑙o紱2锛変簡瑙d娇鐢ㄥ揩閫熷倕閲屽彾鍙樻崲锛團FT锛夎绠楁湁闄愰暱搴忓垪鍜屾棤闄愰暱搴忓垪淇″彿棰戣氨鐨勬柟娉曪紱3锛夋帉鎻$敤MATLAB璇█杩涜蹇熷倕閲屽彾鍙樻崲鏃跺父鐢ㄧ殑瀛愬嚱鏁般4.2瀹為獙鍘熺悊1锛夌敤MATLAB鎻愪緵鐨勫瓙鍑芥暟杩涜蹇熷倕閲屽彾鍙樻崲浠庣悊璁哄涔犲彲鐭ワ紝...
  • 蹇熷倕閲屽彾鍙樻崲鍜岀鏁e倕閲屽彾鍙樻崲鐨勪富瑕佸尯鍒槸浠涔?鍝釜鍑嗙‘?
    绛旓細蹇熷倕閲屽彾鍙樻崲 (fast Fourier transform), 鍗冲埄鐢ㄨ绠楁満璁$畻绂绘暎鍌呴噷鍙跺彉鎹(DFT)鐨勯珮鏁堛佸揩閫熻绠楁柟娉曠殑缁熺О锛岀畝绉癋FT銆傚揩閫熷倕閲屽彾鍙樻崲鏄1965骞寸敱J.W.搴撳埄鍜孴.W.鍥惧熀鎻愬嚭鐨勩傞噰鐢ㄨ繖绉嶇畻娉曡兘浣胯绠楁満璁$畻绂绘暎鍌呴噷鍙跺彉鎹㈡墍闇瑕佺殑涔樻硶娆℃暟澶т负鍑忓皯锛岀壒鍒槸琚彉鎹㈢殑鎶芥牱鐐规暟N瓒婂锛孎FT绠楁硶璁$畻閲忕殑鑺傜渷灏...
  • 鍌呴噷鍙跺彉鎹
    绛旓細鑰屽浜庡弽鍙樻崲锛屾垜浠湁 鍌呴噷鍙跺弽鍙樻崲锛屽畠灏卞儚鏄竴鎶婅繕鍘熺殑榄旀硶锛屽皢棰戠巼鐨勪笘鐣岄噸濉戝洖鏃堕棿鐨勭淮搴︺傚彉鎹㈢殑鐞嗚鍩虹煶鍌呴噷鍙跺彉鎹鐨勮癁鐢熷苟闈炲伓鐒讹紝瀹冨叿澶囦竴绯诲垪閲嶈鐨勬ц川锛屾彮绀轰簡淇″彿澶勭悊涓殑鍩烘湰瑙勫緥锛氱嚎鎬х壒鎬: 鏃堕棿鍩熺殑绠鍗曞彔鍔狅紝鍦ㄩ鍩熶腑浠嶆槸鍜岃皭鐨勬棆寰嬨傚鍋舵: 濂囧嚱鏁扮殑鍌呴噷鍙跺彉鎹㈠彧鏈夊疄閮紝鍋跺嚱鏁板垯浠...
  • 鍌呯珛鍙跺彉鎹鐩稿叧浠嬬粛
    绛旓細蹇熷倕閲屽彾鍙樻崲锛夊府鍔╂彁鍙栭璋变俊鎭紝绠鍖栦簡澶嶆潅鐨勫嵎绉繍绠椼傚倕绔嬪彾鍙樻崲鐨勭墿鐞嗘剰涔夊湪浜庯紝瀹冩彮绀轰簡淇″彿鐢变笉鍚岄鐜囨垚鍒嗙粍鎴愶紝杩欎簺棰戠巼鎴愬垎鐨勫箙搴﹀拰鐩镐綅鍙互閫氳繃鍙樻崲鐩存帴璁$畻銆備緥濡傦紝涓涓俊鍙风殑棰戣氨鍒嗘瀽缁撴灉鍙互鍛婅瘔鎴戜滑鍏堕鐜囧垎甯冿紝浠ュ強姣忎釜棰戠巼鐨勫箙搴﹀拰鐩镐綅锛岃繖瀵逛簬鐞嗚В淇″彿鐨勬湰璐ㄥ拰澶勭悊鑷冲叧閲嶈銆
  • 鍌呯珛鍙跺彉鎹绠璁
    绛旓細鎷夋櫘鎷夋柉鍙樻崲涓庡倕绔嬪彾鍙樻崲绱у瘑鐩歌繛锛屽畠鏄倕绔嬪彾鍙樻崲鐨勮嚜鐒舵墿灞曪紝灏嗚“鍑忓拰闇囧姩鐨勬弿杩扮粨鍚堝湪涓璧凤紝涓鸿В鍐冲井鍒嗘柟绋嬫彁渚涗簡寮哄ぇ鐨勫伐鍏枫傝蹇熷倕閲屽彾鍙樻崲锛團FT锛夋洿鏄皢DFT鐨勮绠楅熷害鎻愬崌鍒颁簡鎯婁汉鐨勬晥鐜囷紝閫氳繃宸у鐨勮澏褰㈣繍绠楋紝浠巒^2鐨勫鏉傚害闄嶅埌浜唍 log n锛屽鍚岄瓟娉曡埇鍔犻熶簡淇″彿鍒嗘瀽銆傞氳繃娣卞叆鐞嗚В鍌呯珛鍙...
  • 蹇熷倕绔嬪彾鍙樻崲鐨勯棶棰
    绛旓細蹇熷倕姘忓彉鎹紝鏄鏁e倕姘忓彉鎹㈢殑蹇熺畻娉曪紝瀹冩槸鏍规嵁绂绘暎鍌呮皬鍙樻崲鐨勫銆佸伓銆佽櫄銆佸疄绛夌壒鎬э紝瀵圭鏁鍌呯珛鍙跺彉鎹鐨勭畻娉曡繘琛屾敼杩涜幏寰楃殑銆傚畠瀵瑰倕姘忓彉鎹㈢殑鐞嗚骞舵病鏈夋柊鐨勫彂鐜帮紝浣嗘槸瀵逛簬鍦ㄨ绠楁満绯荤粺鎴栬呰鏁板瓧绯荤粺涓簲鐢ㄧ鏁e倕绔嬪彾鍙樻崲锛屽彲浠ヨ鏄繘浜嗕竴澶ф銆傝x(n)涓篘椤圭殑澶嶆暟搴忓垪锛岀敱DFT鍙樻崲锛屼换涓X锛坢...
  • 扩展阅读:快速傅里叶变换fft图像 ... 快速傅里叶变换 傅氏 ... 傅里叶级数的基本公式 ... 傅里叶变换公式图片 ... 快速傅里叶变换原理ppt ... 快速傅里叶 ... 傅里叶变换全部公式 ... 快速傅里叶变换频谱图 ... 快速傅立叶算法 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网