论文部分内容阅读
随着科技水平和人们生活质量的显著提高,传统的模拟调幅广播(AM)已经远远不能满足人们对声音质量的要求。以DRM (Digtal Radio Mondile)为代表的数字广播技术应运而生,这些广播不但音质比传统模拟广播更佳,而且能够实现多媒体数据的传输,例如图像、文本信息等。DRM系统采用OFDM调制、MLC多级编码和压缩比更高的AAC编码使得在现有10kHz带宽下能够取得更好的音质和更高的频谱利用率,且由于无需对现有电台设备进行大的改造因而大大节省了成本。实现DRM广播接收机可以用纯硬件设备直接接收和解调DRM信号,也可以用传统AM广播接收DRM信号再以软件无线电的方式进行解调,显然第二种方式成本更加低廉,国外几所高校已经发布了基于DRM标准的软件数字调幅广播收发机源码Dream——基于PC的C++源码。随着Android智能移动终端的普及,PC机上的应用向移动平台转移已是大势所趋。本文的目的就是将DRM数字调幅广播接收机移植到Android智能终端上去。为此,本文做了以下几个方面的工作:首先,分析了DRM系统的发射机和接收机流程原理并介绍了其中用到的关键性技术。例如为了提高信源压缩比,DRM系统采用了AAC音频编码技术;为了兼顾码率和误差性能,DRM系统采用了MLC信道编码技术;DRM系统采用了OFDM调制技术来提高鲁棒性,本文对其中关键的同步技术和信道估计原理进行了简单介绍。这些介绍对于全面理解DRM广播的工作原理大有裨益。其次,详细讨论了DRM系统中的MLC多级编码和译码实现。首先给出了多级编码的等价信道理论和信道容量规则,以及UP、BP、MP集分割规则,并确定出适应于DRM系统瑞利衰落信道的BP分割法则。最后针对DRM系统的MSC、FAC、SDC三个逻辑信道分别设计出了对应的RCPC分量码和MLC编码器的结构;最后,实现了Dream数字调幅广播接收机向Android平台的移植。为了尽量减少接收机内核C++代码的改动,利用Android NDK将C++源码交叉编译为本地库,这样JAVA JNI就可以直接调用接收机库函数;由于Dream广播是基于PC机,音频数据录制及播放时采用Windows系统的多媒体API,本文将音频录制代码用OPENSL ES库进行了重新实现;用户图形界面上利用Qt库设计了了Android机上广播接收机的UI界面。整个移植工作得到了12kHz中频上的端到端图片传输验证。