主要内容

自动抄表

此示例显示如何通过处理由编码器 - 接收器 - 发射器(ERT)兼容仪表发出的标准消耗消息(SCM)信号和间隔数据消息(IDM)信号来使用Communication Toolbox™来读取实用电表。您可以使用文件中的录制数据,或者使用RTL-SDR或Adalm-Pluto无线电实时接收空中信号。

在Si金宝appmulink®中,您可以探索Simulink中的自动抄表读数金宝app例子。

必需的硬件和软件

要使用文件中的录制数据来运行此示例,您需要通信工具箱™。

要实时接收信号,您还需要其中一个SDR设备和相应的支持包加载项:金宝app

  • RTL-SDR无线电和RTL-SDR无线电的相应通信工具箱支持包金宝app

  • adalm-pluto收音机和adalm-pluto收音机的相应通信工具箱支持包金宝app

有关更多信息,请参阅软件定义的无线电(SDR)发现页面

背景

自动抄表(AMR)是一种自动收集公用事业仪表(例如电动,气体或水表)的消耗和状态数据的技术,并将数据传送到实用程序提供商以进行计费或分析。AMR系统利用低功率射频(RF)通信来将仪表读数传输到远程接收器。RF传输属性包括:

  • 传输频率范围内:910-920 MHz

  • 数据速率:32768 BPS

  • On-Off Keyed Manchester编码信号

SCM和IDM是仪表发送的两种类型的传统消息类型。SCM分组用于固定长度为96位,而IDM分组用于固定长度为736位。这些表显示了SCM和IDM消息的数据包格式:

能够发送SCM和IDM消息的仪表在相同的通道上传输它们,其分离大约275毫秒。每个仪表使用跳跃模式通过多个频率传输SCM和IDM消息。变速器之间的实际传输频率,跳频模式和传输之间的时间间隔是随机的,以避免来自其他传输的干扰。有关更多信息,请参阅参考[1]。

跑例

运行该示例时:

  • 接收器初始化仿真参数并计算AMR参数。

  • 数据查看器显示显示仪表ID,消费信息和商用类型。

  • 仿真循环调用信号源,物理层,消息解析器和数据查看器。

  • 处理循环使用帧持续时间跟踪无线电时间。

  • 每个数据捕获的显示更新,显示具有最新消耗信息的唯一仪表ID。

初始化参数

默认信号源是“文件”,使用录制的基带信号文件运行该示例amr_capture_01.bb.。使用RTL或Adalm-Pluto SDR运行该示例,更改设置submanceource.当你打电话的时候Helperamrinit.m文件。有效选项submanceource.是'文件','rtl-sdr'和'adalm-pluto'。

signersource ='文件';initparam = helperamrinit(signalce);%基于初始化参数计算AMR系统参数[amrparam,sigsrc] = helperamrconfig(initparam);%创建数据查看器对象查看器= Helperamrviewer('镀金',initparam.meterid,......'logdata',initparam.logdata,......'logfilename',initparam.logfilename,......'fc',amrparam.center罚款,......'singsourcetype',initparam.signalSourcetype);开始(查看者);ratiotime = 0;%初始化无线电时间%主要处理循环尽管RADIOTIME 结尾停止(观众);%停止观看者释放(SIGSRC);%释放信号源

接收器代码结构

流程图总结了接收器代码结构。处理有四个主要部分:信号源,物理层,消息解析器和数据查看器。

信号源

此示例可以使用三个信号源:

  1. ''文件'':通过空中信号写入文件并使用a读取基带文件阅读器对象在1.0 msps

  2. ''RTL-SDR'':RTL-SDR无线电以1.0 MSPS的采样率

  3. ''adalm-pluto'':Adalm-pluto收音机以1.0 msps的采样率

如果将“RTL-SDR”'或''adalm-pluto''作为信号源分配,则示例搜索您在无线电地址'0'或adalm的RTL-SDR无线电的计算机中的计算机。在无线电地址'USB:0'并将其用作信号源的Pluto收音机。

物理层

从信号源接收的基带采样由物理层(PHY)处理,以产生包含SCM或IDM信息的分组。该图显示了物理层接收处理。

RTL-SDR无线电能够在225-300 kHz或900-2560 kHz范围内使用采样率。Adalm-Pluto无线电能够使用520 kHz-61.44 MHz范围内的采样率。1.0 MSP的采样率用于每曼彻斯特编码数据位产生足够数量的样本。对于跳跃模式中的每个频率,发送每个AMR数据分组。跳频允许随着时间的推移提高可靠性。由于每个分组在每个频率上传输,因此仅监视该示例的一个频率就足够了。在整个仿真运行时,无线电被调谐到915 MHz的中心频率。

通过提取其幅度来解调接收的复杂样本。开关键控的曼彻斯特编码意味着位选择块包括时钟恢复。该块输出位序列(忽略传输中的空闲时间),其随后检查已知的前导码。如果前导码匹配,则进一步解码位序列,否则,将丢弃它,并处理下一个序列。

当找到已知的SCM前导码对于比特序列时,使用缩短(255,239)BCH码解码所接收的消息比特,该BCH码可以校正最多两位错误。在找到已知的IDM前导码的情况下,接收器执行仪表序列号的循环冗余校验(CRC)和以分组类型(第5字节)开始的整个分组,以确定数据包是否有效。有效的,已更正的消息传递到AMR消息解析器上。

消息解析器

对于有效的消息,然后将位解析为SCM的特定字段或IDM格式。

数据查看器

Data Viewer在单独的MATLAB图上显示解码的数据包。对于每个成功解码的数据包,仪表ID,商品类型,AMR数据包类型,消耗信息和捕获时间。随着数据被捕获和解码,应用程序列出了以表格形式从这些消息解码的信息。该表仅列出了具有其最新消耗信息的独特仪表ID。

您还可以使用Data Viewer更改仪表ID并启动文本文件日志记录。

  • 仪表ID.- 将仪表ID从0更改为0,这是默认值,保留用于显示所有检测到的仪表,以显示您要显示的特定仪表ID。

  • 将数据记录到文件- 将解码的消息保存在TXT文件中。您可以使用已保存的数据进行后处理。

进一步的探索

伴随示例的数据文件只有一米读数,并已在915 MHz的中心频率下捕获。使用RTL-SDR或ADALM-PLUTO,该示例将在住宅邻域中运行多米的读数中显示读数。

您可以使用AmrexampleApp用户界面进一步探索AMR信号。此应用程序允许您选择信号源并更改RTL-SDR或Adalm-Pluto的中心频率。此链接启动了Amrexampleapp.此处显示的应用程序。

您还可以探索以下功能,了解物理层的详细信息,AMR消息格式:

使用多个无线电的示例的版本是Amrmultilleradios.m.。这允许您通过可用的无线电设备设置不同的中心频率来检查仪表的频率跳模式。该脚本设置为两个无线电,但可以为任何数字扩展。

选定的书目