當(dāng)前位置:首頁 > 電源 > 電源
[導(dǎo)讀]摘要:為了有效地節(jié)省語音數(shù)據(jù)的傳輸帶寬和存儲(chǔ)系統(tǒng)的磁盤空間,需要在保證語音質(zhì)量的前提下盡可能降低其編碼比特率。本設(shè)計(jì)采用經(jīng)過優(yōu)化的G.729語音壓縮編譯碼算法,以ARM處理器為載體,開發(fā)的嵌入式語音存儲(chǔ)系統(tǒng)可

摘要:為了有效地節(jié)省語音數(shù)據(jù)的傳輸帶寬和存儲(chǔ)系統(tǒng)的磁盤空間,需要在保證語音質(zhì)量的前提下盡可能降低其編碼比特率。本設(shè)計(jì)采用經(jīng)過優(yōu)化的G.729語音壓縮編譯碼算法,以ARM處理器為載體,開發(fā)的嵌入式語音存儲(chǔ)系統(tǒng)可實(shí)現(xiàn)語音信號的海量存儲(chǔ),而且處理速度快、可靠性好、擴(kuò)展方便。通過嚴(yán)格的測試和評估,該系統(tǒng)能夠?qū)崿F(xiàn)對大量語音數(shù)據(jù)的壓縮和記錄,各項(xiàng)指標(biāo)基本達(dá)到了預(yù)期的水平。

關(guān)鍵詞:ARM;語音壓縮;G.729;語音存儲(chǔ)

1 系統(tǒng)控制核心

嵌入式操作系統(tǒng)軟硬件結(jié)構(gòu)框圖如圖1所示,由硬件層、驅(qū)動(dòng)層、系統(tǒng)層和應(yīng)用層組成。硬件層包括嵌入式處理器最小系統(tǒng)、存儲(chǔ)器(SD RAM、Flash、ROM等)、通用設(shè)備接口和I/O接口(A/D、D/A、I/O等),其中Linux實(shí)時(shí)操作系統(tǒng)和應(yīng)用程序都可以固化在ROM中。硬件層的核心是嵌入式處理器,在一片嵌入式處理器基礎(chǔ)上添加電源電路、時(shí)鐘電路和存儲(chǔ)器電路,就構(gòu)成了一個(gè)嵌入式處理器最小系統(tǒng)。中間的驅(qū)動(dòng)層將上層軟件和底層硬件分離開,為其連接提供接口。系統(tǒng)層主要負(fù)責(zé)軟件硬資源的分配、內(nèi)存管理、任務(wù)調(diào)度、文件處理等,是軟件層的核心。應(yīng)用層為用戶提供編程接口,實(shí)現(xiàn)各種應(yīng)用功能。

1.1 系統(tǒng)軟件核心

Linux操作系統(tǒng)的內(nèi)核主要由進(jìn)程調(diào)度、內(nèi)存管理、虛擬文件系統(tǒng)、網(wǎng)絡(luò)接口、進(jìn)程間通信五個(gè)子系統(tǒng)組成,各個(gè)子系統(tǒng)之間都存在著不可分割的依賴關(guān)系。內(nèi)核為設(shè)備驅(qū)動(dòng)提供支持,實(shí)現(xiàn)設(shè)備控制與應(yīng)用;設(shè)備驅(qū)動(dòng)為上層提供標(biāo)準(zhǔn)接口,完成硬件細(xì)節(jié)的封裝??梢愿鶕?jù)設(shè)計(jì)需要對內(nèi)核模塊進(jìn)行適當(dāng)?shù)牟脺p,制作出理想、實(shí)用的操作系統(tǒng)。

1.2 系統(tǒng)硬件核心

Samsung公司的S3C2440A處理器是一款以手持設(shè)備為主而設(shè)汁的芯片。這款處理器支持NOR Flash和NAND Flash啟動(dòng)方式,內(nèi)部集成LCD、I2C總線、AC97、Camera等控制器。提供豐富的接口資源,方便與外設(shè)連接,易于擴(kuò)展。

2 G.729算法概述

2.1 G.729編碼原理

G.729編碼標(biāo)準(zhǔn)采用CS-ACELP語音壓縮編碼技術(shù),其核心原理是線性預(yù)測和二級量化。每個(gè)10 ms的語音幀包含80個(gè)采樣點(diǎn),在每個(gè)這樣的語音中都要進(jìn)行線性預(yù)測(LP)分析,計(jì)算出LP濾波器系數(shù),再轉(zhuǎn)換為線性譜對參數(shù)(Line Spectrum Pari,LSP),并使用有兩個(gè)階段

的預(yù)測矢量量化器(Vector Quantization,VQ)進(jìn)行18比特量化。然后編碼器以原始語音和合成語音的誤差感覺加權(quán)最小為準(zhǔn)則采用A-B-S(Analysis-By-Synthesis,分析合成)方法搜索激勵(lì)信號,激勵(lì)參數(shù)(固定碼書參數(shù)和自適應(yīng)碼書參數(shù))每個(gè)子幀(5 ms幀長,40個(gè)采樣點(diǎn))確定一次,感覺加權(quán)濾波器的系數(shù)由未量化的LP系數(shù)產(chǎn)生。

2.2 G.729解碼原理

解碼是編碼的逆過程,其原理為:首先從獲得的碼流中提取出參數(shù)的索引,這些參數(shù)包括LP濾波器系數(shù)、自適應(yīng)碼書矢量以及固定碼書矢量和增益,它們分別解碼后,可獲得一個(gè)LSP系數(shù)、兩個(gè)音節(jié)延遲、兩組自適應(yīng)碼書和固定碼書增益等對應(yīng)于10 ms語音幀的編碼器參數(shù)。

然后將LSP系數(shù)進(jìn)行內(nèi)插操作,轉(zhuǎn)換為每個(gè)5 ms子幀的LP濾波器系數(shù),再對每個(gè)子幀進(jìn)行如下操作:

①經(jīng)各自增益縮放的自適應(yīng)矢量和固定碼本矢量相加,得到重建的激勵(lì)信號;

②將激勵(lì)信號通過LPC合成濾波器,得到重建語音;

③重建的語音信號經(jīng)過各種濾波器的后續(xù)處理,實(shí)現(xiàn)信號的放大和改善。

2.3 G.729算法優(yōu)化

在G.729編碼算法中,采用量化碼本結(jié)構(gòu)。其基本原則如下:首先計(jì)算出K維碼本里的各個(gè)碼字矢量的平均值并存儲(chǔ)起來;然后求出輸入信號矢量平均值和各個(gè)碼字矢量平均值的均方誤差值;最后用遍歷法找到這些均方誤差中的最小值Dmin,與之相對應(yīng)的碼字即為最佳逼近碼字。采用這種搜索方法加快了編碼速度,減少了搜索時(shí)間,并沒有改變矢量量化的精度。

3 系統(tǒng)硬件結(jié)構(gòu)

系統(tǒng)硬件結(jié)構(gòu)框圖如圖2所示。S3C2440A作為整個(gè)系統(tǒng)的主控芯片,DC電源、復(fù)位電路、時(shí)鐘電路作用于系統(tǒng)的每個(gè)部分;存儲(chǔ)模塊包括SDRAM、Flash以及外接的CF或SD卡等;調(diào)試模塊包括JTAG接口、RS232接口以及網(wǎng)絡(luò)接口三個(gè)部分;音頻模塊的主要工作由編解碼器UDA1 341完成,擴(kuò)展接口由USB接口、IDE接口構(gòu)成,交互模塊由TFT LCD和觸摸屏構(gòu)成。其中,音頻模塊和IDE擴(kuò)展接口是研究的重點(diǎn)。

[!--empirenews.page--]

3.1 系統(tǒng)外圍電路

系統(tǒng)設(shè)計(jì)的外圍電路都是ARM最小系統(tǒng)所必需的。電源電路為系統(tǒng)提供能量,是系統(tǒng)工作的基礎(chǔ)。設(shè)計(jì)電源電路時(shí)要考慮的因素很多,主要包括輸入及輸出的電壓范圍、輸出紋波大小、電池兼容和電磁干擾等,系統(tǒng)采用DC-DC轉(zhuǎn)換芯片LM1117將5 V的電壓轉(zhuǎn)換成1.3 V、2.5 V、3.3 V后供系統(tǒng)使用。采用復(fù)位芯片MAX811產(chǎn)生的復(fù)位信號,既能保證上電復(fù)位的時(shí)間,又能保留手動(dòng)復(fù)位的特點(diǎn)。時(shí)鐘電路為系統(tǒng)提供工作時(shí)鐘,主時(shí)鐘采用12 MHz晶振作為時(shí)鐘源,RTC時(shí)鐘采用32.768 kHz晶振作為時(shí)鐘源。通過JTAG接口,可以訪問芯片內(nèi)部的所有部件,是實(shí)現(xiàn)系統(tǒng)開發(fā)、調(diào)試的高效手段。為了減小系統(tǒng)體積,采用10針簡化的JTAG接口,其接口電路如圖3所示。

SDRAM存儲(chǔ)器選擇Samsung公司的K4S561632E-UC75,其存儲(chǔ)容量為32 MB,具有存取速度快、成本低廉的特點(diǎn),主要用來存放執(zhí)行代碼和變量,是系統(tǒng)啟動(dòng)之后主要進(jìn)行存取操作的存儲(chǔ)器。Flash存儲(chǔ)器選擇Samsung公司的K9F1208U0CNAND Flash存儲(chǔ)器,其存儲(chǔ)容量為64 MB,可以擦寫一百多萬次,具有很長的使用壽命,把啟動(dòng)程序、內(nèi)核代碼等固化到Flash閃存中能加速系統(tǒng)的啟動(dòng)、提高系統(tǒng)的穩(wěn)定性和可靠性。

3.2 音頻采集與處理模塊

該模塊采用Philips公司生產(chǎn)的音頻芯片UDA1341TS,它支持I2S數(shù)據(jù)總線格式,且具有低功耗、低電壓及DSP語音功能等特征。I2S(Inte grate Interfaceof sound)是Philips公司提出的串行數(shù)字音頻總線協(xié)議,音頻數(shù)據(jù)與控制信號、時(shí)鐘信號分開傳輸,避免了由時(shí)鐘帶來的抖動(dòng)問題,因此系統(tǒng)中可省略消除抖動(dòng)的器件。

音頻芯片與主控芯片的連接如圖4所示。I2S音頻接口包括5根信號線,其中音頻模塊的同步時(shí)鐘CDCLK由S3C2440A提供,該時(shí)鐘控制音頻的A/D、D/A采樣速率。串行時(shí)鐘SCLK,也叫位時(shí)鐘(BCLK),即每一個(gè)SCLK脈沖對應(yīng)一位數(shù)字音頻數(shù)據(jù)。幀時(shí)鐘LRCK用于左有聲道的切換,LRCK為1表示正在傳輸?shù)氖亲舐暤赖臄?shù)據(jù),為0則表示正在傳輸?shù)氖怯衣暤赖臄?shù)據(jù)。DATAI是串行數(shù)據(jù)輸入信號線,DATAO是串行數(shù)據(jù)輸出信號線,所傳輸?shù)囊纛l數(shù)據(jù)用二進(jìn)制補(bǔ)碼表示。L3總線接口包括3根信號線:L3MODE/GPB2是微處理器接口模式信號線;L3CLOCK/GPB4是微處理器接口時(shí)鐘信號線;L3DATA/GPB3是微處理器接口數(shù)據(jù)線。L3總線接口主要用于傳輸控制信號,相當(dāng)于混音器控制接口,可以調(diào)節(jié)輸入/輸出音頻信號的音量、低音提升、控制去加重等。

[!--empirenews.page--]

3.3 IDE硬盤控制模塊

IDE接口是硬盤和光驅(qū)普遍使用的外部接口,接口采用16位數(shù)據(jù)總線并行傳送,體積小、速度快,兼容性強(qiáng)。IDE接口主要有可編程輸入輸出(Programming Input Output,PIO)和直接內(nèi)存訪問(Direct Mcmory Access,DMA)兩種傳輸模式。PIO模式占用大量的系統(tǒng)資源,數(shù)據(jù)傳輸速率較低;DMA模式需要額外的驅(qū)動(dòng)程序或設(shè)置,系統(tǒng)資源占用少、執(zhí)行效率較高。本設(shè)計(jì)選擇DMA模式。

S3C2440A與硬盤接口如圖5所示。其接口信號分為片選信號、數(shù)據(jù)信號和控制信號3個(gè)部分。硬盤上寄存器分為兩組,分別由/CS0和/  CS1選中其中的一組,A0~A2引腳用于組內(nèi)寄存器尋址,包括數(shù)據(jù)寄存器、錯(cuò)誤寄存器、扇區(qū)計(jì)數(shù)器、扇區(qū)號寄存器、低柱面號寄存器、高柱面寄存器、狀態(tài)寄存器和命令寄存器。數(shù)據(jù)線D0~D15用于數(shù)據(jù)的雙向傳輸。/DIOR、/DIOW是讀寫控制信號;/Reset是硬盤復(fù)位信號;DMARQ(DMA請求信號)和/DMACK(DMA應(yīng)答信號)是專用于DMA模式的信號。

4 系統(tǒng)軟件實(shí)現(xiàn)

4.1 語音數(shù)據(jù)的采集

語音采集部分主要是完成UDA1341TS驅(qū)動(dòng)程序的編寫,其初始化相關(guān)代碼如下:

端口初始化包括L3總線接口和I2S接口的設(shè)置,首先將與L3接口相連的通用I/O口GPB2、GPB3、GPB4設(shè)置為輸出模式,然后設(shè)置與I2S控制器輸出信號相關(guān)的GPIO引腳,將GPE0~GPE4這5個(gè)引腳設(shè)置為I2S接口的信號模式。UDA1341TS芯片初始化部分包括L3接口時(shí)序和協(xié)議的模擬,完成采樣速率、數(shù)據(jù)格式等參數(shù)的設(shè)置。系統(tǒng)采樣速率為8 kHz,使用時(shí)鐘為384 fs,數(shù)據(jù)輸入格式設(shè)置為MSB-Justifled模式。接下來通過“audio_init_dma()”申請DMA通道,輸出音頻緩沖區(qū)的DMA通道設(shè)為通道2,輸入音頻緩沖區(qū)的DMA通道設(shè)為通道1。若初始化失敗會(huì)返網(wǎng)相應(yīng)的錯(cuò)誤標(biāo)志,初始化成功后方可進(jìn)行后續(xù)操作。

4,2 IDE接口函數(shù)

硬盤驅(qū)動(dòng)程序?qū)崿F(xiàn)分為設(shè)備初始化、打開設(shè)備、設(shè)備I/O操作和釋放設(shè)備等幾部分。要完成硬盤數(shù)據(jù)交換的工作,就需要對寄存器進(jìn)行頻繁的讀寫操作,為了方便在程序中的調(diào)用,把這些和硬件操作密切相關(guān)的操作都寫成了接口函數(shù),其函數(shù)說明略——編者注。

4.3 系統(tǒng)主程序流程

主進(jìn)程開始后首先初始化采樣參數(shù),包括采樣速率、采樣點(diǎn)數(shù)、數(shù)據(jù)存儲(chǔ)格式及采樣通道,若初始化不成功會(huì)返回相應(yīng)的錯(cuò)誤標(biāo)志,并作出相應(yīng)的出錯(cuò)處理,成功后可繼續(xù)下一步操作。然后通過鍵值判斷數(shù)據(jù)的存儲(chǔ)區(qū)是選擇Flash還是選擇硬盤,并初始化相應(yīng)的存儲(chǔ)區(qū),這是保證系統(tǒng)在沒有外擴(kuò)硬盤的情況下也能正常運(yùn)行,只不過是數(shù)據(jù)存儲(chǔ)量較小而已;若選擇操作硬盤,但硬盤未連接,仍然會(huì)返回相應(yīng)的錯(cuò)誤標(biāo)志,并進(jìn)入出錯(cuò)處理函數(shù)繼續(xù)執(zhí)行。接下來根據(jù)鍵值判斷是否進(jìn)行壓縮處理,若進(jìn)行壓縮處理,則相應(yīng)的編解碼標(biāo)志置位;根據(jù)該標(biāo)志確定是否啟動(dòng)編解碼進(jìn)程,即系統(tǒng)能存儲(chǔ)未壓縮的數(shù)據(jù),也能存儲(chǔ)壓縮后的數(shù)據(jù),可以根據(jù)需要進(jìn)行適當(dāng)?shù)倪x擇。啟動(dòng)A/D轉(zhuǎn)換進(jìn)程并進(jìn)行語音數(shù)據(jù)的存儲(chǔ),相當(dāng)于錄音的過程;數(shù)據(jù)存儲(chǔ)完成后,即錄音結(jié)束后,啟動(dòng)D/A轉(zhuǎn)換進(jìn)程進(jìn)行語音播放。錄音和播放可以同時(shí)進(jìn)行,為了測試方便,這里把這兩個(gè)過程分離開來。

總的來說,系統(tǒng)主進(jìn)程創(chuàng)建了A/D、D/A轉(zhuǎn)換進(jìn)程和編解碼進(jìn)程,結(jié)合Linux的共享機(jī)制和進(jìn)程間通信等手段,實(shí)現(xiàn)了語音信號的采集、壓縮、存儲(chǔ)、回放等環(huán)節(jié)。

系統(tǒng)主程序流程圖略——編者注。

[!--empirenews.page--]

5 系統(tǒng)測試與結(jié)果分析

系統(tǒng)測試內(nèi)容主要包括語音質(zhì)量、語音存儲(chǔ)時(shí)長、語音壓縮效率三個(gè)方面。語音質(zhì)量是指經(jīng)傳輸、處理后音頻信號的保真度,是衡量語音編碼算法優(yōu)劣的關(guān)鍵指標(biāo)。其評價(jià)方法分為主觀評定和客觀評定兩類。系統(tǒng)采用的主觀評定方法是平均意見得分(Mean Opinion Score,MOS),即以主觀打分來度量,其評價(jià)標(biāo)準(zhǔn)分為5個(gè)等級,MOS評價(jià)標(biāo)準(zhǔn)如表2所列??陀^評定選擇信噪比為評價(jià)指標(biāo),信噪比(Signal Noise Ratio,SNR)定義為信號與量化噪聲的方差的比值,計(jì)算公式為:

其中分別為信號方差和噪聲方差。通過測試系統(tǒng)的主觀評價(jià)指標(biāo)MOS可以達(dá)到3.8分,接近于電話語音質(zhì)量,與原始語音的區(qū)別不明顯;系統(tǒng)的客觀評價(jià)指標(biāo)SNR為58 dB,噪聲的影響在可以接受的范圍內(nèi)。語音時(shí)長的統(tǒng)計(jì),依賴于擴(kuò)展IDE硬盤的容量,測試選擇3G容量的硬盤;記錄未經(jīng)壓縮的語音數(shù)據(jù)為750個(gè)小時(shí),而記錄壓縮后的語音數(shù)據(jù)可達(dá)7500多個(gè)小時(shí);可見語音壓縮的效率可以達(dá)到10多倍,已達(dá)到理想的效果。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數(shù)字化轉(zhuǎn)型技術(shù)解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關(guān)鍵字: AWS AN BSP 數(shù)字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對日本游戲市場的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開幕式在貴陽舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國國際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對環(huán)境變化,經(jīng)營業(yè)績穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競爭力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競爭優(yōu)勢...

關(guān)鍵字: 通信 BSP 電信運(yùn)營商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場 NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡稱"軟通動(dòng)力")與長三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉