擴頻通信系統(tǒng)CCSK信息調制解調算法設計
引言
在直序擴頻系統(tǒng)中,Nbit擴頻碼只能代表1bit信息,例如發(fā)射方發(fā)送32bit的擴頻碼,接收方經過相關解擴處理后得到的有效信息為1bit,信息速率為碼速率的1/32。而通過循環(huán)移位鍵控(CCSK)信息編碼,就可以用Nbit擴頻碼代表K位信息,即(N,K)編碼。在采用32bit擴頻碼的系統(tǒng)中,通過CCSK編碼將原始擴頻碼循環(huán)移位產生32種不同的擴頻碼,發(fā)射方通過發(fā)送原始擴頻碼的32種不同循環(huán)碼可以代表5bit有效數(shù)據(jù),這樣的編碼方式可以使32bit碼流攜帶5bit信息,因此,在碼速率不變的前提下,可比采用直序擴頻數(shù)據(jù)調制的信息速率提高5倍,同樣,接收方通過CCSK的相關處理,可以解調出5bit信息。
1 CCSK信息調制算法設計
所謂CCSK信息編碼,就是通過軟件算法或硬件電路計算將預發(fā)射數(shù)據(jù)向對應擴頻碼轉換。CCSK編碼可以通過數(shù)據(jù)映射表產生,也可以通過邏輯電路實時計算產生。
通過CCSK數(shù)據(jù)映射表實現(xiàn)CCSK編碼,其信息轉換速率較高、處理操作較少,但需要的硬件資源較多,尤其是對于需要快速切換擴頻碼的抗干擾系統(tǒng),其較大的擴頻碼集合,需要制作大量對應的CCSK碼表,因此,映射表法比較適合通過處理器(DSP)軟件計算產生。而實時計算實現(xiàn)CCSK編碼,其資源消耗較少,但處理操作較多。為提高其轉換速率,降低轉換時間,應通過FPGA設計相應邏輯電路來實現(xiàn)。下面以32bit擴頻碼通信為例,詳細介紹實現(xiàn)兩種CCSK編碼的設計方法。
1.1 CCSK數(shù)據(jù)映射表
通過表映射實現(xiàn)CCSK編碼時,首先要對32bit擴頻碼進行數(shù)據(jù)預處理,以產生32bit原擴頻碼的32個循環(huán)移位碼。假定一個32bit擴頻序列{a0,a1,a2,…,a29,a30,a31}通過右循環(huán)移位處理可以得到的32種不同位排列次序的數(shù)據(jù)如下:
{a0,a1,a2,…,a29,a30,a31} 循環(huán)右移 0 次帶表數(shù)據(jù) 0
{a31,a0,a1,a2,…,a29,a30} 循環(huán)右移 1 次帶表數(shù)據(jù) 1
{a30,a31,a0,a1,a2,…,a29} 循環(huán)右移 2 次帶表數(shù)據(jù) 2
……
{a1,a2,…,a29,a30,a31,a0} 循環(huán)右移 31 次帶表數(shù)據(jù) 31
那么,實現(xiàn)循環(huán)移位編碼的方式如下:
假定原信息數(shù)據(jù)為 N(0 ≤ N ≤ 31),原擴頻碼為 m(32 bit m 序列),則有 32 bit 映射擴頻碼 M 為:
M=(m>>n)&0xffffffff +( m<<(32-n)) &0xffffffff
即當原信息數(shù)據(jù)為N時,將原m序列右移N位得到的32bit數(shù)據(jù)與m序列右移32-N位得到的32bit數(shù)據(jù)相加,就可得到32bit映射擴頻碼將0~31的5bit數(shù)據(jù)代入上式,就可以得到32種M序列構建的CCSK擴頻碼映射表。對于具有L(LN0)個可選擴頻碼集合的系統(tǒng),可通過上式計算產生L個由32個元素組成的碼表。當系統(tǒng)對原數(shù)據(jù)進行編碼時,即可通過擴頻碼號L和原數(shù)據(jù)N,在碼表中提取元素號為32XL+N的映射擴頻碼。
在一個擴頻碼集合較大的系統(tǒng)中,計算產生的大量碼表需要占用較多數(shù)據(jù)存儲空間。對FPGA而言,存儲碼表所占的存儲器資源比例較大,但對某些DSP則相對較小,因此,用碼表映射方法實現(xiàn)CCSK數(shù)據(jù)編碼的方法比較適合DSP軟件處理。1.2CCSK邏輯編碼電路的實時計算
CCSK邏輯編碼電路實時計算同碼表映射具有類似的算法,不同的是通過邏輯電路實時計算不必存儲大量的預處理數(shù)據(jù),從而減少了硬件資源的消耗。其電路由兩級32bit存儲器和多路選擇器組成,其電路原理框圖如圖1所示。該電路將32bitm序列存儲在2個級聯(lián)的存儲器內成為一個64bit的序列,這樣,當輸入5bit調制數(shù)據(jù)N時,預存的64bit序列中的第N位到第N+31位輸出就是得到的32bit序列一般情況下,根據(jù)輸入的原信息數(shù)據(jù)的不同,可以得到32種不同的M序列如下:
{a0,a1,a2,…,a29,a30,a31} 原信息數(shù)據(jù) 0
{a31,a0,a1,a2,…,a29,a30} 原信息數(shù)據(jù) 1
{a30,a31,a0,a1,a2,…,a29} 原信息數(shù)據(jù) 2
… …
{a1,a2,…,a29,a30,a31,a0} 原信息數(shù)據(jù) 31
由上述可見,32種序列同軟件計算得到的M序列完全一致。通過FPGA內部的LE單元構建圖1所示的邏輯電路比較容易,而且消耗的硬件資源也較少。
數(shù)字相關器是CCSK信息解調的關鍵部件,通過相關器進行CCSK信息解調有兩種不同的邏輯電路架構,包括兩級串聯(lián)型相關處理算法電路和多極并行數(shù)字相關器。無輪哪種CCSK相關解調器,其核心都是數(shù)字相關器,而數(shù)字相關器分為全加器型數(shù)字相關器和流水線加法器型數(shù)字相關器。這兩種數(shù)字相關器的原理框圖如圖3所示。
采樣同步時鐘
相關峰輸出
(a)全加器型
圖3 數(shù)字相關器原理框圖
2.1 兩級串聯(lián)型CCSK數(shù)字相關器算法設計
兩級串聯(lián)型CCSK相關解調邏輯電路一般由兩個全加器型數(shù)字相關器級聯(lián)而成。如采用32bitm序列擴頻碼的系統(tǒng),可將兩個32bit相關器級聯(lián)成64bit相關器,其m序列本地碼可設置成兩個同樣的m序列:
{a31,a30,a29,…,a2,a1,a0,a31,a30,a29,…,a2,a1,a0}
當輸入基帶碼流信號為m序列的某一種32bit循環(huán)移位碼時,相關器就會輸出相應的相關峰信號。其過程如下:
輸入基帶碼流為32bitm序列的原碼時(時間次序為{a31,a30,a29,…,a2,a1,a0}),當碼流與第一段本地碼對應緩沖器內的本地序列{a31,a30,a29,…,a2,a1,a0} 一致時,相關器就會輸出第一相關峰;在采樣同步時鐘的驅動下,輸入碼流進入第二段本地碼對應緩沖器內,此后,當碼流與相關器的本地序列{a31,a30,a29,…,a2,a1,a0} 一致時,相關器就會輸出第二相關峰。
當輸入信號是擴頻碼m序列的1次循環(huán)移位碼時,只有當輸入碼流信號被驅動到{a30,a29,…,a2,a1,a0,a31}的位置上時,相關器才輸出相關峰信號。相對于0次循環(huán)移位碼產生的相關峰,其時序延遲了一個碼片單位。依次類推,當輸入信號是擴頻碼m序列的N(0<N<31)次循環(huán)移位碼時,通??梢缘玫窖舆tN個碼片時間的相關峰。圖4所示是相關峰時序延遲示意圖。
通過計算相關峰輸出時間同基準(0 延遲)相關峰之間的時間差,可以提取調制在信號上的信息數(shù)據(jù) N :
N=( 數(shù)據(jù)相關峰字符時間 - 基準相關峰字符時間 )/ 碼片時間
采用兩級串聯(lián)型 CCSK 相關解調邏輯電路解調 CCSK 信息消耗的硬件資源較少,但由于要對相關峰進行定時檢測以及消除部分相關峰,因此,對電路的處理時序較為嚴格,只能采用全加器型數(shù)字相關器來實現(xiàn)。而流水線加法器數(shù)字相關器由于不具有實時歸零功能,無法實現(xiàn)兩級級聯(lián),因此不適合兩級串聯(lián)型 CCSK 相關解調邏輯電路的相關器。
2.2 多路并行 CCSK 數(shù)字相關器算法設計
多路并行型 CCSK 數(shù)字相關器輸入的的是 m 序列 N 次循環(huán)移位碼,如 32 bit 系統(tǒng)中,m 序列 N 次循環(huán)移位碼有 32 種,接收方可以通過 32 個 32 bit 并行數(shù)字相關器對基帶碼流進行相關處理。當輸入碼流同第 N 路相關器的相關輸出超出信號門限時,則認定接收到的數(shù)據(jù)為 N,圖 5 所示就是并行相關峰輸出信號。
多路并行型CCSK數(shù)字相關器的電路結構比較簡單,對電路時序的要求也較低,相關器輸出時序位置固定,不需要進行時間差計算提取信息,也不需要對部分相關峰進行時序處理,故可采用對加法進位延遲要求較低的流水線加法器型數(shù)字相關器作為相關處理的核心部件。但是,多路并行型CCSK數(shù)字相關器消耗的硬件資源在同樣碼速率和碼長時,比兩級串聯(lián)型CCSK數(shù)字相關器要多若干倍,因此,32bit擴頻系統(tǒng)中采用多路并行型CCSK數(shù)字相關器要比兩級串聯(lián)型CCSK數(shù)字相關器所消耗的資源多16倍。
3 結語
本文對CCSK信息的調制和解調算法進行了介紹,給出了CCSK邏輯編碼電路的實時計算方法,同時對兩級串聯(lián)型CCSK數(shù)字相關器算法和多路并行CCSK數(shù)字相關器算法的設計進行了說明。采用直序擴頻的通信系統(tǒng)具有較高的抗干擾能力,但通信信息速率會大幅下降。因此,在通信速率和抗干擾之間找到一個平衡點,是擴頻通信系統(tǒng)的一個重要技術問題。而利用本文提出的CCSK編碼解碼技術可以有效地提高擴頻通信系統(tǒng)的通信速率。
20210905_6134570da25b8__擴頻通信系統(tǒng)CCSK信息調制解調算法設計