主要内容

RDS / rbd和RadioText + (RT +)调频接收机

这个例子展示了如何提取程序或从使用RDS调频广播电台歌曲信息或rbd标准,可选地,RadioText + (RT +)标准。您可以使用一个捕获信号,或接收无线信号实时使用RTL-SDR广播,ADALM-PLUTO广播,或USRP B200 / B210收音机。

所需的硬件和软件

要使用记录数据从文件中运行这个例子,您需要通信工具箱™。

实时接收信号,你也需要一个特别提款权设备和相应的软件插件:

  • RTL-SDR RTL-SDR广播电台广播和通信工具箱支持包附加组件金宝app

  • ADALM-PLUTO广播和通信工具箱支持包为模拟设备®ADALM-PLUTO广播附加组件金宝app

  • USRP USRP广播电台广播和通信工具箱支持包附加组件金宝app

有关更多信息,请参见软件定义无线电(SDR)发现页面

背景

rbd和RDS非常相似标准指定如何补充调频广播信号和附加信息。rbd用于北美,RDS最初是用于欧洲和发展成为一个国际标准。rbd和RDS包括三层:

  • 物理图层(图层1)

  • 链路层(第二层)

  • 会话和表示层(第三层)

物理图层(图层1)

RBDSPhyDecoder助手收到捕获的信号从一个文件或现场信号的广播和执行这些步骤:

  • FM解调:一次调频信号解调,RDS / rbd信号驻留在57 kHz + / - 2.4 kHz乐队。请注意,RDS / rbd信号传播相对较低的权力,因此它并不总是可见的FM光谱图如图所示。

调频信号包含一个导频音在19岁kHz,可以用作一个相位和频率参考RDS / rbd信号的相干解调57 kHz和立体声音频38 kHz。飞行员音调在38 kHz和57 kHz可以生成的两倍和三倍频19千赫导频音[2]

处理步骤的相干解调RDS / rbd信号有:

  • 带通滤波:PHY接收器进行带通滤波在19 kHz和57 kHz,孤立飞行员语气和RDS / rbd信号,分别。

  • 三倍频19 kHz的:提高复杂表示导频音第三力量两倍频率和获得57千赫导频音。

  • 是解调:RDS和rbd符号生成速度1187.5赫兹,AM-modulated 57千赫载体。57 kHz RDS / rbd信号可以连贯地解调与57 kHz载波频率和相位锁定的。通常情况下,相干解调的frequency-tripled 19千赫导频音就足够了。下一个数据显示,19 kHz和57 kHz飞行员音调,57千赫RDS / rbd信号,AM-demodulated基带RDS / rbd的信号。

同时,存在几个调频电台的57 kHz RDS / rbd信号展览19 kHz的时变相抵消导频音及其frequency-tripled版本。PHY接收器包含一个科斯塔斯环来弥补这种时变相抵消。

  • 科斯塔斯环:科斯塔斯环执行2正交解调,解调57千赫正弦和另一个57千赫余弦。接收信号的采样率是精心挑选的228 kHz,每57 kHz周期提供4个样品。因此,57千赫导频音结果的一个示例延迟四分之一波长相抵消,并允许我们产生一个正弦波的余弦波。sine-demodulated信号对应于相干解调输出。cosine-demodulated信号用于检测相位误差。57千赫下载188bet金宝搏RDS的产品/ rbd信号与正弦/余弦波低通与指定的过滤器过滤的1.7秒。[1]。两个滤波器输出的产品是一个错误的信号。更大的是,19 kHz导频音被延迟的行为更像cosine-based解调器。

  • 时钟提取:执行双相符号解码,时钟匹配RDS / rbd符号率的提取1187.5赫兹19千赫导频音。注意,1187.5赫兹x 16 = 19千赫。占频率偏移,频分用于提取的时钟19千赫导频音。自从分频操作提供了多个正确答案,基带RDS / rbd信号作为训练数据,帮助确定所需的输出。

  • 双相符号译码器:RDS和rbd使用bi-phase-level (bi - ϕ - l)编码,这是通常被称为曼彻斯特编码。在每个时钟周期,RDS / rbd需要两个相反的振幅值,象征积极后跟一个消极或负面其次是积极的。双相符号译码器否定第二振幅水平,这样每个符号都有同样的振幅水平在整个时钟周期。新clock-wide振幅水平对应符号的表示。这些情节对应的波形如图2 # 1 - 6[1]

获得每个符号的一些价值,在每个时钟周期波形集成,结果比较为零(切片机)。

  • 微分解码:最后,比特不同解码恢复微分编码发射机。

链路层(第二层)

第二层是使用来实现的RBDSDataLinkDecoder帮手。这一层负责同步和纠错。

的一些输出PHY层是逻辑上组织在104位组由四个26-bit块。每个块包含一个16位的信息词和10个奇偶校验位(见图8[1])。独特的10位抵消词模2添加到每个块的奇偶校验位。

  • 同步:最初,和组块边界是寻求详尽使用滑动窗口的104位。对于每一个104位的窗口,4抵消词是寻求在最后10位的每个26-bit块。一个偏移量的单词是确定如果没有检测到的错误RBDSErrorDetection帮手。一旦确认了抵消的话,组级别达到同步和详尽的滑动窗口处理停止。随后,接下来的104位将被视为下一组。

如果未来组包含一些错误和抵消的话不能确定在他们的预期位置,同步可能会丢失。在这种情况下,第二层第一检查1比特同步的可能性,利用这一事实第一个信息字(16位)总是相同的所有组。如果第一个单词是发现脱臼的信息1位(左或向右),同步留存,并相应地调整组织边界。如果有些错误持续25组招待会,同时同步无法恢复使用这样的左/向右出的变化,然后同步丢失层2输入详尽,sliding-window-based搜索同步。

  • 误差修正:RDS / rbd纠错代码是(26岁,16)循环码缩短从(341、331)。的RBDSErrorCorrection辅助使用附件中描述的移位寄存器方案B[1]

会话和表示层(第三层)

层2删除平价/抵消部分,因此第三层接收组64位,由四个16位块。存在多达32个不同的组织类型,每一个标记的数字从0到15,字母“a”或“B”,例如,0 B, 2、3。每组的格式可以是固定的也可以是抽象的,如果这个组织是一个开放的数据分配应用程序(ODA,见列表[3])。

第三层是使用来实现的RBDSSessionDecoder帮手。这个对象支持解码的0,0金宝app b, 2 a、2 b, 3、4、10演示组类型。

  • 0 a和b传达一个8-character字符串,通常滚动文本方式的变化。

  • 2 a和2 b表达时间64 -或个32个字符的字符串。

  • 寄存器3 oda并指定专用abstract-format组类型。

  • 4传达了系统时间。

  • 10进一步分类程序类型,如“足球”“体育”项目类型。

oda的RDS / rbd接收器支持解码RadioText + 金宝app(RT +)。这个特战分队可以分解长32位或者64个字符的字符串从群体类型2或2 b为两个特定内容类型(例如,艺术家和歌曲)。

注册ODA实现:RadioText + (RT +)

RDS / rbd接收机是可扩展的。可以指定使用ODA实现registerODA的函数RBDSSessionDecoder帮手。这个函数接受的十六进制ID可以在官方发展援助(ODA ID[3]),处理过程主要官方发展援助组织类型的函数,以及ODA-specific 3一组类型的一部分。例如,会话解码器RBDSSessionDecoder对象可以延长RadioText + (RT +)使用这段代码:

rtID =“4 bd7”;%十六进制的ID RadioText + (RT +)registerODA (sessionDecoder rtID、@RadioTextPlusMainGroup @RadioTextPlus3A);

运行示例代码

使用helperRBDSInithelper函数RDS / rbd系统参数的设定。注释代码行显示交替设置来运行示例从获取的数据或不同的特别提款权。使用helperRBDSConfighelper函数配置RDS / rbd系统。

userInput = helperRBDSInit ();userInput。时间= 10.8;% userInput。SignalSource = '文件';% userInput。SignalFilename =“rbds_capture.bb”;% userInput。SignalSource =“RTL-SDR”;% userInput。CenterFrequency = 98.5 e6;% userInput。SignalSource =“ADALM-PLUTO”;% userInput。CenterFrequency = 98.5 e6;% userInput。SignalSource =“USRP”;% userInput。CenterFrequency = 98.5 e6;[rbdsParam, sigSrc] = helperRBDSConfig (userInput);

创建和配置一个调频广播接收机系统对象™RDS / rbd参数。

fmBroadcastDemod = comm.FMBroadcastDemodulator (“SampleRate”228年e3,“FrequencyDeviation”rbdsParam.FrequencyDeviation,“FilterTimeConstant”rbdsParam.FilterTimeConstant,“AudioSampleRate”rbdsParam.AudioSampleRate,“立体”,真正的);%创建音频播放器球员= audioDeviceWriter (“SampleRate”,rbdsParam.AudioSampleRate);% 2层对象datalinkDecoder = RBDSDataLinkDecoder ();%第三层对象sessionDecoder = RBDSSessionDecoder ();%寄存器处理实现RadioText + (RT +)官方发展援助:rtID =“4 bd7”;registerODA (sessionDecoder、rtID @RadioTextPlusMainGroup @RadioTextPlus3A);%创建数据查看器对象观众= helperRBDSViewer ();%开始观众和初始化广播时间开始(观众)radioTime = 0;%主循环radioTime < rbdsParam.Duration%接收基带样本(信号源)rcv = sigSrc ();%解调调频广播信号和音频解码audioSig = fmBroadcastDemod (rcv);球员(audioSig);%过程物理层(第一层)bitsPHY = RBDSPhyDecoder (rcv rbdsParam);%流程的链路层(第二层)(启用、iw1 iw2、iw3 iw4] = datalinkDecoder (bitsPHY);%会话过程和表示层(第三层)outStruct = sessionDecoder(启用,iw1、iw2 iw3, iw4);%查看结果包内容(数据查看器)更新(观众、outStruct);%更新广播时间radioTime = radioTime + rbdsParam.FrameDuration;结束%阻止观众和释放信号源和音频的作家停止(观众);

{“字符串”:“图RDS / rbd和RadioText + (RT +)查看器包含一个类型的对象uicontainer。”,“它”:[],“乳胶”:[]}

释放(sigSrc);释放(球员);

查看结果

这个窗口显示了RDS / rbd数据处理。

  • 基本的RDS / rbd的信息:

  • 第一个字段包含程序类型,由第二个信息传达的所有组类型。如果收到10个一组类型,第一个字段还提供了进一步的表征,如体育\足球

  • 第二个字段包含8-character文本传达由0 0 a / b组。显示的文本包装如果字符串传输超过8个字符。

  • 第三个字段包含长32/64-character文本传达2 / 2 b组类型。

  • RadioText + (RT +):这一部分如果任何3组表明,填充RadioText + (RT +) ODA使用abstract-format组类型,如11。在接待这群抽象类型,32/64-character文本传达2组/ 2 b将分成两个子字符串。这两个标签将被更新的子字符串(例如艺术家和歌曲)。

  • 组类型招待会:提供一个直方图显示哪一组类型的表已收到从站和频率。因此,用户可能想看看记录的数据进行进一步的信息不是图形查看器中描述(具体地说,系统时间在4 a,交替频率在0等)。

  • 开放数据应用(ODA):如果收到任何3一组类型,这个ODA列表显示每个ODA的名称和专用组类型。

进一步的探索

你可以进一步探索RDS / rbd信号使用RBDSExampleApp应用程序。RBDSExampleApp应用程序允许您:

  • 选择信号的来源(捕获文件或RTL-SDR ADALM-PLUTO或USRP)。

  • 指定车站频率(RTL-SDR, ADALM-PLUTO或USRP)。

  • 运行RDS的层1和2 / rbd接收机虽然生成的C代码。这些是最耗时的部分RDS / rbd链和生成代码可以帮助您实现实时处理。

  • 禁用音频播放。

  • 开放的范围,如频谱分析仪和时间范围,接收到的信号进行分析,说明了解码过程。使范围需要额外的计算工作和可能会阻止实时解码。在这种情况下,RDS / rbd解码只能从文件加载成功捕获信号。

  • 通过选择从另一组日志rbd字段类型日志数据文件

你可以探索rbd的实现、初始化和配置这些函数和系统对象:

引用

1。美国国家无线电系统委员会rbd的标准,1998年4月

2。Der,劳伦斯。“调频(FM)教程”。硅实验室公司。

3所示。国家无线电系统委员会,RDS的ODA的应用程序列表

4所示。RadioText + (RT +)规范

5。约瑟夫·p·Hoffbeck”教学通信系统仿真软件®和USRP”, ASEE年会,圣安东尼奥,TX, 2012年6金宝app月

另请参阅

对象

相关的话题

外部网站