<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁 > 模擬技術(shù) > 設(shè)計應(yīng)用 > 51單片機(jī)設(shè)計方案TOP10(七)

          51單片機(jī)設(shè)計方案TOP10(七)

          作者: 時間:2013-05-22 來源:網(wǎng)絡(luò) 收藏

          基于C的校園自助導(dǎo)覽儀設(shè)計

            本文采取硬件解碼方案,在單片機(jī)上實現(xiàn)了MP3的解碼,并加入無線功能,使其向產(chǎn)品靠攏,設(shè)計成為一種電子產(chǎn)品“校園自助導(dǎo)覽儀”。它的功能和導(dǎo)游一樣,具備自助和電子的要素。

            本文還對MP3編碼進(jìn)行優(yōu)化,除了算法優(yōu)化和高級語言的優(yōu)化之外,還進(jìn)行了匯編級優(yōu)化,大大降低了算法的復(fù)雜性。

            1 系統(tǒng)總體設(shè)計

            本設(shè)計是基于校園的一種電子產(chǎn)品,將旅游景點的解說以MP3格式存儲,通過無線形式實現(xiàn)智能控制。該系統(tǒng)能根據(jù)觀眾的位置和需要自動確定解說的語言和內(nèi)容,使得每個觀眾不但可以得到每個展位、景點的完整信息,而且能夠感受到高清晰、低噪聲的音響效果。同時,本設(shè)計產(chǎn)品還配有鍵盤,可以對播放的音頻文件進(jìn)行控制,滿足人性化的要求。系統(tǒng)總體框架如圖1所示。

          51單片機(jī)設(shè)計方案TOP10(七)

            1.1 MP3編碼與實現(xiàn)

            MP3采用的是頻域編碼,即音樂信號自適應(yīng)譜感熵編碼ASPEC(Adaptive Spectral Perceptual Entropy Coding of High Quality Music Signal)。

            MP3的數(shù)據(jù)是以幀流的形式存儲或傳輸?shù)?,每個幀有幀頭和幀尾。為獲取較高的數(shù)據(jù)壓縮比,根據(jù)音頻位流語法,采用了較為復(fù)雜的位流結(jié)構(gòu)。MP3碼流是由很多幀組成,每一幀由幀頭、壓縮的音頻數(shù)據(jù)及輔助數(shù)據(jù)等組成。幀頭是一個32位長的數(shù)據(jù),它包含輸入輸出采樣率、輸出比特率以及單雙聲道等信息。對每一幀的576(單聲道,立體聲為1152)個輸入音頻采樣壓縮而得到音頻數(shù)據(jù)。具體的壓縮后的比特數(shù)可以根據(jù)下式得到:幀內(nèi)比特數(shù)=幀內(nèi)采樣數(shù)×位率/采樣率

            圖2是MP3音頻信號的編碼過程。就單聲道而言,MP3的一個編碼框包含1152個聲音取樣,每個取樣為16位。MP3編碼時,首先將原始輸入的16位PCM信號經(jīng)過濾波器分析(filer bank analysis),轉(zhuǎn)換成32個等頻寬的子頻帶信號(subband signal)。然后透過改良式離散余弦轉(zhuǎn)換(Modified I)iscrete CosineTransforln,MDCT),將每個子頻帶信號再細(xì)分為18個次頻帶,根據(jù)第二心理聲學(xué)模型(Psychoacoustic Mode ID所提供的信噪比(Signal-to-MaskRatio,SMR),對每個子頻帶信號進(jìn)行位元分配及量化編碼。最后,只要將編碼后的資料依照MPEG-I定義的位元串的形式輸出即可。

          51單片機(jī)設(shè)計方案TOP10(七)

            數(shù)字音頻采樣通過由兩個濾波器組成的濾波器組輸入到心理聲學(xué)模型中,由心理聲學(xué)模型的輸出來控制音頻屏蔽等參數(shù),最終通過量化和霍夫曼(Huffman)編碼得到輸出的比特流。



          評論


          相關(guān)推薦

          技術(shù)專區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();