專利名稱:數(shù)字互相關(guān)器的高效實現(xiàn)方法和設(shè)備的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)字互相關(guān)器的高效實現(xiàn)方法和設(shè)備,可以測量未知數(shù)字信息與己知 數(shù)字信息的相關(guān)程度,在模式識別、密碼分析學(xué)以及無線通信等數(shù)字信號處理領(lǐng)域都有廣 泛應(yīng)用。
背景技術(shù):
在信號處理領(lǐng)域中,互相關(guān)(有時也稱為"互協(xié)方差")是用來表示兩個信號之間相似性 的一個度量,通常通過與已知信號比較用于尋找未知信號中的特性。它是兩個信號之間相 對于時間的一個函數(shù),有時也稱為滑動點積。相關(guān)運算的公式如下
+00
實際中所測信號一般為有限長序列,所以計算公式可改寫為
AM
(m) 二 Z x(wy y(w + m = —(W — 1X…,0,…,— 1 , 其中,N為序列長度,共有2N-1個相關(guān)值。
互相關(guān)器常應(yīng)用于通信系統(tǒng)的同步環(huán)節(jié)。正交頻分復(fù)用(Orthogonal Frequency Division Multiplexing, OFDM)通過相互正交的子載波并行傳輸數(shù)據(jù),是一種高效的數(shù)據(jù) 傳輸方式,被譽為未來移動通信技術(shù)的核心。與傳統(tǒng)通信手段相比,采用OFDM技術(shù)的 無線數(shù)據(jù)通信系統(tǒng)具有抗頻率選擇性衰落、頻帶利用率高等特點,能夠滿足人們對同時 傳送數(shù)據(jù)、語音和圖象的要求,所以受到人們越來越廣泛的關(guān)注。近幾年來,OFDM在 無線通信領(lǐng)域得到了深入研究和廣泛應(yīng)用,如數(shù)字音頻廣播(DAB),數(shù)字視頻廣播(DVB) 和高清晰度電視(HDTV)等。采用OFDM方案的協(xié)議有IEEE 802.11a和歐洲電信標(biāo)準(zhǔn) 化協(xié)會的HIPERLAN/2等。
OFDM系統(tǒng)對定時和頻率偏移敏感,特別是實際應(yīng)用中可能與FDMA、TDMA禾B CDMA 等多址方式結(jié)合使用時,時域和頻率同步顯得尤為重要。所以精確的同步措施對正確解調(diào) OFDM信號非常重要。在OFDM系統(tǒng)同步中,利用PN序列算整數(shù)頻偏時,需要算接收序 列與本地PN序列的互相關(guān)。其中,PN序列由巴克碼組成,長度為N。故將巴克碼擴展到,則要算序列的互相關(guān)。如果信號在時域信道傳播過程中沒有任何整數(shù)頻偏,那么接收序列
在頻域中與本地PN序列副本算互相關(guān)后最大相關(guān)值應(yīng)出現(xiàn)在中間m=0時。實際中如果最 大相關(guān)值位置有了偏移,那么即可根據(jù)偏移量估算出整數(shù)頻偏。
其他通信系統(tǒng)如CDMA、 GSM等也離不開互相關(guān)的運算。在直接序列擴頻通信系統(tǒng) 中,發(fā)射機對發(fā)送數(shù)據(jù)進(jìn)行擴頻,不同用戶擁有不同的相互正交的擴頻碼。在接收端的相 關(guān)器中,接收序列與本地參考擴頻序列算互相關(guān),從而確定用戶,并去掉擴頻碼,恢復(fù)原 始數(shù)據(jù)。
OFDM系統(tǒng)和CDMA系統(tǒng)很多采用MQAM調(diào)制方式,其資源利用率高,QAM調(diào)制 出的數(shù)據(jù)為復(fù)數(shù)。傳輸數(shù)據(jù)為復(fù)數(shù)的通信系統(tǒng)將成為一個趨勢。復(fù)數(shù)的互相關(guān)器也是不可 或缺的。如果系統(tǒng)調(diào)制方式采用MPSK等,即如果傳輸?shù)氖菍崝?shù),那么要算實數(shù)序列的互 相關(guān)。此數(shù)字互相關(guān)器同樣適用,也可通過去掉復(fù)數(shù)乘法和虛部的相關(guān)器件,很容易的簡 化成實數(shù)互相關(guān)器。
模式識別主要是對語音波形、地震波、心電圖、腦電圖、圖片、照片、文字、符號、 '生物的傳感器等對象進(jìn)行測量的具體模式進(jìn)行分類和辨識,是信息科學(xué)和人工智能的重要 組成部分?;谀0迤ヅ涞娜四樧R別方法大多是用歸一化互相關(guān),直接計算兩幅圖像之間 的匹配程度。
發(fā)明內(nèi)容
本發(fā)明目的是適應(yīng)信號處理領(lǐng)域?qū)ハ嚓P(guān)器的廣泛需求,提出了一種數(shù)字互相關(guān)運 算的高效實現(xiàn)方案。該系統(tǒng)由多參考時鐘控制,用RAM、乘法器、加法器等一些簡單而 少量的資源實現(xiàn)原本硬件實現(xiàn)十分龐雜的相關(guān)算法,其各部分可用現(xiàn)場可編程門陣列 (FPGA)構(gòu)建,極大的減少了硬件資源消耗,降低成本,同時提高運算速度,具有廣泛 的適用性和實用價值。
本發(fā)明的技術(shù)方案
接收序列的第一個數(shù)與參考序列的所有數(shù)的共軛進(jìn)行復(fù)數(shù)的乘法運算,其結(jié)果分實部 和虛部分別存入兩個RAM的第一個地址至第N (序列長度)個地址;第二個數(shù)如法炮制其 結(jié)果與RAM中第二個地址至第N+1個地址的己存數(shù)據(jù)相加再將結(jié)果存入其中;依此類推, 第k個數(shù)與參考序列共軛相乘后,乘積結(jié)果與RAM中第k個地址至第k+N-1個地址的已 存數(shù)據(jù)相加再存入其中。這樣,接收完N個數(shù)后,RAM中的最終數(shù)據(jù)即為互相關(guān)運算的結(jié) 果。系統(tǒng)中不同級別處理速度的操作由不同頻率的參考時鐘控制,接收數(shù)據(jù)的控制時鐘頻 率相對最低,控制參考數(shù)據(jù)產(chǎn)生的時鐘頻率高于接收數(shù)據(jù)的時鐘,存取乘積結(jié)果的RAM的 控制時鐘最高。本發(fā)明的有益效果
本發(fā)明設(shè)計了一種高效的數(shù)字互相關(guān)器,用極少的乘法器和很小的存儲空間等實現(xiàn)原 本硬件實現(xiàn)十分龐雜的互相關(guān)運算,多時鐘以及隨加隨存的設(shè)計極大的減少了硬件資源消 耗,降低成本,同時提高了運算速度,適用于通信等信號處理領(lǐng)域。
圖1是數(shù)字互相關(guān)器的工作原理示意圖
圖2是數(shù)字互相關(guān)器的結(jié)構(gòu)框圖 圖3是復(fù)數(shù)乘法部分的結(jié)構(gòu)框圖 圖4是實數(shù)互相關(guān)器的結(jié)構(gòu)框圖
具體實施例方式
以下結(jié)合附圖和通過實施例對本發(fā)明的具體實施方式
作進(jìn)一步說明 這種高效的數(shù)字互相關(guān)器可以對由復(fù)數(shù)組成的實時接收序列與由復(fù)數(shù)組成的己知參 考序列算互相關(guān)。其特征在于本方法包括以下步驟
a. 接收序列的數(shù)據(jù)逐個與己知參考序列的共軛相乘;
b. 將上述乘積序列逐個與隨機存取存儲器(RAM)中相應(yīng)地址的值相加,所得結(jié)果
再存入該地址。
步驟a中復(fù)數(shù)接收序列的實部與虛部并行傳輸,其參考時鐘為與數(shù)據(jù)傳輸速率相同 的CLK1,修改CLK1的占空比為1/m。
步驟a中需要構(gòu)建兩個容量為MXN的只讀存儲器ROM1和ROM2,將已知參考序列的 實部依次儲存在ROM1中,虛部的共軛依次存儲在ROM2中,其參考時鐘為CLK2, CLK2
的頻率大于等于il^倍的CLK1的頻率,修改CLK2的占空比為1/n。其中M為數(shù)據(jù)寬度,N m-l
為接收序列與參考序列的序列長度。
步驟a中要構(gòu)建一個存放參考序列的ROM1和ROM2的公共地址發(fā)生器。該地址發(fā)生器 由長度為N的計數(shù)器構(gòu)成,由CLK2上升沿控制計數(shù)。該計數(shù)器的復(fù)位和開始計數(shù)由CLK1 的電平控制,CLK1為高電平時,對該計數(shù)器復(fù)位,CLK1為低電平時,計數(shù)器開始計數(shù), 計數(shù)器記滿N個數(shù)后等待。
步驟a中每當(dāng)接收進(jìn)一個數(shù)據(jù)時,參考序列由地址發(fā)生器控制從ROM中依次讀出N個數(shù) 據(jù),并依次與該接收數(shù)據(jù)進(jìn)行復(fù)數(shù)的乘法運算,乘積為復(fù)數(shù),則可得到一個長度為N的乘 積序列,接收進(jìn)N個數(shù)據(jù),就有N個這樣的乘積序列。
對于復(fù)數(shù)乘法運算,其特征在于此方法又可分為以下步驟a. 構(gòu)建四個無符號數(shù)乘法器,分別為乘法器1,乘法器2,乘法器3,乘法器4;
b. 提取出接收數(shù)據(jù)實部虛部的符號位以及和參考數(shù)據(jù)的實部虛部的符號位,分別為符 號位1,符號位2,符號位3,符號位4;
c. 將去除符號位后的接收數(shù)據(jù)實部和參考數(shù)據(jù)實部送入乘法器1相乘,接收數(shù)據(jù)虛部 和參考數(shù)據(jù)虛部送入乘法器2相乘,接收數(shù)據(jù)實部和參考數(shù)據(jù)虛部送入乘法器3相乘,接收 數(shù)據(jù)虛部和參考數(shù)據(jù)實部送入乘法器4相乘;
d. 將符號位分別加入四個相乘結(jié)果,其中相乘結(jié)果1的符號位由符號位1、 3決定,相 乘結(jié)果2的符號位由符號位2、 4決定,相乘結(jié)果3的符號由符號位1、 4決定,相乘結(jié)果4的 符號位由符號位2、 3決定;
e. 構(gòu)建一個有符號數(shù)加法器和一個有符號數(shù)減法器;
f. 將相乘結(jié)果1和2送入減法器相減得到復(fù)數(shù)乘法結(jié)果的實部,相乘結(jié)果3和4送入加法 器相加得到復(fù)數(shù)乘法結(jié)果的虛部。
步驟b中需要構(gòu)建兩個容量為MX(2N-1)的RAM1和RAM2,其參考時鐘為CLK3, CLK3
的頻率大于等于^倍的CLK2的頻率。 n-1
步驟b中需要構(gòu)建兩個有符號數(shù)加法器,分別為加法器1和加法器2。 歩驟b中需要構(gòu)建一個RAM1和RAM2的公共控制器,用于控制地址發(fā)生和寫使能。其 地址發(fā)生功能由兩個長度為N的計數(shù)器實現(xiàn),分別為計數(shù)器1和計數(shù)器2。計數(shù)器1由CLK1 上升沿控制,其數(shù)值表示的是乘積序列與RAM中數(shù)相加再存入的起始地址。計數(shù)器2由 CLK2上升沿控制,其數(shù)值表示的是乘積序列中數(shù)據(jù)的序號。RAM地址即為計數(shù)器1的數(shù)值 與計數(shù)器2的數(shù)值的和。每接收進(jìn)一個數(shù)據(jù),即CLK1上升沿到來,計數(shù)器1加一。計數(shù)器2 的復(fù)位和開始計數(shù)由CLK1的電平控制,CLK1為高電平時,計數(shù)器2復(fù)位;CLK1為低電平 時,計數(shù)器2計數(shù),待計數(shù)器2記滿N個數(shù)后等待。RAM的寫使能由一個長度為3的計數(shù)器3 控制,其由時鐘CLK3上升沿控制。計數(shù)器3的復(fù)位和開始計數(shù)由CLK2的電平控制,每過來 一個乘積數(shù)據(jù),CLK2為高電平時,計數(shù)器3復(fù)位;CLK2為低電平時,計數(shù)器3計數(shù),待計 數(shù)器3記滿3個數(shù)后等待。當(dāng)計數(shù)器3記第一個數(shù)時,寫使能禁止,此時讀出RAM相應(yīng)地址 的數(shù)據(jù)送到有加法器與乘積數(shù)據(jù)相加;當(dāng)計數(shù)器3記第二個數(shù)時,寫使能有效,此時將相加 結(jié)果再寫入同一地址的RAM;當(dāng)計數(shù)器3記第三個數(shù)時,寫使能禁止。
歩驟b中包括兩個有符號數(shù)加法器級聯(lián)RAM的結(jié)構(gòu)。RAM1的輸出端接回加法器1的一 個輸入端,加法器1另一個輸入端接乘積結(jié)果的實部,RAM2的輸出端接回加法器2的一個 輸入端,加法器2另一個輸入端接乘積結(jié)果的虛部,.從而實現(xiàn)乘積序列實部和虛部的累加并存儲的功能。
步驟b中當(dāng)?shù)趉個(1《k《N)接收數(shù)據(jù)與己知參考序列相乘得到第k個乘積序列時,其數(shù)據(jù) 實部和虛部逐個進(jìn)入加法器級聯(lián)RAM的結(jié)構(gòu),與RAM中第k個至第k+N-1個地址的數(shù)據(jù)對應(yīng) 相加,相加結(jié)果再存入第k個至第k+N-1個地址中。當(dāng)接收完所有N個數(shù)據(jù)(k由1依次取到N) 即計數(shù)器1記滿N個數(shù)后,RAM1和RAM2中第1個地址至第2N-1個地址中存放的數(shù)據(jù)即為所 求的2N-1個相關(guān)值的實部和虛部。
實施例
本發(fā)明應(yīng)用于32QAM正交頻分復(fù)用系統(tǒng)的同步中,系統(tǒng)使用16個子載波,每幀由 1個空符號、1個PN序列和62個OFDM符號組成,數(shù)據(jù)接收頻率為24KHz。同步過程 包括幀起始位估計、符號定時、小數(shù)頻偏估計與補償、整數(shù)頻偏估計與補償?shù)?。其中?用PN序列來估計整數(shù)頻偏,在發(fā)送端的頻域中加入PN序列,經(jīng)過IFFT后變換到時域 進(jìn)行傳輸,經(jīng)過信道產(chǎn)生頻偏,接收端將其再做FFT變換到頻域,將變換后得到的接收 PN序列與已知PN序列本地副本算互相關(guān),看頻域中PN序列循環(huán)移位的位數(shù),根據(jù)數(shù) 字信號處理中的循環(huán)移位定理即可判定時域中的整數(shù)頻偏。'這里,PN序列本地副本選用 巴克碼的復(fù)數(shù)域變形形式,如果沒有整數(shù)頻偏,算得的最大互相關(guān)值位置應(yīng)該在中間, 如果有了整數(shù)頻偏,即可根據(jù)最大互相關(guān)值出現(xiàn)的位置來判斷頻域中移位的位數(shù)。
PN本地副本為[+1,+i,-1,-i,+1,-i,+1,-i,+1,-i,-1,+i,+1,0,0,0],序列長度為16。 A/D選用 5倍過采樣,采樣頻率為120KHz,則PN本地副本序列長度為80,即80個數(shù)與80個 數(shù)算互相關(guān)。接收數(shù)據(jù)量化后寬度為5bits,本地PN副本數(shù)據(jù)寬度為2bits。接收CLK1 為采樣頻率120KHz,占空比用1/4,其實現(xiàn)方法是先將占空比為1/2的時鐘二分頻,把 分頻后的和分頻前的時鐘進(jìn)行與操作,即得占空比為1/4的CLK1。 CLK2為15MHz,占 空比同為1/4。 CLK3為60MHz。
構(gòu)建兩個2bitsx 128words的ROM,用前80個位置存放80個PN本地參考序列的 實部和虛部。其地址發(fā)生器中計數(shù)器長度為80。
將接收的數(shù)據(jù)逐個與80個本地PN數(shù)據(jù)相乘。注意,此處復(fù)數(shù)乘法中的無符號數(shù)乘 法器可以簡化,因為其中一個乘數(shù),即本地序列的幅值非O即1,所以可用一個二選一數(shù) 字選擇器代替。
Matlab仿真可得互相關(guān)值最大數(shù)據(jù)寬度為9bits,所以構(gòu)建兩個容量為9bitsX 256words的RAM1和RAM2,用前159個位置存放159個相關(guān)值。其控制器中兩個計 數(shù)器的長度分別為80和3。
按照具體實施方式
所述構(gòu)建該數(shù)字相關(guān)器,當(dāng)?shù)趉個(1《l^80展收數(shù)據(jù)與已知參考序列相乘得到第k個乘積序列時,其數(shù)據(jù)實部和虛部逐個進(jìn)入加法器級聯(lián)RAM的結(jié)構(gòu),與RAM 中第k個至第k+79個地址的數(shù)據(jù)對應(yīng)相加,相加結(jié)果再存入第k個至第k+79個地址中。當(dāng)接 收完所有80個數(shù)據(jù)(k由1依次取到80), RAM1和RAM2中第1個地址至第159個地址中存放 的數(shù)據(jù)即為所求的159個相關(guān)值的實部和虛部。
權(quán)利要求
1.數(shù)字互相關(guān)器的一種高效實現(xiàn)方案,其特征在于本方法包括以下步驟a.接收序列的數(shù)據(jù)逐個與已知參考序列的共軛相乘;b.將上述乘積序列逐個與隨機存取存儲器(RAM)中相應(yīng)地址的值相加,所得結(jié)果再存入該地址。
2. 根據(jù)權(quán)利要求1所述的數(shù)字互相關(guān)器,其特征在于該數(shù)字互相關(guān)器可以對由復(fù) 數(shù)組成的實時接收序列與由復(fù)數(shù)組成的己知參考序列算互相關(guān)。采用多參考時鐘來控制, 高速時鐘所控制的計數(shù)器的復(fù)位由低速時鐘的高電平觸發(fā),其計數(shù)開始由低速時鐘的低 電平使能。
3. 根據(jù)權(quán)利要求1所述的數(shù)字互相關(guān)器,其特征在于步驟a中復(fù)數(shù)接收序列的實 部與虛部并行傳輸,其參考時鐘為與數(shù)據(jù)傳輸速率相同的CLK1,占空比為1/m。
4. 根據(jù)權(quán)利要求1所述的數(shù)字互相關(guān)器,其特征在于步驟a中需要構(gòu)建兩個容量為M XN的只讀存儲器ROM1和ROM2,將己知參考序列的實部依次儲存在ROM1中,虛部的共軛依次存儲在ROM2中,其參考時鐘為CLK2, CLK2的頻率大于等于,倍的CLK1的頻率,m-lCLK2的占空比為1/n。其中M為數(shù)據(jù)寬度,N為接收序列與參考序列的序列長度。
5. 根據(jù)權(quán)利要求1所述的數(shù)字互相關(guān)器,其特征在于步驟a中要構(gòu)建一個存放參考序 列的ROM1和ROM2的公共地址發(fā)生器。地址發(fā)生器由長度為N的計數(shù)器構(gòu)成,由CLK2上 升沿控制計數(shù)。
6. 根據(jù)權(quán)利要求1所述的數(shù)字互相關(guān)器,其特征在于步驟b中需要構(gòu)建兩個容量為MX(2N-1)的RAM1和RAM2,其參考時鐘為CLK3, CLK3的頻率大于等于"^倍的CLK2的n-l頻率。
7. 根據(jù)權(quán)利要求1所述的數(shù)字互相關(guān)器,其特征在于步驟b中需要構(gòu)建一個RAM1和 RAM2的公共控制器,用于控制地址發(fā)生和寫使能。其地址發(fā)生功能由兩個長度為N的計數(shù) 器實現(xiàn),分別為計數(shù)器1和計數(shù)器2。計數(shù)器1由CLK1上升沿控制,其數(shù)值表示的是乘積序 列與RAM中數(shù)相加再存入的起始地址。計數(shù)器2由CLK2上升沿控制,其數(shù)值表示的是乘積 序列中數(shù)據(jù)的序號。RAM地址即為計數(shù)器1的數(shù)值與計數(shù)器2的數(shù)值的和。RAM的寫使能由 一個長度為3的計數(shù)器3控制,其由時鐘CLK3上升沿控制。當(dāng)計數(shù)器3記第一個數(shù)時,寫使 能禁止,此時讀出RAM相應(yīng)地址的數(shù)據(jù)送到有加法器與乘積數(shù)據(jù)相加;當(dāng)計數(shù)器3記第二 個數(shù)時,寫使能有效,此時將相加結(jié)果再寫入同一地址的RAM;當(dāng)計數(shù)器3記第三個數(shù)時, 寫使能禁止。
8. 根據(jù)權(quán)利要求1所述的數(shù)字互相關(guān)器,其特征在于步驟b中包括兩個有符號數(shù)加法 器級聯(lián)RAM的結(jié)構(gòu)。兩個有符號數(shù)加法器分別為加法器1和加法器2。 RAM1的輸出端接回 加法器1的一個輸入端,加法器1另一個輸入端接乘積結(jié)果的實部,RAM2的輸出端接回加 法器2的一個輸入端,加法器2另一個輸入端接乘積結(jié)果的虛部,從而實現(xiàn)乘積序列實部和 虛部的累加并存儲的功能。
9. 根據(jù)權(quán)利要求1所述的數(shù)字互相關(guān)器,其特征在于步驟b中當(dāng)?shù)趉個(1《k《N)接收 數(shù)據(jù)與已知參考序列相乘得到第k個乘積序列時,其數(shù)據(jù)實部和虛部逐個進(jìn)入加法器級聯(lián) RAM的結(jié)構(gòu),與RAM中第k個至第k+N-1個地址的數(shù)據(jù)對應(yīng)相加,相加結(jié)果再存入第k個至 第k+N-1個地址中。當(dāng)接收完所有N個數(shù)據(jù)(k由1依次取到N)即計數(shù)器1記滿N個數(shù)后, RAM1和RAM2中第1個地址至第2N-1個地址中存放的數(shù)據(jù)即為所求的2N-1個相關(guān)值的實 部和虛部。
全文摘要
本發(fā)明以探求信號處理中普遍存在的接收序列與已知參考序列的相似性為背景,提出了一種數(shù)字互相關(guān)運算的高效硬件實現(xiàn)方案。其主要思想是使接收序列的第一個數(shù)與參考序列的所有數(shù)的共軛算乘法,其結(jié)果存入隨機存取存儲器(RAM),第二個數(shù)如法炮制其結(jié)果與RAM中相應(yīng)位置的已存數(shù)據(jù)相加再存入其中,N(序列長度)次同樣的操作后RAM中的最終數(shù)據(jù)即為互相關(guān)運算的結(jié)果,不同級別處理速度的操作由不同頻率的參考時鐘控制,該設(shè)備可用現(xiàn)場可編程門陣列(FPGA)構(gòu)建。整個系統(tǒng)用極少的乘法器和很小的存儲空間實現(xiàn)原本硬件實現(xiàn)十分龐雜的互相關(guān)運算,多時鐘以及隨加隨存的設(shè)計極大的減少了硬件資源消耗,降低成本,同時提高了運算速度,適用于通信等信號處理領(lǐng)域中復(fù)數(shù)序列的互相關(guān)運算。
文檔編號G06F17/15GK101408871SQ200710059838
公開日2009年4月15日 申請日期2007年10月12日 優(yōu)先權(quán)日2007年10月12日
發(fā)明者虹 吳, 戈立軍, 袁佳杰, 譚衛(wèi)毅 申請人:南開大學(xué)