没有合适的资源?快使用搜索试试~ 我知道了~
475摘要BlueFi:蓝牙WiFiHsun-Wei Cho和Kang G. Shin密歇根大学蓝牙在提供有价值的功能方面起着关键作用,蓝牙和WiFi是实现移动和物联网设备通信的两种主导技术它们有着特定的设计目标和原则,它们有很大的不同,每个都使用自己的硬件和软件。因此,它们不能互操作,需要不同的硬件。因此,人们可能会问一个简单但似乎不可能的问题:我们通过设计、实现和演示一个名为BlueFi的新系统来积极回答这个问题。它可以在现有的广泛部署的WiFi设备上轻松运行,BlueFi通过反转WiFi硬件的信号处理来工作,并找到可由 未 修 改 的 蓝 牙 设 备 解 码 的 特 殊 802.11n 数 据 包 。 通 过BlueFi,每个802.11n设备都可以同时用作蓝牙设备,由于WiFi设备无处不在,这立即增加了蓝牙的BlueFi对于只有WiFi的设备或环境特别有用。我们在设备上实施和评估BlueFi,采用WiFi芯片。我们还构建了两个流行的端到端应用程序-蓝牙信标和音频-以展示BlueFi的实际使用。前者允许普通AP发送位置信标;后者使WiFi芯片能够实时传输蓝牙音频CCS概念• 网络→无线接入网络。关键词跨技术通信,蓝牙,WiFi1引言无线通信的未来无非是异构技术,因为每种技术都有自己的优点和缺点。 根据其特定的通信范例,每种无线标准/技术通常使用截然不同的带宽、调制/编码和介质访问控制。这对于支持多种异构无线标准来说是个坏消息,因为每种技术都需要专用硬件、部署和维护。允许制作本作品的全部或部分数字或硬拷贝供个人或课堂使用,无需付费,前提是复制品不以营利或商业利益为目的制作或分发,并且复制品在第一页上带有此通知和完整的版权的组成部分,这项工作所拥有的其他人比ACM必须尊重。允许用信用进行提取复制,或重新发布,张贴在服务器上或重新分发到列表 , 需 要 事 先 特 定 的 许 可 和 / 或 费 用 。 请 求 权 限 请 发 邮 件 至permissions@acm.org。SIGCOMM©2021计算机协会ACM ISBN 978-1-4503-8383-7/21/08。. . 十五块https://doi.org/10.1145/3452296.3472920作为商业、工业或公共环境(例如零售商、建筑物和机场)中的定位和自动化服务蓝牙位置服务设备的数量预计将以每年43%的速度增长,到2023年将达到4.31亿[1]。蓝牙也是用于个人音频流的主导技术仅2019年就有11亿台蓝牙音频流媒体设备出货,预计这一数字将以每年7%的速度增长[2]。另一方面,近年来已经出货了超过300亿个WiFi设备,其中超过130亿个设备正在使用中[3]。这些设备中的许多是已经部署在环境中的接入思科估计,到2023年,仅公共场所的WiFi热点数量将达到6.28亿[4]。如果WiFi硬件可以同时重新用作蓝牙硬件,则它将显著增加蓝牙信号的覆盖范围,并在仅存在WiFi硬件的环境中提供有用的蓝牙功能。例如,为了为数十亿设备提供互联网连接,WiFi AP已经被普遍部署,但它们中几乎没有一个带有蓝牙硬件或蓝牙连接。专用蓝牙基础设施也远不如WiFi基础设施普遍。一些台式机或低成本移动设备只配备了WiFi芯片。大多数USB WiFi连接器没有蓝牙功能。如果或者,用户可以将蓝牙外设(如蓝牙耳机)与仅支持WiFi的设备一起使用。通过WiFi-Bluetooth通信和利用最新蓝牙标准中的广播音频功能,甚至可以使用WiFiAP向附近的蓝牙耳机广播音频最后,由于WiFi设备的连接性,这些模拟的BT功能可以远程控制,甚至可以从云服务器进行控制,这非常适合物联网模式。在本文中,我们提出了BlueFi,一种新的系统,使用符合802.11n标准的硬件和简单的驱动程序更新传输合法的BT信号BlueFi不需要对蓝牙接收器和WiFi芯片的硬件和固件进行任何修改。由于较新的WiFi标准(如802.11ac和 802.11ax ) 要 求 兼 容 硬 件 与 802.11n 向 后 兼 容 , 因 此BlueFi也可以在802.11ac和802.11ax硬件上运行。BlueFi仔细补偿和逆转WiFi硬件的操作,并制作特殊的WiFi数据包。这些特殊的数据包,由我们更新的WiFi驱动程序发送,导致802.11n兼容的波形,也可由蓝牙设备解码。由于它利用了整体WiFi标准和与供应商无关的硬件功能,BlueFi可以在任何符合802.11n标准的芯片上运行,而不是特定制造商的特定芯片SIGCOMMHsun-Wei Cho和Kang G.Shin476然而,使用WiFi硬件传输BT信号非常具有挑战性,因为这两种无线标准彼此非常不同在最高级别,蓝牙在时域中对信息进行编码,而WiFi(具体而言,802.11a/g/n/ac/ax)使用OFDM并在频域中对信息进行编码。此外,大多数位操作和信号处理将由WiFi硬件自动应用,并且它们无法绕过。当蓝牙波形被传输时,这些操作将表现为信号损伤。我们确定了WiFi硬件引入的四个主要障碍来源。I1. 循环前缀(CP)插入:OFDM系统使用CP来克服符号间干扰(ISI)。然而,我们想要发送的蓝牙波形的一小部分将被该CP插入覆盖,该CP插入是OFDM符号的尾部的副本。具体地,一个WiFi符号对应于大约4个蓝牙比特。因此,位3中的部分IQ波形将覆盖位0中的IQ波形我们发现,蓝牙接收器无法拿起信号,而不仔细补偿CP插入过程。I2。 QAM调制:OFDM在应用IFFT以生成时域信号之前对频域中的信息进行编码。 虽然我们可以使用FFT来获得蓝牙波形的频域等效值,但是我们不能完美地重建频域信号,因为WiFi发射器只能在频域中以非常粗略的分辨率生成星座图。例如,使用64 QAM,必须从64个星座之一中选择频域中每个子载波处的样本所选择的星座与理想值之间的差异导致频域中的损伤,并且随后导致时域中的损伤。选择最佳的蓝牙性能的最佳constel- lations可以制定为一个整数规划(IP)的问题,因此是NP完全。对于这个问题的规模,通过穷举搜索来解决IP问题几乎是I3. 导频和空:并非一个OFDM符号中的所有子载波都用于数据传输。子载波中的四个用于π-时隙信号,并且它们平均具有比用于数据传输的那些更高的幅度。相反,一些子载波,例如子载波0,必须为0。如果这些导频和空值太接近蓝牙信道的中心频率,则它们将破坏传输波形I4。FEC编码器:WiFi使用前向纠错(FEC)来对抗通信错误。由于FEC编码器向比特流添加因此,编码器不能生成任意序列。因此,BlueFi必须决定哪些比特比其他比特更重要,并找到最小化目标输出序列和重构输出序列之间的重要比特的汉明距离的输入序列我们设计了BlueFi来克服上述缺陷,并在真实的、广泛采用的WiFi芯片上进行了测试,发现传输的信号可以被传统的、未经修改的蓝牙设备正确解码虽然这些损害降低了信号质量,但由于允许WiFi以高功率传输,因此接收信号强度实际上更高我们亦已评估各项减值的影响。BlueFi为现实世界的应用提供了巨大的机会。例如,BlueFi可以使用已经部署在几乎所有地方的WiFi基础设施这将是非常有用的,特别是在企业,商业或公共环境中,提供有用的功能,如寻路,导航,接近营销等,所有除了WiFi连接,同时。由于这种市场需求,已经提出了各种解决方案。例如,Cisco Virtual Beacon [5]将蓝牙信标功能添加到现有的Cisco AP。但是,思科解决方案需要在每个AP上安装专用的专用硬件,因此会产生硬件和部署成本。(The虚拟一词指的是它是一个联网的解决方案,允许远程管理和更新。)相比之下,我们可以使用BlueFi在现有的WiFi AP上轻松实现此类功能,无需额外的硬件。从某种意义上说,BlueFi是一个真正的虚拟解决方案,它纯粹在软件层面实现蓝牙。为了演示这一点,我们构建了一个端到端的示例,在该示例中,一个符合802.11n标准的AP被转换为蓝牙信标。BlueFi也可以与通用和实时蓝牙应用程序一起使用。特别是,我们能够使用WiFi芯片通过A2DP(高级音频分发配置文件)传输实时音频。 我们设想,BlueFi将有助于消除未来设备中对专用蓝牙或组合芯片的需求,节省成本和宝贵的电路板空间,这对于智能手机或手表等小型设备非常重要。或者,BlueFi可以帮助用户使用蓝牙耳机与笔记本电脑或台式机与旧的或没有蓝牙硬件。2系统设计2.1引物我们首先回顾蓝牙和802.11n的PHY规范。通过比较这些技术,我们探索利用现有WiFi硬件的功能来传输蓝牙信号的机会。附录A.4中汇编并提供了首字母缩略词列表。2.1.1蓝牙. 蓝牙使用GFSK(高斯频移键控),这是一种频移键控,高斯滤波器应用于输入比特流,以减少频谱泄漏。对于FSK,输出具有位“1”的正频率偏差由于相位可以通过对频率进行积分来获得,因此发送1此外,由于没有信息被编码在时域波形的幅度中,因此蓝牙分组可以仅由波形的相位来完全表征。蓝牙设备应该支持基本的1Mbps数据速率,因此蓝牙中的比特持续时间为1000ns。对于蓝牙信标,在2402、2426或2480 MHz上广播广告分组,并且信标操作不需要跳频事实上,接收器的责任是扫描所有3个广告信道,并且发射器可以在1、2或3个通道[6]。相比之下,跳频对于连接的设备的操作是至关重要的,并且分组在时隙中传输。每个时隙为625µ s,设备只能启动SIGCOMM477卢恩 ���[n]IFFTCP插入天线比特流X[][n]图1:802.11n发射机载体每隔一个时隙发送。一旦传输开始,单个分组可以占用多个(3或5个)时隙,并且频率在多时隙传输期间保持相同。2.1.2802.11n. 802.11n在802.11标准中被正式称为高吞吐量(HT)PHY [7],802.11n继承了与802.11a和802.11g相同的OFDM结构。图1显示了典型802.11 n发射器的框图从MAC层发送的比特流被馈送到加扰器以去除长时间运行的1扰码器将输入比特流与移位寄存器产生的伪随机序列进行异或运算。为了增强鲁棒性,前向纠错(FEC)编码器随后向加扰比特流添加冗余可以选择不同的码率,并通过跳过某些编码比特的传输(交织器不是将相邻比特分配给相同或附近的在强制20MHz模式中,64个子载波中的52个子载波用于数据传输。 比特被分组并利用BPSK、QPSK、16-QAM或 64-QAM 映 射 放 置 在 这 些 子 载 波 上 。 子 载 波 由20/64=0.3125MHz分开,并且子载波-21、-7,7和21用于导频音。子载波0始终为0。这64个子载波上的样本通过IFFT转换为64样本长的时域信号。最后16个时域样本被复制并插入到64个样本的 前 面 。 波 形 的 插 入 部 分 被 称 为 循 环 前 缀(CP)。 这80个样本构成一个802.11n OFDM符号。802.11n波形的数据部分(通常)由多个OFDM符号组成。为了进一步减少由OFDM符号之间的不连续性引起的频谱泄漏,该标准建议在时域中应用加窗。对于两个连续的符号,可以通过将IFFT结果的第一样本附加到第一符号,然后将第二符号的第一样本设置为这两个值之间的平均值来实现窗口化十六个0该数据部分是附加到一个802.11n前导码,其中包含由发射机和同步和CFO(载波频率偏移)校正信号使用的各种我们使用了802.11n包括几个关键特性。对于BlueFi来说,最重要的是-重要的是短保护间隔(SGI),这是BlueFi需要802.11n硬件而不是802.11g的唯一原因。利用SGI,CP的长度从16个样本(800ns)减少到8个样本(400ns),并且因此由CP的插入引入较少的损害。SGI直接将吞吐量提高了10%以上,因此在所有主要供应商的所有设备上都实现了SGI,尽管它是可选的特征。任何宣称速度为150、300、450或600Mbps的802.11n NIC或路由器都具有SGI功能。帧聚合是802.11n中的一项强制功能。虽然单个MAC层有效载荷(MPDU)的最大长度是2,304字节,但是PHY有效载荷(PSDU)可以长达65,535字节。符合802.11n标准的NIC支持多天线是802.11n的一个主要焦点,但它是一个可选功能。因此,所有设备都应该支持使用单个空间流。2.2BlueFi的概述和方法BlueFi从一个简单的原理开始:只要WiFi芯片产生的IQ波形与蓝牙发射器产生的IQ波形足够接近,蓝牙设备就将能够正确接收信号。因此,给定合成的蓝牙IQ波形,我们的目标是找到对应的WiFi比特流,以便当其被馈送到802.11n发射机时,生成的IQ波形将是尽可能接近蓝牙IQ波形 找到相应的比特流有点类似于简单地解码从无线电接收的802.11n分组。然而,前者与后者的不同之处在于,重建的IQ波形与目标蓝牙IQ波形的“接近”程度应该由蓝牙接收器的解码过程来确定,并且从WiFi硬件的角度来看,小的信号偏差可以完全破坏蓝牙接收器的解码过程。因此,我们使用以下方法:就像解码802.11n数据包一样,BlueFi尝试逐个反转发送器中每个块的操作然而,从蓝牙接收器的角度来看,每个块的逆操作的结果是基于它们可以重建IQ波形2.3IQ波形的构造为了简单起见,我们假设蓝牙我们还假设有效载荷被正确的种子正确地加扰。我们已经建立了一个工具,用于将蓝牙有效载荷转换为GFSK位,这也可以通过其他软件工具完成。我们通过用各自的频率偏差转换1和0来构造频率信号。由于典型的WiFi硬件以20MHz的采样率生成IQ信号,因此每个1或0对应于频率信号的20个样本。我们还将0插入到然后,我们通过累加频率信号将因为我们希望传输的中心频率IQ波形ei[n]QAM扰器位交织FEC译码器SIGCOMMHsun-Wei Cho和Kang G.Shin478[][]θ[N+n]=θθ[N+n],9≤n≤63[]≤[]≤ ≤≤[]···[][][]·[]·[]蓝牙分组可能与WiFi信道之一不完全相同,我们调制相位信号(逐样本地添加线性增加的相位),使得输出是相对于WiFi信道中心的相位信号。该调制操作必须在CP插入之前应用,因为这两个操作对于相位信号是不可交换的我们将其表示为相位信号为θ[n]。2.4CP插入这个过程用相位信号来说明,因为我们总是可以将相位信号θn转换为其对应的IQ波形ei·θ[n]。CP插入块的输入可以是1对1映射。到输出,反之亦然。因此,我们不是寻找将被映射到最佳拟合IQ波形的输入,而是首先找到可以:(1)由蓝牙设备接收,以及(2)由CP插入块生成的输出IQ波形θnCP插入块的输出总是显示前8个样本与每72个样本中的最后8个样本相同。因此,满足(2)的最基本波形可以通过在每72个样本中将前8个样本复制到最后8个样本来生成。CP插入过程在技术上复制了最后一个从最后64个样品中取出8个样品,并将其插入到前面。然而,由于我们在设计最后64个样本时有完全的自由度,因此可以以最后8个样本看起来已经被插入在前面的CP波形覆盖的方式生成它们。(1)插入CP(3)重叠样本平均(2)延伸1个样品CP符号2符号1CP图2:CP插入和OFDM符号加窗虽然这种简单方法的波形在我们的模拟中以及通过USRP传输时显示出可接受的性能,但当通过真实的WiFi芯片传输时,它显示出非常差的性能,并且一些蓝牙接收器根本无法拾取任何信号。通过使用USRP传输各种IQ波形并分析蓝牙接收器的响应,我们发现这与应用于每个OFDM符号的窗口有关,这是由标准建议实施的,可以追溯到802.11a,以减少频谱泄漏。OFDM加窗的操作在图2中示出。根据该标准,加窗通过将每个OFDM符号扩展1个样本(其从紧接着CP之后的样本复制)并且然后在时域中对重叠样本进行平均来工作。由于在时间域中添加两个相位样本会产生不稳定的相位,因此精心设计的相位信号在每72个样本中的1个样本中被损坏(在CP损坏的顶部)。我们发现这种腐败本身就足以使一些设备上的接收/不接收的差异。因此,我们必须考虑一个额外的约束,其可以被概括为连续性约束:对于每个OFDM符号,最后几个样本以及扩展样本必须与下一个OFDM符号中的前几个样本连续出现。[n]:^n:图3:从每个符号的θ[n]构造θ[n我们找到了一种方法来构造满足所有这些约束的IQ波形(其相位为θn)。该过程如图3所示。从数学上讲,θ[N+n],0≤n≤ 4θ[N+n+64],5≤n≤ 8θ[N+n−64]=θ[N+n− 64],64≤n≤ 68θ[N + n]= θ[N + n-64],69 ≤ n ≤71,其中N= 0,72,144,.注意,CP(0n7)与尾部(64)完全相同n71)。此外,在加窗操作期间,每个OFDM符号被扩展一个样本θ=N+72=θ=N+ 8。由于θN+8被设置为下一个符号θN+72中的第一个样本,因此窗口对波形没有影响(0. 5θ N+72 + 0。5θN+ 72=θN+ 72。)由于在商用芯片中不能关闭CP插入,信号退化是不可避免的。然而,通过以这种方式设计波形,信号降级在每个WiFi OFDM符号中的第一个和最后一个蓝牙比特之间展开。对于这两位,退化小于250ns,这比1000ns的位持续时间短此外,这种短期退化将主要表现为高频(1/250 ns = 4 MHz)噪声,并且很可能被蓝牙接收器上的带通滤波器衰减/去除。应该发送到CP的输入,插入块可以通过去除θn[n]中的CP来计算。2.5QAMCP插入块之前紧接着IFFT和QAM生成器。因此,BlueFi首先将FFT应用于CP块的重构输入,以获得QAM生成器应该生成的频域样本。CPSIGCOMM479[][][]·[][][][]([])5·[][][]·是最小二乘拟合n|x[n] −x[n]|二是最小化。令X[f]=n|x[n]−x[n]|第2项=n(y[n])2=f(Y[f])2=F|X[f]−X[f]|2.在802.11n 中可以 使用四种可能的调制方案( BPSK、QPSK、16-QAM和64-QAM)来生成频域样本,并且更高阶的调制方案对应于更高的数据速率。更高阶的调制具有更多的星座,因此在频域中具有相对更高的分辨率然而,即使使用64-QAM,分辨率(8级或实部或虚部中的3位)也非常有限,因此我们必须仔细选择每个星座,以最大限度地减少将实部或虚部量化为8级之一的误差由于这种限制,很难设计出优化接收性能的端到端算法具体而言是WiFi符号(64-QAM)7531QX0X^0假设离散值的输入限制可以被视为整数约束。可以通过重构的时域信号的相位与原始相位信号的接近程度来测量接收性能因此,该问题可以表述为:-7-5-3-1 1 3 5 7I-1整数编程(IP)问题。注意,没有将频域样本与时域中的相位相关联的简单公式。显然,可以通过以下方式获得精确解:穷举搜索或分支定界。然而,穷举搜索的复杂度是6452=2312,因为我们可以控制52个频率上的样本(802.11n中的52个子载波用于数据即使我们尝试仅用8个子载波处的样本(对应于带宽为0。3125· 8=2.5MHz),复杂度为64.8=2.48。X^1X1ˆ-3X^:Clo ses tWi FiQAMSsymbol-5X:GFSK符号的FFT-7这两个问题在几乎所有的计算平台上都是难以解决的。因此,BlueFi使用放松,这是AP的常见做法解决一个IP问题。此外,我们尝试以找到时域波形的最佳拟合而不是该波形的相位,因为可以导出一些分析结果。假设对于时域波形x n,我们希望找到最小二乘拟合xn限制是其频域对应物X[f]仅假定圆盘半径值。(即,X<$[f]∈{a+bi|a∈{±1,±3,.±5,±7},b∈<${±1,±3,±5,±7}})由于x<$[n]图4:从X f中选择X f。X f=FFT X n。比例因子A是应用d(xn=Aei·k[n]),使得Xf相对于. r. t被适当地缩放。起源我们可以切换WiFi频道,并且WiFi频道之间存在很大的重叠。例如,假设我们想要在蓝牙信道38(2426 MHz)上发送,则该频率被WiFi信道2、3、4和5覆盖,并且对应于子载波28.8、12.8、-3.2F. FT(x[n])且令y[.n]=x[n]−x。[n],然后是P。Arseval空并选择通道以保持蓝牙通道最远因此,最小化时域残差等效于最小化频域残差。对于任何给定的X f,如果我们将Xf设为具有最短欧几里得距离的星座,则目标函数被最小化。由于只有时域波形的相位对蓝牙接收器重要,因此可以在时域波形和时域波形之间应用比例因子A。时域反射和相位:xn=Aei·ε[n]。我们设置了比例因子为1。该值被选择为使得如果一个OFDM符号内的蓝牙波形的能量主要集中在两个子载波上,则每个子载波将具有大约32(=64/2)个单位的幅度,其接近35(= 7.5)。我们使用进一步优化残差的动态缩放因子进行测试性能差异可以忽略不计,但复杂性明显更高,因为找到最佳比例因子仍然是一个IP问题。过程选择X[f]的方法在图中示出。第四章2.6领航员和空值并非所有子载波都由传入数据调制导频子载波由已知序列调制,而空子载波总是0由于我们无法控制这些导频和零点,我们通过频率规划来解决问题,利用以下事实:三频道使用信道3,最近的导频在1.8125(=5.8*0.3125)MHz之外,这显著大于蓝牙信号的带宽的一半2.7FEC编码器FEC编码器向比特流添加冗余由于其输出中的冗余,FEC编码器不能生成任意序列。要反转编码器的操作,我们必须构建一个解码器。我们专注于卷积码,因为它们是802.11n中的强制码(与可选的LDPC码相反)。FEC编码器也可以被视为解压缩器,而解码器可以被视为有损压缩器。因此,当我们试图从解码比特重构输出序列时,一些比特将不同于原始序列,因为在解码原始序列时丢失了信息。卷积码可以通过维特比算法进行最佳解码[8,9]。由于我们不处理包含噪声的空中信号,因此我们使用硬解码。维特比算法使用动态编程来找到与具有到接收序列的最小汉明距离(用于软解码的欧几里德距离)的序列相对于这个解码器,我们-19.2。我们可以计算出它到任何飞行员的距离,远离飞行员或空。在这个例子中,我们应该使用WiFiSIGCOMMHsun-Wei Cho和Kang G.Shin480使用5/6的码率,因为它在解码过程中具有最小的信息损失在传统的维特比算法中,每个比特翻转(除了在穿孔比特处的翻转)具有相等的权重,并且该算法找到使总权重最小化的最佳生存路径。然而,由于蓝牙信号仅占用WiFi频谱的一部分,因此与主蓝牙频谱相对应的子载波上的比特应该具有尽可能少的比特翻转,而其他子载波上的此外,由于比特在被映射到子载波之前被交织,因此将不存在映射到相同或附近子载波的长串比特因此,可以修改维特比算法以进一步最小化对蓝牙接收有影响的比特翻转具体来说,我们可以为那些重要的比特分配更高的权重,然后维特比算法将找到一个最佳解决方案来减少比特翻转。例如,在表1中,我们计算了OFDM符号中的前几个比特将被映射到的假设子载波9至16对应于主蓝牙频谱,则我们将最高权重分配给这些子载波上的比特;将中等权重分配给每一侧紧邻子载波9至16的4个子载波上的比特这些权重的绝对值并不重要,因为目标是分配每个比特的优先级例如,最高权重意味着这些比特只会在没有替代的情况下翻转对于需要实时数据包生成的应用程序,我们进一步简化了解码算法,以显着降低复杂性,同时保证没有重要的位翻转。对于实时解码器,我们使用2/3的码率,因为它具有最高的压缩比,因此我们可以减少给定长度的输出序列所需的输入比特的长度我们还提出以下几点WiFi中的比特交织器具有13的内部周期,并且不同周期中的相同比特位置对应于相同或附近的子载波。因此,重要的比特总是出现在每个周期的同一区域。我们还发现,WiFi中使用的卷积编码器的多项式是以这样一种方式选择的,即我们可以设计一种算法,以保证当我们将任意序列与其解码和编码后的重建进行比较时,最多有1/3的比特被翻转的2/3。具体来说,我们将原始序列分成39位的组。对于前13位,我们预先生成所有可能的12位候选者的查找表,这些候选者导致从位5到13的给定9位模式。由于设计良好的WiFi码本,任何9位模式具有且仅具有八个12位候选者和它们的第一个12位候选者。3个比特是不同的。注意,在连续编码的正常处理中,通过将9位馈送到编码器中来生成位0至13我们跟踪到目前为止解码序列的最后3位(或使用零进行初始化)。我们选择具有与这3位相同的前3位和剩余9位的候选者是比特0到13的解码序列。这12位一起保证重构序列的位5至13将不翻转,而前3位确保位0至13的解与上一轮中解码的序列兼容。我们使用类似的过程来解码位14该解决方案保证在重构/编码之后,2/3的比特将不会翻转,并且比特翻转将仅在每个13比特周期的前端附近发生使用该算法,位翻转只能发生在子载波-28到28上。-8,因此我们可以使用它来生成具有正频移的蓝牙数据包,并且它保证重要比特永远不会翻转。对于负频移,我们设计了类似的算法,使得位翻转只能发生在子载波8到28上。表1:维特比算法的权重分配位映射位置重量位映射位置重量0副载波-28,位519副载波12,位510001副载波-24,位3110副载波16,位31000...11副载波20,位41007副载波3,位3112副载波25,位518副载波8,位4100...2.8扰器我们的解决方案的可行性取决于从比特流到IQ波形的映射是否是确定性的。WiFi Tx链中可能不是确定性的唯一操作是位的加扰,因为标准建议使用然而,对于测试和认证,种子(即,加扰器的初始状态)通常可以由驱动器设置为常数,尽管关于如何这样做的公开信息非常有限并且没有很好地记录。几乎所有WiFi芯片的寄存器和寄存器映射在没有签署NDA的情况下都不可用我们发现,主要供应商(如Broadcom和Qualcomm)在其驱动程序中提供函数或寄存器定义,以将加扰器种子设置为常数。通过捕获无线电信号,我们还发现Realtek 芯 片 使 用 固 定 的 加 扰 器 种 子 , 尽 管 不 同 芯 片 代(802.11n和802.11ac)的确切值不同由于XOR运算的逆运算仅仅是相同的XOR运算,因此我们可以通过应用具有与WiFi芯片中使用的相同加扰器种子的相同加扰器来获得解扰的比特流。3执行我们已经使用Python和真正的商用WiFi芯片实现了BlueFi。我们测试了使用GL-AR 150 WiFi路由器的性能,该路由器配备了(Qualcomm)Atheros AR 9331 802.11n兼容SoC,并预装了OpenSSL [10]。AR9331属于AtherosOpenSSL支持至少272个使用ath79芯片的路由器[11]。BlueFi不使用任何OpenSSL特定的功能。我们使用OpenSort是因为它的源代码是可用的,我们可以修改ath79芯片的驱动程序代码(ath9k)。我们还测试了使用TP-Link T2 U Nano WiFi NIC的性能。T2U Nano的核心采用Realtek的RTL 8811 AU芯片。RealtekRTL88xx 设 备 系 列 在 WiFi 设 备 制 造 商 中 很 受 欢 迎 虽 然RTL8811AU支持802.11ac,但我们没有使用任何802.11ac模式。我们选择这个芯片主要是因为它便宜,并且在Linux中有BlueFi数据包的生成和传输从用户空间开始BlueFi首先收集蓝牙有效载荷。我们使用30个字节的数据与6字节的地址作为有效载荷。我们使用Python来实现第二节中描述的过程2. Scipy库[12]用于FFT计算。我们还实现了改进的维特比SIGCOMM481∼∼∼∼∼∼算法,其中优化考虑每个比特的权重。最终结果以WiFi数据包的形式发送到WiFi硬件进行传输。WiFi硬件所需发送的字节总数在几千字节的范围内,这远小于WiFi物理层(PHY)标准中定义的65,535字节的PSDU限制。我们发现,Linux内核通常会对大小超过MPDU(2,304字节)或以太网MTU(1,500字节)限制的数据包进行分片由于这些限制,BlueFi直接在驱动程序层发送数据包。BlueFi可以在驱动程序修改后支持非常长的蓝牙数据包(甚至是最长的可选5时隙数据包)对于AR9331,传输开始于用户空间,数据包通过netlink发送到内核空间中的ath9k驱动程序。在调用驱动程序中的正常发送函数之前,将调用回调函数并设置发送参数,如MCS,SGI对于RTL8811AU,我们首先删除2,304字节的硬编码限制。(This不会影响正常的WiFi流量,因为Linux内核会对传出的数据包进行分段。)数据包通过字符驱动程序接口发送到驱动程序。然后驱动程序填充传输参数并将数据包发送到硬件。为了获得最佳性能,需要知道加扰器种子的值。对于Atheros芯片,[13]建议类似于ath5k器件,早期ath9k芯片的加扰 器 种 子 可 以 通 过 清 除 PHY_CTL 寄 存 器 中 的GEN_SCRAMBLER位设置为常数1然而,我们发现AR9331使用了几乎完全不同的寄存器映射。我们通过找到寄存器的新位置解决了这个问题,这在驱动程序代码或驱动程序代码中没有提到。或者,可以在不设置寄存器的情况下确定加扰器种子,因为加扰器种子在大多数WiFi芯片中是可预测的(在Atheros的实现中递增1修复种子对正常的WiFi操作没有影响,Realtek芯片已经默认使用常量。我们通过解码它发送的WiFi信号来找到这个常数(RTL 8811 AU为71)。4评价4.1实验装置我们使用iPhone、谷歌像素和三星S6(边缘)作为蓝牙接收器 。 我 们 在 iPhone 上 使 用 nRF Connect 应 用 程 序 [16] , 在Android设备上使用Beacon Scanner应用程序[17]我们在各种条件下测量信号强度2分钟,这是nRF Connect的默认测量持续时间。对于BlueFi发射器,大多数测试都是在GL-AR 150 WiFi路由器上完成的,因为这代表了我们设想的典型用例(利用WiFi基础设施进行信标)我们可以通过SSH从互联网(例如,云服务器)、本地以太网或WiFi。为了证明BlueFi与供应商无关,我们还在RTL 8811 AU上进行了AR9331和RTL 8811AU都可以独立发送BlueFi数据包,而不管是否有任何连接到站点或AP。由于2.4GHz频谱非常拥挤,并且在测试环境中至少有2个其他AP在同一WiFi信道上运行,因此我们预计会出现办公 室环 境 中 的一 些 典 型干 扰 除了 SEC 。 4.3, 我 们使 用AR9331(18dBm)和RTL 8811 AU的默认发射功率。我们没有修改固件或AR9331的ART(Atheros无线电测试)分区,这是合规性所需的。4.2性能与距离我们将受测手机放置在距离BlueFi运行的WiFi发射器近(20cm)、近(1.5 m)和远(4.5 m)的位置,并收集蓝牙硬件报告的数据包接收信号强度(RSSI)。图图5b绘制了使用AR9331的结果,表明不同的智能手机可以以一致的性能接收蓝牙数据包。虽然nRF Connect的测量持续时间为2分钟,但iPhone我们观察到不同的RSSI水平不同的手机放置在相同的距离。S6的RSSI一般比同类产品低6 - 10 dB。这很可能是由于底层蓝牙芯片具有不同的灵敏度。即使使用专用蓝牙硬件,我们也会观察到相同的行为(第4.4)。 我们发现(通过使用USRP传输BlueFi信号)智能手机可以接收低至-90至-100 dBm的蓝牙信号。因此,裕度约为10 - 20 dB,理论上相当于3 - 10倍的范围。图图5c显示了在相同条件下使用RTL 8811 AU的结果与图5b相比,在RSSI方面存在一些变化,但是设备仍然可以使用BlueFi稳定地接收蓝牙分组。4.3性能与WiFi发射功率OpenCart提供了一种方便的方法来控制发射功率,因此我们也测量了不同发射功率水平下的接收信号强度我们把手机放在离WiFi路由器1.5米远的地方图6显示结果。RSSI在Pixel上非常高,并随着发射功率逐渐降低即使在路由器相比之下,这样的趋势在S6上并不那么明显。其RSSI值可能对波形损伤比对绝对功率更敏感。虽然iPhone的RSSI显示出与Pixel类似的趋势,但它的波动更大,这可能是多路径或环境干扰的结果。4.4与蓝牙硬件的比较为了将BlueFi与专用蓝牙硬件进行比较,我们还测量了使用传统蓝牙发射机的性能信标数据包使用信标模拟器应用程序发送[18] 在Android上。我们将蓝牙发射功率设置为高,并将广播频率设置为10 Hz。所有其他条件与第二节中的条件完全相同。四点三结果绘制在图7a中,其中前两列和后两列分别表示使用Pixel和S6作为发射器。请注意,在这里可以观察到iPhone上的相同波动行为,因此我们得出结论,发射机设计不会导致SEC中的这种行为四点三 我们还可以看到,在相同条件下,S6上的RSSI低于iPhone。由于条件与SEC中的条件完全相同。4.3我们可以直接比较图。 6和7A。 在8dBm的Tx功率下,发现BlueFi的性能与使用SIGCOMMHsun-Wei Cho和Kang G.Shin482(a) 实验装置0-20-40-60-80Pixel,近iPhone,关闭S6,近像素,远像素iPhone,近S6,远像素,关闭iPhone,远S6,关闭0 20 40 60 80 100120时间(秒)(b) AR9331图5:BlueFi0-20-40-60-80Pixel,近iPhone,关闭S6,近像素,远像素iPhone,近S6,远像素,关闭iPhone,远S6,关闭0 20 40 60 80 100120时间(秒)(c) RTL8811AU-40-50-60-70-80-900 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20发射功率(dBm)(a) 像素-40-50-60-70-80-900 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20发射功率(dBm)(b) S6-40-50-60-70-80-900 4 5 7 8 9 10 11 12 13 14 15 16 17 18 19 20发射功率(dBm)(c) iPhone图6:性能与发射功率的关系-40-50-60-70-80-90-10055504540蓝牙禁用BlueFi像素S60-20-40-60-80像素S6iPhone0 20 40 60 80 100 120像素->S6像素->iPhoneS6->像素S6->iPhone(a) 使用专用蓝牙硬件发射机(b) WiFi吞吐量测量时间(秒)(c) 具有背景WiFi流量的RSSI图7:与专用硬件的比较以及后台WiFi流量的影响专用蓝牙芯片因此,对于标称默认Tx功率为18dBm的WiFi芯片,人们可以期望BlueFi具有更好的性能。4.5对并发WiFi流量的影响我们还评估了BlueFi对并发WiFi流量的影响为此,我们使用iPerf3 [19],这是一种用于基准测试网络吞吐量的标准工具。我们在WiFi路由器上安装iperf3并将其配置为iPerf3服务器。然后,我们通过WiFi将Ubuntu笔记本电脑连接到路由器,并在笔记本电脑上运行iPerf3客户端。我们进行吞吐量测量,iPerf3每秒报告一次,持续120秒。如图7b所示,我们测试了四种场景。我们通过测量没有任何蓝牙传输的吞吐量来建立基线。然后,我们在同一个WiFi路由器上运行BlueFi,该路由器还同时运行iPerf3服务器。为了比较,我们还测试了当我们在Pixel和S6上使用专用蓝牙硬件时,吞吐量会增加。该图显示了每个场景中的吞吐量差异非常小。虽然基线具有最低的中值吞吐量,但它具有最高的平均吞吐量(UL:48.8Mbps,DL:48.7Mbps)。使用BlueFi,平均吞吐量为47.8Mbps UL和47.7Mb
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- SSM Java项目:StudentInfo 数据管理与可视化分析
- pyedgar:Python库简化EDGAR数据交互与文档下载
- Node.js环境下wfdb文件解码与实时数据处理
- phpcms v2.2企业级网站管理系统发布
- 美团饿了么优惠券推广工具-uniapp源码
- 基于红外传感器的会议室实时占用率测量系统
- DenseNet-201预训练模型:图像分类的深度学习工具箱
- Java实现和弦移调工具:Transposer-java
- phpMyFAQ 2.5.1 Beta多国语言版:技术项目源码共享平台
- Python自动化源码实现便捷自动下单功能
- Android天气预报应用:查看多城市详细天气信息
- PHPTML类:简化HTML页面创建的PHP开源工具
- Biovec在蛋白质分析中的应用:预测、结构和可视化
- EfficientNet-b0深度学习工具箱模型在MATLAB中的应用
- 2024年河北省技能大赛数字化设计开发样题解析
- 笔记本USB加湿器:便携式设计解决方案
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功