專利名稱:相關(guān)器方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明關(guān)系到數(shù)字信號(hào)領(lǐng)域,更具體地,關(guān)系到數(shù)字相關(guān)。
相關(guān)技術(shù)背景相關(guān)器已被廣泛地使用于信號(hào)處理,以便測(cè)量在數(shù)據(jù)序列和預(yù)定的模式或參考序列之間的相關(guān)的程度。在一維數(shù)字信號(hào)處理的情況下,相關(guān)值y代表在一個(gè)數(shù)據(jù)樣本(di)序列和一個(gè)參考值(ri)序列y=Σi=1n(ri,di)]]>之間的相關(guān),可由下式確定相關(guān)被用于多種應(yīng)用,包括語(yǔ)音識(shí)別、在檢驗(yàn)處理識(shí)別中打印材料的模式識(shí)別、以及通信系統(tǒng)同步。
相關(guān)器已在許多通信系統(tǒng)中被使用來(lái)執(zhí)行接收機(jī)時(shí)鐘同步。在那種情況下,為了易于同步,通信發(fā)射機(jī)和通信接收機(jī)每個(gè)配備有具有預(yù)定模式的參考序列。通信發(fā)射機(jī)發(fā)射參考序列,使得接收機(jī)時(shí)鐘易于同步到發(fā)送的信號(hào)上。參考序列被選擇為具有良好的自相關(guān)特性,例如,良好規(guī)定的相關(guān)峰值和相當(dāng)?shù)偷母卑辍?br>
圖1顯示了通信接收機(jī)相關(guān)器,它以8比特長(zhǎng)的相關(guān)參考序列運(yùn)行,以便在接收的數(shù)據(jù)序列和參考序列相匹配的時(shí)間產(chǎn)生相關(guān)峰值。在圖1的例子中,假定每個(gè)數(shù)據(jù)樣本被表示為一個(gè)8比特的對(duì)二的補(bǔ)碼數(shù),具有一個(gè)在±127的范圍內(nèi)的數(shù)值。在每個(gè)時(shí)鐘周期,輸入數(shù)據(jù)的最后八個(gè)樣本di(i=1,8)逐個(gè)樣本地與參考序列比特ri(i=1,8)相乘,以產(chǎn)生相關(guān)值y。也就是,y可以具有+1016的最大值和-1016的最小值。把相關(guān)值y與相關(guān)門限yTH進(jìn)行比較,當(dāng)y超過(guò)yTH時(shí),就宣布相關(guān)匹配,表示已接收到相關(guān)序列,借此接收機(jī)被同步到發(fā)射機(jī)。
相關(guān)器也已在直接序列擴(kuò)頻通信系統(tǒng)中被使用來(lái)檢測(cè)接收的信號(hào),該信號(hào)是通過(guò)使用被稱為擴(kuò)頻碼的二進(jìn)制序列被擴(kuò)頻發(fā)送的。在這種情況下,發(fā)射機(jī)和接收機(jī)每個(gè)配備有參考序列,它具有相應(yīng)于擴(kuò)頻碼的預(yù)定的模式。
發(fā)射機(jī)用擴(kuò)頻碼擴(kuò)頻要被發(fā)送的原先的數(shù)據(jù)信號(hào),以產(chǎn)生擴(kuò)頻信號(hào)。在接收機(jī)處,去擴(kuò)頻相關(guān)器通過(guò)把接收的信號(hào)與相應(yīng)于擴(kuò)頻碼的參考序列進(jìn)行相關(guān)而恢復(fù)原先的數(shù)據(jù)信號(hào)。
相關(guān)器是通過(guò)使用專用數(shù)字信號(hào)處理器而建成的。然而,這些器件被它們的處理速度所限制。這樣,它們對(duì)于高速相關(guān),特別是對(duì)于非常長(zhǎng)的參考序列,可能是不實(shí)際的。
圖2是按照現(xiàn)有技術(shù)的傳統(tǒng)的長(zhǎng)度n的可編程數(shù)字相關(guān)器100的方框圖,它可被用于接收機(jī)同步或用于將擴(kuò)頻信號(hào)去擴(kuò)頻。相關(guān)器100包括數(shù)據(jù)延時(shí)線101、參考序列存儲(chǔ)器103、乘法器級(jí)105、和加法器樹107?,F(xiàn)在將描述這個(gè)現(xiàn)有技術(shù)相關(guān)器100的運(yùn)行。
在初始化過(guò)程期間,參考數(shù)值ri(i=1,n)的參考序列被存儲(chǔ)在參考序列存儲(chǔ)器103。在圖1的示例的相關(guān)器中,假定每個(gè)參考序列數(shù)值ri被表示為1-比特的二進(jìn)制數(shù)值。在每個(gè)參考時(shí)鐘周期,新的參考序列數(shù)值被加到相關(guān)器100的參考序列存儲(chǔ)器103。參考序列存儲(chǔ)器103由n-級(jí)參考移位寄存器組成,即進(jìn)一步說(shuō)由n個(gè)1-比特參考序列寄存器104組成。
數(shù)據(jù)樣本di(i=1,n)的接收的數(shù)據(jù)序列被加到相關(guān)器,用來(lái)與參考序列相關(guān)。在通常情況下,每個(gè)數(shù)據(jù)樣本di被表示為m-比特二進(jìn)制數(shù)值。在圖2的示例性的相關(guān)器中,n=8。在每個(gè)數(shù)據(jù)時(shí)鐘周期,新的數(shù)據(jù)樣本di被加到相關(guān)器100的數(shù)據(jù)延時(shí)線101。
數(shù)據(jù)延時(shí)線101被做成為n-級(jí)數(shù)據(jù)序列移位寄存器。在每個(gè)數(shù)據(jù)時(shí)鐘周期,新的數(shù)據(jù)樣本d1以字節(jié)被加到數(shù)據(jù)延時(shí)線的第一數(shù)據(jù)寄存器-1 102。在先前的數(shù)據(jù)時(shí)鐘周期已被存儲(chǔ)在第一數(shù)據(jù)寄存器-1中的數(shù)據(jù)樣本d2被移入第二數(shù)據(jù)寄存器-2。同樣地,在所有其它數(shù)據(jù)存儲(chǔ)器中的數(shù)據(jù)樣本每個(gè)被向右移位一個(gè)寄存器。被存儲(chǔ)在最后的數(shù)據(jù)寄存器-n中的最老的數(shù)據(jù)樣本dn+1存在于數(shù)據(jù)延時(shí)線101,并被丟棄。
數(shù)據(jù)序列di(i=1,n)與參考序列ri(i=1,n)的相關(guān)是通過(guò)在乘法器級(jí)105首先把每個(gè)數(shù)據(jù)樣本di與相應(yīng)的參考值ri相乘而完成的。乘法器級(jí)105由n個(gè)乘法器106組成。N個(gè)乘法器106產(chǎn)生n個(gè)相關(guān)乘法的乘積,yi=di*ri(i=1,n),每個(gè)被表示為一個(gè)m比特二進(jìn)制值,在這個(gè)例子中,m=8。
n個(gè)m-比特相關(guān)乘法乘積yi然后被加到加法樹107的n/2個(gè)第一級(jí)加法器108。每個(gè)第一級(jí)加法器108把兩個(gè)m-比特相關(guān)乘法乘積yi相加,以產(chǎn)生(m+1)-比特中間相關(guān)和值z(mì)i。n/2個(gè)第一級(jí)加法器108產(chǎn)生n/2個(gè)中間相關(guān)和值,它們被加到加法樹106中的n/4個(gè)第二級(jí)加法器。這個(gè)處理重復(fù)進(jìn)行,直到加法樹106的最后級(jí)加法器109產(chǎn)生單個(gè)(m+1og2(n))比特相關(guān)值y。這樣,加法樹包含log2(n)級(jí),帶有總共n-1個(gè)加法器。
現(xiàn)有技術(shù)的傳統(tǒng)相關(guān)器的例子是由Harris公司生產(chǎn)的HSP45256。
現(xiàn)有技術(shù)的傳統(tǒng)可編程數(shù)字相關(guān)器100需要大量電路。例如,考慮一個(gè)長(zhǎng)度n=128的相關(guān)器,用于把128個(gè)被表示為8-比特?cái)?shù)的數(shù)據(jù)樣本與128個(gè)1-比特?cái)?shù)的參考序列進(jìn)行相關(guān)。128級(jí)數(shù)據(jù)延時(shí)線對(duì)于每個(gè)要被存儲(chǔ)的比特需要一個(gè)觸發(fā)器。對(duì)于8比特?cái)?shù)據(jù)樣本,數(shù)據(jù)延時(shí)線需要8×128=1024個(gè)觸發(fā)器。參考序列存儲(chǔ)器需要附加的128個(gè)觸發(fā)器,參考序列中每個(gè)比特1個(gè)觸發(fā)器。
當(dāng)用專用集成電路(ASIC)進(jìn)行設(shè)計(jì)時(shí),邏輯總量以門來(lái)計(jì)量,這些門被理解為等價(jià)于2輸入端的與非門。所有其它的門和觸發(fā)器被轉(zhuǎn)換成等價(jià)的2輸入端與非門的需要數(shù)。例如,一個(gè)觸發(fā)器等價(jià)于至少六個(gè)2輸入端與非門。
數(shù)據(jù)延時(shí)線的1024個(gè)觸發(fā)器代表1024×6個(gè)門=6144個(gè)等價(jià)的2輸入端與非門的邏輯需要,以及參考存儲(chǔ)器需要128×6個(gè)門=768個(gè)等價(jià)的2輸入端與非門。
相關(guān)器中的每個(gè)乘法器必須把有正負(fù)號(hào)的8比特?cái)?shù)據(jù)樣本與典型地是1比特值的參考值相乘。1比特的參考值可以是編碼的值,數(shù)值“1”表示“-1”,數(shù)值“0”表示“+1”。所以相乘的結(jié)果或者是與樣本數(shù)據(jù)相同的值(如果參考值是“0”),或者是負(fù)的樣本數(shù)據(jù)值(如果參考值是“1”)。所以每個(gè)乘法器可以以8個(gè)XOR(異或)門和一個(gè)8比特增量器來(lái)實(shí)現(xiàn)。
為了進(jìn)行門計(jì)數(shù),一個(gè)XOR門等價(jià)于三個(gè)2輸入端與非門,以及一個(gè)增量器需要約每個(gè)比特4個(gè)門。8比特乘1比特的乘法器對(duì)于XOR門需要8×4個(gè)門,以及8比特增量器需要8×4個(gè)門。這樣,每個(gè)乘法器需要(8*3)+(8*4)=56個(gè)等價(jià)的2輸入端與非門。由于有128個(gè)乘法器,所以總數(shù)是128×56=7168個(gè)等價(jià)的2輸入端與非門。
加法樹需要多得多的門。通常,對(duì)于長(zhǎng)度n的相關(guān)器,需要n-1個(gè)加法器。對(duì)于以8比特?cái)?shù)據(jù)樣本的長(zhǎng)度128的相關(guān)器的實(shí)例,加法樹包括64個(gè)8比特加法器產(chǎn)生9比特的結(jié)果,32個(gè)9比特加法器產(chǎn)生10比特的結(jié)果,16個(gè)10比特加法器產(chǎn)生11比特的結(jié)果,8個(gè)11比特加法器產(chǎn)生12比特的結(jié)果,4個(gè)12比特加法器產(chǎn)生13比特的結(jié)果,2個(gè)13比特加法器產(chǎn)生14比特的結(jié)果,以及1個(gè)14比特加法器產(chǎn)生15比特的結(jié)果。
為了進(jìn)行門計(jì)數(shù),一個(gè)加法器需要每個(gè)比特7個(gè)門。所以,對(duì)于長(zhǎng)度128的相關(guān)器的加法樹包括總共1136比特的加法器,它需要1136*7=7952個(gè)等價(jià)的2輸入端與非門。
這樣,以8比特樣本的長(zhǎng)度128的可編程數(shù)字相關(guān)器需要總共1152個(gè)觸發(fā)器和15120個(gè)其它的門,或總共22032個(gè)門,加上某個(gè)小量的粘結(jié)邏輯塊。
在擴(kuò)頻系統(tǒng)中,接收機(jī)可能需要具有許多去擴(kuò)頻相關(guān)器。例如,在具有中央主地球站接收機(jī)的天線系統(tǒng)中,該接收機(jī)同時(shí)和具有不同擴(kuò)頻碼的許多發(fā)射機(jī)通信,接收機(jī)對(duì)于可能被使用的每個(gè)擴(kuò)頻碼需要有至少一個(gè)去擴(kuò)頻相關(guān)器。在這種情況下,有效地利用電路來(lái)構(gòu)建相關(guān)器是特別重要的。
例如,考慮一個(gè)用于QPSK調(diào)制的擴(kuò)頻信號(hào)的擴(kuò)頻接收機(jī),對(duì)于I和Q波形都用長(zhǎng)度128的擴(kuò)頻碼序列。還假定,去擴(kuò)頻接收機(jī)相關(guān)器對(duì)每個(gè)符號(hào)作用在兩個(gè)樣本上,以提供粗定時(shí)信息給接收機(jī),這樣,存儲(chǔ)接收的數(shù)據(jù)的256個(gè)8比特樣本用于相關(guān)。如果相關(guān)器是通過(guò)使用上面提到的HSP45256器件而被構(gòu)建的,則每個(gè)接收機(jī)需要至少16個(gè)這樣的器件,用于每個(gè)I或Q相關(guān)器。如果通信系統(tǒng)使用32個(gè)必須同時(shí)被檢測(cè)的不同擴(kuò)頻序列,則它需要至少16×2×32=960個(gè)這樣的器件。
在許多低的和中等的規(guī)模的應(yīng)用中,希望通過(guò)使用現(xiàn)場(chǎng)可編程門陣列(FPGA)器件來(lái)實(shí)現(xiàn)可編程數(shù)字相關(guān)器。不幸地,諸如相關(guān)器100那樣的相關(guān)器在使用通過(guò)傳統(tǒng)設(shè)計(jì)實(shí)現(xiàn)的FPGA時(shí)并不能給出有效的結(jié)構(gòu)。
例如,Xilinx XC4025E FPGA具有1024個(gè)可配置的邏輯塊(CLB)。每個(gè)CLB包含兩個(gè)觸發(fā)器、一個(gè)次級(jí)功能發(fā)生器、和兩個(gè)主功能發(fā)生器,每個(gè)有四個(gè)輸入端與一個(gè)輸出端。例如,對(duì)于兩個(gè)可編程數(shù)字相關(guān)器所需要的,構(gòu)建這128-級(jí)8-比特?cái)?shù)據(jù)延時(shí)線,將耗費(fèi)掉這個(gè)舉例的Xilinx FPGA中的全部2048個(gè)觸發(fā)器。因此,按照現(xiàn)有技術(shù)以FPGA構(gòu)建兩個(gè)傳統(tǒng)的以8比特?cái)?shù)據(jù)樣本的長(zhǎng)度128相關(guān)器100是不可能的。
事實(shí)上,僅僅把一個(gè)這樣的實(shí)例的相關(guān)器適合于XILINX 4025E將是困難的。Xilinx XC4025E FPGA具有最大值的25000個(gè)門,其中典型地15000個(gè)門有可能通過(guò)標(biāo)準(zhǔn)的設(shè)計(jì)實(shí)踐而被實(shí)際使用。如上所示,以8比特?cái)?shù)據(jù)樣本的長(zhǎng)度128的相關(guān)器100需要最小值的22032個(gè)門。
因此,提供具有比單個(gè)器件在前面可提供的更大的移位寄存器長(zhǎng)度與寬度的組合的可編程數(shù)字相關(guān)器是有利的。提供能夠同時(shí)把輸入的樣本數(shù)據(jù)與兩個(gè)或更多個(gè)預(yù)定參考序列進(jìn)行相關(guān)的可編程數(shù)字相關(guān)器也是有利的。提供用于擴(kuò)頻接收機(jī)的可編程數(shù)字相關(guān)器同樣是有利的,它能夠每個(gè)輸入數(shù)據(jù)的符號(hào)處理一個(gè)以上的樣本,以提供要被接收機(jī)使用的粗略的相關(guān)峰值時(shí)間信息。提供能夠高速運(yùn)行的可編程數(shù)字相關(guān)器還是有利的。其它的和進(jìn)一步的目的與優(yōu)點(diǎn)將在后面看出。
發(fā)明概要本發(fā)明包括用于執(zhí)行長(zhǎng)數(shù)據(jù)序列的高速相關(guān)的方法和設(shè)備。
在本發(fā)明的一個(gè)方面,長(zhǎng)數(shù)據(jù)序列的高速數(shù)字相關(guān)是在單個(gè)現(xiàn)場(chǎng)可編程門陣列(FPGA)器件中實(shí)施的。FPGA提供了用于長(zhǎng)數(shù)據(jù)序列的存儲(chǔ)器、用于存儲(chǔ)一個(gè)或多個(gè)預(yù)定參考序列的可編程存儲(chǔ)寄存器、用于把數(shù)據(jù)樣本與參考序列值相乘,以產(chǎn)生相關(guān)乘積的多個(gè)乘法器、以及用于把相關(guān)乘積相加,以產(chǎn)生相關(guān)值的加法器。
在本發(fā)明的另一個(gè)方面,數(shù)字相關(guān)器把數(shù)據(jù)序列存儲(chǔ)在由多個(gè)隨機(jī)存取存儲(chǔ)器(RAM)模塊組成的長(zhǎng)的移位寄存器中。優(yōu)選地,數(shù)據(jù)序列包含m比特?cái)?shù)據(jù)數(shù)值,以及RAM模塊每個(gè)是p比特深乘1比特寬。在優(yōu)選實(shí)施例中,相關(guān)器在每個(gè)時(shí)鐘期間處理來(lái)自每個(gè)RAM模塊的一個(gè)比特。
在本發(fā)明的又一個(gè)方面,數(shù)字處理器把數(shù)據(jù)序列中以對(duì)二的補(bǔ)碼數(shù)表示的數(shù)據(jù)樣本與預(yù)定數(shù)據(jù)序列中的數(shù)據(jù)數(shù)值相乘以產(chǎn)生未完成的對(duì)二的補(bǔ)碼乘積。優(yōu)選地,乘法是通過(guò)使用異或(XOR)門來(lái)實(shí)現(xiàn)的。然后所有乘法的乘積被相加以產(chǎn)生相關(guān)值。在所有計(jì)算結(jié)束時(shí),一個(gè)相關(guān)值被加到相關(guān)值中,以完成對(duì)二的補(bǔ)碼的運(yùn)算。
在本發(fā)明的又另一個(gè)方面,數(shù)字處理器包括一個(gè)加法器,它又包括多個(gè)總體計(jì)數(shù)器。每個(gè)總體計(jì)數(shù)器產(chǎn)生一個(gè)輸出,它表示被設(shè)置為1的輸入比特的數(shù)目。優(yōu)選地,每個(gè)總體計(jì)數(shù)器還包括多個(gè)流水線級(jí)。
在本發(fā)明的再又一個(gè)方面,數(shù)字處理器包括具有一個(gè)加法器的加法樹,它把總體計(jì)數(shù)器輸出相加以產(chǎn)生無(wú)正負(fù)號(hào)的二進(jìn)制輸出。在相關(guān)計(jì)算結(jié)束時(shí),相關(guān)器相加相關(guān)值,以產(chǎn)生二的補(bǔ)碼的相關(guān)值。相關(guān)值(1)補(bǔ)償當(dāng)總體計(jì)數(shù)器把輸入乘積當(dāng)作為無(wú)正負(fù)號(hào)的數(shù)值處理時(shí)造成的正負(fù)號(hào)錯(cuò)誤;以及(2)完成乘法器的對(duì)二的補(bǔ)碼運(yùn)算,它產(chǎn)生如前面描述的未結(jié)束的對(duì)二的補(bǔ)碼乘積。
附圖概述圖1是說(shuō)明通信接收機(jī)中的相關(guān)器的運(yùn)行的時(shí)序圖。
圖2是現(xiàn)有技術(shù)的數(shù)字相關(guān)器的功能性方框圖。
圖3是按照本發(fā)明的一個(gè)或多個(gè)方面的可編程數(shù)字相關(guān)器的功能性方框圖。
圖4是按照本發(fā)明的一個(gè)或多個(gè)方面的15比特總體計(jì)數(shù)器的功能性方框圖。
優(yōu)選實(shí)施例詳細(xì)描述在圖3的優(yōu)選實(shí)施例中,雙重相關(guān)器300把單個(gè)接收的數(shù)據(jù)序列同時(shí)與兩個(gè)不同的預(yù)定相關(guān)參考序列,被表示為參考序列“A”和參考序列“B”,進(jìn)行相關(guān)。雙重相關(guān)器提供用于接收的數(shù)據(jù)序列的數(shù)據(jù)序列存儲(chǔ)器,并包括用于兩個(gè)相關(guān)參考序列的每個(gè)序列的分開的存儲(chǔ)寄存器。
雙重相關(guān)器300,例如可處理來(lái)自直接序列擴(kuò)頻通信接收機(jī)中的解調(diào)器的I或Q數(shù)據(jù)。在那種情況下,相關(guān)參考序列A和B每個(gè)可相應(yīng)于可被多個(gè)遠(yuǎn)端通信發(fā)射機(jī)使用的多個(gè)擴(kuò)頻碼中的一個(gè)擴(kuò)頻碼。該實(shí)施例的其它方面和特性將通過(guò)此后的對(duì)其運(yùn)行的詳細(xì)描述而弄明白。
在圖3的示例性實(shí)施例中,假定數(shù)據(jù)序列中的數(shù)據(jù)樣本以對(duì)二的補(bǔ)碼的運(yùn)算中的8比特二進(jìn)制數(shù)來(lái)表示。然而,本領(lǐng)域的技術(shù)人員將會(huì)明白,該數(shù)據(jù)可以用或多或少的比特,例如6比特或12比特來(lái)表示,而不背離本發(fā)明的精神和范圍。
數(shù)據(jù)序列被提供給并行-串行轉(zhuǎn)換器305。并行運(yùn)算對(duì)串行運(yùn)算的折衷,關(guān)系到進(jìn)行運(yùn)算所需要的邏輯資源量,和可供執(zhí)行運(yùn)算使用的時(shí)間。并行運(yùn)算需要最大的邏輯資源,但在一個(gè)時(shí)鐘周期內(nèi)完成。全部串行(即,一次處理一個(gè)比特)需要最小的邏輯資源,但需要與運(yùn)算數(shù)中的比特?cái)?shù)一樣多的時(shí)鐘周期數(shù)。
對(duì)于這里描述的優(yōu)選實(shí)施例,8比特的運(yùn)算數(shù)被轉(zhuǎn)換成2比特寬的串行數(shù)據(jù)流。2比特寬串行數(shù)據(jù)流然后在四個(gè)周期內(nèi)以比8比特?cái)?shù)據(jù)樣本的數(shù)據(jù)時(shí)鐘速率快四倍的相關(guān)器時(shí)鐘速率被處理。這給出了8比特并行運(yùn)行的邏輯資源要求的1/4,但需要串行時(shí)鐘快四倍。其它實(shí)施例可使用不同的折衷。
并行-串行轉(zhuǎn)換器305接收以W周期/秒的數(shù)據(jù)時(shí)鐘速率的一系列8比特并行數(shù)據(jù)樣本的輸入數(shù)據(jù)序列,并把它串行化為2比特寬的數(shù)據(jù)流,它以4W周期/秒的相關(guān)器時(shí)鐘速率被輸出。這樣,數(shù)據(jù)序列中的8比特?cái)?shù)據(jù)樣本,每個(gè)樣本一次可提供兩個(gè)比特。每個(gè)數(shù)據(jù)樣本的全部8個(gè)比特在四個(gè)接連的相關(guān)器時(shí)鐘周期(相應(yīng)于一個(gè)數(shù)據(jù)時(shí)鐘周期)內(nèi)被處理。
在第一相關(guān)器時(shí)鐘周期,并行串行轉(zhuǎn)換器305輸出輸入數(shù)據(jù)樣本D1的最低有效比特(LSB)D1(0)和次最低有效比特(NLSB)D1(1)。在第二相關(guān)器時(shí)鐘周期,并行串行轉(zhuǎn)換器提供輸入下兩個(gè)最低有效比特D1(2)和D1(3),等等,直到全部8個(gè)比特在四個(gè)相關(guān)器時(shí)鐘周期內(nèi)被輸出為止。由此,并行串行轉(zhuǎn)換器每四個(gè)相關(guān)器時(shí)鐘周期輸出一個(gè)新數(shù)據(jù)樣本給數(shù)據(jù)序列移位寄存器用于相關(guān)。
來(lái)自并行串行轉(zhuǎn)換器305的2比特寬的數(shù)據(jù)樣本被相關(guān)器時(shí)鐘移位到由多個(gè)隨機(jī)存取存儲(chǔ)器(RAM)模塊310組成的2比特寬的數(shù)據(jù)序列移位寄存器。數(shù)據(jù)序列移位寄存器由兩串RAM模塊組成,一串用于在來(lái)自并行串行轉(zhuǎn)換器305的2比特寬的數(shù)據(jù)流中的兩個(gè)比特的每一個(gè)。
在優(yōu)選實(shí)施例中,可配置邏輯塊(CLB)隨機(jī)存取存儲(chǔ)器(RAM)結(jié)構(gòu)被用來(lái)使得對(duì)數(shù)據(jù)序列移位寄存器的CLB需求最小化。例如,XILINX XC4025E CLB可被配置來(lái)實(shí)現(xiàn)兩個(gè)16比特深1比特寬的RAM。每個(gè)RAM被連接來(lái)實(shí)現(xiàn)多到16比特長(zhǎng)的1比特寬的移位寄存器。CLB中的兩個(gè)RAM一起可達(dá)到每個(gè)CLB32比特的密度。(實(shí)際實(shí)現(xiàn)的真正長(zhǎng)度取決于數(shù)據(jù)的速度和FPGA邏輯塊的最大運(yùn)行速度。)相反,CLP觸發(fā)器單獨(dú)代表每個(gè)CLB僅僅2比特的密度。
在圖3的實(shí)施例中,2比特寬的數(shù)據(jù)序列移位寄存器通過(guò)使用每隔一個(gè)的數(shù)據(jù)樣本被抽頭用于相關(guān)。例如,如果每個(gè)相關(guān)參考序列“A”和“B”具有N/2的長(zhǎng)度,則數(shù)據(jù)序列移位寄存器包含N個(gè)數(shù)據(jù)樣本,一個(gè)抽頭用于每隔一個(gè)的數(shù)據(jù)樣本,使得一次有N/2的數(shù)據(jù)樣本可供用于相關(guān)。對(duì)于帶有8比特二進(jìn)制表示的數(shù)據(jù)樣本,每個(gè)RAM模塊是1比特寬8比特長(zhǎng),每隔一個(gè)數(shù)據(jù)樣本提供一個(gè)抽頭,如圖3所示。地址線(未示出)使得一個(gè)比特可作為從每個(gè)RAM模塊310在每個(gè)相關(guān)器時(shí)鐘周期的輸出被提供。
在那種情況下,每四個(gè)相關(guān)時(shí)鐘周期,對(duì)于在2比特寬數(shù)據(jù)序列移位寄存器中包括每隔一個(gè)的數(shù)據(jù)樣本的數(shù)據(jù)序列計(jì)算一個(gè)新的相關(guān)值。例如,數(shù)據(jù)樣本可以是來(lái)自直接序列擴(kuò)頻通信接收機(jī)中的解調(diào)器的I或Q數(shù)據(jù),在那種情況下,數(shù)據(jù)可以以兩倍的符號(hào)速率被采樣,以提供粗略時(shí)間信息給接收機(jī),所以相關(guān)是相對(duì)于每隔一個(gè)數(shù)據(jù)樣本執(zhí)行的。
在圖3的實(shí)施例中,2比特寬數(shù)據(jù)序列移位寄存器對(duì)于由N個(gè)RAM模塊,或兩串N/2個(gè)RAM模塊組成,用于由并行串行轉(zhuǎn)換器305提供的2比特寬數(shù)據(jù)流。
在優(yōu)選實(shí)施例,每個(gè)RAM模塊310可以是在FPGA(例如XILINXXC4025E FPGA)中的可配置邏輯塊(CLB)中的兩個(gè)RAM模塊中的一個(gè)。在那種情況下,F(xiàn)PGA可提供在128個(gè)CLB中的N=256個(gè)RAM模塊,以構(gòu)建包含256個(gè)8比特?cái)?shù)據(jù)樣本的2比特寬數(shù)據(jù)序列移位寄存器,它每隔一個(gè)數(shù)據(jù)樣本提供一個(gè)抽頭。
對(duì)于相關(guān),數(shù)據(jù)序列中N/2個(gè)8比特?cái)?shù)據(jù)樣本(相應(yīng)于在數(shù)據(jù)序列移位寄存器中每隔一個(gè)數(shù)據(jù)樣本的抽頭)的每個(gè)樣本與參考序列“A”,“B”中的參考值相乘。在圖3的實(shí)施例中,每個(gè)參考序列值可以是或者正1(+1)或者負(fù)1(-1)。每個(gè)參考序列數(shù)據(jù)數(shù)值由1比特二進(jìn)制數(shù)表示。參考序列比特是邏輯0,表示正1(+1)的參考序列值,是邏輯1,表示負(fù)1(-1)的參考序列值。
參考序列“A”和“B”的參考序列比特,每個(gè)被存儲(chǔ)在分開的參考序列存儲(chǔ)寄存器315,它們每個(gè)具有N/2級(jí)。
例如,每個(gè)參考序列存儲(chǔ)寄存器315可以由FPGA器件(例如XILINX XC4025E FPGA)中的N/2觸發(fā)器組成。在那種情況下,對(duì)于每個(gè)長(zhǎng)度為N/2=128的參考序列,每個(gè)參考序列存儲(chǔ)寄存器可包括128個(gè)觸發(fā)器。
為了執(zhí)行與參考序列“A”或“B”的相關(guān),數(shù)據(jù)序列中每隔一個(gè)數(shù)據(jù)樣本必須首先乘以正1(+1)或負(fù)1(-1)的參考序列值。8比特?cái)?shù)據(jù)樣本以對(duì)二的補(bǔ)碼的算術(shù)來(lái)表示,如上面所述。正如本領(lǐng)域的技術(shù)人員熟知的,為了把對(duì)二的補(bǔ)碼數(shù)乘以負(fù)1(-1),所有比特都必須被倒置,然后必須加上1。例如,為了對(duì)于數(shù)+4(000 0100)求補(bǔ),所有比特被求反(1111 1011),然后加上1,以產(chǎn)生對(duì)二的補(bǔ)碼的(11111100)=-4。
把數(shù)據(jù)序列的每個(gè)數(shù)據(jù)樣本乘以相應(yīng)的參考序列值的第一步驟可由XOR門實(shí)行。輸入到XOR門的第一輸入端被連接到來(lái)自數(shù)據(jù)序列移位寄存器的數(shù)據(jù)樣本的一比特。參考序列比特是0,表示乘以正1(+1),以及是1,表示乘以負(fù)1(-1)。
XOR門用作為選擇性-求補(bǔ)碼器。XOR門的輸出在參考序列比特是0時(shí),是與輸入數(shù)據(jù)樣本比特相同,而在參考序列比特是1時(shí),是輸入數(shù)據(jù)樣本比特的相反值。這樣,XOR門在每個(gè)相關(guān)器時(shí)鐘周期或者倒置或者不倒置一個(gè)數(shù)據(jù)樣本比特。
在一個(gè)優(yōu)選實(shí)施例中,同時(shí)使用兩個(gè)XOR門,在每個(gè)相關(guān)器時(shí)鐘周期期間,倒置或不倒置從數(shù)據(jù)序列移位寄存器提供的每個(gè)數(shù)據(jù)樣本的的兩個(gè)比特。在四個(gè)相關(guān)器時(shí)鐘周期內(nèi),這兩個(gè)XOR門倒置或不倒置,(當(dāng)可能是這種情況時(shí))8比特?cái)?shù)據(jù)樣本的全部八個(gè)比特。
來(lái)自XOR門的最終結(jié)果的數(shù)據(jù)是未結(jié)束的對(duì)二的補(bǔ)碼的產(chǎn)物,因?yàn)樵赬OR后需要完成的增量,如果數(shù)據(jù)被倒置,是還未完成的。為了產(chǎn)生最后的對(duì)二的補(bǔ)碼的產(chǎn)物,需要加上1。然而,對(duì)于每個(gè)相關(guān)乘積加上這個(gè)1,需要相當(dāng)大量的附加電路。有利地,在雙重相關(guān)器300的優(yōu)選實(shí)施例中,這個(gè)加法是在雙重相關(guān)器300的另一級(jí)完成的,這在以后討論。這樣,XOR門產(chǎn)生被表示為未結(jié)束的對(duì)二的補(bǔ)碼數(shù)的相關(guān)乘積。
在雙重相關(guān)器300中,在每個(gè)相關(guān)器時(shí)鐘周期,由RAM模塊310組成的2比特寬數(shù)據(jù)序列移位寄存器提供以每隔一個(gè)數(shù)據(jù)樣本抽頭的8比特的數(shù)據(jù)樣本的兩個(gè)比特給XOR門320。每個(gè)XOR門320的一個(gè)輸入端被連接到2比特寬數(shù)據(jù)序列移位寄存器的對(duì)于一個(gè)比特的一個(gè)抽頭。每個(gè)XOR門320的另一個(gè)輸入端被連接到參考序列移位寄存器315之一的一個(gè)抽頭。
對(duì)于與長(zhǎng)度為N/2的兩個(gè)參考序列“A”和“B”的相關(guān),有2N個(gè)XOR門320,N個(gè)門用于每一個(gè)參考序列。例如,在雙重相關(guān)器300把數(shù)據(jù)序列與長(zhǎng)度為N/2的兩個(gè)參考序列“A”和“B”進(jìn)行相關(guān)的情況下,那麼雙重相關(guān)器具有512個(gè)XOR門,256個(gè)用于參考序列“A”,以及256個(gè)用于參考序列“B”。用于每個(gè)參考序列的256個(gè)XOR門被分成用于LSB的128個(gè)XOR門、和用于NLSB(次最低有效比特)的128個(gè)XOR門。
這樣,在每個(gè)相關(guān)器時(shí)鐘周期,用于與每個(gè)參考序列進(jìn)行相關(guān)的N個(gè)XOR門產(chǎn)生N/2個(gè)2比特的相關(guān)乘積。每四個(gè)相關(guān)時(shí)鐘周期,N/2個(gè)8比特?cái)?shù)據(jù)樣本的全部八個(gè)比特被處理以產(chǎn)生新的相關(guān)值。
為了產(chǎn)生相關(guān)值,在每個(gè)相關(guān)器時(shí)鐘周期,來(lái)自XOR門320的N/2個(gè)2比特未結(jié)束的對(duì)二的補(bǔ)碼相關(guān)器產(chǎn)物中的每個(gè)產(chǎn)物必須被相加在一起,這個(gè)和值又必須被加到累加器中。正如對(duì)于圖1的現(xiàn)有技術(shù)的相關(guān)器進(jìn)行討論的那樣,如果使用傳統(tǒng)的加法器,把N/2個(gè)相關(guān)器產(chǎn)物相加需要(N/2)-1個(gè)不同長(zhǎng)度的加法器,耗費(fèi)許多門。
而有利地,以之以在雙重相關(guān)器300的加法器中包括總體計(jì)數(shù)器,在每個(gè)相關(guān)器時(shí)鐘周期期間,把N/2個(gè)2比特相關(guān)器產(chǎn)物相加。這樣,在第一相關(guān)器時(shí)鐘周期,N/2個(gè)LSB相關(guān)乘積中的15個(gè)產(chǎn)物的組被饋送到15比特總體計(jì)數(shù)器325。每個(gè)15比特總體計(jì)數(shù)器325的輸出是4比特未標(biāo)以正負(fù)號(hào)的二進(jìn)制值,范圍從0到+15,表示15個(gè)相關(guān)乘積LSB輸入都是1的輸入的數(shù)目。在同時(shí),N/2個(gè)NLSB相關(guān)乘積中的15個(gè)乘積的組也被饋送到相同的15比特總體計(jì)數(shù)器325。對(duì)于每個(gè)參考序列“A”和“B”,總共有2×[N/2-modulo-15]個(gè)15比特的總體計(jì)數(shù)器,一半用于把LSB乘積相加以及另一半用于把次最低有效比特(NLSB)乘積相加。
圖4是一個(gè)15比特總體計(jì)數(shù)器優(yōu)選實(shí)施例的方框圖,它可被使用于雙重相關(guān)器300。圖4的15比特總體計(jì)數(shù)器325包含三個(gè)流水線級(jí)。
在總體計(jì)數(shù)器325的第一級(jí),三個(gè)4比特組,每個(gè)被提供給由三個(gè)編碼器405組成的三個(gè)第一級(jí)組410。編碼器405的每個(gè)第一級(jí)組410把四個(gè)輸入比特編碼成3比特二進(jìn)制數(shù),表示有多少個(gè)4比特是1。也就是,每個(gè)第一級(jí)組產(chǎn)生具有權(quán)因子20、21、和22的三個(gè)中間的輸出。15比特輸入的剩余的3比特被提供給兩個(gè)編碼器的第四個(gè)第一級(jí)組415。第四個(gè)第一級(jí)組415把三個(gè)比特編碼成2比特二進(jìn)制數(shù),產(chǎn)生產(chǎn)生具有權(quán)因子20、和21的兩個(gè)中間的輸出,再次表示有多少個(gè)3個(gè)輸入比特是1。這樣,在第一級(jí),總體計(jì)數(shù)器325產(chǎn)生總共四個(gè)20比特、四個(gè)21比特、和三個(gè)22比特。
在15比特總體計(jì)數(shù)器325的第二級(jí)中,來(lái)自第一級(jí)的四個(gè)20比特被提供給三個(gè)編碼器405的第一個(gè)第二級(jí)組420。編碼器405的第一個(gè)第二級(jí)組420把四個(gè)20比特編碼成3比特二進(jìn)制數(shù),表示有多少個(gè)4比特是1。也就是,第一個(gè)第二級(jí)組420產(chǎn)生具有權(quán)因子20、21、和22的三個(gè)中間的輸出。
同樣地,來(lái)自第一級(jí)的四個(gè)21比特被提供給三個(gè)編碼器405的第二個(gè)第二級(jí)組425。編碼器405的第二個(gè)第二級(jí)組425把四個(gè)21比特編碼成3比特二進(jìn)制數(shù),表示有多少個(gè)4比特是1。也就是,第二個(gè)第二級(jí)組425產(chǎn)生具有權(quán)因子21、22、和23的三個(gè)中間的輸出。
另外,來(lái)自第一級(jí)的三個(gè)22比特被提供給兩個(gè)編碼器405的第三個(gè)第二級(jí)組430。編碼器405的第三個(gè)第二級(jí)組430把三個(gè)輸入比特編碼成3比特二進(jìn)制數(shù),表示有多少個(gè)3比特是1。也就是,第三個(gè)第二級(jí)組430產(chǎn)生具有權(quán)因子22、和23的三個(gè)中間的輸出。
接著,來(lái)自編碼器的第一和第二個(gè)第二級(jí)組420、425的兩個(gè)21比特在半-加法器電路435中被相加在一起,以產(chǎn)生最后的21比特和另一個(gè)22比特。平行地,來(lái)自編碼器的第二和第三個(gè)第二級(jí)組425、430的兩個(gè)22比特在另一半-加法器電路435中被相加在一起,以產(chǎn)生第三個(gè)22比特和第三個(gè)23比特。這樣,在第二級(jí),總體計(jì)數(shù)器325產(chǎn)生一個(gè)20比特、一個(gè)21比特、三個(gè)22比特、和三個(gè)23比特。
在總體計(jì)數(shù)器325的第三級(jí),該20比特和21比特被復(fù)制為總體計(jì)數(shù)器的最后輸出比特。該三個(gè)22比特被提供給兩個(gè)編碼器405的第三級(jí)組440。編碼器405的第三級(jí)組440把三個(gè)輸入比特編碼成2比特二進(jìn)制數(shù),表示有多少個(gè)3比特是1。也就是,第三級(jí)組440產(chǎn)生具有權(quán)因子22、和23的兩個(gè)輸出。該22比特被提供為總體計(jì)數(shù)器325的最后的22比特輸出。
現(xiàn)在剩下總共四個(gè)23比特要被處理。然而,輸入到15比特總體計(jì)數(shù)器325的輸入端總數(shù)是15,這樣,1的數(shù)目不能超過(guò)15。所以至多地,23比特的數(shù)目可以等于1。因此,該四個(gè)23比特被加到或門445,以產(chǎn)生最后的23比特作為總體計(jì)數(shù)器325的輸出。
在優(yōu)選實(shí)施例中,在雙重相關(guān)器300中的每個(gè)15比特總體計(jì)數(shù)器325通過(guò)剩余FPGA器件(例如XILINX XC4025E FPGA)中的可配置邏輯塊(CLB)被構(gòu)建。在那種情況下,15比特總體計(jì)數(shù)器的第一級(jí)需要總共五個(gè)半的CLB,第二級(jí)需要總共四個(gè)半的CLB,以及第三級(jí)需要總共兩個(gè)CLB。
總之,對(duì)于兩個(gè)參考序列“A”和“B”的每個(gè)序列,雙重相關(guān)器300包括2*[N/2-modulo-15]個(gè)15比特總體計(jì)數(shù)器325,以便對(duì)于由XOR門在每個(gè)相關(guān)器時(shí)鐘周期產(chǎn)生的2比特寬未結(jié)束的對(duì)二的補(bǔ)碼的相關(guān)乘積執(zhí)行無(wú)正負(fù)號(hào)相加。15比特總體計(jì)數(shù)器每個(gè)產(chǎn)生4比特?zé)o正負(fù)號(hào)的二進(jìn)制數(shù)輸出,它們被提供給加法樹330、335,這將在下面討論。未提供給2*[N/2-modulo-15]個(gè)15比特總體計(jì)數(shù)器325的LSB相關(guān)乘積和NLSB相關(guān)乘積被分別提供給加法樹330和335。
例如,對(duì)于與長(zhǎng)度為N/2=128(N=256)的參考序列進(jìn)行相關(guān),雙重相關(guān)器300包括[256/2-modulo-15]=8個(gè)15比特總體計(jì)數(shù)器(加上128個(gè)乘積比特中的8*15=120個(gè)),產(chǎn)生對(duì)于LSB相關(guān)乘積的8個(gè)4比特?zé)o正負(fù)號(hào)二進(jìn)制數(shù),以及另八個(gè)15比特總體計(jì)數(shù)器產(chǎn)生對(duì)于次最低有效比特(NLSB)相關(guān)乘積的8個(gè)4比特?zé)o正負(fù)號(hào)二進(jìn)制數(shù)。在那種情況下,八個(gè)128 LSB產(chǎn)物的最后的組被提供給加法樹330的承載輸入端。同樣地,八個(gè)128 NLSB產(chǎn)物的最后的組被提供給加法樹335的承載輸入端。
每個(gè)加法樹330、335是把來(lái)自15比特總體計(jì)數(shù)器的4比特?zé)o正負(fù)號(hào)二進(jìn)制數(shù)相加在一起的傳統(tǒng)的加法樹。一定要正確地針對(duì)結(jié)果考慮對(duì)于在每一級(jí)被相加的比特位置的正確加權(quán)值。對(duì)于NLSB產(chǎn)物的加法樹335的輸出,在它被加到對(duì)于NLSB產(chǎn)物的加法樹335的輸出以產(chǎn)生所有N/2個(gè)2比特相關(guān)乘積的和值之前,被向右移一位以乘以二。這個(gè)和值的最大值是(N/2)*3=3N/2。例如,在N=256相應(yīng)于長(zhǎng)度128的相關(guān)器的情況下,最大值是384,它需要一個(gè)9比特的表示式。
在每個(gè)相關(guān)時(shí)鐘周期期間所產(chǎn)生的所有N/2個(gè)2比特相關(guān)乘積的和值被加到累加器340的較高比特輸入端。要記住,8比特?cái)?shù)據(jù)值在四個(gè)相關(guān)器時(shí)鐘周期內(nèi)一次被處理兩個(gè)比特。在第一相關(guān)器時(shí)鐘周期期間,相關(guān)器處理每個(gè)數(shù)據(jù)樣本的LSB和NLSB比特。因此,來(lái)自累加器340的反饋在移位寄存器350中被向右移兩個(gè)比特,以便相對(duì)于在下一個(gè)相關(guān)器時(shí)鐘周期期間處理的來(lái)自下一個(gè)N/2比特-對(duì)的和值,減小其重要性四倍。
在接下來(lái)的三個(gè)相關(guān)器時(shí)鐘周期的每個(gè)時(shí)鐘周期期間,2比特寬的數(shù)據(jù)序列移位寄存器被向右移一個(gè)位置。每次,相關(guān)乘積的和值在累加器340中與四倍的先前結(jié)果的權(quán)重相加,并被求和到先前的累加器總和的向左兩個(gè)比特。
在四個(gè)相關(guān)器時(shí)鐘周期內(nèi)所有四次求和的結(jié)果是無(wú)符號(hào)的二進(jìn)制數(shù),它的最大值是N/2乘以最大的8比特值,也就是255*(N/2),它需要8+1og2(N/2)個(gè)比特來(lái)表示。例如,如果N=256,則N/2是128,以及最大值是32640,它需要15比特來(lái)表示。
最后,為了得到正確的對(duì)二的補(bǔ)碼的相關(guān)值,必須執(zhí)行最后兩個(gè)操作。首先,該結(jié)果必須對(duì)于在乘法處理時(shí)使用的未結(jié)束的對(duì)二的補(bǔ)碼運(yùn)算來(lái)被校正。為做到這一點(diǎn),相關(guān)器必須加進(jìn)在所有的1,這些1是當(dāng)相關(guān)器對(duì)數(shù)據(jù)樣本執(zhí)行XOR選擇性求補(bǔ)功能時(shí)沒有被加上的。有利地,控制雙重相關(guān)器運(yùn)行的微控制器提供選擇性求補(bǔ)校正值,它表示由XOR門求補(bǔ)的數(shù)據(jù)序列樣本數(shù),相應(yīng)于在參考序列寄存器中為1的比特?cái)?shù)。
其次,由于總體計(jì)數(shù)器把來(lái)自XOR門的進(jìn)入的數(shù)據(jù)作為無(wú)正負(fù)號(hào)的數(shù)據(jù)處理,校正值必須被補(bǔ)償。如果該結(jié)果沒有被求反,則該結(jié)果的正負(fù)號(hào)將是錯(cuò)誤的。相關(guān)器提供要被相加的正負(fù)號(hào)校正值,以提供這個(gè)補(bǔ)償。在N=256的優(yōu)選實(shí)施例中,正負(fù)號(hào)校正值是400016。
在優(yōu)選實(shí)施例中,通過(guò)微控制器把正負(fù)號(hào)校正值加到選擇性求補(bǔ)校正值,然后把結(jié)果一次地加到校正加法器355以補(bǔ)償在總體計(jì)數(shù)器中的無(wú)正負(fù)號(hào)變換和在XOR門中的未結(jié)束的對(duì)二的補(bǔ)碼運(yùn)算,而完成以上的兩個(gè)運(yùn)算。替換地,組合的校正值可在一開始被預(yù)先裝載在累加器中,而不是在結(jié)束時(shí)被加上。
這樣,對(duì)于每個(gè)數(shù)據(jù)時(shí)鐘周期,雙重相關(guān)器產(chǎn)生相應(yīng)于參考序列“A”的正確的對(duì)二的補(bǔ)碼的相關(guān)值。雙重相關(guān)器300包括除了2比特寬數(shù)據(jù)移位寄存器以外的每一項(xiàng)的復(fù)制品,以產(chǎn)生對(duì)于第二參考序列“B”的第二相關(guān)值。
對(duì)于參考序列“A”和“B”的相關(guān)值,每個(gè)可與相關(guān)參考門限值進(jìn)行比較,以檢測(cè)相關(guān)事件,如技術(shù)上所熟知的。
在優(yōu)選實(shí)施例中,雙重相關(guān)器300用FPGA來(lái)被構(gòu)建。在優(yōu)選實(shí)施例中,F(xiàn)PGA是XILINX XC4025E FPGA。在那種情況下,使用RAM模塊來(lái)實(shí)現(xiàn)2比特寬數(shù)據(jù)序列移位寄存器、復(fù)用數(shù)據(jù)序列移位寄存器來(lái)實(shí)行兩次相關(guān)功能、以及總體計(jì)數(shù)器都有助于允許以單個(gè)FPGA實(shí)現(xiàn)兩個(gè)非常長(zhǎng)的數(shù)據(jù)序列相關(guān)器,而現(xiàn)有技術(shù)的傳統(tǒng)相關(guān)器將是不適合的。
例如,按照本發(fā)明,用于把數(shù)據(jù)序列與兩個(gè)參考序列(每個(gè)的長(zhǎng)度為N/2=128)進(jìn)行相關(guān)的雙重相關(guān)器可以用單個(gè)XILINX XC4025EFPGA來(lái)構(gòu)建。在那種情況下,2比特寬數(shù)據(jù)序列移位寄存器可以包含256個(gè)8比特?cái)?shù)據(jù)樣本,每隔一個(gè)數(shù)據(jù)樣本被抽頭。例如,這對(duì)于相關(guān)把每個(gè)符號(hào)采樣兩次的I或Q接收機(jī)數(shù)據(jù)進(jìn)行相關(guān),以提供附加的粗略定時(shí)信息給通信接收機(jī),是有用的。
雖然這里揭示了優(yōu)選實(shí)施例,但是保持在本發(fā)明的概念和范圍內(nèi)的許多變動(dòng)是可能的。對(duì)于參閱過(guò)這里的說(shuō)明、附圖、和權(quán)利要求的本領(lǐng)域的技術(shù)人員,這樣的變動(dòng)將變得很明白。所以,本發(fā)明要被限制在所附屬的權(quán)利要求的精神與范圍內(nèi)。
權(quán)利要求
1.用于把包括多個(gè)數(shù)據(jù)樣本的數(shù)據(jù)序列與包括多個(gè)第一參考序列值的第一參考序列和包括多個(gè)第二參考序列值的第二參考序列同時(shí)進(jìn)行相關(guān)的相關(guān)器,包括數(shù)據(jù)序列移位寄存器,用于接收和存儲(chǔ)數(shù)據(jù)樣本;第一參考寄存器,用于存儲(chǔ)第一參考序列值;第二參考寄存器,用于存儲(chǔ)第二參考序列值;第一組第一乘法器,用于把每一個(gè)數(shù)據(jù)樣本與相應(yīng)的一個(gè)第一參考序列值相乘,以產(chǎn)生一組第一相關(guān)乘積;第二組第二乘法器,用于把每一個(gè)數(shù)據(jù)樣本與相應(yīng)的一個(gè)第二參考序列值相乘,以產(chǎn)生一組第二相關(guān)乘積;第一加法器,用于相加第一相關(guān)乘積,以產(chǎn)生第一相關(guān)值;以及第二加法器,用于相加第二相關(guān)乘積,以產(chǎn)生第二相關(guān)值。
2.權(quán)利要求1的相關(guān)器,其特征在于,其中所述數(shù)據(jù)序列移位寄存器包括多個(gè)隨機(jī)存取存儲(chǔ)器。
3.權(quán)利要求2的相關(guān)器,其特征在于,其中所述隨機(jī)存取存儲(chǔ)器,每個(gè)是1比特寬。
4.權(quán)利要求1的相關(guān)器,其特征在于,其中所述第一乘法器和所述第二乘法器是異或門。
5.權(quán)利要求1的相關(guān)器,其特征在于,其中所述第一加法器和所述第二加法器,每個(gè)包括總體計(jì)數(shù)器。
6.用于把包括多個(gè)對(duì)二的補(bǔ)碼的數(shù)據(jù)樣本的數(shù)據(jù)序列與包括多個(gè)參考序列值的參考序列進(jìn)行相關(guān),以產(chǎn)生對(duì)二的補(bǔ)碼的相關(guān)值的相關(guān)器,包括數(shù)據(jù)序列移位寄存器,用于接收和存儲(chǔ)對(duì)二的補(bǔ)碼的數(shù)據(jù)樣本;參考寄存器,用于接收和存儲(chǔ)參考序列值;多個(gè)乘法器,用于把每一個(gè)對(duì)二的補(bǔ)碼的數(shù)據(jù)樣本與參考序列值之一相乘,以產(chǎn)生多個(gè)未結(jié)束的對(duì)二的補(bǔ)碼的相關(guān)乘積;加法器,用于以無(wú)正負(fù)號(hào)的運(yùn)算相加多個(gè)未結(jié)束的對(duì)二的補(bǔ)碼的相關(guān)乘積,以產(chǎn)生無(wú)正負(fù)號(hào)相關(guān)結(jié)果;以及累加器,用于累加部分和,以及把校正因子相加到無(wú)正負(fù)號(hào)相關(guān)結(jié)果,以產(chǎn)生對(duì)二的補(bǔ)碼的相關(guān)值。
7.權(quán)利要求6的相關(guān)器,其特征在于,其中所述數(shù)據(jù)序列移位寄存器包括多個(gè)隨機(jī)存取存儲(chǔ)器。
8.權(quán)利要求6的相關(guān)器,其特征在于,其中多個(gè)乘法器是異或門。
9.權(quán)利要求6的相關(guān)器,其特征在于,其中加法器包括一個(gè)或多個(gè)總體計(jì)數(shù)器。
10.用于把包括多個(gè)對(duì)二的補(bǔ)碼的數(shù)據(jù)樣本的數(shù)據(jù)序列與包括多個(gè)參考序列值的參考序列進(jìn)行相關(guān),以產(chǎn)生對(duì)二的補(bǔ)碼的相關(guān)值的方法,包括以下步驟把每一個(gè)對(duì)二的補(bǔ)碼的數(shù)據(jù)樣本與參考序列值之一相乘,以產(chǎn)生多個(gè)未結(jié)束的對(duì)二的補(bǔ)碼的相關(guān)乘積;在加法器中,以無(wú)正負(fù)號(hào)的運(yùn)算相加多個(gè)未結(jié)束的對(duì)二的補(bǔ)碼的相關(guān)乘積,以產(chǎn)生無(wú)正負(fù)號(hào)的相關(guān)結(jié)果;以及把校正因子相加到無(wú)正負(fù)號(hào)的相關(guān)結(jié)果,以產(chǎn)生對(duì)二的補(bǔ)碼的相關(guān)值。
11.權(quán)利要求10的相關(guān)方法,其特征在于,其中乘法步驟是通過(guò)多個(gè)異或門實(shí)行的。
12.權(quán)利要求10的相關(guān)方法,其特征在于,其中加法器包括一個(gè)或多個(gè)總體計(jì)數(shù)器。
全文摘要
可編程數(shù)字相關(guān)器器件及有關(guān)的相關(guān)方法,具有非常有效的結(jié)構(gòu)。在一個(gè)方面,兩個(gè)或多個(gè)相關(guān)器共享一個(gè)公共的數(shù)據(jù)序列移位寄存器。在另一方面,數(shù)據(jù)序列移位寄存器由隨機(jī)存取存儲(chǔ)器(RAM)模塊組成,它們?cè)试S以現(xiàn)場(chǎng)可編程門陣列(FPGA)邏輯器件有效地構(gòu)建。把對(duì)二的補(bǔ)碼的數(shù)據(jù)樣本與參考序列相乘,以產(chǎn)生未結(jié)束的對(duì)二的補(bǔ)碼的乘積,這些乘積在包含總體計(jì)數(shù)器的加法器中以無(wú)正負(fù)號(hào)的運(yùn)算被求和,以產(chǎn)生未結(jié)束的對(duì)二的補(bǔ)碼的乘積,以及在所有其它計(jì)算完成以后加上校正因子,以便把無(wú)正負(fù)號(hào)的結(jié)果變換回到對(duì)二的補(bǔ)碼數(shù)。
文檔編號(hào)G06F17/15GK1226980SQ98800448
公開日1999年8月25日 申請(qǐng)日期1998年4月7日 優(yōu)先權(quán)日1997年4月9日
發(fā)明者P·M·弗雷丁, D·G·德克爾, M·J·瑟爾羅納, N·F·克拉斯納 申請(qǐng)人:Ge基本太空網(wǎng)絡(luò)服務(wù)公司