BLE是Bluetooth Low Energy的缩写|BLE入门谈:从空中数据收发理解BLE(上)( 二 )


BLE是Bluetooth Low Energy的缩写|BLE入门谈:从空中数据收发理解BLE(上)
文章图片
图上红线代表编码数据 , 蓝线是输出信号波形 。 注意调制后信号的瞬时频率改变发生在编码值改变的时刻 。
FSK调制的一个应用是用于音频电话线路的调制解调器(Modem) , 用两个方向的数据bit流分别调制两个不同的单音 , 如下图所示 。 在线路一端 , 发出1170Hz表示0,发出1270Hz表示1;线路另一端发出2025Hz表示0 , 发出2225Hz表示1.
BLE是Bluetooth Low Energy的缩写|BLE入门谈:从空中数据收发理解BLE(上)
文章图片
我写了一段MATLAB程序模拟这样的调制波 , 将生成的wav文件从电脑播放出来就能感受FSK的频谱了 。
FS=48000;
Tt=10;
t=0:FS*Tt-1;
f_center=1170;%2125;
f_shift=100;
baud=300;
pe0=2*pi/FS*(f_center-f_shift);
pe1=2*pi/FS*(f_center+f_shift);
s=zeros(1,FS*Tt);
c=s;
p=0;
enc_one=0;
fork=1:FS*Tt
s(k)=0.9*sin(p);
c(k)=enc_one;
ifenc_one
p=p+pe1;
else
p=p+pe0;
end
ifmod(k,round(FS/baud))==0
ifrand>0.5,enc_one=0;elseenc_one=1;end
fprintf('%d',enc_one);
end
end
fprintf('');
plot(t,s,t,0.5*c-1.5,'r');
set(gca,'YLim',[-1.61]);
wavwrite(s,48000,16,'fsktone.wav');
将模拟的modemFSK(300bits/s)调制波进行FFT分析画图 , 中心频率1170Hz和2125Hz的载波用不同颜色表示:
BLE是Bluetooth Low Energy的缩写|BLE入门谈:从空中数据收发理解BLE(上)
文章图片
FSK调制的实现简单在于只需要用一个开关信号控制振荡器 , 让振荡器在两个工作频率之间二选一 , 输出就是FSK调制波 。 从上面这个频谱分析图可以看出 , FSK输出波形的频率成分能量最集中的那段也有一定跨度 , 并非只震荡器的“两个频率” 。 距离中心频率远了之后能量分布逐渐减少 , 但仍可能干扰别的信号 。
BLE使用的GFSK调制 , 前面加个G字母代表Gaussian,是让控制振荡器频率的信号波形先通过一个高斯型低通滤波器 , 让跳变沿有个平缓的过渡 。 也就是说 , GFSK调制器虽然也是两个基本振荡频率 , 但切换过程是平滑的 。
BLE是Bluetooth Low Energy的缩写|BLE入门谈:从空中数据收发理解BLE(上)
文章图片
GFSK调制比FSK调制改善了频谱的宽度 , 也就是频带的利用效率提高了 。 BLE使用GFSK调制 , 基本数据速率是1Mbps,也就是假若持续发射的话一秒可以发送一百万个0或者1.BLE5.0规范增加了2Mbps选项 。
选择40个信道中的一个 , 通过GFSK , BLE就能将一串0/1发送到空中去 。 这40个信道中有三个要单独拿出来 , 编号是37、38、39 , 它们是专门用于advertising(若译作“广播”有些偏 , 因为无线电发射本来就是广播行为 , 接收机都能收到) 。 其余37个信道用于建立连接之后的通信 。
顺便再提一下 , BLE与经典蓝牙(常见于蓝牙音箱、耳机)是不能兼容 , 不能相互通信的 。 BLE并不是传统蓝牙的简化版本 , 在信道划分上就有所不同 , 从数据格式到上层协议都差异明显 。 现在主流的智能手机是既支持经典蓝牙又支持BLE的 , 我们在提及蓝牙概念的时候要注意区分 。
BLE的数据发送是以数据包(packet)为单位进行的 , 一个数据包就是一串有格式的0和1 , 经GFSK调制成某个信道上的载波 , 再被接收机解调还原(这当中其实还有两个步骤分别叫做whitening和de-whitening , 但不改变数据长度和功能 , 就姑且忽略了) 。 如下图 , 一个原始BLE数据包由4段组成:头部是8-bitPreamble , 用于同步 , 然后是32-bit的AccessAddress(后面再看它的作用) , 接着才是数据包内容的payload , 最后跟着24-bit的CRC校验值 。
BLE是Bluetooth Low Energy的缩写|BLE入门谈:从空中数据收发理解BLE(上)