我希望在可听频率以上叠加一条小于 1kB 的短数字信息,但频率仍然足够低以便通过 FM 广播电台传输,然后检测并解码该信号。
我可以使用哪些软件工具将消息调制为音频,以及如何检测它。后者看起来很简单,是一个高通滤波器,但什么软件可以做到这一点?
补充:我想使用音频信号作为数字信号的载体,而不是无线电传输的 FM 载波信号。该信号应具有这样的性质,即它也应该能够通过音频电缆直接传输。
我只是以 FM 广播为例,信息必须得以传播。我不希望广播电台参与其中,而只希望载体音轨的制作者和信息的接收者参与其中。
答案1
由于您不想使用 RDS(尽管它是最合适的工具,但当然不会适应其他传输方式),你也许能够使用为 FM 传输建立的技术音频水印.有扩频水印(SSW),其鲁棒性非常强。
同时搜索“音频隐写术“ 和 ”实时音频隐写术“。有一篇可能有用的论文这里它涵盖了许多实时技术,尽管您必须四处搜索才能找到它的副本。
还有斯特吉德,这是一个开源 (GPL) 命令行工具。您可能能够调整那里的算法以在流中进行检测,尽管我不知道它使用的是什么算法,而且我怀疑它不会在旅途中存活下来。
从理论上讲,许多图像水印算法也可以适用于音频,尽管它们在音频形式中可能比在图像形式中更明显。
许多简单的算法都是针对数字数据进行操作的,并且假设没有或几乎没有损失;因此,如果你找到一个,你必须测试一下编码数据是否能经受住音频处理设备、发射器、空气和接收器的考验。像扩频水印这样的算法是经受住所有滥用考验的最佳选择。从谷歌搜索开始这和这,以及相关内容。
有一个图书馆这里(通过https://stackoverflow.com/a/21269707/616460) 也有可能值得一看。
这里有各种水印算法的源代码集合这里(可能包括 SSW)。可能适合图像。
有一篇专门讨论音频数据上 SSW 的论文,音频信号的扩频水印。
有一篇相关的 IEEE 论文,音频信号中的数据嵌入。
编辑:抱歉,我习惯与程序员交谈,我刚刚意识到您正在寻找工具来执行此操作。
有一个免费的SSW 音频水印工具来自 Microsoft。我不知道它能做什么,但可能值得一试。另请参阅此搜索。
不过,还是使用上面列出的一些论文和搜索词作为寻找工具的起点。我四处寻找基于硬件的解决方案,但粗略搜索后没有找到任何解决方案。也许有一些东西。
答案2
您可以使用基于软件的 RDS 广播编码器。
以下是 Windows 的一个示例:Airomate RDS 编码器。
Airomate 可以使用 192 kHz 采样率声卡为 FM 无线电发射器生成具有全功能 RDS/RBDS 的高质量立体声 MPX 信号。Airomate 为您的广播电台提供专业的外观和声音。
通过在同一台计算机上使用媒体播放器,音频信号将完全数字化编辑,因此 A/D 转换器不会产生任何质量损失。RDS/立体声信号将以数字方式计算,从而生成完美的 RDS/立体声信号并实现良好的立体声分离。(>50 dB)
答案3
您要尝试做的是在 FM 频段内对数据进行编码。这称为无线电数据系统(或广为人知的 RDS)。
您需要寻找一个 RDS 编码器 - 您可以获得硬件和软件编码器 - 软件编码器将需要额外的硬件(通过快速搜索)...
答案4
我希望在可听频率以上叠加一条短数字信息(小于 1kB),但频率仍足够低,可以通过 FM 广播电台传输。
我不是音频工程师,但是...
“高于可听频率”将 > 20,000Hz。任何常见的、用户可访问的、用于以物理、模拟、可听形式传输/接收音频的设备都将在 20,000Hz 甚至更低的频率下截止。当然,数字媒体和协议可以在更高的频率下工作,但它们都不直接连接到扬声器或音频输出,它们被收发到两端的“物理”或模拟 20-20KHz 音频以驱动扬声器等。因此,我认为您想要做的事情是不可能的,尽管我再次不确定。
当然,频率越高,即使可以听到,衰减的可能性就越大 - 如果您不知道实际的声音介质。最好的“覆盖所有情况”的频率范围可能是模拟 POTS 支持的频率范围,该范围仅为 300 到 3400Hz。国际短波的极限是 5000Hz。FM 广播的范围最高可达 15KHz。
如果你在此时接受失败/妥协,并希望通过人耳可听见的音频技术传输数据,那么你就有 DMTF,当然还有大量的调制解调器标准。我从未尝试过的可以解码 DMTF 和其他标准的 Linux 程序是多目.然后是这个项目它是一个用软件实现的 Linux 调制解调器,可以接收传入的流音频并解码各种调制解调器标准,显然也对其进行编码,但我认为自 2000 年以来它就没有更新过。