资讯详情

第6讲:用树莓派搭建FM广播,播放音乐和实时语音

搭建树莓派FM播放音乐和实时语音

树莓派开启FM广播电台、广播指定的音乐或实时语音

本教程仅用于科研和学习交流,广播功率很小。请遵守国家有关电信管理法规。

基本原理:从奥斯特、法拉第到麦克斯韦,从电容、电感到电磁波天线。

本文配套B站视频:子豪兄弟树莓派零基础教程

树莓派FM广播站

【子豪哥树莓派零基础教程】第五讲:用树莓派搭建FM广播电台播放音乐和实时语音

作者:张子豪(同济大学研究生)

请参阅本教程Github代码仓库

目录

  • 材料准备
  • 安装配置
  • 广播内置歌曲:吉他音乐
  • 广播歌曲:星球大战
  • 广播实时语音
  • 潜在应用领域
  • 声明
  • 调频广播和天线的基本原理
    • 高中物理课本相关内容
    • 电波发射和信号采样
    • 调频与调幅搭载信息
    • PWM:脉冲宽度调制
    • 树莓派的硬件基础:CPU、GPIO
    • DMA直接内存访问和扩频时钟
    • 调频得到传输信号
    • 树莓派天线长度
    • 估计传播距离
  • 扩展阅读和参考文献

材料准备

安装配置

以下八项命令依次运行在树莓派命令界面上

mkdir fm  cd fm  sudo git clone https://github.com/markondej/fm_transmitter  sudo apt-get install mpg123  sudo apt-get install gcc g   make  cd fm_transmitter  sudo make  sudo apt-get install sox 

请注意,以后的所有命令都需要在fm/fm_transmitter在目录下执行。可以通过。cd fm/fm_transmitter命令切换到此目录。

广播内置歌曲:吉他音乐

sox acoustic_guitar_duet.wav -r 22050 -c 1 -b 16 -t wav - | sudo ./fm_transmitter -f 100.6 - 

这个命令中的100也可以使用.6改为其他数字,可在新频道广播。不要与现有广播频率发生冲突。

你也可以自己做wav放置格式声音文件/fm/fm_transmitter文件夹中,替换命令中的star_wars.wav文件。

WAV它是最接近无损的音乐格式,所以文件也相对较大。

在树莓派GPIO的BCM在4号引脚上接跳线,可以提高广播效果。

本教程仅用于科学研究和学习交流,广播覆盖范围不超过10米。如果您想建立一个大功率广播,请遵守国家法律法规,并按照正式程序申请备案。(请参见文章末尾的声明)

广播歌曲:星球大战

sudo git reset --hard 71e7e23a0e  sox star_wars.wav -r 22050 -c 1 -b 16 -t wav - | sudo ./fm_transmitter -f 100.6 - 

ctrl c结束广播。

git reset命令是将目录返回到以前的指定版本。如果您想切换到最新版本,可以运行sudo git reset --hard 6111460命令。

广播实时语音

在树莓派的USB口插上USB声卡,在USB将麦克风插入声卡的麦克风孔中,运行以下命令,调频100.6MHz频道广播实时语音,您也可以在此命令中使用100.6改为其他数字,将在新频道广播:

arecord -D plughw:1,0 -c1 -d 0 -r 22050 -f S16_LE | sudo ./fm_transmitter -f 100.6 - 

ctrl c结束广播。

潜在应用领域

利用移动电源向覆盆子派供电,设置无密码自动登录和自动运行广播脚本,将整个系统安装在书包中,实现广播(旅游景点、重要场所演讲、窃听器、位置信标)。结合无线电源或太阳能,可实现半永久性听广播站。

应用领域:警用军用情报、边防与国家安全、智能安保安防、环境灾害、地质灾害预警

例如,大佬做讲座的报告厅人满为患,就可以做一个fm广播站,让堵在门外的人也能听到实时语音。

例如,如果有窃贼或非法入侵者触发了信号(如红外探头、微动开关等),就立刻开启fm广播电台。

例如,树莓派每次开机的时候都在指定频段广播自己的ip地址。

声明

本教程仅供科研与学习交流之用,广播覆盖范围不超过十米。如想搭建大功率电台请遵守国家法律法规按正规流程申请备案。

中华人民共和国无线电管理条例

摘录:

第五条 国家鼓励、支持对无线电频谱资源的科学技术研究和先进技术的推广应用,提高无线电频谱资源的利用效率。

第十四条 使用无线电频率应当取得许可,但下列频率除外:

(一)业余无线电台、公众对讲机、制式无线电台使用的频率;

调频广播和天线基本原理

参考资料:知乎:树莓派 FM 发射机小电台原理解析

高中物理课本相关内容

电波发射与信号采样

信号采样

调频与调幅搭载信息

PWM:脉冲宽度调制

PWM脉冲宽度调制(Pulse Width Modulation) 是使用离散的数字信号生成连续的模拟信号的方法。主要由 2 个参数来定义:。如果以保持一定的速率开关数字信号并且保持一定的占空比,那么输出看起来就像恒定电压模拟信号。

树莓派的硬件基础:CPU、GPIO

DMA直接内存访问与扩频时钟

DMA: 直接内存访问(Direct Memory Access)。不用跟CPU打招呼就可以直接访问内存。

绝大多数的的微处理器都有扩频时钟(Spread-spectrum clock),目的是为了降低电磁干扰(EMI),在树莓派 BCM28XX 系列芯片上,扩频时钟的范围为 1MHz 到 250MHz,这正好用作 FM 的载波信号。

为了减少CPU占用,作者对程序进行了改进,使用树莓派 DMA 产生基础时钟。

调频得到传输信号

基带信号 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7Xq2g5AD-1650426440085)(https://www.zhihu.com/equation?tex=x_%7Bm%7D%28t%29)] ,载波频率 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zis6g5sl-1650426440085)(https://www.zhihu.com/equation?tex=+f_%7Bc%7D)] ,正弦载波为 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-VVmKHYmI-1650426440086)(https://www.zhihu.com/equation?tex=x_%7Bc%7D%28t%29%3DA_%7Bc%7D+%5Ccos+%5Cleft%282+%5Cpi+f_%7Bc%7D+t%5Cright%29)] 将基带数据信号与载波结合起来得到了传输信号

其中 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PGPPfWow-1650426440086)(https://www.zhihu.com/equation?tex=f%28%5Ctau%29)] 为传输信号的瞬时频率, [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-l7gJFKLf-1650426440087)(https://www.zhihu.com/equation?tex=f_%7B%5CDelta%7D)] 为频偏表示相对载波频率 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PJTKZKCj-1650426440087)(https://www.zhihu.com/equation?tex=f_%7Bc%7D)] 的最大频率偏移。

调频输出的是模拟信号,利用时钟产生 PWM 调整占空比和频率,就可以利用数字信号生成模拟信号。

树莓派天线长度

  • : [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-1HDcVvJ1-1650426440087)(https://www.zhihu.com/equation?tex=%5Clambda%3Dc%2Ff)]
  • :制作偶极子天线时,会通过工作波长来确定天线的长度。最常见的偶极子天线是半波天线,它的总长度近似为工作波长的一半,即 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-IlPLXDSk-1650426440088)(https://www.zhihu.com/equation?tex=+L%3D%5Clambda+%2F+2)]

如果需要发射100MHz的FM信号,根据上面的公式来计算,就需要1.5m长的天线。

>>> 3*10**8 / (2 * 100 * 10**6)
1.5

所以理论上如果给树莓派 GPIO(PIN4) 加上了一根 的天线,那么就可以输出最大功率的 FM 信号。

传播距离估计

首先需要计算有效全向辐射功率(EIRP)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ghWmbLEf-1650426440088)(https://www.zhihu.com/equation?tex=EIRP+%3D+P±+Loss+%2BG)]

其中 P 为发射机的输出功率(dBm),Loss 为发射机输出端与天线馈源之间的馈线损耗(dB),G 为天线的发送增益(dBi)。求出 EIRP 后可以进而获得自由空间路径损失(Free Space Path Loss,FSPL)。

但是使用这个公式估算,意义不是太大。实际测量,如果使用一根 10cm 的杜邦线作为天线,一个楼梯拐角信号就已经非常弱了。

扩展阅读与参考文献

让树莓派说出自己的ip地址

Bilibili视频:【熟肉】教你用树莓派制作可以进行语音直播的FM调频无线电台

知乎:树莓派 FM 发射机小电台原理解析

国外参考文献:

  • [1] Eben Upton and Gareth Halfacree. Raspberry Pi user guide. John Wiley & Sons, 2014.
  • [2] Oliver Mattos and Oskar Weigl. Turning the Raspberry Pi Into an FM Transmitter. http://www.icrobotics.co.uk/wiki/index.php/Turning the Raspberry Pi Into an FM Transmitter, 2015.
  • [3] Christophe Jacquet. FM-RDS transmitter using the Raspberry Pi’s PWM . https://github.com/ChristopheJacquet/PiFmRds, 2014.
  • [4] Richardson. Turning the Raspberry Pi Into an FM Transmitter. http://www.icrobotics.co.uk/wiki/index.php/Turning_the_Raspberry_Pi_Into_an_FM_Transmitter, 2015.

标签: bcm电容

锐单商城拥有海量元器件数据手册IC替代型号,打造 电子元器件IC百科大全!

锐单商城 - 一站式电子元器件采购平台