微波EDA网,见证研发工程师的成长!
首页 > 应用设计 > 消费类电子 > DAB电子节目指南的解码设计及其实现方案

DAB电子节目指南的解码设计及其实现方案

时间:11-20 来源:电子工程专辑 点击:

作者:宋清 硕士研究生 重庆邮电大学微电子工程重点实验室

陆明莹 技术总监 西芯微电子公司

数字音频广播(DAB)是继调幅、调频之后的新一代广播,具有发射功率小、覆盖面积大、频谱利用率高和可移动接收等优点,同时它还是一种多媒体广播,可同时传递声音、图像、文字、数据及活动影像等业务。

目前在许多国家和地区已经有了DAB广播,特别是在欧洲和亚洲的一些国家和地区DAB覆盖率很高,且已经成功实现商业化。伴随DAB技术在中国的推广应用,市场对DAB接收机的需求也越来越迫切。

从技术原理和标准来说,DAB接收机通常包括三个模块:RF解调模块、基带解码(信道解码和音频解码)模块和控制模块。其中控制模块主要用于快速信息通道(FIC)解码的实现和人机界面的显示和控制。电子节目指南(EPG)[1]给用户提供音频和各种数据业务的节目说明信息,它在FIC中声明,通过主业务信道(MSC)传输,通常作为人机界面的一部分,给用户提供可选节目的信息,是DAB接收机的重要组成部分。本文主要针对英国BBC和Digital One广播的EPG数据,采用西芯微电子公司的ID200 DAB基带解码芯片和TI公司的MSP430等器件,提出对EPG信息的软件解码方案并实现。该项目的结果将被用于西芯微电子公司的DAB/DMB接收机评估板中。

EPG介绍

1. EPG传送内容


在DAB系统中,EPG用来传输音频和各种数据业务的节目说明信息,经接收终端解码后将这些说明信息显示给用户,以方便用户选择节目。这些说明信息主要包括信号群(一个固定频率上的所有电台称为一个信号群)说明信息、业务(各种节目的统称)说明信息以及节目时间表、节目说明信息等与业务和业务内容相关的说明信息。

2. EPG编码结构

在DAB广播站发送端,音频和各种数据业务的节目说明信息首先被处理成可扩展置标语言(XML)[2]格式的文件,在这一过程中,为了描述节目相关的说明信息采用了如图1所示的层次嵌套结构描述EPG信息中的音频和各种数据业务的节目说明信息之间的层次关系。

EPG中用元素[3]表示相关信息的统称,元素内部可包含多个其它元素和属性;属性[3]表达具体含义,比如节目的起始时间、结束时间等。该结构体现了不同层次元素之间的从属关系,以及属性与元素的所属关系。最外层为父元素,父元素的属性和其子元素属于同一层,类似的,子元素的属性和二级子元素属于同一层。各级元素有其独有的属性,属性值代表了具体的含义。

图1:EPG编码结构

在DAB接收端,EPG解码的目标就是将各级元素及其对应属性值以适合液晶屏幕显示和人们看懂的方式为表示出来。父元素是相对的,任何一级的元素的编码结构都相同,都是标签(tag),长度(len)和值(value)的组合,tag标识不同的元素和属性,len表明value的长度,value是属性的值,或者是下级元素和属性。这样在解码端可以方便地实现有选择的解码,对不感兴趣的元素可以直接跳过Len长度的数据,为高效解码提供了可能途径。

3. EPG的传输

EPG的编码流程如图2所示。将应用层的待传输文件即经过EPG编码的文件,经过多媒体对象传输(MOT)编码器产生完整的包括附加信息在内的MOT对象。把这些对象切割成适当大小的块,接着将这些块转化成适合DAB传送的数据包,通过包模式[4]或者在X-PAD[4]数据区来传送。

a. 传输层数据处理

经过EPG编码之后的码流采用MOT数据传输协议传输。为了便于灵活的处理大量的数据(如File),MOT编码器将对象(在正文前面加上头即成为对象)分割成多个块,如图2所示。

图2:MOT对象的块处理过程

从图2中可以看出原始文件首先被加上头,然后头信息和正文分别被独立地分割成许多的块,然后给每个块也分别分配一个头,用来标识块的大小以及在传输中的重复次数等重要信息。最后头信息块和正文信息块组成不同类型的MSC数据组,数据组的类型及其它相关的信息都在MSC数据组头中定义。

b. 网络层数据处理

DAB系统中,包含MOT数据的数据组可以通过包模式和X-PAD数据通道两种方式来传送。这里仅以包模式为例来说明数据处理。将包含MOT的数据组打包,给每个包分别加上包头和包尾信息,以数据包的形式在DAB信道中传输(如图3所示)。

图3:MSC数据组打包过程

EPG解码的软件实现

当有大量的EPG信息需要传送的时候,常以包模式传输,因此这里以包模式来讨论。

EPG的解码过程需要先从网络层开始,即先解包,然后处理传输层,即MOT解码,最后处理应用层,即EPG解码。但是由于整个过程最终要在便携设备上实现,不可能一层一层的解码,因此我们采取的方法是每收到一个包就一直处理到EPG解码完成,然后再处理下一个包。

解包的过程就是去掉包头包尾,从而恢复MSC数据组。包头中提供包的长度以及包在MSC数据组中的位置等重要信息。包尾用作CRC[3]校验,为了简化软件设计可以省去CRC校验过程,处理时直接跳过包尾即可。另外,处理CRC校验对处理器要求较严格,又由于DAB作为广播系统,它的EPG信息本身就被反复重传,所以没有必要浪费资源,可以省去CRC校验过程。后面的解码过程中还将多次遇到不同层次的CRC校验,都可以跳过不处理。

解MSC数据组过程同样也是去掉数据组的首尾,恢复出正文的块,将块按照数据组的类型分类并按顺序组合,即可恢复正文内容。再对正文进行EPG解码,则最终实现EPG解码。

另外值得注意的是,根据DAB的EPG协议,EPG解码有两个Profile可供选择,分别是Basic Profile和Advance Profile[3],需根据硬件资源进行选择。由于本设计针对便携设备,选择的处理器是较为低端的产品,所以选择Basic Profile,这样对硬件要求和处理速度要求都较低。

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top