999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于EPG3231的ADPCM解碼算法實現

2017-07-12 16:06:37楊清學梁桃華孟奕峰
電子設計工程 2017年12期
關鍵詞:單片機

周 江,楊清學,梁桃華,孟奕峰

(成都職業技術學院 四川 成都 610041)

基于EPG3231的ADPCM解碼算法實現

周 江,楊清學,梁桃華,孟奕峰

(成都職業技術學院 四川 成都 610041)

16bit語音信號的ADPCM壓縮和解壓是傳統的經典方法,為了在漢語語言教學機上實現語音的合成,作者給出了8位單聲道語音信號算法,并在ELAN 8位單片機EPG3231上使用該算法用匯編語言實現了語音的實時解碼和回放。實驗結果表明,原始的語音數據和解碼后的數據相關性達0.999843,說明解碼后的數據失真率低,達到預期要求。

電子技術;ADPCM解碼;語音;EPG3231

筆者在研的四川省教育廳自然科學重點項目需要研究開發漢語語言教學機,該機主要是為小學語文教學而設計,其中有大量的語音內容需要存儲,主要包括漢語拼音的23個聲母、24個韻母、16個整體認讀音節、全部的普通話拼讀音節以及盡可能多的詞組和課文的讀音,需要的存儲空間比較大,因此有必要對語音進行壓縮后存儲,以節省存儲空間。另一方面,由于“漢語語言教學機”采用單片機為主控芯片,它需要實時地完成壓縮語音信息的解碼工作和語音的回放功能,因而解碼算法不能太復雜,所以在本課題中存儲的語音信息采用ADPCM(Adaptive Differential Pulse Code Modulation,自適應差分脈沖編碼調制)編碼[1]。

1 ADPCM原理

ADPCM算法利用連續語音樣本之間的高度相關性,對未來的樣本值進行預測。ADPCM不是對語音樣本直接編碼,而是對預測樣本與語音樣本之間的差值進行編碼。對差值編碼需要的位數要比直接對原始語音樣本編碼所需的位數少,從而達到對信號壓縮的目的。而且ADPCM中量化器和預測器均采用自適應方式,即量化器和預測器的參數能隨輸入信號的統計特性自適應于或接近于最佳的參數狀態[2-4]。

ITU (International Telecommunication Union,國際電信聯盟)(前身CCITT)的G.721 ADPCM算法是眾所周知的,但該算法采用浮點和對數運算[5],在8位單片機上不易實時地實現。IMA(Interactive Multimedia Association,交互式多媒體協會)參考算法通過簡化許多操作和使用查表方法[6-7],極大地降低了算法的復雜性。

本課題中的ADPCM壓縮采用ELAN的ELAVoice Builder完成,解碼要在ELAN的8位的單片機EPG3231上用匯編語言實現,所以解碼算法是本文研究的重點。圖1是ADPCM解碼算法的原理框圖。

圖1 ADPCM解碼原理框圖

圖中,q:量化器步長值(以下簡稱步長)

dq:量化差值

Sn+1、Sn:分別是當前預測值和前一個預測值。

2 ELAN ADPCM壓縮文件格式

目前大多數的文章都是針對16bit語音信號的ADPCM壓縮和解壓的研究,對8bit語音信號的ADPCM壓縮和解壓的研究較少。而對一般的語音信號,8bit、22.05 kHz、單聲道已經足夠[8-12]。EPG3231 是ELAN的8位的單片機,其內部有8位的D/A[13],完全可以用于語音的合成。

語音信號的壓縮用ELAN的ELA Voice Builder完成。該軟件壓縮后的ADPCM文件后綴為.adp,文件中的前3字節為文件頭,其中第1個字節為02,表示是ADPCM文件,第2、3字節與原始的wav文件的采樣率相關,其數值大約是采樣周期(單位:ms)的2 000倍,采用小端模式存儲,詳見表一。

表1 用ELAN的ELA Voice Builder生成的ADPCM文件第2、3字節的含義

其后是壓縮編碼,每個字節包含兩個編碼,低四位對應第一個編碼,高四位對應第二個編碼。每個編碼的四位中的最高位為符號位,0為正,1為負。如果前一個編碼是0xf、后一個是6,代表靜音,解碼時直接插入63個與前一個預測值相同的數,這樣的處理對于不連續的語音可以提高壓縮比;如果前一個編碼是0xf、后一個是7,代表文件結束。

3 在EPG3231上實現ADPCM解碼

1)ADPCM解碼總體流程圖

如圖2所示。該流程圖主要展示了對ELAN的ADPCM文件中兩種特殊編碼 (靜音和文件結束標志)的處理方法,解碼中最核心的部分——ADPCM解碼在該流程圖中用黑體字標出,其流程見圖3。

圖2 ADPCM解壓總體流程圖

2)ADPCM解碼流程圖

ADPCM解碼中需要計算預測值和更新步長值。根據ADPCM解壓的原理,我們給出了步長索引修正表和步長表。

圖3是ADPCM解碼流程圖,其右邊是對左邊流程的具體解釋,即實際采用的算法。圖中所稱的編碼即為ADPCM編碼,它是一個4位的編碼,最高位為符號位,0代表正,1代表負。

圖3 ADPCM解碼算法流程圖

需要要注意的是,由于返回的預測值與wav文件的編碼是一致的,都是無符號數 (即0是最低電平,0xFF是最高電平),而EPG3231的D/A輸入是有符號數[13](即0x80是最低電平,0x7F是最高電平),所以程序中應將返回的預測值的最高位取反后送到D/A[14]。

4 解碼算法的計算機模擬

用匯編語言在EPG3231按照以上的ADPCM解碼算法編寫程序,播放壓縮后的adp聲音文件,同時,也使用匯編語言在EPG3231上編程播放相同內容的wav文件,沒能聽出差別。筆者希望能將解碼后的數據與原始的wav文件的數據做個對比,所以用C語言編程實現上述的ADPCM解碼算法,并將解碼后的數據與原始的wav文件的數據用圖形進行對比。具體做法如下。

1)制作包含一個周期正弦波的wav文件(360個采樣點),用ELA Voice Builder壓縮,再按照上面的算法編寫C語言程序進行解碼,在EXCEL中對原始的wav文件的數據(去掉文件頭)和解碼后的數據分別生成圖表(圖4),并進行數據相關性分析[15],得到的相關系數是0.999 843,屬高度相關。

圖4 一周期正弦波的原始數據圖表(左)和壓縮后再解碼得到的數據圖表

2)用女聲發音的漢語詞組“愛惜”,同樣用ELA Voice Builder將“愛惜.wav”壓縮,再用C語言程序在計算機上進行解碼運算[16],將解碼得到的數據,按照wav文件的格式,加上文件頭,用語音編輯軟件錄音大師打開原始的“愛惜.wav”和解碼后得到的wav文件,其波形如圖5所示。

圖5 語音“愛惜”的波形圖(上)和壓縮后再解碼得到的波形圖

從圖5中可以看出,語音波形包括3個部分,分別對應韻母“ai”、聲母“x”、韻母“i”,其中聲母“x”的失真略大,原因是聲母的頻率較高[17],相鄰兩個采樣值間的幅度差值相對較大,所以壓縮后的信息損失較多,解碼后的失真也就相對大些。

5 結束語

在課題“漢語語言教學機”的研發中,利用本文所述的解碼算法,在EPG3231單片機上用匯編語言實現了8bit、22.05 kHz、單聲道ADPCM的實時解碼和回放,與直接回放原始的wav文件幾乎沒有差別。

[1]徐曉亮,梁維謙.基于Ezairo DSP的ADPCM語音解碼器設計[J].計算機應用,2015,35(S2):319-321.

[2]Microchip Technology Inc.Adaptive Differential Pulse Code Modulation using PIC16/17 Microcontrollers[EB/OL]. [2016-5-10].http://ww1.microchip.com/downloads/en/AppNotes/00643c.pdf.

[3]劉華.語音聲碼器模型及ADPCM聲碼器仿真[J].長春師范學院學報 (自然科學版),2013,32(3):22-24.

[4]裴志兵,胡平平.基于C8051F007的ADPCM語音編碼系統設計[J].信息通信,2016(1):59-61.

[5]CCITT.Recommendation G.726 40,32,24,16kb/s Adaptive Diferential Pulse Code Modulation(ADPCM)[S].1990.

[6]蟈蟈俊.IMA-ADPCM算法[EB/OL].[2016-5-10].http://blog.csdn.net/ghj1976/article/details/3222.

[7]MediaWiki.IMA ADPCM[EB/OL]. (2011-7-15)[2016-5-10].http://wiki.multimedia.cx/index.php?title=IMA_ADPCM.

[8]柯俊霄.采用單片機壓縮編碼的數碼錄放系統設計[J].電子設計工程,2014,22(5):124-126

[9]宋毅琚,朱艷萍,宋耀良.基于分數階濾波器的ADPCM預測誤差信號處理[J].電聲技術,2010,34(5):52-55,66.

[10]陳德宏,林加龍,胡興柳.基于TMS320C55X的G.729語音壓縮算法全匯編優化[J].安徽工業大學學報(自然科學版),2013,30(4):435-439.

[11]趙力.語音信號處理[M].2版.北京:機械工業出版社,2010.

[12]李濤,曾攀,肖功海.基于ADPCM的數字語音存儲與回放系統[J].現代電子技術,2013,36(13):49-52.

[13]ELAN MICROELECTRONICS CORP.EPG3231-EM202 RISC II-2G Series Microcontroller Product Specification(V1.4) Datasheet[EB/OL].[2016-5-10].http://www.emc.com.tw/twn/database/Data_Sheet/PE/EPG3231-EM202.pdf.

[14]周江.基于EPG3231和閃存的聲音播放器設計[J].電子設計工程,2010,18(5):129-131.

[15]陸元婕.EXCEL學習教程完全版[EB/OL].[2016-5-10].http://wenku.baidu.com/link url=Ps4Mi0Bvyb Ea6WfqjfDKYt3hbacBsn30hkFZaVSim0fnPEB6x93 C2Ru4k31vrnei7MLWv7-vz6HdijSZOcNsbIhP4sO-VIlOHD-5zIOeUgW.

[16]王堃,蔡強順.電子束焊接熔池流場數值模擬研究[J].火箭推進,2015(1):98.

[17]王坤.基于SVPWM的STATCOM設計及實現[J].陜西電力,2011(1):11-15.

Implementation of ADPCM decoding algorithm based on EPG3231

ZHOU Jiang, YANG Qing-xue, LIANG Tao-hua, MENG Yi-feng
(Chengdu Polytechnic, Chengdu 610041,China)

The ADPCM compression and decompression of 16 bit speech signal is the classical method.In the paper,the algorithm of 8 bit mono speech signal is given to implement speech synthesis on the Chinese language teaching machine,and using the algorithm in Elan 8-bit MCU EPG3231 the real-time voice decoding and playback is realized by applying assembly language.The results show that,the correlation between the original voice data and the decoding data reach up to 0.999843,that indicated the rate distortion of decoding data is low,attaining the expectation.

electronic technology; ADPCM decoding; speech; EPG3231

TN912.33

B

1674-6236(2017)12-0175-03

2016-05-14稿件編號:201605135

2016年四川省教育廳自然科學重點項目(16ZA0394)

周 江(1966—),男,四川成都人,碩士,副教授、工程師。研究方向:單片機應用。

猜你喜歡
單片機
基于單片機的SPWM控制逆變器的設計與實現
電子制作(2019年13期)2020-01-14 03:15:28
基于單片機的層次漸變暖燈的研究
電子制作(2019年15期)2019-08-27 01:12:10
基于單片機的多功能智能插排
電子制作(2019年11期)2019-07-04 00:34:48
基于單片機的便捷式LCF測量儀
電子制作(2019年9期)2019-05-30 09:42:02
小議PLC與單片機之間的串行通信及應用
電子制作(2018年12期)2018-08-01 00:48:04
MSP430單片機在仿真中要注意的幾點問題
電子制作(2017年9期)2017-04-17 03:00:53
基于單片機的平衡控制系統設計
電子制作(2017年19期)2017-02-02 07:08:27
基于單片機的三維LED點陣設計
電子制作(2016年21期)2016-05-17 03:52:51
Microchip推出兩個全新PIC單片機系列
基于Proteus的單片機控制系統的仿真設計
主站蜘蛛池模板: 无码免费的亚洲视频| 毛片网站在线看| AV色爱天堂网| 2022精品国偷自产免费观看| 午夜老司机永久免费看片| 91色在线观看| 最新加勒比隔壁人妻| 丝袜高跟美脚国产1区| 亚洲无码高清免费视频亚洲 | 亚洲成人精品| 国产打屁股免费区网站| 波多野结衣在线se| 国产精品久久久久久久久| 中文一区二区视频| 日韩欧美国产成人| 久久香蕉国产线看观看式| 伊人激情综合| 特级毛片8级毛片免费观看| 波多野结衣久久精品| 精品视频91| 国产在线无码一区二区三区| 天天躁夜夜躁狠狠躁图片| 中文字幕日韩久久综合影院| 女人18一级毛片免费观看| 久久人搡人人玩人妻精品一| 日本久久网站| 啪啪国产视频| 欧美在线视频不卡第一页| 国产精品福利社| 丁香婷婷激情网| 四虎永久在线视频| 在线亚洲精品自拍| 亚洲欧美日韩动漫| 免费看美女毛片| 婷婷综合在线观看丁香| 欧美yw精品日本国产精品| 免费jizz在线播放| 啪啪啪亚洲无码| 毛片大全免费观看| 青草视频网站在线观看| 国产成人综合久久| 国产精品久久自在自2021| 中国一级毛片免费观看| 久久国产精品娇妻素人| 中文字幕 欧美日韩| 亚洲国产精品VA在线看黑人| 国产欧美综合在线观看第七页| 精品人妻系列无码专区久久| 青青草原国产一区二区| 呦视频在线一区二区三区| 午夜福利在线观看入口| 日韩欧美中文亚洲高清在线| 第九色区aⅴ天堂久久香| 国产免费观看av大片的网站| 人妻无码一区二区视频| 国产成人一级| 久草视频福利在线观看| 欧美在线导航| 国语少妇高潮| 91久草视频| 九九九国产| a天堂视频| 波多野结衣视频网站| 欧美一区福利| 无码一区二区三区视频在线播放| 亚洲色中色| 久久免费看片| 久草视频一区| 精品欧美一区二区三区久久久| 中文字幕在线日韩91| 午夜精品福利影院| 热久久这里是精品6免费观看| 青青青视频91在线 | 亚洲成人在线网| 极品尤物av美乳在线观看| 丁香婷婷久久| 九九热视频精品在线| 国产精品亚洲va在线观看| 国产精品黄色片| 91麻豆精品国产91久久久久| 日韩欧美国产三级| 免费A级毛片无码免费视频|