自动抄表

此示例示出了如何使用通信工具箱™通过处理标准消费消息(SCM)信号和区间数据消息(IDM),它们由编码器 - 收发器(ERT)兼容米发射的信号来读取公用事业计量表。您可以使用记录的数据从一个文件,或使用RTL-SDR无线电或ADALM - 冥王星无线电接收过空中信号的实时性。

您还可以了解该实例的版本的Simulink万博1manbetx在这里

需要的硬件和软件

要使用文件中的记录数据运行此示例,您需要以下软件:

为了实时接收信号,还需要以下SDR设备之一和相应的支持包的Add-On:万博1manbetx

通信工具箱的完整列表,支持的SDR平台,指的支持的硬件部分万博1manbetx软件定义无线电(SDR)发现页面

背景

自动抄表(AMR)是一项自动从公用事业表(例如电表、煤气表或水表)收集消费及状态数据,并将数据传送给公用事业供应商以作收费或分析之用的技术。AMR系统利用低功率无线电频率(RF)通信传输仪表读数到一个远程接收器。射频传输特性包括

  • 范围内的传输频率:910-920兆赫

  • 数据速率:32768个BPS

  • 开关键曼彻斯特编码信号

单片机与IDM两种传统的消息类型的仪表发送出去。所述SCM分组具有96个比特的固定长度使用,而IDM分组与的736位的固定长度使用。所述SCM和IDM消息的分组格式示于下面[1]:

能够发送两个SCM和IDM消息米传送它们与大致275毫秒的分离相同的信道。每个仪表发送并且使用跳频图案的多个频率的SCM和IDM消息。实际的发送频率,跳频图案,和传输之间的时间间隔是随机的,以避免来自其它传输的干扰。

运行实施例

要运行例如,键入AMRExample在MATLAB®命令窗口中。

信号源默认为“文件”。指定一个不同的信号源,更改用于设置signalSource在里面helperAMRInit.m文件。为有效选项signalSource在 '文件', 'RTL-SDR',和 'PlutoSDR'。

当你运行该示例:

接收器初始化模拟参数及计算该AMR参数。数据查看器显示的显示仪表ID,消耗信息和商品类型。仿真回路调用信号源,物理层,消息解析器和数据查看器。处理环路跟踪使用帧持续时间的无线电时间。*显示更新每个数据采集,展示了最新的消费信息,独特的仪表标识。

对于signalSource初始化参数有效的输入为“文件”,“RTL-SDR”和“ADALM-PLUTO”

signalSource ='文件';initParam = helperAMRInit(signalSource);基于所述初始化参数计算%AMR系统参数[amrParam,sigSrc] = helperAMRConfig(initParam);%创建数据查看器对象观察者= helperAMRViewer('MeterID'initParam.MeterID,...'LogData',initParam.LogData,...'LOGFILENAME',initParam.LogFilename,...来自Fc“,amrParam.CenterFrequency,...'SignalSourceType', initParam.SignalSourceType);开始(观众);radioTime = 0;%初始化无线电时间%主处理循环radioTime < initParam。sigSrc();amrBits = helperAMRRxPHY(rcvdSignal, amrParam);amrMessages = helperamrrmessageparser (amrBits, amrParam);更新(观众、amrMessages);无线电时间=无线电时间+ amrparam.frame eduration;结束停止(观看者);%停止观众释放(sigSrc);%的释放信号源

接收方代码结构

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

信号源

本实施例中可以使用三个信号源:

  1. “文件”:无线信号写入文件和读取使用基带文件读取器对象在1.0 Msps的

  2. '' RTL-SDR '':在1.0 Msps的采样率RTL-SDR无线电

  3. “ADALM-PLUTO”:ADALM-PLUTO无线电采样率为1.0 Msps

如果分配“” RTL-SDR“”或“” ADALM-PLUTO“”作为信号源时,例如搜索您的计算机中指定的广播,或者在无线电地址“0”的RTL-SDR无线电或ADALM-PLUTO无线电在无线电地址“USB:0”,并使用它作为信号源。

物理层

从信号源接收的基带样本是由物理层(PHY)到包含SCM或IDM信息产生的数据包进行处理。该图示出了物理层接收处理。

的RTL-SDR无线电能够在225-300 kHz或900-2560 100kHz和ADALM-PLUTO无线电能够在520千赫-61.44 MHz范围内使用的采样率的范围内使用的采样率的。1.0 Msps的的采样率是用来产生足够数量的样本的每曼彻斯特编码数据位。对于在跳频图案的每个频率,每AMR数据包被发送。跳频允许随时间增加的可靠性。由于每个数据包在每个跳频传送,就足够了仅监视一个用于本实施例中的频率。无线电调谐到915MHz的的整个模拟运行时的中心频率。

接收到的复杂的样品振幅通过提取其规模解调。开闭键控曼彻斯特编码意味着位选择块包括时钟恢复。这个块输出的位序列(忽略在发送的空闲时间),其随后检查已知前导码。如果前导码匹配,则比特序列被进一步解码,否则,它被丢弃,并且下一个序列被处理。

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

消息解析器

一个有效的信息时,比特随后解析成SCM或IDM格式的特定字段。

数据浏览器

数据查看器显示在单独的图中MATLAB的解码的分组。对于每一个成功地解码分组,则计ID,商品类型,AMR报文类型,消耗信息和捕捉时间被示出。当数据被捕获和解码,应用程序列表以表格形式从这些消息中解码的信息。该表只列出与他们的最新消费信息的唯一标识仪表。

您还可以更改仪表ID,并使用数据查看器启动文本文件记录。

  • 仪表ID-将表号由默认值0更改为您希望显示的特定表号,0是显示所有检测到的表号的默认值。

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

进一步的探索

伴随示例中的数据文件仅具有一个抄表和在915MHz的中心频率已经被捕获。使用RTL-SDR或ADALM - 冥王星,当它运行在一个居民区较长时期的例子将显示来自多个仪表读数。

您可以进一步探索使用AMRExampleApp用户界面AMR信号。这个应用程序允许用户选择的信号源和改变RTL-SDR或ADALM-PLUTO的中心频率。要启动应用程序,键入AMRExampleApp在MATLAB命令窗口或点击链接。该用户界面在以下图中示出

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

与多个无线电工作的例子的一个版本是amrMultipleRadios.m。这可以让你通过每间可用无线电设备设置不同的中心频率,以检查仪表的频率跳跃模式。该脚本设置了两个无线电,但可以扩展为任意数量。

选择的参考书目