freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

基于dsp的快速傅里葉變換算法-文庫吧資料

2024-11-15 22:06本頁面
  

【正文】 變量的值。因此,源程序單步逐行各代碼,匯編單步執(zhí)行各條匯編指令。在Single Step按鈕下,還有Step Over和Step Out可用。通過選擇SourceSingle Step按鈕,單步執(zhí)行到DoLoop函數(shù)中。只有當(dāng)程序執(zhí)行掛起后才可單步執(zhí)行。在DoLoop行設(shè)置斷點(diǎn)(Input1,Input2,Weights,Output,LOOPCOUNT)當(dāng)程序暫停在Main函數(shù)處時(shí),通過按F5,選擇DebugRun,或者選擇Run工具條來運(yùn)行程序。設(shè)置斷點(diǎn)后,一個(gè)紅色圖標(biāo)將出現(xiàn)在選擇空白區(qū)。 把光標(biāo)置于所需行上,按F9設(shè)置一個(gè)斷點(diǎn)。這個(gè)區(qū)域被稱為選擇區(qū)域(select margin)。選擇DebugGo main開始Main函數(shù)的執(zhí)行。點(diǎn)擊Open加載程序。加載過程是將上述構(gòu)建成功,生成的可執(zhí)行文件加載到目標(biāo)板,目標(biāo)板可以是軟件仿真環(huán)境,也可以是硬件目標(biāo)板。當(dāng)工程選項(xiàng)或所有文件發(fā)生改變后,執(zhí)行Rebuild All命令重建工程。第一次使用全構(gòu)建(Build All)功能便可以構(gòu)建工程,以后可以使用增量構(gòu)建(Build the project incremental)。在編譯一個(gè)工程后,包含文件會出現(xiàn)在工程視圖里。瀏覽C:\\c6000\cgtools\lib\目錄。你也可以在左邊的工程視圖窗口里右擊工程,選擇Add files to Project。文件里存儲了工程配置和工程所需要的各種相關(guān)文件。(6)工程類型默認(rèn)為可執(zhí)行的(.out)文件,目標(biāo)設(shè)置為CCS當(dāng)前的配置。(4)在Project Name框里輸入工程名:(例如:practice)。在使用CCS前必須進(jìn)行配置,CCS里沒有默認(rèn)的配置。(2)把C:\\tutorial\target\consultant文件夾下的內(nèi)容復(fù)制到新建的文件夾里。進(jìn)入CCS開發(fā)環(huán)境后,可以建立一個(gè)新的工程也可以直接打開一個(gè)已有的工程。 (5)單擊Yes按鈕,啟動配置好的CCS集成開發(fā)環(huán)境。(4)單擊Save amp。這樣選擇的配置就出現(xiàn)在系統(tǒng)配置方框中My System圖標(biāo)下面。(2)從available factory board中選擇與系統(tǒng)匹配的標(biāo)準(zhǔn)設(shè)置。進(jìn)入配置設(shè)定軟件Setup CCStudio 。針對所選擇DSP芯片TMS320C5416芯片選擇CCS的型號,本次設(shè)計(jì)采用CCStudio 。TI的實(shí)時(shí)Express DSP軟件及開發(fā)工具策略包括三個(gè)組件,使開發(fā)者能夠充分利用的TMS320?系列DSP潛能。}}}(6):wstack 400hheap 100l MEMORY{ PAGE 0: VECT : o=80h,l=80h PRAM : o=100h,l=1f00h PAGE 1: DRAM : o=2000h,l=1000h }SECTIONS{ .text : {} PRAM PAGE 0 .data : {} PRAM PAGE 0 .cinit : {} PRAM PAGE 0 .switch : {} PRAM PAGE 0 .const : {} DRAM PAGE 1 .bss : {} DRAM PAGE 1 .stack : {} DRAM PAGE 1 .vectors: {} VECT PAGE 0 }注:整體程序見附錄 CCS開發(fā)環(huán)境的使用及軟件仿真 CCS開發(fā)環(huán)境的使用TI公司提供多種開發(fā)工具,可以快速實(shí)現(xiàn)基于DSP的應(yīng)用設(shè)計(jì),從概念到編碼/編譯,調(diào)試,通過分析,校正,并以測試。Xin[i].imag=xin[i].imag+。Xin[ip].imag=xin[i].。T=EE(xin[ip],v)。i=N。jlei。=sin(pi/lei)。=。Pi=。l++){lt=pow(2,1)。Void FFT(void){.....For(l=1。 }j=j+k。While(kj){j=jk。xin[i]=t。i++){if(ij){t=xin[j]。For(i=1。}(4)定義位反函數(shù)Void displace(void)。=*+*。struct px EE(struct px b1,struct px b2){struct px b3。struct px xin{N1}。struct px{double }。由于DSP程序需要首先使用高級語言來模擬算法性能,對于本次設(shè)計(jì)題目基于DSP的快速傅里葉變換算法,采用C語言編程。用C語言進(jìn)行DSP軟件設(shè)計(jì),其效率一般低于匯編語言編制,這是因?yàn)閰R編語言是低級語言,形成目標(biāo)代碼的速度比C語言快,因此,用C語言進(jìn)行軟件設(shè)計(jì)時(shí),優(yōu)化設(shè)計(jì)顯得尤為重要。隨著DSP的應(yīng)用范圍不斷延伸,單純的匯編語言程序的難讀性、難移植性、難修改性等缺點(diǎn)日益突出。開始送入x(n)倒序L=1,MJ=0,B1輸出結(jié)果結(jié)束圖31 程序流程框圖 程序編寫DSP軟件設(shè)計(jì)多用于算法比較復(fù)雜、乘加運(yùn)算量比較大的場合,如通信、雷達(dá)、音視頻處理等。第3章 軟件設(shè)計(jì) 算法設(shè)計(jì)和程序編寫 算法設(shè)計(jì)流程根據(jù)快速傅里葉變換的算法和DSP上的實(shí)現(xiàn)規(guī)律的研究和學(xué)習(xí)。例如,N=6時(shí),可以按照分解,將6點(diǎn)DFT分解為3組2點(diǎn)DFT。如果N為復(fù)合數(shù),則可以用以任意數(shù)為基數(shù)的FFT算法來計(jì)算。因?yàn)橛邢揲L序列補(bǔ)零以后并不影響其頻譜,只是頻譜的采樣點(diǎn)數(shù)增加而已。例如,N=30,可以在序列x(n)中補(bǔ)進(jìn)x(30)=x(31)=0兩個(gè)零值點(diǎn),使N=32。在FFT算法中,除基2FFT算法外,混合計(jì)算法也尤為實(shí)用。例如單片數(shù)字信號處理器TMS320C25就有專用于FFT的二進(jìn)制碼變址模式。用軟件實(shí)現(xiàn)是通用采用雷德(Rader)算法,算出的倒序以后立即將輸入數(shù)據(jù)和對換。表21 碼位倒置順序自然順序 二進(jìn)制表示 碼位倒置 碼位倒置順序 0 000 000 0 1 001 100 4 2 010 010 2 3 011 110 6 4 100 001 1 5 101 101 5 6 110 011 3 7 111 111 7 實(shí)際運(yùn)算中,直接將輸入數(shù)據(jù)按碼位倒置的順序排好輸入很方便,一般總是先按自然順序輸入存儲單元,然后通過變址運(yùn)算將自然順序的存儲換成碼位倒置順序的存儲,這樣就可以進(jìn)行FFT的原位運(yùn)算。原位運(yùn)算的結(jié)構(gòu)可以節(jié)省存儲單元,降低設(shè)備成本。(1) 原位運(yùn)算:也成為同址運(yùn)算,當(dāng)數(shù)據(jù)輸入到存儲器中以后,每一級運(yùn)算的結(jié)果仍然存儲在原來的存儲器中,直到最后輸出,中間無需其它的存儲器。分析上面的流圖,一共要進(jìn)行M次分解,構(gòu)成了從到的M級運(yùn)算過程。這樣,對于一個(gè)的DFT運(yùn)算,其時(shí)間抽取的分解過程及完整流圖如圖23所示。例如對,可以再按其偶數(shù)部分及奇數(shù)部分進(jìn)行分解: (27)則運(yùn)算可相應(yīng)分為兩組:將系數(shù)統(tǒng)一為以N為周期,即,可得 (28)同樣,對也可以進(jìn)行類似的分解??梢姡ㄟ^這樣的分解,運(yùn)算量節(jié)省了近一半。由式子(24)可得化簡得 (25)這樣N點(diǎn)DFT可全部由下式確定出來: (26)上式可用一個(gè)專用的蝶形符號表示,如圖22所示,對應(yīng)一次復(fù)乘和兩次復(fù)加運(yùn)算。由式(23)能否將全部的點(diǎn)的解求出來了?分析: (24)和只有個(gè)點(diǎn),則由式(24)只能求出X(k)的前個(gè)點(diǎn)的DFT。下面討論基2FFT情況的算法。為了將大點(diǎn)數(shù)的DFT分解為小點(diǎn)數(shù)的DFT運(yùn)算,要求序列的長度N為復(fù)合數(shù),最常用的是的情況(M為正整數(shù))。根據(jù)對序列分解與選取方法的不同而產(chǎn)生了FFT的多種算法[3]。而如果我們將這種“一分為二”的思想不斷進(jìn)行下去,直到分成兩兩一組的DFT運(yùn)算單元,那么N點(diǎn)的DFT變換就只需要次的運(yùn)算,N在1024點(diǎn)時(shí),運(yùn)算量僅有10240次,是先前的直接算法的1%,點(diǎn)數(shù)越多,運(yùn)算量的節(jié)約就越大,這就是FFT的優(yōu)越性。這樣變換以后,總的運(yùn)算次數(shù)就變成。設(shè)為N項(xiàng)的復(fù)數(shù)序列,由DFT變換,任一X(M)的計(jì)算都需要N次復(fù)數(shù)乘法和N1次復(fù)數(shù)加法,而一次復(fù)數(shù)乘法等于四次實(shí)數(shù)乘法和兩次實(shí)數(shù)加法,一次復(fù)數(shù)加法等于兩次實(shí)數(shù)加法,即使把一次復(fù)數(shù)乘法和一次復(fù)數(shù)加法定義成一次“運(yùn)算”(四次實(shí)數(shù)乘法和四次實(shí)數(shù)加法),那么求出N項(xiàng)復(fù)數(shù)序列的X(M),即N點(diǎn)DFT變換大約就需要次運(yùn)算。 FFT原理快速傅氏變換(FFT),是離散傅氏變換的快速算法,它是根據(jù)離散傅氏變換的奇、偶、虛、實(shí)等特性,對離散傅里葉變換的算法進(jìn)行改進(jìn)獲得的[2]。雖然CooleyTukey算法的運(yùn)算次數(shù)要多于其它幾種算法,但由于其算法規(guī)則,各運(yùn)算單元相同,可實(shí)現(xiàn)原位計(jì)算,具有良好的模塊性,因此更容易實(shí)現(xiàn)。當(dāng)可以分解為若千個(gè)互素因子的乘積時(shí),可以采用素因子算法,當(dāng)素因子屬于2,3,4,5,7,8,9,16等“小”時(shí),也可以采用Winograd“小N”算法。綜上所述,各種DFT的快速算法,都利用了的周期性和對稱性,通過將一個(gè)大點(diǎn)數(shù)N的DFT分解為若干小點(diǎn)數(shù)的DFT的組合,來減少運(yùn)算量??梢奝FA算法同樣存在著模塊性不好的問題。另一方面,由于PFA算法中短點(diǎn)數(shù)DFT的變換長度各不相同,要求每一個(gè)DFT都采用不同的運(yùn)算單元。同時(shí)各“小N”,也各不相同,導(dǎo)致運(yùn)算單元的模塊性不好。WFTA算法的地址產(chǎn)生可以根據(jù)其計(jì)算公式或嵌套形式的算法流圖來實(shí)現(xiàn),該算法不能采用原位運(yùn)算,需要占用較大的存儲空間。CooleyTukey算法運(yùn)算過程的每一級都是由r(r是基數(shù))點(diǎn)的DFT和與旋轉(zhuǎn)因子的相乘構(gòu)成,算法規(guī)則,且具有良好的模塊性,并且可以實(shí)現(xiàn)原位計(jì)算,對輸入數(shù)據(jù)以及旋轉(zhuǎn)因子的抽取具有規(guī)律性。分裂基算法的運(yùn)算結(jié)構(gòu)與CooleyTukey算法相似,并且對于長度為的變換,這一算法已達(dá)到了DFT運(yùn)算的最小運(yùn)算量,所需要的乘法和加法次數(shù)為。因此FFT的研究重點(diǎn)又回到了帶有與旋轉(zhuǎn)因子相乘運(yùn)算的共因子算法上,主要的研究成果包括Rader和Brenner提出的余割因子算法,王中德提出的對稱分解法,Vetlerli和Nussbaumer提出的DFTDCT算法等,其中最具代表性的是法國的Duhamel和Hollman提出的分裂基算法。在素因子算法和WFTA算法出現(xiàn)的初期,人們都寄以厚望。WFTA算法比素因子算法的乘法次數(shù)更少,而加法次數(shù)差別不大。基于素因子分解的另一種快速算法是由IBM公司的Winograd博士提出的,可以稱為WFTA算法。在素因子算法中利用了數(shù)論中的中國余數(shù)定理,將一維DFT運(yùn)算映射為標(biāo)準(zhǔn)的多維DFT運(yùn)算,而素因子的DFT運(yùn)算可以通過循環(huán)卷積算法完成。從七十年代中期開始,基于素因子分解的FFT算法重新得到了重視。Bergland對任意因子的FFT算法也作了研究,提出了統(tǒng)一的FFT方法,即任意因子的FFT運(yùn)算都可以由r(r是基數(shù))點(diǎn)的DFT運(yùn)算和與旋轉(zhuǎn)因子相乘的運(yùn)算來實(shí)現(xiàn),CooleyTukey算法和SandeTukey算法都可以看作統(tǒng)一的FFT算法的特例,即基數(shù)r都相同。基4算法比基2算法所需的乘法次數(shù)減少了約1/4。Bergland提出了采用高基數(shù)結(jié)構(gòu)的算法,如基4或基8算法能夠達(dá)到
點(diǎn)擊復(fù)制文檔內(nèi)容
環(huán)評公示相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖鄂ICP備17016276號-1