dsp語(yǔ)音信號(hào)壓縮A律_第1頁(yè)
dsp語(yǔ)音信號(hào)壓縮A律_第2頁(yè)
dsp語(yǔ)音信號(hào)壓縮A律_第3頁(yè)
dsp語(yǔ)音信號(hào)壓縮A律_第4頁(yè)
dsp語(yǔ)音信號(hào)壓縮A律_第5頁(yè)
已閱讀5頁(yè),還剩10頁(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、DSP課程設(shè)計(jì)報(bào)告摘 要 本文簡(jiǎn)要闡述了語(yǔ)音信號(hào)壓縮A律的基本原理,可以將高位的數(shù)據(jù)壓縮成低位的數(shù)據(jù),它適用于聲音信號(hào)的播放和傳輸系統(tǒng),在設(shè)計(jì)中借助MATLAB信號(hào)處理工具箱FDAtool工具設(shè)計(jì)了語(yǔ)音信號(hào)壓縮系數(shù),然后在CCS中以TMS320C55x芯片的匯編語(yǔ)言編程實(shí)現(xiàn)了該語(yǔ)音信號(hào)壓縮。利用MATLAB設(shè)計(jì)語(yǔ)音信號(hào)壓縮,可以隨時(shí)對(duì)比設(shè)計(jì)要求和語(yǔ)音信號(hào)壓縮特性調(diào)整參數(shù),直觀簡(jiǎn)便,極大的減輕了工作量,有利于語(yǔ)音信號(hào)壓縮設(shè)計(jì)的最優(yōu)化。另外文中還介紹CCS開發(fā)環(huán)境。文中所給程序已經(jīng)經(jīng)過(guò)軟件仿真驗(yàn)證,所設(shè)計(jì)的語(yǔ)音信號(hào)壓縮符合設(shè)計(jì)要求。關(guān)鍵詞:DSP;語(yǔ)音信號(hào)壓縮;MATLAB;Code Compos

2、er Studio(CCS);TMS320C55x目 錄1 語(yǔ)音信號(hào)壓縮A律設(shè)計(jì)任務(wù)及目的11.1 語(yǔ)音信號(hào)壓縮A律設(shè)計(jì)任務(wù)11.2語(yǔ)音信號(hào)壓縮A律設(shè)計(jì)目的12 TMS320C55X的硬件結(jié)構(gòu)12.1 C55X的CPU體系結(jié)構(gòu)12.2 指令緩沖單元(I)22.3 程序流程單元(P)22.4 地址程序單元(A)22.5 數(shù)據(jù)計(jì)算單元(D)34 語(yǔ)音信號(hào)壓縮(A律)原理35 CCS概述66語(yǔ)音信號(hào)壓縮(A律)軟件實(shí)現(xiàn)76.1 軟件實(shí)現(xiàn)步驟76.1.1軟件程序76.1.2實(shí)現(xiàn)步驟106.1.2運(yùn)行并觀察結(jié)果116.2結(jié)果分析127 結(jié)論128參考文獻(xiàn)121 語(yǔ)音信號(hào)壓縮A律設(shè)計(jì)任務(wù)及目的1.1 語(yǔ)音

3、信號(hào)壓縮A律設(shè)計(jì)任務(wù)(1)完成語(yǔ)音信號(hào)采集;(2)對(duì)語(yǔ)音信號(hào)進(jìn)行A律壓縮;(3)傳輸壓縮后的信號(hào);1.2 語(yǔ)音信號(hào)壓縮A律設(shè)計(jì)目的 本設(shè)計(jì)的目的在于通過(guò)使用DSP的程序設(shè)計(jì)完成對(duì)語(yǔ)音信號(hào)的壓縮,既可以通過(guò)軟件實(shí)現(xiàn),也可以通過(guò)硬件實(shí)現(xiàn)。進(jìn)行程序的設(shè)計(jì),并在CCS軟件環(huán)境下進(jìn)行調(diào)試,同時(shí)也加深學(xué)生對(duì)數(shù)字信號(hào)處理器的常用指標(biāo)和設(shè)計(jì)過(guò)程的理解。2 TMS320C55X的硬件結(jié)構(gòu) 2.1 C55X的CPU體系結(jié)構(gòu)C55X有1條32位的程序數(shù)據(jù)總線(PB),5條16位數(shù)據(jù)總線(BB、CB、DB、EB、FB)和1條24位的程序地址總線及5條23位地址總線,這些總線分別與CPU相連??偩€通過(guò)存儲(chǔ)單元接口(M)

4、與外部程序總線和數(shù)據(jù)總線相連,實(shí)現(xiàn)CPU對(duì)外部存儲(chǔ)器的訪問(wèn)。這種并行的多總線結(jié)構(gòu),使CPU能在一個(gè)CPU周期內(nèi)完成1次32位程序代碼讀、3次16位數(shù)據(jù)讀和兩次16位數(shù)據(jù)寫。C55X根據(jù)功能的不同將CPU分為4個(gè)單元,指令緩沖單元(I)、程序流程單元(P)、地址流程單元(A)、和數(shù)據(jù)計(jì)算單元(D)。讀程序地址總線(PDA)上傳送24位的程序代碼地址,由讀程序總線(PB)將32位的程序代碼送入指令緩沖單元進(jìn)行譯碼。2.2 指令緩沖單元(I)C55X的指令緩沖單元有指令緩沖隊(duì)列IBQ和指令譯碼器組成。在每個(gè)CPU周期內(nèi),I單元將從程序數(shù)據(jù)接收的4B程序代碼放入指令緩沖隊(duì)列,指令譯碼器從隊(duì)列中取6B程

5、序代碼,根據(jù)指令的長(zhǎng)度可對(duì)8位、16位、24位、32位和48位的變長(zhǎng)指令進(jìn)行譯碼,然后把譯碼數(shù)據(jù)送入P單元、A單元和D單元去執(zhí)行。2.3 程序流程單元(P)程序流程單元有程序地址產(chǎn)生電路和寄存器組湊成。程序流程單元產(chǎn)生所有程序空間的地址,并控制指令的讀取順序。程序地址產(chǎn)生邏輯電路的任務(wù)是產(chǎn)生讀取空間的24位地址。一般情況下,它產(chǎn)生的是連續(xù)地址,如果指令要求讀取非連續(xù)地址的程序代碼時(shí),程序地址產(chǎn)生邏輯電路能夠接收來(lái)自I單元的立即數(shù)和來(lái)自D單元的寄存器值,并將產(chǎn)生的地址傳送到PAB。在P單元中使用的寄存器分為5種類型。程序流寄存器:包括程序計(jì)數(shù)器、返回地址寄存器和控制流程關(guān)系寄存器。塊重復(fù)寄存器:

6、包括塊重復(fù)寄存器0和1(BRC0、BRC1)BRC1的保存寄存器(BRS1)、塊重復(fù)起始地址寄存器0和1以及塊重復(fù)結(jié)束地址寄存器0和1。單重復(fù)寄存器:包括單重復(fù)寄存器和計(jì)算單重復(fù)寄存器。中斷寄存器:包括中斷標(biāo)志寄存器0和1、中斷使能寄存器0和1以及調(diào)試中斷使能寄存器0和1。狀態(tài)奇存期:包括狀態(tài)寄存器0,1,2和3。2.4 地址程序單元(A)地址程序單元包括數(shù)據(jù)地址產(chǎn)生電路、算術(shù)邏輯電路和寄存器組構(gòu)成。數(shù)據(jù)地址產(chǎn)生電路能夠接收來(lái)自I單元的立即數(shù)和來(lái)自A單元的寄存器產(chǎn)生讀取數(shù)據(jù)空間的地址。對(duì)于使用間接尋址模式的指令,有P單元向DAGEN說(shuō)明采用的尋址模式。A單元包括一個(gè)16位的算術(shù)邏輯單元,它既可

7、以接收來(lái)自I單元的立即數(shù)也可以與存儲(chǔ)器、I/O空間、A單元寄存器、D單元寄存器和P單元寄存器進(jìn)行雙向通信。A單元包括的寄存器有以下幾種類型。數(shù)據(jù)頁(yè)寄存器:包括數(shù)據(jù)頁(yè)寄存器和接口數(shù)據(jù)頁(yè)寄存器;指針:包括系數(shù)數(shù)據(jù)指針寄存器、堆棧針寄存器和8個(gè)輔助寄存器;循環(huán)緩沖寄存器:包括循環(huán)緩沖大小寄存器、循環(huán)緩沖起始地址寄存器;臨時(shí)寄存器:包括臨時(shí)寄存器。2.5 數(shù)據(jù)計(jì)算單元(D)數(shù)據(jù)計(jì)算單元由移位器、算數(shù)邏輯電路、乘法累加器和寄存器組構(gòu)成。D單元包含了CPU的主要運(yùn)算部件。D單元移位器能夠接收來(lái)自I單元的立即數(shù),能夠與存儲(chǔ)器、I/O單元、A單元寄存器、D單元寄存器和P單元寄存器進(jìn)行雙向通信,此外,還可以向D

8、單元的ALU和A單元的ALU提供移位后的數(shù)據(jù)。移位可以完成以下操作:對(duì)40位的累加器可以完成向左最多32位的移位操作,移位數(shù)樂意從零食寄存器讀取或由指令中的常數(shù)提供;對(duì)于16位寄存器、存儲(chǔ)器或I/O空間數(shù)據(jù)可完成左移31位或32位的移位操作;對(duì)于16位立即數(shù)可完成向左移最多15位的移位操作。4 語(yǔ)音信號(hào)壓縮(A律)原理PCM(Pulse Code Modulation)編碼即脈沖編碼調(diào)制,也就是將模擬信號(hào)轉(zhuǎn)換為數(shù)碼,然后再轉(zhuǎn)換成二進(jìn)制數(shù)字信號(hào)的方法。幾種常見的二進(jìn)制編碼格式如下:量化電平自然二進(jìn)制偏移二進(jìn)制2補(bǔ)碼反射二進(jìn)制折疊二進(jìn)制7111111101111000011161101110011

9、01001011051011101010110110101410011000100101001003011101100111110001120101010001011110010100110010001110100010000100000001100000001000101111111010010012011011100101101030101110101111011401001100011011005001110110010110160010101000111110700011001000111118000010000000表4.1常見的二進(jìn)制編碼格式A律壓縮編碼壓縮碼是CCITT(Cons

10、ultative Committee for International Telegraph and Telephone)國(guó)際電報(bào)電話協(xié)會(huì)最早推出的G.711語(yǔ)音壓縮解壓編碼的一種格式的主要內(nèi)容。其中歐洲和中國(guó)等國(guó)家采用A律壓縮解壓編碼。A律壓縮的數(shù)學(xué)解析式為:y = ,y = ,。 式中:y為輸出信號(hào);x為輸入信號(hào);A為壓縮系數(shù)。由上式得知,小信號(hào)時(shí)為線性特性,大信號(hào)時(shí)近似為對(duì)數(shù)特性。這種壓擴(kuò)特性常把壓縮、量化和編碼合為一體。A律可用13段折線逼近(相當(dāng)于A=87.6),便于用數(shù)字電路實(shí)現(xiàn)。13段折線的壓縮特性如圖1所示。圖3.2分段為x取正值時(shí)的情況,而x取負(fù)值時(shí),壓擴(kuò)特性與x取

11、正值成奇對(duì)稱,在正8段和負(fù)8段中,正1、2段和負(fù)1、2段斜率相同,合為一段,所以原來(lái)的16段折線變?yōu)?3段折線。圖4.1 A律壓縮曲線圖3.3是DSP進(jìn)行數(shù)據(jù)壓縮解壓的簡(jiǎn)單流程,DSP將傳輸來(lái)的壓縮后的數(shù)據(jù)進(jìn)行解壓成16位或者32位,然后對(duì)解壓后的數(shù)據(jù)進(jìn)行分析、處理;然后將處理后的數(shù)據(jù)按照要求壓縮成8位的數(shù)據(jù)格式輸出到相應(yīng)設(shè)備,供其他設(shè)備讀取。16DRB32CPUDRRRJUST 壓縮RBRRSR16BDXCPUDXR壓縮XSR圖4.2 DSP進(jìn)行數(shù)據(jù)壓縮解壓的簡(jiǎn)單流程表4.2 A律數(shù)據(jù)壓縮表12位碼(十進(jìn)制)量 階符號(hào)位段落碼(二進(jìn)制)段內(nèi)碼(二進(jìn)制)01510000000011111631

12、1000100001111326320010000011116412740011000011111282558010000001111256511160101000011115121023320110000011111024204764011100001111段內(nèi)碼,表示值為15在進(jìn)行A律壓縮時(shí),對(duì)于采樣到的12位數(shù)據(jù),默認(rèn)其最高位為符號(hào)位,壓縮時(shí)要保持最高位即符號(hào)位不變,原數(shù)據(jù)的后11位要壓縮成7位。這7位碼由3位段落碼和4位段內(nèi)碼組成。具體的壓縮變換后的數(shù)據(jù)根據(jù)后11位數(shù)據(jù)大小決定。具體的編譯碼表如表5.2所示。壓縮后的數(shù)據(jù)的最高位(第7位)表示符號(hào),量階分別為1、1、2、4、8、16、3

13、2、64,由壓縮后數(shù)據(jù)的第6位到第4位決定,第3位到第0位是段內(nèi)碼。壓縮后的數(shù)據(jù)有一定的失真。有些數(shù)據(jù)不能表示出,只能取最近該數(shù)據(jù)的壓縮值。例如,數(shù)據(jù)125,壓縮后的值為00111111,意義如下:0 011 1111段落碼,表示量階為4,起始數(shù)據(jù)為64符號(hào)位,0表示正數(shù)最終結(jié)果為644×15124 ,實(shí)現(xiàn)了壓縮。5 CCS概述 CCS,即Code Composer Studio,是TI公司在1999年推出的一個(gè)開放、具有強(qiáng)大集成開發(fā)環(huán)境。它最初是由GO DSP公司為TI的C6000系列DSP開發(fā)的。在TI收購(gòu)了GO DSP后,將CCS擴(kuò)展到了其它系列?,F(xiàn)在所有TI的DSP都可以使用

14、CCS進(jìn)行開發(fā),但是其中的DSPBIOS功能只有C5000和C6000的CCS中才提供。以前的DSP軟件開發(fā)都是在一個(gè)分散的開發(fā)環(huán)境下進(jìn)行,程序的編寫、代碼的生成以及調(diào)試等都是要通過(guò)命令來(lái)完成,類似于以前的DOS,十分煩雜。而CCS的出現(xiàn)是DSP開發(fā)軟件的一次革命性的變化。CCS主要由代碼生成工具、CCS集成開發(fā)環(huán)境、DSPBIOS和API函數(shù)以及RTDX組成。CCS提供了基本的代碼生成工具,它們具有一系列的調(diào)試、分析能力。CCS支持如下所示的開發(fā)周期的所有階段。圖5.1 CCS開發(fā)周期階段CCS提供了配置、建立、調(diào)試、跟蹤和分析程序的工具,它便于實(shí)時(shí)、嵌入式信號(hào)處理程序的編制和測(cè)試,它能夠加

15、速開發(fā)進(jìn)程,提高工作效率。集成可視化代碼編輯界面,可以方便地直接編寫C、匯編、.h文件、.cmd文件等。集成代碼生成工具,包括匯編器、優(yōu)化的C編譯器和連接器等。具有完整的基本調(diào)試工具,可以載入執(zhí)行文件(.out),查看寄存器窗口、存儲(chǔ)器窗口和變量窗口、反匯編窗口等,支持在C源代碼級(jí)進(jìn)行調(diào)試。支持多片DSP聯(lián)合調(diào)試。斷點(diǎn)工具,支持硬件斷點(diǎn)、數(shù)據(jù)空間讀/寫斷點(diǎn)、條件斷點(diǎn)等。探針工具,用于進(jìn)行算法仿真,數(shù)據(jù)監(jiān)視等。剖析工具,用于評(píng)估代碼執(zhí)行的時(shí)間。數(shù)據(jù)圖形顯示工具,可繪制時(shí)域/頻域波形、眼圖、星座圖等,并可以自動(dòng)刷新。提供GEI工具,用戶可以根據(jù)需要編寫自己的控制面板/菜單,從而方便直觀地修改變量,

16、配置參數(shù)。6 語(yǔ)音信號(hào)壓縮(A律)軟件實(shí)現(xiàn) 6.1 軟件實(shí)現(xiàn)步驟 6.1.1軟件程序 1.信號(hào)壓縮算法-“Alaw.c” #include<math.h>char i=0;unsigned int sign,segment,quant,absol;unsigned int nOutput;unsigned char IntToaLaw(int nInput)unsigned int temp;unsigned char cOutput;absol=abs(nInput);/取絕對(duì)值sign=(nInput >= 0)?0:1;/符號(hào)位temp=absol<<3;w

17、hile(1) nOutput=temp&0x8000; if(nOutput) break;/碰到1就退出 temp<<=1; i+; if(i=8) break;if(i<8)temp&=0x7800;/保留段內(nèi)碼quant=temp>>11;/段內(nèi)碼segment=8-i;/段落碼nOutput=(segment<<4)+quant;elsetemp&=0x7fff;nOutput=temp>>11; if(sign)nOutput|=(1<<7);cOutput=(unsigned char)nO

18、utput;return cOutput;2.主程序-“c55_fira.c”#include<math.h>#define SIGNAL1_F 200#define SIGNAL2_F 640#define SALMP_F 2000#define COFF_L 23#define BUF_L 256#define PI 3.1415926 int temp; unsigned char utemp;extern unsigned char IntToaLaw(int);/extern int aLawToInt(unsigned char);int data_inBUF_L;in

19、t data_outBUF_L;int k=0;void main(void)while(1) utemp=IntToaLaw(32); /temp=aLawToInt(utemp); data_outk=temp; /設(shè)置斷點(diǎn) k+; /設(shè)置斷點(diǎn) if(k>=BUF_L) k=0; /設(shè)置斷點(diǎn) 6.1.2實(shí)現(xiàn)步驟1準(zhǔn)備設(shè)置c55xx軟件仿真模式,連接好DSP開發(fā)系統(tǒng),并啟動(dòng)CCS。2新建工程首先新建工程文件xxx,然后將程序?qū)懭牍こ涛募校⒈4?。CCS工程界面如圖所示:圖6.1 3編譯鏈接并裝載程序把文件添加到工程中后,再對(duì)文件進(jìn)行編譯鏈接,生成.out文件,然后裝載輸出文件。 4設(shè)置信號(hào)壓縮觀察窗口在菜單中選擇vi

溫馨提示

  • 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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(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)論