Cooley Tukey演算法 (蝶形演算法)

2021-09-08 22:02:29 字數 1025 閱讀 7775

cooley-tukey演算法差別於其它fft演算法的乙個重要事實就是n的因子能夠隨意選取。這樣也就能夠使用n=r

s的radix-r演算法了。最流行的演算法都是以r=2或r=4為基的,最簡單的dft不須要不論什麼乘法就能夠實現。比如:在s級且r=2的情形下,下列索引對映的結果是:

s>2時的-個一般慣例是,在訊號流程圖中2點dft是以蝶形圖的形式繪出的,圖1給出了8點變換的圖示。訊號流程圖己經簡化成用全部指向乙個節點的箭頭都代表加法的形式了,而常係數乘法則是在箭頭上加乙個因子表示。radix-r演算法具有logr

(n)級,而且每組都有同樣型別的旋轉因子。

圖1 radix-2的長度為8的頻率抽取演算法

由於每兩個箭頭僅有乙個旋轉因子。

因為圖1中的演算法在頻域中開始將最初的dft分成更短的dft,所以這樣的演算法就叫作頻率抽取(decimation-in-frequency,dif)演算法。典型的輸入值是按順序出現的,而頻率值的索引是按位逆序的。表給出了dif radix-2演算法的特徵值。

表 頻率抽取的radix-2 fft

我們還能夠用時間抽取(decimation h time,dit)構造一種演算法。在該情況下,首先將輸入序列分開,就會發現全部頻率值都是按順序出現的。

圖2給出了索引41的radix-2和radix-4演算法的必要索引變換。radix-2演算法須要位順序的反轉,也就是位逆序。而radix-4須要首先構造乙個2位的「數字」然後再反轉這些數字,這樣的操作就稱為數字逆序。

圖2 位逆序和數字逆序

FFT蝶形演算法,IFFT

consoletemplate.cpp 定義控制台應用程式的入口點。include stdafx.h include include define n 8 1024 define m 310 define pi 3.1415927 typedef struct comp number comp nu...

整數DCT蝶形演算法

在h.265 hevc中支援4種不同尺寸的整數dct變換,分別是4x4 8x8 16x16 32x32。對應的變化矩陣如下 4x4變換矩陣 8x8變換矩陣 16x16變換矩陣 下面分別是32x32變換矩陣的左邊16列和右邊16列 我們可以發現以上矩陣有如下特點 下面是32x32矩陣的前16列及其亞取...

蝶形細分的實現筆記

蝶形細分的實現筆記 jingwenlai 2008 12 24 最近,在看一些細分方面的教程,本來想實現loop的,後來發現cgal中已經自行實現了loop,catmull clark,doo sabin,sqrt3的細分方法。就對照著教程看cgal中是如何實現的,繼而發現其實現非常靈活,而且可擴充...