В этом примере показано, как выполнять тесты радиопередатчика физического уровня (PHY) базовой скорости (BR) Bluetooth ® с использованием библиотеки Toolbox™ связи для протокола Bluetooth. При тестовых измерениях вычисляются отклонения частоты, смещение несущей частоты и значения дрейфа. В этом примере также проверяется, находятся ли эти значения тестовых измерений в пределах, определенных спецификациями тестирования Bluetooth RF-PHY [1].
Спецификации тестирования RF-PHY Bluetooth [1], определенные Группой специальных интересов Bluetooth (SIG), включают тесты RF-PHY для передатчиков и приемников. Цели этих тестов RF-PHY заключаются в следующем:
Обеспечение совместимости между всеми устройствами Bluetooth.
Обеспечьте базовый уровень производительности системы для всех продуктов Bluetooth.
Каждый тестовый случай имеет определенную процедуру тестирования. Ожидаемый результат должен быть удовлетворен проверяемым осуществлением (IUT).
Основная цель тестовых измерений датчика состоит в том, чтобы гарантировать, что характеристики датчика находятся в пределах, определенных спецификациями тестирования Bluetooth RF-PHY [1]. Этот пример включает в себя тесты передатчика, относящиеся к характеристикам модуляции, смещению несущей частоты и дрейфу. В этой таблице показаны различные тесты передатчика 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);
Для моделирования испытаний датчика выполните следующие действия:
Создайте форму сигнала BR Bluetooth для выбранного типа пакета и конфигурации формы сигнала.
Добавьте сдвиг частоты, который включает в себя начальный сдвиг частоты и дрейф к форме сигнала.
Добавьте шум в форму сигнала.
Выполните фильтрацию по шумовому сигналу.
Выполните демодуляцию ЧМ для отфильтрованного сигнала.
Выполните тестовые измерения и просмотрите вердикт о прохождении.
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)

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].
В примере используются следующие помощники:
helperBRModulationStartPacketConfig.m: Настраивает параметры тестирования передатчика Bluetooth
helPerExtraStartFilterDesign.m: Проектирование фильтра каналов
helperBRModulationStartMeasurements.m: Измерение отклонения частоты, смещения и дрейфа несущей частоты
helperTalamsTest.m: Выполняет проверку характеристик модуляции
helperBRModulationStartVerdict.m: Проверяет значения измерений теста и отображает результат
helperBluetoothPacketDuration.m: Возвращает длительность пакета
Группа специальных интересов 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.
Группа специальных интересов Bluetooth (SIG). «Основной системный пакет [том контроллера BR/EDR]». Спецификация ядра Bluetooth. Версия 5.2, том 2. https://www.bluetooth.com.