FM介绍

就是FM啦。WBFM是指宽带FM,现在我们的收音机大多是用WBFM,例如103.9MHz北京交通台,87.6MHz音乐台等。

值得一提的是,对讲机使用的是NBFM(窄带调频)。

发射WAV文件

制备WAV文件

随便找一个mp3文件什么的,转换成WAV文件。在此建议转换成44.1kHz,双声道。

例如使用ffmpeg转换:

ffmpeg -i source.mp3 music.wav

转换后的结果:

$mediainfo jen_ai_marre.wav 
General
Complete name                            : jen_ai_marre.wav
Format                                   : Wave
File size                                : 47.0 MiB
Duration                                 : 4mn 39s
Overall bit rate mode                    : Constant
Overall bit rate                         : 1 411 Kbps

Audio
Format                                   : PCM
Format settings, Endianness              : Little
Format settings, Sign                    : Signed
Codec ID                                 : 1
Duration                                 : 4mn 39s
Bit rate mode                            : Constant
Bit rate                                 : 1 411.2 Kbps
Channel count                            : 2 channels
Sampling rate                            : 44.1 KHz
Bit depth                                : 16 bits
Stream size                              : 47.0 MiB (100%)

搭框图

打开gnuradio-companion

把以下框图搭起来。不想搭的可以下载我搭好的

Wav source

  • samp_rate采样率要设置为250kHz,这个与我们的wav文件采样率为44.1kHz有关。实际试验,如果samp_rate设置为500kHz,放出来的声音会加速一倍。
  • N Channels表示Wav文件的声道数,填2
  • File里填写你在上一步制备的Wav文件地址

Stream Mux

把两条数据流合并为一条流,例如N0是来自第一条流的采样点,N1来自第二条流采样点,则Stream Mux会将两条流以如下方式输出:

[N0, N1, N0, N1, N0, N1, ...]

值得注意的是此处的Type需要填为Float,GNURadio里的数据类型是以颜色表示的。

osmocom_sink

在GNURadio里,Sink表示信号输出,Source表示信号输入。

  • Device Arguments可以填上hackrf=0
  • sample rate设置为samp_rate*4
  • Ch0 Freq Corr (ppm)
    • HackRF的频率较正值,在没有经过仪表校正时,可以直接先填0,有条件的同学可以使用频谱仪或信号源进行标定,或者给我留言,我这里可以帮你标定。
  • Ch0 Frequency
    • 要发射的频率,此处我填了93e6,表示93MHz
  • Ch0 RF Gain(dB)
    • 表示HackRF放大器是否开启
    • 尽管此处Gain可任意输入,但事实上只有两档,0和14dB,并不是连续可调的,在此我们填14
  • Ch0 IF Gain(dB)
    • 表示HackRF的中频增益
    • 从电路上来看,应试指的是进入MAX2837收发器后给的增益
    • 在此我们填40
  • Ch0 BB Gain(dB)
    • 表示HackRF的基带增益
    • 可能指是的进入ADC/DAC芯片后给的增益
    • 在此我们填20
  • Ch0 BandWidth,填250e3

进一步:通过话筒进行直播发射

只需要把Wav File Source改为Audio Source即可,注意按照图中标注修改采样率。

不想搭的可以下载我搭好的

我制备好的WAV文件百度云盘