Main Content

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

変調特性、搬送周波数オフセット、およびドリフトについての Bluetooth BR RF-PHY 送信機テスト

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

Bluetooth RF-PHY テストの目的

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

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

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

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

RF-PHY 送信機テスト

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

RF-PHY 送信機テストの手順

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

DH/DM パケットを生成して、関数bluetoothWaveformGeneratorを通じて渡し、Bluetooth テスト波形を生成します。次の表に、さまざまなテスト ID に必要なテスト波形とパケット タイプを示します。

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

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

commSupportPackageCheck('BLUETOOTH');

シミュレーション パラメーターの構成

送信機テスト、パケット タイプ、初期周波数オフセット、最大周波数ドリフト、シンボルあたりのサンプル数に基づいて、txTestIDpacketType,initFreqOffsetmaxFreqDrift、および sps パラメーターをそれぞれ変更できます。

txTestID = 'RF/TRM/CA/BV-07-C';
packetType = 'DH1';             % Select packet type as per transmitter test case ID
initFreqOffset =0; % Initial frequency offset in Hz
maxFreqDrift =0;   % Maximum frequency drift in Hz, [-25e3, 25e3] for one slot packet
                                               % [-40e3, 40e3] for three and five slot packets
sps = 32;                                      % Minimum of 4 samples per symbol as per test specifications

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

テスト パラメーターは、送信機テスト、パケット タイプ、初期周波数オフセット、最大周波数ドリフト、シンボルあたりのサンプル数に基づいて生成されます。ペイロード、パケット期間、および波形の構成パラメーターを生成するには、関数 helperBRModulationTestPacketConfig.m を使用します。サンプル レートに基づいてチャネル フィルターを設計するには、関数 helperModulationTestFilterDesign.m を使用します。周波数オフセットと熱ノイズを付加するには、それぞれcomm.PhaseFrequencyOffsetSystem object およびcomm.ThermalNoiseSystem object を作成して構成します。

[payload,packetDuration,cfg] = helperBRModulationTestPacketConfig(txTestID,packetType,sps);
filtDesign = helperModulationTestFilterDesign('BR',sps); % Design channel filter
driftRate = maxFreqDrift/(packetDuration*sps);           % Drift rate
freqDrift = driftRate*(0:1:(packetDuration*sps-1))';     % Frequency drift for the packet
freqOffset = freqDrift + initFreqOffset;                 % Frequency offset, includes initial frequency offset and drift

% Create a phase frequency offset System object
sampleRate = sps*1e6;                                    % Sample rate in Hz
pfo = comm.PhaseFrequencyOffset('FrequencyOffset',freqOffset,'SampleRate',sampleRate);

% Create a thermal noise System object
NF = 12;                                                 % Noise figure (dB)
thNoise = comm.ThermalNoise('NoiseMethod','Noise figure', ...
                            'SampleRate',sampleRate, ...
                            'NoiseFigure',NF);

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

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

  1. 選択されたパケット タイプと波形構成について、Bluetooth BR 波形を生成します。

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

  3. ノイズを波形に付加します。

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

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

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

filtWaveform = zeros(packetDuration*sps,size(payload,2)); % Initialization
for i = 1:size(payload,2)
    txWaveform = bluetoothWaveformGenerator(payload(:,i),cfg);
    txWaveformValid = txWaveform(1:packetDuration*sps);
    wfmFreqOffset = pfo(txWaveformValid);
    wfmChannel = thNoise(wfmFreqOffset);
    filtWaveform(:,i) = conv(wfmChannel,filtDesign.Coefficients.','same');
end

送信機テストに基づいて、関数 helperBRModulationTestMeasurements.m は FM 復調処理を実行して次の値を返します。

  • RF/TRM/CA/BV-07-C: 2 つのテスト シーケンス freq1freq2 について、それぞれ周波数偏差および中心周波数を返し、2 つ目のテスト シーケンス freq3 について最大周波数偏差を返す。

  • RF/TRM/CA/BV-08-C: 初期周波数オフセット freq1 を返す。

  • RF/TRM/CA/BV-09-C: 初期周波数オフセットおよび周波数ドリフト freq1 および freq2 をそれぞれ返す。

[waveform,freq1,freq2,freq3] = helperBRModulationTestMeasurements(filtWaveform,txTestID,sps,packetType);

関数 helperBRModulationTestVerdict.m は、テストの測定値が指定された制限の範囲内にあるかどうかを検証し、判定を表示します。

helperBRModulationTestVerdict(waveform,txTestID,sps,freq1,freq2,freq3)

Test sequence: 11110000
    Measured average frequency deviation: 160 KHz
    Expected average frequency deviation range: [140 kHz, 175 kHz]
    Result: Pass
Test sequence: 10101010
    Expected 99.9% of all maximum frequency deviation greater than 115 kHz
    Result: Pass
Ratio of frequency deviations in the two test sequences: 1.1462
Expected Ratio greater than 0.8
    Result: Pass

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

付録

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

参考文献

  1. Bluetooth Special Interest Group (SIG). “Bluetooth RF-PHY Test Specification”, v1.2/2.0/2.0, EDR/2.1/2.1, EDR/3.0/3.0, HS (), RF.TS/3.0.H.1, Section 4.5. 2009. https://www.bluetooth.com

  2. Bluetooth Special Interest Group (SIG). "Core System Package [BR/EDR Controller Volume]". Bluetooth Core Specification. Version 5.2, Volume 2. https://www.bluetooth.com