主要内容

调频广播接收器

这个例子展示了如何使用MATLAB®和Communications Toolbox™构建FM单声道或立体声接收机。您既可以使用捕获的信号,也可以使用RTL-SDR Radio或ADALM-PLUTO Radio实时接收信号。

所需硬件和软件

要使用捕获的信号运行此示例,需要以下软件:

为了实时接收信号,您还需要以下硬件之一:

要获得通信工具箱支持的SDR平台的完整列表,请参阅“用于SDR的MATLAB和Sim万博1manbetxulink硬件支持”一节万博1manbetx软件定义无线电(SDR)

背景

调频广播使用频率调制(FM)提供高保真的声音传输通过广播电台频道。采用预强调滤波器和去强调滤波器来降低噪声对高频的影响。立体声编码可在同一调频频道上同时传送左右声道[1].

运行示例

类型FMReceiverExample在MATLAB命令窗口或单击“打开示例”按钮,打开并运行示例。您需要输入以下信息:

  1. 接收持续时间(秒)

  2. 信号源(采集数据,RTL-SDR无线电或ADALM-PLUTO无线电)

  3. 调频频道频率

这个示例通过计算机的扬声器播放接收到的音频。

注意:这个示例使用的中心频率超出了默认的PlutoSDR调优范围。点击configurePlutoRadio(“AD9364”)使用您的ADALM-PLUTO无线电在合格的调谐范围之外。

接收机结构

FM广播解调器基带系统对象™将228 kHz的输入采样率转换为45.6 kHz,这是主机音频设备的采样率。根据美国FM广播标准,低通滤波时间常数设为75微秒。这个例子处理接收到的单声道信号。该解调器还可以处理立体声信号。

为了执行立体声解码,FM广播解调器基带对象使用一个峰值滤波器,从中挑选出19 kHz的导频音,38 kHz的载波被创建。使用产生的载波信号,FM广播解调器基带块向下转换L-R信号,中心在38 kHz,基带。然后,L-R和L+R信号通过一个75微秒的去强调滤波器。FM广播解调器基带块分离L和R信号,并将它们转换为45.6 kHz音频信号。

示例代码

接收方请求用户输入并初始化变量。然后循环调用信号源和调频广播接收机。该循环还使用信号源报告的帧持续时间和丢失的样本来跟踪无线电时间。

信号源的延迟输出是实际接收到样本的时间的指示,可以用来确定接收器运行的实时程度。时延值为1,丢失采样值为0,表示系统正在实时运行。当时延大于1时,表示接收端无法实时处理采样。延迟是根据帧的数量来报告的。可以是1到128。如果延迟大于128,则样本丢失。

%从命令行请求用户输入应用程序参数userInput = helperFMUserInput;%根据用户输入,计算FM系统参数[fmRxParams, sigSrc] = helperFMConfig (userInput);%创建FM广播接收器对象,并根据用户输入进行配置fmBroadcastDemod = comm.FMBroadcastDemodulator (...“SampleRate”, fmRxParams。FrontEndSampleRate,...“FrequencyDeviation”, fmRxParams。FrequencyDeviation,...“FilterTimeConstant”, fmRxParams。FilterTimeConstant,...“AudioSampleRate”, fmRxParams。AudioSampleRate,...“立体”、假);%创建音频播放器球员= audioDeviceWriter (“SampleRate”, fmRxParams.AudioSampleRate);初始化无线电时间radioTime = 0;%主循环radioTime < userInput。持续时间接收基带采样(信号源)如果fmRxParams.isSourceRadio如果fmRxParams。isSourcePlutoSDR rcv = sigSrc();失去了= 0;晚= 1;其他的(rcv ~,丢失,晚]= sigSrc ();结束其他的rcv = sigSrc ();失去了= 0;晚= 1;结束调频广播信号解调,播放解码后的音频audioSig = fmBroadcastDemod (rcv);球员(audioSig);%更新电台时间。如果有丢失的样本,也把它们加起来。radioTime = radioTime + fmRxParams。FrontEndFrameTime +...双(失去)/ fmRxParams.FrontEndSampleRate;结束%释放音频和信号源发行版(sigSrc)发布(fmBroadcastDemod)发布(球员)

进一步的探索

要进一步研究这个示例,可以改变RTL-SDR无线电或ADALM-PLUTO无线电的中心频率,并收听其他电台。

您可以将FM解调器对象的Stereo属性设置为true,以立体声方式处理信号并比较声音质量。

关于系统参数的详细信息,您可以探索以下功能:

您可以使用FMReceiverExampleApp用户界面进一步探索FM信号。这个应用程序允许您选择信号源和改变中心频率的RTL-SDR无线电或ADALM-PLUTO无线电。要启动应用程序,输入FMReceiverExampleApp在MATLAB命令窗口中。用户界面如下图所示

选定的参考书目