具体实施方式
如前所述,有几种无线通信方案以数据包的形式在发射机和接收机之间传输数据。
图1示意性描述了发射机1将数据准备为数据包2的无线通信系统的示例,该数据包发送给天线3,使得根据适当的传输方案调制的数据可以通过方式传播通信介质5的信号传输到接收机10的天线8。接收机10用于解调发送的无线电信号并恢复在发射机1编码的数据。数据通常以包含已知位数的数据包2的形式发送。数据包2包括一些控制数据,例如前导码以及识别预期接收机的访问地址。这种通信方案的例子包括频移键控方案,例如高斯频移键控。然而,本公开的教导适用于采用前导码的任何通信系统。因此,本发明适用于许多通信方案,例如蓝牙低功耗BTLE,有时也被称为蓝牙智能。
图2示意性描述了数据包2的引导部分以及接收该数据包时接收机执行的动作。
当图1的发射机1被指示发送数据时,它首先给其振荡器和发送放大器上电,由此产生出现增加强度的连续波信号的一部分数据包,直到发射机达到其标称发射功率为止。图2中该区域被指定为20。一旦发射机操作已经建立,就发送前导码22。前导码包含发射机和接收机均已知的预定比特序列。例如,发射机可以发送包含排列为“10101010”的8位的前导码。应该理解,其他前导码是可能的。一旦完成了前导码22,发射机就发送一个地址24,该地址表示接收机和设备的标识符,这些标识符用于接收在数据包中发送的消息。接收机地址通常是已知的,因为发射机和接收机在某些时候已经“配对”以建立它们之间的通信。一旦访问地址24已经完成,则发送数据包的剩余部分26。这部分包括发射机打算发送给接收机的数据有效载荷。
图1的接收机10听取在其天线处接收到的信号。接收机不知道它与发射机之间的距离。同样,它不具备传播介质的知识。因此,接收机假定最坏的情况是必须寻找最小强度的信号。这可以确保弱信号或远端信号不会丢失。然而,这种方法的确带来了以下可能性:较强的信号会使放大器的输入级饱和或导致后续的电子设备(如模数转换器)被迫超出范围。
图2示出了接收机响应于数据包到达接收天线8而执行的功能。在第一操作中,接收机注意到在接收天线8处检测到的能量水平超过阈值并且断言能量检测信号30。然后,这引起接收机改变其放大器的增益,这通常意味着从最大值减小增益,直到在前导码期间输入功率的幅度落入可接受限度内为止。调整增益所用的时间由图2中的方框32表示。一旦增益已被调整,AGC完成信号34被断言。应该注意,执行由方框32表示的自动增益控制所需的时间是变化的。如果输入信号相对较弱,那么接收机的RF放大器和其他输入级放大器所需的增益变化相对适中,因此可以很快完成。但是,如果信号非常强,那么可能需要进行几次增益调整,直到正确设置增益以避免信号电子器件或模数转换器饱和为止。如框42所示,AGC完成信号的断言使得能够开始自动频率校正过程。
如稍后将讨论的,自动频率校正过程可以仅用于估计发射机的频率的载波与接收机的标称接收频率之间的差异或偏移。自动频率校正处理的完成导致AFC完成信号44被声明。AFC完成信号的断言启动了一个程序的开始,以识别数据包中编码的访问地址。这在块50指示的时间段期间执行,并且一旦找到并解码了访问地址信号并且解码了访问地址找到信号52就被声明。如果访问地址50对应于接收机的地址,接收机然后继续接收并解码数据有效载荷26。如果地址不匹配,则接收机知道数据不是针对它的,如果是的话期望的可以忽略数据包的其余部分,使得它可以重新启用能量和数据包检测过程以监视后续数据包的接收。
例如,在蓝牙低能量传输方案中,前导码的持续时间相对较短,为8μs。图2的方法所示的方案易受该方案的能量检测阶段的故障或干扰。例如,接收机可能处于嘈杂的环境中。这可能发生在接收机处于WiFi节点严重占用的环境中。例如,Wi-Fi发射机和接收机,即根据IEEE 802.11协议操作的设备可以使用2.4GHz、3.6GHz、4.9GHz、5GHz和5.9GHz频带的五个不同的频率范围。蓝牙的工作频率为2.45GHz(2.402至2.480GHz)。因此,尽管提供了滤波器等,但由于频率非常接近,来自WiFi设备的以高功率操作并且靠近(例如,蓝牙接收机)的信号可以触发能量检测机制来断言能量检测信号。
如果能量检测信号由于脉冲干扰信号而变得太早(例如由于脉冲干扰信号),则自动增益控制器很可能会导致增益被设置为不正确的增益设置。增益设置很可能是最灵敏的设置,因为增益是在部分设置时间没有信号的情况下设置的。一旦数据包实际到达,那么数据包的功率水平很可能会导致模拟数字转换器或信号链中的其他项目饱和。另外,在图2的布置中,自动频率校正需要在前导码期间发生,但是必须等待直到增益被设定。在发生早期(错误)触发时,自动频率校正值将使用未知输入信号或噪声进行估计,并可能会收敛于不正确的值。增益选择和频率校正过程中的失败或错误增加了访问地址检测搜索进程无法找到有效访问地址并触发超时的可能性。因此,出于以上任何原因,设置过程将失败,数据包将丢失。在发送机和接收机握手的情况下,这将触发数据包的重新传输并降低数据吞吐率。
如果能量检测信号被认定得太晚,例如因为接收机接收到的信号能量接近接收机的灵敏度阈值,那么AGC很可能不得不做出很小的涨幅修正。但是,自动频率校正步骤很可能会失败,因为在前导码正在传输的过程中,自动频率校正步骤可能无法完成,或者确实已经开始。如果AFC阶段迟迟失败或迟迟不提供其AFC完成信号,则访问地址检测步骤很可能会失败,因为它已经开始狩猎太迟而无法成功完成。
除此之外,本发明人认识到,通过丢弃启动增益校正的能量检测步骤可以实现可靠性的提高。相反,由于接收机已经在监听信号,因为这将触发能量检测过程,所以AGC过程可以在接收机等待数据包到达时保持运行。
图3示意性描述了根据本公开的方法的实施例。我们可以假设,例如,前面的数据包已经收到,因此接收机正在返回到它正在寻找新数据包的监测状态,可能来自新设备。该过程通过启用自动增益控制器来启动。这是通过声明“启动AGC”信号60来实现的。启动AGC信号可以在数据包被接收的持续时间期间保持有效,因为一旦AGC完成其增益调整过程就可以忽略它。或者,AGC过程的完成可能导致启动AGC信号复位。在图3中,自动增益处理在块62指定的时间期间发生。块62包括两个操作。在第一次操作中,AGC过程持续运行,以便既设置放大器的增益又确定前导码正在被发送。这个槽被示意性地表示为62a。一旦增益被正确设置,则需要检查前导码足够长的一段时间,以使自动增益控制器具有预先确定的前导码的置信水平。该“前导码标识符持续时间”被指定为块62。一旦前导码已被自动增益控制过程62成功识别,则自动增益控制过程完成并且声明“AGC完成”信号34。
如图3所示,本公开与自动增益校正深度并行地运行自动频率校正步骤。这就避免了图2所示的顺序处理,并且意味着每个AGC和AFC处理都有更多的时间完成,并且可以使用更大比例的前导码22。自动频率校正过程依赖于检查来自模数转换器的数据样本块。这些样本在AGC过程运行时被纠正。结果,一些样本可能饱和或以其他方式怀疑。然而,样本不断地通过寄存器移位,并且AFC处理的结果与寄存器的内容一起计算,结果可用但无效,直到前导码被识别为止。一旦我们稍后将解释的自动频率校正步骤识别出频率不匹配,则完成AFC完成信号44,从而启动接入地址检测寻找。
因此,可以重新排列处理步骤,而不是运行一组完整的步骤,处理步骤可以重新排列,使得它们中的一些并行运行并且更长时间,并且使得增益校正和控制以及频率校正处理不依赖于能量检测信号的准确定时,或实际上完全不依赖于能量检测信号的存在。
图4示意性更详细地描述了接收机10的体系结构。接收机10具有通过可变增益RF放大器100的输入连接的接收天线8。典型地,这种放大器可以包括多个可变增益级和潜在可控衰减器,这样的增益水平可以被控制而不会使放大器100饱和。放大器的输出提供给包括第一和第二混频器102和104的I-Q解调器,第一和第二混频器102和104在其本地振荡器输入端接收本地振荡器信号。本地振荡器信号由本地振荡器106提供并且通过移相器,使得第一混频器102接收与本地振荡器106的输出同相的信号,而第二混频器104接收已经移位的信号相对于本地振荡器106的输出提高90°。来自RF放大器的输出的信号在混频器102、104处与本地振荡器信号混频,以执行本领域技术人员已知的频率转换艺术。如果LO信号名义上与载波频率相同,则调制后的数据直接下变频到基带。然后将来自混频器输出端的下变频信号提供给可变带通滤波器或低通滤波器108和110,其滤波器系数可以通过改变其中的分量值来调节。如本领域技术人员已知的,DAC 112和114可以被提供用于DC偏移去除。
滤波器108和110的输出被提供给模数转换器120和122。模数转换器120和122将模拟信号转换成一系列数字代码。可以将来自模数转换器120和122的数字输出提供给自动增益控制器140,使得它可以检查输出代码以确保模数转换器未饱和或接近饱和或者可选地他们的操作不太靠近他们的本底噪音。通常,自动增益控制器140被实现为状态机。模数转换器120和122的数字输出然后可以在被提供给数字前端160之前被提供给内插器和数字滤波器150和152。或者,数字前端可以接受模拟输出的输出数字转换器直接。如本领域技术人员已知的,数字前端处理正交检测器的数字化I和Q信道以重构数据信号。
解调信号(它表示GFSK信号的频率偏差)由前导码相关器180监视,前导码相关器180试图将前导码识别到预定的精确度,并且还可以接管计算自动频率校正结果的工作以提供校正值,该校正值用于调整来自数字前端160的解调信号。该调整可以通过求和器182来进行。一旦前导码已经被定位,那么接收机也可以恢复数据包中提供的数据,可能通过位恢复电路190,其操作可以由控制位恢复电路的采样眼的打开的定时同步电路来修改,以便接收信号也可以充当它自己的数据时钟。这将在稍后更详细地讨论。
图5更详细地示意性地示出了前导码相关器180内的功能。如图5所示,数字前端160输出的解调信号被提供给并行工作的两个相关器202和204。每个相关器知道并编码了它正在寻找的前导码的一部分。第一相关器202被安排成以该序列寻找零和一。第二相关器204被设置为在该序列中寻找一个和零。可以提供进一步的相关器在不同的相关长度上操作。
模数转换器和数字前端以过采样方式工作。因此表示“1”的符号可被过采样N次。通常N是整数,并且在该示例中被选择为8。这些符号既受带宽限制也可能被整形,因此不具有方波形式。通常他们遵循半正弦曲线或高斯形状。
如果我们假设解调信号确实包含前导码,那么第一个相关器202的输出由图6a表示。类似地,第二相关器204的输出将典型地由图6b表示。在每种情况下,可以观察到,在图6a和图6b中的每一个中连续的零点或最小点之间存在两个符号,并且图6a中的最小值与图6b中的最大值对齐。第一和第二相关器202和204的输出可以通过复合最小值选择器206进行组合,可选地通过一些缩放(例如除以二)来实现图6c中所示的类型的曲线图。这里可以看出,相邻最小值之间的距离对应于一个符号。
每个相关器的动作可以用下面的等式表示:
k=样本
refcorr=参考相关器
x=解调信号
D=相关器深度(以符号表示)=Q个样本
AVG=相关窗口的平均值
c=相关器输出
可以注意到,使用并行相关器减少了每个相关器所需的样本数量,以确定它正在寻找的相关性。这具有给予设计者更大灵活性,以便从需要处理的组合输出中获得最小值或最大值的数量,以便提供前导码已确定的可接受程度的确定性。
相关性计算包括相关窗口的平均值。然而,如后面将要描述的那样,平均值被证明是需要应用的频率校正的代表,因此需要考虑到以确保相关器输出值不会在图6a至6c所示的代码空间中向更大或更小的值移动,这可能会使相关器输出中的波谷识别复杂化或中断。
数字到模拟转换器的输出通常是一个多位字,其值可以例如以10、12或更多比特精度表示。因此,来自模数转换器的代码的值可以在相对较低的值之间变化,并且值在一或两千的范围内。相关器本身可以包括多值相关序列,或者可以简单地包括适合于它正在寻求选择的比特流的零和一个序列。由于来自输入级的可变增益和接收信号强度的变化,必须采取步骤来识别相关器的组合输出中的零点(或潜在的峰值)。
图7更详细地示出了组合的相关器输出的一部分,以及其值扩展到代码的任意范围,在该示例中该代码范围在0和1500之间的范围内。相关模式从零偏移对应于至少部分)频率偏移。然而,正如后面将要解释的那样,可以在相关处理过程中估计频偏,以基本消除其影响。结果,通常可以通过查找相关器输出中的值低于图7中表示为TH1的阈值时的情况来检测最小值。根据本公开的方法和电路可以被布置为将前导码断言成一个三次连续的最小值,并且具有适当的最小间距,位于相关器的输出中。因此,在本例中,三个最小值降到TH1的值以下,表示前导码已被识别。
在较弱信号或较多噪声存在的情况下,考虑到噪声可能与接收信号相加,则连续最小值可能不会低于阈值TH1。然而,可以应用多个测试来确定前导码是否已被识别。因此,例如,如果连续四个最小值位于前导码,也可以认为前导码已被识别,最小值低于阈值TH2,其中TH2的值大于TH1的值。这个原理可以被扩展,所以如果一行中有五个最小值位于最小值小于阈值TH3(其中TH3大于TH2和TH1),则可以将前导码识别为被检测到。阈值TH1、TH2和TH3可以是固定的,或者可选地,它们可以是动态的,例如作为信号的动态范围(峰值到谷值)和其平均值的函数。
这种级联方法意味着,在输入信号具有高信噪比的情况下,相关器输出中的谷/最小值将会很深,并且只需要以相当积极的阈值来检测少量这样的谷来识别前导码已找到。这提供了一旦游戏已经被设置的前导码的更快的检测,这是有利的,因为在高信噪比信号的情况下,自动增益控制步骤可能已经使用更多时间来完成。因此,在工程方面,它被视为已经使用了更多的前导码预算。在输入信号具有低信噪比的情况下,例如,与接收机的灵敏度极限更接近,最小值将更小,因此使用积极的阈值不太可能提供前导码已被发现的指示。然而,缓慢检测寻找更多的最小值,但具有较低的侵略性阈值将起作用,因为它允许检测花费更多时间,因为AGC处理将使用较少的前导码预算。
通常,前导码检测方法可以适当地寻找任意数量的最小值或者甚至最大值。
图8表示图7的信号的更现实的图示,认识到在有限的过采样下,例如八次,则波形采用更像块的形状。在发送数据速率和过采样率已知的方案中,可以计算一个最小值和下一个最小值之间的距离。但是,由于发射机和接收机的操作是异步的,所以与第一个最小值相对应的采样值是未知的。在图8中,相关器输出使得在采样方案中在样本42处识别出第一最小值。下一个最小值应该在8个样本之后出现,即在样本50处。然而,在通信信道中存在噪声的情况下,后续采样的实际最小值可能发生在+7个采样的偏移处,而不是如预期的+8个采样。因此,适当的是不仅在预期的样本处而且在相邻的样本(即第+7和第9个样本)处监测阈值,并接受任何落在阈值TH1、TH2等等之下的样本,如果适当的话,代表该测试的该特定部分的另一种方法来识别前导码。相邻符号即第七和第九符号的阈值可以被设置为不同的值。这些相邻采样值的阈值可能比例如TH1更高,或者实际上可能被设置为低于TH1。当然,它们也可以等于TH1、TH2等等。
如前所述,发射机的载波频率与用于下变频的本地振荡器的频率之间存在频率不匹配。通常,发射机和接收机振荡器可能处于不同的温度,因此可能在频率之间具有适度的失配。例如,在IEE 802.11标准中,振荡器精度容差被规定在百万分之20以内。这给出了潜在的载波频率偏移误差,范围为-40到+40百万分之一。然而,尽管这个数字很低,但应该指出,当应用于工作在2.4GHz的载波时,这会产生高达96kHz的载波频率偏移。如果接收机和发射机中的任何一个由于多普勒效应而移动,则可能会引入进一步的偏移。但是,可以在相关过程中计算偏移量。现在可以参考图9来描述用于执行该操作的电路。例如以包括各个寄存器300-0至300-15的移位寄存器的形式的输入信号缓冲器300保持多个样本Q的记录,例如在这种情况下为16个样本。样本x(k)表示引入缓冲区的最新样本。当每个样本到达时,最近的样本在缓冲区内被移动一个元素,所以当新信号到达时x(k)变为x(k-1),并且当新的信号到达时变成x(k-2)等等。包含在样本缓冲器300中的16个样本也由平均器302处理以形成这16个样本的平均值。将来自缓冲器300的每个寄存器300-0至300-15的输出提供给相应加法器310-0至310-15的求和输入端。每个加法器还在其减法输入处接收运行平均器302的输出。平均值的输出可用AVG(k)表示,如上面方程式1所用。加法器310-0至310-15中的每一个的输出被提供给包含寄存器320-0至320-15的另一寄存器块320,寄存器320-0至320-15存储减法结果x'(k)至x'(k-15)。将这些值中的每一个与存储在相关器202的寄存器325-0至325-15中的存储的“01”前导码基准进行比较。因此,寄存器320-0至320-7表示相关值C01(0)至C01(7)可以包含0s(或者被选择为表示0s的值)并且表示相关值C01(8)至C01(15)的寄存器320-8至320-15可以包含1s(或者被选择来表示1s的值)。因此形成了x'(k)和C01(0)之间的差异。类似地,形成x'(k-1)和C01(1)之间的差异等等。形成每个差的绝对值,并且在相关器202的输出处提供16个绝对值的总和。
因此,相关器204以类似的方式工作,因此,将寄存器320-0中的值与存储在前导码寄存器330中的相关前导码参考c10(0)与取得的绝对值进行比较,例如相减。类似地,彼此相应的一对值被比较。因此,从前导码寄存器330的C10(15)中减去寄存器320-15的内容为x'(k-15)。对于这些减法中的每一个,形成绝对值,然后形成绝对值之和以提供相关器的输出。
平均器302的输出代表频率偏移,但也提供校正所需的数据。因此,加法器310-0到310-15处的平均值的减法提供了应用了自动频率校正的信号。通常,对于使用图4中描述的接收机恢复的过采样GFSK信号,输入信号由解调器处的频率偏差表示。对于'01'或'10'符号模式(或其多次重复),发射和接收单元之间的相对频率偏移可以通过对两个符号(或其倍数)的整个过采样持续时间内的过采样信号进行平均来计算-在这种情况下是16个样本(或其倍数)。此外,只要输入信号保持交替10模式,获得这种平均值不受限于开始平均的过采样过程中的哪个采样点。通过平均输入的解调信号在最近的16个样本上的平均值,其平均值为该两个符号窗口的频率偏移提供最佳猜测。在最近的两个符号窗口中去除频率偏移估计提供了对相关器性能的额外鲁棒性,并且特别地提供了对频率偏移的鲁棒性,这是现有技术解决方案的问题。
平均值302的输出每次将新的输入值引入缓冲器300时改变。平均器302的输出中作为样本数的函数的变化可以用作良好的度量以进一步限定前导码已收到。图10以图形方式绘出了代码范围内的平均输出,其重新偏向平均器输出的平均值,以便绘制运行平均值与运行平均值的平均值的偏差。可以看出,在没有信号的情况下,代码的变化非常大,对于大量的平均器输出值,通常超过100个代码差异和超过200个代码差异值。然而,在存在有希望的信号时,在这个例子中具有接近于接收机灵敏度极限的-95dBm的值,可以看出,运行平均器302的输出变化受到更多限制。通常在平均值的20或30个代码内。基于该观察结果和接收机的历史数据,平均器302的瞬时输出值可以与历史平均值进行比较,并且如果超过了限定阈值,则可以认为前导码的检测可能是错误的。因此,接收机可以选择拒绝包存在的可能性。
本公开的优点在于载波频率偏移校正可以与前导码检测并行地执行。在这种配置中,载波频率偏移可以通过在存在前导码的情况下在多个两个全符号持续时间内对解调信号进行平均来计算。符号由多个ADC输出值表示。因此,在八倍过采样系统的情况下,一个符号由八个连续的采样输出表示。图11显示了一个例子,其中跨两个符号形成的一个平均测量可以跨越值x(k)到x(k-15)。但是,为了确定正确的载波频率偏移以达到所需的精度,有可能需要检查两个以上的符号。与进一步返回测量窗口有关的符号或平均值也可能需要被处理。有利的是,任何给定的符号不被重复计数,从而在执行的数字处理中赋予它不适当的权重。因此,应该选择平均的位置以确保没有符号参与连续的平均值。这在图11中示意性地示出,其中,在可以从运行平均器302的输出拾取平均值之前,允许对应于两个符号长度的偏移通过或发生。
由于发射机和接收机的操作是异步的,因为没有共同的时间参考来对齐它们的时钟,所以应该采取措施来识别哪个过采样值应该被视为正在被发送的数据符号的代表。
相关器输出具有编码定时信息的最小值。具体而言,最小值的位置有效地对码元值被最优地提取的位置进行编码。
图12是表示多个信号转变的图。当识别数据时钟恢复的“眼图开口”时,这样的图是本领域技术人员熟悉的。为了便于解释,假设我们有一个样本序列。为了通用性,其中一个样本被指定为Pth样本。这些符号的时序已经相对于在P+3样本稍后发生的第零符号表示。
图12中标为400的一条线,由代表1和0之间转换的圆形链表示。每个符号的采样点使得转换前的最后“1”应在采样P+3并且对于在8倍过采样下操作的接收机,样本P+11周围将发生0采样。由一串十字表示的线402表示从0到1的转变,其中在转换前的最后的0值应当在样本P-5处被采样并且1值应该在样本P+3处被采样。以实线表示的线404表示从1到0并且回到1,其中0应该在样本P+3处被采样,因为这是对0符号的中点(由线410示出)的最接近的样本,1s应在样本P-5和样本P+11周围采样。
为了避免必须查看所有样本序列的处理开销并计算出峰值和谷值的位置,可以对各个样本进行门控,例如,电控开关或诸如与门的逻辑门,这可以被视为充当传输门。开关或门在图4中表示为项194,并由定时同步电路192产生的定时信号控制。定时同步电路192估计应该允许哪些样本前进到比特恢复电路190,选择每8个样本,基于由相关器确定的信息和由设计者或通过实验确定的合适的偏移量或样本计数。这种方法意味着通过开关194传播的每个信号被假定为接近“尽可能好”,并且不需要进一步努力寻找相邻样本以确定它们在恢复传输的数据方面是好还是坏。
结果,定时同步也可以与前导码识别和载波频率偏移过程并行地执行。因此可以在前导码的持续时间内为数据包的一部分配置接收机。
在由申请人针对相对较弱的信号进行的实验或在嘈杂的环境中使用(在存在许多潜在的干扰信号的意义上)的实验中,已导致丢包率从大约10%-15%降至少于百分之几。
典型地,接收机可以包括用于将本地振荡器的频率锁定到发射机频率的锁相环。根据本公开的接收机可以包括这样的锁相环。然而,锁相环工作在相对较长的时间范围内,通常为40至50μs,作为调整本地振荡器频率的滤波器时间常数,而基于前导码分析的自动频率校正可以在大约3微秒。因此,为了降低载波频率和本地振荡器频率之间的频率偏移,快速数字校正可与较慢的PLL类型校正同时进行。
因此可以提供一种用于识别数据包的前导码和配置接收机的改进方法,以便增强成功恢复包含在数据包中的数据的可能性。也可以提供根据该方法操作的接收机。
本文的权利要求书已经以适用于向USPTO提交的单一依赖性格式呈现,但是应该理解,任何权利要求可以取决于任何前述相同类型的权利要求,除非这种依赖性在技术上明显不可行。