В этом примере показано, как использовать Communications Toolbox™ для считывания счетчиков утилит путем обработки сигналов стандартного сообщения о потреблении (SCM) и сигналов интервального сообщения данных (IDM), которые излучаются счетчиками, совместимыми с Encoder-Receiver-Transmeter (ERT). Можно либо использовать записанные данные из файла, либо принимать эфирные сигналы в реальном времени с помощью радиомодуля RTL-SDR или ADALM-PLUTO.
В Simulink ® можно ознакомиться с примером автоматического считывания в Simulink.
Для выполнения этого примера с использованием записанных данных из файла требуется Communications Toolbox™.
Для приема сигналов в режиме реального времени также требуется одно из следующих устройств SDR и соответствующий пакет поддержки Add-On:
Радио RTL-SDR и соответствующий пакет поддержки Communications Toolbox для радио RTL-SDR
Радио ADALM-PLUTO и соответствующий пакет поддержки Communications Toolbox для радио ADALM-PLUTO
Дополнительные сведения см. на странице обнаружения программно-определяемого радиоблока (SDR).
Автоматическое считывание счетчиков (AMR) - это технология, которая автономно собирает данные о потреблении и статусе из счетчиков коммунальных услуг (таких как электрические, газовые или водяные счетчики) и доставляет данные поставщикам коммунальных услуг для целей выставления счетов или анализа. Система AMR использует низкоэнергетическую радиочастотную (RF) связь для передачи показаний счетчика удаленному приемнику. Свойства радиочастотной передачи включают в себя:
Частота передачи в диапазоне: 910-920 МГц
Скорость передачи данных: 32768 бит/с
Сигнализация, закодированная манчестерским ключом
SCM и IDM - это два типа обычных типов сообщений, которые отправляются счетчиками. Пакеты SCM используются с фиксированной длиной 96 бит, тогда как пакеты IDM используются с фиксированной длиной 736 бит. В этих таблицах показан формат пакетов сообщений SCM и IDM:


Счетчики, способные посылать сообщения SCM и IDM, передают их по одному каналу с интервалом приблизительно 275 мс. Каждый измеритель передает сообщения SCM и IDM по множеству частот с использованием шаблона скачкообразной перестройки. Фактические частоты передачи, шаблон скачкообразной перестройки частоты и временной интервал между передачами являются случайными, чтобы избежать помех от других передач. Для получения дополнительной информации см. [1].
При выполнении примера:
Получатель инициализирует параметры моделирования и вычисляет параметры AMR.
На экране просмотра данных отображаются идентификатор счетчика, информация о потреблении и тип товара.
Цикл моделирования вызывает источник сигнала, физический уровень, анализатор сообщений и средство просмотра данных.
Цикл обработки отслеживает время радиосвязи с использованием длительности кадра.
Экран обновляется для каждого ввода данных, отображая уникальные идентификаторы счетчиков с последней информацией о потреблении.
Источником сигнала по умолчанию является файл, который запускает пример с использованием файла записанного сигнала основной полосы частот. amr_capture_01.bb. Для выполнения примера с использованием RTL или ADALM-PLUTO SDR измените настройку для signalSource при вызове файла helperAMRInit.m. Допустимые параметры для signalSource «Файл», «RTL-SDR» и «ADALM-PLUTO».
signalSource = 'File'; initParam = helperAMRInit(signalSource); % Calculate AMR system parameters based on the initialized parameters [amrParam,sigSrc] = helperAMRConfig(initParam); % Create the data viewer object viewer = helperAMRViewer('MeterID',initParam.MeterID, ... 'LogData',initParam.LogData, ... 'LogFilename',initParam.LogFilename, ... 'Fc',amrParam.CenterFrequency, ... 'SignalSourceType',initParam.SignalSourceType); start(viewer); radioTime = 0; % Initialize the radio time % Main Processing Loop while radioTime < initParam.Duration rcvdSignal = sigSrc(); amrBits = helperAMRRxPHY(rcvdSignal,amrParam); amrMessages = helperAMRMessageParser(amrBits,amrParam); update(viewer,amrMessages); radioTime = radioTime + amrParam.FrameDuration; end stop(viewer); % Stop the viewer release(sigSrc); % Release the signal source

Блок-схема суммирует структуру кода приемника. Обработка состоит из четырех основных частей: источник сигнала, физический уровень, анализатор сообщений и средство просмотра данных.

Источник сигнала
В этом примере можно использовать три источника сигнала:
«File»: эфирные сигналы, записанные в файл и считанные с помощью объекта чтения файлов основной полосы на скорости 1,0 мс
«RTL-SDR»: радио RTL-SDR с частотой выборки 1,0 мс
«ADALM-PLUTO»: радио ADALM-PLUTO с частотой дискретизации 1,0 МС
Если в качестве источника сигнала назначен «RTL-SDR» или «ADALM-PLUTO», в примере выполняется поиск на компьютере указанного радио, либо радио RTL-SDR по адресу «0», либо радио ADALM-PLUTO по адресу «usb: 0» и использует его в качестве сигнала.
Физический уровень
Выборки основной полосы частот, принятые от источника сигнала, обрабатываются физическим уровнем (PHY) для получения пакетов, которые содержат информацию SCM или IDM. На этой схеме показана обработка приема на физическом уровне.

Радиоблок RTL-SDR способен использовать частоту дискретизации в диапазоне 225-300 кГц или 900-2560 кГц. Радиостанция ADALM-PLUTO способна использовать частоту дискретизации в диапазоне 520 kHz-61.44 МГц. Частота дискретизации 1,0 Мс/с используется для получения достаточного количества выборок на бит данных, закодированных Манчестером. Для каждой частоты в шаблоне скачкообразной перестройки передается каждый пакет данных AMR. Скачкообразная перестройка частоты обеспечивает повышенную надежность с течением времени. Поскольку каждый пакет передается на каждом скачкообразном переходе частоты, достаточно контролировать только одну частоту для этого примера. Радиоблок настраивается на центральную частоту 915 МГц в течение всего времени выполнения моделирования.
Принятые комплексные выборки демодулируют по амплитуде путем выделения их амплитуды. Кодирование Манчестера с клавишами включения-выключения подразумевает, что блок выбора битов включает в себя восстановление тактового сигнала. Этот блок выводит битовые последовательности (игнорируя время ожидания в передаче), которые впоследствии проверяются на наличие известной преамбулы. Если преамбула совпадает, битовая последовательность дополнительно декодируется, в противном случае она отбрасывается и обрабатывается следующая последовательность.
Когда для битовой последовательности найдена известная преамбула SCM, принятые биты сообщения декодируются с использованием укороченного (255 239) кода BCH, который может исправить до двух битовых ошибок. В случае, когда найдена известная преамбула IDM, приемник выполняет циклическую избыточную проверку (CRC) серийного номера счетчика и всего пакета, начиная с типа пакета (5-й байт), чтобы определить, является ли пакет действительным. Действительные, исправленные сообщения передаются в анализатор сообщений AMR.
Анализатор сообщений
Для действительного сообщения биты затем анализируются на конкретные поля формата SCM или IDM.
Средство просмотра данных
Средство просмотра данных показывает декодированные пакеты на отдельном рисунке MATLAB. Для каждого успешно декодированного пакета показаны идентификатор счетчика, тип товара, тип пакета AMR, информация о потреблении и время захвата. Когда данные захватываются и декодируются, приложение перечисляет информацию, декодированную из этих сообщений, в табличной форме. В таблице перечислены только уникальные идентификаторы счетчиков с их последней информацией о потреблении.
Можно также изменить идентификатор счетчика и начать регистрацию текстового файла с помощью средства просмотра данных.
Идентификатор счетчика - измените идентификатор счетчика с 0, который является значением по умолчанию и зарезервирован для просмотра всех обнаруженных счетчиков, на определенный идентификатор счетчика, который требуется отобразить.
Данные журнала в файл - сохранение декодированных сообщений в файле TXT. Сохраненные данные можно использовать для постобработки.
Файл данных, сопровождающий пример, имеет только одно считывание и был зафиксирован на центральной частоте 915 МГц. При использовании RTL-SDR или ADALM-PLUTO в данном примере показываются показания с нескольких счетчиков при работе в течение более длительного периода времени в жилом районе.
Вы можете далее исследовать сигналы AMR, используя пользовательский интерфейс AMRExampleApp. Это приложение позволяет выбрать источник сигнала и изменить центральную частоту RTL-SDR или ADALM-PLUTO. Эта связь launchs приложение AMRExampleApp, показанное здесь.

Для получения подробной информации о форматах сообщений физического уровня и AMR можно также изучить следующие функции:
Вариант примера, который работает с несколькими радиостанциями, - amrMultipleRadios.m. Это позволяет исследовать шаблоны скачкообразного изменения частоты для измерителя путем установки различных центральных частот для каждого доступного радиоустройства. Сценарий устанавливается для двух радиостанций, но может быть расширен для любого номера.
Автоматическое считывание, https://en.wikipedia.org/wiki/Encoder_receiver_transmitter, 2016.
Итрон Электрик счетчики, https://www.itron.com/na/industries/electricity, 2017.