主要内容

Simulink中的FRS/GMRS接收机

这个例子展示了如何使用Simulink®和Communications Toolbox™实现一个对讲机接收器。本例所遵循的具体无线电标准是FRS/GMRS(家庭无线电服务/通用移动无线电服务)和CTCSS(连续音编码静噪系统)。可以从商业对讲机中使用模拟信号、捕获信号或接收信号RTL-SDR无线电通信工具箱支持包

本示例设计用于FRS/GMRS操作的美国标准。这些标准的技术规范可在下面的参考列表中找到。在其他国家进行的操作可能行得通,也可能行不通。

所需硬件和软件

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

为了实时接收信号,还需要以下硬件设备:

  • RTL-SDR广播

  • 步话机

和以下软件

有关通信工具箱支持的SDR平台的完整列表,请参阅的“SDR的MATLAB和Simulink硬件支持”一节软件定义无线电(SDR)

简介

有关FRS/GMRS技术和这些信号的解调的介绍,请参阅FRS / gmr步话机接收器的例子。

运行这个例子

若要使用模拟信号运行示例,请选择FRS / gmr信号发生器块作为源信号源选择器块。双击FRS / gmr信号发生器块来选择CTCSS代码源类型为“单音”、“啁啾”或“音频”之一。然后单击运行按钮。

要使用捕获的信号运行示例,请选择FRS / gmr捕获信号块作为源信号源选择器块。然后单击运行按钮。

要运行使用RTL-SDR无线电作为源的示例,请选择RTL-SDR接收机块作为源信号源选择器块。然后单击运行按钮。打开对讲机,将通道设置为14个通道(编号为1至14)中的一个,将专用码设置为38个专用码(编号为1至38)中的一个或0,在这种情况下不使用静音系统,并接受所有收到的消息。注意,38以上的私有代码是数字代码,在本例中没有实现。

双击通道数量阻塞并选择与对讲机相同的通道号。双击CTCSS代码块,并将CTCSS代码设置为您在对讲机中设置的专用代码。运行这个模型,看看你是否能听到自己的声音从电脑扬声器中传出来。如果没有,请尝试调整检测阈值块值向下轻微。您可以在不停止和重新启动模型的情况下更改通道和私有代码。

如果在声音中听到一些中断或延迟,请在加速模式下运行模型。从模型菜单中,选择仿真->加速器,然后单击运行按钮。如果在加速模式下仍然遇到退出或延迟,请尝试在快速加速模式下运行模型。

“信号频谱”显示接收信号在输入端的频谱频道选择器块。当你对着对讲机说话时,你可以观察频谱的变化。

接收机结构

下面的框图总结了接收器的结构。处理主要包括信号源、信道选择器、调频解调器和CTCSS处理四个部分。

信号源

这个例子可以使用三个信号源:

  1. “模拟信号”:以240e3个样品/秒的速率模拟FRS/GMRS信号

  2. “捕获信号”:无线信号写入文件,并使用基带文件读取器块以240e3个采样/秒的速度获取

  3. “RTL-SDR无线电”:RTL-SDR无线电,频率为240e3个采样/秒。用对讲机作为发射机。将频道号设置为对讲机的频道号。

频道选择器

接收器去除直流分量,并对接收信号应用可变增益,以获得一个近似已知的振幅信号,减少干扰。然后,接收机应用低通信道分离滤波器来减少来自相邻信道的信号。相邻通道之间的间隔是25千赫,这意味着基带带宽最多是12.5千赫。因此,我们选择截止频率为10 kHz。

接下来,信道选择器计算滤波信号的平均功率。如果它大于阈值(设置为默认值10%),通道选择器将确定接收到的信号来自正确的通道,并允许信号通过。对于带外信号,虽然信道分离滤波器减小了其幅值,但仍然是调频调制,调频解调后仍会出现调制信号。要完全拒绝这样的信号,通道选择器输出全部为0。

调频解调器

此示例使用调频解调器基带采样率和最大频率偏差分别设置为240 kHz和2.5 kHz。

CTCSS

首先,抽取滤波器将采样率从240 kHz转换为8 kHz。此速率是主机输出音频设备的本机采样速率之一。然后,CTCSS解码器使用Goertzel算法计算每个CTCSS音调频率下的功率,输出功率最大的代码。Goertzel算法提供了一种有效的方法来计算在预定频率上的频率分量,即FRS/GMRS使用的音码频率。

该模型将估计的接收代码与预选代码进行比较,如果两个代码匹配,则将信号发送到音频设备。当预选代码为零时,表示没有使用压制系统,并且决策块将通道上的信号传递给音频设备,无论使用哪种代码。

最后,一个截止频率为260赫兹的高通滤波器过滤掉CTCSS音调,其最大频率为250赫兹。使用一个音频设备的作家通过计算机的扬声器播放接收到的信号。如果您听不到任何声音,请使用“DeviceName”参数选择其他设备音频设备的作家块。

音频输出

在音频设备之前,使用一个截止频率为260hz的高通滤波器过滤掉CTCSS的音调(其最大频率为250hz),从而使他们听不到。

音频设备的作家块默认设置为输出到您的系统首选项中的当前音频设备。

探索的例子

CTCSS解码使用Goertzel算法计算传入信号的DTFT(离散时间傅里叶变换),并计算在音调频率处的功率。因为音调频率彼此非常接近(只有3-4 Hz的间隔),DTFT的块长度应该足够大,以提供足够的频率分析分辨率。然而,较长的块长度会导致解码延迟。例如,块长度为16384将导致2秒的延迟,因为CTCSS解码器在8 kHz采样率下工作。这在检测性能和处理延迟之间产生了权衡。最佳块长度可能取决于发射机和接收器的质量、发射机和接收器之间的距离以及其他因素。我们鼓励您通过导航到helperFRSReceiverConfig函数并更改CTCSSDecodeBlockLength字段的值来更改初始化函数中的块长度。这将使您能够观察到权衡,并为您的发射器/接收器对找到最优值。

FRS / gmr信号发生器作为源,您可以更改CTCSS语气振幅参数,并观察这是如何影响信号频谱。

附录

本例中使用的脚本如下:

参考文献

Baidu
map