В этом примере показано, как сгенерировать стандартно-совместимую частоту повторения импульса высокого показателя (HRP) крайние широкополосные формы волны (UWB) стандарта IEEE® 802.15.4a/z™ ([1], [2]), пользуясь Библиотекой Communications Toolbox™ для ZigBee® и дополнения UWB.
Стандарт IEEE 802.15.4 задает слои PHY и MAC Беспроводных Персональных Сетей области С низкой ставкой (LR-WPANs) [1]. Слои IEEE 802.15.4 PHY и MAC используются стандартами более высокого слоя, такими как ZigBee®, WirelessHart®, 6LoWPAN и MiWi.
Несколько схем PHY заданы в различных поправках стандарта IEEE 802.15.4:
IEEE 802.15.4a ввел частоту повторения импульса высокого показателя (HRP) UWB PHY, используемый для расположения (i.e., локализация) [1].
IEEE 802.15.4f ввел частоту повторения импульса низкого процента (LRP) UWB PHY, используемый для RFID, расположения, и уменьшал потребление энергии [1].
IEEE 802.15.4z ввел новые расширенные режимы и для HRP и для ФИЗИКИ IEEE 802.15.4a/f LRP UWB [2].
HRP UWB PHY задает полосу пропускания канала 0.5-1.3 ГГц и импульсную длительность 2 нс. Поскольку вычисления, используемые для располагающихся методов, используют длительность времени пакетной передачи, дополнительная короткая импульсная длительность делает ФИЗИКУ UWB подходящей для располагающихся приложений. Более прекрасная гранулярность во временном интервале переводит в меньшие ошибки по оценке расстояния.
Этот пример генерирует стандартно-совместимый HRP UWB 802.15.4a/z формы волны для трех режимов передачи импульсной частоты повторения (PRF) (802.15.4a, и 802.15.4z BPRF и HPRF). Для IEEE 802.15.4a допустимые средние значения PRF 3.9, 15.6 или 62,4 МГц. Поправка IEEE 802.15.4z задает эти два режима PRF:
Основная импульсная частота повторения (BPRF), где средний PRF составляет 62,4 МГц и скорость передачи данных полезной нагрузки, составляет 6,81 Мбит/с
Более высокая импульсная частота повторения (HPRF), где средний PRF - любой 124.8 или 249,6 МГц.
Поле скремблированной последовательности метки времени (STS) является другой ключевой возможностью, введенной 802.15.4z, чтобы улучшить целостность данных. Передача поля STS является дополнительной для режимов BRPF и HPRF.
Помощник lrwpanHRPConfig
объект конфигурирует форму волны каждого режима передачи. Эта таблица приводит свойства, условия, при которых они применяются и допустимые настройки.
lrwpanWaveformGenerator
функция помощника генерирует формы волны IEEE 802.15.4a/z HRP UWB с помощью lrwpanHRPConfig
объекты и Модуль эксплуатационных данных PHY (PSDU) как входные параметры.
В режиме более высокой импульсной частоты повторения (HPRF) IEEE 802.15.4z средний PRF - любой 124.8 или 249,6 МГц. Поскольку режим HPRF использует выше PRFs, чем BPRF или IEEE 802.15.4a, режим HPRF может оценить область значений более точно. Средний PRF по умолчанию объекта lrwpanHRPConfig составляет 249,6 МГц.
% This code confirms the Communications Toolbox(TM) Library for ZigBee(R) % and UWB add-on is installed. commSupportPackageCheck('ZIGBEE'); msg = randi([0 1], 1000, 1); cfgHPRF = lrwpanHRPConfig(Mode='HPRF', PSDULength=length(msg)) %#ok<NOPTS> waveHPRF = lrwpanWaveformGenerator(msg, cfgHPRF); lrwpanPlotFrame(waveHPRF, cfgHPRF);
cfgHPRF = lrwpanHRPConfig with properties: Channel: 0 Mode: 'HPRF' MeanPRF: '249.6MHz' SamplesPerPulse: 10 STSPacketConfiguration: 1 NumSTSSegments: 1 ActiveSTSLength: 64 CodeIndex: 25 PreambleDuration: 64 SFDNumber: 0 Ranging: 0 ConstraintLength: 3 PSDULength: 1000 Read-only properties: PeakPRF: '499.2MHz' ChipsPerSymbol: [16 8] ConvolutionalCoding: 1 PreambleCodeLength: 91 PreambleSpreadingFactor: 4 SampleRate: 4.9920e+09
Система координат HPRF состоит из следующих полей:
Поле Synchronization (SYNC): поле SYNC содержит конкретное количество повторений (Nsync) долгого распространения кода с 91 символом согласно PreambleSpreadingFactor
свойство. CodeIndex
свойство определяет, какой код используется. (Nsync) задан PreambleDuration
свойство.
Поле Start-of-frame delimiter (SFD): поле SFD является 4-, 8-, 16-или распространением последовательности с 32 символами с кодом SYNC, соответствующим CodeIndex
свойство. Длина стартовой последовательности SFD определяется SFDNumber
свойство.
Поле Scrambled timestamp sequence (STS): поле STS объяснено в следующем разделе.
Поле PHY Header (PHR): поле PHR является 19 последовательностями битов, которые содержат 6 битов четности, сгенерированных одним исправлением ошибок, двойное выявление ошибок (SECDED) блочный код Хэмминга. Ranging
свойство определяет один из 13 систематических битов PHR. Впоследствии, PHR convolutionally закодирован с уровнем 1/2 сверточный код. ConstraintLength
свойство (3 или 7) выбирает между двумя уровнями 1/2 сверточные энкодеры.
Для схемы модуляции HPRF (Секунда. 15.3.4 в [2]), каждый PHR сверточная кодовая комбинация сопоставлена с последовательностью 16 или 32 импульсов (для среднего PRF 249.6 и 124,8 МГц, соответственно). Импульсные последовательности разделяются защитными интервалами. Первый элемент ChipsPerSymbol
свойство передает количество импульсов в каждом символе PHR.
Полезная нагрузка: PSDU закодирован с (63, 55) код Рида-Соломона. Впоследствии, это convolutionally закодировано (вместе с PHR) с уровнем 1/2 сверточный код. ConstraintLength
свойство (3 или 7) выбирает между двумя уровнями 1/2 сверточные энкодеры.
Для схемы модуляции HPRF (Секунда. 15.3.4 в [2]), каждая сверточная кодовая комбинация полезной нагрузки сопоставлена с последовательностью 8 или 16 импульсов (для среднего PRF 249.6 и 124,8 МГц, соответственно). Импульсные последовательности разделяются защитными интервалами. Последний элемент ChipsPerSymbol
свойство передает количество импульсов в каждом символе полезной нагрузки. Этот рисунок иллюстрирует один символ полезной нагрузки в Среднем значении на 249,6 МГц PRF.
fig = lrwpanPlotFrame(waveHPRF, cfgHPRF); hZoomTo1stHPRFPayloadSymbol(fig, cfgHPRF)
Вторыми и четвертым кварталом символа являются защитные интервалы. Первый и третий квартал содержит 4 передачи чипа каждый.
Поле STS может использоваться, чтобы гарантировать подлинность располагающихся оценок. Это поле является дополнительным для режимов HPRF и BPRF. STSPacketConfiguration
свойство задает начальную настройку поля STS. Чтобы не использовать поле STS, задайте 0
для STSPacketConfiguration
свойство. Другие значения определяют STS и размещение PHR/полезной нагрузки в системе координат PHY.
Поле STS состоит из нескольких сегментов, разделенных разрывом. NumSTSSegments
свойство определяет количество сегментов (1 - 4) и ActiveSTSLength
свойство определяет длину каждого сегмента (16, 32, 64, 128 или 256 во множителях 512 микросхем).
Этот код конфигурирует, генерирует и визуализирует форму волны, содержащую 2 сегмента STS с разрывами до и после каждого сегмента. Фрагмент предыдущего поля SFD включен.
msg = randi([0 1], 2000, 1); cfgSTS = lrwpanHRPConfig( ... Mode='HPRF', ... NumSTSSegments=2, ... ActiveSTSLength=16, ... PSDULength=length(msg)); waveSTS = lrwpanWaveformGenerator(msg,cfgSTS); lrwpanPlotFrame(waveSTS, cfgSTS); ind = lrwpanHRPFieldIndices(cfgSTS); set(gca,'XLim',ind.STS - [5e3 0]) % portion of preceding field (SFD) title('STS field with 2 segments')
Генерация STS в этом примере создает структуру STS (включая количество сегментов, разрывов, длины сегмента, распространения STS и импульсной полярности), но не выполняет шифрование AES-128. Случайные биты используются вместо AES 128 выход. Чтобы реализовать AES-128, включите aes128Placeholder
подфункция этого файла. aes128Placeholder
подфункция включает счетчик и 128-битное V значений.
В режиме основной импульсной частоты повторения (BPRF) подразумевайте, что PRF составляет 62,4 МГц, и скорость передачи данных составляет 6,81 Мбит/с.
Основное отличие между BPRF и режимом HPRF - то, что в BPRF PHR и полезная нагрузка модулируются с методом BPSK пакетной модуляции положения (BPM).
msg = randi([0 1],1016,1); cfgBPRF = lrwpanHRPConfig(Mode='BPRF',CodeIndex=9) %#ok<NOPTS> waveBPRF = lrwpanWaveformGenerator(msg,cfgBPRF); lrwpanPlotFrame(waveBPRF,cfgBPRF);
cfgBPRF = lrwpanHRPConfig with properties: Channel: 0 Mode: 'BPRF' PHRDataRate: '0.85Mbps' SamplesPerPulse: 10 STSPacketConfiguration: 1 CodeIndex: 9 PreambleDuration: 64 SFDNumber: 0 Ranging: 0 PSDULength: 1016 Read-only properties: PeakPRF: '499.2MHz' BurstsPerSymbol: 8 NumHopBursts: 2 ChipsPerBurst: [64 8] ChipsPerSymbol: [512 64] ConvolutionalCoding: 1 PreambleCodeLength: 127 PreambleSpreadingFactor: 4 SampleRate: 4.9920e+09
Системы координат BPRF включают поля SYNC и SFD, и модулируемый BPM-BPSK.
*Поле SYNC создается похожее на режим HPRF, но выбранный код может быть 127 символами долго, таким образом, CodeIndex
установка свойства может быть всего 9.
*Поле SFD является всегда 8 символами долго.
секунда. 15.3 из [1] задают схему модуляции BPM-BPSK. Как показано этим кодом, один PHR и один символ полезной нагрузки появляются вместе при модуляции BPM-BPSK для режима BPRF.
fig = lrwpanPlotFrame(waveBPRF,cfgBPRF); hZoomToBPMBPSKSymbols(fig,cfgBPRF);
В графике чистая черная вертикальная линия разделяет PHR и длительность символа полезной нагрузки, и пунктирные линии разделяют различные пакетные положения кандидата. В модуляции BPM-BPSK каждая длительность символа разделена на 4 четверти, и передача может произойти или в 1-м или в 3-м квартале. Систематический бит сверточной кодовой комбинации определяет, когда передачи происходят. Каждая четверть разделена на 2, 8, или 32 пакета кандидата, как задано NumHopBursts
свойство и определенный средним PRF. Когда средний PRF составляет 62,4 МГц (BPRF), количество кандидата, активные пакеты в символе четверти равняются 2, который соответствует в общей сложности 8 пакетной длительности на символ. В нанесенном на график PHR и символах полезной нагрузки, активные передачи занимают 1/8 своей длительности символа. Псевдошумовая последовательность определяет местоположение одной пакетных передач в символе четверти, определенном систематическим битом. А именно, где пакетное скачкообразное движение происходит в зависимости от времени. В выбранном пакетном положении микросхемы Ncpb передаются, как задано ChipsPerBurst
свойство. Первый элемент содержит PHR, и последний элемент содержит полезную нагрузку. Количество микросхем на пакет определяется средним PRF и комбинацией скорости передачи данных.
PHR: скорость передачи данных PHR составляет или 850 Кбит/с или 6,81 Мбит/с, как определено PHRDataRate
свойство. Скорость передачи данных PHR 850 Кбит/с соответствует 64 микросхемам на пакет и 512 микросхемам на символ. Скорость передачи данных PHR 6,81 Мбит/с соответствует 8 микросхемам на пакет и 64 микросхемам на символ. Поле PHR имеет ту же длину (19 битов) и кодирующий (SECDED и сверточный) как режим HPRF.
Полезная нагрузка: Как показано в Таблице, 15-9a из [2], для режима BPRF, скорость передачи данных полезной нагрузки составляет 6,81 Мбит/с, который соответствует 8 микросхемам на пакет и 64 микросхемам на длительность символа. Подобно режиму HPRF поле полезной нагрузки использует уровень 1/2 сверточное кодирование, но для BPRF продолжительность ограничения может только быть 3.
Подобно режиму BPRF IEEE 802.15.4a использует схему модуляции BPM-BPSK. Это основные отличия между наследием 15.4a и режимом BPRF.
IEEE 802.15.4a не имеет никакого поля STS.
Средний PRF полезной нагрузки может быть 3.9, 15.6, или 62,4 МГц. Для средних значений PRF 3.9 или 15,6 МГц, распространяющегося фактора кодов SYNC (PreambleSpreadingFactor
) конфигурируемо PreambleMeanPRF
свойство.
Скорость передачи данных полезной нагрузки зависит от среднего PRF и не ограничивается 6,81 Мбит/с. Скорость передачи данных и средние значения PRF могут включить различные значения для количества пакетов транзитного участка (NumHopBursts
может быть 2, 8, или 32) и микросхемы на пакет (ChipsPerBurst
может быть 1, 2, 4, 8, 16, 32, 64, 128, или 512).
Скорость передачи данных PHR равняется минимуму 850 Кбит/с и скорости передачи данных полезной нагрузки. Скорость передачи данных может быть любой 110 или 850 Кбит/с.
Сверточное кодирование отключено для самых высоких скоростей передачи данных (6.81 и 27,24 Мбит/с) среднего PRF на 3.9 и 15,6 МГц, соответственно.
В 802.15.4a настройка, можно установить средний PRF на 62,4 МГц только, когда скорость передачи данных не составляет 6,81 Мбит/с. Скорость передачи данных 6,82 МГц соответствует режиму BPRF. Когда средний PRF составляет 3.9 или 15,6 МГц, индекс кода должен быть в области значений [1, 6]. Когда средний PRF составляет 62,4 МГц, индекс кода должен быть в области значений [9, 16] или [21, 24].
msg = randi([0 1],800,1); cfg4a = lrwpanHRPConfig( ... Mode='802.15.4a', ... MeanPRF='15.6MHz', ... Channel=3, ... CodeIndex=6, ... PSDULength=length(msg)) %#ok<NOPTS> wave4a = lrwpanWaveformGenerator(msg,cfg4a); lrwpanPlotFrame(wave4a,cfg4a);
cfg4a = lrwpanHRPConfig with properties: Channel: 3 Mode: '802.15.4a' MeanPRF: '15.6MHz' DataRate: '0.85Mbps' SamplesPerPulse: 10 CodeIndex: 6 PreambleMeanPRF: '16.1MHz' PreambleDuration: 64 Ranging: 0 PSDULength: 800 Read-only properties: PeakPRF: '499.2MHz' BurstsPerSymbol: 32 NumHopBursts: 8 ChipsPerBurst: 16 ChipsPerSymbol: 512 ConvolutionalCoding: 1 PreambleCodeLength: 31 PreambleSpreadingFactor: 16 SampleRate: 4.9920e+09
Все формы волны IEEE 802.15.4a/z, сгенерированные в этом примере, являются повторениями импульсов Баттерворта. Такие импульсы получены путем передачи последовательности троичных символов (-1, 0 или 1) к Фильтру Баттерворта.
Стандарт IEEE 802.15.4a/z HRP задает проверку податливости на импульсы HRP (см. Секунду. 15.4.4 в [1]). А именно, взаимная корреляция между используемым импульсом и корнем повысила импульс косинуса с фактором спада 0,5, должно быть выше, чем 0,8 для 0,5 нс в основном (центральном) лепестке, и все другие лепестки стороны должны иметь взаимную корреляцию ниже, чем 0,3. Результат взаимной корреляции показан на рисунке слева.
Поправка IEEE 802.15.4z указывает, что переданные импульсы соответствуют маске временного интервала, показанной на Рис., 15-13a из [2]. Как показано на рисунке справа, импульсы Баттерворта, используемые в этом примере, выполняют рекомендацию маски передачи.
lrwpanHRPPulseConformance(cfgHPRF);
Стандарт IEEE 802.15.4 задает маску для спектральной плотности мощности передачи PSD (см. Секунду. 15.4.5 в [1]). lrwpanHRPTxPSDMask
функция помощника отображает спектральную плотность сгенерированной формы волны и исследует соответствие к спектральной маске.
lrwpanHRPTxPSDMask(waveHPRF, cfgHPRF)
Подобные результаты могут быть достигнуты для других сгенерированных форм волны, с помощью этих команд.
% lrwpanHRPTxPSDMask(waveBPRF,cfgBPRF) % lrwpanHRPTxPSDMask(wave4a,cfg4a)
Библиотека Communications Toolbox для ZigBee и дополнения UWB содержит следующий объект и функции:
lrwpanHRPConfig: настройка формы волны HRP
lrwpanWaveformGenerator: Создайте форму волны IEEE 802.15.4a/z HRP UWB
lrwpanHRPFieldIndices: Найдите запуск и окончание индекса для каждого поля системы координат PHY
lrwpanPlotFrame: Визуализируйте форму волны IEEE 802.15.4a/z HRP UWB
Эти утилиты не документированы и их API, или функциональность может измениться в будущем.
"Стандарт IEEE для Беспроводных сетей С низкой ставкой", в Станд. IEEE 802.15.4-2020 (Версия Станд. IEEE 802.15.4-2015), pp.1-800, 23 июля 2020, doi: 10.1109/IEEESTD.2020.9144691.
"Стандарт IEEE для Беспроводных сетей С низкой ставкой - Поправка 1: Расширенные Крайние Широкополосные Физические уровни (UWB) (ФИЗИКА) и Связанные Располагающиеся Методы", в Станд. IEEE 802.15.4z-2020 (Поправка к Станд. IEEE 802.15.4-2020), pp.1-174, 25 августа 2020, doi: 10.1109/IEEESTD.2020.9179124.