一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

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

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

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

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

電子設(shè)計(jì) ? 來(lái)源:郭婷 ? 作者:電子設(shè)計(jì) ? 2019-07-02 08:08 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

近年來(lái),多媒體技術(shù)逐漸深入到人們的生活中。MP3播放器已經(jīng)成為流行的便攜式音頻播放設(shè)備,由于MP3編碼算法非常復(fù)雜,目前,一部分MP3播放器的錄音功能主要基于ADPCM算法和DSP來(lái)實(shí)現(xiàn)。本文闡述了ADPCM語(yǔ)音編解碼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)改變量化階的大小,即使用小的量化階去編碼小的差值,使用大的量化階去編碼大的差值;使用過(guò)去的樣本值估算下一個(gè)輸入樣本的預(yù)測(cè)值,使實(shí)際樣本值和預(yù)測(cè)值之間的差值總是最小。ADPCM記錄的量化值不是每個(gè)采樣點(diǎn)的幅值,而是該點(diǎn)的幅值與前一個(gè)采樣點(diǎn)幅值之差。

ADPCM是利用樣本與樣本之間的高度相關(guān)性和量化階自適應(yīng)來(lái)壓縮數(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的簡(jiǎn)化框圖如圖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算法,可將語(yǔ)音編解碼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寫(xiě)有效,而當(dāng) WE為“0”時(shí),RAM讀有效,CS為“1”時(shí),RAM可進(jìn)行寫(xiě)或者讀操作。

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

(a) ADPCM編碼器

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

(b)ADPCM解碼器

圖1 ADPCM簡(jiǎn)化框圖

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

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

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

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

1 編碼電路

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

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

圖3 編碼電路仿真波形

2 解碼電路

解碼電路實(shí)現(xiàn)解壓縮功能,將ADPCM碼經(jīng)過(guò)“逆自適應(yīng)量化器”得到量化差分信號(hào),量化差分信號(hào)與預(yù)測(cè)值相加得到重構(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ǔ)器寫(xiě)入信號(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)過(guò)分頻后可以獲得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í),開(kāi)始編碼,RECORD跳變到“1”時(shí),編碼被屏蔽;此時(shí)解碼使能信號(hào)PLAY為“0”,開(kāi)始解碼,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)被錄入的語(yǔ)音,具有較高的保真度和很好的實(shí)時(shí)性。在電子地圖、車(chē)載信息終端語(yǔ)音播報(bào)、治安報(bào)警系統(tǒng),特別是便攜式語(yǔ)音記錄裝置等方面具有較高的應(yīng)用價(jià)值。同時(shí),也指明了數(shù)字語(yǔ)音壓縮處理高效設(shè)計(jì)方法的方向。

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

圖4 編碼電路仿真波形

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

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


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

    關(guān)注

    1644

    文章

    22008

    瀏覽量

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

    關(guān)注

    9

    文章

    1165

    瀏覽量

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

    關(guān)注

    13

    文章

    4518

    瀏覽量

    87256
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

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

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

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

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

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

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

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

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

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

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

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

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

    在對(duì)G.726 語(yǔ)音編解碼標(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語(yǔ)音編解碼器在SoPC中的實(shí)現(xiàn)

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

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

    介紹了一種采用FPGA硬件實(shí)現(xiàn)ADPCM算法的方法,并基于此算法對(duì)預(yù)先采集的各種報(bào)警語(yǔ)音進(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'>語(yǔ)音</b>報(bào)警系統(tǒng)

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

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

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

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

    基于ADPCM語(yǔ)音壓縮算法研究

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

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

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

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

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

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

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

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

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