一、實(shí)驗(yàn)?zāi)康?/h1>
了解MP3文件的結(jié)構(gòu),掌握MP3音頻解碼的原理,并實(shí)現(xiàn)基于SYSBIOS系統(tǒng),將MP3格式的音頻解碼為PCM格式。
二、實(shí)驗(yàn)原理
1、MP3音頻格式
MP3是一種音頻壓縮技術(shù),其全稱是動態(tài)影像專家壓縮標(biāo)準(zhǔn)音頻層面3(Moving Picture Experts Group Audio Layer III),簡稱為MP3。它被設(shè)計(jì)用來大幅度地降低音頻數(shù)據(jù)量。
利用 MPEG Audio Layer 3 的技術(shù),將音樂以1:10 甚至 1:12 的壓縮率,壓縮成容量較小的文件,而對于大多數(shù)用戶來說重放的音質(zhì)與最初的不壓縮音頻相比沒有明顯的下降。
傳統(tǒng)的MP3算法需要完成大量的高精度浮點(diǎn)計(jì)算,其解碼速度和效率依賴于通用浮點(diǎn)運(yùn)算單元的支持。大部分的專用MP3解碼播放系統(tǒng)均需要使用DSP處理器或浮點(diǎn)協(xié)處理器處理浮點(diǎn)指令并完成高速浮點(diǎn)運(yùn)算過程。
2、MP3編解碼
MP3音頻壓縮包含編碼和解碼兩部分,編碼是將原始信號轉(zhuǎn)換成電平信號的過程,解碼即是逆過程,人耳感受聲音的頻率范圍是20Hz-20kHz,MP3截掉了大量的冗余信號和無關(guān)的信號,編碼器將原始聲音變換到頻率域,經(jīng)過量化和編碼形成MP3位流。解碼器要簡單得多,它的任務(wù)是從編碼后的譜線成分中,經(jīng)過反量化和逆變換,提取出聲音信號。
(1)編碼:從信息論的觀點(diǎn)來看,描述信源的數(shù)據(jù)是信息和數(shù)據(jù)冗余之和,即:數(shù)據(jù)=信息+數(shù)據(jù)冗余。音頻信號在時(shí)域和頻域上具有相關(guān)性,也即存在數(shù)據(jù)冗余。將音頻作為一個(gè)信源,音頻編碼的實(shí)質(zhì)是減少音頻中的冗余。通常我們采用的是PCM編碼,PCM通過抽樣、量化、編碼三個(gè)步驟將連續(xù)變化的模擬信號轉(zhuǎn)換為數(shù)字信號。
(2)解碼:編碼的逆過程,將MP3文件解碼成PCM數(shù)據(jù)流輸出。
3、MP3文件結(jié)構(gòu)
MP3文件數(shù)據(jù)由多個(gè)幀組成,幀是MP3文件最小組成單位。每個(gè)幀又由幀頭、附加信息和聲音數(shù)據(jù)組成。每個(gè)幀播放時(shí)間是0.026秒,其長度隨位率的不同而不等。有些MP3文件末尾有些額外字節(jié)存放非聲音數(shù)據(jù)的說明信息。
MP3文件大體上分為三個(gè)部分:ID3V2+音頻數(shù)據(jù)+ID3V1。
ID3一般位于一個(gè)MP3文件的開頭或末尾的若干字節(jié)內(nèi),記錄該MP3文件的歌手、標(biāo)題、專輯名稱、年代、風(fēng)格等信息,ID3分為兩個(gè)版本,V1版ID3在文件末尾的固定128字節(jié),以TAG字符開頭,若沒有則認(rèn)為無ID3V1信息,V2版ID3位于MP3的開頭,長度可變。
4、音頻數(shù)據(jù)解析
每個(gè)幀都有一個(gè)幀頭,長度是四個(gè)字節(jié),幀后面可能有2字節(jié)的CRC校驗(yàn),取決于幀頭的第16位,為0則無校驗(yàn),為1則有校驗(yàn),后面是可變長度的附加信息,對于標(biāo)準(zhǔn)的MP3文件來說,其長度是32字節(jié),緊接其后的是壓縮的聲音數(shù)據(jù),當(dāng)解碼器讀到此處時(shí)就進(jìn)行解碼了。
5、libmp3lame庫
lame是一個(gè)有名的開源MP3編解碼庫,使用lame庫只需要包含lame.h頭文件。
6、SYS/BIOS 操作系統(tǒng)
SYS/BIOS 是一個(gè)可擴(kuò)展的實(shí)時(shí)的操作系統(tǒng)(可拓展的實(shí)時(shí)內(nèi)核)。
(1)具有非常快速的響應(yīng)時(shí)間(在中斷和任務(wù)切換時(shí)達(dá)到較短的延遲),響應(yīng)時(shí)間的確定性。
(2)SYS/BIOS提供了搶占式多線程,硬件抽象,實(shí)時(shí)分析和配置工具。
(3)優(yōu)化的內(nèi)存分配和堆棧管理(盡量少的消耗和碎片)。
(4)SYS/BIOS的設(shè)計(jì)是為了最大限度地減少對內(nèi)存和CPU的要求.
能夠?qū)崿F(xiàn)系統(tǒng)的模塊化并可裁剪。
(5)用于實(shí)時(shí)調(diào)度和同步的應(yīng)用程序或?qū)崟r(shí)的設(shè)備。
TASK任務(wù)
TASK任務(wù)模塊是操作系統(tǒng)中最基本的模塊,每個(gè)任務(wù)是一個(gè)單獨(dú)的線程,各個(gè)線程(任務(wù))具有各自的優(yōu)先級。SYS/BIOS任務(wù)對象是被任務(wù)模塊管理的線程。
(1)任務(wù)模塊動態(tài)調(diào)度和搶占任務(wù)是基于任務(wù)的優(yōu)先級和任務(wù)當(dāng)前執(zhí)行的狀態(tài)的。這確保了處理器總是給予最高優(yōu)先級的線程準(zhǔn)備運(yùn)行。
(2)SYS/BIOS的系統(tǒng)組件可以動態(tài)及靜態(tài)創(chuàng)建任務(wù),可以通過調(diào)用Task_create()動態(tài)創(chuàng)建Task對象,也可以在配置中靜態(tài)創(chuàng)建Task對象。
(3)動態(tài)和靜態(tài)創(chuàng)建任務(wù)的主要區(qū)別是:動態(tài)創(chuàng)建的線程可以在運(yùn)行時(shí)刪除,而靜態(tài)創(chuàng)建的任務(wù)占用更少的內(nèi)存資源。
7、程序流程設(shè)計(jì)
程序流程設(shè)計(jì)中首先要進(jìn)行使能SD并配置SD設(shè)備驅(qū)動,接著初始化SD設(shè)備,檢測SD卡的狀態(tài),注冊SD卡的讀寫方式,然后在SD卡內(nèi)創(chuàng)建PCM文件,打開MP3文件后初始化文件指針到起始點(diǎn),接著初始化解碼器數(shù)據(jù)結(jié)構(gòu)并配置成解碼模式,最后執(zhí)行MP3文件解析,解碼完成后卸載設(shè)備即可。
三、操作現(xiàn)象
1、實(shí)驗(yàn)設(shè)備
2、硬件連接
(1)將工程目錄下的song.mp3文件拷貝到SD卡后,把SD卡插入卡槽內(nèi)。
(3)將撥碼開關(guān)撥到DEBUG模式01111,連接實(shí)驗(yàn)箱電源,撥動電源開關(guān)上電。
3、軟件操作
導(dǎo)入工程,選擇Demo文件夾下的對應(yīng)工程
編譯工程,生成可執(zhí)行文件
將CCS連接開發(fā)板并加載程序
點(diǎn)擊運(yùn)行程序
運(yùn)行程序后,Console 窗口會打印信息,正在處理音頻數(shù)據(jù)。
大概等待1分鐘,解碼完成。
實(shí)驗(yàn)結(jié)束后,先點(diǎn)擊黃色按鈕暫停程序運(yùn)行,再點(diǎn)擊紅色按鈕退出CCS與實(shí)驗(yàn)板的連接,最后實(shí)驗(yàn)箱斷電即可。
-
驅(qū)動器
+關(guān)注
關(guān)注
54文章
8629瀏覽量
149052 -
PCM
+關(guān)注
關(guān)注
1文章
200瀏覽量
53978 -
SD卡
+關(guān)注
關(guān)注
2文章
575瀏覽量
65137 -
CRC校驗(yàn)
+關(guān)注
關(guān)注
0文章
84瀏覽量
15507 -
音頻解碼
+關(guān)注
關(guān)注
0文章
28瀏覽量
16646
發(fā)布評論請先 登錄
數(shù)字信號處理實(shí)驗(yàn)操作教程:3-3 mp3音頻編碼實(shí)驗(yàn)(AD7606采集)
嵌入式操作教程_數(shù)字信號處理_音頻編解碼:3-6 AAC音頻解碼實(shí)驗(yàn)
一種嵌入式MP3音頻點(diǎn)播系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
STM32-CRK創(chuàng)新實(shí)驗(yàn)平臺微機(jī)原理 Arduino創(chuàng)新實(shí)驗(yàn)箱嵌入式實(shí)驗(yàn)箱
嵌入式MP3播放器系統(tǒng)由什么組成?
怎么實(shí)現(xiàn)一種嵌入式MP3音頻點(diǎn)播系統(tǒng)的設(shè)計(jì)?
嵌入式教程_教學(xué)實(shí)驗(yàn)箱實(shí)驗(yàn)操作_音頻處理:3-2 mp3音頻編碼實(shí)驗(yàn)
嵌入式DSP教學(xué)實(shí)驗(yàn)箱_數(shù)字信號處理教程:3-5 AAC音頻編碼實(shí)驗(yàn)
國產(chǎn)嵌入式教學(xué)實(shí)驗(yàn)箱_創(chuàng)龍教儀_DSP教學(xué)實(shí)驗(yàn)箱:3-4 mp3音頻解碼實(shí)驗(yàn)
一種嵌入式MP3音頻點(diǎn)播系統(tǒng)的設(shè)計(jì)與實(shí)現(xiàn)
嵌入式GPS語音導(dǎo)航系統(tǒng)中MP3的解碼與播放
嵌入式MP3解碼研究與優(yōu)化

基于多任務(wù)嵌入式應(yīng)用的MP3實(shí)時(shí)解碼系統(tǒng)
EFSL嵌入式MP3播放器設(shè)計(jì)原理

WT2003Hx系列高品質(zhì)語音芯片MP3音頻解碼IC的特征與應(yīng)用優(yōu)勢

評論