在当今快节奏、互联的世界中,低功耗无线通信系统发挥着越来越重要的作用。它们使可穿戴设备、物联网传感器和智能家居设备等设备能够高效地传输和接收数据,同时节省能源。然而,这些系统中可能会出现一个特定的挑战:在数据流中传输相同位的长序列。
当无线电通过通信信道发送连续的相干比特流时,可能会导致各种问题,包括同步问题和加剧的符号间干扰(ISI)效应。这些问题可能会影响传输数据的准确接收,从而影响整体系统性能。
为了应对这一挑战,工程师经常使用一种称为“白化”的信号处理技术。在以下部分中,我们将深入研究白化滤波器的基础知识、它们的优点以及它们在各种无线通信协议中的应用。
美白滤镜:基础知识
当我们谈论“白化”时,我们基本上是在谈论使信号看起来更加随机的过程。想象一下你正在听一首歌。如果你能看到歌曲的声波,它们看起来就像是随着时间的推移而重复的模式。这种重复模式就是我们所说的信号相关性。
相比之下,如果你听未经调谐的收音机发出的静态噪声,它听起来完全是随机的,没有任何模式——这就是我们所说的白色或白化信号。
为什么我们要在发送数据之前将数据打乱成看起来更随机的形式?问题是现实世界的通信系统并不完美。传输的信号在从发射器到接收器的过程中可能会受到各种因素的影响。例如,它可能会从建筑物上反弹(一种称为多径传播的现象)或由于传输介质的特性(例如噪声的存在)而失真。
当一长串相同符号(例如,一长串 1 或 0)通过这样的系统发送时,任何失真都会类似地影响所有这些符号。结果,失真的影响变得更加复杂。
另一方面,如果数据更加随机(如白化之后的情况),则任何给定失真的影响不太可能以相同的方式影响多个连续符号。这有助于减少 ISI 的影响,使接收器更容易正确解释每个符号。
白化还有助于将信号功率均匀地分布在整个频段,确保没有特定频率携带过多功率。这很重要,因为监管机构通常对在任何给定频率下可以传输多少功率有规定。
进行美白手术
为了生成白化数据,有效负载数据与不断变化的伪随机序列进行异或运算(图 1)。该伪随机序列通常通过线性反馈移位寄存器 (LFSR) 生成。
首先,了解 LFSR 的一些背景知识:
LFSR 是一个移位寄存器,以前一状态的线性函数作为输入。在每个步骤(或“时钟周期”),寄存器中的每个位都会移位到下一个位置,移入的新位是寄存器先前状态的线性函数的输出。该函数通常只是寄存器中几个“抽头”位置的 XOR(异或)。
让我们深入研究一个实际示例,其中我们通过将数据与 PN9 序列进行异或来生成白化数据。
PN(伪随机噪声)序列是看似随机但确定性生成的比特序列。它具有指定的长度,之后会重复,并且该长度定义为 2n -1。
对于 PN9 序列,它有 2 9 - 1 = 511 个状态。当计时时,PN9 序列在重复之前以伪随机顺序生成 1 到 511 之间的所有值。
数据白化电路。
图1 数据白化电路。图片由德州仪器 (TI)提供:设计说明 DN509
PN9由多项式x 9 + x 5 + x 0表示。多项式确定 LFSR 中的反馈或“抽头”点(第 9 和第 5 位)。这意味着在每个时钟脉冲,九个寄存器中的数据将右移,并从寄存器输出一个 PN 数据,并且位 0(LSB)和位 5 进行异或以产生一个新位,该位移入下一个时钟的 MSB。
以下是整个过程的分步过程:
初始设置:首先,使用非零种子值初始化 9 位 LFSR,例如全 1 (111111111)。这是因为 LFSR 中的全零状态会导致零输出不变。
移位操作:移位操作在每个时钟周期发生。本质上,每个槽中的位都被移动到其右侧的槽中。例如,第二个槽处的比特移动到个槽,第三个槽处的比特移动到第二个槽,等等。第九个槽位(有效位)被移出寄存器。
反馈操作:在移位操作的同时,还执行反馈操作以确定 LFSR 的左边(有效)位。此操作涉及取出第 9 个时隙的位(位 0 或 LSB)和位在第五个槽(由我们的多项式 x 9 + x 5 + x 0定义)并对它们进行 XOR 运算。XOR 运算的输出被反馈到 LFSR 的左边位。
白化密钥生成(PN9):每8个时钟周期后,LFSR(寄存器中的位序列)的当前状态被用作白化密钥。这意味着每第9个时钟周期生成一个新的白化密钥。随后的白化密钥在第 17、25、33 个时钟周期等生成,以 8 为增量继续。
白化操作:然后,将9位白化密钥的8个LSB与我们要传输的数据进行异或,将数据转换为白化数据。经过白化处理的数据序列现在看起来更加随机,并且与原始数据相比具有平衡的 0 和 1 数量,通过无线通信系统进行传输
您可以在下面的表 1 中看到数据 0x0F、0xF0、0x80、0x1F、0x00、0xE0 如何转换为白化数据。
表1. 这就是数据 0x0F、0xF0、0x80、0x1F、0x00、0xE0 可以转换为白化数据的方式。
一旦白化数据在目的地被发送和接收,接收器的任务就是反转白化操作并检索原始数据。
接收器还包含一个类似的 9 位 LFSR,用于发送器处的白化。该 LFSR 与发射机的 LFSR 同步,并生成与发射机相同的白化密钥。
对于每个接收到的白化数据符号,接收器与相应的白化密钥执行异或运算。重要的是,用传输过程中使用的相同白化密钥对白化数据进行异或运算会返回原始数据。这是因为 XOR 运算是可逆的。换句话说:如果 A XOR B = C,则 C XOR B = A。
长相同位序列对信号接收的影响
当传输的数据位表现出随机且无直流模式时,即可实现无线电操作。不幸的是,传输的数据包含连续 0 或 1 的扩展序列是很常见的。这种类型的传输可能会给接收者带来某些后果:
同步困难
传输随机数据时,射频 (RF) 链路的质量会提高。这与接收器时钟恢复电路的工作密切相关。
想象一下两个人试图以一致的节奏来回传球。如果节奏突然改变,很可能有人会丢球。同样,在数据传输中,发送方(发送方)和接收方需要保持相同的节奏或“时钟”。
接收器必须模仿发送器的时钟才能正确读取传入的数据。这种同步主要发生在每次传输开始时,发送一系列交替的 1 和 0(称为前导字节)。识别出这种模式后,接收器就会调整其时钟以匹配发射器的时钟。
在理想情况下,两个时钟在通信过程中保持稳定。然而,实际上,发送端的时钟在传输过程中可能会略有变化。为了应对这些变化,接收器不断调整或微调其时钟以匹配发射器的时钟。数据中 1 和 0 交替的频率越高,接收器就越容易微调其时钟,因为有更多的参考点。
而且,如果存在长串 1 或 0,则转换会较少,这使得接收器更难保持其时钟与发送器的时钟同步。
接收器电流环路中的数据依赖性
在数字通信中,当我们谈论“数据依赖性”时,我们指的是当前数据的解释依赖于过去数据的情况。当错误发生时,这就会成为问题。例如,如果接收器错误解释了单个符号,并且后续符号依赖于该错误解释的数据,则错误可能会传播,导致一连串的错误解释。
长的相同序列的传输使得接收器很难知道一个符号在哪里开始和在哪里结束。然而,频繁在 1 和 0 之间交替的数据可以在位之间提供清晰的界限,使接收器更容易独立地正确解释每个位,从而减少错误传播的机会。
符号间干扰 (ISI)
ISI 是数字通信系统中一个符号干扰后续符号时发生的一种信号失真。这种干扰会导致难以区分符号,从而导致接收器的数据解释出现错误。
传输长序列的相同位(例如“ /0000 1010 / 0000 0000/ 0000 0100/ 0000 0010… ”)可能会加剧 ISI 问题,并导致其扩散到多个位周期。
直流偏置
当传输的信号具有直流偏置时,这意味着信号的平均值不为零。当在特定时间段内传输的 1 和 0 的数量不平衡时,就会发生这种情况。
直流偏置信号由于缺乏频繁的转换,可能会破坏此同步过程,从而导致解码错误。此外,它还可以增加信号的平均功率,从而导致更高的功耗。
为了解决这些问题,数字通信系统通常使用白化滤波器。这些过滤器有助于平衡传输数据中 1 和 0 的出现,即使原始数据包含相同值的长字符串也是如此。
实际应用中的美白过滤器:协议示例
让我们回顾一下这些过滤器的实际应用,使用现实世界的协议示例来展示它们的潜力和功效。
蓝牙低功耗
蓝牙 LE 是经典蓝牙技术的节能版本,专为设备之间的短距离通信而设计。其白化过程使用线性反馈移位寄存器 (LFSR),该线性反馈移位寄存器 (LFSR) 会生成伪随机序列,该序列与有效负载数据进行异或以生成白化数据。
BLE 中用于数据白化的 LFSR 被指定为具有多项式 x 7 +x 4 +x 0的 7 位 LFSR 。这意味着它在寄存器中有 7 个位置(或“位”),并且反馈取自第 7 位和第 4 位,或者换句话说,每一步移入的新位是寄存器中的位的异或。第 7 个位置和前一个状态的第 4 个位置中的位。
用于扰乱(白化)蓝牙有效负载数据的线性反馈移位寄存器。
LFSR 使用设置为发送或接收数据包的当前信道索引的种子进行初始化。然后,将 LFSR 生成的序列与 BLE 数据包的有效负载进行按位异或,以生成白化数据。
IEEE 802.15.4
IEEE 802.15.4 是 Zigbee 和 Thread 等协议中使用的标准,也使用数据白化过程进行传输。白化过程是在通信标准的 PHY(物理)层中实现的。
IEEE 802.15.4 的白化序列由线性反馈移位寄存器 (LFSR) 生成,类似于蓝牙低功耗。然而,IEEE 802.15.4 中使用的 LFSR 使用 16 位序列,而不是 BLE 中使用的 7 位序列(图 3)。
在低功率无线电中的关键作用
白化滤波器在管理低功率无线电中扩展的相同位序列所带来的问题方面发挥着至关重要的作用。这些序列通常会引起接收问题,从而导致同步问题、数据依赖性和升级的符号间干扰 (ISI)。