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

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

Цели Bluetooth тесты RF-PHY

Тестовые Технические требования RF-PHY Bluetooth [1] заданный Специальной группой (SIG) Bluetooth включают тесты RF-PHY для передатчиков и приемников. Цели этих тестов RF-PHY к:

  • Обеспечьте функциональную совместимость между всеми bluetooth-устройствами.

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

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

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

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

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

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

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

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

Проверяйте, установлена ли 'Библиотека Communications Toolbox для пакета поддержки' Протокола Bluetooth.

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. Чтобы добавить смещение частоты и тепловой шум, создайте и configurecomm.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. Сгенерируйте форму волны BR Bluetooth для выбранного пакетного типа и настройки формы волны.

  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 objects. Axes object 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 object 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

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

Приложение

Пример использует этих помощников:

Выбранная библиография

  1. Специальная группа (SIG) Bluetooth. “Bluetooth Тестовая Спецификация RF-PHY”, 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. Специальная группа (SIG) Bluetooth. "Базовый Системный пакет [диспетчер BR/EDR Вольюм]". Спецификация Ядра Bluetooth. Версия 5.2, Вольюм 2. https://www.bluetooth.com.

Похожие темы