主要内容

このページは前リリースの情報です。該当の英語のページはこのリリースで削除されています。

rf损失と补正によるエンドツーエンドの蓝牙br / EDR PHYシミュレーション

Bluetooth®协议的Communications Toolbox™Libraryこのこの例で,用于Bluetooth®协议的をを使用してBluetooth®Br/ Edr物理(PHY)ののなタイプのパケットビット率(Ber)とと误り率(per)ををするエンドエンドツーエンドのシミュレーションシミュレーション示し示しエンドエンドの(RF)损失と加法性ホワイトガウス(AWGN)を加入て歪ませます。蓝牙蓝牙BR / EDR波形波形実実なな信机で致理性してととの値を取得します。取得したシミュレーションから,ノイズ密度に対するエネルギー比(eb / no)の关键字としてととのプロットをします。

蓝牙BR / EDR无无の仕様

蓝牙は,近距离无无パーソナルエリアエリア(WPAN)技术で,2.4 GHz〜2.485 GHzの周波数量范囲グローバル免许のの产业科学医疗用免许帯域动态动学し.BLUETOOTH TAGEでは,データはパケット分割されます。各パケットが 79 個の指定の Bluetooth チャネルのいずれかで送信されます。各チャネルの帯域幅は 1 MHz です。Bluetooth では、周波数ホッピング スペクトル拡散 (FHSS) 方式を実装しており、送信机と诚信机に认识ささ疑似ランダムをしして复の周波チャネルチャネルででの周波チャネルチャネルチャネル。

Bluetooth规格では,以下のphyモードが指定れています。

基本レート(BR) -必须のモード。ガウスガウス数量キーイング(GFSK)変调変调使ます。

拡张データレート(EDR) -位相位相キーイング(PSK)をの使キーイングます。

  • EDR2M:PI / 4-DQPSKをををます。データデータ転送速度2mbpsです。

  • EDR3M:8-DPSKをを使用します。データ転送速度は3 mbpsです。

このエンドツーエンドの蓝牙Br / EDR PHYシミュレーションシミュレーションでででははがあるあるあるの蓝牙パケットのととと性能を调べます。各各パケット,bluetoothwaveformconfigオブジェクトを构成するで,ノイズ密度に対するエネルギーの比(eb / no)と等しい长さのベクトルので关键BluetoothwaveFormGeneratorをを用し生成します。

误り率の统计を蓄积するに,生成ささたをを信机〖aawgnで変更変更ししししししししししししししししししししししし変更しし

以下の RF 損失を使用してパケットを歪ませます。

  • DCオフセット

  • 搬送搬送数オフセット

  • 静的なタイミングオフセット

  • タイミングのずれ

生成された蓝牙BR / EDR波形にににホワイトガウスノイズ加载ます。

  • DCオフセットの削除

  • 信号バースト検出

  • 综合フィルター致理性

  • タイミングオフセットの推定とと正

  • 搬送搬送数オフセットの推定とと正

  • BR / EDR波形の复调

  • 官方误り误り正(FEC)のの号化の行

  • データデータ白色白色の解除実行

  • ヘッダーエラーチェック(HEC)およびおよび巡回长検查(CRC)の実行

  • 复号化されたれアドレス(leap),hec,およびcrcに基极,复号化されたと复化化れれの统计の出力

このブロック线路,各蓝牙BR / EDR PHYパケットパケットの定理手顺をています。

BERと每を调べるには,复元复元されたた出ビットをされたデータビット比较し

サポートサポートパッケージのインストールの确认

'蓝牙协议的“通信工具箱库”サポートパッケージがインストールされいるかかどうを确认しますますますますますしししし

comm金宝appsupportpackagecheck('蓝牙');

シミュレーションシミュレーションの寿期化

DB中%EB / NOEBNO = 2:2:14;每个EB / NO点模拟的最大比特错误数maxnumerrs = 100;每个EB / NO点累积的最大比特数maxnumbits = 1E6;每个EB / NO点考虑的%最大数据包数maxnumpkts = 1000;

この例では,シミュレーション时间が短くなるにmaxnumerrs,maxnumbits,およびmaxnumpktsののがが选択ていますます。

蓝牙BR / EDR波形波形构成

蓝牙BR / EDR波形波形の成にはbluetoothwaveformconfigオブジェクトを使使ます。bluetoothwaveformconfigオブジェクトオブジェクトプロパティを要件にわせて构成。

Phymode ='BR';%PHY传输模式bluetoothpacket ='fhs';%蓝牙数据包类型,这个值可以是:{'id',%'null','poll','fhs','hv1','hv2','hv3','hv3','dv','ev3',%'ev4','ev5','aux1','dm3','dm1','dh1','dm5','dh3',%'DH5','2-DH1','2-DH3','2-DH5','2-DH1','2-DH3',%'2-DH5','2-ev3','2-ev5','3-ev3','3-ev5'}SPS = 8;每个符号的%样本必须大于1

rf损失の构成

周波数オフセット,时间オフセット,およびdcオフセットのを设定して蓝牙br / EDR波形をせ歪ませせせ

频率OFFSET =6000.;%在Hz.timingOffset =0.5;样本中的%,小于1微秒timingdrift =.2;百万分之一的%dcoffset =2;%百分比w.r.t最大幅度值SymbolRate = 1E6;% 符号指数%创建定时偏移对象timingdelayobj = dsp.varifeydractiondelay;%创建频率偏移对象频率= comm.phasefrequencyOffset('采样率',symbolrate * sps);

EB / NO点点管理

それぞれのeb / no点点,次の手顺でパケット生成しててしし。

  • ランダムなビットの生成

  • 蓝牙BR / EDR波形波形生成

  • 生成した波形のawgnチャネル経由の引き渡し

  • 周波数オフセットの加

  • タイミングオフセットの追加

  • DCオフセットの追加

  • 歪んだ波形の実実実な信机を介した引き渡し

  • 每の计算

BER =零(1,长度(EBNO));%BER结果每=零(1,长度(EBNO));%结果Bitsperbyteb = 8;%每一个字节数%基于数据包设置代码率如果任何(strcmp(bluetoothpacket,{'fhs''dm1''dm3''dm5''hv2''dv''ev4'}))分数= 2/3;elsef.Strcmp(BluetoothPacket,'hv1')分数= 1/3;别的分数= 1;结尾基于PHY传输模式的%设置每个符号的比特数bitspersymbol = 1+(strcmp(phymode,'edr2m'))* 1 +(strcmp(phymode,'edr3m'))* 2;%从eBno值获得SNRSNR = EBNO + 10 * LOG10(COMODERY)+ 10 * log10(bitspersymbol) -  10 * log10(sps);%创建蓝牙BR / EDR波形配置对象txcfg = bluetoothwaveformconfig('模式',phymode,'packettype',bluetoothpacket,......'samplespersymbol',SPS);如果Strcmp(BluetoothPacket,'dm1')txcfg.payloadlength = 17;DM1数据包的最大长度(以字节为单位)结尾DataLen = GetPayLoadLength(TXCFG);有效载荷的%长度%获得PHY属性rxcfg = getphyconfigproperties(txcfg);为了ISNR = 1:长度(SNR)RNG默认%初始化错误计算参数errercalc = comm.errorate;Bervec = Zeros(3,1);pktcount = 0;检测到的蓝牙数据包数量%计数器loopcount = 0;每个SNR值下数据包数量%计数器pkterr = 0;尽管((Bervec(2)%数据位生成txwaveform =蓝牙WaveFormGenerator(TXBits,TXCFG);%添加频率偏移量surforddelay.frequencyOffset =频率OFFSET;transwaveformcfo = surforddelay(txwaveform);%添加定时延迟timingdriftrate =(Timingdrift * 1E-6)/(长度(TxWaveForm)* SPS);%时序漂移率timingdriftval = timingdriftrate *(0:1 :(长度(txwaveform)-1))';%时序漂移timingdelay =(timingOffset * sps)+ timingdriftval;%静态定时偏移和定时漂移transwaveformtimingcffo = timingdelayobj(transwaveformcfo,timingdelay);%添加DC偏移量dcvalue =(dcoffset / 100)* max(transwaveformtimingcfo);tximpairedwaveform = transwaveformtimingcfo + dcvalue;%adgn.txnoisywaveform = awgn(tximpairedwaveform,snr(ISNR),'测量');%接收器模块[rxbits,decodedinfo,pktstatus]......= HelperBluetoothPracticalReceiver(TXNoisyWaveForm,RXCFG);numofsignals =长度(pktstatus);pktcount = pktcount + numofsignals;loopcount = loopcount + 1;%BER和每个计算l1 =长度(txbits);l2 =长度(rxbits);l = min(l1,l2);如果(〜isempty(l))bervec = errercalc(txbits(1:l),rxbits(1:l));结尾pkterr = pkterr + sum(〜pktstatus);结尾%ber和per的%平均值per(isnr)= pkterr / pktcount;BER(ISNR)= Bervec(1);如果((BER(ISNR)== 0)&&(每(ISNR)== 1))BER(ISNR)= 0.5;%如果数据包错误率为1,则视平均值0.5结尾如果〜任何(strcmp(bluetoothpacket,{'ID''空值''轮询'}))disp(['模式 'Phymode.','......'模拟EB / NO =',num2str(eBno(ISNO)),' D b'','......'获得BER:',num2str(BER(ISNR)),'每次获得:'......num2str(per(isnr))]);别的DISP(['模式 'Phymode.','......'模拟EB / NO =',num2str(eBno(ISNO)),' D b'','......'每次获得:',num2str(per(isnr))]);结尾结尾
模拟EB / NO = 2 dB的模式BR:0.23611通过:0.875模式BR,模拟EB / NO = 4 dB,获得的BER:0.084028:0.89474模式BR,模拟EB / NO = 6DB,获得的BER:0.063492:0.86667模式BR,模拟EB / NO = 8 dB,获得的BER:0.025,每次:0.77419模式BR,为EB / NO = 10 dB模拟,获得的BER:0.0083333(每):0.38824模拟EB / NO = 12 dB的模式BR,获得的BER:0.0019597(如下):0.13699模式BR,用于EB / NO = 14 dB,获得的BER:0.022267获得:0.022267

シミュレーション结果

この节では,検讨したphyモードのの别eb / no范囲に対するberと每の结果をます。

数字,如果任何(strcmp(bluetoothpacket,{'ID''空值''轮询'}))numofplots = 1;%绘图别的numofplots = 2;%绘制两个ber和per子图(numofplots,1,1),半机(Ebno,Ber。','-r *');Xlabel('EB / NO(DB)');ylabel('BER');传奇(Phymode);标题('BER的蓝牙与RF损伤');抓住;网格;结尾子图(NumOfplots,1,NumOfplots),半径(eBno,per。','-k *');Xlabel('EB / NO(DB)');ylabel('每');传奇(Phymode);标题('每个蓝牙带有RF损伤');抓住;网格;

图包含2个轴对象。带有RF损伤的蓝牙标题BER的轴对象1包含类型线的对象。该对象表示BR。带有RF损伤的蓝牙标题2的轴对象2包含类型线的对象。该对象表示BR。

付录

この例で使用している補助関数は次のとおりです。

,蓝牙Br / Edrパケットを生成するエンドツーエンド完全な手顺を示していい。生成さ蓝牙br / EDR波形をrf损失とawgnを加入ことで歪ませいますととと値値を取得するため,歪ん歪ん蓝牙BR / EDR波形波形実実なな信机でで期,复调,尺号化し。

参考文献

  • 蓝牙特殊兴趣组(SIG)。“核心系统包[BR / EDR控制器音量]”。蓝牙核心规范。版本5.1,第2卷。www.bluetooth.com/

关键词する