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