对数查询表的制作方法

文档序号:6426162阅读:219来源:国知局
专利名称:对数查询表的制作方法
技术领域
本发明主要涉及查询表,且更具体地涉及在无线通信系统内实现的查询表。
背景技术
一种在无线通信内使用的一般技术是码分多址(CDMA)信号调制,其中,同时在射频(RF)频谱上实现多个通信。一些示例的结合CDMA技术的无线通信设备包括蜂窝无线电电话、计算机内集成的PCMCIA卡、有无线通信能力的个人数字助手(PDA)等。
CDMA接收机的传统结构包括射频(RF)部分和红外(IF)部分。特别是,接收到的RF信号一般在RF部分经滤波,从RF信号转换为IF信号以作进一步滤波并在IF部分内经电压增益放大器(VGA)比例缩放,最终转换为基带信号。基带信号一般通过模拟一数字(A/D)转换器以生成数字采样,然后送到数字信号处理器以进行跟踪和解调。
零红外频率(Zero IF)结构是最近在CDMA无线通信设备内使用的结构。不同于其它传统结构,Zero IF结构将进入的RF信号直接转换为基带信号而不首先将RF信号转换为IF信号。特别是,Zero IF结构使用数字VGA,由它对A/D转换器生成的数字采样进行比例缩放。这样,Zero IF结构去掉了各种IF元件,包括IF混合器、IF VGA以及IF滤波器。
在带有IF部分的外差结构内,由自动增益控制单元(AGC)控制的IF-VGA负责扩展或是压缩信号,使得它能适合A/D转换器相对较窄的动态范围。A/D转换器然后生成小比特宽(一般4比特)数字,使得能简化其余的实现信号处理的硬件。然而在Zero-IF结构内,由于缺少IF VGA,A/D转换器一般设计成带有大很多的动态范围,从而在输出端产生大比特宽的数字。
虽然Zero IF结构去除了对IF元件的需要,该结构可能需要更复杂的基带元件,这主要是由于A/D转换器生成的相对较大的数字信号(一般18比特)。结果是,在基带实现数字VGA以对来自A/D转换器的大比特宽信号进行比例缩放。Zero IF结构可能实现相对较宽的乘法器(一般18比特乘18比特乘法器)以实现对较大数字信号的比例缩放。另外,数字VGA一般包括相对较大的查询表(LUT)(一般超出千位或甚至更多)以将来自对数单元的AGC单元接收到的分贝为单位的值转换为控制数字VGA的增益的线性值。在操作中,例如,数字VGA将从A/D转换器接收到的线性数字信号乘以从LUT获得的线性增益值。由于这些原因,结合Zero IF结构的无线通信设备即使去掉了IF元件也可能具有显著的开销。
存储一个或多个查询表的存储空间量一般与存储在查询表内的信息量成正比。因此,当查询表变大时,使用查询表可能变得更耗费存储。对一些无线通信设备而言,存储空间可能非常有限,因此使得查询表的实现变得很困难和/或代价昂贵。

发明内容
一般,本发明是关于有效地从线性输入生成对数值的技术。特别是,该技术使用对数函数的性质以减少实现查询表(LUT)需要的存储要求。该技术可能用于在实现该种计算时,在对数或类似对数函数上不均匀采样以减少一个或多个LUT内进行这种计算时需要使用的目录数。这些技术可能在各种各样的应用中使用,包括扩频无线通信系统。
特别是,该技术可能涉及将一个或多个输入变量分为指数分量和尾数分量。例如,输入变量可能包括信号的数字值,诸如无线通信设备内处理的数字基带信号。输入变量的每个分量可以使用对应的LUT从第一域转换到第二域。例如,指数分量可以使用指数LUT而转换。类似地,尾数分量可以用尾数LUT进行转换。在转换后,分量可以经组合以在第二域内实现计算和其它操作。第一域可能是线性域而第二域可能是非线性域。例如,第二域可能是以分贝为单位的带有期望的分辨率的对数域。
尾数LUT的大小特别可以通过只存储尾数值的总数的一个子集然后在需要时从子集导出其它尾数值而减少。例如,根据本发明的原理,尾数目录的一部分(称为分段)可以经存储,然后剩余分段的尾数值可以导出。例如其它值可能通过调整用于从尾数LUT选择目录的输入地址而经导出,这一般是通过移位输入地址或通过将输入地址改为新的输入地址而实现的。经修改的输入地址然后可以用于从尾数LUT选择期望的值。
在一实施例中,可能根据一个或多个方法实现该技术。例如,表示信号的数字值的数字可以被分为第一域内的指数分量以及尾数分量。指数分量然后从第一域转换到第二域,尾数分量被分开地从第一域转换到第二域。指数分量和尾数分量然后在第二域内经组合,且可以在第二域内实现各种计算函数或其它操作,诸如放大在无线通信设备的数字放大器内的信号。值得注意的是,对于尾数分量,尾数值的总数的子集可能存储在LUT内。不存储在尾数LUT内的尾数值可以从子集中导出。
描述的技术可能在软件、硬件或两者的组合内实现。相应地,本发明可能包括带有程序代码的计算机可读媒质,在执行时会实现上述的一种或多种方法。
在一实施例中,无线通信设备或其它装置可能包括指数提取器,它从一个数字提取指数分量,还包括尾数提取器,它从该数字提取尾数分量。该装置可能还包括用于将指数分量从第一域转换到第二域的第一LUT,以及用于将尾数分量从第一域转换到第二域的第二LUT。该装置还包括加法器,它将第二域内的指数分量和尾数分量组合。该装置可能包括用于无线通信设备的数字电压增益放大器。
特别是,根据本发明的无线通信设备可能包括接收RF信号的天线以及从RF信号生成基带信号的RF混合器。另外,无线通信设备可能包括以上描述的电压增益放大器以对基带信号进行比例缩放。无线通信设备还可能包括处理至少部分的经比例缩放的信号的数字信号处理器。
本发明还提供了多种优势。特别是,本发明能大大减少实现一个或多个LUT的计算机设备的存储要求。对数转换单元可能对于浮点数的指数和尾数使用不同的LUT,以下将详细描述,这可以帮助存储要求的减少。特别是,尾数目录的部分可以在尾数LUT内存储,且附加的尾数值可以在需要时生成或估计。在一些情况中,尾数目录的子集可能包括尾数值的总数的一个不均匀采样。这些或其它的不均匀采样计算能用于大大减少尾数LUT的存储要求。
本发明可能在任何使用LUT的计算机设备内实现。虽然本发明的多种细节在无线通信设备的环境中描述,本发明不一定限于该方面。该技术能与任何实现LUT的计算机设备一起使用以减少LUT的大小。
这些和其它实施例的附加细节在伴随的附图和以下描述中提出。其它的特征、目标和优势会在描述、附图和权利要求中变得明显。
附图简述

图1是根据本发明说明无线通信设备的框图。
图2是根据本发明实施例的流程图。
图3是根据本发明说明数字VGA的实施例的框图。
图4是更详细地说明数字VGA的一实施例的框图。
图5A-5C根据本发明说明指数转换的三个不同示例实施例。
图6是更详细地说明对数转换单元的实现的框图。
图7A和7B是进一步说明图6说明的对数转换单元的实施例的原理的2个图例系列。
图8和9是根据本发明的流程图。
较佳实施例详述图1是根据本发明的示例无线通信设备(WCD)100的框图。虽然不限于此,但本发明的各种实施例是参考实现Zero IF结构的无线通信设备的接收机而描述的,如图1所示。在该情况下,WCD 100将进入的RF信号直接转换成基带信号且特别是不用首先将RF信号转换为IF信号。
WCD 100包括接收进入RF信号的天线104。例如,进入的RF信号可能包括从CDMA基站发送的码分多址(CDMA)调制信号。由天线104接收的RF信号可以在由RF混合器112混合到基带之前通过低噪声放大器(LNA)108。例如,RF混合器112可能接收由频率合成器116生成的接收载波波形,频率合成器116利用WCD 100的本地时钟作为时序参考。本地时钟可能包括,例如,压控振荡器120,诸如压控温度补偿晶体振荡器(VCTCXO)。如期望的,WCD 100还可能包括附加元件(未示出)。
RF混合器112生成基带信号113,例如它可以经滤波器124滤波,并由模拟到数字(A/D)转换器128采样以生成对应的信号的数字值,例如数字基带信号129。数字VGA 132对数字基带信号129进行比例缩放,根据从自动增益控制单元(AGC)134接收到的对数增益值135放大或是减弱数字值。
在由数字VGA 132进行比例缩放后,经比例缩放的数字基带信号提供给rake接收机136,它分离并跟踪从不同源(例如不同基站)接收的信号。例如,rake接收机136可能包括实现解扩展、Walsh解覆盖以及累加、导频时间和频率跟踪的多个“指针”。每个指将对应路径的导频和数据码元输出到数字信号处理器(DSP)140。DSP 140然后实现码元解调和/或其它信号处理。
如上所述,虽然Zero IF结构去除了对IF元件的需要,该结构一般要求传统设备包括更复杂的基带元件。然而,不同于传统的可能要实现相对较宽的乘法器的数字VGA,数字VGA 132在对数域内操作。特别是,数字VGA 132在对数域内对数字基带信号129进行比例缩放,且根据接收自AGC 134的对数增益值135。这样,数字VGA 132不包括复杂且昂贵的乘法器,而是利用较简单且相对较便宜的加法器。另外,由于数字VGA 132在对数域操作,来自AGC 134的增益值135可能不经转换为线性值而使用,因此不需要传统查询表(LUT)以实现该目标。
如以下将详细描述的,数字VGA 132可能利用对数转换单元(图1中未示出)以将数字基带信号129从线性域转换到对数域,且可能利用指数转换单元(未示出)以将经比例缩放的基带信号从对数域转换回线性域。指数转换单元和对数转换单元可能使用查询表。然而以下描述的附加技术可被用于减少查询表的大小并因此减少存储要求。在其它实施例中,指数转换单元以及对数转换单元可能使用算法,即可能结合其它更小型的查询表以动态生成合适的转换值。
图2是说明高层处理的流程图,其中,数字VGA 132(图1)对对数域内的基带信号进行比例缩放。如示出,数字VGA 132将线性基带信号从线性域转换到对数域(202)。如以下将详细描述的,数字VGA 132可能包括对数转换单元,它使用查询表以实现转换。对数域可能有经比例缩放至期望分辨率的分贝单位,以避免增益值转换。例如,对应定义的增益分辨率,可能在WCD内使用2/15dB的分辨率。
数字VGA 132将对数域内的基带信号与从AGC 134接收的增益值相加,从而生成对数域(204)内的经比例缩放的基带信号。例如,经比例缩放的基带信号可能根据增益值而放大或减少。数字VGA 132将经比例缩放的基带信号从对数域转换回线性域(206)。数字VGA 132可能包括指数转换单元,它使用查询表以实现该转换。经比例缩放的线性基带信号然后可经处理,例如由rake接收机136和数字信号处理器140(208)进行。
图3是说明在对数域内操作的数字VGA 132的示例实施例。如图示,数字VGA 132包括对数转换单元302,它将进入的线性基带信号129转换到对数域,诸如通过将线性数字值转换到带有期望分辨率的分贝单位的对数值305。在一个实施例中,对数转换单元302包括对数LUT,它将线性基带信号可接受的值映射为对数值。然而该种LUT可能需要大量存储空间。因此,描述了各种附加技术以减少对数LUT的大小,从而减少存储空间的要求。
数字VGA 132包括加法器306而不是传统的乘法器。特别是,数字VGA 132使用对数域,并用加法代替乘法。换而言之,数字VGA 132利用Log(X*Y)=Log(X)+Log(Y)以有效地用加法器306替换乘法器。然而WCD 100可能进一步在线性域内处理放大的基带信号。因此,数字VGA 132可能还包括指数转换单元310以在比例缩放后将基带信号转换回线性域。
数字VGA 132的增益可以通过来自AGC 134的反馈而控制。特别是,AGC 134可输出对数域内的增益值135,诸如以带有期望分辨率的分贝为单位。这样,数字VGA 132不需要在由加法器306应用前转换增益值135。相应地,通过简单地在对数域内将增益值135加到线性基带信号129,数字VGA 132可能放大或减弱线性基带信号129。
指数转换单元310将经比例缩放的基带信号从对数域转换回线性域。例如,指数转换单元310可能使用一个或多个LUT,如以下将详细描述的。另外,以下描述的技术可能用于大大减少一个或多个指数LUT的大小从而减少存储要求。
在一特定情况下,数字VGA 132在经比例缩放到期望分辨率的分贝单位的对数域内操作。如上所述,在分贝为单位的对数域内操作可能特别有优势,因为在该情况下,由AGC 134生成的增益值可能不经转换而使用。然而在另一实施例中,本发明可能在其它对数域或非线性域内操作。在其它实施例中,对数转换单元302以及指数转换单元310实现其他的算法以对各种LUT进行补充或替换。
图4是更详细说明的数字VGA 132的实施例的框图。特别是,对数变换单元302说明为包括对数查询表(LOG LUT)402。另外,对数转换单元302包括将进入带符号的基带信号分为不带符号的绝对值(在406示出的ABS)和符号比特(如410处示出)的硬件。换而言之,符号比特可以从对数转换单元302内的基带信号中去除,然后经传播并在指数转换单元310内重新插入。负数的对数未经定义。因此,从基带信号中去除符号比特避免了数字VGA内的硬件试图对负数在对数域内进行操作。一旦去除了符号比特,数字VGA 132内的硬件只能对对数域内的正数操作。
在一特例中,A/D转换器128(图1)生成18比特二进制数的数字基带信号129,包括符号比特、7个整数比特和10个小数比特。符号比特从基带信号中分离,剩余的17比特二进制数,包括7个整数比特和10个小数比特,被发送到LOG LUT 402。作为查询结果,17比特二进制数被转换为9比特带符号数,它被发送到加法器306。加法器306还接受来自AGC 134的9比特带符号数,标示带有期望分辨率的分贝单位的增益值。值得注意的是,增益值已在对数域内了,因此在输入到加法器306前不需要任何调整。加法器306将各个输入相加以生成10比特结果,该结果被发送到指数转换单元310。在一例中,使用相对较简单且低开销的9比特加法器。
指数转换单元310可能包括饱和单元424和至少一个指数LUT 428。饱和单元能用于使得对数域内的基带信号饱和。例如,继续以上的例子,发送到指数转换单元310的10比特带符号结果,可以由饱和单元424饱和为7比特以扩展128个可能值表示的动态范围。饱和单元424的输出连同符号比特(如410处示出)被发送到指数LUT 428以生成在线性域内表示经比例缩放的基带信号的4比特带符号结果。在指数LUT 430内查询前实现饱和可以通过减少指数LUT430内的单个目录需要的大小而节省存储空间。而且,截取操作可以包括在指数LUT 430内。换而言之,根据本发明,简单地通过定义指数LUT 430的输出的合适比特宽度,任何需要接在传统乘法器类型的VGA后的传统截取操作可以包括在指数LUT 430内。
图5A-5C是根据本发明的三个不同指数转换单元的示例实施例。图4说明的饱和单元424未在图5A-5C内示出,但可以包括在内,用于在查询前进行饱和以减少指数转换单元内的一个或多个LUT的大小。另外,指数转换单元内的一个或多个LUT内的目录可能有有效截取数字输入信号的输出比特宽度。
图5A说明的指数转换单元502包括正负值的不同的LUT。特别是,指数转换单元502包括EXP_LUT(pos)506,它存储128个可能的正的3比特的值,还包括EXP_LUT(neg)510,它存储128个可能的负的4比特的值。符号比特(如在410示出的)用于提供多路复用器518使用的输入信号514,以从合适的LUT选择输出。因此,当符号比特标识负数时,多路复用器518选择来自EXP_LUT(neg)510的输出。当符号比特标识正数时,多路复用器518选择来自EXP_LUT(pos)506的输出。
图5B说明指数转换单元的另一配置。特别是,如图5B说明的,指数转换单元540使用单个EXP_LUT(pos)544并用加法器548替换EXP_LUT(neg),该加法器用于从读取自EXP_LUT(pos)544的正值生成补码的负值。例如,给定一个存储在EXP_LUT(pos)内的正值X,补码的负值可能有合适的补码等式生成,在一种情况下为(-X-1)。然而在另一些情况中,当负值和正值完全关于Y轴对称,两个补码等式为-X+1或类似的,可用于从正值生成负值。
如图5B说明的指数转换单元540,可以通过减少存储要求而获得好处。特别是,指数转换单元540使用单个128比特乘3比特LUT以及加法器548。图5A说明的指数转换单元502,在另一方面要求更多的存储空间,但去除了附加的加法器。图5A和5B的每个实施例有优势和劣势,这些在确定给定实现的最佳配置时考虑。
图5C说明指数转换单元的另一配置。如同图5B的实施例,图5C说明的指数转换单元560使用单个EXP_LUT(pos)544。然而,指数转换单元560通过反转选自EXP_LUT(pos)544的比特并添加符号比特而生成负值。一个补码单元568可以用于实现反转,添加单元574可以用于在多路复用器518选择期望的输出后添加符号比特。图5C的实施例避免了如图5A说明的对EXP_LUT(neg)的需要,也避免了图5B说明的加法器的必要。
图6是更详细地说明对数转换单元302的一个实现的框图。如上所述,对数转换单元302用于将信号的数字值(例如进入的线性基带信号129)转换到对数域。虽然对数转换单元302可以通过实现单个将线性基带信号的可接受值映射到对数域的LUT而实现,但图6的另一配置可以大大减少存储要求。
特别是,如图6说明,对数转换单元302包括各种操控浮点数的硬件。例如一个N比特的正二进制数X(p)可以表示为X(p)=m*2E,其中E是指指数,并代表X(p)内最重要比特的位置设定为一,m是指尾数并代表剩余的E-1为较不重要的比特。
在以分贝为单位的对数域内,以上的浮点等式可以表示为20log(X(p)/210)RdB=20log(2E/210)RdB+20log(m)RdB其中RdB是期望的分贝分辨率的反转。分贝为单位的对数域内的浮点等式可以表示为X=XE+Xm其中XE是指数的分贝值,Xm是尾数的分贝值。
在该特定域内,XE可被存储为N=17的目录表,其中每个目录为9比特宽。另外,Xm可以被认为是N分段。然而,只有一个分段需要作为表存储,且其它所有分段的值可以从存储的分段的目录中导出。例如,第m个分段包括2m-1个元素,其中每个能通过将第m+n个分段的输入地址左移n个比特而从第m+n个分段的元素导出。另外,可以实现最近的相邻内插以从第m个分段的元素导出第m+n个分段的元素。特别是,为从第m个分段的元素内插得到第m+n个分段的元素,第m个分段的输入地址可以近似为n比特并用作第m+n个分段的输入地址。
参考图6,对数转换单元302可能包括指数提取器602以及尾数提取器606。指数LUT 612可以用于生成指数的对数值。另外,尾数LUT 616可以用于生成尾数的对数值。这些值然后由加法器620组合,并可能由截取单元624截取。
在一实施例中,尾数LUT 616映射所有各个尾数分段的可能值。然而,为减少尾数LUT 616的大小从而减少存储要求,实现地址操控逻辑624以使得尾数的一个分段的值从尾数的不同分段生成。这样,只有尾数的单个分段存储在尾数LUT 616内。
地址操控逻辑624可能如下操作。假设尾数LUT 616包括2U个目录,则如果E>U,使输入地址M’=近似(M/2(E-U)),以及如果E≤U,使M’<<(U-E)。
换而言之,如果E>U,则M’经内插并定义为在存储的尾数LUT 616内最近相邻输入地址,且如果E≤U,则M’通过将输入地址左移(U-E)比特而得到。M’然后被发送到存储的分段以生成对数域内经适当转换后的值。
图7A和7B是进一步说明图6说明的对数转换单元302的实施例的原理的一系列图。同样,以分贝为单位的对数域内的浮点等式可以表示为X=XE+Xm,其中XE是指数的分贝值,Xm是尾数的分贝值。图7A是作为线性输入的函数的X的分贝值的图例,与同一输入的XE的分贝值图例比较。如可在图7A中所示,XE的值在各个不同输入处与X的值略有偏移。
图7B是Xm的分贝值图。Xm可以视为X和XE在不同输入处的差别。因此,如图6示出,X可以从指数LUT 612和尾数LUT 616生成。特别是,指数LUT 612用于生成指数的对数值,尾数LUT 616用于生成尾数的对数值。然而重要的是,为节省存储空间,尾数LUT 616只需要存储图7A说明的分段的一个的目录。其它分段的只可以使用地址操控逻辑624生成,如上所述。
存储在尾数LUT616内的分段可以根据要求的精确度而选择。例如,全对数尾数表可以无损地通过存储最后分段(在该情况下是地17个分段)而导出。然而,这会导致LUT有217-1=65536个目录。值得注意的是,由于对数函数倾向于在大输入时变平坦,可以选择小很多的分段而不会导致对无线通信设备内的性能有严重影响。特别是,试验示出存储第7个分段能产生所有输入都可接受的近似。这只需要带有27-1=64个目录的尾数LUT。
选择编号相对较小的分段以包括在尾数表内导致在对数函数上不均匀地采样。在更低的输入处,例如在更低的分段处,其中对数函数相对变化较快,较小编号处的所有值可以从较大编号的分段生成。然而,在更高的输入处,其中对数函数变化慢了许多,值可以从存储的分段内插得到。这可以视作对数函数的不均匀采样,其中在较低输入处保留了更多的数据点,但在较高输入处保留较少的数据点。试验示出该种不均匀采样不会导致WCD内严重的性能下降。
考虑到任何未预计到的变量,诸如量化噪声,指数LUT 612和尾数LUT 616的分辨率可以增加K比特以保证数据的正确性以及数据不受损。量化噪声可能在浮点LOG函数用有限比特宽数字表示的时候引入。试验示出将指数LUT 612和尾数LUT 616的分辨率增加K=3比特可以充分地补偿WCD内的量化噪声。
图8是说明可以在实现一个或多个LUT时用于减少存储要求的处理的流程图。图8内说明的处理在用于WCD时特别有效,但不是仅限于此。例如,图8的处理可以用于任何实现查询表的计算机设备。
如图示,数字被分为第一域的指数分量和尾数分量(802)。例如,第一域可能是线性域,且数字可能是表示信号的数字值的二进制浮点数。在该情况下,指数分量可以简单地通过标识并存储被设定为零的数字而提取。类似地,尾数分量可以简单地通过存储剩余的较不重要的比特而提取。
指数分量从第一域转换到第二域,诸如到非线性域(804)。尾数分量分开地从第一域转换到第二域(806)。在一特定例子中,第二域是以分贝为单位并带有期望分辨率的对数域。一旦转换到第二域(804和806),可以组合指数和尾数分量(808)。例如,加法器可以用于通过将指数和尾数分量相加而实现简化组合。如果需要,组合可以截取或近似。
指数分量的转换可以用第一LUT而实现,例如指数LUT。类似地,尾数分量转换可以使用第二LUT实现,例如尾数LUT。或者,任何一个或两种转换可以通过使用算法或算法和LUT的组合而实现。
指数LUT可能相对较小,且可能具有对应指数的可能比特位置的目录。例如,如果数字是17比特数字,指数LUT可能只有17个目录。在另一方面,尾数LUT可能包括更多数目的目录。例如,如果数字是17比特数字,则尾数LUT可以包括相当大数量的目录。因此,附加的技术可以用于进一步减少尾数LUT的大小,从而节省存储空间。
图9是说明用于大大减少尾数LUT的大小的处理的流程图。如图示,只有整个尾数值数的一个子集存储在尾数表内(902)。不包括在子集内的值可以从子集导出(904)。这样,可以减少实现尾数LUT的存储要求。
回到图7B,尾数值的子集可能对应图7B说明的一个分段。所有其它分段内的值可以或是通过对输入移位或根据移位后的输入在子集内选择目录或通过对输入进行内插并根据内插后的输入在子集内选择一个目录而生成。如果需要更小编号的尾数分段内的值(即图7B内位于存储的分段左边的分段),可以使用移位操作。如果需要更大编号的尾数分段内的值(即位于图7B内存储的分段的右边的分段),可以使用内插操作。这样,如所需要的,从存储在表格内很小的尾数目录的子集可以生成可能的尾数值的总数,从而节省了存储空间。
特别是,如果需要较大编号的尾数分段内的值,该值的输入地址经内插并定义为存储的尾数分段内最近的相邻输入地址。如果需要较小编号的尾数分段,则该值的输入地址经左移一定数量的比特,左移量对应存储的分段的号码和期望值的分段的号码之差。内插地址或移位的地址可以被送到存储的分段以生成合适的经转换的值。
如上所述,存储在尾数LUT内的特定子集可以根据需要的精确度而选择。值得注意的是,由于对数函数一般倾向于在较大输入时较为平坦,所以可以使用较小的分段而不会对无线通信设备的性能有重大影响。特别是,试验示出存储第7个分段会产生所有输入可接受的近似。这只需要27-1=64个目录的尾数LUT。
在另一实施例中,可以使用一个更大的尾数LUT,它包括对数或类似对数函数的不均匀采样的目录。例如,目录可以使用以上描述的技术被预计算。换而言之,尾数的分段可以经选择且较小分段内的所有值可以被预计算并包括在LUT内。然而,对较大分段,目录可以根据以上描述的内插技术被预计算。这样,存储在LUT内的每个分段不会有对于选定的分段更多的目录,从而减少了需要的存储空间量。虽然尾数LUT会比值存储单个分段的LUT大,但这样不需要地址操控逻辑。在设计特定实现时,可能在要求的附加存储空间和包括地址操控逻辑间权衡以作出最佳选择或最有效的配置。
以上描述的不同LUT可能存储在存储器内并在需要时访问。在一些情况下,以上描述的方法可能在软件内实现,诸如程序代码。例如,程序代码可以被载入存储器并在处理器内执行。程序编码开始时可以在诸如硬驱动或磁性、光、磁性光、相变或其它盘或磁带介质的计算机可读介质上携带。或者,程序代码可以从诸如EEPROM的电子计算机可读介质中载入存储器,或在网络链接上下载。如果下载,则程序代码可能初始时被嵌入载波或在电磁信号上发射。程序代码可能是提供大范围的功能的应用程序内的特征。
如果本发明在程序代码内实现,则执行程序代码的处理器可能是微处理器的形式,且可能包括在以下设备内或是其一部分PC、Macintosh、计算机工作站、手控数据终端、掌上电脑、WCD、无线基站、网络路由器等。存储器可能包括随机访问存储器(RAM),它存储可以访问的程序代码,并由处理器执行以实现上述的各种方法。
已描述了本发明的各种实施例。例如,已描述了用于WCD内的数字VGA。特别是,数字VGA在对数域内操作,并用加法器和正常大小(即大致200位的总空间)的对数LUT以及更小的正常大小的指数表(即大致128位)替换传统的乘法器和传统的大于1000位的指数查询表。不管怎样,可以在不偏离本发明的原理和范围的条件下进行各种修改。例如,本发明可以不使用查询表,而使用动态地从对数域转换到线性域的算法而实现,和/或反之亦然。另外,本发明可以在其它的对数域内实现,包括例如无线通信网络内的基站。例如,任何实现在截取之后的乘法器的设备都可以从本发明中得益。
另外,本发明的方面可以用于除数字VGA之外的应用。例如,任何在截取操作后实现乘法操作的装置都可以使用本发明的方面以用加法器代替传统的乘法器。在一种情况下,本发明可以用于使用加法器而不是乘法器将两个基带信号相乘。一般,本发明可以通过将线性数字值转换到对数域、将数字值在对数域内相加,然后将相加的值转换回线性域而实现乘法和截取。而且,截取操作可以包括在查询表内,它用于通过简单地选择输出比特宽度而有效地截取信号从而转换回线性域。
描述了多种减少LUT的大小的技术以减少存储要求。特别是,这些技术中许多是在WCD的环境下描述的。然而,本发明不限于这方面。例如,用于减少一个或多个LUT的大小的技术还可以用于其它计算机设备以节省存储空间。相应地,这些和其它实施例在权利要求的范围内。
权利要求
1.一种方法,包括通过分开地将数字值的指数分量和尾数分量分开地从第一域转换到第二域从而将信号的数字值从第一域转换到第二域;以及在所述第二域内的组合数字值的转换后的指数分量和转换后的尾数分量;以及处理所述第二域内的所述信号的转换后的数字值。
2.如权利要求1所述的方法,其特征在于处理信号转换后的数字值包括对所述转换后的数字值进行比例缩放。
3.如权利要求1所述的方法,其特征在于所述信号包括从扩频波形生成的数字基带信号。
4.如权利要求1所述的方法,其特征在于还包括将处理后的数字值从所述第二域转换到所述第一域。
5.如权利要求1所述的方法,其特征在于转换信号的数字值包括根据尾数分量从对数尾数值集合选择对数尾数值;根据指数分量从对数指数值集合选择对数指数值;以及组合选定的对数尾数值和选定的对数指数值。
6.如权利要求5所述的方法,其特征在于选择对数尾数值包括存储多个对数尾数值的子集;以及根据尾数分量从存储的子集导出不包括在子集内的对数尾数值。
7.如权利要求1所述的方法,其特征在于还包括使用指数查询表将指数分量从第一域转换到第二域;以及使用尾数查询表将尾数分量从第一域转换到第二域。
8.如权利要求1所述的方法,其特征在于还包括对第二域内的转换后的指数分量和转换后的尾数分量的组合进行截取。
9.如权利要求1所述的方法,其特征在于还包括对第二域内的转换后的指数分量和转换后的尾数分量的组合进行近似。
10.如权利要求1所述的方法,其特征在于第一域是线性域且第二域是非线性域。
11.如权利要求10所述的方法,其特征在于第二域是使用分贝为单位的对数域。
12.如权利要求1所述的方法,其特征在于将尾数分量从第一域转换到第二域包括在包括尾数值的总数的子集的尾数表内实现查询。
13.如权利要求1所述的方法,其特征在于将尾数分量从第一域转换到第二域包括通过实现内插以及根据内插从包括尾数值的总数的子集的尾数表中选择一个目录而生成第二域内的尾数分量。
14.如权利要求13所述的方法,其特征在于内插是通过求尾数分量的近似以及右移近似后的尾数分量而实现的最近相邻内插。
15.如权利要求1所述的方法,其特征在于将尾数分量从第一域转换到第二域包括通过左移第一域内的尾数分量并根据左移的结果从包括尾数值的总数的子集的尾数表中选择一个目录从而生成第二域内的尾数分量。
16.如权利要求1所述的方法,其特征在于将尾数分量从第二域转换到第二域包括在包含具有对数函数的不均匀采样的目录的尾数表内实行查询。
17.一种方法,包括将对数尾数值的总数的子集作为尾数表内的目录而存储;从子集导出不包括在子集内的一个对数尾数值;以及将导出的对数尾数值与对数指数值组合以生成信号的对数数字值。
18.如权利要求17所述的方法,其特征在于导出不包括在子集内的一个对数尾数值包括通过在输入上实现移位操作并根据移位后的输入选择一个目录而生成一个不包括在子集内的对数尾数值。
19.如权利要求17所述的方法,其特征在于导出不包括在子集内的一个对数尾数值包括通过内插然后根据内插选择一个目录而生成一个不包括在子集内的对数尾数值的近似。
20.一种携带程序编码的计算机可读介质,在执行时,通过分开地将数字值的指数分量和尾数分量从第一域转换到第二域,并组合第二域内的数字值的转换后的指数分量和转换后的尾数分量,从而将信号的数字值从第一域转换到第二域。
21.如权利要求20所述的计算机可读介质,其特征在于程序代码在执行时将数字值的尾数分量从第一域转换到第二域是通过将对数尾数值的总数的子集作为尾数表内的目录存储从子集导出一个不包括在子集内的对数尾数值;将导出的对数尾数值域对数指数值组合以生成第二域内的对数指数值。
22.一种装置,包括指数提取器,从数字提取指数分量;尾数提取器,从数字提取尾数分量;第一查询表,用于将指数分量从第一域转换到第二域;第二查询表,用于将尾数分量从第一域转换到第二域;加法器,组合第二域内的指数分量和尾数分量。
23.如权利要求22所述的装置,其特征在于还包括移位器,它截取第二域内的指数分量和尾数分量的组合。
24.如权利要求22所述的装置,其特征在于还包括移位器,它对第二域内的指数分量和尾数分量的组合求近似。
25.如权利要求22所述的装置,其特征在于第一域是线性域,第二域是使用分贝为单位的对数域。
26.如权利要求22所述的装置,其特征在于第二查询表是包括尾数值总数的子集的尾数表,所述装置还包括实现内插的地址操控逻辑,其中根据内插从尾数表中选择目录。
27.如权利要求22所述的装置,其特征在于第二查询表是包括尾数值的总数的子集的尾数表,所述装置还包括地址操控逻辑,它实现对输入的移位操作,其中目录是根据移位的输入从尾数表中选择的。
28.如权利要求27所述的装置,其特征在于第二查询表是包括包含对数函数的不均匀采样的目录的尾数表。
29.一种装置,包括存储器,它将尾数值的总数的子集作为目录存储在尾数表内;以及地址操控逻辑,它通过对输入实现操作并根据操作的结果选择一个目录而生成不包括在子集内的尾数值。
30.如权利要求29所述的装置,其特征在于所述的地址操控逻辑通过对输入实现移位操作并根据移位后的输入选择一个目录从而生成不包括在子集内的尾数值。
31.如权利要求29所述的装置,其特征在于所述的地址操控逻辑通过内插并根据内插选择一个目录而生成不包括在子集内的尾数值。
全文摘要
在一实施例中,本发明是用于生成对数域内结果的技术。该技术可能利用对数函数的性质以减少实现查询表需要的存储要求。例如,该技术可能利用在对数或类似对数函数上的不均匀采样以减少给定查询表需要的目录数。特别是,该技术可能牵涉到将数字分为指数分量和尾数分量。每个不同的分量可以使用不同的查询表从第一域转换到第二域。
文档编号G06F1/03GK1547694SQ02816549
公开日2004年11月17日 申请日期2002年7月16日 优先权日2001年7月16日
发明者R·恰拉, N·T·辛德胡沙亚那, A·拉格胡帕西, R 恰拉, 窈 廖, 辛德胡沙亚那 申请人:高通股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1