基于Cyclone Ⅲ的CCK調(diào)制、解調(diào)全新電路研究與實現(xiàn)
補碼鍵控CCK是應用于IEEE802.11b中物理層的調(diào)制方式。在無線局域網(wǎng)通信中,它支持兩種速率5.5 Mb/s和11 Mb/s。CCK的碼字有很強的位置對稱性和良好的自相關特性,可以很好地克服多徑干擾,所以在雷達和通信中都得到了很好的應用。在數(shù)字通信領域,補償碼被廣泛用于正交頻分復用OFDM(Or-thogonal Frequency Division Multiplex)、多接入和多信道通信等場合。本文將CCK電路應用于差分型碼分多址通信系統(tǒng)中。
1 補償碼序列
1.1 補償碼序列的定義
關于互補碼(或叫互補序列)的概念,最早由MJE.Golay提出。隨后,互補碼又被Tseng和Liulz擴展為互補序列集。之后,多相互補碼的概念又相繼由sivaswamy和Frank等提出。所謂的互補序列(comPlementaryseries)指一對由兩種元素構成的等長有限序列,對于任何給定的間隔,在一個序列中相同元素的對數(shù)與另一個序列中采用相同間隔方式得到的不相同元素的對數(shù)相等。
互補序列對的特性中,除了零點之外,他們的非周期自相關矢量和為0,也就是零點有峰值。比如有兩個序列,其元素分別為ai和bi(i=1,2,…,n),其ai元素的非周期自相關函數(shù)Cj及bi元素的非周期自相關函數(shù)Dj為:
式中:若n表示元素的個數(shù),那么序列{ai}和{bi}就構成互補序列對。
1.2 多相互補碼
對于包含K個碼字的碼集{S1k,S2k,…,SNk},N是碼字長度,k=1,2,…,K,Sik表示碼集中碼長為i的碼字,其非周期自相關為,這里j表示偏移量;*表示共軛,Si+j*是Si+j的共軛。
對于滿足式(3)的碼集就稱之為互補序列集。
如果碼字的相位是四相或是多相的,那么就得到了多相互補碼,即碼字中的元素Sik=ejφi。其中,ejφi是個復數(shù),φi表示相位。同樣地,多相互補碼序列的自相關向量也必須滿足式(3)。CCK碼其實就是一種四相補償碼序列。
2 CCK
2.1 CCK碼字定義
IEEE802.11b中規(guī)定,CCK中的碼字序列是一長度為8個碼片(chip)的補碼,CCK碼的數(shù)據(jù)率可以達到11 Mb/s和5.5 Mb/s的高速。它的擴頻公式可以用下面的等式表示:
式中:C表示傳輸碼字。觀察式(4)可以看出,它每項都有一個公共部分eiφ1。φi(i=l,2,3,4)表示相位,可以將此公共部分提取出,并得到:
由此可見,復數(shù)碼字的調(diào)制是通過φ1對所有復數(shù)碼片進行相位調(diào)制來實現(xiàn)的。式(4)中,C={C0,C1,C2,C3,C4,C5,C6,C7};Ci(i=0,1,…,7)表示傳輸?shù)臄?shù)據(jù),其中C0是最低位。其中的相位參數(shù)φi∈{0,π/2,π,3π/2}(i=1,2,3,4),所以它對應的碼字中每個元素的可能值是{1,-1,j,-j)。
當傳輸速率為5.5 Mb/s時,每一CCK序列傳遞4 b信息。此時,將輸入數(shù)據(jù)分為每4 b一組,并設其為d0,d1,d2和d3;d4(i=0,1,2,3)表示傳輸?shù)臄?shù)據(jù),傳輸順序則為d0~d3,即D=(d0,d1,d2,d3)。這4 b數(shù)據(jù)可決定16個CCK序列,其中d0和d1決定φ1的相位,按DQPSK編碼進行調(diào)制,如表1所示。
其中,相位φ2,φ3,φ4由b2和b3根據(jù)下面式子決定:
對于傳輸速率為11 Mb/s的CCK編碼調(diào)制,首先將發(fā)送的串行數(shù)據(jù)以字節(jié)為單位進行分割,每8個數(shù)據(jù)比特D=(d0,d1,d2,d3,d4,d5,d6,d7)=(D1,D2)編碼調(diào)制成一個傳輸碼字C。其中,di(i=0,1,…,7)表示傳輸?shù)臄?shù)據(jù),對D1=(d0,d1)按表1進行DQPSK編碼調(diào)制,得到相位φ1;對D2=(d2,d3,d4,d5,d6,d7)的比特對(d2,d3),(d4,d5),(d6,d7)分別按表2進行QPSK編碼調(diào)制,得到相位φ2,φ3,φ4。
在11 Mb/s的CCK編碼調(diào)制中,每個復數(shù)碼片(chip)可能有四種相位,8個復數(shù)碼片(chip)則可構成65 536個可能的碼字。實際使用的CCK碼字只有256個,如果不考慮對整個碼字的旋轉(zhuǎn),則只有64個碼字。這64個碼字是從65 536個碼字中挑選出來的,它們有良好的互相關特性(近似于零),是近似正交的。下面簡要地說明一個典型碼字的產(chǎn)生。如果CCK編碼調(diào)制的傳輸速率為11 Mb/s,它發(fā)送的數(shù)據(jù)(d0,d1,d2,d3,d4,d5,d6,d7)=(1O110001)。那么按照表1和表2的相位調(diào)制方式,d0,d1=10,即φ1=3π/2;d2,d3=11,即φ2=3π/2;d4,d5=00,即φ3=0;d6,d7=01,即φ4=π/2。將這些相位參數(shù)代入式(4)中可得,C=(ei3π/2,ei0,ei3π/2,-ei0,eiπ,ei3π/2,-eiπ,ei3π/2),簡化為復數(shù)碼字,C={-j,1,-j,-1,-1,-j,1,-j)。
2.2 CCK的調(diào)制
對于數(shù)據(jù)速率為11 Mb/s的CCK來說,其調(diào)制框圖如圖1所示。
由圖1可知,輸入的比特流首先被劃分成8個比特一組。每組中的高6位(d7,d6,…,d2)用來從基本碼字庫(共有64個CCK碼字)中惟一選取一個CCK碼字。之后,再用前2個比特(d0,d1)來確定φ1,并將對其產(chǎn)生的碼字進行DQPSK調(diào)制,最后產(chǎn)生I,Q兩路調(diào)制信號,完成CCK擴頻調(diào)制。
CCK實現(xiàn)的原理圖如圖2所示。這個模塊由兩大部分組成,數(shù)據(jù)流1:8串并轉(zhuǎn)換模塊和CCK調(diào)制模塊。
CCK調(diào)制的具體實現(xiàn)如上文所述,其仿真結果如圖3所示。
2.3 CCK的解調(diào)
2.3.1 最大似然解碼
在對CCK的進行解調(diào)時,一般可采用最大似然解碼器對碼字進行解碼,這里的最大似然(ML)解碼器是利用CCK碼字的良好的互相關特性,將接收到的受到噪聲干擾的碼字與64個可能的碼字進行相關運算,然后比較得到64個相關結果,并找出其中幅度值最大的那一個,由此對碼字作出判決。
設接收到的CCK碼字為C'={C0,C1,C2,C3,C4,C5,C6,C7};Ci(i=0,1,…,7)表示接收到的數(shù)據(jù),將其與所有碼字進行相關運算,則R=C'C*,C*是C的共軛,C是發(fā)送端的碼字,則:
式中:θi(i=1,2,3,4)表示角度;θ1~θ4遍歷{0,π/2,π,3π/2}。由式(7)可知,只有當θ2=φ2,θ3=φ3,θ4=φ4時,相關值會獲得最大值,為8,并由此解調(diào)出d7~d0的值。
2.3.2 新的解碼方法——選擇部分解碼
通過上述內(nèi)容可以看出,如果對調(diào)制后的CCK碼字C'={C0,C1,C2,C3,C4,C5,C6,C7)中的每一位進行相關運算,并且在對每一位進行運算時,又對其中的θ1~θ4都進行遍歷{0,π/2,π,3π/2)的話,解調(diào)過程將是一個很復雜而又繁瑣的過程,同時它所帶來的計算量也將是巨大的。所以,這里提出一種全新的CCK解調(diào)方案。
這種全新的解調(diào)方案不像傳統(tǒng)的解調(diào)方案那樣對每個CCK調(diào)制后的碼字進行相關運算,再根據(jù)相關值最大來判斷出相應的CCK碼,而是只對部分的調(diào)制后的CCK碼字進行相關運算,并根據(jù)相關最大值解調(diào)出全部的CCK碼。
通過觀察式(7)可以看到,調(diào)制后的碼字C'={C0,C1,C2,C3,C4,C5,C6,C7},其中的C7與e-iθ1進行相關運算,根據(jù)最大峰值在相關結果中的位置,可確定θ1的值,也即解調(diào)出了φ1(φ1=θ1),然后再按照表1來確定d0,d1。碼字C中G是與一e“q。。吃’進行相關運算的,如果其中臼。的值已經(jīng)確定,那么可以在島為定值的情況下,根據(jù)相關解調(diào)的方法,確定島的值;同理,G是與e’。∞t。如’進行相關運算的,G是與一e-“q也’進行相關運算的,可以通過類似C6的解調(diào)方法來確定夙,亂的值,由此也即知道了仰,仲,鉚的值(島一仇,晚一卿,亂一似),最后根據(jù)表2得到d。~d,的值。與其他的ccK解調(diào)方案相比,這種解調(diào)方案很好地簡化了計算過程,也減少了計算的工作量。圖4是解調(diào)部分的圖形表示。
CCK解調(diào)實現(xiàn)的原理圖如圖5所示。這個模塊由ccK解調(diào)模塊和并串模塊兩大部分組成。
經(jīng)過CCK解調(diào),得到8位并行數(shù)據(jù),再經(jīng)由并/串轉(zhuǎn)換轉(zhuǎn)換成串行數(shù)據(jù)輸出。
3 結 語
研究了補碼序列的定義和性質(zhì),并對CCK調(diào)制和解調(diào)原理進行了分析,提出了更為簡便、新穎的CCK調(diào)制解調(diào)方法,該方法降低了計算的復雜度,同時也大大減少了計算的工作量。本文還將該方法運用VerilogHDL硬件描述語言,通過QuartusⅡ7.2進行了功能仿真和時序仿真,同時還利用Altera公司最新的Cy-clone Ⅲ芯片EP3C25F324C8NES予以實現(xiàn)。CycloneⅢ前所未有地同時實現(xiàn)了低功耗、低成本和高性能。CycloneⅢ的系統(tǒng)最高頻率為505.05 MHz,I/O腳最高頻率為379.36 MHz,而類似型號的CycloneⅡ,Cyclone工的系統(tǒng)最高頻率分別為490.68 MHz和404.53 MHz,I/O腳最高頻率分別為91.76 MHz和204.25 MHz,CycloneⅢ的這一特性提高了系統(tǒng)的性能。同時該方案的實現(xiàn)只需用到97個邏輯單元,對CycloneⅢ總邏輯單元,其使用率為0.34%,而類似型號的CycloneⅡ,Cyclone I芯片的邏輯單元,其使用率分別為0.52%和0.48%。由此可見,這種全新方案節(jié)省了硬件資源,提高了CCK調(diào)制、解調(diào)的速率,簡化了計算過程,減少了計算量,同時Verilog HDL語言的運用,也增加了描述的靈活性和高效性。