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

下載本文檔

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

文檔簡介

1、<p>  《DSP技術(shù)與應(yīng)用》課程設(shè)計報告</p><p>  選題名稱: 語音壓縮與回放 </p><p>  系(院): 計算機(jī)工程學(xué)院</p><p>  專 業(yè):計算機(jī)科學(xué)與技術(shù)(嵌入式系統(tǒng)軟件設(shè)計)</p><p>  班 級: 計算

2、機(jī)1073 </p><p>  姓 名: 學(xué) 號: </p><p>  指導(dǎo)教師: </p><p>  學(xué)年學(xué)期: 2009 ~ 2010 學(xué)年 第 2 學(xué)期</p><p>  

3、2010年 6 月 11 日</p><p><b>  摘要:</b></p><p>  如何在實際系統(tǒng)中實現(xiàn)語音壓縮, 這是一個重要的研究領(lǐng)域。目前, PC上的實時語音壓縮技術(shù)已經(jīng)較為成熟,而嵌入式系統(tǒng)領(lǐng)域的語音壓縮技術(shù)還有待發(fā)展和完善。由于大多數(shù)高質(zhì)量、低碼 率的語音壓縮算法有較為復(fù)雜的數(shù)據(jù)運算, 所以傳統(tǒng)的單片機(jī)已經(jīng)不能勝任, 必須采用

4、更高性能的處理器, 而專門為數(shù)字信號處理設(shè)計的數(shù)字信號處理器 (DSP)為語音壓縮的實現(xiàn)提供了一個很好的平臺。隨著超大規(guī)模集成電路 (VL S I)工藝的進(jìn)步 ,高速數(shù)字信號處理器 (DSP)技術(shù)的飛速發(fā)展以及先進(jìn)開發(fā)工具的完備 ,使得復(fù)雜的語音編解碼算法在以高性 能微處理器為核心的硬件系統(tǒng)上實時實現(xiàn)成為可 能 。本文介紹了一種基于目前性能價格比較高的16位定點 DSP芯片 TMS320VC54X的語音壓縮處理系統(tǒng) , 可以直接作為會議

5、電視 、PSTN 可視電話、IP 網(wǎng)絡(luò)多媒體通信、遠(yuǎn)程醫(yī)療系統(tǒng)終端設(shè)備中聲音信源編碼解碼器系統(tǒng)。</p><p>  關(guān)鍵詞:語音壓縮;語音編碼;DSP</p><p><b>  目錄</b></p><p><b>  1課題綜述1</b></p><p>  1.1 課題來源1</p

6、><p>  1.2 預(yù)期目標(biāo)1</p><p>  1.3 面對的問題1</p><p>  2 系統(tǒng)設(shè)計及分析2</p><p>  2.1 涉及的基礎(chǔ)知識2</p><p>  2.2 實驗方案4</p><p>  2.3 程序流程圖5</p><p>&

7、lt;b>  3 程序代碼6</b></p><p>  3.1 頭文件定義6</p><p><b>  3.2 主函數(shù)7</b></p><p>  3.3 a律壓縮子函數(shù)12</p><p>  3.4 a律解壓縮子函數(shù)13</p><p>  3.5 延時子函數(shù)

8、14</p><p>  3.6 5402.cmd文件14</p><p>  4 程序運行與調(diào)試17</p><p>  4.1 實驗結(jié)果17</p><p><b>  總 結(jié)19</b></p><p><b>  參考文獻(xiàn)20</b></p>

9、<p><b>  1課題綜述</b></p><p><b>  1.1 課題來源</b></p><p>  數(shù)字化語音存儲與回放系統(tǒng),以微處理芯片為核心,具有語音可控、 回放靈活、無磨損、可靠簡單等特點。因而在各類公共設(shè)施、智能儀表、家用電子產(chǎn)品等領(lǐng)域有著廣泛的應(yīng)用。該系統(tǒng)目前有多種方案可以實現(xiàn),其中采集成語音芯片是一種較簡單通

10、用的方案,但該方案智能性較差,如音量不能放大、錄音時間固定等。在通信應(yīng)用領(lǐng)域中, 壓縮語音信號的傳輸帶寬或降低電話信道的傳輸碼率, 一直是設(shè)計人員追求的目標(biāo)。語音編碼在實現(xiàn)這一目標(biāo)的過程中擔(dān)當(dāng)著重要的角色, 語音編碼是壓縮語音信號的數(shù)字表示, 而且是這些信號所需比特數(shù)最小的算法。可以說, 語音壓縮技術(shù)的發(fā)展和人類信息技術(shù)的發(fā)展息息相關(guān)。因此, 對語音壓縮技術(shù)的研究具有重要的現(xiàn)實意義。</p><p><b&

11、gt;  1.2 預(yù)期目標(biāo)</b></p><p> ?。?)使用DSP實現(xiàn)語音壓縮和解壓縮的基本算法,算法類型自定,例如可以采用G.711、G.729等語音壓縮算法。</p><p> ?。?)采用A/D轉(zhuǎn)換器從MIC輸入口實時采集語音信號,進(jìn)行壓縮后存儲到DSP的片內(nèi)和片外RAM存儲器中,存儲時間不小于10秒。</p><p>  (3)存儲器存滿之

12、后,使用DSP進(jìn)行實時解壓縮,并從SPEAKER輸出口進(jìn)行回放輸出。</p><p> ?。?)使用指示燈對語音存儲和回放過程進(jìn)行指示。</p><p>  發(fā)揮部分:使用多種算法進(jìn)行語音的壓縮、存儲和解壓縮,比較它們之間的優(yōu)缺點。</p><p><b>  1.3 面對的問題</b></p><p>  基于TMS3

13、20C54X為核心的語音壓縮與回放需要掌握和了解如下幾個知識:語音編碼原理、量化、DPCM&ADPCM、語音采集與輸出模塊、a律壓縮、A/D、D/A及存儲芯片的選擇、數(shù)據(jù)存儲器的選擇等等。</p><p><b>  2 系統(tǒng)設(shè)計及分析</b></p><p>  2.1 涉及的基礎(chǔ)知識</p><p>  2.1.1 語音編碼<

14、/p><p>  語音編碼一般分為兩類:一類是波形編碼,一類是被稱為“聲碼器技術(shù)”的編碼。</p><p>  PCM編碼即脈沖編碼調(diào)制。</p><p>  波形編碼的最簡單形式就是脈沖編碼調(diào)制(Pulse code modulation),這種方式將語音變換成與其幅度成正比的二進(jìn)制序列,而二進(jìn)制數(shù)值往往采用脈沖表示,并用脈沖對采樣幅 度進(jìn)行編碼,所以叫做脈沖編碼調(diào)制

15、。</p><p>  脈沖編碼調(diào)制沒有考慮語音的性質(zhì),所以信號沒有得到壓縮。</p><p><b>  2.1.2 量化</b></p><p>  脈沖編碼調(diào)制用同等的量化級數(shù)進(jìn)行量化,即采用均勻量化,而均勻量化是基本的量化方 式。但是均勻量化有缺點,在信號動態(tài)范圍較大而方差較小的時候,其信噪比會下降 。 </p><

16、p>  國際上有兩種非均勻量化的方法:A律和u律,u律是最常用的一種。在美國,7位u律是長途電話質(zhì)量的標(biāo)準(zhǔn)。 而我國采用的是A律壓縮,而且有標(biāo)準(zhǔn)的A律PCM編碼芯片。 </p><p>  2.1.3 DPCM&ADPCM</p><p>  降低傳輸比特率的方法之一是減少編碼的信息量,這要消除語音信號中的冗余度。相鄰的語音樣本之間存在明顯的相關(guān)性,因此對相鄰樣本間的差信號進(jìn)

17、行編碼,便可使信息量得到壓縮。因為差分信號比原語音信號的動態(tài)范圍和平均能量都小。這種編碼叫Differential PCM,簡稱DPCM,即差分脈沖編碼調(diào)制。 </p><p>  ADPCM即自適應(yīng)差分脈沖編碼調(diào)制,是包括短時預(yù)測的編碼系統(tǒng)。CCITT(國際電報電話咨詢委員會)在1984年提出的32 kbit/s的編碼器建議就是采用ADPCM作為長途傳輸中的國際通用語音編碼方案。這種ADPCM編碼方案達(dá)到64

18、kbit/s PCM的語音傳輸質(zhì)量,并具有很好的抗誤碼性能。</p><p>  2.1.4 a律壓縮</p><p>  A律編碼(A-law )是ITU-T(國際電聯(lián)電信標(biāo)準(zhǔn)局)CCITT G.712定義的關(guān)于脈沖編碼的一種壓縮/解壓縮算法。 </p><p>  世界上大部分國家采用A律壓縮算法。美國采用mu律算法進(jìn)行脈沖編碼。 </p><

19、;p>  令量化器過載電壓為1,相當(dāng)于把輸入信號進(jìn)行歸一化,那么A律對數(shù)壓縮定義為: </p><p>  當(dāng)0 <= x <= 1/A時,f(x)=(Ax)/(1+lnA) </p><p>  當(dāng)1/A <= x <= 1時,f(x)=(1+lnAx)/(1+lnA)</p><p>  在現(xiàn)行的國際標(biāo)準(zhǔn)中A=87.6,此時信號很小

20、時(即小信號時),從上式可以看到信號被放大了16倍,這相當(dāng)于與無壓縮特性比較,對于小信號的情況,量化間隔比均勻量化時減小了16倍,因此,量化誤差大大降低;而對于大信號的情況例如x=1,量化間隔比均勻量化時增大了5.47倍,量化誤差增大了。這樣實際上就實現(xiàn)了“壓大補小”的效果。按上式得到的A律壓擴(kuò)特性是連續(xù)曲線,A的取值不同其壓擴(kuò)特性亦不相同,而在電路上實現(xiàn)這樣的函數(shù)規(guī)律是相當(dāng)復(fù)雜的。為此,人們提出了數(shù)字壓擴(kuò)技術(shù),其基本思想是這樣的:利用

21、大量數(shù)字電路形成若干根折線,并用這些折線來近似對數(shù)的壓擴(kuò)特性,從而達(dá)到壓擴(kuò)的目的。下圖2-1為a律壓縮的示意圖</p><p>  圖2-1 a律壓縮示意圖</p><p>  從圖2-1中可以看到,先把軸的0~1分為8個不均勻段,其分法是:將0~1之間一分為二,其中點為1/2,取1/2~1之間作為第八段;剩余的0~1/2再一分為二,中點為1/4,取1/4~1/2之間作為第七段,再把剩余的

22、0~1/4一分為二,中點為1/8,取1/8~1/4之間作為第六段,依此分下去,直至剩余的最小一段為0~1/128作為第一段。而軸的0~1均勻地分為八段,它們與軸的八段一一對應(yīng)。從第一段到第八段分別為,0~1/8,1/8~2/8,…,7/8~1。這樣,便可以作出由八段直線構(gòu)成的一條折線。該折線與式(6-22)表示的壓縮特性近似。</p><p>  壓縮后的碼字組成:比特0-3表矢量化值,比特4-6表示段值,壓縮后

23、的碼字符號放在比特7,為了簡化未寫出。</p><p>  表2-1 a律壓縮表</p><p>  從A律到線性擴(kuò)展的轉(zhuǎn)換如下表:</p><p>  表2-2 a律解壓縮轉(zhuǎn)換表</p><p><b>  2.2 實驗方案</b></p><p>  用板內(nèi)的AD/DA轉(zhuǎn)換器AD50將由MIC

24、輸入的模擬信號轉(zhuǎn)換為16位數(shù)字信號送入DSP板中進(jìn)行壓縮處理,壓縮處理后的數(shù)據(jù)經(jīng)過解壓后再送至DA轉(zhuǎn)換器轉(zhuǎn)換為模擬信號,由SPEAKER口輸出,壓縮和解壓縮用A律格式,從而實現(xiàn)語音信號的采集壓縮與回放。</p><p>  圖2-2 總體框架圖</p><p><b>  2.3 程序流程圖</b></p><p>  基于TMS320C54X

25、的語音壓縮與回放程序流程圖如下所示。</p><p>  圖2-4 程序流程圖</p><p><b>  3 程序代碼</b></p><p>  我主要完成a律解壓縮的代碼編寫,因此對主程序和a律壓縮不做詳細(xì)的解釋。</p><p><b>  3.1 頭文件定義</b></p>

26、<p>  /**************************************************************************/</p><p>  #include <type.h></p><p>  #include <board.h></p><p>  #include <code

27、c.h></p><p>  #include <mcbsp54.h></p><p>  /**************************************************************************/</p><p>  /* Function Prototypes

28、 */</p><p>  /**************************************************************************/</p><p>  void delay(s16 period);</p><p>  unsigned char d

29、ata2alaw(int pcm_val);</p><p>  int alaw2data(unsigned chara_val);

30、 </p><p>  /***********

31、***************************************************************/</p><p>  /* Global Variables */</p><p>  /******************************

32、********************************************/</p><p>  HANDLE hHandset; /*句柄變量*/</p><p><b>  int data;</b></p><p>  int data1;</p><p>  long i,

33、j=0;</p><p>  long k,l=0;</p><p>  unsigned int temp1;</p><p>  unsigned char temp2;</p><p>  unsigned int m;</p><p>  unsigned int buffer[36000];</p>

34、;<p><b>  3.2 主函數(shù)</b></p><p>  /**************************************************************************/</p><p>  /* MAIN

35、 */</p><p>  /**************************************************************************/</p><p>  void main()</p><p><b>  {</b></p><p>  if

36、(brd_init(100))//初始化DSK板,失敗退出</p><p><b>  return;</b></p><p>  /* blink the leds a couple times */</p><p>  for(m=6;m>0;m--)</p><p><b>  {&

37、lt;/b></p><p>  brd_led_toggle(BRD_LED0);</p><p>  /* brd_delay_msec(1000); */</p><p>  delay(1000);</p><p>  brd_led_toggle(BRD_LED1);</p><p>  /* brd_

38、delay_msec(1000); */</p><p>  delay(1000);</p><p>  brd_led_toggle(BRD_LED2);</p><p>  /* brd_delay_msec(1000); */</p><p>  delay(1000);</p><p><b>  

39、}</b></p><p>  /* Open Handset Codec */</p><p>  hHandset = codec_open(HANDSET_CODEC); /* Acquire handle to codec */</p><p>  /* Set codec parameters */</p><

40、;p>  codec_dac_mode(hHandset, CODEC_DAC_15BIT); /* DAC in 15-bit mode */</p><p>  codec_adc_mode(hHandset, CODEC_ADC_15BIT); /* ADC in 15-bit mode */</p><p>  codec_ain_gain(hHa

41、ndset, CODEC_AIN_6dB); </p><p>  /* 6dB gain on analog input to ADC */</p><p>  codec_aout_gain(hHandset, CODEC_AOUT_MINUS_12dB); </p><p>  /* -12dB gain on analog output from D

42、AC */</p><p>  codec_sample_rate(hHandset,SR_16000); /* 16KHz sampling rate */</p><p>  /* Polling and digital loopback */</p><p><b>  while (1)</b></p&

43、gt;<p><b>  {</b></p><p>  brd_led_disable(BRD_LED1);//關(guān)閉led1</p><p>  brd_led_disable(BRD_LED2);//關(guān)閉led2</p><p>  brd_led_toggle(BRD_LED0);//開啟led0</p>&l

44、t;p>  /* Wait for sample from handset */</p><p>  while (!MCBSP_RRDY(HANDSET_CODEC)) </p><p>  { data = *(volatile u16*)DRR1_ADDR(HANDSET_CODEC);}; //采集語音信號 </p><p>  temp1=data

45、2alaw(data); //temp1=data2ulaw(data); </p><p>  //保存壓縮后的數(shù)據(jù) 把低地址數(shù)據(jù)放在高八位 高地址數(shù)據(jù)放在第八位 </p><p>  i=i+1; </p><p>  if(i%2==1)</p><p&

46、gt;<b>  {</b></p><p>  buffer[j]=(temp1<<=8); /*奇數(shù)數(shù)據(jù)左移8位 temp1=abcdefgh00000000</p><p>  buffer[j]=temp1*/ </p><p><b>  }</b></p><p&g

47、t;<b>  else</b></p><p><b>  {</b></p><p>  buffer[j]=(buffer[j]|temp1);/*偶數(shù)數(shù)據(jù)與temp1取或 組成新的數(shù)據(jù)</p><p>  buffer[j]=abcdefghiabcdefghi*/ </p><p>  

48、j++; //j加1</p><p>  } </p><p>  if(i>=72000) </p><p><b>  {</b></p><p><b>  i=0;</b></p><p><b

49、>  } </b></p><p>  if(j>=36000)</p><p><b>  {</b></p><p><b>  j=0;</b></p><p>  brd_led_disable(BRD_LED0); //放音</p><

50、p>  brd_led_disable(BRD_LED2);</p><p>  brd_led_toggle(BRD_LED1); </p><p>  for(k=0;k<72000;k++)</p><p><b>  {</b></p><p>  if(k%2==0)</p

51、><p>  temp2=(buffer[l]>>8)&0x0ff;</p><p><b>  else</b></p><p><b>  {</b></p><p>  temp2=buffer[l]&0x0ff;</p><p><b&g

52、t;  l++;</b></p><p><b>  }</b></p><p>  if(l>=36000)</p><p><b>  l=0;</b></p><p>  data1=alaw2data(temp2); </p><p>  whil

53、e (!MCBSP_XRDY(HANDSET_CODEC)) {}; </p><p>  *(volatile u16*)DXR1_ADDR(HANDSET_CODEC) = data1*4;</p><p>  } </p><p>  brd_led_disable(BRD_LED0);</p><p>  br

54、d_led_disable(BRD_LED1);</p><p>  brd_led_toggle(BRD_LED2); //放音結(jié)束</p><p>  for (m=0;m<3;m++) delay(1000); </p><p>  for (m=0;m<36000;m++) buffer[m]=0;</p><

55、;p><b>  }</b></p><p><b>  } </b></p><p>  } </p><p><b>  1)初始化DSK:</b></p><p>  if (brd

56、_init(100))</p><p><b>  return;</b></p><p>  2)初始化A/D50C程序:</p><p>  /*獲取設(shè)置DAC的句柄 */</p><p>  hHandset = codec_open(HANDSET_CODEC); // Acquire handle to

57、 codec /*設(shè)置DAC的工作參數(shù)*/</p><p>  codec_dac_mode(hHandset, CODEC_DAC_15BIT); // DAC in 15-bit mode </p><p>  codec_adc_mode(hHandset, CODEC_ADC_15BIT); // ADC in 15-bit mode </p><p

58、>  codec_ain_gain(hHandset, CODEC_AIN_12dB); // 6dB gain on analog input to ADC </p><p>  codec_aout_gain(hHandset, CODEC_AOUT_MINUS_6dB); </p><p>  // -6dB gain on analog output from DAC

59、 </p><p>  codec_sample_rate(hHandset,SR_16000); // 16KHz sampling rate </p><p><b>  }</b></p><p><b>  3)閃燈程序:</b></p><p>  for(m=

60、6;m>0;m--)</p><p><b>  {</b></p><p>  brd_led_toggle(BRD_LED0);</p><p>  /* brd_delay_msec(1000); */</p><p>  delay(1000);</p><p>  brd_

61、led_toggle(BRD_LED1);</p><p>  /* brd_delay_msec(1000); */</p><p>  delay(1000);</p><p>  brd_led_toggle(BRD_LED2);</p><p>  /* brd_delay_msec(1000); */</p><

62、p>  delay(1000);</p><p><b>  }</b></p><p>  4)語音信號采集與回放程序</p><p>  //判斷MCBSP是否做好接收準(zhǔn)備</p><p>  while (!MCBSP_RRDY(HANDSET_CODEC) ) {}; </p><p&

63、gt;  //從A/D讀取轉(zhuǎn)換數(shù)據(jù)</p><p>  data = *(volatile u16*)DRR1_ADDR(HANDSET_CODEC);</p><p>  temp1=data2alaw(data); //temp1=data2ulaw(data);</p><p>  // 將數(shù)據(jù)寫入D/A轉(zhuǎn)換器</p><p>

64、;  data1=alaw2data(temp2); </p><p>  while (!MCBSP_XRDY(HANDSET_CODEC)) {}; </p><p>  *(volatile u16*)DXR1_ADDR(HANDSET_CODEC) = data1*4;</p><p>  5) 數(shù)據(jù)存儲與處理</p><p>

65、  i=i+1; </p><p>  if(i%2==1)</p><p><b>  { </b></p><p>  buffer[j]=(temp1<<=8); /*奇數(shù)數(shù)據(jù)左移8位 temp1=abcdefgh00000000</p><p>  buffer[j]=temp

66、1*/ </p><p><b>  }</b></p><p><b>  else</b></p><p><b>  {</b></p><p>  buffer[j]=(buffer[j]|temp1);/*偶數(shù)數(shù)據(jù)與temp1取或 組成新的數(shù)據(jù)</p&

67、gt;<p>  buffer[j]=abcdefghiabcdefghi*/ </p><p>  j++; //j加1</p><p><b>  } </b></p><p>  I if(k%2==0)</p><p>  temp2=(b

68、uffer[l]>>8)&0x0ff;</p><p><b>  else</b></p><p><b>  {</b></p><p>  temp2=buffer[l]&0x0ff;</p><p><b>  l++;</b></p&

69、gt;<p><b>  }</b></p><p>  3.3 a律壓縮子函數(shù)</p><p>  /*************************************************************************/</p><p>  /*a率壓縮

70、 */</p><p>  /*************************************************************************/</p><p>  unsigned char data2alaw(int data) </p><p&g

71、t;<b>  {</b></p><p>  unsigned char i,sign,achord,astep; </p><p>  unsigned int output,absol,temp; </p><p>  temp=absol=abs(data); </p><p>  sign

72、=(data>=0)?1:0; //判定符號:正數(shù) =1,負(fù)數(shù) =0</p><p>  for (i=0;i<16;i++) //確定temp中出現(xiàn)1的最高位</p><p><b>  { </b></p><p>  output=temp&0x8000; </p><p>

73、  if(output) break; //temp 左移i位后最高位為1</p><p><b>  temp<<=1;</b></p><p><b>  } </b></p><p>  achord=11-i; //段值 </p><p>  if (achor

74、d<=0) </p><p><b>  {</b></p><p><b>  achord=0;</b></p><p>  astep=(absol>>1)&0x0F;//段值為0,將absol左移1位得到量化值</p><p><b>  

75、}</b></p><p><b>  else</b></p><p>  astep=(absol>>achord)&0x0F; //段值不為0,將absol左移</p><p>  achord<<=4; //achord位得量化值</p>

76、;<p>  output=achord+astep; //輸出值的絕對值</p><p>  if(absol>4095) </p><p>  //超過最大值4095,輸出最大值0x7f</p><p>  output=0x7F;</p><p><b>  if(sign) </b>&l

77、t;/p><p>  return output^=0xFF; //返回含有符號信息的輸出值</p><p><b>  else </b></p><p>  return output^=0x7F;</p><p><b>  }</b></p><p>  3.4 a律解壓

78、縮子函數(shù)</p><p>  /**************************************************************************/</p><p>  /*a率解壓 */</p><p&g

79、t;  /**************************************************************************/ </p><p>  int alaw2data(unsigned char input) </p><p><b>  { </b></p><p>  unsigned cha

80、r sign,achord,astep;</p><p>  unsigned int temp;</p><p><b>  int data;</b></p><p>  temp = input^0xFF; //得到含有符號信息的壓縮值</p><p>  sign = (temp&0x80)&

81、gt;>7; //符號位</p><p>  achord = (temp&0x70)>>4; //段值</p><p>  astep = temp&0x0F; //量化值</p><p>  astep <<= 1;</p><p>  if(!achord) //段值

82、為0,輸出值為量化值左移1位后加1</p><p>  data=astep+1;</p><p><b>  else </b></p><p><b>  {</b></p><p>  data=astep+33; //擴(kuò)展后數(shù)值中的6位非零值</p><

83、;p>  data<<=achord-1;</p><p><b>  }</b></p><p><b>  if(sign)</b></p><p>  return -data; //有符號的擴(kuò)展值 </p><p><b>  else<

84、;/b></p><p>  return data;</p><p><b>  }</b></p><p><b>  3.5 延時子函數(shù)</b></p><p><b>  //延時</b></p><p>  void delay(int

85、period)</p><p><b>  {</b></p><p><b>  int i, j;</b></p><p>  for(i=0; i<period; i++)</p><p><b>  {</b></p><p>  for(

86、j=0; j<period>>1; j++);</p><p><b>  }</b></p><p><b>  }</b></p><p>  3.6 5402.cmd文件</p><p>  實驗中還需要添加5402.cmd文件,5402.cmd文件及其解釋:</p&g

87、t;<p><b>  MEMORY</b></p><p><b>  {</b></p><p>  PAGE 0: VECS: origin = 0080h, length = 0080h /*內(nèi)部程序RAM */</p><p>  PRAM: origin = 0100h, len

88、gth = 0FFFh /* 內(nèi)部程序 RAM */</p><p>  PAGE 1: SCRATCH: origin = 1000h, length = 0020h /* Scratch Pad Data RAM */</p><p>  DMARAM: origin = 1020h, length = 0300h /* DMA緩存*/</p><p&g

89、t;  DATA: origin = 1320h, length = 0080h /*內(nèi)部數(shù)據(jù)RAM */</p><p>  STACK: origin = 1400h, length = 0500h /* 堆棧內(nèi)存空間 */</p><p>  INRAM: origin = 1900h, length = 0100h /*內(nèi)部數(shù)據(jù) RAM */</p&

90、gt;<p>  HPRAM0: origin = 1A00h, length = 0002h /* HPI */</p><p>  HPRAM1: origin = 1A02h, length = 0280h /* HPI */</p><p>  HPRAM2: origin = 1C82h, length = 0280h /* HPI */</

91、p><p>  EXRAM: origin = 1F10h, length = 0EA00h /* 外部內(nèi)存*/</p><p><b>  }</b></p><p><b>  SECTIONS</b></p><p><b>  {</b></p>&l

92、t;p>  .cinit > PRAM PAGE 0</p><p>  .text > PRAM PAGE 0</p><p>  .vectors > VECS PAGE 0</p><p>  init_var > PRAM PAGE 0</p><p>  detect &

93、gt; PRAM PAGE 0</p><p>  vrcprg > PRAM PAGE 0</p><p>  matprg > PRAM PAGE 0</p><p>  .stack > STACK PAGE 1</p><p>  .trap > SCRATCH PAGE 1</p

94、><p>  .const > EXRAM PAGE 1</p><p>  .data > EXRAM PAGE 1</p><p>  .bss > EXRAM PAGE 1</p><p>  .cio > EXRAM PAGE 1</p><p>  .sw

95、itch > EXRAM PAGE 1</p><p>  tables > EXRAM PAGE 1</p><p>  var > EXRAM PAGE 1</p><p>  svctab > EXRAM PAGE 1 /* SS_V LSP table */</p><p

96、>  vctab > EXRAM PAGE 1 /* V LSP table */</p><p>  uvctab > EXRAM PAGE 1 /* UV LSP table */</p><p>  cuvtab > EXRAM PAGE 1 /* Stochastic codebook */

97、</p><p>  cdbktab > EXRAM PAGE 1 /* various codebook tables*/</p><p>  logtab > EXRAM PAGE 1 /* table for log2 */</p><p>  powtab > EXRAM PAGE 1

98、 /* table for pow2 */</p><p>  hamtab > EXRAM PAGE 1 /* table for hamming */</p><p>  lgwtab > EXRAM PAGE 1 /* table for lag window */</p><p>  a

99、costab > EXRAM PAGE 1 /* table for arccos */</p><p>  sqrtab > EXRAM PAGE 1 /* table for square root */</p><p>  acbtab > EXRAM PAGE 1 /* table for th

100、resholds in acb */</p><p>  pm03tab > EXRAM PAGE 1 /* table for x^(-0.3) computation */</p><p>  costab > EXRAM PAGE 1 /* table for cosine */</p><p>  V

101、23 > INRAM PAGE 1</p><p>  FSK > INRAM PAGE 1</p><p>  hpibuff0 > HPRAM0 PAGE 1</p><p>  hpibuff1 > HPRAM1 PAGE 1</p><p>  hpibuff2 > HPRA

102、M2 PAGE 1</p><p>  dma_buff > DMARAM PAGE 1</p><p><b>  } </b></p><p><b>  4 程序運行與調(diào)試</b></p><p><b>  4.1 實驗結(jié)果</b></p><

103、;p>  圖4-1 輸入波形(data)</p><p>  圖4-2 壓縮后波形(temp1)</p><p>  圖4-3 解壓后輸出波形(data1)</p><p>  圖4-4 watch window中的值</p><p><b>  總 結(jié)</b></p><p>  在這一周

104、中,我學(xué)到了很多,對DSP這門課的認(rèn)識也進(jìn)一步加深了。從一個剛?cè)腴T的學(xué)習(xí)者,漸漸的愛上了這門技術(shù),雖然說對于DSP技術(shù)方面的知識還有很多要學(xué)習(xí)和提高,但是在這一周中我還是感受到這門課程的魅力所在。經(jīng)過一周的努力,順利的完成了DSP課程設(shè)計。這是一個磨練意志的過程。從課題的選擇開始,到硬件和軟件系統(tǒng)的設(shè)計,這其中經(jīng)歷了很多困難,但是更重要的是在這個過程中我得到了很大的鍛煉。在用Protel 99 SE軟件畫電路圖,這個過程中讓我掌握了計算

105、機(jī)輔助的設(shè)計技術(shù)。當(dāng)然,這是一個需要不斷的嘗試,不斷的校核,不斷的修改,最后完成一個合理的設(shè)計的過程。需要的是細(xì)心和耐心。在很大程度上培養(yǎng)了我拼搏的工作精神。使我受益匪淺,更加明確了自己專業(yè)的方向。這一周的時間是短暫的,但這我想我們學(xué)到的應(yīng)該不僅僅是專業(yè)技術(shù)等表面上的東西,更深一層的是對人生的感悟,對未來的想法,年輕人的桀驁不馴在此時已經(jīng)不在有意義,取而代之的是理性的思維。我們應(yīng)該具備什么樣的能力,我們適合什么樣的人生,我們應(yīng)該在怎樣的

106、崗位上實現(xiàn)自己的人生價值,我們又應(yīng)該怎么做才能對得起父母,對得起自己,對得起朋友,對得起辛勤培育我們的老師。總之</p><p><b>  參考文獻(xiàn)</b></p><p>  1 張雄偉 ,曹鐵勇. DSP芯片的原理與開發(fā)應(yīng)用.北京:電子工業(yè)出版社,2003</p><p>  2 易克初 ,田斌 ,付強.語音信號處理.北京:國防工業(yè)出版社

107、,2000</p><p>  3 吳樂南 ,徐孟俠.數(shù)據(jù)壓縮.北京:電子工業(yè)出版社,2000</p><p>  4 陳顯冶.現(xiàn)代通信技術(shù).北京:電子工業(yè)出版社,2000</p><p>  5 李穎,李文海.現(xiàn)代通信技術(shù).北京:人民郵電出版社,2002</p><p>  6 趙勇,甘泉.DSP應(yīng)用系統(tǒng)設(shè)計.北京:電子工業(yè)出版社,2002

溫馨提示

  • 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

提交評論