Nucleus系统的移动终端录音功能设计
扫描二维码
随时随地手机看文章
引 言
随着移动通信的不断发展,多媒体技术在手机中的应用也越来越广。手机的核心技术主要在硬件和软件两个方面。硬件是核心层,包括基带模块和射频模块两部分。软件分为底层软件和应用层软件两大部分。
1 手机平台体系结构研究
(1)硬件系统结构
硬件平台主要包括射频模块、基带模块、电源管理模块和外围设备。文中采用了数字基带、模拟基带和电源管理模块集于单芯片的基带解决方案,这种解决方案具有较高的集成度,不仅增强了系统的稳定性,降低了功耗,同时有效地降低了设计过程中的复杂度。
(2)软件系统结构
软件系统设计主要包括嵌入式实时操作系统Nucleus的移植、应用程序的编写以及交叉编译出相应的可执行文件。Nucleus系统提供TCP/IP网络、图像界面Grafix、文件系统File等模块。
整个手机软件主要由GSM协议栈、嵌入式Nucleus操作系统、设备驱动和人机界面组成。
2 自适应多速率语音编码算法分析
2.1 编码原理
AMR语音编码根据其实现的功能可分为LPC分析、基音搜索、代数码本搜索三部分。其中LPC分析完成的主要功能是获得10阶LPC滤波器的10个系数,并对转化成的线谱参数LSF进行量化;基音搜索用以获得基音延迟和基音增益这两个参数;代数码本搜索则是为了获得索引和代数码本增益及码本增益的量化。 AMR编码器的信号流程如图1所示。
在编码之前,使用高通滤波函数和幅度调整函数进行预处理。在定点运算时,将输入样本值除以2来减少溢出的可能性。高通滤波器的截止频率为80 Hz。如下所示:
通过Hh1(z)滤波后的信号再除以2的信号设为S(n),在12.2 kb/s模式下,利用不同的非均匀窗,每帧执行2次LP分析。第1个窗集中在第2个子帧,第2个窗的中心在第4个子帧,这2个窗口如下所示:
式中2次线性预测分析都是在同一组语音样本点上。利用修正的自相关系数r'ac,通过解下面的方程组获取离散形式的LP参数ak,k=1,…,10。
在解码过程中,每一帧都要进行LP滤波器参数解码。接收到的LSP系数索引用于重构LSP系数,然后将LSP系数内插得到4组内插LSP矢量(对应于4个子帧),对于每一个子帧,内插LSP矢量都要转化为LP滤波器系数ak,该系数用来在子帧中合成重构语音信号。
3 录音功能设计
3.1 软件设计
手机录音的主要功能是向用户提供使用界面、完成录音及录音文件的播放。从程序设计的角度看,它是通过对现有软件中的人机界面、操作系统API的调用和对音频设备的管理来实现的。整个录音事件处理函数的执行流程如图3所示。
录音功能的事件处理模块的主要功能是对人机界面的录音请求进行响应。为了实现该功能,录音事件函数需要完成的工作包括:运行控制变量的初始化,录音文件的创建,事件状态处理器的判断和状态维护,进行容错处理,调用底层处理函数进行录音物理设备的控制,以及和界面模块的通信。
3.2 软件调试
由于移动终端的系统资源有限而且没有相关的编译工具,因此嵌入式系统的开发需要借助宿主机(通用计算机)来编译出目标机的可执行代码,交叉编译是唯一可行的编译方式。在PC机上设置serial port,把功能实现代码分配到整个手机软件功能的plutommi、media和llaudio文件夹下,通过使用编译命令对各个文件夹进行编译来生成可执行程序并下载到手机的NOR Flash中,然后在CPU中运行。
录音部分的软件进行录音、录音暂停、继续录音、播放录音5个事件处理时,软件运行过程中录音软件内部的跟踪程序通过UART口打印出来的录音软件动态运行信息。当特定的按键事件发生后,录音界面模块就会向其事件处理模块发送相应的消息,来完成事件的处理。当事件开启后驱动模块便与其事件处理模块进行录音文件中的数据交互。结合对录音软件人机界面的仿真测试结果,可以证明整个录音软件播放部分代码的设计达到了预期目标。
结 语
随着移动通信的不断发展以及在相应的嵌入式平台上扩展出来的新技术不断涌现,移动设备中的媒体播放功能就显得尤为重要。本文系统地分析了AMR编解码原理及相关的录音流程,结合录音和播放功能的测试数据以及对数据的分析结果,可明确看到整个录音软件运行正确。软件的运行情况和软件的整体设计相一致。