0 引 言
眾所周知,在二元域、有限域以及復(fù)數(shù)域都不存在理想的地址碼,如m序列、Gold序列以及Walsh碼的相關(guān)性都不理想,這使得采用傳統(tǒng)擴頻碼的CDMA系統(tǒng)是一個自干擾系統(tǒng),需要采用聯(lián)合檢測技術(shù)、智能天線技術(shù)以及更復(fù)雜的功率控制技術(shù)來抵抗ISI(碼間干擾)、MAI(多址干擾)以及ACI(鄰小區(qū)干擾)。LS(Loose Synchronized)碼是由李道本教授發(fā)明的新型地址碼,它利用互補碼特性突破了Welch界的限制,構(gòu)造出了具有零相關(guān)特性的地址碼。只要“零相關(guān)窗”覆蓋了多徑時延,那么ISI和MAI都是不存在的。這樣就將一個傳統(tǒng)的通信系統(tǒng)從干擾受限轉(zhuǎn)換為噪聲受限系統(tǒng),也就是說,整個系統(tǒng)只受到噪聲的干擾,而且具有很高的頻譜效率和數(shù)據(jù)傳輸速率。無需聯(lián)合檢測技術(shù)和智能天線技術(shù),只需簡單的功率控制技術(shù),因此可以說,LS碼是一項突破性的技術(shù)。
今天,FPGA在消費、汽車和工業(yè)領(lǐng)域的應(yīng)用經(jīng)歷了爆炸式的增長,F(xiàn)PGA可以用于軟件無線電、雷達、影像、片上系統(tǒng)(SoC)和其他數(shù)字信號處理領(lǐng)域。LS碼在FPGA中實現(xiàn)擴頻和解擴不僅具有很高的靈活性而且還有較好的數(shù)據(jù)傳輸可靠性,本文首先簡單介紹了LS碼的概念和構(gòu)造原理,然后詳細介紹了LS碼擴頻和解擴在工程上的實現(xiàn)。
1 LS碼的構(gòu)造和性質(zhì)
LS碼由C碼和S碼構(gòu)成,圖1是LS碼的樹形構(gòu)造法,除了樹形結(jié)構(gòu)生成方法外,還有多項式生成法、與聯(lián)合檢測相結(jié)合的組間零相關(guān)窗LS碼構(gòu)造法以及Kronecker內(nèi)積法等,這些方法所生成的LS碼都具有零相關(guān)窗的特性。
C碼和S碼各自的自相關(guān)值和互相關(guān)值在一定范圍內(nèi)大小相等、極性相反,因此它們的和在這個范圍內(nèi)為0,通常把相關(guān)值為零的范圍稱為“零相關(guān)窗”,在零相關(guān)窗內(nèi)各地址碼的自相關(guān)函數(shù)及互相關(guān)函數(shù)沒有副峰。
LS碼的自相關(guān)特性如圖2所示,從圖中可以看出,LS碼的自相關(guān)的副峰值除了原點外處處為0。由于LS碼的特性,任意兩個碼字之間的“零相關(guān)窗”長度并不相同。圖3是LS碼的互相關(guān)特性,可以看出,LS碼的互補互相關(guān)性在原點周圍的一定范圍內(nèi)為0,這個范圍也就是所謂的“零相關(guān)窗”,所選的兩個LS碼字的“零相關(guān)窗”長度為127。
2 LS碼在FPGA中的實現(xiàn)
和一般的FPGA開發(fā)過程一樣,LS碼在FPGA中的實現(xiàn)需要經(jīng)過可行性分析、算法驗證、設(shè)計輸入、仿真和下載測試幾個過程。針對某個軟件無線電平臺的要求,可以合理地設(shè)計碼速率和碼長,擴頻前的碼速率為64 Kb/s,C碼和S碼的長度都為16,擴頻后的碼速率為1.024 Mb/s。
2.1 LS碼的實現(xiàn)算法
為了提高FPGA的處理效率,采用查找表的形式,首先生成了長度為16的C碼和S碼,生成碼的算法是基于圖1的樹形結(jié)構(gòu),C碼和S碼關(guān)系為:
式中:n為C碼和S碼每一位的位置編號,N為碼長。表1是所生成的長度為16,個數(shù)也為16的C碼。S碼可以根據(jù)式(1)求得,限于篇幅,這里不再單獨列出,實驗中只選取了表1中序號為1的一組C碼和相應(yīng)的S碼作為查找表使用。
2.2 設(shè)計輸入和仿真
FPGA的設(shè)計輸入有多種表達方式,最常用的是原理圖方式和HDL文本方式,這里采用的是混合輸入方式,首先采用Verilog HDL的文本輸入方式將算法做成模塊,然后再通過原理圖的方式定義連接和接口,這樣不僅使得邏輯描述性、可重用性和移植性強,而且使得接口描述和連接關(guān)系清晰、直觀。圖4是所設(shè)計的原理圖結(jié)構(gòu),為了表示清楚,只截取了C碼的擴頻和解擴模塊,其中spread C_part是C碼的擴頻模塊,Baud_parr和serial_out模塊的輸出分別為并行輸出和串行輸出,這樣做的目的是為了方便之后其他算法功能模塊的輸入,如果后面要加入例如調(diào)制、波形成型之類的模塊,就可以方便地選擇并行輸入或者串行輸入,提高了設(shè)計的靈活性。receiveC_parr為C碼的并行解擴模塊,這里只考慮了對Baud_parr所輸出的并行數(shù)據(jù)進行解擴,這樣能提高接收端的處理效率。輸入端口SCLK為32.768 MHz的時鐘,輸出端口SERIAL C為seri al_out模塊的串行輸出,Cout為receiveCparr模塊的解擴輸出。
在設(shè)計中,spreadC_part模塊的擴頻輸出速率并不是所需的碼速率,而是經(jīng)過Baud_parr和serial_out模塊后再構(gòu)成所需的碼速率。
當完成設(shè)計輸入后,就需要對所設(shè)計的算法進行時序仿真,驗證算法的正確性。圖5的時序圖是采用ModelSim對C碼的擴頻模塊spreadC_part、擴頻的并行輸出模塊Baud_parr、串行輸出模塊serial_out以及并行解擴模塊receiveC_parr所進行的仿真時序。如圖5所示,Baud16x是一個1.024 MHz的時鐘,INDATA是速率為64 Kb/s的輸入碼元、D C(15:0)為spreadC_part模塊輸出的擴頻數(shù)據(jù)。注意到此時的D_c(15:0)為總線結(jié)構(gòu)的16位數(shù)據(jù),速率為Baud16x/8=128 Kb/s,在空閑時刻輸出的都是0,這個數(shù)據(jù)輸入到Baud_parr模塊和seriaI_out模塊。SC(15:0)和SERIAL_C分別對應(yīng)這兩個模塊的并行輸出和串行輸出??梢钥闯鯯C(15:0)是16位總線數(shù)據(jù),速率為1.024 Mb/s,SERIAL_C的串行數(shù)據(jù)速率也為1.024.Mb/s。Cout為將SC(15:0)的并行數(shù)據(jù)解擴后恢復(fù)出來的碼元,可以看出,Cout正確地恢復(fù)出了IN-DATA的碼元。
3 FPGA的下載測試
完成了設(shè)計輸入和仿真后,就可以進行FPGA的下載測試,所針對的是基于Xilinx Spartan2S-300E的FPGA芯片的硬件環(huán)境。圖6~圖8是使用FLUKE199C型示波器觀測到的波形。其中,圖6是C碼和S碼分別擴頻后的串行模塊serial_out輸出,圖中的每一虛線單元格對應(yīng)10 μs,可以粗略算出此時的串行速率大約為1 Mb/s,與所需1.024 Mb/s基本吻合。
圖7和圖8分別是C碼和S碼解擴后的輸出與原始的數(shù)據(jù)碼元IN的比較,可以大致估算出Cout和Sout的數(shù)據(jù)速率大約為64 Kb/s,測試結(jié)果表明所設(shè)計正確,硬件平臺運行穩(wěn)定。
4 結(jié) 語
本文通過對LS碼在FPGA中的實現(xiàn)進行了研究,介紹了LS碼的構(gòu)造和相關(guān)性,主要介紹了LS碼構(gòu)造的算法驗證,F(xiàn)PGA的設(shè)計輸入、仿真以及下載測試,仿真和測試的結(jié)果表明所設(shè)計的輸出正確,達到了預(yù)期的目的。今后的工作主要包括LS碼在FPGA中的調(diào)制、解調(diào)、同步等算法的實現(xiàn)。
北京2022年10月18日 /美通社/ -- 10月14日,國際數(shù)據(jù)公司(IDC)發(fā)布《2022Q2中國軟件定義存儲及超融合市場研究報告》,報告顯示:2022年上半年浪潮超融合銷售額同比增長59.4%,近5倍于...
關(guān)鍵字: IDC BSP 數(shù)字化 數(shù)據(jù)中心東京2022年10月18日 /美通社/ -- NIPPON EXPRESS HOLDINGS株式會社(NIPPON EXPRESS HOLDINGS, INC.)旗下集團公司上海通運國際物流有限公司(Nipp...
關(guān)鍵字: 溫控 精密儀器 半導(dǎo)體制造 BSP