Этот пример выполняет сквозную симуляцию по каналу аддитивного белого Гауссова шума (AWGN) для частоты повторения импульса высокого показателя (HRP), крайний широкополосный (UWB) PHY стандарта 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, используемый для расположения и локализации [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 подходящей для располагающихся приложений, потому что несколько располагающихся методов используют вычисление длительности времени пакетной передачи. Более прекрасная гранулярность во временном интервале переводит в меньшие ошибки по оценке расстояния.
Этот пример выполняет сквозную симуляцию, вычисляет кривые частоты ошибок по битам (BER) и демонстрирует компромисс между надежностью и битрейтом для этих режимов HRP IEEE 802.15.4a/z PHY:
Режим Higher Pulse Repetition Frequency (HPRF), который был введен в IEEE 802.15.4z [2].
Режим Base Pulse Repetition Frequency (BPRF), который был введен в IEEE 802.15.4z [2] (но может уменьшать до IEEE 802.15.4a [1]).
IEEE 802.15.4a [1], который имеет более низкую среднюю импульсную частоту повторения (PRF) и более низкую скорость передачи данных, чем режимы HPRF и BPRF.
Эта таблица показывает различные схемы модуляции, скорости передачи данных и количество микросхем на символ полезной нагрузки, используемый этими операционными режимами.
Как показано в этой цепи PHY, различные режимы HRP совместно используют определенные общие компоненты.
Стандарты IEEE 802.15.4 и IEEE 802.15.4z только задают работу передатчика ([1], [2]). Приемник выполняет обратную работу передатчика. Реализация приемника не выполняет восстановление синхронизации или частота.
Кодирование SECDED: заголовок PHY (PHR) закодирован с одно исправлением ошибок, двойным выявлением ошибок (SECDED) блочный код Хэмминга. Вычисление BER в этом примере не использует биты PHR.
Кодирование RS: полезная нагрузка кодируется/декодируется с (63, 55) код Рида-Соломона.
Сверточное кодирование: полезная нагрузка и PHR кодируются/декодируются с уровнем 1/2 сверточный код и продолжительность ограничения 3. Дополнительный уровень 1/2 сверточный код с продолжительностью ограничения 7 предлагается для режима HPRF, но это не используется в этом примере.
Вставка/удаление преамбулы: выбранная кодовая последовательность распространена и повторена. Поле SYNC состоит из этой преамбулы с разделителем запуска из системы координат (SFD), добавленным в конце. Приемник ожидает, что входная форма волны начнется с преамбулы без любой задержки, которая требовала бы обнаружения преамбулы.
Импульсный формирователь: выход отображения символа и вставки преамбулы является троичными символами (-1,0,1). Стандарт IEEE 802.15.4a/z позволяет нескольким импульсным формам представлять последовательность символа в аналоговой области. Разделите 15.4 в [1], [2] задают технические требования соответствия RF. В этом примере троичная последовательность символа передается Фильтру Баттерворта, чтобы создать импульсы Баттерворта. На стороне приемника операция интегрировать-и-выводить преобразует импульсы назад в троичные символы.
Основное различие между 3 различными режимами заключается в компоненте Картопостроителя Символа (и соответствующий демодулятор). Другие различия заключаются в формате PHR, а также длине и значении кодовой последовательности преамбулы и SFD.
В режиме HPRF средняя импульсная частота повторения (PRF) составляет или 249,6 МГц или 124,8 МГц, со скоростями передачи данных 27,24 Мбит/с или 6,81 Мбит/с, соответственно. В обоих случаях каждая длительность символа состоит из переменных сегментов переданных последовательностей чипа и защитных полос. Этот сегмент кода генерирует график показать символ полезной нагрузки для режима HPRF на 249,6 МГц.
% Ensure ZigBee/UWB support package is installed: commSupportPackageCheck('ZIGBEE'); msg = randi([0 1], 1000, 1); cfgHPRF = lrwpanHRPConfig(Mode='HPRF',PSDULength=length(msg)); waveHPRF = lrwpanWaveformGenerator(msg,cfgHPRF); fig = lrwpanPlotFrame(waveHPRF,cfgHPRF); hZoomTo1stHPRFPayloadSymbol(fig,cfgHPRF)
Каждая сверточная кодовая комбинация 2 бита длиной (один бит четности для каждого систематичного). Эти карта на 2 бита к 8 полезным нагрузкам и 16 битам PHR для среднего PRF на 249,6 МГц (см. 8 импульсов в вышеупомянутом графике), и сопоставляют с 16 полезными нагрузками и 32 битами PHR для среднего PRF на 124,8 МГц.
Режим BPRF использует позиционную пакетом модуляцию BPSK (BPM-BPSK). Длительность символа разделена в набор пакетных положений кандидата. Каждый пакет содержит конкретное количество микросхем на пакет (Ncpb). Один пакет кандидата содержит шаблон. Весь другой кандидат разрывает нули передачи.
cfgBPRF = lrwpanHRPConfig(Mode='BPRF',CodeIndex=9);
waveBPRF = lrwpanWaveformGenerator(repmat([0; 1],508,1),cfgBPRF);
fig = lrwpanPlotFrame(waveBPRF,cfgBPRF);
hZoomToBPMBPSKSymbols(fig,cfgBPRF);
В режиме BPRF средний PRF составляет 62,4 МГц, и скорость передачи данных полезной нагрузки составляет 6,81 Мбит/с. Ncpb для каждого пакета в символе является 8 микросхемами и кандидатом номера, пакетные положения (Nhop) равняются 4. Систематический бит уменьшает набор положений кандидата на 50%, и активный пакет выбран среди остающихся 2 Nhop на основе распространяющейся (скачкообразно перемещающей пакет) последовательности.
IEEE 802.15.4a HRP PHY также использует модуляцию BPM-BPSK, похожую на режим BPRF. Единственная разница - то, что больше значений позволено для среднего PRF и комбинации скорости передачи данных.
А именно, средний PRF может быть 3.9, 15.6 или 62,4 МГц, в то время как скорость передачи данных может быть 0.11, 0.85, 1.7, 6.81, или 27,24 Мбит/с. Ncpb может быть 1, 2, 4, 8, 16, 32, 64, 128, 256, 512, или 4096. Nhop равняется 2, 8 или 32. Область значений значений Ncpb включает передачи, которые могут быть или более агрессивными или более консервативными, чем режим BPRF.
Для каждого из трех режимов HRP PHY пример вычисляет BER в области значений EcNo [6,32] в дБ (сопоставленный с эквивалентными значениями ОСШ) использование сквозных симуляций по каналу AWGN.
Для IEEE 802.15.4a средний PRF на 15,6 МГц используется со скоростью передачи данных на 0,11 Мбит/с. Эта комбинация включает Ncpb, равный 128 и Nhop, равный 8.
msgLen = 2^10 - 8; msg = randi([0 1],msgLen,1); EcNo = 9:2:35; numSNR = length(EcNo); [berHPRF,berBPRF,ber4a] = deal(zeros(1,numSNR)); % Construct fixed configurations and waveforms for each mode: cfgHPRF = lrwpanHRPConfig(Mode='HPRF',PSDULength=msgLen); waveHPRF = lrwpanWaveformGenerator(msg,cfgHPRF); cfgBPRF = lrwpanHRPConfig(Mode='BPRF',CodeIndex=9,PSDULength=msgLen); waveBPRF = lrwpanWaveformGenerator(msg,cfgBPRF); cfg4a = lrwpanHRPConfig( ... Mode='802.15.4a', ... MeanPRF='15.6MHz', ... DataRate='0.11Mbps', ... CodeIndex=1, ... PSDULength=msgLen); wave4a = lrwpanWaveformGenerator(msg,cfg4a); % Compute BER curve until required number of errors have been found or % maximum number of bits have been simulated. MAXBITS = msgLen*5; MINERRORS = 10; for idx = 1:numSNR fprintf('Calculating BER for EcNo=%d dB\n',EcNo(idx)); errCnt = 0; bitCnt = 0; errHPRF = 0; errBPRF = 0; err4a = 0; while errCnt < MINERRORS && bitCnt < MAXBITS % HPRF mode SNR = EcNo(idx) - 10*log10(cfgHPRF.SamplesPerPulse); noisyHPRF = awgn(waveHPRF,SNR); psduHPRF = lrwpanWaveformDecoder(noisyHPRF,cfgHPRF); errHPRF = biterr(msg, psduHPRF)+errHPRF; % BPRF mode SNR = EcNo(idx) - 10*log10(cfgBPRF.SamplesPerPulse); noisyBPRF = awgn(waveBPRF,SNR); psduBPRF = lrwpanWaveformDecoder(noisyBPRF,cfgBPRF); errBPRF = biterr(msg,psduBPRF)+errBPRF; % Legacy 802.15.4a SNR = EcNo(idx) - 10*log10(cfg4a.SamplesPerPulse); noisy4a = awgn(wave4a,SNR); psdu4a = lrwpanWaveformDecoder(noisy4a,cfg4a); err4a = biterr(msg,psdu4a)+err4a; bitCnt = bitCnt + msgLen; errCnt = min([errHPRF errBPRF err4a]); end berHPRF(idx) = errHPRF/bitCnt; berBPRF(idx) = errBPRF/bitCnt; ber4a(idx) = err4a/bitCnt; end % Plot BER curve figure semilogy(EcNo,berHPRF,'-o',EcNo,berBPRF,'-*',EcNo,ber4a,'-+') legend('HPRF, 27.24 Mbps','BPRF, 6.81 Mbps', ... '15.4a, 0.11 Mbps','Location','southwest') title('BER Curves for UWB IEEE 802.15.4a/z PHY') xlabel('EcNo (dB)') ylabel('BER') grid on
Calculating BER for EcNo=9 dB Calculating BER for EcNo=11 dB Calculating BER for EcNo=13 dB Calculating BER for EcNo=15 dB Calculating BER for EcNo=17 dB Calculating BER for EcNo=19 dB Calculating BER for EcNo=21 dB Calculating BER for EcNo=23 dB Calculating BER for EcNo=25 dB Calculating BER for EcNo=27 dB Calculating BER for EcNo=29 dB Calculating BER for EcNo=31 dB Calculating BER for EcNo=33 dB Calculating BER for EcNo=35 dB
Результаты кривой BER демонстрируют более высокую частоту ошибок по битам для более агрессивных схем модуляции и более низкого BER для более консервативных схем модуляции. Более низкие скорости передачи данных используют больше микросхем для каждой переданной сверточной кодовой комбинации. Более высокое количество переданных микросхем обеспечивает больше возможности для исправления ошибок, которое похоже в концепции на использование большего количества битов четности в кодировании канала.
Библиотека Communications Toolbox для ZigBee и дополнения UWB содержит следующий объект и функции:
lrwpanHRPConfig: настройка формы волны HRP
lrwpanWaveformGenerator: Создайте форму волны IEEE 802.15.4a/z HRP UWB
lrwpanWaveformDecoder: Декодируйте форму волны IEEE 802.15.4a/z UWB HRP
Эти утилиты не документированы и их 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.