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

下載本文檔

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

文檔簡(jiǎn)介

1、<p>  《現(xiàn)代信號(hào)處理課程設(shè)計(jì)》</p><p><b>  課程設(shè)計(jì)報(bào)告</b></p><p>  設(shè)計(jì)題目 DFT的快速算法分析及FFT的DSP實(shí)現(xiàn)</p><p><b>  目 錄</b></p><p>  第1章 引言........................

2、......................2</p><p>  第2章 FFT算法簡(jiǎn)介.......................................2</p><p>  2.1 離散傅里葉變換DFT...................................2</p><p>  2.2 快速傅里葉變換FFT.............

3、......................2</p><p>  第3章FFT算法的DSP實(shí)現(xiàn)...................................5</p><p>  3.1 實(shí)現(xiàn)數(shù)據(jù)的比特反轉(zhuǎn)...................................5</p><p>  3.2 實(shí)現(xiàn)N點(diǎn)復(fù)數(shù)FFT…...............

4、.....................5</p><p>  3.3  輸出FFT結(jié)果........................................6</p><p>  第4章 系統(tǒng)開(kāi)發(fā)平臺(tái)與環(huán)境.................................6</p><p>  4.1 CCS開(kāi)發(fā)環(huán)境.............

5、.............................6</p><p>  4.2SEED-DEC2812開(kāi)發(fā)試驗(yàn)箱..................6</p><p>  第5章 軟件設(shè)計(jì)...........................................7</p><p>  5.1流程圖.......................

6、........................7</p><p>  5.2 源程序..............................................8 </p><p>  第6章 系統(tǒng)仿真..........................................14 </p><p>  第七章 總結(jié)…………………..……

7、………………………...………..19</p><p>  參考文獻(xiàn).................................................19</p><p><b>  1.引言</b></p><p>  傅里葉變換是將信號(hào)從時(shí)域變換到頻域的一種變換形式,是信號(hào)處理領(lǐng)域中一種重要的分析工具。離散傅里葉變換(DFT

8、)是連續(xù)傅里葉變換在離散系統(tǒng)中的表現(xiàn)形式。由于DFT的計(jì)算量很大,因此在很長(zhǎng)一段時(shí)間內(nèi)使其應(yīng)用受到很大的限制。</p><p>  20世紀(jì)60年代由Cooley和Tukey提出了快速傅里葉變換(FFT)算法,它是快速計(jì)算DFT的一種高效方法,可以明顯地降低運(yùn)算量,大大地提高DFT的運(yùn)算速度,從而使DFT在實(shí)際中得到了廣泛的應(yīng)用,已成為數(shù)字信號(hào)處理最為重要的工具之一。</p><p>  

9、DSP芯片的出現(xiàn)使FFT的實(shí)現(xiàn)變得更加方便。由于多數(shù)的DSP芯片都能在單指令周期內(nèi)完成乘法—累加運(yùn)算,而且還提供了專(zhuān)門(mén)的FFT指令(如實(shí)現(xiàn)FFT算法所必需的比特反轉(zhuǎn)等),使得FFT算法在DSP芯片上實(shí)現(xiàn)的速度更快。本節(jié)首先簡(jiǎn)要介紹FFT算法的基本原理,然后介紹FFT算法的DSP實(shí)現(xiàn)。</p><p>  2.FFT算法的簡(jiǎn)介</p><p>  快速傅里葉變換(FFT)是一種高效實(shí)現(xiàn)離散傅

10、里葉變換(DFT)的快速算法,是數(shù)字信號(hào)處理中最為重要的工具之一,它在聲學(xué),語(yǔ)音,電信和信號(hào)處理等領(lǐng)域有著廣泛的應(yīng)用。</p><p>  2.1離散傅里葉變換DFT</p><p>  對(duì)于長(zhǎng)度為N的有限長(zhǎng)序列x(n),它的離散傅里葉變換(DFT)為</p><p><b> ?。?)</b></p><p>  式中

11、, ,稱為旋轉(zhuǎn)因子或蝶形因子。</p><p>  從DFT的定義可以看出,在x(n)為復(fù)數(shù)序列的情況下,對(duì)某個(gè)k值,直接按(1)式計(jì)算X(k) 只需要N次復(fù)數(shù)乘法和(N-1)次復(fù)數(shù)加法。因此,對(duì)所有N個(gè)k值,共需要N2次復(fù)數(shù)乘法和N(N-1)次復(fù)數(shù)加法。對(duì)于一些相當(dāng)大有N值(如1024點(diǎn))來(lái)說(shuō),直接計(jì)算它的DFT所需要的計(jì)算量是很大的,因此DFT運(yùn)算的應(yīng)用受到了很大的限制。</p><

12、;p>  2.2快速傅里葉變換FFT</p><p>  旋轉(zhuǎn)因子WN 有如下的特性。</p><p><b>  對(duì)稱性: </b></p><p><b>  周期性:</b></p><p>  利用這些特性,既可以使DFT中有些項(xiàng)合并,減少了乘法積項(xiàng),又可以將長(zhǎng)序列的DFT分解成

13、幾個(gè)短序列的DFT。FFT就是利用了旋轉(zhuǎn)因子的對(duì)稱性和周期性來(lái)減少運(yùn)算量的。</p><p>  FFT的算法是將長(zhǎng)序列的DFT分解成短序列的DFT。例如:N為偶數(shù)時(shí),先將N點(diǎn)的DFT分解為兩個(gè)N/2點(diǎn)的DFT,使復(fù)數(shù)乘法減少一半:再將每個(gè)N/2點(diǎn)的DFT分解成N/4點(diǎn)的DFT,使復(fù)數(shù)乘又減少一半,繼續(xù)進(jìn)行分解可以大大減少計(jì)算量。最小變換的點(diǎn)數(shù)稱為基數(shù),對(duì)于基數(shù)為2的FFT算法,它的最小變換是2點(diǎn)DFT。<

14、/p><p>  一般而言,F(xiàn)FT算法分為按時(shí)間抽取的FFT(DIT FFT)和按頻率抽取的FFT(DIF FFT)兩大類(lèi)。DIF FFT算法是在時(shí)域內(nèi)將每一級(jí)輸入序列依次按奇/偶分成2個(gè)短序列進(jìn)行計(jì)算。而DIF FFT算法是在頻域內(nèi)將每一級(jí)輸入序列依次奇/偶分成2個(gè)短序列進(jìn)行計(jì)算。兩者的區(qū)別是旋轉(zhuǎn)因子出現(xiàn)的位置不同,得算法是一樣的。在DIF FFT算法中,旋轉(zhuǎn)因子 出現(xiàn)在輸入端,而在DIF FFT算法中它出現(xiàn)在輸入

15、端。</p><p>  假定序列x(n)的點(diǎn)數(shù)N是2的冪,按照DIF FFT算法可將其分為偶序列和奇序列。</p><p><b>  偶序列:</b></p><p><b>  奇序列:</b></p><p>  則x(n)的DFT表示為</p><p>  由于 ,

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

17、p><p>  從式(4)和式(5)可以看出,只要求出0~N/2-1區(qū)間和的值,就可求出0~N-1區(qū)間的N點(diǎn)值。</p><p>  以同樣的方式進(jìn)行抽取,可以求得N/4點(diǎn)的DFT,重復(fù)抽取過(guò)程,就可以使N點(diǎn)的DFT用上組2點(diǎn)的 DFT來(lái)計(jì)算,這樣就可以大減少運(yùn)算量。</p><p>  基2 DIF FFT的蝶形運(yùn)算如圖(a)所示。設(shè)蝶形輸入為和,輸出為和,則有<

18、;/p><p><b> ?。?)</b></p><p><b> ?。?)</b></p><p>  在基數(shù)為2的FFT中,設(shè)N=2M,共有M級(jí)運(yùn)算,每級(jí)有N/2個(gè)2點(diǎn)FFT蝶形運(yùn)算,因此,N點(diǎn)FFT總共有個(gè)蝶形運(yùn)算。</p><p><b>  -1</b></p&g

19、t;<p>  圖(a) 基2 DIF FFT的蝶形運(yùn)算</p><p>  例如:基數(shù)為2的FFT,當(dāng)N=8時(shí),共需要3級(jí),12個(gè)基2 DIT FFT的蝶形運(yùn)算。其信號(hào)流程如圖(b)所示。</p><p>  x(0) x(0)</p>

20、;<p><b>  WN0</b></p><p>  x(4) x(1)</p><p>  -1 </p><p><b>  WN0</b></p>

21、;<p>  x(2) x(2)</p><p><b>  -1</b></p><p>  WN0 WN2</p><p>  x(6)

22、 x(3)</p><p>  -1 -1</p><p><b>  WN0</b></p><p>  x(1)

23、 x(4)</p><p><b>  -1</b></p><p>  WN0 WN1</p><p>  x(5)

24、 x(5)</p><p>  -1 -1</p><p>  WN0 WN2</p><p>  x(3)

25、 x(6)</p><p>  -1 -1</p><p>  WN0 WN2 WN3</p><p>  x(7)

26、 x(7)</p><p>  -1 -1 -1</p><p>  圖(b) 8點(diǎn)基2 DIF FFT蝶形運(yùn)算</p><p>  從圖(b)可以看出,輸入是經(jīng)過(guò)比特反轉(zhuǎn)的倒位序列,稱為位碼倒置,其排列順序?yàn)?。輸出是按自然順序排列,其順?/p>

27、為。</p><p>  3.FFT算法的DSP實(shí)現(xiàn)</p><p>  DSP芯片的出現(xiàn)使FFT的實(shí)現(xiàn)方法變得更為方便。由于大多數(shù)DSP芯片都具有在單指令周期內(nèi)完成乘法—累加操作,并且提供了專(zhuān)門(mén)的FFT指令,使得FFT算法在DSP芯片實(shí)現(xiàn)的速度更快。</p><p>  FFT算法可以分為按時(shí)間抽取FFT (DIF FFT)和按頻率抽取FFT (DIF FFT)兩

28、大類(lèi),輸入也有實(shí)數(shù)和復(fù)數(shù)之分,一般情況下,都假定輸入序列為復(fù)數(shù)。下面以N復(fù)數(shù)點(diǎn)FFT算法為例,介紹用DSP芯片實(shí)現(xiàn)的方法。</p><p>  實(shí)現(xiàn)FFT算法主要分為三步:</p><p>  3.1實(shí)現(xiàn)輸入數(shù)據(jù)的比特反轉(zhuǎn)</p><p>  輸入數(shù)據(jù)的比特反轉(zhuǎn)實(shí)際上就是將輸入數(shù)據(jù)進(jìn)行位碼倒置,以便在整個(gè)運(yùn)算后的輸出序列是一個(gè)自然序列。在用匯編指令進(jìn)行位碼倒置是,使

29、用位碼倒置尋址可以大大擔(dān)高程序執(zhí)行速度和使用存儲(chǔ)器的效率。在這種尋址方式下,AR0存放的整數(shù)N是FFT點(diǎn)的一半,一個(gè)輔助寄存器指向一個(gè)數(shù)據(jù)存放的章元。當(dāng)使用位碼倒置尋址將AR0加到輔助寄存器時(shí),地址將以位碼倒置的方式產(chǎn)生。</p><p>  3.2實(shí)現(xiàn)N點(diǎn)復(fù)數(shù)FFT</p><p>  N點(diǎn)復(fù)數(shù)FFT算法的實(shí)現(xiàn)可分為三個(gè)功能塊,即第一級(jí)蝶形運(yùn)算,第二蝶形運(yùn)算,第三級(jí)至級(jí)蝶形運(yùn)算。<

30、/p><p>  對(duì)于任何一個(gè)2的整數(shù)冪N=2M,,總可以通過(guò)M次分解最后成為2點(diǎn)的DFT計(jì)算。通過(guò)這樣的M次分解,可構(gòu)成M(即)級(jí)迭代運(yùn)算完成。</p><p>  3.3輸出FFT結(jié)果</p><p>  四.系統(tǒng)開(kāi)發(fā)平臺(tái)與環(huán)境</p><p>  4.1 CCS開(kāi)發(fā)環(huán)境</p><p>  CCS提供了配置、建立、調(diào)

31、試、跟蹤和分析程序的工具,它便于實(shí)時(shí)、嵌入式信號(hào)處理程序的編制和測(cè)試,它能夠加速開(kāi)發(fā)進(jìn)程,提高工作效率。</p><p>  CCS提供了基本的代碼生成工具,它們具有一系列的調(diào)試、分析能力。CCS支持如下圖1.1所示的開(kāi)發(fā)周期的所有階段。</p><p><b>  圖 1.1</b></p><p>  4.2 SEED-DEC2812開(kāi)發(fā)實(shí)

32、驗(yàn)箱</p><p>  SEED-DECxxxx系列嵌入式DSP開(kāi)發(fā)板本著模塊化、總線型、開(kāi)放式、系列化的設(shè)計(jì)思想,采用統(tǒng)一的系統(tǒng)結(jié)構(gòu)、模塊結(jié)構(gòu)和機(jī)械結(jié)構(gòu),以多種典型DSP處理器構(gòu)成具有標(biāo)準(zhǔn)總線和相同物理尺寸的高性能嵌入式DSP開(kāi)發(fā)板。</p><p>  SEED-DEC2812 嵌入式DSP開(kāi)發(fā)板原理框圖如圖1.2所示:</p><p><b>  

33、圖 1.2</b></p><p><b>  五.軟件設(shè)計(jì)</b></p><p><b>  5.1程序流程圖</b></p><p><b>  5.2源程序</b></p><p>  #include "DSP281x_Device.h"

34、; // DSP281x Headerfile Include File</p><p>  #include "DSP281x_Examples.h" // DSP281x Examples Include File</p><p>  #include "f2812a.h"</p><p>  #include

35、"math.h"</p><p>  #define PI 3.1415926</p><p>  #define SAMPLENUMBER 128</p><p>  #include "DSP281x_Device.h" // DSP281x Headerfile Include File</p>&

36、lt;p>  #include "DSP281x_Examples.h" // DSP281x Examples Include File</p><p>  // Prototype statements for functions found within this file.</p><p>  interrupt void adc_isr(void);

37、</p><p>  // Global variables used in this example:</p><p>  void admain();</p><p>  void InitForFFT();</p><p>  void MakeWave();</p><p>  //void FFT(float

38、 dataR[SAMPLENUMBER],float dataI[SAMPLENUMBER]);</p><p>  Uint16 LoopCount;</p><p>  Uint16 ConversionCount;</p><p>  Uint16 Voltage1[1024];</p><p>  Uint16 Voltage2[10

39、24];</p><p>  Uint16 nMixing[1024];</p><p>  int INPUT[SAMPLENUMBER],DATA[SAMPLENUMBER];</p><p>  float fWaveR[SAMPLENUMBER],fWaveI[SAMPLENUMBER],w[SAMPLENUMBER];</p><p&g

40、t;  float sin_tab[SAMPLENUMBER],cos_tab[SAMPLENUMBER];</p><p>  admain(void) </p><p><b>  {</b></p><p>  InitSysCtrl();//初始化cpu</p><p>  DINT;//關(guān)中斷</p>

41、;<p>  InitPieCtrl();//初始化pie寄存器</p><p>  IER = 0x0000;//禁止所有的中斷</p><p>  IFR = 0x0000;</p><p>  InitPieVectTable();//初始化pie中斷向量表</p><p>  // Interrupts that are

42、 used in this example are re-mapped to</p><p>  // ISR functions found within this file. </p><p>  EALLOW; // This is needed to write to EALLOW protected register</p><p>  Pi

43、eVectTable.ADCINT = &adc_isr;</p><p>  EDIS; // This is needed to disable write to EALLOW protected registers</p><p>  AdcRegs.ADCTRL1.bit.RESET = 1;// Reset the ADC module</p>&

44、lt;p>  asm(" RPT #10 || NOP");// Must wait 12-cycles (worst-case) </p><p>  AdcRegs.ADCTRL3.all = 0x00C8;// first power-up ref and bandgap circuits</p><p>  AdcRegs.ADCTRL3.b

45、it.ADCBGRFDN = 0x3;// Power up bandgap/reference circuitry</p><p>  AdcRegs.ADCTRL3.bit.ADCPWDN = 1;// Power up rest of ADC</p><p>  // Enable ADCINT in PIE</p><p>  PieCtrlRegs.

46、PIEIER1.bit.INTx6 = 1;</p><p>  IER |= M_INT1; // Enable CPU Interrupt 1</p><p>  EINT; // Enable Global interrupt INTM</p><p>  ERTM; // Enable Global realtime in

47、terrupt DBGM</p><p>  LoopCount = 0;</p><p>  ConversionCount = 0;</p><p>  // Configure ADC</p><p>  AdcRegs.ADCMAXCONV.all = 0x0001; // Setup 2 conv's on SE

48、Q1</p><p>  AdcRegs.ADCCHSELSEQ1.bit.CONV00 = 0x0; // Setup ADCINA3 as 1st SEQ1 conv.</p><p>  AdcRegs.ADCCHSELSEQ1.bit.CONV01 = 0x1; // Setup ADCINA2 as 2nd SEQ1 conv.</p><p>  Adc

49、Regs.ADCTRL2.bit.EVA_SOC_SEQ1 = 1; // Enable EVASOC to start SEQ1</p><p>  AdcRegs.ADCTRL2.bit.INT_ENA_SEQ1 = 1; // Enable SEQ1 interrupt (every EOS)</p><p>  // Configure EVA</p><p

50、>  // Assumes EVA Clock is already enabled in InitSysCtrl();</p><p>  EvaRegs.T1CMPR = 0x0080; // Setup T1 compare value</p><p>  EvaRegs.T1PR = 0x10; // Setup p

51、eriod register</p><p>  EvaRegs.GPTCONA.bit.T1TOADC = 1; // Enable EVASOC in EVA</p><p>  EvaRegs.T1CON.all = 0x1042; // Enable timer 1 compare (upcount mode)</p><p&g

52、t;  // Wait for ADC interrupt</p><p><b>  while(1)</b></p><p><b>  {</b></p><p>  LoopCount++;</p><p><b>  }</b></p><p>

53、;<b>  }</b></p><p>  interrupt void adc_isr(void)</p><p><b>  {</b></p><p>  Voltage1[ConversionCount] = AdcRegs.ADCRESULT0 >>4;</p><p> 

54、 Voltage2[ConversionCount] = AdcRegs.ADCRESULT1 >>4;</p><p>  nMixing[ConversionCount]=Voltage1[ConversionCount]+Voltage2[ConversionCount];</p><p>  // If 40 conversions have been logged,

55、start over</p><p>  if(ConversionCount == 1023) </p><p><b>  {</b></p><p>  ConversionCount = 0;</p><p><b>  }</b></p><p>  else Co

56、nversionCount++;</p><p>  // Reinitialize for next ADC sequence</p><p>  AdcRegs.ADCTRL2.bit.RST_SEQ1 = 1; // Reset SEQ1</p><p>  AdcRegs.ADCST.bit.INT_SEQ1_CLR = 1; /

57、/ Clear INT SEQ1 bit</p><p>  PieCtrlRegs.PIEACK.all = PIEACK_GROUP1; // Acknowledge interrupt to PIE</p><p><b>  return;</b></p><p><b>  }</b></p>

58、<p>  void FFT(float dataR[SAMPLENUMBER],float dataI[SAMPLENUMBER])</p><p><b>  {</b></p><p>  int x0,x1,x2,x3,x4,x5,x6,xx;</p><p>  int i,j,k,b,p,L;</p><

59、;p>  float TR,TI,temp;</p><p>  /********** following code invert sequence ************/</p><p>  for ( i=0;i<SAMPLENUMBER;i++ )</p><p><b>  {</b></p><p

60、>  x0=x1=x2=x3=x4=x5=x6=0;</p><p>  x0=i&0x01; x1=(i/2)&0x01; x2=(i/4)&0x01; x3=(i/8)&0x01;x4=(i/16)&0x01; </p><p>  x5=(i/32)&0x01; x6=(i/64)&0x01;</p>&l

61、t;p>  xx=x0*64+x1*32+x2*16+x3*8+x4*4+x5*2+x6;</p><p>  dataI[xx]=dataR[i];</p><p><b>  }</b></p><p>  for ( i=0;i<SAMPLENUMBER;i++ )</p><p><b> 

62、 {</b></p><p>  dataR[i]=dataI[i]; dataI[i]=0; </p><p><b>  }</b></p><p>  /************** following code FFT *******************/</p><p>  for ( L=1;

63、L<=7;L++ )</p><p>  { /* for(1) */</p><p>  b=1; i=L-1;</p><p>  while ( i>0 ) </p><p><b>  {</b></p><p>  b=b*2; i--;</p><p&g

64、t;  } /* b= 2^(L-1) */</p><p>  for ( j=0;j<=b-1;j++ ) /* for (2) */</p><p><b>  {</b></p><p>  p=1; i=7-L;</p><p>  while ( i>0 ) /* p=pow(2,7-L)*j;

65、*/</p><p><b>  {</b></p><p>  p=p*2; i--;</p><p><b>  }</b></p><p><b>  p=p*j;</b></p><p>  for ( k=j;k<128;k=k+2*b

66、) /* for (3) */</p><p><b>  {</b></p><p>  TR=dataR[k]; TI=dataI[k]; temp=dataR[k+b];</p><p>  dataR[k]=dataR[k]+dataR[k+b]*cos_tab[p]+dataI[k+b]*sin_tab[p];</p>

67、<p>  dataI[k]=dataI[k]-dataR[k+b]*sin_tab[p]+dataI[k+b]*cos_tab[p];</p><p>  dataR[k+b]=TR-dataR[k+b]*cos_tab[p]-dataI[k+b]*sin_tab[p];</p><p>  dataI[k+b]=TI+temp*sin_tab[p]-dataI[k+b]*co

68、s_tab[p];</p><p>  } /* END for (3) */</p><p>  } /* END for (2) */</p><p>  } /* END for (1) */</p><p>  for ( i=0;i<SAMPLENUMBER/2;i++ )</p><p><b&

69、gt;  { </b></p><p>  w[i]=sqrt(dataR[i]*dataR[i]+dataI[i]*dataI[i]);</p><p><b>  }</b></p><p>  } /* END FFT */</p><p><b>  main()</b><

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

71、gt;<p><b>  {</b></p><p>  fWaveR[i]=INPUT[i];</p><p>  fWaveI[i]=0.0f;</p><p>  w[i]=0.0f;</p><p><b>  }</b></p><p>  FFT(f

72、WaveR,fWaveI);</p><p>  for ( i=0;i<SAMPLENUMBER;i++ )</p><p><b>  {</b></p><p>  DATA[i]=w[i];</p><p><b>  }</b></p><p>  while

73、 ( 1 );// break point</p><p><b>  }</b></p><p>  void InitForFFT()</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  f

74、or ( i=0;i<SAMPLENUMBER;i++ )</p><p><b>  {</b></p><p>  sin_tab[i]=sin(PI*2*i/SAMPLENUMBER);</p><p>  cos_tab[i]=cos(PI*2*i/SAMPLENUMBER);</p><p><b&

75、gt;  }</b></p><p><b>  }</b></p><p>  void MakeWave()</p><p><b>  {</b></p><p><b>  int i;</b></p><p>  for ( i=0

76、;i<SAMPLENUMBER;i++ )</p><p>  {admain();</p><p>  INPUT[i]=Voltage1[ConversionCount]+Voltage2[ConversionCount]*3;</p><p><b>  }</b></p><p><b>  }&

77、lt;/b></p><p><b>  六.系統(tǒng)仿真</b></p><p> ?。?)啟動(dòng)CCS,在CCS中建立一個(gè)C源文件和一個(gè)命令文件,并將這兩個(gè)文件添加到工程,再編譯并裝載程序:</p><p>  閱讀Dsp原理及應(yīng)用中fft 用dsp實(shí)現(xiàn)的有關(guān)程序。</p><p>  雙擊,啟動(dòng)CCS的仿真平臺(tái)的配

78、著選項(xiàng)。</p><p> ?。?)啟動(dòng)ccs2后建立工程文件FFT.pjt</p><p> ?。?)建立源文件FFT.c與鏈接文件FFT.cmd</p><p> ?。?)將這兩個(gè)文件加到FFT.pjt這個(gè)工程中。</p><p> ?。?)創(chuàng)建out文件</p><p>  (7)加載out文件</p>

79、;<p><b>  (8)加載數(shù)據(jù)</b></p><p> ?。?)觀察輸入輸出波形</p><p><b>  七. 總結(jié)</b></p><p>  本實(shí)驗(yàn)通過(guò)學(xué)習(xí)快速傅里葉變換(FFT)的原理,然后在CCS平臺(tái)下編程對(duì)其進(jìn)行模擬仿真,對(duì)快速傅里葉變換(FFT)有個(gè)一個(gè)較深刻的理解。并且熟悉了DSP,

80、CCS平臺(tái),達(dá)到了課程教學(xué)的目的。但由于初學(xué)DSP,許多東西不明白,以后還需對(duì)DSP努力學(xué)習(xí)研究。</p><p>  通過(guò)這次DSP課程設(shè)計(jì),加深對(duì)DFT算法原理和基本性質(zhì)的理解,熟悉了FFT的算法原理和FFT子程序的算法流程和應(yīng)用,掌握了DSP中FFT的設(shè)計(jì)和編程思想,以及用FFT對(duì)連續(xù)信號(hào)和時(shí)域信號(hào)進(jìn)行頻譜分析的方法,和使用CCS的波形觀察器觀察波形和頻譜情況。</p><p>  

81、這次課程設(shè)計(jì),使我增長(zhǎng)了知識(shí),同時(shí)也增強(qiáng)了我動(dòng)手解決問(wèn)題的能力,鍛煉我做事細(xì)心、用心、耐心的能力。同時(shí)也讓我意識(shí)到平時(shí)的課程文化的學(xué)習(xí)固然非常重要,但是在與實(shí)際相聯(lián)系的過(guò)程中還是有許多問(wèn)題的,所以在以后的學(xué)習(xí)生活中,我要努力學(xué)習(xí),培養(yǎng)自己獨(dú)立思考的能力,要加強(qiáng)理論文化與實(shí)際操作的聯(lián)系。</p><p><b>  參考文獻(xiàn):</b></p><p>  1.DSP原理

82、及應(yīng)用其 鄒彥,唐冬,寧志剛,王毓銀 電子工業(yè)出版社</p><p>  2.TMS320C5000系列DSP系統(tǒng)設(shè)計(jì)與開(kāi)發(fā)實(shí)例 汪春梅,孫洪波,任治剛 電子工業(yè)出版社</p><p>  3.DSP芯片的原理與開(kāi)發(fā)應(yīng)用(第三版) 張雄偉,陳亮,徐光輝 電子工業(yè)出版社</p><p>  4.實(shí)時(shí)數(shù)字信號(hào)處理 SEN M.KU

溫馨提示

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

評(píng)論

0/150

提交評(píng)論