DSP編程代碼,FFT算法,經典!! FFT實驗 一、 理論: 公式(1)FFT運算公式 FFT并不是一種新的變換,它是離散傅立葉變換(DFT)的一種快速算法。由于我們在計算DFT時一次復數乘法需用四次實數乘法和二次實數加法;一次復數加法則需二次實數加法。每運算一個X(k)需要4N次復數乘法及2N+2(N-1)=2(2N-1)次實數加法。所以整個DFT運算總共需要4N^2次實數乘法和N*2(2N-1)=2N(2N-1)次實數加法。如此一來,計算時乘法次數和加法次數都是和N^2成正比的,當N很大時,運算量是可觀的,因而需要改進對DFT的算法減少運算速度。 根據傅立葉變換的對稱性和周期性,我們可以將DFT運算中有些項合并。 我們先設序列長度為N=2^L,L為整數。將N=2^L的序列x(n)(n=0,1,……,N-1),按N的奇偶分成兩組,也就是說我們將一個N點的DFT分解成兩個N/2點的DFT,他們又從新組合成一個如下式所表達的N點DFT: 一般來說,輸入被假定為連續、合成的。當輸入為純粹的實數的時候,我們就可以利用左右對稱的特性更好的計算DFT。 我們稱這樣的RFFT優化算法是包裝算法:首先2N點實數的連續輸入稱為“進包”。其次N點的FFT被連續被運行。最后作為結果產生的N點的合成輸出是
上傳時間: 2015-04-29
上傳用戶:牛布牛
N皇后問題的優化版本,對于N= 13的情況可以在1秒內出結果
標簽: 版本
上傳時間: 2015-05-12
上傳用戶:aa54
半數集問題 問題描述: 給定一個自然數n,由n開始可以依次產生半數集set(n)中的數如下。 (1) n∈set(n); (2) 在n的左邊加上一個自然數,但該自然數不能超過最近添加的數的一半; (3) 按此規則進行處理,直到不能再添加自然數為止。 例如,set(6)={6,16,26,126,36,136}。半數集set(6)中有6個元素。 編程任務: 對于給定的自然數n,編程計算半數集set(n)中的元素個數。
標簽: 61611
上傳時間: 2015-06-01
上傳用戶:netwolf
2^x mod n = 1 acm競賽題 Give a number n, find the minimum x that satisfies 2^x mod n = 1. Input One positive integer on each line, the value of n. Output If the minimum x exists, print a line with 2^x mod n = 1. Print 2^? mod n = 1 otherwise. You should replace x and n with specific numbers. Sample Input 2 5 Sample Output 2^? mod 2 = 1 2^4 mod 5 = 1
標簽: mod satisfies minimum number
上傳時間: 2015-06-02
上傳用戶:qlpqlq
本章專門講解編寫成功網絡應用程序時所需的基本知識和A P I調用。通過上一章的學習, 大家已知道從Wi n s o c k地址機和這些機器上的服務,可以很容易地訪問協議。在這一章里, 我們打算討論如何從網絡上的一臺機器到另一臺機器建立連接,以及如何收發數據
上傳時間: 2015-07-08
上傳用戶:gtf1207
利用“原始套接字”(Raw Socket),我們可訪問位于基層的傳輸協議。本章專門講解如 何運用這種原始套接字,來模擬I P的一些實用工具,比如Tr a c e r o u t e和P i n g程序等等。使用原 始套接字,亦可對I P頭信息進行實際的操作。本章只關心I P協議;至于如何針對其他協議使 用原始套接字,我們不打算提及。而且,大多數協議(除AT M以外)根本就不支持原始套接 字。所有原始套接字都是使用S O C K _ R AW這個套接字類型來創建的,而且目前只有Wi n s o c k 2提供了對它的支持。因此,無論Microsoft Windows CE 還是老版本的Windows 95 (無 Winsock 2升級)均不能利用原始套接字的能力。
上傳時間: 2015-07-08
上傳用戶:時代電子小智
* 本算法用最小二乘法依據指定的M個基函數及N個已知數據進行曲線擬和 * 輸入: m--已知數據點的個數M * f--M維基函數向量 * n--已知數據點的個數N-1 * x--已知數據點第一坐標的N維列向量 * y--已知數據點第二坐標的N維列向量 * a--無用 * 輸出: 函數返回值為曲線擬和的均方誤差 * a為用基函數進行曲線擬和的系數, * 即a[0]f[0]+a[1]f[1]+...+a[M]f[M].
上傳時間: 2015-07-26
上傳用戶:
任意輸入一個整數n,程序將自動生成1到n之間n個數的全部可能排列。利用遞歸算法。
上傳時間: 2015-09-23
上傳用戶:王楚楚
經典C語言程序設計100例1-10 如【程序1】 題目:有1、2、3、4個數字,能組成多少個互不相同且無重復數字的三位數?都是多少? 1.程序分析:可填在百位、十位、個位的數字都是1、2、3、4。組成所有的排列后再去 掉不滿足條件的排列。 2.程序源代碼: main() { int i,j,k printf("\n") for(i=1 i<5 i++) /*以下為三重循環*/ for(j=1 j<5 j++) for (k=1 k<5 k++) { if (i!=k&&i!=j&&j!=k) /*確保i、j、k三位互不相同*/ printf("%d,%d,%d\n",i,j,k) } }
上傳時間: 2013-12-14
上傳用戶:hfmm633
一個旅行家想駕駛汽車從城市A到城市B(設出發時油箱是空的)。給定兩個城市之間的距離dis、汽車油箱的容量c、每升汽油能行駛的距離d、沿途油站數n、油站i離出發點的距離d[i]以及該站每升汽油的價格p[i],i=1,2,…,n。設d[1]=0<d[2]<…<d[n]。要花最少的油費從城市A到城市B,在每個加油站應加多少油,最少花費為多少?
上傳時間: 2013-12-31
上傳用戶:redmoons