有没有Linux无线电标准?

Omn*_*ous 16 linux embedded hal radio

我们即将着手实施一个运行Linux的设备(其中包括)将附加到软件定义的FM/AM无线电,该设备还可以接收描述播放列表和其他此类内容的RDS数据.这是一个相对愚蠢的设备,主要包含一个或两个DSP作为调谐器,否则对信号的处理非常少.

我正在考虑设备的内核驱动程序,然后是用户区硬件抽象层,它提供了标准化的接口,并抽象了RDS数据收到的确切时间的细节,并处理错误处理和所有其他杂乱的东西.是否已经有像这样的用户区层?要么完全避免使用它,要么使我们的东西与已经存在的东西插件兼容将是很好的,所以如果我们想要的话,我们可以使用其他项目用于无线电UI.

Tri*_*onX 12

linux中的无线电支持

听起来你正在创建一个新的硬件无线电设备?您可能需要为此设备构建驱动程序.一些帮助入门可以在这里,这里这里找到.如果您的设备不是新设备,则可能已在Video4Linux2项目中安装了驱动程序.

看起来目前有一些基于saa6588内核模块的RDS相关项目.

根据这个页面,这些卡目前有一个SAA6588芯片组:

  • Terratec Cinergy 600
  • KNC ONE电视台RDS
  • KNC One电视台DVR
  • 台风电视调谐卡RDS
  • Sundtek MediaTV Pro(由制造商支持)
  • Sundtek USB FM收音机(FM发射器/接收器,由制造商支持)

RDS的具体信息

我建议查看一些与Video4Linux2(v4l2)相关的项目,有一个RDS解码库.该库在用户空间中运行,因此可以在那里为您完成RDS解码工作:

根据V4L2规范,从无线电设备读取来自RDS解码器的原始数据.数据由每个块长3个字节的块组成.所有解码都必须在用户空间中完成.

RDS API

以下是Video4Linux2完整API参考.这是一篇熟悉它文章系列.

RDS API的特定部分在此处.此页面提供有关如何获取有关RDS数据是否可用的更新的信息:

可以通过查看struct v4l2_tuner的rxsubchans字段来检测是否存在RDS信号:如果检测到RDS数据,则将设置V4L2_TUNER_SUB_RDS.

Gnu Radio Companion中的SDR RDS解码器DSP

虽然它不是官方API,但我找到了一个可能值得研究的最后一个小项目:

以下是一些值得研究的无线电相关项目.