主要内容

このペ,ジの翻訳は最新ではありません。ここをクリックして,英語の最新版を参照してください。

BLEのブロックパフォーマンス,相互変調パフォーマンス,および搬送波対干渉比パフォーマンスのテスト

この例では,通信工具箱™库的蓝牙协议を使用して,蓝牙RF-PHYテスト仕様[1]に従い,ブロックパフォーマンス,相互変調パフォーマンス,および搬送波対干渉比(C / I)パフォーマンスに固有の蓝牙®低能量(bie) RF-PHY受信機テストをモデル化する方法を説明します。

背景

Bluetooth Special Interest Group (SIG)によって定義されたBluetooth RF-PHYテスト仕様[1]には,送信機と受信機の両方に関するrf-phyテストが含まれています。これらのRF-PHYテストの目的は,すべてのBLEデバイス間の相互運用性を確認し,すべてのBLE製品について基本的なレベルのシステムパフォーマンスが保証されているかを確認することです。各テストケースには指定されたテスト手順と期待される結果があり,試験対象実装(IUT)がこれらを満たさなければなりません。

はじめに

蓝牙受信機テストでは,送信される信号の強度が高く,定義されたパケット誤り率(每)で帯域内および帯域外の両方の干渉が存在する条件の範囲で,IUTがデータを受信できることを確認します。この例は,蓝牙RF-PHYテスト仕様[1]に従って行われる,ブロックパフォーマンス,相互変調パフォーマンス,およびC /我パフォーマンスに関する3つのBLE RF-PHY受信機テストを対象としています。

  • ブロックパフォ,マンス:ブロックパフォーマンステストでは,2400 MHz ~ 2483.5 MHz帯域の範囲外で作用する帯域外の干渉信号が存在する場合の受信機のパフォーマンスを検証します。

  • 相互変調パフォ,マンス:相互変調パフォーマンステストでは,周波数が近い,望ましくない信号が存在する場合の受信機のパフォーマンスを検証します。

  • C/ iパフォ,マンス: C /我パフォーマンステストでは,隣接する同一チャネル干渉信号が存在する場合の受信機のパフォーマンスを検証します。

望ましくない信号は必ずしも特定の周波数範囲で送信される信号ではないため,上記のすべてのRF-PHYテストを行う必要があります。

次のブロック線図に,フロ,の例をまとめています。

  1. テストパケットを生成して,bleWaveformGeneratorを使用してこれらのパケットを渡し,祝福テスト波形を生成します。

  2. 周波数アップコンバ,ジョンを実行して,通過帯域信号を取得します。

  3. 送信された信号を目的の入力レベルにスケ,リングします。

  4. パフォ,マンステストに応じて干渉信号を追加します。

  5. 受信機のノ▪▪ズフロアに基づいてホワ▪▪トガウスノ▪▪ズを追加します。

  6. 受信機で,信号をダウンコンバ,トして,復調,復号化を行い,crcチェックを実行します。

  7. CRCチェックに基づいてperを測定し,基準perと比較します。

サポトパッケジのンストルの確認

检查“蓝牙协议的通信工具箱库”%支金宝app持包是否安装。comm金宝appSupportPackageCheck (“蓝牙”);

シミュレ,ションパラメ,タ,の初期化

受信機のパフォ,マンステスト,phy伝送モ,ド,および動作周波数に基づいて,rxPerformanceTestphyMode,および足球俱乐部パラメ,タ,をそれぞれ変更できます。

rxPerformanceTest =“互调”从集合中选择一个{'C/I', '阻塞','互调'}%根据蓝牙RF-PHY测试规范选择PHY传输模式phyMode =“LE1M”% {LE1M, LE2M, LE500K, LE125K}用于C/I% {LE1M, LE2M}用于阻塞和互调根据性能测试选择IUT的操作频率%通用访问配置文件(GAP)角色,如下表所示。% --------------------------------------------------------------------------------%操作|外围设备和中心设备|广播设备和观察设备|%频率| | |% (MHz ) |---------------------------------|----------------------------------|% | C/I |阻断|互调| C/I |阻断|互调|% ----------|------|----------|---------------|------|----------|----------------|%最低| 2406 | - | 2402 | 2402 | - | 2402 |%中间| 2440 | 2426 | 2440 | 2426 | 2426 | 2426 |% Highest | 2476 | - | 2480 | 2480 | - | 2480 |% --------------------------------------------------------------------------------Fc = 2426e6;%操作频率,单位为HzpayloadLength =37%有效负载长度(以字节为单位),必须在[37,255]范围内SPS = 40;%每个符号的样本数目%根据PHY传输方式计算采样率,单位为HzRsym = 1e6;如果比较字符串(phyMode“LE2M”) Rsym = 2e6;结束Fs = Rsym*sps;

ベ,スバンド波形の生成

関数helperBLETestWaveform.mは,蓝牙仕様[2]に従ってbleテストパケット波形を生成するように構成できます。この例では,ペイロードタイプパラメーターを変更することによって,望ましいベースバンド波形と干渉ベースバンド波形を生成できます。

产生一个需要的信号,它总是一个调制载波与PRBS9%的有效载荷payloadTypeWanted = 0;% PRBS9序列的有效载荷类型wanted波形= helperbletest波形(payloadTypeWanted,payloadLength,sps,phyMode);产生干扰信号#1,这是一个调制载波与a% PRBS15有效载荷payloadTypeInterference = 3;% PRBS15序列的有效载荷类型interferenceWaveform1 = helperbletest波形(payloadTypeInterference,payloadLength,sps,phyMode);

周波数アップコンバ,ジョン

周波数アップコンバ,ジョンを適用して,指定した動作周波数のパスバンド信号を取得します。

%内插系数用于上转换以覆盖BLE射频频段% (2400e6至2485e6)interpFactor = ceil(2*2485e6/Fs);创建数字上转换器系统对象upConv = dsp。DigitalUpConverter (...“InterpolationFactor”interpFactor,...“SampleRate”Fs,...“带宽”2 e6,...“StopbandAttenuation”44岁的...“PassbandRipple”, 0.5,...“CenterFrequency”、Fc);将基带波形上转换为通带wantedWaveformUp = upConv([wanted波形;零(8*sps,1)]);

テストパラメ,タ,の生成

テストパラメーターは,パフォーマンステスト,動作周波数,およびPHY伝送モードに基づいて生成されます。関数helperBLETestParamGenerate.mを使用して,選択した受信機パフォーマンステストのためのすべての干渉周波数と対応するスケーリング係数(アルファ,ベータ,ガンマ)を生成します。

(α,β,γ,interferenceFreq1 interferenceFreq2] =...helperBLETestParamGenerate (rxPerformanceTest Fc, phyMode);

シミュレ,ションに使用されるパケット数に基づいて,テストパラメ,タ,を繰り返します。

pktCnt = 10;%包数maxInterferenceParams = min(length(interferenceFreq1),pktCnt);用于模拟的最大干扰参数数目重复所有干扰参数,使PER可以平均选定接收机的整个干扰频率范围%性能测试。repFact = ceil(pktCnt/maxInterferenceParams);%重复因子betaRep = repmat(beta,repFact,1);gammaRep = repmat(gamma,repFact,1);干涉efreq1rep = repmat(干涉efreq1,repFact,1);interferenceFreq2Rep = repmat(interferenceFreq2,repFact,1);

テストのシミュレ,ション

この例では3つすべてのBLE RF-PHYパフォーマンステストのシミュレーションを次のように行います。

  • ブロックパフォマンスにいては,1のみの干渉信号(干渉信号#2)。そのため,干渉信号#1のスケリング係数(ベタ)はゼロになります。

  • 相互変調パフォマンスにいては,2の干渉信号を使用します。

  • C/ iパフォマンスにいては,1のみの干渉信号(干渉信号#1)。そのため,干渉信号#2のスケ,リング係数(ガンマ)はゼロになります。

根据缓冲区上转换并存储干扰波形#1%大小,这样存储的干涉波形可以重复使用数据包计数超过缓冲区大小。干涉波形1up = 0(长度(wantedWaveformUp),maxInterferenceParams);如果任何(strcmp (rxPerformanceTest, {“C /我”“互调”}))i=1:maxInterferenceParams release(upConv) upConv。CenterFrequency = interferenceFreq1Rep(i);interferenceWaveform1Up(:,i) = upConv([interferenceWaveform1; 0 (8*sps,1)]);结束结束初始化一个变量以重用干扰波形#1j = rem(1:pktCnt,maxInterferenceParams);j(j == 0) = maxInterferenceParams;创建一个数字下转换器系统对象downConv = dsp。DigitalDownConverter (...“DecimationFactor”interpFactor,...“SampleRate”Fs * interpFactor,...“带宽”2 e6,...“StopbandAttenuation”44岁的...“PassbandRipple”, 0.5,...“CenterFrequency”、Fc);创建自动增益控制系统对象agc = com . agc“DesiredOutputPower”1);创建一个热噪声系统对象Nf = 12;%噪音系数(dB)thNoise = com . thermalnoise (“NoiseMethod”“噪声图”...“SampleRate”, interpFactor * Fs,...“NoiseFigure”、NF);产生正弦非调制干扰信号的时间矢量,即。%干扰信号#2。t = (0:(length(wantedWaveformUp)-1)).'/(interpFactor*Fs);pktLost = 0;初始化计数器我= 1:pktCnt生成一个干扰波形#2,这是一个正弦%未调制信号。根号(2)因子确保%正弦信号归一化。interferenceWaveform2 =√(2*pi*interferenceFreq2Rep(i)*t);将干扰信号加到通缉信号中rx波形= alpha*wantedWaveformUp + betaRep(i)*interferenceWaveform1Up(:,j(i)) + gamma arep (i)*interferenceWaveform2;chanOut = thNoise(复杂(rx波形));为信号添加热噪声downConvOut = downConv(real(chanOut));%执行频率下变频agcOut = agc(downConvOut);%应用AGC[payload,accessAddr] = bleIdealReceiver(agcOut,“模式”phyMode,...“SamplesPerSymbol”sps,“WhitenStatus”“关闭”);提取消息信息[crcFail,pdu] = helperBLETestPacketValidate(payload,accessAddr);验证BLE测试包pktLost = pktLost + crcFail;结束确定PERper = pktLost/pktCnt;

スペクトルの可視化

スペクトルアナライザーを作成および構成し,受信機のパフォーマンステストに基づいて最後に送信された望ましい信号と干渉信号のスペクトルを表示します。

%设置频谱查看器spectrumScope = dsp。简介(...“SampleRate”, interpFactor * Fs,...“SpectralAverages”10...“YLimits”, [-160 0],...“标题”“通缉令及干扰信号频谱”...“SpectrumUnits”dBm的...“NumInputPorts”2,...“ChannelNames”, {“想要的信号”干扰信号的},...“ShowLegend”,真的,...“FrequencySpan”“启动和停止频率”...“StartFrequency”2400 e6,...“StopFrequency”2485 e6,...“RBWSource”“属性”...“RBW”1 e5,...“PlotAsTwoSidedSpectrum”、假);如果比较字符串(rxPerformanceTest“C /我”) spectrumScope(α* wantedWaveformUp betaRep(结束)* interferenceWaveform1Up(:,结束)elseif比较字符串(rxPerformanceTest“阻止”) spectrumScope。StartFrequency = 30e6;spectrumScope(α* wantedWaveformUp gammaRep(结束)* interferenceWaveform2)其他的spectrumScope。NumInputPorts = 3;spectrumScope。ChannelNames = {“想要的信号”“干扰信号#1”干扰信号2号};spectrumScope(α* wantedWaveformUp betaRep(结束)* interferenceWaveform1Up(:,结束),gammaRep(结束)* interferenceWaveform2)结束

图频谱分析仪包含一个轴和其他类型的对象uiflowcontainer, uimenu, uitoolbar。标题为“想要的频谱”和“干扰信号”的轴包含3个类型线对象。这些对象分别代表通缉信号、干扰信号#1、干扰信号#2。

基準結果

この節では,蓝牙RF-PHYテスト仕様[16.4]の節で指定されているペイロード長に基づいて,各体育伝送モードの基準每の値を生成します。

berTable = [0.1 0.064 0.034 0.017]*0.01;如果(payloadLength <= 37) refBER = berTable(1);elseif(payloadLength <= 63) refBER = berTable(2);elseif(payloadLength <= 127) refBER = berTable(3);其他的refBER = berTable(4);结束accessAddLen = 4;访问地址长度(以字节为单位)crcLengthBytes = 3;%以字节为单位的CRC长度pduHeaderLen = 2;%头长度(以字节为单位)refPER = 1-(1- refber)^((payloadLength+accessAddLen+pduHeaderLen+crcLengthBytes)*8);流('负载长度%d字节的测量PER和参考PER分别为%f, %f。\n',每payloadLength refPER);
负载长度为37字节时,测量PER为0.000000,参考PER为0.308010。
如果/ <= refPER fprintf('%s性能测试通过。\n', rxPerformanceTest);其他的流('%s性能测试失败。\n', rxPerformanceTest);结束
互调性能测试通过。

付録

この例では,以下の補助関数を使用します。

参考文献

  1. 蓝牙RF-PHY测试规范。

  2. 蓝牙核心规范第6卷,5.0版核心系统包[低能量控制器体积]。

関連するトピック