




版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、設(shè)計(jì)報(bào)告項(xiàng)目名稱 : DSP應(yīng)用系統(tǒng) 題 目 : 語(yǔ)音壓縮技術(shù)研究 專業(yè)班級(jí) : 電子信息工程 1102 學(xué)生姓名 : 學(xué) 號(hào): 指導(dǎo)教師 : 2014 年 6 月 5 日 目 錄一、概述1二、研究?jī)?nèi)容1三、研究方案、算法原理說(shuō)明1四、程序設(shè)計(jì)、調(diào)試與結(jié)果分析5 五、總結(jié)10 參考文獻(xiàn) 11一、概述當(dāng)今的通信應(yīng)該是人與人之間方便快捷、可多種手段實(shí)現(xiàn)信息交換的形式。其中,通過(guò)語(yǔ)音傳遞信息是人類最重要的、最有效和最方便的通信方式,因此語(yǔ)音通信在現(xiàn)代數(shù)字通信系統(tǒng)中占有重要的地位。隨著信息社會(huì)的快速發(fā)展,通信信道資源變得非常寶貴,各種語(yǔ)音壓縮編碼技術(shù)應(yīng)運(yùn)而生。高速數(shù)字信號(hào)處理器的出現(xiàn),使得語(yǔ)音編碼算法
2、可以實(shí)時(shí)的實(shí)現(xiàn),并且?guī)?dòng)語(yǔ)音壓縮技術(shù)得到了突飛猛進(jìn)的發(fā)展。另外,移動(dòng)通信技術(shù)飛速發(fā)展,已經(jīng)越來(lái)越深入的滲透到每個(gè)人的生活當(dāng)中,對(duì)講機(jī)系統(tǒng)隨著移動(dòng)通信技術(shù)也迅速發(fā)展著,在公安、交通運(yùn)輸?shù)榷鄠€(gè)領(lǐng)域得到廣泛的應(yīng)用。低速率語(yǔ)音編碼以及在此基礎(chǔ)上的數(shù)字對(duì)講機(jī)技術(shù)已成為數(shù)字通信中的一個(gè)重要的研究領(lǐng)域。 本文首先介紹了一種多帶激勵(lì)語(yǔ)音(MBE)低速率編碼算法,這種算法在很大范圍內(nèi)改善了解碼合成后的語(yǔ)音質(zhì)量,而算法的復(fù)雜度并沒(méi)有明顯增加。它不僅在低速率上能恢復(fù)出音質(zhì)比傳統(tǒng)聲碼器好得多的語(yǔ)音(可達(dá)到2.4k bps或更低的編碼速率),而且具有良好的自然度和容忍環(huán)境噪聲的能力,是目前較為理想的低速率語(yǔ)音編碼方案。
3、在低速率的語(yǔ)音編碼基礎(chǔ)之上,本文又提出了幾種窄帶數(shù)據(jù)加密技術(shù)的方案,并對(duì)這幾種數(shù)字對(duì)講方案進(jìn)行了分析和仿真。語(yǔ)音壓縮技術(shù)指的是對(duì)原始數(shù)字音頻信號(hào)流運(yùn)用適當(dāng)?shù)臄?shù)字信號(hào)處理技術(shù),在不損失有用信息量,或所引入損失可忽略的條件下,降低(壓縮)其碼率,也稱為壓縮編碼。它必須具有相應(yīng)的逆變換,稱為解壓縮或解碼。音頻信號(hào)在通過(guò)一個(gè)編解碼系統(tǒng)后可能引入大量的噪聲和一定的失真。數(shù)字信號(hào)的優(yōu)勢(shì)是顯而易見(jiàn)的,而它也有自身相應(yīng)的缺點(diǎn),即存儲(chǔ)容量需求的增加及傳輸時(shí)信道容量要求的增加。本次實(shí)驗(yàn)采用DSP C5402實(shí)驗(yàn)板實(shí)現(xiàn)語(yǔ)音信號(hào)的壓縮解壓的。SEED-VC5402 DSK實(shí)驗(yàn)板上集成了SRAM,FLASH,音頻輸入輸
4、出接口等部件。這些外設(shè)為我們提供了極大的方便。語(yǔ)音信號(hào)的幅度(發(fā)音強(qiáng)度)并非均勻分布,由于小信號(hào)占的比例比大信號(hào)大很多,因此可以進(jìn)行非均勻量化。達(dá)到這一目標(biāo)的基本做法是,對(duì)大信號(hào)使用大的量化間隔,而小信號(hào)則使用小的臺(tái)階。ITU-T G.711建議的PCM A律和律語(yǔ)音壓縮標(biāo)準(zhǔn)可以分別將13比特和14比特壓縮為8比特,達(dá)到語(yǔ)音壓縮的目的。二、研究?jī)?nèi)容1、 設(shè)計(jì)要求及目標(biāo)基本部分:(1)使用DSP實(shí)現(xiàn)語(yǔ)音壓縮和解壓縮的基本算法,算法類型自定,例如可以采用G.711、G.729等語(yǔ)音壓縮算法。(2)采用A/D轉(zhuǎn)換器從MIC輸入口實(shí)時(shí)采集語(yǔ)音信號(hào),進(jìn)行壓縮后存儲(chǔ)到DSP的片內(nèi)和片外RAM存儲(chǔ)器中,存儲(chǔ)
5、時(shí)間不小于10秒。(3)存儲(chǔ)器存滿之后,使用DSP進(jìn)行實(shí)時(shí)解壓縮,并從SPEAKER輸出口進(jìn)行回放輸出。(4)使用指示燈對(duì)語(yǔ)音存儲(chǔ)和回放過(guò)程進(jìn)行指示。使用多種算法進(jìn)行語(yǔ)音的壓縮、存儲(chǔ)和解壓縮,比較它們之間的優(yōu)缺點(diǎn)。三、研究方案、算法原理說(shuō)明(1)語(yǔ)音算法與芯片特點(diǎn)在本項(xiàng)目中,我們選擇了DSP集團(tuán)的語(yǔ)音壓縮最新算法Triple Rate Coder,其壓縮比達(dá)到了46:1,且音質(zhì)良好,MOS指標(biāo)達(dá)到了3.98.該算法的基本思想是:首先將語(yǔ)音分為若干小段,由于語(yǔ)音信號(hào)的譜變化是一個(gè)緩變量,因此在每一小段內(nèi)信號(hào)是平穩(wěn)變化的.然后用一個(gè)數(shù)字濾波器和一個(gè)激勵(lì)函數(shù)來(lái)表示這一段時(shí)域波形的離散采樣序列.在實(shí)際
6、算法中是采用了一個(gè)十階的線性預(yù)測(cè)濾波器,計(jì)算時(shí)還將每一幀分為4個(gè)子幀,每一子幀的濾波器系數(shù)矢量由上一幀和本幀數(shù)據(jù)計(jì)算得到,而最后一子幀的濾波器系數(shù)矢量則由矢量分解預(yù)測(cè)法得到;激勵(lì)函數(shù)采用的是偽隨機(jī)多脈沖激勵(lì)函數(shù),由最大似然算法得到.對(duì)每一幀計(jì)算得到濾波器系數(shù)矢量和函數(shù)生成元后,將這些系數(shù)再壓縮打包就得到了最后的語(yǔ)音壓縮數(shù)據(jù).當(dāng)對(duì)語(yǔ)音壓縮數(shù)據(jù)進(jìn)行解壓時(shí),首先將打包的數(shù)據(jù)展開(kāi),然后建立起線性預(yù)測(cè)濾波器,將重新生成的偽隨機(jī)多脈沖激勵(lì)函數(shù)輸入濾波器,這樣在濾波器的輸出端就可得到被恢復(fù)的語(yǔ)音信號(hào)序列了.該算法的實(shí)時(shí)運(yùn)算需要22MIPS以上的運(yùn)算速度,為此DSP集團(tuán)將DSP內(nèi)核和算法代碼集成在D6571系
7、列芯片內(nèi),以滿足除PC用戶以外的更廣泛應(yīng)用.D6571原理框圖如圖1所示,其本身可直接外掛并管理4兆位的flash,8K采樣速率時(shí)在2.8KB的數(shù)據(jù)率下可提供25分鐘的回放時(shí)間.該芯片具備工業(yè)標(biāo)準(zhǔn)的編解碼器接口,可直接與串行PCM接口的音頻編解碼芯片相連,如美國(guó)國(guó)家半導(dǎo)體的TP3054或韓國(guó)三星半導(dǎo)體的KS8620.D6571可外接兩片音頻編解碼芯片,上電后可用設(shè)置命令對(duì)外接音頻編解碼芯片的工作模式進(jìn)行設(shè)置.例如:設(shè)置外接芯片的時(shí)鐘是外同步還是自同步;設(shè)置外接芯片處于輸出方式還是輸入方式等.根據(jù)實(shí)際開(kāi)發(fā)經(jīng)驗(yàn),我們認(rèn)為D6571芯片與其它公司所提供的某些DSP內(nèi)核芯片相比,其最大的優(yōu)點(diǎn)是幾乎不需
8、要任何開(kāi)發(fā)工具或軟件就可使用.因?yàn)樵撔酒臄?shù)據(jù)是雙向的,既可由上位機(jī)將壓縮后的語(yǔ)音數(shù)據(jù)通過(guò)它解壓轉(zhuǎn)變成語(yǔ)音,也可輸入語(yǔ)音通過(guò)它進(jìn)行實(shí)時(shí)壓縮后傳送給上位機(jī).這就大大方便了長(zhǎng)回放時(shí)間語(yǔ)音開(kāi)發(fā)用戶的使用.更何況目前許多語(yǔ)音壓縮芯片對(duì)語(yǔ)音數(shù)據(jù)的管理是不公開(kāi)的,例如:某些數(shù)字錄音電話的語(yǔ)音壓縮芯片.(2)系統(tǒng)構(gòu)成與語(yǔ)音處理有關(guān)的系統(tǒng)構(gòu)成如圖2所示.語(yǔ)音數(shù)據(jù)存放在一片32兆位的flash中,采用三星的K29W3200,這是一種8位并行接口的閃存,并行接口有利于提高代碼效率和滿足實(shí)時(shí)性要求.在語(yǔ)音數(shù)據(jù)的壓縮和回放過(guò)程中,D6571和flash之間的數(shù)據(jù)吞吐均通過(guò)上位機(jī)進(jìn)行.上位機(jī)采用89C52.系統(tǒng)還有64
9、64的點(diǎn)陣液晶模塊ACM6464等外圍設(shè)備.所有的設(shè)備均使用一條公共的8位數(shù)據(jù)總線,即CPU的P0口;P2口的六根口線用于鍵盤(pán)管理;P3口的兩根口線作為兩條串口線;這樣用于外設(shè)管理的口線還剩余16根可用.系統(tǒng)實(shí)際使用了其中的14根線:與flash管理有關(guān)的使用6根,與D6571有關(guān)的使用4根,還有4根用于液晶顯示管理.音頻編解碼接口芯片采用一片TP3054,TP3054工作所需的同步脈沖、采樣時(shí)鐘、數(shù)據(jù)信號(hào)等只需要與D6571的四根控制線相連即可得到.(3)系統(tǒng)開(kāi)發(fā)本系統(tǒng)的語(yǔ)音開(kāi)發(fā)分為上載、數(shù)據(jù)合成及下載三個(gè)過(guò)程.上載是指獲得語(yǔ)音壓縮數(shù)據(jù);數(shù)據(jù)合成是指將全系統(tǒng)的數(shù)據(jù)按一定的結(jié)構(gòu)組織成一個(gè)文件;
10、下載是指儀器裝配出廠時(shí)將文件燒錄到flash中.這三個(gè)過(guò)程均通過(guò)PC機(jī)進(jìn)行.由于系統(tǒng)板上MCU的串行信號(hào)直接輸出的是TTL電平,因此,本系統(tǒng)的語(yǔ)音開(kāi)發(fā)唯一需要另外制作的硬件就是使用一片MAX232來(lái)完成與PC機(jī)之間的電平轉(zhuǎn)換.D6571具有16位寬度的總線,但也允許以分時(shí)方式使用8位總線,這時(shí)上位機(jī)須用HL信號(hào)表示送上總線的是高8位還是低8位;而當(dāng)D6571主動(dòng)將數(shù)據(jù)送上總線時(shí),會(huì)發(fā)出ACK信號(hào)通知上位機(jī)讀取數(shù)據(jù).HRD和HWR則是讀和寫(xiě)的控制線.由于Triple Rate Coder算法是按30毫秒分幀采樣,然后再進(jìn)行分析壓縮的,因此無(wú)論是讀取壓縮數(shù)據(jù)還是回送壓縮數(shù)據(jù),均必須在一幀之內(nèi)完成,
11、否則D6571會(huì)自行進(jìn)入休眠狀態(tài).向D6571輸送語(yǔ)音數(shù)據(jù)的過(guò)程如下:首先送出解壓控制命令,然后接收一個(gè)回送狀態(tài)字,狀態(tài)字中包含了當(dāng)前幀所需要的字節(jié)數(shù),上位機(jī)就連續(xù)送出規(guī)定數(shù)目的數(shù)據(jù),待一幀處理完畢后,D6571會(huì)繼續(xù)送出狀態(tài)字.如此循環(huán)就可連續(xù)回放出語(yǔ)音了.而利用D6571進(jìn)行語(yǔ)音壓縮的數(shù)據(jù)處理過(guò)程正好相反,狀態(tài)字中包含的是當(dāng)前幀壓縮所得到的字節(jié)數(shù),上位機(jī)就應(yīng)連續(xù)接收規(guī)定數(shù)目的數(shù)據(jù).上載時(shí),首先要得到的是各個(gè)語(yǔ)音段的壓縮數(shù)據(jù).作為準(zhǔn)備工作,先用PC機(jī)的錄音機(jī)工具將我們所需的語(yǔ)音錄制成WAV文件.然后對(duì)MCU和PC機(jī)分別編寫(xiě)共同配合工作的兩段程序來(lái)完成以下功能:PC機(jī)通過(guò)聲卡播放聲音給D657
12、1;89C52控制D6571進(jìn)行語(yǔ)音壓縮并讀回壓縮數(shù)據(jù),然后通過(guò)串口線回送給PC機(jī),PC機(jī)則將每段的壓縮數(shù)據(jù)存盤(pán).由于每段語(yǔ)音播放時(shí)均要有一定的中文點(diǎn)陣字符顯示,數(shù)據(jù)合成的任務(wù)就是要將每段數(shù)據(jù)加上索引和字符點(diǎn)陣數(shù)據(jù)后再合成為一個(gè)完整的近32兆位的二進(jìn)制文件.文件形成時(shí)為了使數(shù)據(jù)定位和讀出編程方便,數(shù)據(jù)塊以flash的頁(yè)為單位,一頁(yè)為528字節(jié).下載工作則較簡(jiǎn)單,在設(shè)備出廠前直接使用系統(tǒng)89C52的串口將數(shù)據(jù)合成形成的文件下載到閃存中即可.D6571的壓縮率極高,使用和開(kāi)發(fā)也比較方便.因此盡管本系統(tǒng)的語(yǔ)音容量長(zhǎng)達(dá)200分鐘,但系統(tǒng)整體設(shè)計(jì)十分簡(jiǎn)潔、經(jīng)濟(jì),幾乎不需調(diào)試.主要開(kāi)發(fā)工作是MCU和PC機(jī)
13、的一些程序開(kāi)發(fā)使用C51和VB編程,開(kāi)發(fā)速度也比較快.由于D6571的控制命令很豐富,系統(tǒng)用戶界面的軟件是很容易編寫(xiě)的.例如,由于該芯片具有30階的音量控制命令,我們未添任何硬件就為設(shè)備增加了數(shù)字音量控制功能.D6571的控制命令還包含自動(dòng)增益控制、變速回放、數(shù)字濾波器等更加高級(jí)的命令,因此,它幾乎可應(yīng)用于任何語(yǔ)音場(chǎng)合.(4)語(yǔ)音的u律壓縮與解壓原理u率限制采樣模值為13比特,u律的壓縮可定義為: 從線性到u律的壓縮轉(zhuǎn)換如下表所說(shuō)明。壓縮后的碼字組成:比特0-3表示量化值,比特4-6表示段值,壓縮后的碼字符號(hào)放在比特7,為了簡(jiǎn)化未寫(xiě)出。U律二進(jìn)制編碼表壓縮前的碼字丟棄的比特?cái)?shù)壓縮后的碼字輸入值
14、段值,量化值比特:12 11 10 9 8 7 6 5 4 3 2 1 0比特:6 5 4 3 2 1 0 0 0 0 0 0 0 0 1 a b c d x 10 0 0 a b c d 0 0 0 0 0 0 1 a b c d x x2 0 0 1 a b c d 0 0 0 0 0 1 a b c d x x x3 0 1 0 a b c d 0 0 0 0 1 a b c d x x x x4 0 1 1 a b c d 0 0 0 1 a b c d x x x x x5 1 0 0 a b c d 0 0 1 a b c d x x x x x x6 1 0 1 a b c d
15、0 1 a b c d x x x x x x x7 1 1 0 a b c d 1 a b c d x x x x x x x x8 1 1 1 a b c d 在擴(kuò)展前,u 律碼字再次反轉(zhuǎn)。低位的有效比特原是丟棄的,但是為了減少精度損失,用中間值近似。為了簡(jiǎn)化,擴(kuò)展后的碼字符號(hào)左溢。U 率二進(jìn)制解碼表壓縮過(guò)的碼字偏值的輸入段值,量化值比特: 6 5 4 3 2 1 0比特: 12 11 10 9 8 7 6 5 4 3 2 1 0 0 0 0 a b c d 0 0 0 0 0 0 0 1 a b c d 1 0 0 1 a b c d 0 0 0 0 0 0 1 a b c d 1 0
16、0 1 0 a b c d 0 0 0 0 0 1 a b c d 1 0 0 0 1 1 a b c d 0 0 0 0 1 a b c d 1 0 0 0 1 0 0 a b c d 0 0 0 1 a b c d 1 0 0 0 0 1 0 1 a b c d 0 0 1 a b c d 1 0 0 0 0 0 1 1 0 a b c d 0 1 a b c d 1 0 0 0 0 0 0 1 1 1 a b c d1 a b c d 1 0 0 0 0 0 0 05、程序設(shè)計(jì)思路及流程圖思路:DSP程序設(shè)計(jì)應(yīng)包括用戶程序、存儲(chǔ)器配置程序。為了實(shí)現(xiàn)語(yǔ)音信號(hào)的采集與回放,先將語(yǔ)音信號(hào)采集,
17、運(yùn)用a律壓縮算法將信號(hào)壓縮并存入存貯器中,當(dāng)放音開(kāi)始時(shí)運(yùn)用a律解壓算法將信號(hào)解壓并從存儲(chǔ)器中釋放出來(lái),實(shí)現(xiàn)語(yǔ)音的回放。流程圖:開(kāi)始初始化DSP及串行口2、初始化A/D轉(zhuǎn)換器D/A轉(zhuǎn)換器3、4、5、語(yǔ)音經(jīng)A/D轉(zhuǎn)換器輸入6、數(shù)據(jù)壓縮7、數(shù)據(jù)存儲(chǔ)8、解壓縮經(jīng)D/A轉(zhuǎn)換器回放9、結(jié)束10、11、四、程序設(shè)計(jì)、調(diào)試與結(jié)果分析1、程序設(shè)計(jì)(1)用2812dsp實(shí)現(xiàn)語(yǔ)音的A率壓縮解壓有兩種方法:a、使用多通道緩沖串口(McBSP)的縮展器在多緩沖通道串口(McBSP)內(nèi)部裝置了硬件電路,支持A律格式縮展器,對(duì)數(shù)據(jù)進(jìn)行壓縮與擴(kuò)展,A律縮展器允許14比特的動(dòng)態(tài)范圍。 首先描述一下McBSP硬件如何能夠同時(shí)處理
18、A律,如圖顯示的是McBSP縮展器硬件工作流程。在接受端,McBSP接收壓縮的、非線性的數(shù)據(jù)然后擴(kuò)展為線性數(shù)據(jù)寫(xiě)道CPU或DMA,在發(fā)送端,從CPU或DMA得到的線性數(shù)據(jù)在發(fā)送前必須按著A律壓縮。 RSR RBR RJUST DRR接收移位寄存器接收緩沖寄存器擴(kuò)展器發(fā)送移位寄存器壓縮器數(shù)據(jù)發(fā)送寄存器從CPU/DMA輸入數(shù)據(jù)接收寄存器調(diào)整模式控制位到CPU或DMA DLB模式非DSB模式b、用軟件實(shí)現(xiàn)主程序的功能是從McBSP的接收通道讀取A/D轉(zhuǎn)換的值,然后經(jīng)過(guò)壓縮解壓后將其發(fā)送到McBSP的發(fā)送通道,構(gòu)成AD50 CODEC模擬輸入和輸出通道的自環(huán),是否能接收到A/D轉(zhuǎn)換的數(shù)據(jù)是通過(guò)查詢串口
19、1的接收標(biāo)志RRDY來(lái)進(jìn)行的,程序?yàn)椋簑hile (1) while (!MCBSP_RRDY(HANDSET_CODEC) ; data=*(volatile int*)DRR1_ADDR(HANDSET_CODEC); temp1=data2alaw(data); data=alaw2data(temp2); *(volatile int*)DXR1_ADDR(HANDSET_CODEC)=data;(2)實(shí)驗(yàn)程序及相關(guān)功能解釋如下/*頭文件*/#include #include #include #include /*聲明函數(shù)*/void delay(s16 period);unsign
20、ed char data2alaw(int );int alaw2data(unsigned char);/*定義變量*/HANDLE hHandset;int data0;int data1;long i,j=0;long k,l=0;unsigned int temp1;unsigned char temp2;unsigned int m;unsigned int buffer50000;/*主程序*/void main() s16 cnt1=2; s16 cnt2=10; if (brd_init(100) /初始化DSK板,失敗退出 return;while ( cnt1- ) /指示
21、燈依次先亮后滅brd_led_toggle(BRD_LED0);delay(1000);brd_led_toggle(BRD_LED1);delay(1000);brd_led_toggle(BRD_LED2);delay(1000); /* AD50的初始化*/ hHandset = codec_open(HANDSET_CODEC); / 初始化串口1,設(shè)置成功返回codec的句柄放在變量hHandset中 codec_dac_mode(hHandset, CODEC_DAC_15BIT); /15bit D/A轉(zhuǎn)換 codec_adc_mode(hHandset, CODEC_ADC_1
22、5BIT); /15bit A/D轉(zhuǎn)換 codec_ain_gain(hHandset, CODEC_AIN_6dB); /輸入6dB增益 codec_aout_gain(hHandset, CODEC_AOUT_MINUS_12dB); /輸出-12dB增益 codec_sample_rate(hHandset,SR_8000); /8K采樣率 while (1) brd_led_disable(BRD_LED1); /關(guān)閉led1 brd_led_disable(BRD_LED2); /關(guān)閉led2 brd_led_toggle(BRD_LED0); /錄音指示燈亮 while (!MCB
23、SP_RRDY(HANDSET_CODEC) ; /采集語(yǔ)音信號(hào) data0 = *(volatile u16*)DRR1_ADDR(HANDSET_CODEC); temp1=data2alaw(data0); /A律壓縮 /*存儲(chǔ)壓縮后的數(shù)據(jù) */ i=i+1 ; if(i%2=1) bufferj=(temp1=100000) i=0; if(j=50000) j=0;brd_led_disable(BRD_LED0); brd_led_disable(BRD_LED2); while ( cnt2- ) /燈閃爍 brd_led_toggle(BRD_LED1); /* brd_del
24、ay_msec(1000); */ delay(2000); cnt2=10; brd_led_disable(BRD_LED0); /放音指示燈亮 brd_led_disable(BRD_LED1); brd_led_toggle(BRD_LED2); /*取出壓縮數(shù)據(jù)*/ for(k=0;k8)&0x0ff; else temp2=bufferl&0x0ff; l+; if(l=50000) l=0; data1=alaw2data(temp2); /解壓縮數(shù)據(jù) while (!MCBSP_XRDY(HANDSET_CODEC) ; /輸出解壓后的數(shù)據(jù) *(volatile u16*)DX
25、R1_ADDR(HANDSET_CODEC) = data1*4; delay(2000); for (m=0;m=0)?1:0; /判定符號(hào):正數(shù) =1,負(fù)數(shù) =0for (i=0;i16;i+) /確定temp中出現(xiàn)1的最高位 output=temp&0x8000; if(output) break; /temp 左移i位后最高位為1 temp=1; achord=11-i; /求出段值 if (achord1)&0x0F; /段值為0,將absol右移1位得到量化值 elseastep=(absolachord)&0x0F; /段值不為0,將absol右移achord4095) /超過(guò)最
26、大值4095,輸出最大值0x7foutput=0x7F; if(sign) return output=0xFF; /返回含有符號(hào)信息的輸出值 else return output=0x7F; /*A律解壓子程序*/int alaw2data(unsigned char input) unsigned char sign,achord,astep;unsigned int temp;int data;temp = input0xFF; /得到含有符號(hào)信息的壓縮值sign = (temp&0x80)7; /得到符號(hào)位achord = (temp&0x70)4; /得到段值astep = temp
27、&0x0F; /得到量化值astep = 1;if(!achord) /段值為0,輸出值為量化值左移1位后加1data=astep+1;else data=astep+33; /擴(kuò)展后數(shù)值中的6位非零值 data=0)?1:0; /判定符號(hào):正數(shù) =1,負(fù)數(shù) =0for (i=0;i16;i+) /確定temp中出現(xiàn)1的最高位 output=temp&0x8000; if(output) break; /temp 左移i位后最高位為1 temp=1; achord=10-i; /求出段值 if (achord1)&0x0F; /段值為0,將absol右移1位得到量化值 else achord+;astep=(absolachord)&0x0F; /段值不為0,將absol右移achord8191) /超過(guò)最大值8191,輸出最大值0x7foutput=0x7F; if(sign) return output=0xFF; /返回含有符號(hào)信息的輸出值 else return output=0x7F;/*u率解壓子程序*/ int ulaw2data(unsi
溫馨提示
- 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ù)網(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ì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 武漢冷鏈物流公司
- 包裝工程與設(shè)計(jì)作業(yè)指導(dǎo)書(shū)
- 跨境電商貨運(yùn)險(xiǎn)
- 企業(yè)合規(guī)經(jīng)營(yíng)實(shí)踐指南
- 安全專項(xiàng)整治三年行動(dòng)方案
- 江西雨水收集系統(tǒng)
- 新能源汽車充電保護(hù)
- 醫(yī)療行業(yè)醫(yī)療器械采購(gòu)指南
- 智能家居控制系統(tǒng)展覽會(huì)
- 三農(nóng)政策背景下農(nóng)業(yè)產(chǎn)業(yè)結(jié)構(gòu)調(diào)整方案
- 語(yǔ)文-湖南省長(zhǎng)郡二十校聯(lián)盟2025屆新高考教學(xué)教研聯(lián)盟高三第一次聯(lián)考(長(zhǎng)郡二十校一聯(lián))試題和答案
- 水利工程施工監(jiān)理規(guī)范(SL288-2014)用表填表說(shuō)明及示例
- GB/T 26480-2011閥門(mén)的檢驗(yàn)和試驗(yàn)
- 中共一大會(huì)址
- 云南省煙草買賣合同(標(biāo)準(zhǔn)版)
- 2023個(gè)人獨(dú)資企業(yè)清算報(bào)告(精選4篇)
- 衛(wèi)生統(tǒng)計(jì)學(xué)(全套課件)
- 2021年6月浙江省高考讀后續(xù)寫(xiě)課件-高考英語(yǔ)復(fù)習(xí)備考
- 小學(xué)古詩(shī)詞80首(硬筆書(shū)法田字格)
- 城市軌道交通供電技術(shù)442頁(yè)完整版教學(xué)課件匯總?cè)珪?shū)電子教案
- 兒歌:媽媽過(guò)生日
評(píng)論
0/150
提交評(píng)論