Характеристики модуляции BLE, смещение частоты несущей и измерения дрейфа

Этот пример показывает, как выполнить тесты передатчика физического слоя (RF) с низкой энергией (BLE) Bluetooth ® (PHY), характерные для характеристик модуляции, смещения частоты несущей и дрейфа, используя библиотеку Communications Toolbox™ для протокола Bluetooth. Тестовые измерения вычисляют отклонение частоты, смещение частоты несущей и значения дрейфа. Этот пример также проверяет, находятся ли эти значения тестовых измерений в пределах, заданных спецификациями тестирования Bluetooth RF-PHY [1].

Цели тестов BLE RF-PHY

Спецификации тестирования Bluetooth RF-PHY [1], определенные Bluetooth Special Interest Group (SIG), включают тесты RF-PHY как для передатчика, так и для приемника. Цели этих тестов RF-PHY состоят в том, чтобы:

  • Обеспечьте совместимость между всеми устройствами Bluetooth.

  • Обеспечьте базовый уровень производительности системы для всех продуктов Bluetooth.

Каждый тест имеет определенную процедуру тестирования и ожидаемый результат, который должен быть удовлетворен тестируемой реализацией (IUT).

Тесты передатчика RF-PHY

Основная цель тестовых измерений датчика состоит в том, чтобы убедиться, что характеристики датчика находятся в заданных пределах, как указано в спецификациях испытаний [1]. Этот пример включает тесты передатчика, относящиеся к характеристикам модуляции, смещению частоты несущей и дрейфу. Эта таблица показывает различные тесты передатчика RF-PHY, выполненные в этом примере.

Процедура тестирования передатчика

Этот блок суммирует процедуру тестирования для тестов передатчика, имеющих отношение к характеристикам модуляции, смещению частоты несущей и дрейфу.

Сгенерируйте тестовые пакеты и передайте их через bleWaveformGenerator для генерации тестовых сигналов BLE. Тестовые формы, необходимые для различных тестовых идентификаторов:

Проверка на установку пакета поддержки

Проверьте, установлен ли пакет поддержки 'Communications Toolbox Library for the Bluetooth Protocol'.

commSupportPackageCheck('BLUETOOTH');

Сконфигурируйте тестовые параметры

Инициализируйте переменные, такие как идентификатор теста передатчика, количество выборок на символ, длину полезной нагрузки и максимальный дрейф несущей частоты. Функция 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. Сгенерируйте тестовый сигнал BLE с помощью helperBLETestWaveform.

  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, выполняет FM-демодуляцию и вычисляет либо отклонение частоты, либо дрейф частоты и начальное смещение частоты на основе предоставленного идентификатора теста.

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

Функция helperBLEModulationTestVerdict.m проверяет, находятся ли измерения в заданных пределах, и отображает вердикт в командном окне.

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

Figure contains 2 axes. Axes 1 with title Frequency Demodulated Waveform for Sequence: 00001111 contains 3 objects of type line. These objects represent FM Demodulated Waveform, Average Frequency Deviation, Sequence Center Frequency. Axes 2 with title Frequency Demodulated Waveform for Sequence: 10101010 contains 3 objects of type line. These objects represent FM Demodulated Waveform, Average Frequency Deviation, Sequence Center Frequency.

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 Спецификации», редакция: RF-PHY.TS.5.1.0, раздел 4.4. 2018. https://www.bluetooth.com.

  2. Bluetooth Special Interest Group (SIG). Bluetooth Core Спецификации. Версия 5.2. https://www.bluetooth.com.

Похожие темы