周期函数自变量变换装置、方法及应用其的通信设备的制作方法

文档序号:6560205阅读:202来源:国知局
专利名称:周期函数自变量变换装置、方法及应用其的通信设备的制作方法
技术领域
本发明涉及电子计算装置领域,更具体地说,涉及一种周期函数自变量变换装置、方法及应用其的通信装置。
背景技术
现代通信系统通常是基于数字信号处理(DSP)、现场可编程门阵列(FPGA)、特定用途集成电路(ASIC)等技术中的一种,或者是其中某几种的组合来实现的。在现代通信系统中,调制器、时频同步模块、信道均衡模块以及实际通信系统中的一些其它模块,通常需要用到大量的正弦和余弦运算。随着现代通信系统的带宽越来越宽,单位时间内需要处理的数据量越来越大,对正弦和余弦等周期运算的快速性和有效性提出了很高的要求。另外,不但在通信系统中,在很多其它电子系统、控制系统中也需要大量使用正弦和余弦运算。快速有效的正弦和余弦运算不仅能够加快这些系统的响应时间、提高系统性能,而且还能有效地节省系统资源,降低系统成本。
为了提高运算速度、降低系统成本,在这些系统中很多情况下都是采用定点数进行计算。当进行浮点数运算时,首先需要将浮点数转换成定点数,然后再利用定点数运算来实现浮点数的运算。将浮点数用定点数表示,并利用定点数运算来实现浮点数的运算的过程被称为定点化。下面以16比特长度的定点数为例,说明定点化的过程。
在说明定点化过程之前,需要先说明正定点数和负定点数的表示方法。在目前的应用中,定点数一般都是以二进制补码形式表示的。每个16位数用一个符号位来表示定点数的正负,0表示数值为正,1表示数值为负,其余15位表示数值的绝对值,对于正整数以及0,该15位二进制数对应的数值就是该数的绝对值;而对于负整数,该15位二进制数的反码加1所对应的数值才是该数的绝对值。如下例二进制数0010000000000011b→8195二进制数1111111111111100b→-4定点化过程的关键之处就是如何以一个整数来表示一个小数,其中最重要的就是确定小数点在这16比特中的位置,即小数点左边的比特用来表示小数的整数部分,而小数点右边的比特用来表示小数的小数部分。通过设定小数点在16位比特中不同的位置,就可以表示不同大小和不同精度的小数。
上面的过程就叫做数的定标,有Q表示法和(a,b)表示法两种。表1为16比特定点化的Q表示和(a,b)表示以及十进制数值范围表。

表1
如上表所示,Q表示法只给出了表示小数部分的位宽。而(a,b)表示法则同时给出了表示整数部分和小数部分的位宽,而且这里的整数位宽是包括了符号位的。一般将(a,b)表示法中的a,b分别称为整数位宽和小数位宽。有的表示方法与这里所述的表示有所不同,并不把符号位包括在整数位宽里。这只是在表示形式上有所区别,其对应的运算过程是完全一样的。
从上表还可以看出,同样一个16位数,若小数点设定的位置不同,即定的标不一样,它所表示的数也不一样。
比如,对于同样的4位16进制数(对应16位二进制数)0x2001H,有0x2001H→8193 ,定标(16,0)0x2001H→32.00390625 ,定标(8,8)0x2001H→0.250030517578125,定标(1,15)从上表中还可以看出,不同的定标值所表示的数不仅范围不同,而且能够表示的精度也不相同,在总的比特位数相同的情况下,小数位宽越大,能表示的数值范围越小,但精度越高;相反,小数位宽越下,能表示的数值范围越大,但精度越低。
比如,(16,0)的数值范围是-32768到+32767,精度为1;而(1,15)的数值范围是-1到0.999969482421875,精度是1/32768=0.000030517578125。所以对定点数而言,数值范围和精度是一对矛盾,一个变量要能够表示比较的数值范围,需要以牺牲精度为代价;而想提高精度,则数值的表示范围就相应的要减小。
在实际的定点算法中,为了到达最佳的性能,必须充分考虑到这一点。
以定标(a,b)为例子,浮点数与定点数的转换关系可以表示为浮点数x转换为定点数xzxz=round(x·2b)定点数xz转换为浮点数xx=float(xz·2-b)其中round(·)表示四舍五入取整,float(·)表示将输入参数当作浮点数。
当对应的定点数是无符号数时,则在整数位宽中不需要考虑符号位,而其它部分都有相似的处理。下面的讨论都以有符号整数为例进行说明,对于无符号整数有类似的过程,而且这里得到的所有结论在无符号整数情况下都有类似结论。
在定点化条件下,通过输入的角度值,直接实时计算其对应的正弦值和余弦值往往是非常复杂的,而且速度慢,难以满足系统要求。所以这些系统中很少直接进行定点化的正弦值和余弦值的计算,而是通过查表的方式来减少运算复杂度,提高运算速度,以达到系统要求。
查表方法的基本思想就是就是将一个周期内的全部或部分定点化正弦值或余弦值预先计算出来,并存在存储器内。当需要计算正弦值或余弦值时,根据输入的定点化角度值,通过计算,得到其对于正弦值或余弦值所对应的存储地址,接着到该地址直接读取储存的数值,即为该角度值对应的正弦值或余弦值。
显然将(-∞,+∞)范围内角度值所对应的正弦值和余弦值都预先计算,并存储下来,是非常难实现的。一般情况下,都是利用正弦函数以及余弦函数的周期性,将一个特定周期内角度值对应的正弦值或余弦值预先计算,并存储下来,比如在(-π,+π)或(0,2π)范围内。这样,查表的时候,当输入的角度值在这个范围内,可以直接通过一定的运算获得其正弦值或余弦值对应的存储地址;而当输入的角度值不在这个范围内时,就需要先利用周期性,将这个角度值变换到正弦表或余弦表所能表示的范围内,然后再通过一定的运算获得其正弦值或余弦值对应的存储地址。
因此,这样就需要根据角度在哪个周期内,分情况进行讨论,然后将角度变换到正弦表或余弦表所能表示的范围内。而进行分支判断往往不利于代码优化,影响执行效率。
目前,有一种角度值变化方法,在此将其称为第一种现有技术。
在第一种现有技术中,假设已知角度φ,需要将其转换到指定的周期内,这里假设为
]>相对于第一种现有技术来说,第二种现有技术避免了定点除法运算,但仍然需要进行分支判断,尤其在需要进行大量正弦值和余弦值计算的系统中,频繁地进行分支逻辑判断,会显著地提高对计算资源的需求,增加系统成本,并且对系统性能的优化和执行效率都会有很大的影响。
以上详细描述了三角函数中所涉及到的角度值变换问题。但是,问题却不仅局限于三角函数。相反,对于任意的周期函数,都可能会涉及到类似的将自变量转换到指定周期范围内的问题,而现有技术在面对该问题时具有相同或相似的缺陷。

发明内容
有鉴于此,本发明的主要目的是提出一种周期函数自变量变换装置,以降低对计算资源和存储资源的需求,从而降低成本。
本发明的另一目的是提出一种周期函数自变量变换方法,以降低对计算资源和存储资源的需求,从而降低成本。
本发明的另一目的是提出一种通信系统中的频率偏移补偿装置,以加快频率偏移补偿的计算速度,从而提高频率偏移估计的效率。
本发明的再一目的是提出一种通信系统中的接收机,该接收机具有良好的信号接收性能。
本发明的再一目的是提出一种通信系统中的发射机,该发射机具有良好的信号发射性能。
为达到上述目的,本发明的技术方案是这样实现的一种周期函数自变量变换装置,该装置包括归一化处理单元,用于根据周期函数的周期对输入的定点化自变量进行归一化处理,以得到归一化处理后的定点化自变量;自变量变换单元,用于将所述归一化处理后的定点化自变量的整数部分,设置为所述归一化处理后的定点化自变量在指定周期范围内的整数部分,而将所述归一化处理后的定点化自变量的小数部分保持不变。
该装置进一步包括逆归一化处理单元,用于对自变量变换单元所输出的变换后的定点化自变量进行逆归一化处理。
所述周期函数为三角函数。
该装置进一步包括指定周期范围内整数位存储单元,用于存储所述归一化处理后的定点化自变量在指定周期范围内的整数部分,并根据自变量变换单元的请求将所存储的归一化处理后的定点化自变量在指定周期范围内的整数部分发送给自变量变换单元。
所述指定周期范围为
]>所对应的定点化值φ′z,并且根据φ′z,对所述φ′=φ2π]]>以定标值(M′1,M′2)重新定标,得到新的定点化值φ″z,所述φz为φ根据定标为(M1,M2)的定点化后的值,并且φ∈
;]]>(cos(φ))FIX=(1-2·XOR(c1,c0))·Tab2sinz[(2c0-1)·φ′′z+(1-2c0)·(1+2c1)·2N2];]]>其中c1=bM′2;]]>c0=bM′2-1,]]>(sin(φ))FIX为sin(φ)的定点化值,(cos(φ))FIX为cos(φ)的定点化值,XOR(c1,c0)为对c1和c0做异或运算,Tab2sin(i)=sin(0+i·π/22N2),]]>其中i=0,1,...,2N2-1.]]>该正余弦值确定单元包括正弦值表存储模块,用于存储包含有 范围内的定点化正弦值的正弦值表,其中该表的大小为2N2;归一化处理模块,用于根据由自变量变换单元所输出的定点化的输入角度φz,计算φ′=φ2π]]>所对应的定点化值φ′z,并且根据φ′z,对所述φ′=φ2π]]>以定标值(M′1,M′2)重新定标,得到新的定点化值φ″z,所述φz为φ根据定标为(M1,M2)的定点化后的值,并且φ∈[-π,π);其中M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2);数位获取模块,用于获取φ″z的小数部分最高位比特bM′2和小数部分次高位比特bM′2-1;正余弦值确定模块,用于根据所述新的定点化值φ″z、小数部分最高位比特bM′2和小数部分次高位比特bM′2-1,查所述正弦值表以确定所述定点化输入角度的定点化正余弦值,其中(sin(φ))FIX=(1-2c1)·Tab2sinz[(1-2c0)·φ′′z+XOR(c1+c0)·2·2N2];]]>(cos(φ))FIX=(1-2·XOR(c1,c0))·Tab2sinz[(2c0-1)·φ′′z+(1-2·XOR(c1,c0))·2N2];]]>其中c1=bM′2;]]>c0=bM′2-1,]]>(sin(φ))FIX为sin(φ)的定点化值,(cos(φ))FIX为cos(φ)的定点化值,XOR(c1,c0)为对c1和c0做异或运算,Tab2sin(i)=sin(0+i·π/22N2),]]>其中i=0,1,...,2N2-1.]]>一种通信系统中的频率偏移补偿装置,该装置包括频率偏移估计单元,用于对待频率偏移补偿的数据进行频率偏移估计,补偿相位计算单元,用于计算需要补偿的相位;如上任一项所述的正余弦值确定装置;频率偏移补偿单元,用于根据由所述正余弦值确定装置确定出的正/余弦值对待频率偏移补偿的数据进行频率偏移估计。
所述通信系统为正交频分复用OFDM系统、或单载波通信系统。
一种通信系统中的发射机,该发射机包括如上任一项所述的正余弦值确定装置。
一种通信系统中的接收机,该接收机包括如上任一项所述的正余弦值确定装置从上述技术方案中可以看出,本发明提出了一种周期函数自变量变换装置,该装置包括归一化处理单元,用于根据周期函数的周期对输入的定点化自变量进行归一化处理,以得到归一化处理后的定点化自变量;自变量变换单元,用于将所述归一化处理后的定点化自变量的整数部分,设置为所述归一化处理后的定点化自变量在指定周期范围内的整数部分,而将所述归一化处理后的定点化自变量的小数部分保持不变。由此可见,应用本发明以后,不需要执行定点化除法,也不需要进行分支判断,只需要做简单的整数部分操作,因此极大地降低了对计算资源和存储资源的需求,从而降低成本。
另外,本发明还提出了一种周期函数自变量的变换方法,应用本发明所提出的方法后,由于不需要执行定点化除法,也不需要进行分支判断,因此非常有利于代码优化,并且还极大地提高了系统执行效率。


图1为根据本发明的周期函数自变量变换装置的示范性结构示意图。
图2为根据本发明的周期函数自变量变换方法的示范性流程示意图。
图3为通信系统的基本组成系统结构示意图。
图4为根据本发明实施例的通信系统中频率偏移估计装置的结构示意图。
图5为根据本发明实施例的通信系统中发送端的结构示意图。
图6为根据本发明实施例的通信系统中接收端的结构示意图。
具体实施例方式
为使本发明的目的、技术方案和优点表达得更加清楚明白,下面结合附图及具体实施例对本发明再作进一步详细的说明。
本发明的主要思想是提出一种将周期函数输入参数(即周期函数自变量)变换到指定周期范围内的变换方法,不用进行分支判断,而是能够通过统一的处理方法实现变换。其中,对输入参数进行特定的处理后,对特定数位上的数进行操作,整个处理过程都是统一的,不需要根据输入参数在哪个周期范围内进行分类讨论。另外,可以将归一化的输入参数直接送到下个模块,不一定需要将归一化值变换成原始值然后再送入下一模块。而且,可以将周期函数的输入参数变换到任意周期范围,不需要一定要变换到某些特殊的指定周期范围内。
可以令周期函数的周期长度为M,一般需要将输入自变量变换到函数值计算单元指定的周期范围内,再将自变量送入函数值计算单元进行计算。设函数值计算单元指定的周期范围为[s,s+M)。一般情况下s有两类取值,即s=M·n或者s=M·n-M/2,其中n为任意整数。
对于任意范围内的定点化自变量值φz,需要将其变换到指定周期[s,s+M)中,其变换说明如下首先、对φz进行归一化处理,计算φ′=φ·1M]]>所对应的定点化值φ′z;然后,设φ′z的整数位从高位到低位依次为aM1,aM1-1,…,a1,小数位从高位到低位依次为bM2,bM2-1,…,b1;通过观察可知处于不同周期内(例如[s-M,s)、[s,s+M)、[s+M,s+2M)),对应同一函数值的自变量φ′z的小数部分是都是相同的,仅整数部分有所不同。
φ′z在[s,s+M)这个周期范围内的整数部分是可以预先计算并存储在相应的存储单元的,这里设φ′z在[s,s+M)这个周期范围内的整数部分是a~M1,a~M1-1,...,a~1.]]>所以只需要将aM1,aM1-1,…,a1的值置为a~M1,a~M1-1,...,a~1]]>就可以将φ′z变换到指定周期[s,s+M)中即可。
图1为根据本发明的周期函数自变量变换装置的示范性结构示意图。如图1所示,该装置100包括归一化处理单元101,用于根据周期函数的周期对输入的定点化自变量进行归一化处理,以得到归一化处理后的定点化自变量;指定周期范围内整数位存储单元102,用于存储所述归一化处理后的定点化自变量在指定周期范围内的整数部分;自变量变换单元103,用于将所述归一化处理后的定点化自变量的整数部分,设置为由指定周期范围内整数位存储单元102所存储的该整数部分,而将所述归一化处理后的定点化自变量的小数部分保持不变。
当需要变换的周期是一些特殊周期的时候,可以进行简单的置位或者其它的逻辑运算,而可以省略指定周期范围内整数位存储单元102,从而进一步节省系统资源。比如,当应用于三角函数的情况下,而且需要变换到的周期是
]>所对应的定点化值φ′z;(则问题转化成对于任意角度φ′z,将其变换到φ′Tz,满足φ′z=n×2M2+φ′Tz,]]>φ′Tz∈
,]]>其中n为整数。)φ′z=n×2M2+φ′Tz,φ′Tz∈
---(4)]]>第二步设φ′z的整数位从高位到低位依次为aM1,aM1-1,…,a1,小数位从高位到低位依次为bM2,bM2-1,…,b1。
通过表格来观察不同周期范围内φ′z整数位和小数位的特点表2为不同周期范围角度φ变换到φT∈
]>第三步根据值φ′Tz,计算φT=φ′T·2π对应的定点化值φTz。
值得说明的是1、对于第一步不是必须做φ′=φ·12π,]]>可以进行φ′=φ·12π·2z,]]>这里z为任意整数。这样会使得φ′Tz和φ′bz不是相等的关系,而是相差2的整数次幂的关系,在做第二步时,需要根据z的取值,确定需要对哪些二进制数位置0。
2、对于第三步在定点化系统中,很多情况接下来的模块往往是利用查表来计算对应的函数值,不一定需要φTz值,可以直接利用φ′Tz值来进行查表,这样可以节省一次乘法运算。
对于φT∈[-π,π)的情况则需要解决的问题是对于任意的角度φ,将其变换到φT,满足φ=2π·n+φT,φT∈[-π,π),n为整数。
假设φ在定标值为(M1,M2)情况下的定点化值为φz,2π在相同定标值下的定点化值为M2π,φT在相同定标值下的定点化值为φTz,则在定点化系统中需要解决的问题是,对于任意的角度φz,将其变换到φTz,满足φz=M2π·n+φTz,φTz∈[-M2π2,M2π2),]]>n为整数。
这中情况相当于φT∈
]>所对应的定点化值φ′z;第二步设φ′z的整数位从高位到低位依次为aM1,aM1-1,…a1,小数位从高位到低位依次为bM2,bM2-1,…,b1。取小数位最高位比特bM2,令整数位所有比特等于bM2,就可以得到φTzai=bM2,i=1,2…,M1(6)φ′z→ai=bM2φ′Tz]]>(2.2.4)第三步根据值φ′Tz,计算φT=φ′T·2π对应的定点化值φTz。
与φT∈
]>可以进行φ′=φ·12π·2z,]]>这里z为任意整数。这样会使得φ′Tz和φ′bz不是相等的关系,而是相差2的整数次幂的关系,在做第二步时,需要根据z的取值,确定需要对哪些二进制数位置0。
2、对于第三步在定点化系统中,很多情况接下来的模块往往是利用查表来计算对应的函数值,不一定需要φTz值,可以直接利用φ′Tz值来进行查表,这样可以节省一次乘法运算。
根据本发明将三角函数自变量变换到指定的周期范围之后,可以接着确定三角函数值。三角函数为典型的周期函数,而且正弦和余弦又为典型的三角周期函数。此处,为了便于说明,以正弦和余弦为例对本发明进行详细说明,显然,对于正切、余切等三角函数,本发明的定值方法同样适用。
首先对根据本发明确定正弦和余弦值的方法进行说明。
对于正弦和余弦来说,周期均为2π。对输入角度φ的一个周期的取值范围一般有两种情况φ∈[-π,π)和φ∈
]>范围内正弦值,建立定点化正弦表,比如这一过程可以与第二种现有技术二完全相同,对此详细说明令N2为一个正整数,则可计算正弦表{Tab2sin(i)}Tab2sin(i)=sin(0+i·π/22N2),i=0,1,...,2N2-1---(7)]]>将公式(7)中得到浮点值,以合适的定标值进行定点化后,就得到了大小为2N2的定点化正弦表{Tab2sinz(i)},这个表可以表示 范围内的正弦值。
当N2=N-2时,由公式(10)得到的正弦表与第一种现有技术中正弦表有相同的精确度,且所需的存储资源只有第一种现有技术中正弦表的1/4。
然后,根据已有的正弦表,确定相对应的正弦值和余弦值查表方法。
首先,令输入的定点化角度是φz,它是φ根据定标为(M1,M2)的定点化后的值,这里只考虑φ∈
]>所对应的定点化值φ′z;第2步令M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2),根据φ′z,对φ′=φ2π]]>以定标值(M′1,M′2)重新定标,得到新的定点化值φ″zφ′′z=φ′z·2-(M2-M′2)---(8)]]>第3步设φ″z的小数位从高位到低位依次为bM′2,bM′2-1,…,b1,取出其中的最高位bM′2和次最高位bM′2-1,为了表述方便,令c1=bM′2---(9)]]>c0=bM′2-1---(10)]]>第4步根据φ″z,c1,c0计算其所对应的正弦值和余弦值,如下所示表4为φ∈
---(11)]]>(cos(φ))FIX=(1-2·XOR(c1,c0))·Tab2sinz[(2c0-1)·φ′′z+(1-2c0)·(1+2c1)·2N2]---(12)]]>其中XOR(c1,c0)表示对c1,c0做异或运算。
其中(sin(φ))FIX表示sin(φ)的定点化值,(cos(φ))FIX表示cos(φ)的定点化值,其定标参数不一定与φ相同。
根据上述公式(11)和(12),可以通过查表确定定点化角度φz对应的定点化正弦值(sin(φ))FIX和定点化余弦值(cos(φ))FIX。
以上就实现了对于φ∈
]>范围内正弦值,建立正弦表,其建表过程与前面φ∈
]>将上述公式中得到浮点值,以合适的定标值进行定点化后,就得到了大小为2N2的定点化正弦表{Tab2sinz(i)},这个表可以表示 范围内的正弦值。
当N2=N-2时,由上述公式得到的正弦表与第一种现有技术中正弦表有相同的精确度,且所需的存储资源只有现有技术中正弦表的1/4。
然后是根据已有的正弦表,确定相对应的正弦值和余弦值查表方法。
令输入的定点化角度是φz,它是φ根据定标为(M1,M2)的定点化后的值,这里只考虑φ∈[-π,π)的情况,如果φ不在这个范围内,需要根据正弦函数和余弦函数的周期性,将其变换到这个周期范围内。
在后面的推导中,如不做特殊声明,定点化运算过程中定标值保持不变。根据正弦表查正弦值和余弦值的过程可根据如下步骤进行第1步根据输入值φz,计算φ′=φ2π]]>所对应的定点化值φ′z;第2步令M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2),根据φ′z,对φ′=φ2π]]>以定标值(M′1,M′2)重新定标,得到新的定点化值φ″zφ′′z=φ′z·2-(M2-M′2)---(13)]]>第3步设φ″z的小数位从高位到低位依次为bM′2,bM′2-1,…,b1,取出其中的最高位bM′2和次最高位bM′2-1,为了表述方便,令c1=bM′2---(14)]]>c0=bM′2-1---(15)]]>
第4步根据φ″z,c1,c0计算其所对应的正弦值和余弦值,如下所示表6为φ∈[-π,π)情况不同象限内正弦值的计算公式以及与c1,c0的对应关系表。
表6表7为φ∈[-π,π)情况不同象限内余弦值的计算公式以及与c1,c0的对应关系表。
表7
根据上面的表格可以得到求正弦值和余弦值的统一公式(sin(φ))FIX=(1-2c1)·Tab2sinz[(1-2c0)·φ′′z+XOR(c1,c0)·2·2N2---(16)]]>(cos(φ))FIX=(1-2·XOR(c1,c0))·Tab2sinz[(2c0-1)·φ′′z+(1-2·XOR(c1,c0))·2N2]---(17)]]>其中XOR(c1,c0)表示对c1,c0做异或运算。
其中(sin(φ))FIX表示sin(φ)的定点化值,(cos(φ))FIX表示cos(φ)的定点化值,其定标参数不一定与φ相同。
根据上述公式(16)和(17),可以通过查表确定定点化角度φz对应的定点化正弦值(sin(φ))FIX和定点化余弦值(cos(φ))FIX。
以上就实现了对于φ∈[-π,π)的情况下的定点化正弦值和定点化余弦值的确定。
同样,对于φ在定点化数能表示的任意范围内取值,本发明同样适用。当不能确定输入角度φ的取值范围时,在经过一定的处理后,仍然能够依据前面的方法进行正弦值和余弦值的计算。
首先是预先计算φ∈
]>范围内正弦值,建立正弦表。其建表过程与前面φ∈
]>将上述公式中得到浮点值,以合适的定标值进行定点化后,就得到了大小为2N2的定点化正弦表{Tab2sinz(i)},这个表可以表示 范围内的正弦值。
当N2=N-2时,得到的正弦表与现有技术中正弦表有相同的精确度,且所需的存储资源只有现有技术中正弦表的1/4。
然后,根据已有的正弦表,确定相对应的正弦值和余弦值查表方法。经过对输入角度φz一定处理后,可以化归到前面φ∈
]>所对应的定点化值φ′z;第2步令M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2),根据φ′z,对φ′=φ2π]]>以定标值(M′1,M′2)重新定标,得到新的定点化值φ″zφ′′z=φ′z·2-(M2-M′2)---(18)]]>第3步设φ″z的整数位从高位到低位依次为aM′1,aM′1-1,…,a1,将aM′1,aM′1-1,…,a1全部置成0,即令ai=0,i=1,2,…M′1(19)设将φ″z整数位全部置成0后的值为φz,通过推导可知φz所对应的角度值在
]>这里不一定要除以2π,可以有φ′=φ2π·2p,]]>其中p可以为任意整数,同时后面重新定标的定标值需要根据p的取值进行调整。这里对p的取值限制在于定点化整数位宽和小数位宽的限制,当整数位宽和小数位宽取充分大时,p的取值可以认为是没有限制的。
以上虽然以确定正弦和余弦值为例进行了说明,本领域技术人员可以意识到,这样的示范性说明并不用于限定本发明,而是可以应用到任意的周期三角函数上。
以上描述了本发明的确定正弦值和余弦值的示范性算法,但是本发明并不局限于计算正弦值和余弦值。相反,而是适用于任意的三角函数。
基于上述分析,本发明还提出了一种正余弦值确定装置,包括归一化处理单元,用于根据π的整数倍对输入的正/余弦函数定点化自变量进行归一化处理,以得到归一化处理后的定点化正/余弦函数自变量;指定周期范围内整数位存储单元,用于存储所述归一化处理后的定点化正/余弦函数自变量在指定周期范围内的整数部分;自变量变换单元,用于将所述归一化处理后的定点化正/余弦函数自变量的整数部分,设置为由指定周期范围内整数位存储单元所存储的该整数部分,而将所述归一化处理后的定点化正/余弦函数自变量的小数部分保持不变;正余弦值确定单元,确定由所述自变量变换单元所输出的定点化正/余弦函数自变量的正/余弦值。
优选地,上述正余弦值确定单元包括正弦值表存储模块,用于存储包含有 范围内的定点化正弦值的正弦值表,其中该表的大小为2N2;归一化处理模块,用于根据定点化的输入角度φz,计算φ′=φ2π]]>所对应的定点化值φ′z,并且根据φ′z,对所述φ′=φ2π]]>以定标值(M′1,M′2)重新定标,得到新的定点化值φ″z,所述φz为φ根据定标为(M1,M2)的定点化后的值,并且φ∈
;]]>(cos(φ))FIX=(1-2·XOR(c1,c0))·Tab2sinz[(2c0-1)·φ′′z+(1-2c0)·(1+2c1)·2N2];]]>其中c1=bM′2;]]>c0=bM′2-1,]]>(sin(φ))FIX为sin(φ)的定点化值,(cos(φ))FIX为cos(φ)的定点化值,XOR(c1,c0)为对c1和c0做异或运算, 其中i=0,1,...,2N2-1.]]>可选地,当φ∈[-π,π)时,正余弦值确定单元还可以包括正弦值表存储模块,用于存储包含有 范围内的定点化正弦值的正弦值表,其中该表的大小为2N2;归一化处理模块,用于根据定点化的输入角度φz,计算φ′=φ2π]]>所对应的定点化值φ′z,并且根据φ′z,对所述φ′=φ2π]]>以定标值(M′1,M′2)重新定标,得到新的定点化值φ″z,所述φz为φ根据定标为(M1,M2)的定点化后的值,并且φ∈[-π,π);其中M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2);数位获取模块,用于获取φ″z的小数部分最高位比特bM′2和小数部分次高位比特bM′2-1;正余弦值确定模块,用于根据所述新的定点化值φ″z、小数部分最高位比特bM′2和小数部分次高位比特bM′2-1,查所述正弦值表以确定所述定点化输入角度的定点化正余弦值,其中(cos(φ))FIX=(1-2c1)·Tab2sinz[(1-2c0)·φ′′z+XOR(c1,c0)·2·2N2];]]>(cos(φ))FIX=(1-2·XOR(c1,c0))·Tab2sinz[(2c0-1)·φ′′z+(1-2·XOR(c1,c0))·2N2];]]>其中c1=bM′2;]]>c0=bM′2-1,]]>(sin(φ))FIX为sin(φ)的定点化值,(cos(φ))FIX为cos(φ)的定点化值,XOR(c1,c0)为对c1和c0做异或运算,Tab2sin(i)=sin(0+i·π/22N2),]]>其中i=0,...,2N2-1.]]>以上具体描述了本发明的三角函数值确定装置和发明,其中尤其描述了正弦值和余弦值的确定方法和装置。
下面对需要用到确定三角函数值的某一个具体实现以及其在通信系统中所处的进行具体描述。显然,本发明并不局限于通信系统。
在现代通信系统中,调制器、时频同步模块、信道均衡模块以及实际通信系统中的一些其它模块,通常需要用到大量的正弦和余弦运算。不但在通信系统中,在很多其它电子系统、控制系统中也需要大量使用正弦和余弦运算。快速有效的正弦和余弦运算不仅能够加快这些系统的响应时间、提高系统性能,而且还能有效地节省系统资源,降低系统成本。
目前,一般通信系统需要解决的问题是在发送端对信息进行编码、调制,在接收端对收到的经过信道畸变的信号进行解调、译码恢复出发端发送的信息。
在发送端,首先对信源进行信源编码,然后进行信道编码,接着通过调制器将编码后的信息转换成适合于在信道中进行传输的信号。
在接收端,需要对经过信道畸变的接收信号进行处理,通过时频同步、信道均衡后,再进行信道译码,接着再进行信源译码,最后恢复出原始信息。
这是现代通信系统的基本处理流程,其中调制器、时频同步、信道均衡以及在实际通信系统中的其它一些模块,常常需要用到大量的正弦和余弦运算。随着现代通信系统的带宽越来越宽,单位时间内需要处理的数据量越来越大,对正弦和余弦运算的快速性和有效性提出了很高的要求。
图3为根据本发明实施例的通信系统中频率偏移估计装置的结构示意图。图4为现代通信系统的基本组成系统结构示意图。现代通信系统的基本组成,由发送部分和接收部分组成。其中很多模块都需要用到正弦值和余弦值的计算,比如在接收部分。
通信系统中接收机的处理流程为首先对接收信号进行时间同步,即判断是否有信号到达以及信号到达的时间起始位置。然后对信号的载波频率偏移进行估计,根据估计值对载波频率偏移进行补偿。接着进行信道估计,根据估计值对信号进行信道补偿(也称为信道均衡)。再进行信道译码以及信源译码,最后得到所需要的信息。
接下来详细讨论载波频偏的产生以及对频偏的补偿方法。
通常情况下在基带进行信号传输损耗比较大,同时基带的频谱资源也是有限的,所以大部分情况下将基带信号调制到载波上进行传输。
一般需要传输的基带信号分为同相分量Idata和正交分量Qdata,令载波频率为fc,则调制到该载波上的信号为Sfc=Idata·cos(2π·fc·t)-Qdata·sin(2π·fc·t)---(20)]]>公式(20)中不一定要使用减号,也可以使用加号,但为了后面的描述方便,这里使用减号。为了表述方便,利用复数来同时表示基带信号的同相分量和正交分量SBase=Idata+j·Qdata(21)则调制到载波fc上的信号可以表示为Sfc=Re{SBase·ej·2π·fc·t}---(22)]]>这里Re{x}表示对复数x取实部。一般情况下简单的记作S′fc=SBase·ej·2π·fc·t---(23)]]>在接收端,需要对将调制到载波上的信号重新变换到基带上,以便进行进一步的接收处理Idata=LPF{Sfc·cos(2π·fc·t)}---(24)]]>Qdata=LPF{Sfc·sin(2π·fc·t)}---(25)]]>其中LPF{x}表示对信号x进行低通滤波,同样也可用复数运算来表示这一过程SBase=S′fc·e-j·2π·fc·t---(26)]]>
这里发送端的载波和接收端的载波是分别由各自的晶振产生的。而两端的晶振往往是无法产生频率完全相同的载波的,而会有一定的偏差fc,sned=fc,rece+Δf (27)这样根据公式26得到接收基带信号就会存在一定的频偏误差SBase,rece=S′fc·e-j·2π·fc·t=SBase·ej·2π·Δfc·t---(28)]]>频偏估计模块的作用就是估计出该频偏值Δfc,频偏补充模块则是将这个频偏误差补偿回去,得到实际的发送信号SBase=SBase,rece·e-j·2π·Δfc·t---(29)]]>所以在频偏补偿模块中需要大量计算cos(-j·2π·Δfc·t)和sin(-j·2π·Δfc·t)值,所以根据本发明所提出的计算正弦值和余弦值的方法则可以极大地加快这些值的计算速度,提高系统效率。
图3为根据本发明实施例的通信系统中频率偏移估计装置的结构示意图。
由图3可见,该装置包括频率偏移估计单元,用于对待频率偏移补偿的数据进行频率偏移估计,补偿相位计算单元,用于计算需要补偿的相位;也就是计算t时刻需要补偿的相位;如上所述的角度变换单元,用于将输入角转换到指定周期范围;正余弦值确定单元,用于根据所述需要补偿的相位确定转换到指定周期范围的角度正/余弦值;频率偏移补偿单元,用于根据所述正余弦值确定单元确定出的正/余弦值对待频率偏移补偿的数据进行频率偏移估计。
其中,正余弦值确定单元的输入参数是t时刻需要补偿的相位φt,输出参数的是该相位值对应的正弦值和余弦值。
在实际工程实现中(比如利用FPGA、DSP实现),往往为了提高运算速度、提高系统效率等的考虑并不直接使用原始的相位值φt,而是使用对其进行定点化以后的值φt,z。
根据正弦表和余弦表的不同建立形式,相应的查表运算单元具体实现也稍有不同,但其基本思想是一致的。
还有很多模块也需要用到正弦值和余弦值的计算。无论是发送端将基带信号调制到载波上,还是接收端将调制在载波上的信号变换到基带上也都需要用的正弦值和余弦值的计算。图5为根据本发明实施例的通信系统中发送端的结构示意图。图6为根据本发明实施例的通信系统中接收端的结构示意图。
图6主要是为了说明将调制在载波上的信号变换到基带的过程,为了说明过程明了清晰,这里不考虑载波频偏的存在,即假设fc,sned=fc,rece=fc,所以可以直接得到Idata和Qdata。当考虑频偏时,还需要进行频偏补偿,才能得到Idata和Qdata。
同样,本发明所提出的频率偏移估计装置既可以适用于OFDM系统,也能够适用于基于OFDM的OFDMA系统。以上以OFDM系统为例对本发明进行了描述,但是本领域技术人员可以意识到,本发明对于其它的多载波通信系统同样适用。用OFDM为例进行说明仅为示范性的,并不用于对本发明进行限制。本发明还可以适用于单载波通信系统等任意的通信系统。
从上面的描述可以看到,通信系统中许多模块都需要进行大量正弦值和余弦值的计算。所以正弦值和余弦值的快速计算方法能极大地提高系统效率。
同时,这不局限在通信系统中使用,需要进行三角周期函数值计算的系统中都能利用本发明以提高系统效率。
综上所述,本发明所提供的三角函数查表方法,既使用较少的存储资源,又不需要做分支逻辑判断以减少对计算资源的需求,并且使得整个正弦值和余弦值的计算过程对系统的要求都比较低,从而可以提高正弦值和余弦值计算的响应速度,降低系统成本。而且,应用本发明以后,还能够显著地提高频率偏移估计的效率。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
权利要求
1.一种周期函数自变量变换装置,其特征在于,该装置包括归一化处理单元,用于根据周期函数的周期对输入的定点化自变量进行归一化处理,以得到归一化处理后的定点化自变量;自变量变换单元,用于将所述归一化处理后的定点化自变量的整数部分,设置为所述归一化处理后的定点化自变量在指定周期范围内的整数部分,而将所述归一化处理后的定点化自变量的小数部分保持不变。
2.根据权利要求1所述的周期函数自变量变换装置,其特征在于,该装置进一步包括逆归一化处理单元,用于对自变量变换单元所输出的变换后的定点化自变量进行逆归一化处理。
3.根据权利要求1或2所述的周期函数自变量变换装置,其特征在于,所述周期函数为三角函数。
4.根据权利要求1或2或3所述的周期函数自变量变换装置,其特征在于,该装置进一步包括指定周期范围内整数位存储单元,用于存储所述归一化处理后的定点化自变量在指定周期范围内的整数部分,并根据自变量变换单元的请求将所存储的归一化处理后的定点化自变量在指定周期范围内的整数部分,发送给自变量变换单元。
5.根据权利要求3所述的周期函数自变量变换装置,其特征在于,所述指定周期范围为
]>所对应的定点化值φ′z,并且根据φ′z,对所述φ′=φ2π]]>以定标值(M′1,M′2)重新定标,得到新的定点化值φ″z,所述φz为φ根据定标为(M1,M2)的定点化后的值,并且φ∈
;]]>(cos(φ))FIX=(1-2·XOR(c1,c0))·Tab2sinz[(2c0-1)·φ′′z+(1-2c0)·(1+2c1)·2N2];]]>其中c1=bM′2;c0=bM′2-1,]]>(sin(φ))FIX为sin(φ)的定点化值,(cos(φ))FIX为cos(φ)的定点化值,XOR(c1,c0)为对c1和c0做异或运算,Tab2sin(i)=sin(0+i·π/22N2),]]>其中i=0,1,...,2N2-1.]]>
14.根据权利要求12所述的正余弦值确定装置,其特征在于,该正余弦值确定单元包括正弦值表存储模块,用于存储包含有 范围内的定点化正弦值的正弦值表,其中该表的大小为2N2;归一化处理模块,用于根据由自变量变换单元所输出的定点化的输入角度φz,计算φ′=φ2π]]>所对应的定点化值φ′z,并且根据φ′z,对所述φ′=φ2π]]>以定标值(M′1,M′2)重新定标,得到新的定点化值φ″z,所述φz为φ艮据定标为(M1,M2)的定点化后的值,并且φ∈[-π,π);其中M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2);数位获取模块,用于获取φ″z的小数部分最高位比特bM′2和小数部分次高位比特bM′2-1;正余弦值确定模块,用于根据所述新的定点化值φ″z、小数部分最高位比特bM′2和小数部分次高位比特bM′2-1,查所述正弦值表以确定所述定点化输入角度的定点化正余弦值,其中(sin(φ))FIX=(1-2c1)·Tab2sinz[(1-2c0)·φ′′z+XOR·(c1,c0)·2·2N2];]]>(cos(φ))FIX=(1-2·XOR(c1,c0))·Tab2sinz[(2c0-1)·φ′′z+(1-2·XOR(c1,c0))·2N2];]]>其中c1=bM′2;c0=bM′2-1,]]>(sin(φ))FIX为sin(φ)的定点化值,(cos(φ))FIX为cos(φ)的定点化值,XOR(c1,c0)为对c1和c0做异或运算,Tab2sin(i)=sin(0+i·π/22N2),]]>其中i=0,1,...,2N2-1.]]>
15.一种通信系统中的频率偏移补偿装置,其特征在于,该装置包括频率偏移估计单元,用于对待频率偏移补偿的数据进行频率偏移估计,补偿相位计算单元,用于计算需要补偿的相位;如权利要求12-14中任一项的正余弦值确定装置;频率偏移补偿单元,用于根据由所述正余弦值确定装置确定出的正/余弦值对待频率偏移补偿的数据进行频率偏移估计。
16.根据权利要求15所述的通信系统中的频率偏移补偿装置,其特征在于,所述通信系统为正交频分复用OFDM系统、或单载波通信系统。
17.一种通信系统中的发射机,其特征在于,该发射机包括权利要求12-14中任一项所述的正余弦值确定装置。
18.一种通信系统中的接收机,其特征在于,该接收机包括权利要求12-14中任一项所述的正余弦值确定装置。
全文摘要
本发明公开了一种周期函数自变量变换装置,该装置包括归一化处理单元,用于根据周期函数的周期对输入的定点化自变量进行归一化处理,以得到归一化处理后的定点化自变量;自变量变换单元,用于将所述归一化处理后的定点化自变量的整数部分,设置为所述归一化处理后的定点化自变量在指定周期范围内的整数部分,而将所述归一化处理后的定点化自变量的小数部分保持不变。本发明还公开了一种周期函数自变量变换方法、正余弦值确定装置、通信系统中的发射机以及接收机。应用本发明以后,可以极大地降低对计算资源和存储资源的需求,因此能够降低成本。
文档编号G06F7/548GK1904876SQ20061010405
公开日2007年1月31日 申请日期2006年7月31日 优先权日2006年7月31日
发明者吕峻, 郑德来 申请人:华为技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1