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