Тесты Bluetooth BR RF-PHY передатчика на характеристики модуляции, смещение частоты несущей и дрейф

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

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

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

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

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

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

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

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

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

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

Сгенерируйте пакеты DH/DM и передайте через bluetoothWaveformGenerator функция для генерации тестовых сигналов Bluetooth. В этой таблице показаны тестовые формы сигналов и типы пакетов, необходимые для различных идентификаторов тестов:

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

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

commSupportPackageCheck('BLUETOOTH');

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

Можно изменить txTestID, packetType, initFreqOffset, maxFreqDrift и 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.PhaseFrequencyOffset и comm.ThermalNoise Системные объекты, соответственно.

[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: Возвращает отклонения частоты и центральные частоты для двух тестовых последовательностей, freq1, freq2, соответственно и максимальное отклонение частоты для второй тестовой последовательности, 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)

Figure contains 2 axes. Axes 1 with title Frequency Demodulated Waveform for Test Sequence 11110000 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 Test Sequence 10101010 contains 3 objects of type line. These objects represent FM Demodulated Waveform, Average Frequency Deviation, Sequence Center Frequency.

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 Спецификации», v1.2/2.0/2.0, EDR/2.1/2.1, EDR/3.0/3.0, HS (), RF.TS/3.0.H.1, раздел 4.5. 2009. https://www.bluetooth.com.

  2. Bluetooth Special Interest Group (SIG). «Основной системный пакет [том контроллера BR/EDR]». Спецификация ядра Bluetooth. Версия 5.2, том 2. https://www.bluetooth.com.

Похожие темы

Для просмотра документации необходимо авторизоваться на сайте