女人被狂躁到高潮视频免费无遮挡,内射人妻骚骚骚,免费人成小说在线观看网站,九九影院午夜理论片少妇,免费av永久免费网址

當前位置:首頁 > 嵌入式 > 嵌入式硬件
[導讀]隨著通信、計算機網(wǎng)絡等技術的飛速發(fā)展,日益增加的客戶需求量和現(xiàn)有的通信信道容量之間的矛盾愈發(fā)突出。如何在有限的信道資源下,通過壓縮信源以提高傳輸效率已成為當前急需解決的問題之一。為此誕生了許多語音壓縮。

隨著通信、計算機網(wǎng)絡等技術的飛速發(fā)展,日益增加的客戶需求量和現(xiàn)有的通信信道容量之間的矛盾愈發(fā)突出。如何在有限的信道資源下,通過壓縮信源以提高傳輸效率已成為當前急需解決的問題之一。為此誕生了許多語音壓縮處理方法,G.723.1語音編碼算法便是ITU-T(國際電信聯(lián)盟電信標準化部門)制定的H.324協(xié)議簇首推的標準算法,主要用于低比特率多媒體業(yè)務的話音或其他音頻信號分量的壓縮。它是一種雙速率語音編碼標準,其中6.3 kb/s的速率提供了良好的話音質(zhì)量,而5.3kb/s的速率在提供較好通話質(zhì)量的同時,也為系統(tǒng)設計者提供了更適合的靈活性[1]。
1 算法原理
G.723.1語音編碼算法按幀(Frame)對語音數(shù)據(jù)進行壓縮和解壓縮,每幀240個采樣點,壓縮傳遞的參數(shù)包括線性預測系數(shù)、自適應碼本的延時和增益、激勵脈沖位置、符號及格點比特等。
首先進行高通濾波,去掉直流分量;接著把一幀信號分成4個子幀,每個子幀60個采樣點,分別進行10階線性預測分析(LPC),得到各子幀的LPC參數(shù),把最后一個子幀的LPC參數(shù)轉(zhuǎn)化成線譜對(LSP)參數(shù)進行矢量量化編碼,送到解碼器。利用未量化的LPC參數(shù)構造短時感知加權濾波器,信號濾波后得到感覺加權的語音信號。每2個子幀(120樣點)搜索一個開環(huán)基音值,并以此為依據(jù)為每一個子幀構造一個諧波噪聲成形濾波器,對感知加權的語音信號進行濾波。每一子幀的LPC綜合濾波器、感覺加權濾波器和諧波噪聲成形濾波器聯(lián)起來,構成一個聯(lián)合濾波器,利用它的沖激響應和開環(huán)基音周期,對每一子幀進行閉環(huán)基音搜索,對開環(huán)搜索的結果進行修正。同時通過一個五階基音預測器對信號進行預測,得到相應子幀的殘差信號。最后進行固定碼本搜索,也就是對每一子幀的殘差信號進行矢量量化,對應兩種不同的編碼速率采用兩種不同的方法:編碼速率為6.3kb/s時,采用多脈沖最大似然量化(MP-MLQ)的方法,具有較高的重建語音質(zhì)量;編碼速率為5.3kb/d時,采用代數(shù)碼本激勵線性預測(ACELP)方法。
算法的解碼也是按幀進行,主要對符合ITU-TG.723.1的碼流進行解碼,得到相應的參數(shù),根據(jù)語音產(chǎn)生的機理,合成語音信號。讀入一幀碼流后,分別進行LSP參數(shù)、基音周期和激勵脈沖信號解碼,對LSP參數(shù)插值,然后轉(zhuǎn)化成各子幀的線性預測系數(shù),構成LPC綜合濾波器。通過基音周期和激勵脈沖得到每一子幀的殘差信號,經(jīng)過基音后濾波,輸入到LPC綜合濾波器,產(chǎn)生合成語音信號。經(jīng)過共振峰后濾波和增益控制,形成高質(zhì)量的重建語音信號。
2 算法實現(xiàn)
2.1 硬件設計
在選擇DSP芯片時,考慮了語音壓縮編碼算法的復雜度以及運算量,并對DPS芯片本身的運算能力、存儲空間大小、性能價格比、開發(fā)軟件的完整性等多方面進行綜合比較,最終選用TIC54xx系列的定點運算處理器TMS320C5416,開發(fā)平臺是TMS320C5416 DSK。
TMS320C5416的單指令周期為6.25ms,每秒執(zhí)行的指令數(shù)為160M,使用了6級指令流水線結構,這些都很適合G.723.1語音編碼算法的實現(xiàn)。采用一個40 bitALU、128K×16 bit片內(nèi)RAM(包括64 kB的片內(nèi)DARAM和64 KB的片內(nèi)SARAM)、3個獨立的16bit數(shù)據(jù)內(nèi)存總線、1個程序內(nèi)存總線、3個McBSP、6信道DMA控制器、1個8/16 bit并行增強主機端口接口及2個16 bit計時器[2,3]。
在DSK的基礎上,可以搭建出語音開發(fā)硬件系統(tǒng)平臺,如圖1所示。

輸入語音信號由麥克風輸入,經(jīng)過立體聲音頻多媒體數(shù)字信號編碼芯片PCM3002 A/D轉(zhuǎn)換后成為數(shù)字信號,接著送入DSP內(nèi)進行編碼壓縮處理。處理后的數(shù)據(jù)經(jīng)過解壓得到重建的語音信號,最后送入PCM3002 D/A轉(zhuǎn)換為模擬信號,通過耳機或揚聲器得以收聽到。
2.2 算法實現(xiàn)流程
根據(jù)G.723.1算法,設計實現(xiàn)流程如圖2所示。


從流程圖中可以看到,首先關閉中斷、初始化DSP芯片和開發(fā)平臺;然后進行程序運行前的硬件配置,主要是配置外設,打開DMA和McBSP。配置結束后打開中斷屏蔽控制寄存器,等待中斷的到來。McBSP接收中斷發(fā)生時,DMA接收PCM3002發(fā)來的數(shù)據(jù)并存入緩沖區(qū),并判斷是否滿一幀240個數(shù)據(jù)。如果不滿幀,就直接等待下一次McBSP接收中斷;如果滿一幀,通過DMA通道3將240個語音數(shù)據(jù)復制到緩沖區(qū)BUFF1,同時置位新幀標志位new_data,然后對數(shù)據(jù)進行編解碼處理。整個編解碼結束后,將得到的一幀240個合成語音數(shù)據(jù)復制到緩沖區(qū)BUFF2中,等待新幀標志位重新置1后進行下一幀的編解碼處理。McBSP發(fā)送中斷時,DMA把發(fā)送緩沖區(qū)的一個數(shù)據(jù)發(fā)送給PCM3002后,判斷是否滿一幀。如果不滿幀,就直接等到下一次McBSP發(fā)送中斷;如果滿一幀,即PCM3002接收到了240個數(shù)據(jù),則把BUFF2中新一幀240個合成語音數(shù)據(jù)復制到發(fā)送緩沖區(qū),等待下一次McBSP發(fā)送中斷。
2.3 DSP/BIOS的配置
將成功實現(xiàn)的算法移植到TI公司提供的TMS320C5416上,采用DSP/BIOS技術編程實現(xiàn)。DSP/BIOS配置工具主要是設置DSP/BIOS各個模塊的參數(shù)和創(chuàng)建API調(diào)用對象[4]。用DSP/BIOS配置工具,對象可以被預先創(chuàng)建和設置,使用這種方法創(chuàng)建靜態(tài)對象,不僅可以合理利用內(nèi)存空間、減小代碼長度、優(yōu)化數(shù)據(jù)結構,還有利于程序編譯前通過驗證對象的屬性預先發(fā)現(xiàn)錯誤。
3 程序優(yōu)化
實時實現(xiàn)語音信號的編解碼最基本的要求是編解一幀語音信號的時間要少于采集一幀語音信號的時間,即要求G.723.1的一幀語音編解碼時間要少于30ms。對G.723.1標準算法進行時間評估時發(fā)現(xiàn),一幀的運算量大概需要49 M個時鐘周期,約為300 ms,這顯然無法在TMS320C5416DSP上實時運行。因此有必要從多方面進行優(yōu)化。
3.1 循環(huán)優(yōu)化
G.723.1實現(xiàn)中的很多運算是在循環(huán)內(nèi)完成的,在循環(huán)內(nèi)部特別是嵌套較深的循環(huán)內(nèi)部,減少一條指令可以大大降低程序的操作次數(shù)。固定碼本搜索中為了確定四個脈沖的位置和幅度,用到了四重嵌套循環(huán),每重循環(huán)8次,在最內(nèi)層循環(huán)減少一條指令,整個程序就減少84=4096條指令。因此在G.723.1的實現(xiàn)過程中,盡量將內(nèi)層循環(huán)的指令搬移到外層,外層循環(huán)的指令搬移到整個循環(huán)體外,從而縮短程序執(zhí)行時間,滿足實時性的要求。
此外,適當選擇循環(huán)指令,如RPT(重復下條指令),RPTZ(累加器清零并重復下條指令)和RPTB(塊重復指令)等,也能縮短循環(huán)時間。如RPT允許重復執(zhí)行緊隨其后的一條指令,由于要重復的指令只需要取指一次,與利用跳轉(zhuǎn)指令BANZ進行循環(huán)相比,效率要高得多。特別是對于乘累加和數(shù)據(jù)傳送多周期指令(MAC、MVDK 和MVPD等),在執(zhí)行一次之后就變成了單周期指令,大大提高了執(zhí)行效率。
3.2 使用內(nèi)聯(lián)函數(shù)
CCS提供的內(nèi)聯(lián)函數(shù)集中有一些常用的基本運算函數(shù),如加、飽和加、減、飽和減、長數(shù)乘等。這些函數(shù)可以很方便地被調(diào)用,就像調(diào)用C函數(shù)一樣,只要在函數(shù)名前加一個“_”,例如_L_SUB(a,b)。這些內(nèi)聯(lián)函數(shù)是用匯編語句編寫的,編譯時C編譯器將這些內(nèi)聯(lián)函數(shù)用對應的匯編語句代替,所以執(zhí)行效率很高。在程序的開始部分頭文件中,用#include“intrindefs.h”,代替#include“basic.h”,就是把文件“basic.c”從工程中去掉,從而實現(xiàn)對“basic.c”中許多基本運算函數(shù)的優(yōu)化,提高了執(zhí)行效率。
3.3 使用宏定義
在G.723.1標準的定點C程序中,所有基本運算都以調(diào)用子函數(shù)的形式執(zhí)行。這樣做對程序的規(guī)范化設計有好處,同時也在很大程度上降低了程序的運算效率。將基本運算由子函數(shù)調(diào)用改為宏定義可以去掉函數(shù)調(diào)用的開銷,加快運算速度,程序的運算效率明顯提高。這種優(yōu)化方式會帶來代碼量的增大,但還是在芯片存儲空間的容許范圍內(nèi)。
3.4 合理使用流水線操作
C54芯片具有6級深度的流水線,可以完成預取指、取指、譯碼、產(chǎn)生操作數(shù)地址、讀取操作數(shù)和執(zhí)行等6個操作,這就出現(xiàn)了指令的重疊。然而CPU總線、寄存器資源是有限的,當不同級別的流水線試圖利用同一條總線或訪問同一資源時,就可能發(fā)生時序上的沖突。如果流水線沖突,CPU自動通過指令延遲的方法解決,有些沖突指令延遲后可以避免,有些則不能避免,需要在指令中間加入NOP空指令才能解決。但這樣消耗了額外的時鐘周期。重新安排指令順序有時可以避免沖突,提高程序執(zhí)行效率,尤其是當NOP指令在循環(huán)內(nèi)部時,可以節(jié)省不少的開銷。分析程序編譯后生成的匯編語言程序,觀察分析是否可以進行優(yōu)化??梢杂脛?chuàng)建相關圖,重新分配運算單元和寄存器、創(chuàng)建排序表重新調(diào)整指令順序等方法去掉NOP指令,同時避免流水線沖突。
3.5 優(yōu)化效果
G.723.1語音編解碼程序經(jīng)過優(yōu)化保證了該算法在DSP中的實時實現(xiàn)。G.723.1協(xié)議幀長30 ms,另外有7.5 ms的前瞻,故總幀長為37.5ms。在硬件仿真模式下對整個程序運行進行測試,結果表明,一幀語音信號的編解碼在5.3 kb/s模式下需要3 402 338clocks,約20.3 ms;在6.3 kb/s模式下需要5 134 901 clocks,約22.83 ms,均低于算法要求的30ms,在TMS320VC5416上最終完成了G.723.1標準的實時實現(xiàn)。其中各主要模塊和主要代碼段在優(yōu)化前后占用周期和空間的對比分別如表1和表2所示。


信噪比是衡量語音編解碼質(zhì)量的客觀標準,計算時常用長時信噪比和短時(分段)信噪比兩種準則。短時(分段)信噪比采用分段(通常是10ms~30ms)的方法來分別計算每一段語音信號的信噪比,因此很適合反映量化器對不同電平輸入段的量化質(zhì)量。本文采用短時(分段)信噪比作為衡量標準。
設每段有N個語音采樣點,則第m段的分段信噪比定義為:

x(n)是原始信號,y(n)是輸出信號,N是幀長,M是幀的總數(shù)。
本文對G.723.1標準進行測試,就圖3所示語音信號計算其短時信噪比。圖中總幀數(shù)150幀,幀長為240個采樣點,按照上式計算SNR=13.56dB。因此可知G.723.1有較高的短時信噪比,語音編解碼質(zhì)量較好,得到的語音信號比較清晰。


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

LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: 驅(qū)動電源

在工業(yè)自動化蓬勃發(fā)展的當下,工業(yè)電機作為核心動力設備,其驅(qū)動電源的性能直接關系到整個系統(tǒng)的穩(wěn)定性和可靠性。其中,反電動勢抑制與過流保護是驅(qū)動電源設計中至關重要的兩個環(huán)節(jié),集成化方案的設計成為提升電機驅(qū)動性能的關鍵。

關鍵字: 工業(yè)電機 驅(qū)動電源

LED 驅(qū)動電源作為 LED 照明系統(tǒng)的 “心臟”,其穩(wěn)定性直接決定了整個照明設備的使用壽命。然而,在實際應用中,LED 驅(qū)動電源易損壞的問題卻十分常見,不僅增加了維護成本,還影響了用戶體驗。要解決這一問題,需從設計、生...

關鍵字: 驅(qū)動電源 照明系統(tǒng) 散熱

根據(jù)LED驅(qū)動電源的公式,電感內(nèi)電流波動大小和電感值成反比,輸出紋波和輸出電容值成反比。所以加大電感值和輸出電容值可以減小紋波。

關鍵字: LED 設計 驅(qū)動電源

電動汽車(EV)作為新能源汽車的重要代表,正逐漸成為全球汽車產(chǎn)業(yè)的重要發(fā)展方向。電動汽車的核心技術之一是電機驅(qū)動控制系統(tǒng),而絕緣柵雙極型晶體管(IGBT)作為電機驅(qū)動系統(tǒng)中的關鍵元件,其性能直接影響到電動汽車的動力性能和...

關鍵字: 電動汽車 新能源 驅(qū)動電源

在現(xiàn)代城市建設中,街道及停車場照明作為基礎設施的重要組成部分,其質(zhì)量和效率直接關系到城市的公共安全、居民生活質(zhì)量和能源利用效率。隨著科技的進步,高亮度白光發(fā)光二極管(LED)因其獨特的優(yōu)勢逐漸取代傳統(tǒng)光源,成為大功率區(qū)域...

關鍵字: 發(fā)光二極管 驅(qū)動電源 LED

LED通用照明設計工程師會遇到許多挑戰(zhàn),如功率密度、功率因數(shù)校正(PFC)、空間受限和可靠性等。

關鍵字: LED 驅(qū)動電源 功率因數(shù)校正

在LED照明技術日益普及的今天,LED驅(qū)動電源的電磁干擾(EMI)問題成為了一個不可忽視的挑戰(zhàn)。電磁干擾不僅會影響LED燈具的正常工作,還可能對周圍電子設備造成不利影響,甚至引發(fā)系統(tǒng)故障。因此,采取有效的硬件措施來解決L...

關鍵字: LED照明技術 電磁干擾 驅(qū)動電源

開關電源具有效率高的特性,而且開關電源的變壓器體積比串聯(lián)穩(wěn)壓型電源的要小得多,電源電路比較整潔,整機重量也有所下降,所以,現(xiàn)在的LED驅(qū)動電源

關鍵字: LED 驅(qū)動電源 開關電源

LED驅(qū)動電源是把電源供應轉(zhuǎn)換為特定的電壓電流以驅(qū)動LED發(fā)光的電壓轉(zhuǎn)換器,通常情況下:LED驅(qū)動電源的輸入包括高壓工頻交流(即市電)、低壓直流、高壓直流、低壓高頻交流(如電子變壓器的輸出)等。

關鍵字: LED 隧道燈 驅(qū)動電源
關閉