本發(fā)明屬于通信技術(shù)領(lǐng)域,特別涉及到一種基于FPGA的AIS的基帶信號處理系統(tǒng)及方法。
背景技術(shù):
目前國內(nèi)許多AIS接收設(shè)備的接收功能是由AIS信號解調(diào)專用芯片(如英國cml公司生產(chǎn)的cmx910和cmx7042等)在零中頻下實現(xiàn)。AIS前端射頻信號經(jīng)過放大和下變頻后得到AIS基帶信號,再由芯片解調(diào)得到AIS信息碼。一方面來說,前端射頻與芯片間為基帶接口,這種結(jié)構(gòu)不利于設(shè)備功能拓展和改進,也不適合AIS接收模塊的單獨調(diào)試。另一方面,AIS屬于專業(yè)市場,市場容量有限,對這種專用芯片需求量不大,因此很多公司都減少了AIS解調(diào)芯片的生產(chǎn),研發(fā)能夠有效替代這種專用芯片是很有必要的。
AIS信號采用GMSK制形式,可將AIS信號表示為:
碼元經(jīng)過高斯濾波器積分后可表示為:
在數(shù)字解調(diào)端采用正交信號解調(diào),信號的同相分量和正交分量分別為:
在數(shù)字差分解調(diào)時需要計算瞬時頻率,f(n)表示頻率,表示相位
FPGA屬于乘法和除法等計算資源很有限的數(shù)字系統(tǒng),不適宜直接在FPGA內(nèi)部直接做除法和反正切運算,而CORDIC算法求反正切只進行簡單的加減運算,能夠有效地在FPGA中實現(xiàn)這一功能。
技術(shù)實現(xiàn)要素:
為了解決上述技術(shù)問題,本發(fā)明提供了一種基于FPGA的AIS基帶信號處理系統(tǒng)及方法,改善了傳統(tǒng)AIS基帶處理芯片拓展性差的問題,且有效降低了FPGA在設(shè)計當(dāng)中大量的資源耗損。
本發(fā)明的系統(tǒng)所采用的技術(shù)方案是:一種基于FPGA的AIS基帶信號處理系統(tǒng),其特征在于:包括CORDIC相位計算模塊、頻率計算模塊、判決整形模塊、位同步模塊、HDLC解包模塊;所述CORDIC相位計算模塊與頻率計算模塊、判決整形模塊、位同步模塊、HDLC解包模塊依次串聯(lián)連接;所述HDLC解包模塊包括NRZI解碼子模塊、幀頭檢測子模塊、去除插補零子模塊、CRC校驗子模塊,字節(jié)反轉(zhuǎn)子模塊,所述NRZI解碼子模塊、幀頭檢測子模塊、去除插補零子模塊、CRC校驗子模塊,字節(jié)反轉(zhuǎn)子模塊依次串聯(lián)連接。
本發(fā)明的方法所采用的技術(shù)方案是:一種基于FPGA的AIS基帶信號處理方法,其特征在于,包括以下步驟:
步驟1:對于兩路正交的基帶信號,對于每一個碼元時間采樣M個點,并利用CORDIC相位計算模塊計算出當(dāng)前基帶信號的瞬時相位,并將其結(jié)果發(fā)送給頻率計算模塊計算頻率,頻率計算結(jié)果輸入到判決整形模塊做過零判決得到二進制碼;其中,M取正整數(shù);
步驟2:將步驟1所得到的二進制碼輸入到位同步模塊,位同步模塊實際上是一個數(shù)字鎖相環(huán),輸入碼元速率和同步碼,輸出即為同步時鐘,以該時鐘為采樣時鐘對二進制碼進行采樣,實現(xiàn)通信的位同步;
步驟3:對同步后的二進制碼進行HDLC的解包處理,完成AIS信息的解碼和校驗,完成整個基帶處理流程。
作為優(yōu)選,步驟1中所述利用CORDIC相位計算模塊計算出當(dāng)前基帶信號的瞬時相位,其具體實現(xiàn)過程是針對基帶Q信號和基帶I路信號,判斷信號在當(dāng)前時刻相位所在的象限,I、Q值作為初始向量(x(0),y(0)),每次旋轉(zhuǎn)arctan2-i,i為旋轉(zhuǎn)次數(shù),得到旋轉(zhuǎn)后的向量(x(i),y(i))旋轉(zhuǎn)前與旋轉(zhuǎn)后滿足下列關(guān)系:
如果滿足y(i)<0:
x(i+1)=x(i)-y(i)·2-i
y(i+1)=y(tǒng)(i)+x(i)·2-i
z(i+1)=z(i)-arctan2-i
不滿足時:
x(i+1)=x(i)+y(i)·2-i
y(i+1)=y(tǒng)(i)-x(i)·2-i
z(i+1)=z(i)+arctan2-i
其中z(i+1)為i次累計旋轉(zhuǎn)角度,x(i+1)為i次旋轉(zhuǎn)后的相對橫坐標(biāo),y(i+1)為i次旋轉(zhuǎn)后的相對縱坐標(biāo),i≤M。
作為優(yōu)選,步驟1中所述頻率計算結(jié)果為其中為當(dāng)前CORDIC計算結(jié)果,為上一采樣點計算結(jié)果,f(n)為當(dāng)前頻率值。
作為優(yōu)選,步驟1中所述頻率計算結(jié)果輸入到判決整形模塊做過零判決得到二進制碼,是頻率結(jié)果大于0判決為1,小余0則判決為0。
作為優(yōu)選,步驟2的具體實現(xiàn)過程是輸入碼元頻率控制字,時鐘產(chǎn)生與碼元速率一致的頻率,雙相時鐘源產(chǎn)生兩路反向且頻率為N倍碼元速率的時鐘;N分頻器輸出與輸入碼元相位比較,得到超前和滯后脈沖,雙向時鐘與超前和滯后脈沖相與,再做異或操作,結(jié)果作為N分頻器輸入,實現(xiàn)鎖相,輸出位同步時鐘。
作為優(yōu)選,步驟3中所述對同步后的二進制碼進行HDLC的解包處理,是將二進制碼利用NRZI解碼子模塊解碼后,發(fā)送給幀頭檢測子模塊,檢測到幀頭之后存儲當(dāng)前數(shù)據(jù),而后檢測結(jié)束位接收結(jié)束;接下來以開始標(biāo)志位末位的后一位為起點遍歷整個序列,將序列放入利用去除插補零子模塊處理,隨后將數(shù)據(jù)序列輸入CRC校驗子模塊進行校驗,校驗正確后利用字節(jié)反轉(zhuǎn)子模塊進行反轉(zhuǎn)處理,反轉(zhuǎn)結(jié)果輸出整個AIS數(shù)據(jù)鏈,完成整個HDLC的解包。
作為優(yōu)選,所述將序列放入利用去除插補零子模塊處理,是若在5個連續(xù)1后面遇到1個0,則把0去除掉。
作為優(yōu)選,所述校驗正確后利用字節(jié)反轉(zhuǎn)子模塊進行反轉(zhuǎn)處理,是以字節(jié)為單位的反轉(zhuǎn),高位與低位相交換。
與現(xiàn)有技術(shù)相比,本發(fā)明具有以下優(yōu)點和有益效果:本發(fā)明基于FPGA的AIS基帶信號處理方法可以同時完成AIS信號的解調(diào)和解碼,在解調(diào)時簡化了鑒頻方法,減少了FPGA資源的占用,結(jié)構(gòu)清晰簡單,可靈活地實現(xiàn)任意HDLC協(xié)議,特別適用于全數(shù)字的AIS接收機當(dāng)中。
附圖說明
圖1為本發(fā)明實施例的系統(tǒng)結(jié)構(gòu)簡圖;
圖2為本發(fā)明中實施例的CORDIC相位計算模塊出計算當(dāng)前基帶信號的瞬時相位的流程圖;
圖3為本發(fā)明實施例中位同步的流程圖;
圖4為本發(fā)明實施例中的HDLC解包的流程圖。
具體實施方式
為了便于本領(lǐng)域普通技術(shù)人員理解和實施本發(fā)明,下面結(jié)合附圖及實施例對本發(fā)明作進一步的詳細描述,應(yīng)當(dāng)理解,此處所描述的實施示例僅用于說明和解釋本發(fā)明,并不用于限定本發(fā)明。
請見圖1,本發(fā)明提供的一種基于FPGA的AIS基帶信號處理系統(tǒng),包括CORDIC相位計算模塊、頻率計算模塊、判決整形模塊、位同步模塊、HDLC解包模塊;CORDIC相位計算模塊與頻率計算模塊、判決整形模塊、位同步模塊、HDLC解包模塊依次串聯(lián)連接;HDLC解包模塊包括NRZI解碼子模塊、幀頭檢測子模塊、去除插補零子模塊、CRC校驗子模塊,字節(jié)反轉(zhuǎn)子模塊,NRZI解碼子模塊、幀頭檢測子模塊、去除插補零子模塊、CRC校驗子模塊,字節(jié)反轉(zhuǎn)子模塊依次串聯(lián)連接。
本發(fā)明提供的一種基于FPGA的AIS基帶信號處理方法,包括以下步驟:
步驟1:步驟1:對于兩路正交的基帶信號,對于每一個碼元時間采樣10個點,并利用CORDIC相位計算模塊出計算出當(dāng)前基帶信號的瞬時相位,并將其結(jié)果發(fā)送給頻率計算模塊計算頻率,頻率計算結(jié)果輸入到判決整形模塊做過零判決得到二進制碼;
請見圖2,利用CORDIC相位計算模塊出計算出當(dāng)前基帶信號的瞬時相位,其具體實現(xiàn)過程是針對基帶Q信號和基帶I路信號,判斷信號在當(dāng)前時刻相位所在的象限,I、Q值作為初始向量(x(0),y(0)),每次旋轉(zhuǎn)arctan2-i,i為旋轉(zhuǎn)次數(shù),得到旋轉(zhuǎn)后的向量(x(i),y(i))旋轉(zhuǎn)前與旋轉(zhuǎn)后滿足下列關(guān)系:
如果滿足y(i)<0:
x(i+1)=x(i)-y(i)·2-i
y(i+1)=y(tǒng)(i)+x(i)·2-i
z(i+1)=z(i)-arctan2-i
不滿足時:
x(i+1)=x(i)+y(i)·2-i
y(i+1)=y(tǒng)(i)-x(i)·2-i
z(i+1)=z(i)+arctan2-i
其中z(i+1)為i次累計旋轉(zhuǎn)角度,x(i+1)為i次旋轉(zhuǎn)后的相對橫坐標(biāo),y(i+1)為i次旋轉(zhuǎn)后的相對縱坐標(biāo),i≤M。
z(10)旋轉(zhuǎn)10次后(M=10)得到該時刻相位的逼近值,其中為當(dāng)前CORDIC計算結(jié)果,為上一采樣點計算結(jié)果,f(n)為當(dāng)前頻率值,頻率計算結(jié)果即為并將f(n)發(fā)送給頻率計算模塊,差分計算出頻率值,實現(xiàn)鑒頻。對鑒頻結(jié)果進行判決整形,該頻率結(jié)果大于0判決為1,小余0則判決為0。為了保證鑒相結(jié)果的精度,同時考慮到FPGA的資源,旋轉(zhuǎn)10次時,其精度已達到arctan2-9=0.9°,可以滿足解調(diào)要求。
步驟2:將步驟1所得到的二進制碼輸入到位同步模塊,位同步模塊實際上是一個數(shù)字鎖相環(huán),輸入碼元速率和同步碼,輸出即為同步時鐘,以該時鐘為采樣時鐘對二進制碼進行采樣,實現(xiàn)通信的位同步;
同步過程如圖3所示。輸入碼元頻率控制字,時鐘產(chǎn)生與碼元速率一致的頻率,雙相時鐘源產(chǎn)生兩路反向且頻率為N倍碼元速率的時鐘。N分頻器輸出與輸入碼元相位比較,得到超前和滯后脈沖,雙向時鐘與超前和滯后脈沖相與,再做異或操作,結(jié)果作為N分頻器輸入,實現(xiàn)鎖相,輸出位同步時鐘。
步驟3:對同步后的二進制碼進行HDLC的解包處理,完成AIS信息的解碼和校驗,完成整個基帶處理流程。
HDLC的解包過程如圖4所示,將二進制碼利用NRZI解碼子模塊解碼后,將NRZI解碼結(jié)果發(fā)送給檢測幀頭子模塊,檢測到幀頭之后存儲當(dāng)前數(shù)據(jù),而后檢測結(jié)束位接收結(jié)束。接下來以開始標(biāo)志位末位的后一位為起點遍歷整個序列,將序列放入去除插補零子模塊中處理(在遇到5個連續(xù)1后面有個0的,需要把0去除掉)。隨后將數(shù)據(jù)序列輸入CRC校驗子模塊校驗,校驗正確后進行字節(jié)反轉(zhuǎn)子模塊反轉(zhuǎn)處理(字節(jié)為單位的反轉(zhuǎn),高位與低位相交換),反轉(zhuǎn)結(jié)果輸出整個AIS數(shù)據(jù)鏈,完成整個HDLC的解包。
對本發(fā)明方法進行分析如下:
對于GMSK的基帶正交信號可表示為:
Δω為非相干解調(diào)下變頻時遺留的頻差信號。
經(jīng)過CORDIC相位計算得到:
頻率計算后可得到:
由于該解調(diào)模塊是基于非相干解調(diào)原理,存在一定的頻差Δω,使其產(chǎn)生一定相差,當(dāng)采樣率為碼元速率的10倍時,則由頻差產(chǎn)生的相差為對鑒頻影響較小,可以忽略。對該結(jié)果進行過零判決,即完成解調(diào)。
應(yīng)當(dāng)理解的是,本說明書未詳細闡述的部分均屬于現(xiàn)有技術(shù)。
應(yīng)當(dāng)理解的是,上述針對較佳實施例的描述較為詳細,并不能因此而認為是對本發(fā)明專利保護范圍的限制,本領(lǐng)域的普通技術(shù)人員在本發(fā)明的啟示下,在不脫離本發(fā)明權(quán)利要求所保護的范圍情況下,還可以做出替換或變形,均落入本發(fā)明的保護范圍之內(nèi),本發(fā)明的請求保護范圍應(yīng)以所附權(quán)利要求為準(zhǔn)。