主要内容

在Simulink中的FRS/GMRS接收金宝app机

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

本例设计用于符合FRS/GMRS操作的美国标准。这些标准的技术规范可以在下面的参考列表中找到。在其他国家的运作不一定有效。

所需硬件和软件

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

要实时接收信号,还需要以下硬件:

  • RTL-SDR广播

  • 步话机

以及以下软件

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

简介

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

运行示例

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

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

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

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

如果您听到一些掉线或声音延迟,请在加速模式下运行模型。从模型菜单中,选择Simulation->Accelerator,然后单击运行按钮。如果在加速模式下仍然遇到掉线或延迟,请尝试在快速加速模式下运行模型。

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

接收机结构

下面的方框图总结了接收器的结构。该系统主要由信号源、信道选择器、调频解调器和CTCSS处理四部分组成。

信号源

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

  1. “模拟信号”:240e3个采样/秒的模拟FRS/GMRS信号

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

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

频道选择器

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

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

调频解调器

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

CTCSS

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

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

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

音频输出

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

音频设备写入器块在默认情况下设置为输出到系统首选项中的当前音频设备。

案例探究

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

FRS/GMRS信号发生器被选择为源,您可以更改CTCSS音调振幅参数,并观察这是如何影响信号频谱。

附录

本例中使用的脚本如下:

参考文献