主要内容

自动抄表

此示例显示如何通过处理由编码器 - 接收器 - 发射器(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平台的完整通信工具箱列表,请参阅“支持的硬件”部分金宝app软件定义无线电(SDR)发现页面

背景

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

  • 传输频率范围:910 ~ 920 MHz

  • 数据速率:32768bps

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

SCM和IDM是仪表发送的两种类型的传统消息类型。SCM分组用于固定长度为96位,而IDM分组用于固定长度为736位。SCM和IDM消息的数据包格式如下所示[1]:

能够发送SCM和IDM消息的仪表在同一信道上发送它们,分离时间约为275毫秒。每个仪表使用跳频模式在多个频率上传输SCM和IDM消息。为了避免其他传输的干扰,实际传输的频率、跳频模式和传输之间的时间间隔都是随机的。

运行示例

要打开并运行示例,请选择打开脚本按钮。

信号源默认为“文件”。要指定不同的信号源,请更改设置signalSourcehelperAMRInit.m文件。有效的选择signalSource是'文件','rtl-sdr'和'plutosdr'。

运行该示例时:

接收机初始化仿真参数并计算AMR参数。数据查看器显示计价器ID、消费信息和商品类型。模拟循环调用信号源、物理层、消息解析器和数据查看器。处理循环使用帧持续时间跟踪广播时间。*每次数据采集都会更新显示,显示唯一的电表id和最新的消费信息。

signalSource的有效输入为“File”、“RTL-SDR”和“ADALM-PLUTO”

signersource ='文件';initparam = helperamrinit(signalce);%基于初始化参数计算AMR系统参数[amrParam, sigSrc] = helperAMRConfig (initParam);%创建数据查看器对象查看器= Helperamrviewer(“MeterID”,initparam.meterid,'logdata'initParam.LogData,'logfilename',initparam.logfilename,'fc'amrParam.CenterFrequency,'singsourcetype',initparam.signalSourcetype);开始(查看者);ratiotime = 0;初始化广播时间%主处理回路尽管RADIOTIME 结尾停止(观众);%停止观看者释放(sigSrc);%释放信号源

接收方代码结构

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

信号源

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

  1. " File ":无线信号写入文件,并使用基带文件阅读器对象在1.0 msps

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

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

如果指定“RTL-SDR”或“ADALM-PLUTO”作为信号源,示例将在计算机中搜索您指定的无线电,即无线电地址为“0”的RTL-SDR无线电或无线电地址为“usb:0”的ADALM-PLUTO无线电,并将其用作信号源。

物理层

从信号源接收的基带样本被物理层(PHY)处理以产生包含SCM或IDM信息的包。此图显示了物理层接收处理。

RTL-SDR无线电能够使用225-300 kHz或900-2560 kHz范围内的采样率。ADALM-PLUTO无线电能够使用520 kHz-61.44 MHz范围内的采样率。使用1.0 Msps的采样率来产生每个曼彻斯特编码的数据位足够数量的样本。对于跳变模式中的每个频率,每个AMR数据包都被传输。跳频允许随着时间的推移增加可靠性。由于每个包都是在每个频率跳上传输的,因此对于本例来说,只监视一个频率就足够了。在整个模拟运行时,无线电被调到915mhz的中心频率。

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

当已知的SCM前导为一个位序列找到时,接收到的消息位被解码使用缩短的(255,239)BCH码,可以纠正最多两个位错误。在已知的IDM前文被发现的情况下,接收器执行一个循环冗余检查(CRC)的米序列号和整个包开始的包类型(第5字节),以确定包是否有效。有效的、正确的消息被传递到AMR消息解析器。

消息解析器

对于一个有效的消息,比特然后被解析为SCM或IDM格式的特定字段。

数据查看器

数据查看器在一个单独的MATLAB图形上显示解码的数据包。对于每一个成功解码的包,显示计价器ID、商品类型、AMR包类型、消费信息和捕获时间。在捕获和解码数据时,应用程序以表格形式列出从这些消息中解码的信息。该表只列出了唯一的仪表id及其最新的消费信息。

您还可以使用数据查看器更改meter ID并启动文本文件日志记录。

  • 计ID-改变仪表ID从0,这是默认值,保留为显示所有检测到的仪表,一个特定的仪表ID,你想要显示。

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

进一步的探索

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

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

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

使用多个无线电的例子的一个版本是amrMultipleRadios.m。这允许您通过设置每个可用无线电设备的不同中心频率来检查仪表的频率跳变模式。脚本设置为两台收音机,但可以扩展为任意数量。

选定的书目