具体实施方式
众所周知,一GCP包括一对GCS(Golay Complementary Sequence,格莱互补序列)。举例来说,考虑以下零填充GCS(zero-paddedGCS)(参见图3):
[GCS1]-1-1-1-1-1-1+1+1-1+1-1+1+1-1-1+1
及其互补结构为(未示出):
在图4中,显示了GCS1的自相关;在图5中,显示了的自相关。可以清楚地看到,GCS1的自相关的旁瓣正好与自相关的旁瓣相反。
GCP sync
在本发明的第一实施例中,我们使用一种我们称为GCP同步(GCPSynchronization,″GCP Sync″)方法来执行信道估计。根据该方法,我们通过信道发送将GCPs的预设集合GCP同步(GCP Sync)附加在正常的802.15.4a UWB PHY帧的末尾。
Ipatov 802.15.4a Sync |
SFD |
PHR |
DATA |
GCP Sync |
通常,GCP同步(GCP Sync)由多对GCS组成。但是,我们注意到,每个GCP中的两个GCS不一定要直接相互跟随。只要每个GCP的两个GCS都被发送,并且接收器将输入信号与它希望在那时看到的代码的相关添加到其信道估计中,那么顺序无关紧要。举例来说,可以从大量可能代码中以伪随机方式中选择特定对来发送。当然,为了保持同步,发送器和接收器都必须知道用于生成每个GCP同步(GCP Sync)的代码集的方法。在特定实例中,实施各种已知方法来实现该同步功能。
根据本实施例,我们使用同步方法在发送器和接收器中生成相同的GCP同步(GCPSync)代码集。现在,为了解释,让我们假定预设的同步函数已经确定,对于第一GCP1,将首先发送GCS1,一段时间后,再发送在接收器中,我们:
1.将对接收的GCS1的响应与内部生成的GCS1自相关;
2.将对接收的的响应与内部生成的自相关;和
3.累加这两个相关。
如上所述,这种方法基本上保证了我们的信道估计中的自相关旁瓣的自动对消。由于这种完美的旁瓣对消特性,符号的数量和GCP同步(GCP Sync)的长度可以比我们使用随机代码或Ipatov代码短得多。
众所周知,信道将趋于延长每个发送代码的延迟扩展(delay spread)。例如,如果代码长度为1微秒且信道的延迟扩展为100ns,则由于一个代码而使得到达接收器的能量将持续1.1微秒。由于这个原因,可以在一个或多个并且可能是所有发送的符号之间插入至少等于信道中的预期延迟扩展的间隙(gap),间隙即发送器静默的时间段(aperiodoftransmitter silence)。以这种方式,来自每个代码符号的能量将分别到达接收器。当然,由于信道中的噪声和接收器中的量化噪声(quantisation noise),将会进行噪声估计,但如果我们用许多不同的代码对重复这个过程,我们仍然会生成一个好的信道估计。
当然,我们可以在帧期间的任何地方发送GCP同步(GCP Sync),包括在数据(DATA)部分之后,但是在SFD之后发送它的好处在于:SFD可作为时间戳(timestamp),使得接收器知道GCP同步(GCP Sync)何时到来,反过来,使得接收器知道在某个时刻使用其需要的代码来与输入信号相关。
由于额外安全性的考虑,我们可以在序列之间插入伪随机脉冲以伪装我们正在使用的实际代码。用于每个符号的代码长度也可以伪随机地变化,使得攻击者在尝试预测正在发送什么代码时无法知道符号的边界。
我们注意到,对于信道测量的GCP同步(GCP Sync)部分,可以使用比开始的SYNC序列(本实施例使用Ipatov码)短得多的符号长度。例如,考虑使用每2ns芯片具有一个+ve或-ve脉冲且长度为32的代码。该代码只有64ns长,但如果接收器先前已经从IpatovSync确定了路径位置(path position),那么该代码足以准确地表征第一路径。在本实施例中,路径位置告诉相关器此刻到期的代码。相关器窗口外的路径不相关,因此对于接收器是不可见的。
我们进一步注意到格莱(Golay)最初提出了二元互补序列(binarycomplementary sequences,“BCP”)。从那时起,已经提出了其他类型的互补序列。TCPs也可以起作用。已发现的多级互补序列,也可以起作用。复杂的QAM互补序列也被发现,任何这些序列都可以起作用。
Class
在第二实施例中,我们使用我们所称为加密低自相关和集(cyphered low auto-correlation sum set,“CLASS”)方法来执行信道估计。与我们的GCP同步(GCP Sync)方法一样,我们将CLASS附加到标准802.15.4a帧的末尾:
Ipatov 802.15.4a Sync |
SFD |
PHR |
DATA |
CLASS |
根据该实施例,我们通过执行以下步骤来生成CLASS(参见图6):
在发送器和接收器中:
CLASS_1,生成具有m个伪随机二进制代码的基码集每个伪随机二进制代码具有预定长度n,在发送序列中的每个符号只对应一个代码;
CLASS_2,对于基码集中的每一代码Cm,确定一个相应的自相关函数Am;
CLASS_3,确定所述Am之和SAm
CLASS_4,确定SAm之平方和SSSAbase,
CLASS_5,设x=[0,m-1]:
CLASS_5.1,设y=[0,n-1]
CLASS_5.1.1,通过反转位的符号,来创建试用代码集
CLASS_5.1.2,确定的及
CLASS_5.1.3,如果SSSAtrial小于SSSAbase,则用试用代码集替换基码集
然后,在发送器中:
CLASS_6,将最终代码集作为CLASS发送;
最后,在接收器中:
CLASS_7,接收发送的代码集及
CLASS_8,通过将最终的代码集与代码集相关来生成信道估计。
最终的代码集包括发送器将发送到接收器的CLASS代码集。由于发送器和接收器执行完全相同的过程,使用相同的伪随机种子,每个都生成完全相同的最终代码集因此,当接收器将接收的CLASS序列与内部产生的CLASS码集相关时,得到的信道估计表现出相对低的旁瓣失真。实际上,通过最小化SSSA,我们的方法确保所生成的代码集的自相关函数的旁瓣之和的能量较低,从而将最小化旁瓣失真。
我们认识到可以对我们的CLASS方法进行各种修改。举例来说,考虑以下变化:
1.检查的每个代码中的位越多,所需的计算次数就越多。我们已经发现,如果在步骤5.1中仅检查位的子集,则所得到的代码集可以具有足够低的自相关旁瓣,即足够(sufficiently)低的SSSA。如果不是检查所有位,则代码的开始位和结束位对旁瓣的大小影响最大。这是因为修改代码中的中心位不会影响整个自相关函数,只影响它的中心部分,而结束位会影响整个自相关函数。当我们在这里使用“足够”这个术语时,我们的意思是指可以从旁瓣中区分出真实路径来的足够低的标准。例如,你可以在图11中看到左边的前游标(precursor)旁瓣已经被足够地减少以显示真正的第一路径;而在右边,你可以看到未经优化的后游标(postcursor)旁瓣没有被足够减少,因此很难区分主路径上降低30dB的第一路径。
2.如果完成代码的第二次发送,即重复了步骤5,那么我们发现需要检查更少的位。进行第二次发送的一个好处在于:改变越少的位,整个序列的可预测性就越低,因而序列本身就不易受到攻击。
3.上面的步骤5.1.1,不需要每次都以暴力(in brute force)重复。存在以下捷径:例如,在加入改变的代码的自相关之前,可以存储和减去每个代码的自相关函数。此外,可以通过计算仅反转一位对自相关的影响而不是再次重新计算整个自相关,来产生改变的代码的自相关。我们相信这种特定的方法将被证明特别适合于最佳硬件实现。
4.当在步骤5.1中检查代码时,可以使用所有之前代码的SSSA,直至包括该代码,替代所有代码的SSSA。这通常导致相同数量的位反转操作的整体性能较差。但是,如果使用更多(2到4x)位反转,则可以使整体性能不会太差。这种方法也有一些优点,因为自相关累加器可以使用较少的精度位,还因为其算法可以在没有初始延迟的情况下执行。
5.测试的位反转次数可以变化。例如,初始代码可以用较少的反转测试进行优化,并且只有对最后几个代码执行更多数量的位反转。这是因为在几个代码之后生成的中间旁瓣度量是无关紧要的。只有最终的旁瓣度量,即在处理完所有代码之后,才确定最终性能。这里的目的是节省处理功耗/时间,同时确保最终度量尽可能低。为了更多的安全性的考量,还可以留一些符号根本保持不变,并且仅对符号子集执行旁瓣度量最小化运算。这种方法使得一些符号完全随机,这样攻击者就没有可以改变它们的线索。
6.我们方法的另一个变形是不进行任何位反转,而是生成一些候选伪随机代码并选择最能使旁瓣度量最小化的伪随机代码。例如,对于每个所需代码,可以生成4个候选代码。然后,将4个候选自相关函数添加到其他代码的自相关函数中,并且选择与其他代码最佳互补的候选代码。
7.与GCP同步(GCP Sync)一样,可以在SFD之后的任何时间发送CLASS;它不需要仅在DATA之后才发送。
8.值得注意的是,一旦生成代码集,就可以按任何顺序发送代码。出于安全考虑,以与生成它们的顺序不同的顺序发送代码,可能更有益。只要发送器和接收器都知道该顺序,就会保持同步。
9.旁瓣分组最小化可能会使因预测某些位的序列(特别是最后一个符号中的后面的位)而进行攻击成为可能,因为攻击者(在大多数符号发送之后)知道最终旁瓣度量的可能性非常低,因此可以计算类似地最小化先前符号的旁瓣度量的位序列。这种位序列可能类似于实际发送的位。为了防止这种攻击的可能性,我们可以在发送的代码序列中的选定位置添加多个伪符号。这样的伪符号(可能只是随机位序列)不需要进行其旁瓣度量最小化,并且将被真正的接收器忽略。但是,它们会为增加发送的符号集的整体旁瓣。同样,只要发送器和接收器都知道顺序,它们就会保持同步。但是,由于攻击者无法区分真符号和伪符号,因此它的旁瓣度量会被污染,从而阻止(或至少减少成功的可能性)这种特定的攻击机制。
10.让我们再次假设,除了与接收器相关的有效符号之外,我们将发送一个或多个伪符号。一些有效符号可以是未修改的(纯粹随机的),并且可以修改一些有效符号以最小化整组有效符号的总旁瓣度量。通常,根据该方法,可以存在有效修改符号,有效的未修改符号和伪符号的发送方案的多种变体。它们可以全部伪随机地交织在一起,或者以某种顺序依次发送。例如:可以首先发送随机符号(伪符号和未修改的有效符号可能伪随机地交织在一起),然后发送修改的有效符号。其他组合也是可能的。举例来说,其中成组的伪代码/有效代码伪随机地交织在一起,即混合在一起,然后使用现有伪随机代码生成器伪随机地生成代码索引(code index),代码索引包括一规划表,根据该规划表可进行有效符号和伪符号的发送和接收。由于发送器和接收器都使用相同的代码生成器,因此接收器将从公共代码索引知道哪些是有效代码及哪些是伪代码并且可以被忽略。考虑一个实施例,其中有效代码的数量m是8,并且所选择的伪代码数k是4,产生12代码的规划表;然后,根据一种可能的代码索引格式,在发送的代码序列中,“1”表示有效代码,“0”表示的伪代码。因此,代码索引“011011101101”表示第2,3,5,6,7,9,10,12代码是有效代码,第1,4,8,11代码是伪代码。如果需要,代码生成器可以不时地改变代码索引的长度和内部序列;一旦接收,发送器和接收器就可以立即或在一预定延迟之后开始使用新的代码索引。代码生成器还可以生成和规划多个代码索引,以与单个代码集一起使用,从而进一步增加发送的代码序列的伪随机性。
LCSSS
在第三实施例中,我们使用我们称为低互相关旁瓣和集(low cross-correlationsidelobe sum set,“LCSSS”)方法来执行信道估计。与我们的GCP同步(GCP Sync)和CLASS方法一样,我们将LCSSS附加到标准802.15.4a帧的末尾:
Ipatov 802.15.4a Sync |
SFD |
PHR |
DATA |
LCSSS |
根据该实施例,我们通过执行以下步骤来实现LCSSS(参见图7):
在发送器和接收器中:
LCSSS_1,生成具有m个伪随机二进制码的基码集每个伪随机二进制码具有预定长度n,发送序列中的每个符号只对应一个代码;
然后,在发送器中:
LCSSS_2,发送作为LCSSS的基码集及
最后,在接收器中:
LCSSS_3,接收发送的代码集及
LCSSS_4,对中的每个代码,用中的相应代码,生成互相关函数Xm;
LCSSS 5,确定包含有前游标的Xm集合之和SXm;
(*注意:前游标包括在互相关函数中心之前的互相关值。)
LCSSS_6,确定SXm之平方和SSPSCbase,
LCSSS_7,设x=[0,m-1]:
LCSSS_7.1.1,设y=[0,n-1]:
LCSSS_7.1.1.1,通过反转位的符号,来创建试用代码集
LCSSS_7.1.1.2,确定的SSPSCtrial;及
LCSSS_7.1.1.3,如果SSPSCtrial小于SSPSCbase,则用试用代码集替换基码集
LCSSS_8,通过将最终代码集与相关,来生成信道估计。
与我们的CLASS方法一样,得到的信道估计表现出相对较低的旁瓣失真。实际上,通过最小化SSPSC,我们的方法确保所生成的代码集的互相关函数的前游标之和的能量低,从而趋于使旁瓣失真最小化。使用我们的LCSSS方法,可以在没有通常的旁瓣失真的情况下发现信道估计的第一条路径。
我们认识到可以对我们的LCSSS方法中进行各种修改。举例来说,请考虑以下变化:
1.检查的每个代码中的位越多,所需的计算次数就越多。我们已经发现,如果在步骤3.5.1中仅检查了位的子集,则所得到的代码集可以具有足够低的自相关旁瓣,即足够低的SSSA。如果不是检查所有位,则代码的开始位和结束位对旁瓣的大小影响最大。这是因为修改代码的中心位不会影响整个自相关函数,而只影响它的中心部分,而结束位会影响整个自相关函数。
2.如果完成代码的第二次发送,即重复了步骤5,则我们发现需要检查较少的位。
3.上面的步骤3.5.1.1,不需要每次都以暴力(inbrute force)重复。存在快捷方式:例如,在添加改变的代码的自相关之前,可以存储和减去每个代码的自相关函数。此外,可以通过计算仅反转一位对自相关的影响而不是再次重新计算整个自相关,来产生改变的代码的自相关。我们相信这种特定的方法将被证明特别适合于最佳硬件实现。
4.当在步骤3.5.1中检查代码时,可以使用所有之前的代码,直至包括该代码,替代所有代码的SSPSC。这通常导致相同数量的位反转操作的整体性能较差。但是,如果使用更多(2到4x)位反转,则可以使整体性能不会太差。这种方法也有一些优点,因为自相关累加器可以使用较少的精度位,并且因为其算法可以在没有初始延迟的情况下执行。
5.测试的位反转次数可以变化。例如,初始代码可以用较少的测试反转进行优化,并且只有对最后几个代码执行更多数量的位反转。这是因为在几个代码之后生成的中间旁瓣度量是无关紧要的。只有最终的旁瓣度量,即在处理完所有代码之后,才确定最终性能。这里的目的是节省处理功耗/时间,同时确保最终度量尽可能低。
6.与GCP同步(GCP Sync)一样,LCSSS代码集不需要在DATA之后发送,它可以在SFD之后的任何时间发送。
7.一种理论上可能的攻击方法可能是攻击者试图预测接收器如何在接收器中改变发送的且用来进行相关的随机位,然后更早地发送那些预测的位。这种预测尝试可以基于对旁瓣的分析,知道接收器的试图最小化旁瓣的的LCSSS算法。因此,为了进一步提高安全性,发送器可以在发送中添加许多伪符号。这种伪符号(可能只是随机位序列)不会被接收器的LCSSS算法处理(它是有效符号的补充旁瓣);相反,他们会被忽略。然而,这些伪符号会增加发送符号集的额外旁瓣。由于攻击者无法区分有效符号和伪符号,因此攻击者发送的旁瓣度量将被污染,从而防止或减少接收器相关或预测正确的LCSSS位的可能性。可以存在有效和伪符号的发送方案的多种变体,例如,它们可以全部是伪随机交织在一起。
LCSSS过程相对于CLASS过程的一个优点是发送的序列是完全随机的而没有修改。与CLASS序列一样,LCSSS序列具有非常低的前游标旁瓣,因此给出几乎无失真的第一路径估计;但是CLASS序列的缺点是,一些或所有发送的代码已经从它们的原始随机状态修改为能够产生低自相关旁瓣之和的代码。攻击者可能会利用修改后的代码集的这个属性来猜测一些位,通过发送这些猜测的位使得它们比实际位更早到达,从而成功地将这些位伪装成更接近实际位的位。
如上所述,位反转是可以有效地用于寻找更好的代码序列的一种技术。然而,如果需要重新计算每个候选位反转的所有自相关,则该技术在计算上是低效的。然而,我们已经发现,可以仅计算单个位反转对互相关的差异。我们已经确定可以在硬件中有效地实现以下示例性伪代码算法:
在发送器和接收器中都进行位反转的CLASS方法中,可以采用类似的方法,但是“差异”变量是作为两个向量之和。
现在让我们比较以下替代方法的信道估计性能:
方法1:如图8所示,纯随机的代码集,其中每个代码包括64个符号且与其自身相关;
方法2:如图9所示,纯随机的代码集,每个代码包括512个符号且与其自身相关;
方法3:如图10所示,CLASS代码集,每个代码包括64个符号且与其自身相关;和
方法4:如图11所示,LCSSS随机代码集,每个代码包括64个符号且与其自身相关。
通过比较图8及图9与图10及图11,可以看出,尽管长度短8倍,CLASS信道估计(方法4)和LCSSS信道估计(方法4)都比纯随机信道估计(方法1和2)要好得多。在图12中,我们已经示出了示例性CLASS序列的自相关函数之和;并且,在图13中,我们已经示出了LCSSS发送集和接收集的互相关之和。如本领域技术人员所清楚的,这些波形示出我们的CLASS和LCSSS方法都有效地消除了由于插入随机代码引起的旁瓣。此外,具有512个符号的方法2相比,我们的两种新方法都降低了功耗和通信时间。
集成CLASS and LCSSS
在第四实施例中,我们使用选择性地生成CLASS或LCSSS的单个流程来执行信道估计。与我们的CLASS和LCSSS方法一样,我们将选定的结果附加到标准802.15.4a帧的末尾。根据本实施例,我们通过执行以下步骤来生成CLASS及LCSSS中的一个(参见图14):
在发送器和接收器中:
LCSSS_1,生成具有Z个伪随机二进制码的基码集Cz,每个二进制码具有预定长度n,发送序列中的每个符号只对应一个码;用表示Cz中的第i代码的第j位;
LCSSS_2,对于基码集Cz中的每个代码Ciz,计算其长度为2n-1的自相关函数;设自相关函数的集合为A(Cz),将A(Cz)中的第i个代码的第j位的值表示为Ai(Ciz);
LCSSS_3,从具有‘z’个代码的较大的集合Cz中,选取具有‘m’个代码的子集合Em;计算一个新函数SA(Em),其元素是自相关函数集合中前游标的相应值之和,即
(*注意:前游标包括自相关函数/互相关函数的前n-1个值。)
LCSSS_4,从许多可能的集合Em选择一个集合Cm,集合Cm的SA(Cm)具有足够低的平方和SSSAbase,即
(注意:最小化平方和可以最小化功率。这里可以使用另一个平方和的近似,例如绝对值之和。还可以最小化或最大化另一个度量,例如峰值功率,立方和,等等。)
(LCASS_5包括涵盖CLASS方法的可选步骤)
LCASS_5,设x=[1,m]:
LCASS_5.1,设y=[1,n]:
LCASS_5.1.1,通过反转的位y的符号,来创建一个试用代码集
LCASS_5.1.2,确定的a SSSAtrtal;及
LCASS_5.1.3,如果SSSAtrtal小于SSSAbase,则用试用代码集替换基码集Cm;更新SSSAbase;
LCSSS_6(可选),发送代码的总数将是(m+d),其中“d”是被接收器忽略的附加代码的预定数量;创建指定(m+d)个代码发送顺序的向量Tm+d,其中Tm+d可以是连续的顺序1,2,...,(m+d)或随机排列的从1到(m+d)的整数;
然后,在发送器中:
LCSSS_7(可选),生成一具有‘d’个伪随机二进制代码的附加代码集Dd,每个代码具有预定长度n,其中发送序列中的每个符号只对应一个代码;
LCSSS_8(可选),使用附加代码集Dd,形成一个更新的基码集Cm+d,基码集Cm+d包括‘m’个之前生成的代码和‘d’个新的随机代码;
LCSSS_9,使用Tm+d作为索引选择代码发送顺序,以特定顺序发送基本代码集Cm+d;
最后,在接收器中:
LCSSS_10,已(在LCSSS_4中)确定SSSAbase之和,将更命为SSSXbase,并将Cm更命名CXm;
LCSSS_11(可选),设x=[1,m]:
LCSSS_11.1,设y=[n/2+1,n]:
LCSSS_11.1.1,通过反转的位y的符号,创建一个试用代码集
LCSSS_11.1.2,确定的SSSXtrial;和
LCSSS_11.1.3,如果SSSXtrial小于SSSXbase,则用试用代码集替换基码集CXm;用SSSXtrial替换SSSXbase;
LCSSS_12,接收发送的代码集的估计;知道发送代码的顺序Tm+d,识别当前将要接收的代码。如果代码将是有效的m个代码之一时,则用适当的CXm代码对接收器相关器进行编程,否则忽略属于Dd代码集的d个随机代码中的一个;和
LCSSS_13,通过将代码集与CXm相关来生成一信道估计。
在第五实施例中,我们使用包括代码生成过程和信道测量过程的并行流程来执行信道估计。根据我们的代码生成过程,我们在发送器和接收器中选择性地实例化相同的模式生成设备。这些设备中的每一个都选择性地用于接收种子(seed);并且生成作为种子的具有z个伪随机码的基本集Cz,每个伪随机码的长度为n位,其中包括Cz的第i个代码的第j位。本领域中,提供的机制用来协调发送器和接收器,以便向相应的代码生成设备提供相同的种子,从而确保在发送器和接收器中产生相同的代码序列。例如,发送器可以用于生成种子,然后使用现有的分组事务(conventional packet transaction)机制将该种子发送到接收器。或者,中央控制设备(未示出)可以适于使用已知的发送机制将种子发送到发送器和接收器。
根据该第五实施例中的信道测量过程:
在发送器和接收器中:
选择性地将种子提供给相应的代码生成设备,每个种子具有相同的选择值,并从代码生成设备接收生成的基码集Cz;
对于接收的基码集Cz中的每一代码Ciz,计算相应的长度为2n-1的自相关函数A,其中X(Cz,Cz)包括互相关函数的集合,和Xj(Ciz,Ciz)包含A(Cz)的第i个代码的第j个值;
从具有z个代码的集合Cz选择具有m代码的子集Em,并计算一个函数SX(Em,Em),函数中每个元素包括根据一函数确定的互相关函数集合中的一组选定前游标的相应值之和:
从选定的多个集合Em中,选择一个基码集Cm,基码集Cm具有根据一函数确定的SX(Cm,Cm)的足够低的平方和:
仅在发送器中,
发送基本代码集;和
仅在接收器中:
将Cm复制到CXm;
设x=[1,m]:
设y=[n/2+1,n]:
通过反转的位y的符号,来创建试用代码集
根据一函数确定的SSSXtrial;
及
如果SSSXtrial小于SSSXbase,则用试用代码集替换基码集CXm,并用SSSXtrial替换SSSXbase;和
接收发送的代码集的估计;
通过将与CXm相关来生成信道估计。
在第六实施例中,我们再次使用包括代码生成过程和信道测量过程的并行流程来执行信道估计。在该实施例中,我们提供与第五实施例中基本相同的代码生成过程。
根据第六实施例中的信道测量过程:
在发送器和接收器中:
选择性地将种子提供给相应的代码生成设备,每个种子具有相同的选择值,并从代码生成设备接收生成的基码集Cz;
对于接收的基码集Cz中的每一代码Ciz,计算相应的长度为2n-1的自相关函数A,其中A(Cz)包括自相关函数的集合,并且Ai(Ciz)包含A(Cz)的第i个代码的第j个值;
从具有z个代码的集合Cz选择具有m代码的子集Em,并计算一个函数SA(Em),函数中每个元素包括根据一函数确定的自相关函数集合中的一组选定前游标的相应值之和:
从选定的多个集合Em中,选择一个基码集Cm,其具有根据一函数确定的SA(Cm)的足够低的平方和:
将SSSAbase更名SSSXbase,将Cm更名为CXm;
设x=[1,m]:
设y=[n/2+1,n]:
通过反转的位y的符号,来创建试用代码集
确定的SSSXtrial;及
如果SSSXtrial小于SSSXbase,则用试用代码集替换基码集CXm,并用SSSXtrial替换SSSXbase;及
仅在发送器中:
发送代码集CXm;和
仅在接收器中:
接收发送的代码集的估计值;
通过将与CXm相关来生成信道估计。
通用信道测量流程
如本领域技术人员将认识到的,上面描述的几个流程包含了图15中所示的更通用的流程的各自特例。从该基本视角看,我们的每个信道测量实施例提供了与上述第五实施例的特定代码生成过程基本相同的通用代码生成过程。根据几个信道测量过程中的每一个,发送器和接收器都选择性地将种子提供给相应的代码生成设备,每个种子具有相同的选择值,并从代码生成设备接收所生成的基码集的相应发送器和接收器副本。尽管有许多已知的现有技术伪随机码生成设备可用,但我们更喜欢使用例如联邦信息处理标准出版物FIPS Pub 186-4中或者美国国家标准与技术研究院特殊出版物NIST SP 800-90A Rev.1中描述的加密安全伪随机生成器(cryptographically secure pseudo-random generator)设备中的一种。如图15所示,伪随机码生成过程可以是在发送器和接收器中为相同的实施例;或者是发送器和接收器都可访问的单个共享实施例。
根据上述信道测量过程,发送器适于发送从代码生成设备接收的发送器代码集。在我们的一些信道测量过程中,发送器可选地适于在代码发送之前修改发送器代码集。
根据上述信道测量过程,接收器有选择地适于修改从代码生成设备接收的接收器代码集。然后,相应的接收器接收发送器代码集的信道失真形式,为方便起见,我们在下文中将其称为“估计”。最后,通过将接收的估计与接收器修改的基码集相关来生成信道估计。在发送器发送发送器修改的基码集的那些实施例中,通过将接收的发送器修改的基码集的估计与接收器修改的基码集相关,来生成信道估计。
我们发现可以仅在接收器中使用后处理,而不是使用发送器/接收器相关器序列变化来最小化旁瓣干扰。在这种方法中,发送器和接收器都将从代码生成器接收相同的伪随机序列。通常,这将导致严重的旁瓣。然而,我们注意到接收器可以通过累加所有发送的代码符号的自相关来直接计算这些旁瓣。众所周知,每个(例如来自强路径)能量不仅会在累加器中产生峰值,而且还会恰好于旁瓣预测的位置产生微小峰值。因此,可以从最大的样本开始选择和处理信道响应样本,然后迭代地减去由每个样本引起的旁瓣干扰。如将认识到的,在该过程中需要考虑适当的缩放和时间延展(proper scaling andspreadingintime)。通常,处理更多的样本,旁瓣逐渐减少。通常,如果存在更多的多路径,则需要处理更多样本。然而,因为即使是大样本也会受到其他样本和路径干扰的影响,相互交叉干扰会降低最终质量。然而,有可能执行多个处理过程,每次还减去估计的干扰成份。
在另一个有趣的实施例中,让我们首先假设m个代码的序列A包括连续的两个代码子序列:n个代码的A1序列;和(m-n)个代码的A2序列;即,A=[A1::A1],其中符号“::”表示连接操作。让我们假设我们对序列A和不同的选定序列B之间的相关感兴趣。为了确定这种相关,我们首先计算B和[A1::0]之间的第一个相关,其中零表示屏蔽了子序列A2。然后我们计算B和[0::A2]之间的第二个相关,其中零现在表示屏蔽了子序列A1。如果我们现在累加这两个相关,第一个相关的虚假旁瓣将被第二个相关的旁瓣抵消。因此,如果将所选代码序列划分为两个或更多个子序列,每个子序列分别发送,我们相信这种方法将有效地防止攻击者或窃听者猜测正在使用哪个代码序列。
二进制代码与三进制代码
在一些实施例中,如果在接收器中接收到二进制代码,然后在几纳秒之后在其上接收到该二进制代码的更强的回声,则接收器仅看到第二二进制代码。实际上,强回声会使接收器泛滥/过载,并且无法检测到由较早的较弱信号引起的微小扰动。一种可能的解决方案是使用三进制代码。因此,例如,不是发送这个二进制代码:
+++-+-++---+++++---+-+++--+-++---+++++---+-+++--+-++---+++++---+-
你会发送,例如,是这种三进制代码:
+00+0+-00-+0-000+00+--0-0+0+0+0+000+--00-+000-+00++000--+-+0
这使得强大信号的间隙的较小的信号可以被检测到。
我们已经发现,对于长度为64的代码,使用仅具有16个正脉冲或负脉冲并且在其他位置具有零的三进制代码非常有效。此外,然后可以以两倍的幅值(即具有4倍的瞬时功率)发送长度为64码的三进制代码,使得我们不会丢失任何信噪比。
我们已经发现一些代码脉冲网格比其他代码脉冲网格更好以避免第一路径与其回声之间的脉冲冲突。对于代码脉冲网格,我们指的是一个用于定义脉冲应出现的位置以及脉冲应消失的位置的模板。
尽管我们已经在特定实施例的上下文中描述了本发明,但是本领域普通技术人员将容易认识到,可以在这样的实施例中进行许多修改以适应特定实施例。举例来说,花少许的努力可将本发明用于不同的通信方案。此外,上述几个元件可以用各种已知的半导体制造方法中的任何一种来实现,并且通常适于本领域中已知硬件或软件控制或两种的某种组合来实现。或者,在特殊目的的背景下,本发明公开的几种方法可以体现于非暂时性计算机可读介质上的计算机可读代码中,使得当通用或专用计算机处理器执行计算机可读代码时,处理器执行各自的方法。
因此,显而易见的是,我们已经提供了若干用于无线通信系统的收发器以执行信道测量的改进的方法和装置。尽管我们仅基于分组的UWB通信系统的背景下公开了我们的发明,但是我们认为我们的发明广泛适用于无论是否基于分组的其他类型的无线通信系统来执行信道探的。进一步地,我们认为本发明提供的性能通常与最佳现有技术相当,但比这种现有技术的已知实施方式更有效。