Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

HRP UWB IEEE 802.15.4a/z PHY のエンドツーエンド シミュレーション

この例では、Communications Toolbox™ を使用して、加法性ホワイト ガウス ノイズ (AWGN) チャネルで、IEEE® 802.15.4a/z 規格 ([1]、[2]) の高レート パルス繰り返し周波数 (HRP) 超広帯域 (UWB) PHY のエンドツーエンド シミュレーションを実行します。

背景

IEEE 802.15.4 規格は、低速無線パーソナル エリア ネットワーク (LR-WPAN) [1] の PHY レイヤーと MAC レイヤーを定義します。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 では、RFID、測距、およびエネルギー消費削減に使用される低レートのパルス繰り返し周波数 (LRP) UWB PHY が導入されました [1]。

  • IEEE 802.15.4z では、IEEE 802.15.4a/f の HRP と LRP 両方の UWB PHY に新しい拡張モードが導入されました [2]。

HRP UWB PHY のチャネル帯域幅は 0.5 ~ 1.3 GHz で、パルス幅は 2 ns です。パルス持続時間が非常に短いため、UWB PHY は測距用途に適しています。これは、いくつかの測距手法がパケット送信の持続時間の計算に依存しているためです。時間領域での粒度が細かいほど、距離推定の誤差が小さくなります。

この例では、エンドツーエンドのシミュレーションを実行し、ビット エラー レート (BER) 曲線を計算して、次の HRP IEEE 802.15.4a/z PHY モードにおける信頼性とビット レートの間のトレードオフを示します。

  1. IEEE 802.15.4z [2] で導入された高パルス繰り返し周波数 (HPRF) モード。

  2. IEEE 802.15.4z [2] で導入されたベース パルス繰り返し周波数 (BPRF) モード (ただし、IEEE 802.15.4a [1] に省略可能)。

  3. IEEE 802.15.4a [1]。HPRF モードおよび BPRF モードと比較して、パルス繰り返し周波数 (PRF) の平均が低くなり、データ レートも低くなります。

次の表は、これらの動作モードで使用されるさまざまな変調スキーム、データ レート、およびペイロード シンボルあたりのチップ数を示しています。

一般的な処理手順

この PHY チェーンに示されているように、さまざまな HRP モードが特定の共通コンポーネントを共有します。

IEEE 802.15.4 規格および IEEE 802.15.4z 規格では、送信機の動作のみが規定されています ([1]、[2])。受信機は、送信機の逆の操作を実行します。受信機の実装では、周波数再生またはタイミング再生は実行されません。

SECDED 符号化: PHY ヘッダー (PHR) が、1 ビット誤り訂正 2 ビット誤り検出 (SECDED) ハミング ブロック符号で符号化されます。この例の BER の計算では、PHR ビットは使用しません。

RS 符号化: ペイロードが (63, 55) リード・ソロモン符号で符号化/復号化されます。

畳み込み符号化: ペイロードと PHR が、符号化率 1/2 の畳み込み符号と拘束長 3 で符号化/復号化されます。拘束長 7 でオプションの符号化率 1/2 の畳み込み符号が HPRF モード用に提供されますが、この例では使用しません。

プリアンブルの挿入/削除: 選択された符号シーケンスが拡散され、繰り返されます。SYNC フィールドは、末尾に付加されたフレーム開始区切り記号 (SFD) を含むこのプリアンブルで構成されます。受信機は、入力波形がプリアンブルで始まり、プリアンブルの検出を必要とするような遅延がないことを前提としています。

パルス整形器: シンボル マッピングとプリアンブル挿入の出力は、3 進数のシンボル (-1,0,1) になります。IEEE 802.15.4a/z 規格では、複数のパルス整形でアナログ領域のシンボル シーケンスを表すことができます。[1]、[2] の Section 15.4 では、RF 適合性の仕様が規定されています。この例では、3 進数のシンボル シーケンスをバタワース フィルターに渡し、バタワース パルスを作成します。受信側では、積分とダンプ操作によって、パルスを変換して 3 進数のシンボルに戻します。

3 つの異なるモードの主な違いは、シンボル マッパー コンポーネント (およびそれぞれの復調器) にあります。その他の違いは、PHR フォーマット、およびプリアンブル符号シーケンスと SFD の長さと値にあります。

HPRF モード

HPRF モードでは、データ レートが 27.24 Mbps または 6.81 Mbps で、それぞれの平均 PRF が 249.6 MHz または 124.8 MHz になります。どちらの場合も、各シンボル区間は、送信チップ シーケンスとガード バンド交互のセグメントで構成されます。次のコード セグメントは、249.6 MHz の HPRF モードのペイロード シンボルを示すプロットを生成します。

msg = randi([0 1], 1000, 1);
cfgHPRF = lrwpanHRPConfig(Mode='HPRF',PSDULength=length(msg)/8);
waveHPRF = lrwpanWaveformGenerator(msg,cfgHPRF);
fig = lrwpanPlotFrame(waveHPRF,cfgHPRF);
hZoomTo1stHPRFPayloadSymbol(fig,cfgHPRF)

各畳み込みコードワードの長さは 2 ビットです (体系ごとに 1 つのパリティ ビット)。これら 2 つのビットは、249.6 MHz の平均 PRF について 8 個のペイロードと 16 個の PHR ビットにマッピングされ (上のプロットの 8 パルスを参照)、124.8 MHz の平均 PRF について 16 個のペイロードと 32 個の PHR ビットにマッピングされます。

BPRF モード

BPRF モードは、バースト位置 BPSK 変調 (BPM-BPSK) を使用します。シンボル区間は、バースト位置候補のセットに分割されます。各バーストには、バーストごとに特定の数のチップ (Ncpb) が含まれます。1 つの候補バーストにはパターンが含まれます。他のすべての候補バーストはゼロを送信します。

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 MHz で、ペイロード データ レートは 6.81 Mbps になります。シンボル内の各バーストの Ncpb は 8 チップで、バースト位置の候補数 (Nhop) は 4 になります。組織ビットにより候補位置のセットが 50% まで絞り込まれ、拡散 (バーストホッピング) シーケンスに基づいて、アクティブ バーストが残りの 2 つの Nhop の中から選択されます。

IEEE 802.15.4a

IEEE 802.15.4a HRP PHY も、BPRF モードと同様に BPM-BPSK 変調を使用します。唯一の違いは、平均 PRF とデータ レートの組み合わせにおいて、より多くの値が許可されることです。

具体的には、平均 PRF を 3.9、15.6、または 62.4 MHz にでき、データ レートを 0.11、0.85、1.7、6.81、または 27.24 Mbps にできます。Ncpb は、1、2、4、8、16、32、64、128、256、512、または 4096 にできます。Nhop は 2、8、または 32 になります。Ncpb の値に範囲があるため、BPRF モードと比較して、送信をより積極的に行うことも、より保守的に行うこともできます。

BER 曲線の計算

3 つの HRP PHY モードのそれぞれについて、この例では、AWGN チャネル上のエンドツーエンド シミュレーションを使用して、EcNo の範囲 [6,32] における BER を dB 単位で計算 (等価の SNR 値にマッピング) します。

IEEE 802.15.4a の場合、15.6 MHz の平均 PRF が 0.11 Mbps のデータ レートで使用されます。この組み合わせにより、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/8);
waveHPRF = lrwpanWaveformGenerator(msg,cfgHPRF);

cfgBPRF = lrwpanHRPConfig(Mode='BPRF',CodeIndex=9,PSDULength=msgLen/8);
waveBPRF = lrwpanWaveformGenerator(msg,cfgBPRF);

cfg4a = lrwpanHRPConfig( ...
    Mode='802.15.4a', ...
    MeanPRF=15.6, ...
    DataRate=0.11, ...
    CodeIndex=1, ...
    PSDULength=msgLen/8);
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 が低いことを示しています。データ レートが低いほど、送信される各畳み込みコードワードに対してより多くのチップが使用されます。送信されるチップの数が多いほど、誤り訂正の可能性が増えます。これは、チャネル符号化でより多くのパリティ ビットを使用するのと同じ考え方です。

その他の調査

この例では、以下の機能とユーティリティを使用します。

  • lrwpanHRPConfig:HRP 波形の構成

  • lrwpanWaveformGenerator:IEEE 802.15.4a/z HRP UWB 波形の作成

  • lrwpanHRPFieldIndices:PHY フレームの各フィールドの開始インデックスと終了インデックスの検索。

  • lrwpanWaveformDecoder:HRP IEEE 802.15.4a/z UWB 波形の復号化

lrwpanHRPFieldIndices および lrwpanWaveformDecoder は、ドキュメンテーションにないユーティリティで、その API と機能は将来変更される可能性があります。ソース コードを確認するには、関数editを使用します。

参考文献

  1. "IEEE Standard for Low-Rate Wireless Networks," in IEEE Std 802.15.4-2020 (Revision of IEEE Std 802.15.4-2015), pp.1-800, 23 July 2020, doi: 10.1109/IEEESTD.2020.9144691.

  2. "IEEE Standard for Low-Rate Wireless Networks--Amendment 1: Enhanced Ultra Wideband (UWB) Physical Layers (PHYs) and Associated Ranging Techniques," in IEEE Std 802.15.4z-2020 (Amendment to IEEE Std 802.15.4-2020), pp.1-174, 25 Aug. 2020, doi: 10.1109/IEEESTD.2020.9179124.

関連するトピック