基于Windows CE的嵌入式DRM接收机研究

2012-06-22 06:54沈向辉陈明
关键词:声卡解码接收机

沈向辉,陈明

(中国传媒大学广播电视数字化教育部工程研究中心,北京 100024)

基于Windows CE的嵌入式DRM接收机研究

沈向辉,陈明

(中国传媒大学广播电视数字化教育部工程研究中心,北京 100024)

介绍了嵌入式数字调幅广播(DRM)接收机的结构,DRM软件接收机的工作流程,给出了DRM接收机软件—“Dream”从Windows平台到Windows CE平台的移植方法,并总结了向嵌入式平台—Windows CE移植、调试软件的基本方法和感想。

数字调幅广播;嵌入式操作系统;Windows CE;Platform Builder;Embedded Visual C++;嵌入式DRM接收机

1 引言

DRM软件接收机不仅可以完成DRM解码的功能,还可以实时地对接收到的DRM信号以及传输通路的性能进行分析、显示,反映接收质量,在DRM广播外场测试、DRM广播质量控制、性能评测中有重要作用,是DRM硬件接收机所不能取代的。但由于要用到PC机,体积相对比较大,携带不便。近年来,嵌入式系统及技术的迅速发展,为DRM软件接收机的研究开辟了新的里程碑。通过把嵌入式技术引入DRM软件接收机系统,开发嵌入式DRM接收机,可实现接收机的小型化,使其移动能力大大增强。

2 DRM软件接收机

DRM软件接收机主要由接收前端和接收机软件即解码软件构成。

2.1 DRM接收前端

接收前端是一个射频接收模块,实现从射频信号到中频信号转换的处理任务,从空中接收调幅波段(中短波)的信号,进行数字下变频,将射频(RF)信号转为中频(IF)信号。

2.2 解码软件

DRM软件接收机的解码软件,主要完成对数字中频信号的时间同步、频率同步、采样时钟同步、IQ信号分离、OFDM解码、信道估计与均衡、QAM解调、MLC(多层编码)译码、业务信息解码和业务解码等主要功能。同时,该接收机软件还可以实时地对接收到的DRM信号以及传输通路的性能进行分析、显示。解码后的数字信号通过声卡进行D/A变换后,可由扬声器播出。接收机软件流程如下图所示:

图1 DRM软件接收机流程图

DRM软件接收机的各模块主要由以上几个函数组成。其中每个函数都包含初始化和数据处理两部分。程序在启动时先进行所有模块的初始化,初始化完成后即开始正式的数据处理。

数据一般是从声卡或者USB输入的,由声卡输出的。在程序中从声卡/USB获取数据必须保持连续性,所以声卡/USB采集数据是与接收机数据处理同步进行的。这里采取两个线程分别控制声卡/USB的数据采集和接收机的数据处理。程序启动即同时启动以上两个线程。其中声卡以48kHz的速率16bit量化接收数据,USB的数据率为48kHz,接收的数据保存在内部buffer中。在本设计中为方便调试移植后的软件,除可从声卡/USB获取数据外还可以从文件获取数据。

数据处理线程在每个循环从buffer中读取一块数据,提供给下一个模块;然后根据估计的采样率进行采样率调整;之后进行频率同步的捕获,该模块完成载波频率的粗估计,当频率捕获完成后,要设置时间同步捕获时要用到的低通滤波器的参数;之后进行时间同步的捕获,根据同步获得的数值确定FFT窗的位置,去掉保护间隔,在该模块也要完成鲁棒模式的判定;然后进行OFDM信号的解调,信号由时域变换到频域,在解调之前先要根据频率捕获和跟踪获得的频偏值进行频偏校正;下面利用导频信号进行同步,包括传输帧同步以及采样率和频偏的跟踪,传输帧的同步是利用每个传输帧中第一个OFDM符号中包含的时间导频进行计算,采样率和频偏的跟踪获得的值再反馈回采样率和频偏的校正模块;然后进行信道估计,先估计出增益导频所在位置的信道参数,再在时域进行维纳滤波插值运算,利用信道估计中时域内插后的估计值进行时间同步的跟踪,同时利用跟踪的值对FFT窗的位置进行校正,再进行频域内的维纳滤波,最终获得二维的信道估计值,根据信道估计值进行信道均衡,在该模块还要完成SNR的估计等。到此为止,完成了同步及信道估计。下面进行 OFDM单元的解映射,即把OFDM单元解映射为MSC、FAC、SDC三部分,后面分别做不同处理。对于FAC先进行MLC的解码,再使用FAC数据。对于SDC也是类似处理过程。MSC则先要进行符号解交织,再进行MLC解码,解复用,最后进行音频源解码。至此,整个接收流程结束。

3 嵌入式DRM接收机

嵌入式DRM接收机类似于普通的DRM软件接收机,也主要由接收前端和接收机软件构成。所不同的主要是嵌入式DRM接收机是一个嵌入式系统,其接收机软件基于嵌入式操作系统——Windows CE,而不是Windows.下面主要介绍一下嵌入式DRM接收机的接收机软件部分。

接收机软件主要任务是采集测量数据和运行参数。接收机软件采用基于Windows CE的嵌入式系统。下图为嵌入式DRM软件接收机原理图。

图2 基于Windows CE的嵌入式DRM软件接收机原理图

嵌入式操作系统选择使用Windows CE,是考虑到以下因素:

1.DRM解码程序移植工作量较小;

2.开发效率较高,开发工具(Embedded Visual C++,Platform Builder)功能强大;

3.对外部设备及接口有较好的支持;

4.使用标准Windows界面,具有良好的人机交互接口。

DRM解码部分程序按照DRM标准中的规定编写,能够实现OFDM解调、信道估计、解映射、音频解码等完整的DRM解码流程;同时在此过程中可以获取信噪比(SNR)、多径延时(Delay)、多普勒效应(Doppler)、有效帧数(Availability Frames)等数据,以及同步状态标志位(SYNC)、快速访问信道标志位(FAC)、主业务信道标志位(MSC)、总帧数(Frames)等运行参数。

由DRM解码部分获得的运行参数、测量数据在嵌入式DRM软件接收机内存储,并与数据传输接口相连。DRM解码后的声音数据可以通过嵌入式DRM软件接收机内置声卡进行声音回放,文本信息或其它数据可以通过LCD进行显示。

4 嵌入式DRM接收机软件的移植

由于Windows平台和Windows CE平台的相似性,只需要做如下修改就可以基本实现程序的移植。

具体方法如下:

(1)在Embedded Visual C++(EVC)下利用应用程序向导生成一个基于对话框的基本程序框架,工程取名为DrmWce.

(2)把DRM软件接收机—“Dream”文件夹下的文件内容拷贝到DrmWce文件夹下。

(3)向DrmWce工作区添加新的文件夹并加入相应文件。

(4)修改某些包含文件的路径。

(5)在Embedded Visual C++下CString类的字符都是unicode码,在将字符串赋值给CString对象前一定要加上 _T()或 TEXT()宏,这两个宏在预定义了_UNICODE情况下,将字符串每个字符转变成宽字符。也可以在字符串前面加“L”将每个字符转变成宽字符。

(6)Visual C++(VC)自带了复数模板,但Embedded Visual C++中没有,这部分需要移植一下。

(7)嵌入式DRM软件接收机界面如图3所示。消息处理函数的函数体部分直接从Visual C++下的相应函数移植过来即可。

图3 嵌入式DRM软件接收机界面

5 向嵌入式平台移植、调试软件的感想及建议

为实现产业化,现在很多软件都在逐渐地由PC平台向嵌入式平台移植。在此简单总结Windows平台向 Windows CE平台移植调试程序的基本方法。

首先,由于VC和EVC的相似性,先把VC下的代码全部复制到EVC下。然后,对程序主要做如下两点修改:

1.Windows CE中预定义了_UNICODE宏,所以CString类的字符都是unicode码,在将字符串赋值给CString对象前一定要加上“L”将字符串的每个字符转变成宽字符。

2.对于该程序用到的模板,VC下有但EVC下没有的,要自己从VC下移植过来,移植过程中对该软件程序用不到的包含文件,函数适当删减,以便节约资源。同时,对该程序用到的MFC或API函数,可以通过查MSDN或相关资料确定哪些是VC下有而EVC下没有或是有等价的不同名函数,对于EVC下没有的函数需按其功能自己编写或设法用EVC下有的函数代替。对于那些既不属于MFC也不属于API的函数,先移植过来,在调试中更正。

目前的大型软件都是模块化设计的,在理解其主要流程的基础上按模块进行对比调试。可从第一个模块开始,写一段调试程序,以便对比模块的输出数据。若该模块无误,即在VC下和EVC下的该模块输出数据相同,当然输出数据在精度上允许有一定的误差,则用同样的方法继续调试下一模块;若有误,建议以下两种调试方案:

1.进入该模块内部通过设置断点或是写一些简单调试程序以便输出中间变量来进行调试。

2.可先跳过有错的模块,调试下一模块。此时要固定下一模块的输入数据,可让VC下和EVC下的相应模块读入相同的文件数据。

6 结束语

嵌入式的DRM接收机,其使用和携带都比较方便,可在外场调试中得到广泛应用,还可在它的基础上发展多媒体增殖业务。嵌入式接收机将作为DRM—QoS系统(DRM服务质量保证体系)中数据采集主机的一部分投入实际使用。

[1]ETSI ES 201 980 V2.3.1(2008-02)[S].

[2]李栋.数字声音广播[M].北京:北京广播学院出版社,2001.

[3]李士勇.模糊控制·神经控制和智能控制论[M].哈尔滨:哈尔滨工业大学出版社,1998.

[4]周根林.嵌入式系统原理与应用[M].南京:南京大学出版社,2006.

[5]刘媛,周剑.DRM服务质量控制系统信号监测站研究与实现[J].北京广播学院学报(自然科学版),2005,12(04).

Research of Embedded DRM Receiver Based on Windows CE

SHEN Xiang-hui,CHEN Ming
(ECDAV,Communication University of China ,Beijing 100024,China)

The article introduces the structure of Embedded DRM receiver and the working thread of DRM soft receiver,giving the transplant method of DRM soft receiver-“Dream”from Windows platform to an embedded platform-Windows CE.Finally,includes the basic method and experience in transplanting and debugging programs on embedded platform.

DRM;embedded operating system;windows CE;platform builder;embedded visual C++;embedded DRM receiver

TN911.7

A

1673-4793(2012)01-0045-05

2010-04-02

沈向辉(1982-),女(汉族),天津人,中国传媒大学广播电视数字化教育部工程研究中心助理研究员.E-mail:shen_xiang_hui10@sina.com

(责任编辑

:王 谦)

猜你喜欢
声卡解码接收机
《解码万吨站》
GNSS接收机FLASHADC中比较器的设计
解码eUCP2.0
一种宽带低功耗四合一接收机设计
NAD C368解码/放大器一体机
Quad(国都)Vena解码/放大器一体机
一种面向ADS-B的RNSS/RDSS双模接收机设计
数字接收机故障维修与维护
提升笔记本电脑音质
聊天室背景放音乐 为啥我的本本就不行?