曰本美女∴一区二区特级A级黄色大片, 国产亚洲精品美女久久久久久2025, 页岩实心砖-高密市宏伟建材有限公司, 午夜小视频在线观看欧美日韩手机在线,国产人妻奶水一区二区,国产玉足,妺妺窝人体色WWW网站孕妇,色综合天天综合网中文伊,成人在线麻豆网观看

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會(huì)員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

基于FPGA驗(yàn)證所設(shè)計(jì)的ADPCM算法語音編解碼電路

電子設(shè)計(jì) ? 來源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-07-02 08:08 ? 次閱讀

近年來,多媒體技術(shù)逐漸深入到人們的生活中。MP3播放器已經(jīng)成為流行的便攜式音頻播放設(shè)備,由于MP3編碼算法非常復(fù)雜,目前,一部分MP3播放器的錄音功能主要基于ADPCM算法和DSP來實(shí)現(xiàn)。本文闡述了ADPCM語音編解碼VLSI芯片的設(shè)計(jì)方法以及利用FPGA的硬件實(shí)現(xiàn)。

ADPCM算法及其編解碼器原理

ADPCM(Adaptive Differential Pulse Code Modulation,自適應(yīng)差分脈沖編碼調(diào)制)綜合了APCM的自適應(yīng)特性和DPCM系統(tǒng)的差分特性,是一種性能較好的波形編碼。它的核心思想是:利用自適應(yīng)改變量化階的大小,即使用小的量化階去編碼小的差值,使用大的量化階去編碼大的差值;使用過去的樣本值估算下一個(gè)輸入樣本的預(yù)測值,使實(shí)際樣本值和預(yù)測值之間的差值總是最小。ADPCM記錄的量化值不是每個(gè)采樣點(diǎn)的幅值,而是該點(diǎn)的幅值與前一個(gè)采樣點(diǎn)幅值之差。

ADPCM是利用樣本與樣本之間的高度相關(guān)性和量化階自適應(yīng)來壓縮數(shù)據(jù)的一種波形編碼技術(shù)。ADPCM標(biāo)準(zhǔn)是一個(gè)代碼轉(zhuǎn)換系統(tǒng),它使用ADPCM轉(zhuǎn)換技術(shù)實(shí)現(xiàn)64kb/s A律或u律PCM(脈沖編碼調(diào)制)速率和32kb/s速率之間的相互轉(zhuǎn)換。ADPCM的簡化框圖如圖1所示。

ADPCM編解碼器的輸入信號(hào)是G.711 PCM代碼,采樣率是8kHz,每個(gè)代碼用8位表示,因此它的數(shù)據(jù)率為64kb/s。而ADPCM的輸出代碼是“自適應(yīng)量化器”的輸出,該輸出是用4位表示的差分信號(hào),它的采樣率仍然是8kHz,它的數(shù)據(jù)率為32kb/s,這樣就獲得了2∶1的數(shù)據(jù)壓縮。

電路的整體結(jié)構(gòu)

基于ADPCM算法,可將語音編解碼VLSI芯片分成編碼、解碼、存儲(chǔ)、控制和時(shí)鐘幾個(gè)模塊。編碼模塊實(shí)現(xiàn)數(shù)據(jù)壓縮功能,將輸入的PCM信號(hào)轉(zhuǎn)換成ADPCM碼;存儲(chǔ)模塊在控制模塊的作用下,保存編碼所得的ADPCM碼;解碼模塊實(shí)現(xiàn)解壓縮功能,將ADPCM碼轉(zhuǎn)換得到PCM碼;控制模塊的作用是控制其他模塊的協(xié)調(diào)工作;時(shí)鐘模塊主要實(shí)現(xiàn)對(duì)外部晶振的原始時(shí)鐘信號(hào)進(jìn)行分頻,以得到電路系統(tǒng)實(shí)際所需的時(shí)鐘信號(hào)。

電路整體結(jié)構(gòu)如圖2所示,其中En_en、En_de分別是編碼和解碼的使能信號(hào),RST則為復(fù)位信號(hào)。當(dāng)WE為“1”時(shí),RAM寫有效,而當(dāng) WE為“0”時(shí),RAM讀有效,CS為“1”時(shí),RAM可進(jìn)行寫或者讀操作。

基于FPGA驗(yàn)證所設(shè)計(jì)的ADPCM算法語音編解碼電路

(a) ADPCM編碼器

基于FPGA驗(yàn)證所設(shè)計(jì)的ADPCM算法語音編解碼電路

(b)ADPCM解碼器

圖1 ADPCM簡化框圖

電路設(shè)計(jì)過程

本文采用Top-down方法進(jìn)行電路設(shè)計(jì)。主要設(shè)計(jì)流程如下:首先基于Verilog HDL運(yùn)用Active-HDL進(jìn)行電路的RTL級(jí)描述和功能仿真;將經(jīng)過功能仿真正確的程序在Quartus II開發(fā)系統(tǒng)中進(jìn)行綜合和適配;接下來將得到的網(wǎng)表文件(.vo)和具有時(shí)延信息的反標(biāo)文件(.sdo)調(diào)入ModelSim SE中,并加入所選器件相應(yīng)的器件庫進(jìn)行時(shí)序仿真;時(shí)序仿真通過后,將Quartus II得到的“*.sof”文件通過JTAG配置模式下載到FPGA中進(jìn)行不可掉電的實(shí)際測試,也可將“*.pof”文件通過AS配置模式下載到FPGA中進(jìn)行可掉電的實(shí)際測試。電路系統(tǒng)的頂層程序如下。

基于FPGA驗(yàn)證所設(shè)計(jì)的ADPCM算法語音編解碼電路

圖2 電路整體結(jié)構(gòu)圖

module ADPCM_TOP ( PCM_OUT,PCM_IN ,RECORD,PLAY,CLK, CLK8K);

parameter ADDR_WIDTH=14;

parameter PCM_WIDTH=8;

input [PCM_WIDTH-1:0] PCM_IN ;

wire [PCM_WIDTH-1:0] PCM_IN ;

output [PCM_WIDTH-1:0] PCM_OUT ;

wire [PCM_WIDTH-1:0] PCM_OUT ;

input CLK, RECORD,PLAY;

output CLK8K;

wire [3:0] code_in,code_out;

wire en_encoder,en_decoder,re_rst,pl_rst,WE,CS,CLK_8K;

wire [ADDR_WIDTH-1:0] ADDRESS;

assign CLK8K =CLK_8K;

CLOCK_GE U0 (CLK,RECORD, CLK_8K);

encoder_new U1 ( PCM_IN,re_rst ,en_encoder, CLK_8K ,code_in );

RAM U2 (ADDRESS,WE,CS,CLK_8K,code_in,code_out);

decoder_new U3 (pl_rst, CLK_8K ,code_out ,en_decoder,PCM_OUT);

controllogic U4 (CS,re_rst,pl_rst,en_encoder,en_decoder,WE,ADDRESS,RECORD,PLAY,CLK_8K);

endmodule

子模塊電路設(shè)計(jì)及仿真

整個(gè)語音編解碼VLSI芯片包括編碼電路、解碼電路、存儲(chǔ)電路、控制電路和時(shí)鐘電路幾個(gè)部分。下面分別具體描述關(guān)鍵電路的設(shè)計(jì)。

1 編碼電路

編碼電路實(shí)現(xiàn)數(shù)據(jù)壓縮功能,將輸入的PCM信號(hào)轉(zhuǎn)換成均勻的PCM碼,然后與預(yù)測信號(hào)進(jìn)行差分,得到的差分信號(hào)經(jīng)過“自適應(yīng)量化器”進(jìn)行壓縮編碼得到ADPCM碼,ADPCM碼被返回經(jīng)過“逆自適應(yīng)量化器”以及“自適應(yīng)預(yù)測器”用來構(gòu)建下一個(gè)預(yù)測信號(hào)。編碼電路仿真波形如圖3所示,其中PCM_IN為編碼器輸入信號(hào)(PCM碼),CODE為編碼后得到的輸出信號(hào)(ADPCM碼)。

基于FPGA驗(yàn)證所設(shè)計(jì)的ADPCM算法語音編解碼電路

圖3 編碼電路仿真波形

2 解碼電路

解碼電路實(shí)現(xiàn)解壓縮功能,將ADPCM碼經(jīng)過“逆自適應(yīng)量化器”得到量化差分信號(hào),量化差分信號(hào)與預(yù)測值相加得到重構(gòu)信號(hào),然后轉(zhuǎn)換成PCM碼。解碼電路仿真波形如圖4所示,其中CODE為解碼器輸入信號(hào)(ADPCM碼),PCM_OUT為解碼后得到的輸出信號(hào)(PCM碼)。與圖3中編解碼前的PCM_IN對(duì)比,可以看出解碼誤差很小。

3 其他模塊

控制電路控制其他電路模塊的協(xié)調(diào)工作,在編碼的同時(shí)使能存儲(chǔ)器寫入信號(hào),使編碼電路輸出數(shù)據(jù)可以及時(shí)存入存儲(chǔ)器;在解碼的同時(shí)使能存儲(chǔ)器讀出信號(hào),編碼和解碼不能同時(shí)進(jìn)行。時(shí)鐘電路主要實(shí)現(xiàn)對(duì)外部晶振的原始時(shí)鐘信號(hào)進(jìn)行分頻,以得到電路系統(tǒng)實(shí)際所需的時(shí)鐘信號(hào)。本系統(tǒng)采用的外部晶振固有頻率為14.318MHz,經(jīng)過分頻后可以獲得8kHz時(shí)鐘。存儲(chǔ)電路在控制電路的作用下,保存編碼所得的ADPCM碼(32kb/s),由于只需驗(yàn)證電路的功能,所以只設(shè)定了2s的錄音存儲(chǔ)空間,即64kb存儲(chǔ)容量。

整體電路仿真

在子模塊電路仿真正確后,對(duì)系統(tǒng)整體進(jìn)行仿真,可以得到圖5所示波形。此次仿真輸入信號(hào)PCM_IN激勵(lì)采用Testbench產(chǎn)生。在編碼使能信號(hào)RECORD為“0”時(shí),開始編碼,RECORD跳變到“1”時(shí),編碼被屏蔽;此時(shí)解碼使能信號(hào)PLAY為“0”,開始解碼,PLAY跳變到“1”時(shí),解碼被屏蔽。從圖中可以看出編碼前輸入信號(hào)PCM_IN的激勵(lì)和解碼后輸出PCM_OUT的響應(yīng)基本符合。由于ADPCM算法本身是有損壓縮,可以確定本電路系統(tǒng)的設(shè)計(jì)是正確可靠的。

FPGA驗(yàn)證及結(jié)論

本文基于FPGA驗(yàn)證所設(shè)計(jì)的電路。這里選用Altera公司Cyclone系列的EP1C6Q240C8器件,其內(nèi)部有90kb的存儲(chǔ)容量,6k個(gè)邏輯單元,2 個(gè)PLL。由于電路采用8kHz采樣頻率,編碼后的ADPCM碼為4位,設(shè)定錄音時(shí)間為2s,所以需要64kb存儲(chǔ)容量;同時(shí),設(shè)計(jì)需要大約400個(gè)左右的邏輯單元。所以選用此低成本的FPGA即可滿足設(shè)計(jì)要求,而且基本上充分利用了內(nèi)部資源。此芯片的引腳有240 個(gè),能滿足外面的引腳連接,而且價(jià)格也易于接受。

FPGA驗(yàn)證表明:電路的最大時(shí)鐘延遲為26.903ns,最高工作頻率可達(dá)37.17MHz,可以很好地再現(xiàn)被錄入的語音,具有較高的保真度和很好的實(shí)時(shí)性。在電子地圖、車載信息終端語音播報(bào)、治安報(bào)警系統(tǒng),特別是便攜式語音記錄裝置等方面具有較高的應(yīng)用價(jià)值。同時(shí),也指明了數(shù)字語音壓縮處理高效設(shè)計(jì)方法的方向。

基于FPGA驗(yàn)證所設(shè)計(jì)的ADPCM算法語音編解碼電路

圖4 編碼電路仿真波形

基于FPGA驗(yàn)證所設(shè)計(jì)的ADPCM算法語音編解碼電路

圖5 系統(tǒng)仿真波形


聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請(qǐng)聯(lián)系本站處理。 舉報(bào)投訴
  • FPGA
    +關(guān)注

    關(guān)注

    1643

    文章

    21925

    瀏覽量

    612685
  • 解碼器
    +關(guān)注

    關(guān)注

    9

    文章

    1162

    瀏覽量

    41603
  • 存儲(chǔ)
    +關(guān)注

    關(guān)注

    13

    文章

    4478

    瀏覽量

    86965
收藏 人收藏

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    語音和音頻統(tǒng)一編解碼算法研究

    最近在研究MPEG-D標(biāo)準(zhǔn)的語音和音頻統(tǒng)一編解碼算法(USAC),USAC是2011年才開始提出來的,感覺挺有研究意義的,大家有興趣可以互相交流下
    發(fā)表于 07-20 15:38

    振南對(duì)ADPCM音頻編解碼原理的一些通俗闡述【附振南的ADPCM解碼原代碼】

    寫ZN-X開發(fā)板整板測試程序的后期,振南開始轉(zhuǎn)向?qū)W⒂?b class='flag-5'>ADPCM音頻的解碼算法。對(duì)于音視頻的編解碼,振南一直是很感興趣的。VS1003錄音向外輸出的數(shù)據(jù)是經(jīng)過
    發(fā)表于 06-17 14:35

    如何去設(shè)計(jì)ADPCM語音編解碼電路?

    ADPCM算法及其編解碼器原理是什么?如何去設(shè)計(jì)ADPCM語音編解碼
    發(fā)表于 05-06 06:37

    如何采用FPGA實(shí)現(xiàn)汽車智能語音報(bào)警系統(tǒng)設(shè)計(jì)?

    本文采用FPGA實(shí)現(xiàn)ADPCM(Adaptive Differential Pulse CodeModulation,自適應(yīng)差分脈沖編碼調(diào)制)編解碼器設(shè)計(jì),對(duì)語音信息進(jìn)行壓縮存儲(chǔ)。從而
    發(fā)表于 05-17 06:26

    基于DSP Builder的ADPCM算法實(shí)現(xiàn)

    本文對(duì)ADPCM 編解碼原理進(jìn)行了分析,并針對(duì)語音記錄系統(tǒng)的特點(diǎn),對(duì)標(biāo)準(zhǔn)ADPCM 編解碼系統(tǒng)進(jìn)行了簡化。提出了一種適合
    發(fā)表于 09-16 10:43 ?24次下載

    G.726語音編解碼器在SoPC中的實(shí)現(xiàn)

    在對(duì)G.726 語音編解碼標(biāo)準(zhǔn)分析的基礎(chǔ)上給出了基于FPGA 的DSP 設(shè)計(jì)流程,利用MATLAB/Simulink、DSP Builder 和SOPC Builder 工具設(shè)計(jì)了G.726
    發(fā)表于 11-30 14:59 ?12次下載

    G.726語音編解碼器在SoPC中的實(shí)現(xiàn)

    在對(duì)G.726語音編解碼標(biāo)準(zhǔn)分析的基礎(chǔ)上給出了基于FPGA的DSP設(shè)計(jì)流程,利用MATLAB/Simulink、DSP Builder和SOPC Builder工具設(shè)計(jì)了G.726語音
    發(fā)表于 07-16 15:06 ?18次下載

    基于ADPCM算法語音報(bào)警系統(tǒng)

    介紹了一種采用FPGA硬件實(shí)現(xiàn)ADPCM算法的方法,并基于此算法對(duì)預(yù)先采集的各種報(bào)警語音進(jìn)行壓縮編碼并存儲(chǔ)。在遇到危險(xiǎn)時(shí),由單片機(jī)做出危險(xiǎn)判
    發(fā)表于 12-11 15:59 ?28次下載
    基于<b class='flag-5'>ADPCM</b><b class='flag-5'>算法</b>的<b class='flag-5'>語音</b>報(bào)警系統(tǒng)

    基于AMR語音編解碼算法的VoIP系統(tǒng)

    本文提出了一種基于AMR語音編解碼算法的新VoIP系統(tǒng),該系統(tǒng)可以根據(jù)網(wǎng)絡(luò)信道質(zhì)量的好壞來自適應(yīng)地選擇一種最佳的傳輸速率,從而使得合成后的語音質(zhì)量有了更加良好的QoS保障。
    發(fā)表于 06-24 11:05 ?1707次閱讀
    基于AMR<b class='flag-5'>語音</b><b class='flag-5'>編解碼</b><b class='flag-5'>算法</b>的VoIP系統(tǒng)

    ADPCM語音編解碼VLSI芯片的設(shè)計(jì)方法

      ADPCM算法及其編解碼器原理   ADPCM(Adaptive Differential Pulse Code Modulation,自適應(yīng)差分脈沖編碼調(diào)制)綜合了APCM的自
    發(fā)表于 09-03 16:58 ?2669次閱讀
    <b class='flag-5'>ADPCM</b><b class='flag-5'>語音</b><b class='flag-5'>編解碼</b>VLSI芯片的設(shè)計(jì)方法

    基于ADPCM語音壓縮算法研究

    摘 要 ADPCM算法目前已成為很受用的語音壓縮算法之一。給出PCM概念。討論DPCM,DM,ADM與ADPCM的 壓縮
    發(fā)表于 04-08 11:20 ?84次下載

    RS編解碼FPGA實(shí)現(xiàn)-說明

    RS編解碼FPGA實(shí)現(xiàn)-說明RS編解碼FPGA實(shí)現(xiàn)-說明。
    發(fā)表于 05-04 15:59 ?21次下載

    多制式語音編解碼算法的DSP設(shè)計(jì)

    的可靠性和效率。因此,研究語音處理技術(shù)并將其用基于DSP芯片硬件系統(tǒng)實(shí)現(xiàn)有著非常重要的現(xiàn)實(shí)意義和廣闊的市場前景。本文介紹了語音編解碼硬件平臺(tái)的設(shè)計(jì)思路和編解碼
    發(fā)表于 11-06 14:14 ?3次下載

    基于STM8的ADPCM音頻解碼輸出DAC語音的程序源碼

    STM8上實(shí)現(xiàn)ADPCM音頻解碼,通過DAC輸出語音的程序源碼。
    發(fā)表于 01-24 15:06 ?40次下載

    如何使用L9320實(shí)現(xiàn)ADPCM語音編解碼

    對(duì)L9320編解碼器的工作原理和使用方法 進(jìn)行了分析,給出了L9320在便攜式語音系統(tǒng)中的典型應(yīng)用電路.
    發(fā)表于 12-20 17:27 ?24次下載
    如何使用L9320實(shí)現(xiàn)<b class='flag-5'>ADPCM</b><b class='flag-5'>語音</b><b class='flag-5'>編解碼</b>