Nucleus系統(tǒng)的移動終端錄音功能設(shè)計
引言
隨著移動通信的不斷發(fā)展,多媒體技術(shù)在手機(jī)中的應(yīng)用也越來越廣。手機(jī)的核心技術(shù)主要在硬件和軟件兩個方面。硬件是核心層,包括基帶模塊和射頻模塊兩部分。軟件分為底層軟件和應(yīng)用層軟件兩大部分。
1 手機(jī)平臺體系結(jié)構(gòu)研究
(1)硬件系統(tǒng)結(jié)構(gòu)
硬件平臺主要包括射頻模塊、基帶模塊、電源管理模塊和外圍設(shè)備。文中采用了數(shù)字基帶、模擬基帶和電源管理模塊集于單芯片的基帶解決方案,這種解決方案具有較高的集成度,不僅增強(qiáng)了系統(tǒng)的穩(wěn)定性,降低了功耗,同時有效地降低了設(shè)計過程中的復(fù)雜度。
(2)軟件系統(tǒng)結(jié)構(gòu)
軟件系統(tǒng)設(shè)計主要包括嵌入式實(shí)時操作系統(tǒng)Nucleus的移植、應(yīng)用程序的編寫以及交叉編譯出相應(yīng)的可執(zhí)行文件。Nucleus系統(tǒng)提供TCP/IP網(wǎng)絡(luò)、圖像界面Grafix、文件系統(tǒng)File等模塊。
整個手機(jī)軟件主要由GSM協(xié)議棧、嵌入式Nucleus操作系統(tǒng)、設(shè)備驅(qū)動和人機(jī)界面組成。
2 自適應(yīng)多速率語音編碼算法分析
2.1 編碼原理
AMR語音編碼根據(jù)其實(shí)現(xiàn)的功能可分為LPC分析、基音搜索、代數(shù)碼本搜索三部分。其中LPC分析完成的主要功能是獲得10階LPC濾波器的10個系數(shù),并對轉(zhuǎn)化成的線譜參數(shù)LSF進(jìn)行量化;基音搜索用以獲得基音延遲和基音增益這兩個參數(shù);代數(shù)碼本搜索則是為了獲得索引和代數(shù)碼本增益及碼本增益的量化。 AMR編碼器的信號流程如圖1所示。
在編碼之前,使用高通濾波函數(shù)和幅度調(diào)整函數(shù)進(jìn)行預(yù)處理。在定點(diǎn)運(yùn)算時,將輸入樣本值除以2來減少溢出的可能性。高通濾波器的截止頻率為80 Hz。如下所示:
通過Hh1(z)濾波后的信號再除以2的信號設(shè)為S(n),在12.2 kb/s模式下,利用不同的非均勻窗,每幀執(zhí)行2次LP分析。第1個窗集中在第2個子幀,第2個窗的中心在第4個子幀,這2個窗口如下所示:
式中2次線性預(yù)測分析都是在同一組語音樣本點(diǎn)上。利用修正的自相關(guān)系數(shù)r‘a(chǎn)c,通過解下面的方程組獲取離散形式的LP參數(shù)ak,k=1,…,10。
在解碼過程中,每一幀都要進(jìn)行LP濾波器參數(shù)解碼。接收到的LSP系數(shù)索引用于重構(gòu)LSP系數(shù),然后將LSP系數(shù)內(nèi)插得到4組內(nèi)插LSP矢量(對應(yīng)于4個子幀),對于每一個子幀,內(nèi)插LSP矢量都要轉(zhuǎn)化為LP濾波器系數(shù)ak,該系數(shù)用來在子幀中合成重構(gòu)語音信號。
3 錄音功能設(shè)計
3.1 軟件設(shè)計
手機(jī)錄音的主要功能是向用戶提供使用界面、完成錄音及錄音文件的播放。從程序設(shè)計的角度看,它是通過對現(xiàn)有軟件中的人機(jī)界面、操作系統(tǒng)API的調(diào)用和對音頻設(shè)備的管理來實(shí)現(xiàn)的。整個錄音事件處理函數(shù)的執(zhí)行流程如圖3所示。
錄音功能的事件處理模塊的主要功能是對人機(jī)界面的錄音請求進(jìn)行響應(yīng)。為了實(shí)現(xiàn)該功能,錄音事件函數(shù)需要完成的工作包括:運(yùn)行控制變量的初始化,錄音文件的創(chuàng)建,事件狀態(tài)處理器的判斷和狀態(tài)維護(hù),進(jìn)行容錯處理,調(diào)用底層處理函數(shù)進(jìn)行錄音物理設(shè)備的控制,以及和界面模塊的通信。
3.2 軟件調(diào)試
由于移動終端的系統(tǒng)資源有限而且沒有相關(guān)的編譯工具,因此嵌入式系統(tǒng)的開發(fā)需要借助宿主機(jī)(通用計算機(jī))來編譯出目標(biāo)機(jī)的可執(zhí)行代碼,交叉編譯是唯一可行的編譯方式。在PC機(jī)上設(shè)置serial port,把功能實(shí)現(xiàn)代碼分配到整個手機(jī)軟件功能的plutommi、media和llaudio文件夾下,通過使用編譯命令對各個文件夾進(jìn)行編譯來生成可執(zhí)行程序并下載到手機(jī)的NOR Flash中,然后在CPU中運(yùn)行。
錄音部分的軟件進(jìn)行錄音、錄音暫停、繼續(xù)錄音、播放錄音5個事件處理時,軟件運(yùn)行過程中錄音軟件內(nèi)部的跟蹤程序通過UART口打印出來的錄音軟件動態(tài)運(yùn)行信息。當(dāng)特定的按鍵事件發(fā)生后,錄音界面模塊就會向其事件處理模塊發(fā)送相應(yīng)的消息,來完成事件的處理。當(dāng)事件開啟后驅(qū)動模塊便與其事件處理模塊進(jìn)行錄音文件中的數(shù)據(jù)交互。結(jié)合對錄音軟件人機(jī)界面的仿真測試結(jié)果,可以證明整個錄音軟件播放部分代碼的設(shè)計達(dá)到了預(yù)期目標(biāo)。
結(jié)語
隨著移動通信的不斷發(fā)展以及在相應(yīng)的嵌入式平臺上擴(kuò)展出來的新技術(shù)不斷涌現(xiàn),移動設(shè)備中的媒體播放功能就顯得尤為重要。本文系統(tǒng)地分析了AMR編解碼原理及相關(guān)的錄音流程,結(jié)合錄音和播放功能的測試數(shù)據(jù)以及對數(shù)據(jù)的分析結(jié)果,可明確看到整個錄音軟件運(yùn)行正確。軟件的運(yùn)行情況和軟件的整體設(shè)計相一致。
參考文獻(xiàn)
1. 唐寅 實(shí)時操作系統(tǒng)應(yīng)用開發(fā)指南 2002
2. 胥靜 嵌入式系統(tǒng)設(shè)計與開發(fā)實(shí)例詳解 2005
3. Liu C L.Layland J W Scheduling Algorithms for Multiprogramming in a Hard Realtime Environment 1973(1)
4. Labrosse Jean J.邵貝貝 嵌入式實(shí)時操作系統(tǒng)μC/OSII 2003
5. 師明珠 嵌入式應(yīng)用系統(tǒng)軟件設(shè)計技術(shù)研究 [期刊論文] -計算機(jī)工程與應(yīng)用2002(7)
6. 胥靜 嵌入式系統(tǒng)設(shè)計與開發(fā)實(shí)例詳解--基于ARM的應(yīng)用 2005
7. Mentor Graphics Corporation Nucleus PLUS Reference Manual 2006
8. 石代奎 多媒體移動終端開發(fā)平臺設(shè)計 [學(xué)位論文] 2005[!--empirenews.page--]