專利名稱:三角函數(shù)值確定裝置、方法及應(yīng)用其的通信裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及電子計(jì)算裝置領(lǐng)域,更具體地說,涉及三角函數(shù)值確定裝置、方法及應(yīng)用其的通信裝置。
背景技術(shù):
現(xiàn)代通信系統(tǒng)通常是基于數(shù)字信號(hào)處理(DSP)、現(xiàn)場可編程門陣列(FPGA)、特定用途集成電路(ASIC)等技術(shù)中的一種,或者是其中某幾種的組合來實(shí)現(xiàn)的。在現(xiàn)代通信系統(tǒng)中,調(diào)制器、時(shí)頻同步模塊、信道均衡模塊以及實(shí)際通信系統(tǒng)中的一些其它模塊,通常需要用到大量的正弦和余弦運(yùn)算。隨著現(xiàn)代通信系統(tǒng)的帶寬越來越寬,單位時(shí)間內(nèi)需要處理的數(shù)據(jù)量越來越大,對正弦和余弦等周期運(yùn)算的快速性和有效性提出了很高的要求。另外,不但在通信系統(tǒng)中,在很多其它電子系統(tǒng)、控制系統(tǒng)中也需要大量使用正弦和余弦運(yùn)算??焖儆行У恼液陀嘞疫\(yùn)算不僅能夠加快這些系統(tǒng)的響應(yīng)時(shí)間、提高系統(tǒng)性能,而且還能有效地節(jié)省系統(tǒng)資源,降低系統(tǒng)成本。
為了提高運(yùn)算速度、降低系統(tǒng)成本,在這些系統(tǒng)中很多情況下都是采用定點(diǎn)數(shù)進(jìn)行計(jì)算。當(dāng)進(jìn)行浮點(diǎn)數(shù)運(yùn)算時(shí),首先需要將浮點(diǎn)數(shù)轉(zhuǎn)換成定點(diǎn)數(shù),然后再利用定點(diǎn)數(shù)運(yùn)算來實(shí)現(xiàn)浮點(diǎn)數(shù)的運(yùn)算。將浮點(diǎn)數(shù)用定點(diǎn)數(shù)表示,并利用定點(diǎn)數(shù)運(yùn)算來實(shí)現(xiàn)浮點(diǎn)數(shù)的運(yùn)算的過程被稱為定點(diǎn)化。下面以16比特長度的定點(diǎn)數(shù)為例,說明定點(diǎn)化的過程。
在說明定點(diǎn)化過程之前,需要先說明正定點(diǎn)數(shù)和負(fù)定點(diǎn)數(shù)的表示方法。在目前的應(yīng)用中,定點(diǎn)數(shù)一般都是以二進(jìn)制補(bǔ)碼形式表示的。每個(gè)16位數(shù)用一個(gè)符號(hào)位來表示定點(diǎn)數(shù)的正負(fù),0表示數(shù)值為正,1表示數(shù)值為負(fù),其余15位表示數(shù)值的絕對值,對于正整數(shù)以及0,該15位二進(jìn)制數(shù)對應(yīng)的數(shù)值就是該數(shù)的絕對值;而對于負(fù)整數(shù),該15位二進(jìn)制數(shù)的反碼加1所對應(yīng)的數(shù)值才是該數(shù)的絕對值。如下例二進(jìn)制數(shù)0010000000000011b→8195二進(jìn)制數(shù)1111111111111100b→-4定點(diǎn)化過程的關(guān)鍵之處就是如何以一個(gè)整數(shù)來表示一個(gè)小數(shù),其中最重要的就是確定小數(shù)點(diǎn)在這16比特中的位置,即小數(shù)點(diǎn)左邊的比特用來表示小數(shù)的整數(shù)部分,而小數(shù)點(diǎn)右邊的比特用來表示小數(shù)的小數(shù)部分。通過設(shè)定小數(shù)點(diǎn)在16位比特中不同的位置,就可以表示不同大小和不同精度的小數(shù)。
上面的過程就叫做數(shù)的定標(biāo),有Q表示法和S表示法兩種。Q表示法只給出了表示小數(shù)部分的位寬。而S表示法則同時(shí)給出了表示整數(shù)部分和小數(shù)部分的位寬,而且這里的整數(shù)位寬是包括了符號(hào)位的。一般將S表示法中的a,b分別稱為整數(shù)位寬和小數(shù)位寬。有的表示方法與這里的表示有所不同,并不把符號(hào)位包括在整數(shù)位寬里。這只是在表示形式上有所區(qū)別,其對應(yīng)的運(yùn)算過程是完全一樣的。
同樣一個(gè)16位數(shù),若小數(shù)點(diǎn)設(shè)定的位置不同,即定的標(biāo)不一樣,它所表示的數(shù)也不一樣。不同的定標(biāo)值所表示的數(shù)不僅范圍不同,而且能夠表示的精度也不相同,在總的比特位數(shù)相同的情況下,小數(shù)位寬越大,能表示的數(shù)值范圍越小,但精度越高;相反,小數(shù)位寬越下,能表示的數(shù)值范圍越大,但精度越低。例如(16,0)的數(shù)值范圍是-32768到+32767,精度為1;而(1,15)的數(shù)值范圍是-1到0.999969482421875,精度是1/32768=0.000030517578125。所以對定點(diǎn)數(shù)而言,數(shù)值范圍和精度是一對矛盾,一個(gè)變量要能夠表示比較的數(shù)值范圍,需要以犧牲精度為代價(jià);而想提高精度,則數(shù)值的表示范圍就相應(yīng)的要減小。
在實(shí)際的定點(diǎn)算法中,為了到達(dá)最佳的性能,必須充分考慮到這一點(diǎn)。當(dāng)對應(yīng)的定點(diǎn)數(shù)是無符號(hào)數(shù)時(shí),的則在整數(shù)位寬申不需要考慮符號(hào)位,而其它部分都有相似的處理。下面的討論都以有符號(hào)整數(shù)為例進(jìn)行說明,對于無符號(hào)整數(shù)有類似的過程,而且這里得到的所有結(jié)論在無符號(hào)整數(shù)情況下都有類似結(jié)論。
在定點(diǎn)化條件下,通過輸入的角度值,直接實(shí)時(shí)計(jì)算其對應(yīng)的正弦值和余弦值往往是非常復(fù)雜的,而且速度慢,難以滿足系統(tǒng)要求。所以這些系統(tǒng)中很少直接進(jìn)行定點(diǎn)化的正弦值和余弦值的計(jì)算,而是通過查表的方式來減少運(yùn)算復(fù)雜度,提高運(yùn)算速度,以達(dá)到系統(tǒng)要求。
查表方法的基本思想就是就是將一個(gè)周期內(nèi)的全部或部分定點(diǎn)化正弦值或余弦值預(yù)先計(jì)算出來,并存在存儲(chǔ)器內(nèi)。當(dāng)需要計(jì)算正弦值或余弦值時(shí),根據(jù)輸入的定點(diǎn)化角度值,通過計(jì)算,得到其對于正弦值或余弦值所對應(yīng)的存儲(chǔ)地址,接著到該地址直接讀取儲(chǔ)存的數(shù)值,即為該角度值對應(yīng)的正弦值或余弦值。
顯然,這種查表方法這就需要一定的存儲(chǔ)空間來存放預(yù)先計(jì)算所得的定點(diǎn)化正弦表或余弦表,還需要相對應(yīng)的查表方式來查找正確的正弦值和余弦值。一般情況下,存儲(chǔ)的表越大,查表的方法可以越簡便,存儲(chǔ)的表越小,則查表的方法就比較復(fù)雜。所以在設(shè)計(jì)查表方式時(shí),需要綜合考慮存儲(chǔ)資源和計(jì)算資源,使得整體性能得到最優(yōu)。正弦值和余弦值的查表所采用的表存儲(chǔ)方法和查表算法并不是唯一的,合適的表存儲(chǔ)結(jié)構(gòu)和快速查表算法,能夠有效的提高系統(tǒng)效率,降低系統(tǒng)成本。
在現(xiàn)有技術(shù)中,由于正弦函數(shù)和余弦函數(shù)是周期函數(shù),所以可以存儲(chǔ)一個(gè)周期的正弦值和余弦值,然后再進(jìn)行查表。目前主要有兩種查表定值方法,分別稱為第一種現(xiàn)有技術(shù)和第二種現(xiàn)有技術(shù)。
對輸入角度的一個(gè)周期的取值范圍一般有兩種情況φ∈[-π,π)和φ∈
]>Tabcos(i)=cos(0+i·2π2N),i=0,1,...,2N-1---(2)]]>將公式(1)和(2)中得到浮點(diǎn)值,以合適的定標(biāo)值進(jìn)行定點(diǎn)化后,就分別得到了大小為2N的定點(diǎn)化正弦表{Tabsinz(i)}和余弦表{Tabcosz(i)},這兩個(gè)表可以分別表示
]>所對應(yīng)的定點(diǎn)化值φ′z;2、根據(jù)φ′z計(jì)算φ所對應(yīng)的正弦值在正弦表{Tabsin2(i)}的位置index;index=φz′·2-(M2-N)---(3)]]>3、根據(jù)得到位置值查找對應(yīng)的正弦值;(sin(φ))FIX=Tabsin2(index)---(4)]]>其中(sin(φ))FIX表示sin(φ)的定點(diǎn)化值,其定標(biāo)參數(shù)不一定與φ相同。這就得到了定點(diǎn)化角度φz對應(yīng)的定點(diǎn)化正弦值(sin(φ))FIX。
φ的定點(diǎn)化余弦值的查找與正弦值的查找過程相似。
從上面的建表過程可以看到,這種現(xiàn)有技術(shù)需要針對正弦值和余弦值分別建立一個(gè)大小為2N的表。為了使得正弦值和余弦值到達(dá)一定的精度要求,N值一般不能取得太小,這就需要存儲(chǔ)2×2N個(gè)定點(diǎn)化值,需要大量存儲(chǔ)資源,增加了系統(tǒng)成本。
在第二種現(xiàn)有技術(shù)中,由于正弦函數(shù)和余弦函數(shù)在一個(gè)周期內(nèi)具有對稱性,所以可以只對 范圍內(nèi)的正弦值建表,其它范圍的角度值,則需要根據(jù)相對應(yīng)的公式換算到這個(gè)范圍內(nèi)。對輸入角度的一個(gè)周期的取值范圍一般有兩種情況φ∈[-π,π)和φ∈
]>范圍內(nèi)的正弦表,然后根據(jù)上表中的公式設(shè)計(jì)相應(yīng)的查表方法。
首先是預(yù)先計(jì)算φ∈
]>范圍內(nèi)正弦值,建立正弦表。
令N2為一個(gè)正整數(shù),則可計(jì)算正弦表{Tab2sin(i)}Tab2sin(i)=sin(0+i·π/22N2),i=0,1,...,2N2-1---(5)]]>將公式(5)中得到浮點(diǎn)值,以合適的定標(biāo)值進(jìn)行定點(diǎn)化后,就得到了大小為2N2的定點(diǎn)化正弦表{Tab2sinz(i)},這個(gè)表可以表示 范圍內(nèi)的正弦值。
當(dāng)N2=N-2時(shí),由公式(5)得到的正弦表與現(xiàn)有技術(shù)一中正弦表有相同的精確度,且所需的存儲(chǔ)資源只有現(xiàn)有技術(shù)一中正弦表的1/4。
然后,根據(jù)已有的正弦表,確定相對應(yīng)的正弦值和余弦值查表方法。
令輸入的定點(diǎn)化角度是φz,它是φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值,這里只考慮φ∈
]>φzin,cos=-φz+Mπ2,φ∈
]>所得到的φzin,sin和φzin,cos其對應(yīng)的浮點(diǎn)值均在 范圍內(nèi)。
3、根據(jù)第一種現(xiàn)有技術(shù)中給出的方法,分別計(jì)算φzin,sin和φzin,cos所對應(yīng)的正弦值在正弦表{Tab2sinz(i)}中的位置indexin,sin和indexin,cos;4、根據(jù)表1,以及得到的不同象限內(nèi)indexin,sin和indexin,cos值,計(jì)算輸入角度φz所對應(yīng)的正弦值和余弦值(sin(φ))FIX=Tab2sinz(indexin,sin),φ∈
]>(cos(φ))FIX=Tab2sinz(indexin,cos),φ∈
]>其中(sin(φ))FIX表示sin(φ)的定點(diǎn)化值,(cos(φ))FIX表示cos(φ)的定點(diǎn)化值,其定標(biāo)參數(shù)不一定與φ相同。
這就得到了定點(diǎn)化角度φz對應(yīng)的定點(diǎn)化正弦值(sin(φ))FIX和定點(diǎn)化余弦值(cos(φ))FIX。
從上述過程可以看到,對于輸入角度φz需要對其分屬于不同的四個(gè)象限分四種情況進(jìn)行計(jì)算,需要進(jìn)行分支邏輯判斷。尤其在需要進(jìn)行大量正弦值和余弦值計(jì)算的系統(tǒng)中,頻繁地進(jìn)行分支邏輯判斷,提高了對計(jì)算資源的需求,增加了系統(tǒng)成本,并且對系統(tǒng)性能的優(yōu)化和執(zhí)行效率都會(huì)有很大的影響。
發(fā)明內(nèi)容
有鑒于此,本發(fā)明的主要目的是提出一種三角函數(shù)值確定裝置,以降低對計(jì)算資源和存儲(chǔ)資源的需求,從而降低成本。
本發(fā)明的另一目的是提出一種三角函數(shù)值確定方法,以降低對計(jì)算資源和存儲(chǔ)資源的需求,從而降低成本。
本發(fā)明的另一目的是提出一種通信系統(tǒng)中的頻率偏移補(bǔ)償裝置,以加快頻率偏移補(bǔ)償?shù)挠?jì)算速度,從而提高頻率偏移估計(jì)的效率。
本發(fā)明的再一目的是提出一種通信系統(tǒng)中的接收機(jī),該接收機(jī)具有良好的信號(hào)接收性能。
本發(fā)明的再一目的是提出一種通信系統(tǒng)中的發(fā)射機(jī),該發(fā)射機(jī)具有良好的信號(hào)發(fā)射性能。
為達(dá)到上述目的,本發(fā)明的技術(shù)方案是這樣實(shí)現(xiàn)的一種三角函數(shù)值確定裝置,該裝置包括三角函數(shù)表存儲(chǔ)單元,用于存儲(chǔ)三角函數(shù)表,所述三角函數(shù)表中包含定點(diǎn)化三角函數(shù)值;歸一化處理單元,用于對定點(diǎn)化的輸入角度進(jìn)行歸一化處理,以得到歸一化處理后的定點(diǎn)化輸入角度;數(shù)位獲取單元,用于獲取所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特;三角函數(shù)值確定單元,用于根據(jù)所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特,以及所述歸一化處理后的定點(diǎn)化輸入角度,查所述三角函數(shù)表以確定所述定點(diǎn)化輸入角度的定點(diǎn)化三角函數(shù)值。
所述歸一化處理的倍數(shù)為1,所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特為歸一化處理后的定點(diǎn)化輸入角度的小數(shù)部分最高位比特和小數(shù)部分次高位比特。
所述歸一化處理的倍數(shù)為2,所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特為歸一化處理后的定點(diǎn)化輸入角度的小數(shù)部分次高位比特和小數(shù)部分第三次高位比特。
所述定點(diǎn)化的輸入角度為φz,并且φz為φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值;所述歸一化處理單元,用于根據(jù)所述定點(diǎn)化的輸入角度φz,計(jì)算φ除以所述三角函數(shù)的周期所得到的值φ′所對應(yīng)的定點(diǎn)化值φ′z,并且根據(jù)所述φ′z,對φ′以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″z,其中M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2);所述數(shù)位獲取單元,用于獲取φ″z的小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1;所述三角函數(shù)值確定單元,用于根據(jù)所述新的定點(diǎn)化值φ″z、小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1,查三角函數(shù)值表以確定所述定點(diǎn)化輸入角度的定點(diǎn)化三角函數(shù)值,其中所述三角函數(shù)值表的大小為2N2。
所述三角函數(shù)表存儲(chǔ)單元,用于存儲(chǔ)包括至少四分之一周期的三角函數(shù)值的三角函數(shù)表。
一種三角函數(shù)值確定方法,該方法包括A、對定點(diǎn)化的輸入角度進(jìn)行歸一化處理,以得到歸一化處理后的定點(diǎn)化輸入角度;B、獲取所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特;C、根據(jù)所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特,以及所述歸一化處理后的定點(diǎn)化輸入角度,查所述三角函數(shù)表,以確定所述定點(diǎn)化輸入角度的定點(diǎn)化三角函數(shù)值,其中所述三角函數(shù)表中包含定點(diǎn)化三角函數(shù)值。
步驟A所述歸一化處理的倍數(shù)為1,步驟B所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特為歸一化處理后的定點(diǎn)化輸入角度的小數(shù)部分最高位比特和小數(shù)部分次高位比特。
步驟A所述歸一化處理的倍數(shù)為2,步驟B所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特為歸一化處理后的定點(diǎn)化輸入角度的小數(shù)部分次高位比特和小數(shù)部分第三次高位比特。
所述定點(diǎn)化的輸入角度為φz,并且φz為φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值;所述步驟A包括根據(jù)定點(diǎn)化的輸入角度φz,計(jì)算φ除以所述三角函數(shù)的周期所得到的值φ′所對應(yīng)的定點(diǎn)化值φ′z,并且根據(jù)φ′z,對所述φ′以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″z,其中M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2);所述步驟B為獲取φ″z的小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1;所述步驟C為根據(jù)所述新的定點(diǎn)化值φ″z、小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1,查三角函數(shù)值表以確定所述定點(diǎn)化輸入角度的定點(diǎn)化三角函數(shù)值,其中所述三角函數(shù)值表的大小為2N2。
所述三角函數(shù)表包括至少四分之一周期的三角函數(shù)值。
一種正余弦值確定裝置,該裝置包括,正弦值表存儲(chǔ)單元,用于存儲(chǔ)包含有 范圍內(nèi)的定點(diǎn)化正弦值的正弦值表,其中該表的大小為2N2;歸一化處理單元,用于根據(jù)定點(diǎn)化的輸入角度φz,計(jì)算φ′=φ2π]]>所對應(yīng)的定點(diǎn)化值φ′z,并且根據(jù)φ′z,對所述φ′=φ2π]]>以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″z,所述φz為φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值,并且φ∈
;]]>(cos(φ))FIX=(1-2·XOR(c1,c0))·Tab2sinz[(2c0-1)·φz′′+(1-2c0)·(1+2c1)·2N2];]]>其中c1=bM2′;]]>C0=BM2′-1,]]>(sin(φ))FIX為sin(φ)的定點(diǎn)化值,(cos(φ))FIX為cos(φ)的定點(diǎn)化值,XOR(c1,c0)為對c1和c0做異或運(yùn)算,Tab2sin(i)=sin(0+i·π/22N2),]]>其中i=0,1,...,2N2-1.]]>一種正余弦值確定裝置,該裝置包括,正弦值表存儲(chǔ)單元,用于存儲(chǔ)包含有 范圍內(nèi)的定點(diǎn)化正弦值的正弦值表,其中該表的大小為2N2;歸一化處理單元,用于根據(jù)定點(diǎn)化的輸入角度φz,計(jì)算φ′=φ2π]]>所對應(yīng)的定點(diǎn)化值φ′z,并且根據(jù)φ′z,對所述φ′=φ2π]]>以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″z,所述φz為φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值,并且φ∈[-π,π);其中M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2);數(shù)位獲取單元,用于獲取φ″z的小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1;正余弦值確定單元,用于根據(jù)所述新的定點(diǎn)化值φ″z、小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1,查所述正弦值表以確定所述定點(diǎn)化輸入角度的定點(diǎn)化正余弦值,其中
(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=bM2′;]]>c0=bMz′-1,]]>(sin(φ))FIX為sin(φ)的定點(diǎn)化值,(cos(φ))FIX為cos(φ)的定點(diǎn)化值,XOR(c1,c0)為對c1和c0做異或運(yùn)算,Tab2sin(i)=sin(0+i·π/22N2),]]>其中i=0,1,...,2N2-1.]]>一種通信系統(tǒng)中的頻率偏移補(bǔ)償裝置,該裝置包括頻率偏移估計(jì)單元,用于對待頻率偏移補(bǔ)償?shù)臄?shù)據(jù)進(jìn)行頻率偏移估計(jì),補(bǔ)償相位計(jì)算單元,用于計(jì)算需要補(bǔ)償?shù)南辔?;以上任一所述的正余弦值確定裝置,用于根據(jù)所述需要補(bǔ)償?shù)南辔淮_定其正余弦值;頻率偏移補(bǔ)償單元,用于根據(jù)所述正余弦值確定裝置確定出的正余弦值對待頻率偏移補(bǔ)償?shù)臄?shù)據(jù)進(jìn)行頻率偏移估計(jì)。
所述通信系統(tǒng)為正交頻分復(fù)用(OFDM)系統(tǒng)、或單載波通信系統(tǒng)。
一種通信系統(tǒng)中的發(fā)射機(jī),該發(fā)射機(jī)包括以上任一所述的正余弦值確定裝置。
一種通信系統(tǒng)中的接收機(jī),該接收機(jī)包括以上任一所述的正余弦值確定裝置。
從上述技術(shù)方案中可以看出,在本發(fā)明中提出了種三角函數(shù)值確定裝置,包括三角函數(shù)表存儲(chǔ)單元,用于存儲(chǔ)三角函數(shù)表,所述三角函數(shù)表中包含定點(diǎn)化三角函數(shù)值;歸一化處理單元,用于對定點(diǎn)化的輸入角度進(jìn)行歸一化處理,以得到歸一化處理后的定點(diǎn)化輸入角度;數(shù)位獲取單元,用于獲取所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特;三角函數(shù)值確定單元,用于根據(jù)所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特,以及所述歸一化處理后的定點(diǎn)化輸入角度,查所述三角函數(shù)表以確定所述定點(diǎn)化輸入角度的定點(diǎn)化三角函數(shù)值。由此可見,在本發(fā)明中不直接計(jì)算周期函數(shù)的函數(shù)值,而是對函數(shù)值預(yù)先計(jì)算、以表的方式存儲(chǔ),然后通過查表獲得相應(yīng)的函數(shù)值,以減少運(yùn)算時(shí)間,并且,由于根據(jù)小數(shù)部分最高位比特、小數(shù)部分次高位比特、歸一化處理后的定點(diǎn)化輸入角度,查所述三角函數(shù)表,所以能夠降低對省計(jì)算資源和存儲(chǔ)資源的需求,從而極大地降低成本。
同時(shí),在本發(fā)明中,只需要存儲(chǔ)φ∈
]>范圍內(nèi)的定點(diǎn)化正弦值表就可以實(shí)現(xiàn)獲取正弦值,定點(diǎn)化正弦值表所需要的存儲(chǔ)資源是第一種現(xiàn)有技術(shù)的1/8,極大地降低了對存儲(chǔ)資源的要求,降低了系統(tǒng)成本。而且,在查表過程中完全不需要根據(jù)輸入角度進(jìn)行分支判斷分不同象限進(jìn)行計(jì)算,可以利用統(tǒng)一的公式計(jì)算不同象限中角度的正弦值和余弦值。提高了運(yùn)算效率,也提高了代碼的優(yōu)化效率。加快了系統(tǒng)的響應(yīng)時(shí)間,節(jié)省了系統(tǒng)計(jì)算資源,降低了系統(tǒng)成本。
同時(shí),在本發(fā)明中,輸入的角度不需要一定是在φ∈[-π,π)或φ∈[0,2π)范圍內(nèi),可以是任意范圍,在這種情況下,仍不需要根據(jù)輸入角度進(jìn)行分支判斷分不同范圍、不同象限進(jìn)行計(jì)算,同樣可以利用統(tǒng)一的處理方法和同一的公式計(jì)算不同范圍、不同象限中角度的正弦值和余弦值。這樣對輸入角度的范圍沒有限制,提高了系統(tǒng)設(shè)計(jì)的靈活性。同時(shí)不需要對輸入角度進(jìn)行分支判斷,加快了系統(tǒng)的響應(yīng)時(shí)間,節(jié)省了系統(tǒng)計(jì)算資源,極大地降低了系統(tǒng)成本。
圖1為根據(jù)本發(fā)明的三角函數(shù)值確定裝置的示范性結(jié)構(gòu)示意圖。
圖2為根據(jù)本發(fā)明的三角函數(shù)值確定方法的示范性流程示意圖。
圖3為根據(jù)本發(fā)明實(shí)施例的正余弦值確定裝置的結(jié)構(gòu)示意圖。
圖4為根據(jù)本發(fā)明實(shí)施例的通信系統(tǒng)中頻率偏移估計(jì)裝置的結(jié)構(gòu)示意圖。
圖5為通信系統(tǒng)中接收部分的基本結(jié)構(gòu)示意圖。
圖6為根據(jù)本發(fā)明實(shí)施例的通信系統(tǒng)中發(fā)送端的結(jié)構(gòu)示意圖。
圖7為根據(jù)本發(fā)明實(shí)施例的通信系統(tǒng)中接收端的結(jié)構(gòu)示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)表達(dá)得更加清楚明白,下面結(jié)合附圖及具體實(shí)施例對本發(fā)明再作進(jìn)一步詳細(xì)的說明。
本發(fā)明涉及如何確定三角函數(shù)值,其中三角函數(shù)為典型的周期函數(shù),而且正弦和余弦又為典型的三角周期函數(shù)。此處,為了便于說明,以正弦和余弦為例對本發(fā)明進(jìn)行詳細(xì)說明,顯然,對于正切、余切等三角函數(shù),本發(fā)明的定值方法同樣適用。
首先對根據(jù)本發(fā)明確定正弦和余弦值的方法進(jìn)行說明。
對于正弦和余弦來說,周期均為2π。對輸入角度φ的一個(gè)周期的取值范圍一般有兩種情況φ∈[-π,π)和φ∈[0,2π)。兩種情況下有類似的推導(dǎo),這里先對φ∈[0,2π)的情況進(jìn)行說明。
(1)對于φ∈[0,2π)的情況首先,預(yù)先計(jì)算φ∈
]>范圍內(nèi)正弦值,建立定點(diǎn)化正弦表,比如這一過程可以與第二種現(xiàn)有技術(shù)二完全相同,對此詳細(xì)說明令N2為一個(gè)正整數(shù),則可計(jì)算正弦表{Tab2sin(i)}Tab2sin(i)=sin(0+i·π/22N2),i=0,1,...,2N2-1---(10)]]>將公式(10)中得到浮點(diǎn)值,以合適的定標(biāo)值進(jìn)行定點(diǎn)化后,就得到了大小為2N2的定點(diǎn)化正弦表{Tab2sinz(i)},這個(gè)表可以表示 范圍內(nèi)的正弦值。
當(dāng)N2=N-2時(shí),由公式(10)得到的正弦表與第一種現(xiàn)有技術(shù)中正弦表有相同的精確度,且所需的存儲(chǔ)資源只有第一種現(xiàn)有技術(shù)中正弦表的1/4。
然后,根據(jù)已有的正弦表,確定相對應(yīng)的正弦值和余弦值查表方法。
首先,令輸入的定點(diǎn)化角度是φz,它是φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值,這里只考慮φ∈
]>所對應(yīng)的定點(diǎn)化值φ′z;第2步令M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2),根據(jù)φ′z,對φ′=φ2π]]>以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″zφz′′=φz′·2-(M2-MZ′)---(11)]]>第3步設(shè)φ″z的小數(shù)位從高位到低位依次為bM′2,bM′2-1…,b1,取出其中的最高位bM′2和次最高位bM′2-1,為了表述方便,令c1=bM2′---(12)]]>c0=bM2′-1---(13)]]>第4步根據(jù)φ″z,c1,c0計(jì)算其所對應(yīng)的正弦值和余弦值,如下所示表2為φ∈
---(14)]]>(cos(φ))FIX=(1-2·XOR(c1,c0))·Tab2sinz[(2c0-1)·φz′′+(1-2c0)·(1+2c1)·2N2]---(15)]]>其中XOR(c1,c0)表示對c1,c0做異或運(yùn)算。
其中(sin(φ))FIX表示sin(φ)的定點(diǎn)化值,(cos(φ))FIX表示cos(φ)的定點(diǎn)化值,其定標(biāo)參數(shù)不一定與φ相同。
根據(jù)上述公式(14)和(15),可以通過查表確定定點(diǎn)化角度φZ對應(yīng)的定點(diǎn)化正弦值(sin(φ))FIX和定點(diǎn)化余弦值(cos(φ))FIX。
以上就實(shí)現(xiàn)了對于φ∈[0,2π)的情況下的定點(diǎn)化正弦值和定點(diǎn)化余弦值的確定。
(2)對于φ∈[-π,π)的情況
首先是預(yù)先計(jì)算φ∈
]>范圍內(nèi)正弦值,建立正弦表,其建表過程與前面φ∈
]>將公式(10)中得到浮點(diǎn)值,以合適的定標(biāo)值進(jìn)行定點(diǎn)化后,就得到了大小為2N2的定點(diǎn)化正弦表{Tab2sinz(i)},這個(gè)表可以表示 范圍內(nèi)的正弦值。
當(dāng)N2=N-2時(shí),由公式(10)得到的正弦表與第一種現(xiàn)有技術(shù)中正弦表有相同的精確度,且所需的存儲(chǔ)資源只有第一種現(xiàn)有技術(shù)中正弦表的1/4。
然后是根據(jù)已有的正弦表,確定相對應(yīng)的正弦值和余弦值查表方法。
令輸入的定點(diǎn)化角度是φz,它是φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值,這里只考慮φ∈[-π,π)的情況,如果φ不在這個(gè)范圍內(nèi),需要根據(jù)正弦函數(shù)和余弦函數(shù)的周期性,將其變換到這個(gè)周期范圍內(nèi)。在后面的推導(dǎo)中,如不做特殊聲明,定點(diǎn)化運(yùn)算過程中定標(biāo)值保持不變。根據(jù)正弦表查正弦值和余弦值的過程可根據(jù)如下步驟進(jìn)行第1步根據(jù)輸入值φz,計(jì)算φ′=φ2π]]>所對應(yīng)的定點(diǎn)化值φ′z;第2步令M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2),根據(jù)φ′z,對φ′=φ2π]]>以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″zφz′′=φz′·2-(M2-M2′)---(16)]]>第3步設(shè)φ″z的小數(shù)位從高位到低位依次為bM′2,bM′2-1…,b1,取出其中的最高位bM′2和次最高位bM′2-1,為了表述方便,令c1=bM2′---(17)]]>c0=bM2′-1---(18)]]>
第4步根據(jù)φ″z,c1,c0計(jì)算其所對應(yīng)的正弦值和余弦值,如下所示表4為φ∈[-π,π)情況不同象限內(nèi)正弦值的計(jì)算公式以及與c1,c0的對應(yīng)關(guān)系表。
表4表5為φ∈[-π,π)情況不同象限內(nèi)余弦值的計(jì)算公式以及與c1,c0的對應(yīng)關(guān)系表。
表5根據(jù)上面的表格可以得到求正弦值和余弦值的統(tǒng)一公式
(sin(φ))FIX=(1-2c1)·Tab2sinz[(1-2c0)·φz′′+XOR(c1,c0)·2·2N2]---(19)]]>(cos(φ))FIX=(1-2·XOR(c1,c0))·Tab2sinz[(2c0-1)·φz′′+(1-2·XOR(c1,c0))·2N2]---(20)]]>其中XOR(c1,c0)表示對c1,c0做異或運(yùn)算。
其中(sin(φ))FIX表示sin(φ)的定點(diǎn)化值,(cos(φ))FIX表示cos(φ)的定點(diǎn)化值,其定標(biāo)參數(shù)不一定與φ相同。
根據(jù)上述公式(19)和(20),可以通過查表確定定點(diǎn)化角度φz對應(yīng)的定點(diǎn)化正弦值(sin(φ))FIX和定點(diǎn)化余弦值(cos(φ))FIX。
以上就實(shí)現(xiàn)了對于φ∈[-π,π)的情況下的定點(diǎn)化正弦值和定點(diǎn)化余弦值的確定同樣,對于φ在定點(diǎn)化數(shù)能表示的任意范圍內(nèi)取值,本發(fā)明同樣適用。當(dāng)不能確定輸入角度φ的取值范圍時(shí),在經(jīng)過一定的處理后,仍然能夠依據(jù)前面的方法進(jìn)行正弦值和余弦值的計(jì)算。
首先是預(yù)先計(jì)算φ∈
]>范圍內(nèi)正弦值,建立正弦表。其建表過程與前面φ∈
]>將公式(10)中得到浮點(diǎn)值,以合適的定標(biāo)值進(jìn)行定點(diǎn)化后,就得到了大小為2N2的定點(diǎn)化正弦表{Tab2sinz(i)},這個(gè)表可以表示 范圍內(nèi)的正弦值。
當(dāng)N2=N-2時(shí),由公式(10)得到的正弦表與第一種現(xiàn)有技術(shù)中正弦表有相同的精確度,且所需的存儲(chǔ)資源只有第一種現(xiàn)有技術(shù)中正弦表的1/4。
然后,根據(jù)已有的正弦表,確定相對應(yīng)的正弦值和余弦值查表方法。經(jīng)過對輸入角度φz一定處理后,可以化歸到前面φ∈
]>所對應(yīng)的定點(diǎn)化值φ′z;
第2步令M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2),根據(jù)φ′z,對φ′=φ2π]]>以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″zφz′′=φz′·2-(M2-M2′)---(21)]]>第3步設(shè)φ″z的整數(shù)位從高位到低位依次為αM′1,αM′1-1,…,α1,將αM′1,αM′1-1,…,α1全部置成0,即令αi=0,i=1,2,...M′1(22)設(shè)將φ″z整數(shù)位全部置成0后的值為φz,通過推導(dǎo)可知φz所對應(yīng)的角度值在
]>這里不一定要除以2π,可以有φ′=φ2π·2p,]]>其中p可以為任意整數(shù),同時(shí)后面重新定標(biāo)的定標(biāo)值需要根據(jù)p的取值進(jìn)行調(diào)整。這里對p的取值限制在于定點(diǎn)化整數(shù)位寬和小數(shù)位寬的限制,當(dāng)整數(shù)位寬和小數(shù)位寬取充分大時(shí),p的取值可以認(rèn)為是沒有限制的。
以上雖然以確定正弦和余弦值為例進(jìn)行了說明,本領(lǐng)域技術(shù)人員可以意識(shí)到,這樣的示范性說明并不用于限定本發(fā)明,而是可以應(yīng)用到任意的周期三角函數(shù)上。
以上描述了本發(fā)明的確定正弦值和余弦值的示范性算法,但是本發(fā)明并不局限于計(jì)算正弦值和余弦值。相反,而是適用于任意的三角函數(shù)。
下面對本發(fā)明所提出的三角函數(shù)值確定裝置進(jìn)行說明。
圖1為根據(jù)本發(fā)明的三角函數(shù)值確定裝置的示范性結(jié)構(gòu)示意圖。如圖1所示,該裝置100包括三角函數(shù)表存儲(chǔ)單元101,用于存儲(chǔ)三角函數(shù)表,所述三角函數(shù)表中包含定點(diǎn)化三角函數(shù)值;歸一化處理單元102,用于對定點(diǎn)化的輸入角度進(jìn)行歸一化處理,以得到歸一化處理后的定點(diǎn)化輸入角度;數(shù)位獲取單元103,用于獲取所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特;三角函數(shù)值確定單元104,用于根據(jù)所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特,以及所述歸一化處理后的定點(diǎn)化輸入角度,查所述三角函數(shù)表以確定所述定點(diǎn)化輸入角度的定點(diǎn)化三角函數(shù)值。
其中,所述定點(diǎn)化的輸入角度為φz,并且φz為φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值;優(yōu)選地,所述歸一化處理的倍數(shù)為1,所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特為歸一化處理后的定點(diǎn)化輸入角度的小數(shù)部分最高位比特和小數(shù)部分次高位比特。
優(yōu)選地,歸一化處理的倍數(shù)為2,所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特為歸一化處理后的定點(diǎn)化輸入角度的小數(shù)部分次高位比特和小數(shù)部分第三次高位比特。
依此類推,當(dāng)歸一化處理的倍數(shù)以2為基數(shù)增加時(shí),歸一化處理后的定點(diǎn)化輸入角度的小數(shù)部分比特依次后推。
優(yōu)選地,歸一化處理單元102,用于根據(jù)所述定點(diǎn)化的輸入角度φz,計(jì)算φ除以所述三角函數(shù)的周期所得到的值φ′所對應(yīng)的定點(diǎn)化值φ′z,并且根據(jù)φ′z,對所述φ′以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″z,其中M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2);數(shù)位獲取單元103,用于獲取φ″z的小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1;三角函數(shù)值確定單元104,用于根據(jù)所述新的定點(diǎn)化值φ″z、小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1,查三角函數(shù)值表以確定所述定點(diǎn)化輸入角度的定點(diǎn)化三角函數(shù)值,其中所述三角函數(shù)值表的大小為2N2。
其中,三角函數(shù)表存儲(chǔ)單元101用于存儲(chǔ)三角函數(shù)表,并且所述三角函數(shù)表優(yōu)選包括至少四分之一周期的三角函數(shù)值。
本發(fā)明還提出了一種三角函數(shù)值確定方法,圖2為本發(fā)明的三角函數(shù)值確定方法的流程圖。如圖2所示,該方法包括步驟201對定點(diǎn)化的輸入角度進(jìn)行歸一化處理,以得到歸一化處理后的定點(diǎn)化輸入角度;步驟202獲取所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特;在這里,當(dāng)歸一化處理的倍數(shù)為1時(shí),獲取所述歸一化處理后的定點(diǎn)化輸入角度的小數(shù)部分最高位比特和小數(shù)部分次高位比特;當(dāng)歸一化處理的倍數(shù)為2時(shí),獲取所述歸一化處理后的定點(diǎn)化輸入角度的小數(shù)部分次高位比特和小數(shù)部分第三次高位比特。
步驟203根據(jù)所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特,以及所述歸一化處理后的定點(diǎn)化輸入角度,在三角函數(shù)表中查詢所述定點(diǎn)化輸入角度的定點(diǎn)化三角函數(shù)值,其中所述三角函數(shù)表中包含定點(diǎn)化三角函數(shù)值。
在以上過程中,當(dāng)定點(diǎn)化的輸入角度為φz,并且φz為φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值時(shí),步驟201包括根據(jù)所述定點(diǎn)化的輸入角度φz,計(jì)算φ除以所述三角函數(shù)的周期所得到的值φ′所對應(yīng)的定點(diǎn)化值φ′z,并且根據(jù)φ′z,對所述φ′以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″z,其中M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2);此時(shí),所述步驟202為獲取φ″z的最高位比特bM′2和次高位比特bM′2-1;此時(shí),所述步驟203為根據(jù)所述新的定點(diǎn)化值φ″z、小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1,查三角函數(shù)值表以確定所述定點(diǎn)化輸入角度的定點(diǎn)化三角函數(shù)值,其中所述三角函數(shù)值表的大小為2N2。
優(yōu)選地,所述三角函數(shù)表包括至少四分之一周期的三角函數(shù)值。
當(dāng)計(jì)算正弦值和/或余弦值時(shí)三角函數(shù)值表中可以存儲(chǔ)包含有 范圍內(nèi)的定點(diǎn)化正弦值的正弦值表,其中該表的大小為2N2;此時(shí),首先,可以根據(jù)定點(diǎn)化的輸入角度φz,計(jì)算φ′=φ2π]]>所對應(yīng)的定點(diǎn)化值φ′z,并且根據(jù)φ′z,對φ′=φ2π]]>以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″z,所述φz為φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值,并且φ∈
;]]>(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(φ)的定點(diǎn)化值,(cos(φ))FIX為cos(φ)的定點(diǎn)化值,XOR(c1,c0)為對c1和c0做異或運(yùn)算,Tab2sin(i)=sin(0+i·π/22N2),]]>其中i=0,1,...,2N2-1.]]>本發(fā)明還提出了一種正余弦值確定裝置。圖3為根據(jù)本發(fā)明實(shí)施例的正余弦值確定裝置的結(jié)構(gòu)示意圖。如圖3所示,該裝置包括正弦值表存儲(chǔ)單元,用于存儲(chǔ)包含有 范圍內(nèi)的定點(diǎn)化正弦值的正弦值表,其中該表的大小為2N2;歸一化處理單元,用于根據(jù)定點(diǎn)化的輸入角度φz,計(jì)算φ′=φ2π]]>所對應(yīng)的定點(diǎn)化值φ′z,并且根據(jù)φ′z,對所述φ′=φ2π]]>以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″z,所述φz為φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值,并且φ∈
;]]>(cos((φ)))FIX=(1-2·XOR(c1,c0))·Tab2sinz[(2c0-1)·φz′′+(1-2c0)·(1+2c1)·2N2];]]>其中c1=bM2′;]]>c0=bM2′-1,]]>(sin(φ))FIX為sin(φ)的定點(diǎn)化值,(cos(φ))FIX為cos(φ)的定點(diǎn)化值,XOR(c1,c0)為對c1和c0做異或運(yùn)算,Tab2sin(i)=sin(0+i·π/22N2),]]>其中i=0,1,...,2N2-1.]]>當(dāng)φ∈[-π,π)時(shí),本發(fā)明還提出了一種正余弦值確定裝置,該裝置包括,正弦值表存儲(chǔ)單元,用于存儲(chǔ)包含有 范圍內(nèi)的定點(diǎn)化正弦值的正弦值表,其中該表的大小為2N2;歸一化處理單元,用于根據(jù)定點(diǎn)化的輸入角度φz,計(jì)算φ′=φ2π]]>所對應(yīng)的定點(diǎn)化值φ′z,并且根據(jù)φ′z,對所述φ′=φ2π]]>以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″z,所述φz為φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值,并且φ∈[-π,π);其中M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2);數(shù)位獲取單元,用于獲取φ″z的小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1;正余弦值確定單元,用于根據(jù)所述新的定點(diǎn)化值φ″z、小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1,查所述正弦值表以確定所述定點(diǎn)化輸入角度的定點(diǎn)化正余弦值,其中(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=bM2′;]]>c0=bM2′-1,]]>(sin(φ))FIX為sin(φ)的定點(diǎn)化值,(cos(φ))FIX為cos(φ)的定點(diǎn)化值,XOR(c1,c0)為對c1和c0做異或運(yùn)算,Tab2sin(i)=sin(0+i·π/22N2),]]>其中i=0,1,...,2N2-1]]>。
以上具體描述了本發(fā)明的三角函數(shù)值確定裝置和發(fā)明,其中尤其描述了正弦值和余弦值的確定方法和裝置。
總之,本發(fā)明涉及一種利用查表方式計(jì)算三角函數(shù)的函數(shù)值的方法,包括函數(shù)值表的建立和相對應(yīng)的查表方法,并不直接計(jì)算周期函數(shù)的函數(shù)值,而是對函數(shù)值預(yù)先計(jì)算、以表的方式存儲(chǔ),然后通過計(jì)算函數(shù)值對應(yīng)的存儲(chǔ)位置,查表獲得相應(yīng)的函數(shù)值。以減少運(yùn)算時(shí)間。
在本發(fā)明中,可以不對三角函數(shù)一個(gè)周期內(nèi)所有范圍的函數(shù)值都預(yù)先計(jì)算,而是只對一個(gè)周期內(nèi)某一部分范圍內(nèi)的函數(shù)值進(jìn)行預(yù)先計(jì)算,以表的方式存儲(chǔ),而其它部分的函數(shù)值在查表運(yùn)算中可以利用一定的運(yùn)算關(guān)系,映射到該部分。以減少對存儲(chǔ)資源的需求。
在本發(fā)明中,對于三角函數(shù)所選取進(jìn)行建表的范圍可以是滿足一定關(guān)系的任一起始位置開始、任一長度的范圍,不需要一定從該周期內(nèi)的第一個(gè)值開始。
在本發(fā)明中,不需要進(jìn)行分支判斷獲得輸入?yún)?shù)是否在函數(shù)值表所能表示的范圍內(nèi)的信息,而是直接利用統(tǒng)一的方法直接獲得該輸入?yún)?shù)對應(yīng)函數(shù)值與表中特定位置函數(shù)值的對應(yīng)關(guān)系,從而得到該輸入?yún)?shù)對應(yīng)的函數(shù)值。
在本發(fā)明中,對輸入?yún)?shù)進(jìn)行特定的處理后,提取其特定數(shù)位上的數(shù)值,利用該數(shù)值以及進(jìn)行特定處理后的輸入?yún)?shù)統(tǒng)一運(yùn)算獲得函數(shù)值。
在本發(fā)明中,對輸入?yún)?shù)的可以采用不同的特定處理方法,輸入?yún)?shù)可以在某一限定的周期范圍內(nèi)取值,也可在任意范圍內(nèi)取值。
在本發(fā)明中,還尤其涉及一種利用查表方式計(jì)算正弦函數(shù)或余弦函數(shù)的函數(shù)值的方法,包括正弦值表或余弦值表的建立和相對應(yīng)的查表方法。并不直接計(jì)算正弦值或余弦值,而是對正弦值或余弦值預(yù)先計(jì)算、以表的方式存儲(chǔ),然后通過計(jì)算正弦值或余弦值對應(yīng)的存儲(chǔ)位置,查表獲得相應(yīng)的正弦值或余弦值。以減少運(yùn)算時(shí)間。
在本發(fā)明中,尤其是,不對正弦函數(shù)或余弦函數(shù)一個(gè)周期內(nèi)所有范圍的函數(shù)值都預(yù)先計(jì)算,而是只對一個(gè)周期內(nèi)某一部分范圍內(nèi)的函數(shù)值進(jìn)行預(yù)先計(jì)算,以表的方式存儲(chǔ),而其它部分的函數(shù)值在查表運(yùn)算中可以利用一定的運(yùn)算關(guān)系,映射到該部分。以減少對存儲(chǔ)資源的需求。
在本發(fā)明中,尤其是,對于正弦函數(shù)或余弦函數(shù),所選取進(jìn)行建表的范圍可以是滿足一定關(guān)系的任一起始位置開始、任一長度的范圍,不需要一定從該周期內(nèi)的第一個(gè)值開始,比如建表范圍可以選取φ∈
]>也可以選取φ∈[π2,π);]]>可以選取φ∈
]>公式(23)中不一定要使用減號(hào),也可以使用加號(hào),但為了后面的描述方便,這里使用減號(hào)。為了表述方便,利用復(fù)數(shù)來同時(shí)表示基帶信號(hào)的同相分量和正交分量SBase=Idata+j·Qdata(24)則調(diào)制到載波fc上的信號(hào)可以表示為Sfc=Re{SBase·ej·2π·fc·t}---(25)]]>這里Re{x}表示對復(fù)數(shù)x取實(shí)部。一般情況下簡單的記作Sfc′=SBase·ej·2π·fc·t---(26)]]>在接收端,需要對將調(diào)制到載波上的信號(hào)重新變換到基帶上,以便進(jìn)行進(jìn)一步的接收處理Idata=LPF{Sfc·cos(2π·fc·t)}---(27)]]>Qdata=LPF{Sfc·sin(2π·fc·t)}---(28)]]>其中LPF{x}表示對信號(hào)x進(jìn)行低通濾波,同樣也可用復(fù)數(shù)運(yùn)算來表示這一過程SBase=S′fc·e-j·2π·fc·t---(29)]]>這里發(fā)送端的載波和接收端的載波是分別由各自的晶振產(chǎn)生的。而兩端的晶振往往是無法產(chǎn)生頻率完全相同的載波的,而會(huì)有一定的偏差fc,sned=fc,rece+Δf(30)這樣根據(jù)公式29得到接收基帶信號(hào)就會(huì)存在一定的頻偏誤差SBase,rece=S′fc·e-j·2π·fc,rece-1=SBase·ej·π·Δfc·t---(31)]]>頻偏估計(jì)模塊的作用就是估計(jì)出該頻偏值Δfc,頻偏補(bǔ)充模塊則是將這個(gè)頻偏誤差補(bǔ)償回去,得到實(shí)際的發(fā)送信號(hào)SBase=SBase,rece·e-j·2π·Δfc·t---(32)]]>所以在頻偏補(bǔ)償模塊中需要大量計(jì)算cos(-j·2π·Δfc·t)和sin(-j·2π·Δfc·t)值,所以根據(jù)本發(fā)明所提出的計(jì)算正弦值和余弦值的方法則可以極大地加快這些值的計(jì)算速度,提高系統(tǒng)效率。
圖5為本發(fā)明所提出的頻率補(bǔ)償裝置的結(jié)構(gòu)示意圖。
由圖5可見,該裝置包括頻率偏移估計(jì)單元,用于對待頻率偏移補(bǔ)償?shù)臄?shù)據(jù)進(jìn)行頻率偏移估計(jì),補(bǔ)償相位計(jì)算單元,用于計(jì)算需要補(bǔ)償?shù)南辔?;也就是?jì)算t時(shí)刻需要補(bǔ)償?shù)南辔唬蝗缟纤龅恼嘞抑荡_定裝置,用于根據(jù)所述需要補(bǔ)償?shù)南辔淮_定其正余弦值;頻率偏移補(bǔ)償單元,用于根據(jù)所述正余弦值確定裝置確定出的正余弦值對待頻率偏移補(bǔ)償?shù)臄?shù)據(jù)進(jìn)行頻率偏移估計(jì)。
其中,正余弦值確定單元的輸入?yún)?shù)是t時(shí)刻需要補(bǔ)償?shù)南辔沪?,輸出參數(shù)的是該相位值對應(yīng)的正弦值和余弦值。
在實(shí)際工程實(shí)現(xiàn)中(比如利用FPGA、DSP實(shí)現(xiàn)),往往為了提高運(yùn)算速度、提高系統(tǒng)效率等的考慮并不直接使用原始的相位值φ1,而是使用對其進(jìn)行定點(diǎn)化以后的值φ1,z。
根據(jù)正弦表和余弦表的不同建立形式,相應(yīng)的查表運(yùn)算單元具體實(shí)現(xiàn)也稍有不同,但其基本思想是一致的還有很多模塊也需要用到正弦值和余弦值的計(jì)算。從公式23、公式27、公式28可以看到無論是發(fā)送端將基帶信號(hào)調(diào)制到載波上,還是接收端將調(diào)制在載波上的信號(hào)變換到基帶上也都需要用的正弦值和余弦值的計(jì)算。圖6為根據(jù)本發(fā)明實(shí)施例的通信系統(tǒng)中發(fā)送端的結(jié)構(gòu)示意圖。圖7為根據(jù)本發(fā)明實(shí)施例的通信系統(tǒng)中接收端的結(jié)構(gòu)示意圖。
圖7主要是為了說明將調(diào)制在載波上的信號(hào)變換到基帶的過程,為了說明過程明了清晰,這里不考慮載波頻偏的存在,即假設(shè)fc,sned=fc,rece=fc,所以可以直接得到Idata和Qdata。當(dāng)考慮頻偏時(shí),還需要進(jìn)行頻偏補(bǔ)償,才能得到Idata和Qdata。
同樣,本發(fā)明所提出的頻率偏移估計(jì)裝置既可以適用于OFDM系統(tǒng),也能夠適用于基于OFDM的OFDMA系統(tǒng)。以上以O(shè)FDM系統(tǒng)為例對本發(fā)明進(jìn)行了描述,但是本領(lǐng)域技術(shù)人員可以意識(shí)到,本發(fā)明對于其它的多載波通信系統(tǒng)同樣適用。用OFDM為例進(jìn)行說明僅為示范性的,并不用于對本發(fā)明進(jìn)行限制。本發(fā)明還可以適用于單載波通信系統(tǒng)等任意的通信系統(tǒng)。
從上面的描述可以看到,通信系統(tǒng)中許多模塊都需要進(jìn)行大量正弦值和余弦值的計(jì)算。所以正弦值和余弦值的快速計(jì)算方法能極大地提高系統(tǒng)效率。
同時(shí),這不局限在通信系統(tǒng)中使用,需要進(jìn)行三角周期函數(shù)值計(jì)算的系統(tǒng)中都能利用本發(fā)明以提高系統(tǒng)效率。
綜上所述,本發(fā)明所提供的三角函數(shù)查表方法,既使用較少的存儲(chǔ)資源,又不需要做分支邏輯判斷以減少對計(jì)算資源的需求,并且使得整個(gè)正弦值和余弦值的計(jì)算過程對系統(tǒng)的要求都比較低,從而可以提高正弦值和余弦值計(jì)算的響應(yīng)速度,降低系統(tǒng)成本。而且,應(yīng)用本發(fā)明以后,還能夠顯著地提高頻率偏移估計(jì)的效率。
以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種三角函數(shù)值確定裝置,其特征在于,該裝置包括三角函數(shù)表存儲(chǔ)單元,用于存儲(chǔ)三角函數(shù)表,所述三角函數(shù)表中包含定點(diǎn)化三角函數(shù)值;歸一化處理單元,用于對定點(diǎn)化的輸入角度進(jìn)行歸一化處理,以得到歸一化處理后的定點(diǎn)化輸入角度;數(shù)位獲取單元,用于獲取所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特;三角函數(shù)值確定單元,用于根據(jù)所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特,以及所述歸一化處理后的定點(diǎn)化輸入角度,查所述三角函數(shù)表以確定所述定點(diǎn)化輸入角度的定點(diǎn)化三角函數(shù)值。
2.根據(jù)權(quán)利要求1所述的三角函數(shù)值確定裝置,其特征在于,所述歸一化處理的倍數(shù)為1,所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特為歸一化處理后的定點(diǎn)化輸入角度的小數(shù)部分最高位比特和小數(shù)部分次高位比特。
3.根據(jù)權(quán)利要求1所述的三角函數(shù)值確定裝置,其特征在于,所述歸一化處理的倍數(shù)為2,所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特為歸一化處理后的定點(diǎn)化輸入角度的小數(shù)部分次高位比特和小數(shù)部分第三次高位比特。
4.根據(jù)權(quán)利要求2所述的三角函數(shù)值確定裝置,其特征在于,所述定點(diǎn)化的輸入角度為φz,并且φz為φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值;所述歸一化處理單元,用于根據(jù)所述定點(diǎn)化的輸入角度φz,計(jì)算φ除以所述三角函數(shù)的周期所得到的值φ′所對應(yīng)的定點(diǎn)化值φ′z,并且根據(jù)所述φ′z,對φ′以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″z,其中M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2);所述數(shù)位獲取單元,用于獲取φ″z的小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1;所述三角函數(shù)值確定單元,用于根據(jù)所述新的定點(diǎn)化值φ″z、小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1查三角函數(shù)值表以確定所述定點(diǎn)化輸入角度的定點(diǎn)化三角函數(shù)值,其中所述三角函數(shù)值表的大小為2N2。
5.根據(jù)權(quán)利要求1、2、3或4所述的三角函數(shù)值確定裝置,其特征在于,所述三角函數(shù)表存儲(chǔ)單元,用于存儲(chǔ)包括至少四分之一周期的三角函數(shù)值的三角函數(shù)表。
6.一種三角函數(shù)值確定方法,其特征在于,該方法包括A、對定點(diǎn)化的輸入角度進(jìn)行歸一化處理,以得到歸一化處理后的定點(diǎn)化輸入角度;B、獲取所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特;C、根據(jù)所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特,以及所述歸一化處理后的定點(diǎn)化輸入角度,查所述三角函數(shù)表,以確定所述定點(diǎn)化輸入角度的定點(diǎn)化三角函數(shù)值,其中所述三角函數(shù)表中包含定點(diǎn)化三角函數(shù)值。
7.根據(jù)權(quán)利要求6所述三角函數(shù)值確定方法,其特征在于,步驟A所述歸一化處理的倍數(shù)為1,步驟B所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特為歸一化處理后的定點(diǎn)化輸入角度的小數(shù)部分最高位比特和小數(shù)部分次高位比特。
8.根據(jù)權(quán)利要求6所述三角函數(shù)值確定方法,其特征在于,步驟A所述歸一化處理的倍數(shù)為2,步驟B所述歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特為歸一化處理后的定點(diǎn)化輸入角度的小數(shù)部分次高位比特和小數(shù)部分第三次高位比特。
9.根據(jù)權(quán)利要求7所述三角函數(shù)值確定方法,其特征在于,所述定點(diǎn)化的輸入角度為φz,并且φz為φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值;所述步驟A包括根據(jù)定點(diǎn)化的輸入角度φz,計(jì)算φ除以所述三角函數(shù)的周期所得到的值φ′所對應(yīng)的定點(diǎn)化值φ′z,并且根據(jù)φ′z,對所述φ′以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″z,其中M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2);所述步驟B為獲取φ″z的小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1;所述步驟C為根據(jù)所述新的定點(diǎn)化值φ″z、小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1,查三角函數(shù)值表以確定所述定點(diǎn)化輸入角度的定點(diǎn)化三角函數(shù)值,其中所述三角函數(shù)值表的大小為2N2。
10.根據(jù)權(quán)利要求6、7、8、或9所述三角函數(shù)值確定方法,其特征在于,所述三角函數(shù)表包括至少四分之一周期的三角函數(shù)值。
11.一種正余弦值確定裝置,其特征在于,該裝置包括,正弦值表存儲(chǔ)單元,用于存儲(chǔ)包含有 范圍內(nèi)的定點(diǎn)化正弦值的正弦值表,其中該表的大小為2N2;歸一化處理單元,用于根據(jù)定點(diǎn)化的輸入角度φz,計(jì)算φ′=φ2π]]>所對應(yīng)的定點(diǎn)化值φ′z,并且根據(jù)φ′z,對所述φ′=φ2π]]>以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″z,所述φz為φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值,并且φ∈
;]]>(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(φ)的定點(diǎn)化值,(cos(φ))FIX為cos(φ)的定點(diǎn)化值,XOR(c1,c0)為對c1和c0做異或運(yùn)算,Tab2sin(i)=sin(0+i·π/22N2)]]>,其中i=0,1,...,2N2-1.]]>
12.一種正余弦值確定裝置,其特征在于,該裝置包括,正弦值表存儲(chǔ)單元,用于存儲(chǔ)包含有 范圍內(nèi)的定點(diǎn)化正弦值的正弦值表,其中該表的大小為2N2;歸一化處理單元,用于根據(jù)定點(diǎn)化的輸入角度φz,計(jì)算φ′=φ2π]]>所對應(yīng)的定點(diǎn)化值φ′z,并且根據(jù)φ′z,對所述φ′=φ2π]]>以定標(biāo)值(M′1,M′2)重新定標(biāo),得到新的定點(diǎn)化值φ″z,所述φz為φ根據(jù)定標(biāo)為(M1,M2)的定點(diǎn)化后的值,并且φ∈[-π,π);其中M′2=N2+2,M′1=(M1+M2)-M′2=(M1+M2)-(N2+2);數(shù)位獲取單元,用于獲取φ″z的小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′-1;正余弦值確定單元,用于根據(jù)所述新的定點(diǎn)化值φ″z、小數(shù)部分最高位比特bM′2和小數(shù)部分次高位比特bM′2-1,查所述正弦值表以確定所述定點(diǎn)化輸入角度的定點(diǎn)化正余弦值,其中(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(φ)的定點(diǎn)化值,(cos(φ))FIX為cos(φ)的定點(diǎn)化值,XOR(c1,c0)為對c1和c0做異或運(yùn)算,Tab2sin(i)=sin(0+i·π/22N2)]]>,其中i=0,1,...2N2-1.]]>
13.一種通信系統(tǒng)中的頻率偏移補(bǔ)償裝置,其特征在于,該裝置包括頻率偏移估計(jì)單元,用于對待頻率偏移補(bǔ)償?shù)臄?shù)據(jù)進(jìn)行頻率偏移估計(jì),補(bǔ)償相位計(jì)算單元,用于計(jì)算需要補(bǔ)償?shù)南辔唬桓鶕?jù)權(quán)利要求11或12所述的正余弦值確定裝置,用于根據(jù)所述需要補(bǔ)償?shù)南辔淮_定其正余弦值;頻率偏移補(bǔ)償單元,用于根據(jù)所述正余弦值確定裝置確定出的正余弦值對待頻率偏移補(bǔ)償?shù)臄?shù)據(jù)進(jìn)行頻率偏移估計(jì)。
14.根據(jù)權(quán)利要求13所述的通信系統(tǒng)中的頻率偏移補(bǔ)償裝置,其特征在于,所述通信系統(tǒng)為正交頻分復(fù)用OFDM系統(tǒng)、或單載波通信系統(tǒng)。
15.一種通信系統(tǒng)中的發(fā)射機(jī),其特征在于,該發(fā)射機(jī)包括權(quán)利要求11或12所述的正余弦值確定裝置。
16.一種通信系統(tǒng)中的接收機(jī),其特征在于,該接收機(jī)包括權(quán)利要求11或12所述的正余弦值確定裝置。
全文摘要
本發(fā)明公開了一種三角函數(shù)值確定裝置,包括三角函數(shù)表存儲(chǔ)單元,用于存儲(chǔ)三角函數(shù)表,三角函數(shù)表中包含定點(diǎn)化三角函數(shù)值;歸一化處理單元,用于對定點(diǎn)化的輸入角度進(jìn)行歸一化處理;數(shù)位獲取單元,用于獲取歸一化處理后的定點(diǎn)化輸入角度的、與歸一化處理的倍數(shù)相關(guān)的兩個(gè)相鄰比特;三角函數(shù)值確定單元,用于根據(jù)所述兩個(gè)相鄰比特,以及歸一化處理后的定點(diǎn)化輸入角度,在三角函數(shù)表中查詢定點(diǎn)化三角函數(shù)值。本發(fā)明還公開了一種三角函數(shù)值確定方法、正余弦值確定裝置及應(yīng)用該正余弦值確定裝置的頻率偏移估計(jì)裝置。應(yīng)用本發(fā)明以后,降低對計(jì)算資源和存儲(chǔ)資源的需求,極大地降低成本,并且提高頻率偏移估計(jì)的效率。
文檔編號(hào)G06F1/02GK1983103SQ20061008715
公開日2007年6月20日 申請日期2006年6月15日 優(yōu)先權(quán)日2006年6月15日
發(fā)明者呂峻 申請人:華為技術(shù)有限公司