主要内容

调频广播接收机

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

所需硬件和软件

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

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

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

出身背景

调频广播使用调频(FM)通过广播电台频道提供高保真度的声音传输。预加重和去加重滤波器用于降低噪声对高音频的影响。立体声编码允许在同一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广播解调器基带块使用产生的载波信号,将以38 kHz为中心的L-R信号下变频为基带。然后,L-R和L+R符号als通过75微秒的去加重滤波器。FM广播解调器基带块分离L和R信号,并将其转换为45.6 kHz音频信号。

示例代码

接收器请求用户输入并初始化变量。然后,它在一个循环中调用信号源和FM广播接收器。该循环还使用信号源报告的帧持续时间和丢失的样本跟踪无线电时间。

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

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

进一步的探索

为了进一步探索该示例,您可以改变RTL-SDR收音机或ADALM-PLUTO收音机的中心频率,并收听其他电台。

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

有关系统参数的详细信息,您可以浏览以下函数:

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

精选书目