滑動相關(guān)法偽碼捕獲的FPGA實(shí)現(xiàn)
引言
本文引用地址:http://www.ex-cimer.com/article/86525.htm 對于碼分多址的擴(kuò)頻通信方式而言,只有當(dāng)接收端本地偽碼與發(fā)端偽碼處于相同相位狀態(tài)時(shí),有用的信息才能被解出。因此,擴(kuò)頻序列相位的捕獲與跟蹤是擴(kuò)頻通信系統(tǒng)的關(guān)鍵,而偽碼序列相位的捕獲尤為重要。滑動相關(guān)法是常用的方法之一。擴(kuò)頻通信系統(tǒng)要求實(shí)時(shí)性,以及較高的數(shù)據(jù)處理速度,這正是FPGA的優(yōu)勢。所以在擴(kuò)頻通信系統(tǒng)中,大量應(yīng)用FPGA芯片作為前級處理芯片。
實(shí)現(xiàn)原理
原理分析
接收機(jī)端接收到的擴(kuò)頻信號可以表示為:
其中,P_{r}為接收信號功率,τ_gs42om4為傳輸時(shí)延,D(t)為信息碼, PN(t)為偽碼, n(t)為傳輸過程的加性噪聲。擴(kuò)頻接收機(jī)要完成的任務(wù)就是去掉PN(T-τ_wsa2e4a) 偽碼項(xiàng)和cos(ω_{0}t+φ) 載波項(xiàng),從而得到信息數(shù)據(jù)DZ(t)。
VCO輸出I、Q兩路信號:
通過同相正交相乘器得到:
利用PN碼的相關(guān)特性,即相位對齊時(shí),相關(guān)結(jié)果最大。當(dāng)載波和碼相位都對準(zhǔn)時(shí),經(jīng)過累加清洗(低通濾波)輸出為:
經(jīng)過平方相加可去掉載波對相關(guān)結(jié)果的影響,得到相關(guān)峰。
實(shí)現(xiàn)框圖
在直接序列擴(kuò)頻系統(tǒng)中,偽碼的捕獲是構(gòu)成碼同步系統(tǒng)的重要結(jié)構(gòu),也是直擴(kuò)系統(tǒng)中必不可少的部分。接收機(jī)若要把偽碼擴(kuò)展的信號解出,接收方就必須能產(chǎn)生一個(gè)與發(fā)方一樣的偽碼序列(保證最大相關(guān)值),而且,該本地偽碼速率、相位要與接收到的偽碼保持一致。對于約定好的收、發(fā)方用同一個(gè)偽碼很容易辦到,但是,如果要從解擴(kuò)相關(guān)器得到傳送的信息,僅僅保證一樣的碼型是遠(yuǎn)遠(yuǎn)不夠的。因?yàn)榧词瓜嗤膫坞S機(jī)碼,當(dāng)相位差大于一個(gè)碼片時(shí),它們的相關(guān)峰就完全消失。在實(shí)際通信中,由于收、發(fā)信機(jī)時(shí)鐘的不穩(wěn)定性,接收、發(fā)射時(shí)刻的不確定性,信道傳輸延遲及干擾等因素的影響,收、發(fā)偽碼序列的相位差是隨機(jī)的。因此解擴(kuò)的第一步就是要在接收信號的偽碼相位中捕獲到一個(gè)與本地偽碼一致的相位狀態(tài)。當(dāng)這種狀態(tài)出現(xiàn)時(shí)相關(guān)器就會有一個(gè)相關(guān)峰值輸出,峰值與門限相比,若超出則確定相位已捕捉到,立即停止捕捉動作,轉(zhuǎn)入相位跟蹤狀態(tài);若小于門限則改變本地碼相位,繼續(xù)進(jìn)行捕獲。系統(tǒng)實(shí)現(xiàn)原理如圖1所示。
實(shí)現(xiàn)方法
根據(jù)相位捕獲的方法可分為:連續(xù)相位滑動相關(guān)法和在此思路上改進(jìn)的不連續(xù)相位相關(guān)法。
連續(xù)相位滑動相關(guān)法
此方法是通過改變本地偽碼時(shí)鐘速率,與發(fā)端偽碼時(shí)鐘速率保持一個(gè)合適偏移量,使接收信號中偽碼相位與本地偽碼相位在相關(guān)器內(nèi)進(jìn)行相對滑動。這種方法的相位捕獲是連續(xù)進(jìn)行的,所以相關(guān)峰值是一個(gè)連續(xù)量。相關(guān)值一旦超過捕獲門限,標(biāo)志正確相位已被搜索到,接收機(jī)立即恢復(fù)本地偽碼時(shí)鐘速率(收、發(fā)信機(jī)都使用穩(wěn)定度很高的振蕩源,所以它們的碼速率可以基本保持一致),停止相位滑動,啟動跟蹤電路,使相位差進(jìn)一步縮小(意味著相關(guān)性增大),獲得更高解擴(kuò)信噪比,滿足其后解調(diào)門限要求。此種捕獲方法捕獲時(shí)間和檢測概率相互矛盾。例如,對于一個(gè)N=215位的PN碼,兩偽碼之間最大相對滑動速率約為5kc/ps,遍歷其所有相關(guān)狀態(tài)需要的時(shí)間為6.55S。在實(shí)際通信過程中,由于干擾及其它原因造成偽碼相位失鎖需要重新捕捉時(shí),這么長的捕捉時(shí)間會嚴(yán)重影響通信質(zhì)量,因而是不可取的。由以上分析可知,這種捕捉方法相位搜索精度高但同時(shí)導(dǎo)致了過長的捕捉時(shí)間,在實(shí)際中很少應(yīng)用,但其思路值得借鑒。不連續(xù)滑動相關(guān)法就是在此基礎(chǔ)上的改進(jìn)。
不連續(xù)相位滑動相關(guān)法
所謂連續(xù)與不連續(xù)的區(qū)別是對搜索中相位的滑動變化量而言,后一種方法是把連續(xù)的相位搜索改為跳躍式的搜索,即兩個(gè)碼之間的相位滑動量不再是連續(xù)地以一定的步進(jìn)量產(chǎn)生相位滑動。不連續(xù)滑動相關(guān)法是利用一個(gè)相位搜索電路,在捕獲過程中使本地偽碼相位以一定的步進(jìn)值跳躍變化,這樣遍歷整個(gè)偽碼時(shí)間大大減少。與前一種方法相比,它的收、發(fā)偽碼時(shí)鐘速率保持一致,從而不會造成碼片寬度不一致,導(dǎo)致相關(guān)峰值下降。本地偽碼與接收偽碼相位的相對改變是靠搜索電路對偽碼發(fā)生器時(shí)鐘的超前、滯后控制來實(shí)現(xiàn)的,因此相位搜索電路(如圖2所示)是不同于前者的關(guān)鍵所在。下面重點(diǎn)討論實(shí)現(xiàn)半碼片滑動的實(shí)現(xiàn)方法。
捕獲方法1 (滑動步進(jìn)為TC/2)
時(shí)鐘取反法:
如圖1所示,當(dāng)信號包絡(luò)的平方小于門限時(shí),輸出控制信號,對圖2中CLK取反,取反的結(jié)果相當(dāng)于利用原CLK時(shí)鐘下降沿進(jìn)行觸發(fā)。經(jīng)過二分頻后作為偽碼產(chǎn)生器的時(shí)鐘,同時(shí)把CLK作為移位寄存器的時(shí)鐘,三位移位寄存器的輸出相當(dāng)于移動了半個(gè)碼片。FPGA仿真結(jié)果如圖3所示。
圖中data1,data2,data3,分別為三位移位寄存器的輸出,01表示+1,11表示1,clk1為碼NCO的輸出,clk2為它的二分頻。此方法在整個(gè)系統(tǒng)中要多次對時(shí)鐘進(jìn)行取反操作,會帶來比較嚴(yán)重的時(shí)序問題,使系統(tǒng)工作時(shí)序滿足不了。為了解決此問題,可采用改進(jìn)的方法。
捕獲方法2 (滑動步進(jìn)為TC/2)
時(shí)鐘取反法改進(jìn):
此方法采用觸發(fā)器結(jié)構(gòu),把2倍的CLK作為輸入,CLK作為使能端,利用FPGA自帶的IP核--鎖相環(huán)使CLK相位超前,包住2倍CLK的上升沿,觸發(fā)器的輸出即為CLK,F(xiàn)PGA仿真結(jié)果如圖4所示。圖中,co為輸入端,pn為鎖相環(huán)的輸出作為使能端。對使能端取反操作,通過圖2的電路結(jié)構(gòu)即可完成半碼片的移動。但是,同時(shí)要對二分之一CLK進(jìn)行鎖相操作,如果實(shí)現(xiàn)多路,由于FPGA內(nèi)部只有2個(gè)鎖相環(huán),所以,實(shí)用性受到限制。
fpga相關(guān)文章:fpga是什么
鎖相環(huán)相關(guān)文章:鎖相環(huán)原理 網(wǎng)線測試儀相關(guān)文章:網(wǎng)線測試儀原理
評論