2023年全國碩士研究生考試考研英語一試題真題(含答案詳解+作文范文)_第1頁
已閱讀1頁,還剩12頁未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)

文檔簡介

1、<p>  DSP原理及應(yīng)用課程設(shè)計報告</p><p>  ——FFT的DSP實(shí)現(xiàn)</p><p><b>  一、設(shè)計目的</b></p><p>  1、加深對DFT算法原理和基本性質(zhì)的理解;</p><p>  2、了解并學(xué)習(xí)使用FFT算法,以及其在TMS320C54X上的運(yùn)用;</p>

2、<p>  3、學(xué)習(xí)DSP中FFT的設(shè)計和編程思想;</p><p>  4、練習(xí)使用CCS的探針和圖形工具來觀察器觀察波形和頻譜情況。</p><p><b>  二、設(shè)計內(nèi)容</b></p><p>  用C語言及匯編語言進(jìn)行編程,實(shí)現(xiàn)FFT運(yùn)算,對于C語言,實(shí)現(xiàn)8點(diǎn)和16點(diǎn)的FFT運(yùn)算,對于匯編語言,需調(diào)試出8點(diǎn)的FFT運(yùn)算結(jié)果

3、。</p><p><b>  三、設(shè)計原理</b></p><p>  快速傅里葉變換(FFT)是一種高效實(shí)現(xiàn)離散傅里葉變換(DFT)的快速算法,是數(shù)字信號處理中最為重要的工具之一,它在聲學(xué),語音,電信和信號處理等領(lǐng)域有著廣泛的應(yīng)用。</p><p>  1、離散傅里葉變換DFT</p><p>  對于長度為N的有限

4、長序列x(n),它的離散傅里葉變換(DFT)為</p><p><b> ?。?) </b></p><p>  式中, ,稱為旋轉(zhuǎn)因子或蝶形因子。</p><p>  從DFT的定義可以看出,在x(n)為復(fù)數(shù)序列的情況下,對某個k值,直接按(1)式計算X(k) 只需要N次復(fù)數(shù)乘法和(N-1)次復(fù)數(shù)加法。因此,對所有N個k值,共需要N2

5、次復(fù)數(shù)乘法和N(N-1)次復(fù)數(shù)加法。對于一些相當(dāng)大有N值(如1024點(diǎn))來說,直接計算它的DFT所需要的計算量是很大的,因此DFT運(yùn)算的應(yīng)用受到了很大的限制。</p><p>  2、快速傅里葉變換FFT</p><p>  旋轉(zhuǎn)因子WN 有如下的特性:</p><p><b>  對稱性: </b></p><p&g

6、t;<b>  周期性:</b></p><p>  利用這些特性,既可以使DFT中有些項合并,減少了乘法積項,又可以將長序列的DFT分解成幾個短序列的DFT。FFT就是利用了旋轉(zhuǎn)因子的對稱性和周期性來減少運(yùn)算量的。</p><p>  FFT的算法是將長序列的DFT分解成短序列的DFT。例如:N為偶數(shù)時,先將N點(diǎn)的DFT分解為兩個N/2點(diǎn)的DFT,使復(fù)數(shù)乘法減少一半

7、:再將每個N/2點(diǎn)的DFT分解成N/4點(diǎn)的DFT,使復(fù)數(shù)乘又減少一半,繼續(xù)進(jìn)行分解可以大大減少計算量。最小變換的點(diǎn)數(shù)稱為基數(shù),對于基數(shù)為2的FFT算法,它的最小變換是2點(diǎn)DFT。</p><p>  一般而言,F(xiàn)FT算法分為按時間抽取的FFT(DIT FFT)和按頻率抽取的FFT(DIF FFT)兩大類。DIF FFT算法是在時域內(nèi)將每一級輸入序列依次按奇/偶分成2個短序列進(jìn)行計算,而DIF FFT算法是在頻域內(nèi)

8、將每一級輸入序列依次奇/偶分成2個短序列進(jìn)行計算。兩者的區(qū)別是旋轉(zhuǎn)因子出現(xiàn)的位置不同,但算法是一樣的。在DIF FFT算法中,旋轉(zhuǎn)因子出現(xiàn)在輸入端,而在DIF FFT算法中它出現(xiàn)在輸入端。</p><p>  假定序列x(n)的點(diǎn)數(shù)N是2的冪,按照DIF FFT算法可將其分為偶序列和奇序列,記偶序列為 ,奇序列為,則x(n)的FFT表示為</p><p>  由于 ,則(3)式可表示為&l

9、t;/p><p>  式中, 和分別為和的N/2的DFT。</p><p><b>  由于對稱性,</b></p><p>  則。因此,N點(diǎn)可分為兩部分:</p><p>  前半部分: (4)</p><p>  后半部分: (5)</p><p>

10、;  從式(4)和式(5)可以看出,只要求出0~N/2-1區(qū)間和的值,就可求出0~N-1區(qū)間的N點(diǎn)值。</p><p>  以同樣的方式進(jìn)行抽取,可以求得N/4點(diǎn)的DFT,重復(fù)抽取過程,就可以使N點(diǎn)的DFT用上組2點(diǎn)的 DFT來計算,這樣就可以大減少運(yùn)算量。</p><p>  在基數(shù)為2的FFT中,設(shè)N=2M,共有M級運(yùn)算,每級有N/2個2點(diǎn)FFT蝶形運(yùn)算,因此,N點(diǎn)FFT總共有MN/2

11、個蝶形運(yùn)算。蝶形運(yùn)算如圖1所示。</p><p><b>  圖1 蝶形運(yùn)算</b></p><p>  設(shè)蝶形輸入為和,輸出為和,則有</p><p><b>  (6)</b></p><p><b> ?。?)</b></p><p>  在基數(shù)為

12、2的FFT中,設(shè)N=2M,共有M級運(yùn)算,每級有N/2個2點(diǎn)FFT蝶形運(yùn)算,因此,N點(diǎn)FFT總共有個蝶形運(yùn)算。</p><p>  例如:基數(shù)為2的FFT,當(dāng)N=8時,共需要3級,12個基2 DIT FFT的蝶形運(yùn)算。其信號流程如圖2所示。</p><p>  圖2 8點(diǎn)基2 DIF FFT蝶形運(yùn)算</p><p>  從圖2可以看出,輸入是經(jīng)過比特反轉(zhuǎn)的倒位序列,稱

13、為位碼倒置,其排列順序為。輸出是按自然順序排列,其順序為。</p><p>  3、FFT運(yùn)算的實(shí)現(xiàn)</p><p>  (1)實(shí)現(xiàn)輸入數(shù)據(jù)的比特反轉(zhuǎn)</p><p>  輸入數(shù)據(jù)的比特反轉(zhuǎn)實(shí)際上就是將輸入數(shù)據(jù)進(jìn)行碼位倒置,以便在整個運(yùn)算后輸出序列是一個自然序列。在用匯編指令進(jìn)行碼位倒置時,使用位碼倒置尋址可以大大提高程序執(zhí)行速度和使用存儲器的效率。在這種尋址方式下

14、,AR0存放的整數(shù)N的FFT點(diǎn)的一半,一個輔助寄存器指向一個數(shù)據(jù)存放單元。當(dāng)使用位碼倒置尋址將AR0加到輔助寄存器時,地址將以位碼倒置的方式產(chǎn)生。</p><p> ?。?)實(shí)現(xiàn)N點(diǎn)復(fù)數(shù)FFT</p><p>  N點(diǎn)復(fù)數(shù)FFT算法的實(shí)現(xiàn)可分為三個功能塊,即第一級蝶形運(yùn)算、第二級蝶形運(yùn)算、第三級至log2N級蝶形運(yùn)算。隊以任何一個2的整數(shù)冪N=2^M,總可以通過M次分解后最后成為二點(diǎn)的DF

15、T運(yùn)算。通過這樣的M次分解,可以構(gòu)成M級迭代計算,每級由N/2個蝶形運(yùn)算完成。</p><p> ?。?)輸出FFT結(jié)果</p><p>  FFT算法的程序流程圖如下圖所示。</p><p>  圖3 FFT運(yùn)算的程序流程圖</p><p>  四、基于C語言的FFT算法</p><p>  1、源程序FFT.c&l

16、t;/p><p>  #include "myapp.h"</p><p>  #include "ICETEK-VC5509-EDU.h"</p><p>  #include "scancode.h"</p><p>  #include <math.h></p&g

17、t;<p>  #define PI 3.1415926</p><p>  #define SAMPLENUMBER 16</p><p>  void MakeWave();</p><p>  int INPUT[SAMPLENUMBER];</p><p>  struct compx{float real,imag;}

18、; </p><p>  struct compx EE(struct compx,struct compx); </p><p>  struct compx xin[SAMPLENUMBER];</p><p>  struct compx fWave[SAMPLENUMBER];</p><p>  float y[

19、SAMPLENUMBER],data[SAMPLENUMBER];</p><p>  struct compx EE(struct compx b1,struct compx b2)</p><p><b>  {</b></p><p>  struct compx b3;</p><p>  b3.real=b1.

20、real*b2.real-b1.imag*b2.imag; b3.imag=b1.real*b2.imag+b1.imag*b2.real; </p><p>  return(b3);</p><p><b>  }</b></p><p><b>  main()</b></p>

21、<p><b>  {</b></p><p><b>  int i;</b></p><p>  MakeWave();</p><p>  for ( i=0;i<SAMPLENUMBER;i++ )</p><p><b>  {</b></

22、p><p>  fWave[i].real=INPUT[i];</p><p>  fWave[i].imag=0.0f;</p><p>  y[i]=0.0f;</p><p><b>  }</b></p><p>  FFT(fWave);</p><p>  for

23、 ( i=0;i<SAMPLENUMBER;i++ )</p><p><b>  {</b></p><p>  data[i]=y[i];</p><p><b>  }</b></p><p>  while ( 1 );// break point</p><p&

24、gt;<b>  }</b></p><p>  void FFT(struct compx *xin)</p><p><b>  {</b></p><p>  int f,m,nv2,nm1,i,k,j=0,l;</p><p>  struct compx v,w,t; <

25、;/p><p>  nv2=SAMPLENUMBER/2; </p><p>  f=SAMPLENUMBER;</p><p>  for(m=1;(f=f/2)!=1;m++){;} </p><p>  nm1=SAMPLENUMBER-1;</p><p>  for(i=0;i<n

26、m1;i++) </p><p><b>  {</b></p><p><b>  if(i<j)</b></p><p><b>  {</b></p><p><b>  t=xin[j];</b></p><p&

27、gt;  xin[j]=xin[i];</p><p><b>  xin[i]=t;</b></p><p><b>  } </b></p><p><b>  k=nv2;</b></p><p>  while(k<=j)</p><p&g

28、t;<b>  {</b></p><p><b>  j=j-k;</b></p><p><b>  k=k/2;</b></p><p><b>  }</b></p><p><b>  j=j+k;</b></p>

29、;<p><b>  }</b></p><p>  {int le,lei,ip;</p><p>  for(l=1;l<=m;l++) </p><p><b>  {</b></p><p>  le=2<<(l-1); </p><p

30、><b>  lei=le/2;</b></p><p>  v.real=1.0;v.imag =0.0; </p><p>  w.real =cos(PI/lei);</p><p>  w.imag =-sin(PI/lei); </p><p>  for(j=0;j<=lei-1;j++)

31、 </p><p><b>  {</b></p><p>  for(i=j;i<=SAMPLENUMBER;i=i+le) </p><p><b>  {</b></p><p><b>  ip=i+lei;</b></p><p&g

32、t;  t=EE(xin[ip],v);</p><p>  xin[ip].real=xin[i].real-t.real; </p><p>  xin[ip].imag =xin[i].imag-t.imag; </p><p>  xin[i].real=xin[i].real+t.real;</p><p>  xin[i].im

33、ag=xin[i].imag+t.imag;</p><p><b>  }</b></p><p>  v=EE(v,w); </p><p><b>  }</b></p><p>

34、;<b>  }</b></p><p><b>  }</b></p><p>  for ( i=0;i<SAMPLENUMBER;i++ )</p><p><b>  { </b></p><p>  y[i]=sqrt(xin[i].real*xin[i].re

35、al+xin[i].imag*xin[i].imag);</p><p><b>  }</b></p><p><b>  }</b></p><p>  void MakeWave()</p><p><b>  {</b></p><p><

36、b>  int i;</b></p><p>  for ( i=0;i<SAMPLENUMBER;i++ )</p><p><b>  {</b></p><p>  INPUT[i]=i+1;</p><p><b>  }</b></p><p&g

37、t;<b>  }</b></p><p>  2、鏈接命令文件ICETEK-VC5509-A.cmd</p><p><b>  -w</b></p><p>  -stack 500</p><p>  -sysstack 500</p><p>  -l rts55x.

38、lib</p><p><b>  MEMORY </b></p><p><b>  {</b></p><p>  DARAM:o=0x100,l=0x7f00</p><p>  VECT : o=0x8000,l=0x100</p><p>  DARAM2:

39、 o=0x8100,l=0x7f00</p><p>  SARAM: o=0x10000,l=0x30000</p><p>  SDRAM:o=0x40000,l=0x3e0000</p><p><b>  }</b></p><p><b>  SECTIONS</b></p

40、><p><b>  {</b></p><p>  .text: {} > DARAM </p><p>  .vectors: {} > VECT </p><p>  .trcinit: {} > DARAM </p><p>  .gblinit: {} > DA

41、RAM </p><p>  frt: {} > DARAM </p><p>  .cinit: {} > DARAM </p><p>  .pinit: {} > DARAM </p><p>  .sysinit: {} > DARAM </p><p>  .bss:

42、 {} > DARAM2 </p><p>  .far: {} > DARAM2 </p><p>  .const: {} > DARAM2 </p><p>  .switch: {} > DARAM2 </p><p>  .sysmem: {} > DARAM2 </p>

43、;<p>  .cio: {} > DARAM2 </p><p>  .MEM$obj: {} > DARAM2 </p><p>  .sysheap: {} > DARAM2 </p><p>  .sysstack {} > DARAM2 </p><p>  .stack: {} &

44、gt; DARAM2 </p><p><b>  }</b></p><p>  3、FFT程序的使用方法</p><p>  (1)根據(jù)N值,修改FFT.c中的中的常數(shù),如N=8,將#define SAMPLENUMBER 16語句中的“16”修改為8。</p><p>  (2)編譯、匯編、鏈接,得到.out文件,

45、加載。</p><p> ?。?)將data加入觀察窗,可看到FFT運(yùn)算輸出結(jié)果。</p><p><b>  4、運(yùn)行結(jié)果</b></p><p>  8點(diǎn)的FFT運(yùn)算,且輸入為1、2、3、…、8時,運(yùn)算結(jié)果如圖4所示,16點(diǎn)的FFT運(yùn)算,且輸入為1、2、3、…、16時,運(yùn)算結(jié)果如圖5所示。</p><p>  圖4

46、8點(diǎn)FFT運(yùn)算結(jié)果</p><p>  圖5 16點(diǎn)FFT運(yùn)算結(jié)果</p><p>  五、基于匯編語言的FFT算法</p><p>  1、匯編源程序fft.asm </p><p>  .title "fft.asm"</p><p><b>  .mmregs</

47、b></p><p>  .include "coeff.inc"</p><p>  .include "in.inc"</p><p>  .def start</p><p>  sine: .usect "

48、;sine",512</p><p>  sine1: .usect "sine1",512</p><p>  cosine: .usect "cosine",512</p><p>  cosine1: .usect

49、 "cosine1",512</p><p>  fft_data: .usect "fft_data",1024</p><p>  fft_out: .usect "fft_out",512 </p><p>  ST

50、ACK .usect "STACK",10</p><p>  K_DATA_IDX_1 .set 2</p><p>  K_DATA_IDX_2 .set 4</p><p>  K_DATA_IDX_3 .set 8</p><p>  K_TWID

51、_TBL_SIZE .set 512</p><p>  K_TWID_IDX_3 .set 128</p><p>  K_FLY_COUNT_3 .set 4</p><p>  K_FFT_SIZE .set 8 </p><p>  K_

52、LOGN .set 3 </p><p>  PA0 .set 0</p><p>  .bss d_twid_idx,1</p><p>  .bss d_data_idx,1</p><p>

53、  .bss d_grps_cnt,1</p><p>  .sect "fft_prg"</p><p>  ********************位碼倒置程序**************************</p><p>  .asg AR2,REORDERED

54、 </p><p>  .asg AR3,ORIGINAL_INPUT </p><p>  .asg AR7,DATA_PROC_BUF </p><p>  start: SSBX FRCT </p>

55、<p>  STM #STACK+10,SP</p><p>  STM #sine,AR1 </p><p>  RPT #K_TWID_TBL_SIZE-1</p><p>  MVPD #sine1,*AR1+</p><p&g

56、t;  STM cosine,AR1 </p><p>  RPT #K_TWID_TBL_SIZE-1</p><p>  MVPD #cosine1,*AR1+</p><p>  STM #d_input,ORIGINAL_INPUT </p>

57、<p>  STM #fft_data,DATA_PROC_BUF </p><p>  MVMM DATA_PROC_BUF,REORDERED </p><p>  STM #K_FFT_SIZE-1,BRC </p><p>  RPTBD bit_re

58、v_end-1 </p><p>  STM #K_FFT_SIZE,AR0</p><p>  MVDD *ORIGINAL_INPUT+,*REORDERED+ </p><p>  MVDD *ORIGINAL_INPUT-,*REORDERED+</p><p&g

59、t;  MAR *ORIGINAL_INPUT+0B </p><p>  bit_rev_end:</p><p>  *********************FFT CODE*********************************</p><p>  .asg AR1,GROUP_COUNTER

60、 </p><p>  .asg AR2,PX </p><p>  .asg AR3,QX </p><p>  .asg AR4,WR </p>&l

61、t;p>  .asg AR5,WI </p><p>  .asg AR6,BUTTERFLY_COUNTER </p><p>  .asg AR7,STAGE_COUNTER </p><p>  *****************

62、**第一級蝶形運(yùn)算stage1************************</p><p>  STM #0,BK </p><p>  LD #-1,ASM </p><p>  STM #fft_data,PX <

63、/p><p>  STM #fft_data+K_DATA_IDX_1,QX </p><p>  STM K_FFT_SIZE/2-1,BRC</p><p>  LD *PX,16,A </p><p>  RPTBD stage1end-

64、1 </p><p>  STM #K_DATA_IDX_1+1,AR0 </p><p>  SUB *QX,16,A,B </p><p>  ADD *QX,16,A </p&g

65、t;<p>  STH A,ASM,*PX+ </p><p>  ST B,*QX+ </p><p>  ||LD *PX,A </p><p>  SUB

66、 *QX,16,A,B </p><p>  ADD *QX,16,A </p><p>  STH A,ASM,*PX+0% </p><p>  ST B,*QX+0%

67、 2</p><p>  ||LD *PX,A </p><p>  stage1end:</p><p>  ******************第二級蝶形運(yùn)算stage2***************************</p><p>  STM

68、 #fft_data,PX </p><p>  STM #fft_data+K_DATA_IDX_2,QX </p><p>  STM #K_FFT_SIZE/4-1,BRC</p><p>  LD *PX,16,A &

69、lt;/p><p>  RPTBD stage2end-1</p><p>  STM #K_DATA_IDX_2+1,AR0</p><p>  ;1st butterfly</p><p>  SUB *QX,16,A,B </p><p

70、>  ADD *QX,16,A </p><p>  STH A,ASM,*PX+ </p><p>  ST B,*QX+ </p><p>  ||LD *PX,A

71、 </p><p>  SUB *QX,16,A,B </p><p>  ADD *QX,16,A </p><p>  STH A,ASM,*PX+ </

72、p><p>  STH B,ASM,*QX+ </p><p>  ;2nd butterfly</p><p>  MAR *QX+</p><p>  ADD *PX,*QX,A </p><p&g

73、t;  SUB *PX,*QX-,B </p><p>  STH A,ASM,*PX+ </p><p>  SUB *PX,*QX,A </p><p>  ST B,*QX

74、 </p><p>  ||LD *QX+,B </p><p>  ST A,*PX </p><p>  ||ADD *PX+0%,A <

75、/p><p>  ST A,*QX+0% </p><p>  ||LD *PX,A </p><p>  stage2end:</p><p>  ********************第三級至最后一級蝶形運(yùn)算******

76、******************</p><p>  STM #K_TWID_TBL_SIZE,BK </p><p>  ST #K_TWID_IDX_3,d_twid_idx </p><p>  STM #K_TWID_IDX_3,AR0 </p&

77、gt;<p>  STM #cosine,WR </p><p>  STM #sine,WI </p><p>  STM #K_LOGN-2-1,STAGE_COUNTER </p><p>  ST

78、 #K_FFT_SIZE/8-1,d_grps_cnt </p><p>  STM #K_FLY_COUNT_3-1,BUTTERFLY_COUNTER </p><p>  ST #K_DATA_IDX_3,d_data_idx </p><p><b>  stage:</b></p

79、><p>  STM #fft_data,PX </p><p>  LD d_data_idx,A</p><p>  ADD *(PX),A</p><p>  STLM A,QX </p>

80、;<p>  MVDK d_grps_cnt,GROUP_COUNTER </p><p><b>  group:</b></p><p>  MVMD BUTTERFLY_COUNTER,BRC </p><p>  RPTBD butterflyend-1&l

81、t;/p><p>  LD *WR,T</p><p>  MPY *QX+,A </p><p>  MAC *WI+0%,*QX-,A </p><p>  ADD *PX,16,A,B </p><p&

82、gt;  ST B,*PX </p><p>  ||SUB *PX+,B </p><p>  ST B,*QX </p><p>  ||MPY *QX+,A </p><p>  MAS

83、 *QX,*WR+0%,A </p><p>  ADD *PX,16,A,B </p><p>  ST B,*QX+ </p><p>  ||SUB *PX,B </p><p>  LD

84、*WR,T </p><p>  ST B,*PX+ </p><p>  ||MPY *QX+,A </p><p>  butterflyend:</p><p>  PSHM AR0 </p>&l

85、t;p>  MVDK d_data_idx,AR0</p><p>  MAR *PX+0 </p><p>  MAR *QX+0 </p><p>  BANZD group,*GROUP_COUNTER-</

86、p><p>  POPM AR0 </p><p>  MAR *QX-</p><p>  LD d_data_idx,A</p><p>  SUB #1,A,B </p><p>  STLM

87、 B,BUTTERFLY_COUNTER </p><p>  STL A,1,d_data_idx </p><p>  LD d_grps_cnt,A </p><p>  STL A,ASM,d_grps_cnt </p>&

88、lt;p>  LD d_twid_idx,A</p><p>  STL A,ASM,d_twid_idx </p><p>  BANZD stage,*STAGE_COUNTER-</p><p>  MVDK d_twid_idx,AR0 </p>&

89、lt;p><b>  fft_end:</b></p><p>  ***********************計算功率譜</p><p>  STM #fft_data,AR2</p><p>  ; STM #fft_data,AR3</p><

90、p>  STM #fft_out,AR4</p><p>  STM #K_FFT_SIZE*2-1,BRC</p><p>  RPTB power_end-1</p><p>  SQUR *AR2+,A </p><p>  S

91、QURA *AR2+,A </p><p>  STH A,*AR4+</p><p>  power_end:</p><p>  STM #fft_out,AR4</p><p>  RPT #K_FFT_SIZE-1</p&

92、gt;<p>  PORTW *AR4+,PA0</p><p><b>  NOP</b></p><p><b>  NOP</b></p><p>  here: B here</p><p><b>  .e

93、nd</b></p><p>  2、鏈接命令文件fft.cmd</p><p>  vector.obj</p><p>  rfft_task.obj</p><p>  -o rfft_task.obj</p><p>  -m rfft_task.map</p><p>  

94、-e rfft_task</p><p><b>  MEMORY</b></p><p><b>  {</b></p><p><b>  PAGE0:</b></p><p>  EPROM: org=0E000H len=1000H</p>&l

95、t;p>  VECS: org=0FF80H len=0080H</p><p><b>  PAGE1:</b></p><p>  SPRAM: org=0060H len=0020H</p><p>  DARAM: org=0400H len=0600H</p><p>  

96、RAM: org=8000H len=1400H</p><p><b>  }</b></p><p><b>  SECTIONS </b></p><p><b>  {</b></p><p>  sine1 : > EPROM

97、 PAGE0</p><p>  cosine1 : > EPROM PAGE0</p><p>  fft_prg : > EPROM PAGE0</p><p>  .bss : > SPRAM

98、 PAGE1</p><p>  sine : align(512){}>DARAM PAGE1</p><p>  cosine : align(512){}>DARAM PAGE1</p><p>  d_input : > RAM

99、 PAGE1</p><p>  fft_data : > RAM PAGE1</p><p>  fft_out : > RAM PAGE1</p><p>  STACK : > SPRAM

100、 PAGE1</p><p>  .vectors : > VECS PAGE0</p><p><b>  }</b></p><p>  3、FFT程序的使用方法</p><p>  (1)根據(jù)N值,修改rfft_task.asm中的兩個常數(shù),如N=64.<

101、;/p><p>  K_FFT_SIZE .set 64</p><p>  K_LOGN .set 6</p><p>  (2)準(zhǔn)備輸入數(shù)據(jù)文件in.dat。輸入數(shù)據(jù)按實(shí)部、虛部,實(shí)部、虛部,……順序存放。</p><p> ?。?)匯編、鏈接、仿真執(zhí)行,得到輸出數(shù)據(jù)文件out.dat。&l

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 眾賞文庫僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論