exponenta event banner

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

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

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

Спецификации тестирования RF-PHY Bluetooth [1], определенные Группой специальных интересов Bluetooth (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 для пакета поддержки протокола 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

Создание параметров теста

Параметры тестирования формируют на основе теста передатчика, типа пакета, начального сдвига частоты, максимального дрейфа частоты и выборок на символ. Для генерации полезной нагрузки, длительности пакета и параметров конфигурации формы сигнала используйте функцию helperBRModulationStartPacketConfig.m. Чтобы разработать фильтр канала на основе частоты дискретизации, используйте функцию helperThinkedStartFilterDesign.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. Создайте форму сигнала BR Bluetooth для выбранного типа пакета и конфигурации формы сигнала.

  2. Добавьте сдвиг частоты, который включает в себя начальный сдвиг частоты и дрейф к форме сигнала.

  3. Добавьте шум в форму сигнала.

  4. Выполните фильтрацию по шумовому сигналу.

  5. Выполните демодуляцию ЧМ для отфильтрованного сигнала.

  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

Основываясь на тесте передатчика, функция helperBRModulationStartMeasurements.m выполняет демодуляцию ЧМ и возвращает следующие значения:

  • 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);

Функция helperBRModulationStartVerdict.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 (SIG). «Спецификация тестирования Bluetooth RF-PHY», версия 1.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 (SIG). «Основной системный пакет [том контроллера BR/EDR]». Спецификация ядра Bluetooth. Версия 5.2, том 2. https://www.bluetooth.com.

Связанные темы