嗨,极客时间。
数字广播正在各个国家逐步引入。 在欧洲和澳大利亚,它是美国
高清广播 ,中国
CDR (中国数字广播)中的标准
DAB / DAB + 。 由于数字流,其他服务(例如,接收器屏幕上的歌曲名称和艺术家的名称)以及数字服务(与DA相比),给用户带来的好处是声音更清晰。 数字无线电接收机现在相对便宜,起价约为40美元。
俄罗斯尚未正式加入任何标准,但如果发生这种情况,很可能将是民建联。 它的测试操作已经在莫斯科进行了,俄罗斯联邦的欧洲市场接收者在地理位置上比美国更容易获得。 欧洲的新车(其数量再次超过美国的汽车)通常已经配备了DAB接收器。 同时,出于测试目的,任何人都可以使用SDR收发器在家中启动DAB。

(图片来源/盖蒂)
削减的细节(小心,很多冗长而乏味的配置)。
如何运作
不幸的是,不同的标准彼此不兼容。
欧洲
DAB是使用ODFM在174至239 MHz频率的信道中传输的MP2或AAC流。 尽可能
多的30个频道 (每个
频道约1.5 MHz宽)可以在一个频道中同时发送多个电台。 根据
Wikipedia的说法,在使用192kbps比特率时,使用DAB的电台数量是传统FM的3倍。
SDR屏幕上一个DAB通道的频谱如下所示:

为了进行比较,因此在相同规模下,FM电台看起来像:

在美国
高清广播电台中,他们走了一条不同的道路-数字频道“添加到了现有FM电台的侧面”。 这使我们不必分配新的频率,而与旧的接收机保持兼容。 不利的一面是,在大城市中,已经进行了FM广播。 另一方面,即使FM的最大50个电台数量也相当不错,听众很可能不需要它。
HD Radio的频谱如下所示(来自youtube的截图):

中文
CDR决定照搬
美国的做法 ,a,我对中文的零知识不足以找到关于它的更多详细信息。
至于接收器,其在亚马逊上的价格从最简单的型号的30美元到最高的带有触摸屏,Wifi或彩色屏幕的高级型号的100美元不等。

但是“楚科奇不是读者”,所以我们将自己发行DAB / DAB +格式的测试电台。 HD Radio无法正常运作,a,格式已关闭,并且没有适用的编码器。
运行DAB / DAB +
该过程实际上并不复杂,但是在创建必要的配置方面非常艰苦。 对于测试,我们需要具有传输能力的Linux和SDR,例如HackRF或USRP。
1.项目编制
需要Linux来编译编码器。 我使用了Ubunty,VirtualBox的最终映像是从
http://www.osboxes.org/ubuntu/下载的。
编译ODR-AudioEnc首先,您需要编译DAB / DAB +音频编码器,您可以在
github.com/Opendigitalradio/ODR-AudioEnc页面上找到它。
git clone https://github.com/Opendigitalradio/ODR-AudioEnc.git cd ODR-AudioEnc/ ./bootstrap ./configure --enable-alsa --enable-vlc make sudo make install
编译ODR-DabMuxODR-DabMux将数字流组合成一个多路复用器。 在
github.com/Opendigitalradio/ODR-DabMux了解更多
信息 。
git clone https://github.com/Opendigitalradio/ODR-DabMux.git cd ODR-DabMux/ ./bootstrap.sh ./configure make sudo make install
编译ODR-DabMod这是一个实际上将数据发送到发送器的调制器。 汇编原理是一样的,命令下载:
git clone https://github.com/Opendigitalradio/ODR-DabMod.git
如果在组装过程中没有足够的库,则必须使用apt-get安装它们。
现在,项目的所有部分都已组装好,
所有这些我们将尝试开始 。
2.配置
不幸的是,USRP不能在虚拟机上工作,并且将完整的Linux放在磁盘上太懒了。 因此,我没有考虑流式广播的模式-多路复用是从预先准备的mp3文件编译而成的,而生成的IQ文件是在Windows下启动的。 是的,一般来说,房屋不需要流媒体广播,也没有创建“海盗站”的任务。
此处更详细地描述了各种设置:
http :
//opendigitalradio.imtqy.com/mmbtools-doc/mmbtools.pdf 。
资料准备我们的Multiplex中将有2个频道,为此,我从youtube下载了2个mp3文件,并将它们分别命名为(可能会猜到的)sound01.mp3和sound02.mp3。
以48000的比特率将文件转换为WAV:
ffmpeg -i sound01.mp3 -ar 48000 sound01.wav
ffmpeg -i sound02.mp3 -ar 48000 sound02.wav
将它们转换为DAB格式:
odr-audioenc --dab -b 128 -i sound01.wav -o prog1.mp2
odr-audioenc --dab -b 128 -i sound02.wav -o prog2.mp2
输出应为2个文件prog1.mp2和prog2.mp2。
多重创造首先,您需要创建一个描述“无线电台”配置的文件。 让我提醒您,在一个DAB频道中可以有许多电台,每个电台都有自己的参数。
使用以下文本创建“ config.mux”文件:
general { dabmode 1 nbframes 2000 ; Set to true to enable logging to syslog syslog false ; Enable timestamp definition necessary for SFN ; This also enables time encoding using the MNSC. tist false } remotecontrol { telnetport 0 } ensemble { id 0x4fff ecc 0xec ; Extended Country Code local-time-offset auto international-table 1 label "mmbtools" shortlabel "mmbtools" } services { srv-p1 { label "Station1" } srv-p2 { label "Station2" } } subchannels { sub-p1 { type audio inputfile "prog1.mp2" bitrate 128 id 10 protection 4 } sub-p2 { type audio inputfile "prog2.mp2" bitrate 128 id 11 protection 4 } } components { comp-p1 { service srv-p1 subchannel sub-p1 } comp-p2 { service srv-p2 subchannel sub-p2 } } outputs { output1 "file://output.eti?type=raw" }
该配置描述了将在Multiplex中使用的通道及其数据源。 nbframes参数指定要创建多少帧; 2000帧对应于大约一分钟的回放。
保存文件后,创建一个Multiplex:
odr-dabmux config.mux
输出应为文件
output.eti ,在我的情况下,其大小为12MB。
调动有两种可能性。 在“真实” Linux中,odr-dabmod可以直接将数据传输到收发器,但在VM下无法正常工作。 因此,作为输出参数,我指定了一个原始文件,其中将包含与Gnu Radio兼容的数据。
创建config.ini文件:
[input] transport = file source = output.eti loop=0 [modulator] digital_gain=0.9 rate=2048000 [output] output = file [fileoutput] format = complexf_normalised ;format = s8 filename = output.iq
这里的关键是输出格式及其类型。 对于USRP,我使用complexf_normalized格式,对于HackRF,从理论上讲,8位s8是合适的。
保存配置,开始转换:
odr-dabmod config1.ini
仅此而已! 在我的情况下,输出应为config.iq,大约一分钟的记录大小为700MB(IQ浮动格式)。 我们将其复制到“主”计算机上,然后可以关闭Linux。
3.测试
如前所述,我没有DAB接收器,Chukchi不是阅读器,我根本
听不到广播:)为了进行测试,我使用了RTL-SDR“哨声”和免费程序
Welle.io 。
首先,连接接收器,运行Welle.io并找到一个免费频道。 就我而言,12B影响了他们:

我们记住频率,并创建最简单的图形以传输到Gnu Radio:

我们开始,等待几秒钟,然后...我们通过welle.io听到录制的音乐。

我们确保通道数量及其名称与配置中指定的数量相对应。
是的,整个“传输复合体”如下所示:

结论
烧锅的人不是神,而且不用离开桌面就可以在家中接触现代技术。
当然,天线没有调到所需的频率(我没有天线分析仪),USB3的最大功率可能不超过1W,即使这样,它也分配在1.5 MHz的频带上。 因此最大传输距离约为0.5m。
如果有人想以更大的功率重复实验,则在ebay上搜索“ RF Power Amplifier”一词会提供许多有用的链接(官方上,您需要广播许可,当然,您应确保不干扰其他服务)。