Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

BLE の変調特性、搬送周波数オフセット、およびドリフトのテストでの測定

この例では、Communications Toolbox™ Library for the Bluetooth Protocol を使用して、変調特性、搬送周波数オフセット、およびドリフトに固有の Bluetooth® Low Energy (BLE) 無線周波数 (RF) 物理層 (PHY) 送信機テストを実行する方法を説明します。テストの測定では周波数偏差、搬送周波数オフセット、およびドリフトの値を計算します。この例ではさらに、これらのテストでの測定値が Bluetooth RF-PHY テスト仕様 [1] で指定された制限の範囲内にあるかどうかを検証します。

BLE RF-PHY テストの目的

Bluetooth Special Interest Group (SIG) によって定義された Bluetooth RF-PHY テスト仕様 [ 1 ] には、送信機と受信機の両方に関する RF-PHY テストが含まれています。これらの RF-PHY テストの目的は、以下を行うことです。

  • すべての Bluetooth デバイス間の相互運用性を確保する。

  • すべての Bluetooth 製品について、基本的なレベルのシステム パフォーマンスを確保する。

各テスト ケースには指定されたテスト手順と期待される結果があり、試験対象実装 (IUT) がこれらを満たさなければなりません。

RF-PHY 送信機テスト

送信機テストでの測定の主な目的は、送信機の特性が、テスト仕様 [ 1 ] に指定されている特定の制限の範囲内にあるかを確認することです。この例には、変調特性、搬送周波数オフセット、およびドリフトに関連する送信機のテストが含まれています。次の表に、この例で実行するさまざまな RF-PHY 送信機テストを示します。

送信機テストの手順

次のブロック線図に、変調特性、搬送周波数オフセット、およびドリフトに関連する送信機のテスト手順をまとめています。

テスト パケットを生成して、bleWaveformGenerator を使用してこれらのパケットを渡し、BLE テスト波形を生成します。各テスト ID に必要なテスト波形は次のとおりです。

サポート パッケージのインストールの確認

'Communications Toolbox Library for the Bluetooth Protocol' サポート パッケージがインストールされているかどうかを確認します。

commSupportPackageCheck('BLUETOOTH');

テスト パラメーターの構成

送信機のテスト ID、シンボルごとの入力サンプル数、ペイロード長、搬送周波数ドリフトの最大値などの変数を初期化します。関数 helperBLEModulationTestConfig.m を構成してテスト パラメーターを生成できます。

txTestID = "RF-PHY/TRM/BV-09-C";
payloadLen = 240;    % Payload length in bytes, must be in the range [37,255]
sps = 32;           % Number of samples per symbol, minimum of 32 samples per
                    % symbol as per the test specifications

% Frequency offset and drift for the tests: RF-PHY/TRM/BV-06-C,
% RF-PHY/TRM/BV-12-C, RF-PHY/TRM/BV-14-C.
maxFreqDrift = 0;     % In Hz, must be in the range [-50e3,50e3]
initFreqOffset = 23000;   % In Hz, must be in the range [-100e3,100e3]
testParams = helperBLEModulationTestConfig(txTestID,sps); % Generate test parameters

送信機テストのシミュレーション

送信機テストのシミュレーションを行うには、次の手順を実行します。

  1. helperBLETestWaveform を使用して BLE テスト パケット波形を生成します。

  2. comm.PhaseFrequencyOffsetを使用して周波数オフセットを付加します。これには波形に対する初期周波数オフセットとドリフトが含まれます。

  3. comm.ThermalNoiseを使用して信号への熱ノイズを付加します。

  4. helperModulationTestFilterDesign を使用して、ノイズのある波形に対してフィルター処理を実行します。

  5. フィルター処理された波形に対して FM 復調処理を実行します。

  6. テスト測定を実行して合格判定を表示します。

testWfmLen = (testParams.nonPDULen+testParams.codingFactor*payloadLen*testParams.bitsPerByte)*sps;
driftRate = maxFreqDrift/length(testWfmLen);% Drift rate
freqDrift = driftRate*(0:1:(length(testWfmLen)-1))';% Frequency drift
freqOffset = freqDrift+initFreqOffset;% Frequency offset and frequency drift
% Create a phase frequency offset System object
pfo = comm.PhaseFrequencyOffset('FrequencyOffset',freqOffset,'SampleRate',testParams.sampleRate);
% Create a thermal noise System object
NF = 12; % Noise figure (dB)
thNoise = comm.ThermalNoise('NoiseMethod','Noise figure',...
                            'SampleRate',testParams.sampleRate,...
                            'NoiseFigure',NF);
filtDesign = helperModulationTestFilterDesign(testParams.phyMode,sps);
filtTestWfm = zeros(testWfmLen,testParams.numOfTestSeqs);
for wfmIdx = 1:testParams.numOfTestSeqs
    % Generate BLE test waveforms
    testWfm = helperBLETestWaveform(testParams.testSeqIds(wfmIdx),...
                                        payloadLen,sps,testParams.phyMode);
    wfmFreqOffset = pfo(testWfm);
    wfmChannel = thNoise(wfmFreqOffset);
    filtTestWfm(:,wfmIdx) =  conv(wfmChannel,filtDesign.Coefficients.','same'); % Perform filtering
end

関数 helperBLEModulationTestMeasurements.m は、指定されたテスト ケース ID に基づいて、周波数偏差、または周波数ドリフトと初期周波数オフセットのいずれかの FM 復調と計算を実行します。

[waveformDiffFreq,fOut1,fOut2,fOut3] = helperBLEModulationTestMeasurements(filtTestWfm,txTestID,testParams);

関数 helperBLEModulationTestVerdict.m は、測定値が指定された制限の範囲内にあるかどうかを検証し、コマンド ウィンドウに判定を表示します。

helperBLEModulationTestVerdict(waveformDiffFreq,txTestID,testParams,fOut1,fOut2,fOut3)

Test sequence: 00001111
    Measured average frequency deviation = 250 kHz
    Expected average frequency deviation = 247.5 kHz to 252.5 kHz
    Result: Pass
Test sequence: 10101010
    Expected 99.9% of all maximum frequency deviation > 185000 kHz
    Result: Pass
Ratio of frequency deviations between two test sequences = 1.163
Expected Ratio > 0.8 
    Result: Pass

この例では、変調特性、搬送周波数オフセット、およびドリフトに固有の BLE 送信機テストでの測定について説明しました。シミュレーション結果により、計算されたこれらのテストの測定値が Bluetooth RF-PHY テスト仕様 [1] で指定された制限の範囲内にあることが検証されます。

付録

この例で使用されている補助関数は次のとおりです。

参考文献

  1. Bluetooth Special Interest Group (SIG). “Bluetooth RF-PHY Test Specification”, Revision:RF-PHY.TS.5.1.0, Section 4.4. 2018. https://www.bluetooth.com

  2. Bluetooth Special Interest Group (SIG). "Bluetooth Core Specification". Version 5.2. https://www.bluetooth.com