基于FPGA的通信系統同步提取的實現
在可靠的通信系統中,要保證接收端能正確解調出信息,必須要有一個同步系統,以實現發送端和接收端的同步,因此同步提取在通信系統中是至關重要的。一個簡單的接收系統框圖如圖1所示。
本文引用地址:http://www.j9360.com/article/189658.htm
本文介紹一種基于現場可編程門陣列(FPGA)的同步方案。FPGA是與傳統PLD不同的一類可編程ASIC,它是將門陣列的通用結構與PLD的現場可編程特性結合于一體的新型器件,最早由美國Xilinx公司于1985年推出。FPGA具有集成度高、通用性好、設計靈活、開發周期短、編程方便、產品上市快捷等特點,它的門數可達100萬門以上。近年來,FPGA在系統的硬件設計方面得到了廣泛的應用。
1 同步序列碼
本文介紹的幀同步提取是在每一幀的前面加擴頻碼,該擴頻碼必須具有良好的自相關性和互相關特性。表1是m序列碼和Gold系列碼的性能比較,從表中可以看出,m序列碼的自相關性和互相關特性要比Gold系列碼好得多,m序列碼作為同步頭具有較強的抗干擾能力和較低的截獲概率,而且長的m序列更容易在一定的強噪聲中被提取,這樣就能夠充分保證數據的正常通信。因此相對于Gold系列碼來說,m序列碼更適合于作為同步頭。本文的同步序列碼指的是M序列碼,M序列碼是由m序列碼得到的,即在相應的m序列碼后補零,用以實現PN碼的相等匹配,因為對應m序列碼來說,1的個數總是比0的個數多一個。 利用相關法,在同步頭沒有來臨之時,其相關峰比較低;如果數據中的同步頭和本地同步頭完全對齊,那么就能夠出現大的相關峰值,但這個峰值可能不會達到理論值,這是因為在數據傳輸中,數據流包括同步頭都要受到噪聲的干擾。因此,同步提取還要看同步是在一個什么樣的噪聲環境中才能良好工作。本文介紹的是長度為128的M序列碼作為同步頭的同步提取方法。之所以取長度為128的PN碼作為同步信息,一方面是考慮到同步提取的復雜性要求同步信息不能太長,另一方面是要滿足相關峰值盡可能的大,長度為128的PN碼可以提供21dB的處理增益,這使得在一定的噪聲背景下仍然可以提取到相關峰值。 圖2是在信噪比為0dB下的相關情況。可以看出在0dB下長度為128的M序列碼作為同步頭的相關特性是良好的。圖3是在信噪比為-7dB的情況下做的仿真。可以發現,由噪聲所產生的相關峰增高,有超過最高相關峰的趨勢。經過實驗,信噪比繼續降低時,真正的相關峰就會被噪聲所產生的相關峰淹沒,這樣就不能提取出相關峰。因此,同步提取要考慮噪聲的影響。


2 同步提取原理
本文介紹的幀同步提取是在每一幀的前面加上長度為128位的PN碼作為幀頭數據(如圖4所示),然后根據這些幀頭數據的相關性提取相關峰值,幀頭數據必須具有良好的自相關性和互相關性,當和本地碼完全相同時其相關峰最大。
假設PN碼為p(n),經A/D采樣后第n個采樣點的數據是data(n),噪聲是N(n),那么data(n)和PN碼之間的循環互相關函數為:
Rdp(k)=data(n)·p(k+n) (1)
式中,L是PN碼的長度。當data(n)正好與PN碼對齊,即data(n)=p(n)+N(n)時,有:
Rdp(k)=Σ[p(n)+N(n)]·p(k+n)
=ΣN(n)·p(k+n)+Σp(n)·p(k+n) (2)
由于N(n)與PN是互不相關的,因此(2)式的前半部分相關值很小;而對于(2)式的后半部分,當其與本地的PN碼完全對應,即p(n)=p(k+n)時,Rdp(k)將得到最大相關值。對于L=128的PN碼,將會有一個21dB增益的相關峰,因此可以提取到明顯的相關峰。
由以上分析可以看出,在同步相關提取的實現當中要用到反向器和乘法器,電路復雜,用FPGA設計必然會占很大的資源。經過研究分析并參考其它文獻資料,這里采用補碼配對相減匹配濾波法,僅利用減法器和加法器即可,不僅使電路設計簡單,而且使電路得到極大的優化。在同步信息的復接部分用的幀頭信息是一個128位的M序列碼,而在同步提取部分用的則是該序列碼的鏡像碼。
假設幀同步復接部分的同步頭M序列碼是:
1000010110/0010111010/1101100000/1100110101/0011100111/1011010000/1010101111/1010010100/0110111000/1111111000/0111011110/0101100100/10000000
而同步頭M序列碼的鏡像碼則為:
00000001/0010011010/0111101110/0001111111/0001110110/0010100101/1111010101/0000101101/1110011100/1010110011/0000011011/0101110100/0110100001
對鏡像之后的本地碼先進行編號,按照順序依次從1編到128。第一位數字0編為1,第二位數字0編為2,第三位數字編為3......。在鏡像本地碼中,第一個出現數字1的位置編號為8,第二個出現數字1的位置編號為11......。依次做以下配對:
其中的映射關系是:a→10,b→20,c→30,d→40,e→50,f→60,g→70,h→80,i→90,j→100,k→110,l→120
在同步頭中,既可以用符號1表示電平系數+1,用符號0表示電平系數-1,也可以用符號1表示電平系數-1,用符號0表示電平系數+1。本文采用符號0表示電平系數+1,用符號1表示電平系數-1。
評論