[dsp設(shè)計] dsp實現(xiàn)mp3解碼

[dsp設(shè)計] dsp實現(xiàn)mp3解碼

ID:6684843

大?。?59.00 KB

頁數(shù):6頁

時間:2018-01-22

[dsp設(shè)計] dsp實現(xiàn)mp3解碼_第1頁
[dsp設(shè)計] dsp實現(xiàn)mp3解碼_第2頁
[dsp設(shè)計] dsp實現(xiàn)mp3解碼_第3頁
[dsp設(shè)計] dsp實現(xiàn)mp3解碼_第4頁
[dsp設(shè)計] dsp實現(xiàn)mp3解碼_第5頁
資源描述:

《[dsp設(shè)計] dsp實現(xiàn)mp3解碼》由會員上傳分享,免費在線閱讀,更多相關(guān)內(nèi)容在工程資料-天天文庫。

1、概要:Tidsp實現(xiàn)mp3解碼??  該報告主要介紹了如何應(yīng)用Ti的TMS320C54X系列DSP實現(xiàn)mp3和AAC的播放器,該播放器基于Ti的referenceframeworklever3,該系統(tǒng)的最大的挑戰(zhàn)是把比特流的輸入轉(zhuǎn)換成pcm碼的輸出。Rf中提供了大量的重用代碼,使開發(fā)者能非常輕松的開發(fā)。MP3:ISO-MPEGAudioLayer-3standard(ISO/IEC11172-3,13818-3)AAC:ISO-MPEG2AdvancedAudioCodingstandard(ISO/IEC13818-7)1.?介紹1

2、.1該程序用TMS320DSC25,他是基于c54x的一個的功率的可編程dsp平臺,他有一個ARM7TDMI的核心,和一個圖象加速器(所以好像有寫人把他用在dc上).  該系統(tǒng)我們使用TITLV320AIC23連接到TMS320DSC25的mcbsp串口,TLV320AIC23包含了高性能的A/D和D/A轉(zhuǎn)換器,當(dāng)然,由于我們使用rf3,所以你也能使用其他的解碼器.下圖是TMS320DSC25的結(jié)構(gòu)圖.?????1.2?系統(tǒng)特征:StartStopFast-ForwardFast-RewindPauseResume(fromPause

3、)Resume(fromFF/FR)MuteVolume2?數(shù)據(jù)流程  圖2.表示了數(shù)據(jù)在系統(tǒng)中的流程.?3?如何使用rf3實現(xiàn)系統(tǒng).3.1?系統(tǒng)結(jié)構(gòu)概要.  應(yīng)用rf3使該系統(tǒng)的設(shè)計變得十分的簡單,圖3描述了rf3把mp3解碼為pcm編碼的整個流程,rf3中的DSP/BIOSSWI線程處理來處理比特流,為了擴展處理器的性能我們使用了兩個SWI線程來做數(shù)據(jù)處理.  在piprxpip中,swiDecode線程把壓縮的音樂比特流中轉(zhuǎn)換成pcm編碼,swiDecode一次釋放一個mp3幀,并把它解碼為1152的16比特的pcm編碼,對于A

4、AC來說,swiDecode把AAC幀轉(zhuǎn)解碼成2048的16比特流的pcm編碼,同時,pipdecpip的帶寬(注:一次傳輸16bit)同MP3和AAC解碼后的大小一樣,,而piprxpip的的帶寬明顯比pipdecpip的帶寬大,也就是說每當(dāng)swiDecode線程運行一次的時候能完成輸出一個解碼后的幀,但是不能完成一個輸入的幀(很簡單的道理,因為mp3和AAC編碼都是經(jīng)過壓縮后的,所以執(zhí)行一次解碼,解碼后會產(chǎn)生更多的編碼)  而同時swiPcmproc線程主要是負責(zé)取樣頻率的轉(zhuǎn)換,音量的控制,和解碼后的16比特pcm編碼的濾波,,此

5、線程運行一次處理16比特的pcm編碼(一個WORD等于16bit),同樣的,swiPcmproc線程不能一次完成一個幀的輸入,但是能完成一個幀的輸出,,很顯然的,swiPcmproc線程的優(yōu)先級比前一個線程的優(yōu)先級高.  以上我們也提到了,在poprx和pipdec中消費和生產(chǎn)不能同步.見圖3?3.2?兩個線程的同步.  Rf3使用DSP/BIOS數(shù)據(jù)管道的提醒功能來實現(xiàn)時間線程,在rf3中,時間提醒功能不直接造成軟件的中斷,而是他從SWI的信箱中清除專有的比特信息.?  對于輸入輸出信息量不改變的系統(tǒng)而言是很簡單的,但是,解壓壓縮比

6、特流和采用頻率的變化改變了輸入和輸出的數(shù)據(jù)大小.  也就是說,一個MP3解碼器捕獲了一個mp3的幀(這是長度可變的)然后解壓到1152的pcm編碼,解碼線程把輸入的幀標記為lock狀態(tài),知道解壓完整個幀,所以只有解碼線程知道m(xù)p3幀的信息,同時,解碼器對應(yīng)一個輸入幀生成了多若干的輸出幀.  為了應(yīng)付上述情況,解碼器線程將把一個輸入幀的狀態(tài)置為lock,直到該幀的所有相關(guān)的操作全部完成.當(dāng)一個輸入幀的狀態(tài)標記為lock后,解碼器線程將會自動從”信箱(mailbox)”中清理該幀的”(notifyReader)”,3.3?管道中止通知(D

7、isablingPipeNotification)  為了實現(xiàn)停止和暫停的功能,你應(yīng)該為你的電路增加一個開關(guān)(見圖6),也就是增加一個使能端,你可以用”管道中止通知(DisablingPipeNotification)””停止”比特流的處理.主要該管道中止通知(DisablingPipeNotification)緊緊是一個消息,他并沒有真正的中止.?3.4?Notification的存取(NotificationLatency)  要開始播放和暫停后繼續(xù)播放,你需要清除輸入pipe中的垃圾信息,用pip_get函數(shù)來實現(xiàn)。然而,pip

8、_get函數(shù)會在清除的處理過程中產(chǎn)生一個偽造的notifyReader通知,?  以下的代碼實現(xiàn)了如何從一個pipe中清除垃圾信息?  以下函數(shù)實現(xiàn)了屏蔽pipenotification和notification的存取。

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文

此文檔下載收益歸作者所有

當(dāng)前文檔最多預(yù)覽五頁,下載文檔查看全文
溫馨提示:
1. 部分包含數(shù)學(xué)公式或PPT動畫的文件,查看預(yù)覽時可能會顯示錯亂或異常,文件下載后無此問題,請放心下載。
2. 本文檔由用戶上傳,版權(quán)歸屬用戶,天天文庫負責(zé)整理代發(fā)布。如果您對本文檔版權(quán)有爭議請及時聯(lián)系客服。
3. 下載前請仔細閱讀文檔內(nèi)容,確認文檔內(nèi)容符合您的需求后進行下載,若出現(xiàn)內(nèi)容與標題不符可向本站投訴處理。
4. 下載文檔時可能由于網(wǎng)絡(luò)波動等原因無法下載或下載錯誤,付費完成后未能成功下載的用戶請聯(lián)系客服處理。