DS/FH混合擴頻接收機解擴及同步技術(shù)FPGA實現(xiàn)
1.3 相關(guān)累加器
相關(guān)累加器完成本地偽碼與接收信號的相關(guān)累加運算,運算得到的結(jié)果送入DSP完成偽碼的捕獲和跟蹤。取偽碼長度為256位,采用半碼片滑動,則一個碼周期完成512次累加運算。如采用串行滑動相關(guān)捕獲方式,則遍歷所有的碼相位所需要的時間為512個碼周期,即捕獲所需要的最長時間為512個PN碼周期。由于可編程邏輯器件的發(fā)展,使得有足夠的硬件資源來完成并行運算。此處采用串/并混合的捕獲方式[6][7],采用8路相關(guān)累加器,每一路分為超前、當(dāng)前、滯后3組,每組相差半個碼片的相位,每一路相差64個半碼片的相位。這樣,只需滑動64個半碼片相位就可以遍歷所有的偽碼相位,完成捕獲所需時間縮短為原來的八分之一。數(shù)據(jù)解調(diào)由另外4組相關(guān)累加器完成。由于發(fā)射端同步偽碼與數(shù)據(jù)偽碼相位嚴(yán)格對齊,所以在接收模塊中,完成同步偽碼捕獲跟蹤后,直接將所獲得的相位信息用于數(shù)據(jù)解調(diào)相關(guān)器,即可正確解調(diào)數(shù)據(jù)。
同步偽碼的跟蹤采用超前—滯后延遲鎖相環(huán)路(DPLL),每一路相關(guān)器包括3組累加器。捕獲跟蹤及數(shù)據(jù)解調(diào)共使用28組相關(guān)累加器,每一組相關(guān)累加器結(jié)構(gòu)都是完全一樣的,均分為I、Q兩路,分別進行累加運算,完成512次累加運算后由DSP讀取數(shù)據(jù)。I、Q兩路結(jié)構(gòu)完全相同,其中一路的原理圖如圖4(略)所示。
相關(guān)累加器由18位加減法器、鎖存器1和鎖存器2組成,data[7..0]為下變頻后的輸入數(shù)據(jù),PN CODE來自碼發(fā)生器。作為控制端,低電平完成加運算,高電平完成減運算,DP上升沿進行數(shù)據(jù)鎖存,下降沿完成一次累加運算。當(dāng)累加運算完成后,由CLR信號清零并將結(jié)果存入鎖存器2,CLR下降沿有效。鎖存器1輸出OV信號作為溢出標(biāo)志位,鎖存器2輸出累加結(jié)果out[16..0]。輸入與輸出端的最高位為符號位。
1.4 本地碼發(fā)生器及碼移相電路
本地碼發(fā)生器用于產(chǎn)生本地PN碼,從而與接收信號進行相關(guān)運算。由于發(fā)送端采用編碼擴頻調(diào)制方式,接收信號中既有同步PN碼,還有數(shù)據(jù)PN碼,與接收信號相對應(yīng),本地也應(yīng)該產(chǎn)生相應(yīng)的PN碼,用于同步及解調(diào)數(shù)據(jù)。
本地PN碼發(fā)生器全部采用FPGA實現(xiàn),并且設(shè)置了可編程寄存器和外部接口,DSP通過接口可預(yù)置PN碼長度。1024進制計數(shù)器電路用于產(chǎn)生ROM的輸入地址,ROM由FPGA內(nèi)部RAM資源來實現(xiàn),采用ALTERA公司APEX20K200器件。該器件內(nèi)部可編程RAM容量為106496位,完全可以滿足設(shè)計需求。本地PN碼采用半碼片滑動方式,ROM內(nèi)部PN碼也以半碼片方式存儲。如碼長為256,采用半碼片存儲方式后,每一組PN碼需存儲512位數(shù)據(jù),相應(yīng)的ROM有9位地址線驅(qū)動輸出。驅(qū)動時鐘為PN碼時鐘的2倍。在實際設(shè)計時,PN碼發(fā)生器內(nèi)存放了8組PN碼,但只用了五組,一組用于同步,另外四組用于解調(diào)數(shù)據(jù)。ROM輸入地址由1024進制計數(shù)器產(chǎn)生,實際上只需用512進制計數(shù)器即可得到ROM輸入地址??紤]到可擴展性,這里采用了計數(shù)容量最大為1024的可變計數(shù)器。由DSP通過DSP-FPGA接口改寫寄存器值,可以很方便地調(diào)整PN碼的輸出相位。
偽碼移位電路的主要作用是將碼發(fā)生器產(chǎn)生的PN碼進行移位操作,從而得到偽碼的不同相位。捕獲和跟蹤過程共使用了8路24組相關(guān)累加器,每一路分為超前、當(dāng)前、滯后3組,這3組累加器輸入端PN碼相差半個碼片的相位,8路相關(guān)累加器中每相鄰兩路相差64個半碼片。碼發(fā)生器輸出5組PN碼序列(第0組~第4組),分別對應(yīng)同步偽碼及4組數(shù)據(jù)偽碼。5組偽碼均經(jīng)過512級移位寄存器,第0組PN碼作為同步碼,取其0、1、2相位作為第一路的超前、當(dāng)前、滯后3組相關(guān)累加器的輸入;64、65、66相位作為第二路的超前、當(dāng)前、滯后3組相關(guān)累加器的輸入,其余各路依此類推。當(dāng)完成捕獲后,需要將捕獲所得的同步PN相位切換到數(shù)據(jù)解調(diào)相關(guān)累加器中。例如,假設(shè)在第二組相關(guān)累加器的當(dāng)前通道捕獲,那么此時解調(diào)數(shù)據(jù)用的相關(guān)累加器的PN碼相位就應(yīng)該與第二組相關(guān)累加器當(dāng)前通道的PN碼相位保持一致。數(shù)據(jù)偽碼相位切換的實現(xiàn)是由DSP記憶捕獲通道的相位,然后控制多路選擇開關(guān)選擇該相位。
2 同步模塊的FPGA實現(xiàn)
同步模塊由位同步及幀同步電路構(gòu)成,主要實現(xiàn)對信息數(shù)據(jù)的檢測和提取,并識別一幀信息數(shù)據(jù)的幀頭位置,實現(xiàn)跳頻圖案的同步。跳頻圖案的同步采用等待搜索同步法,開始時接收端頻率合成器停留在某一單頻點fi',等待發(fā)射機的頻率fi,當(dāng)發(fā)射機的頻率跳變?yōu)閒i時,接收端本地的頻率fi'與發(fā)送的頻率fi混頻后,輸出中頻fIF。DSP完成解擴解調(diào)運算后,得到的串行數(shù)據(jù)流送入位同步和幀同步電路,從數(shù)據(jù)流中提取出特征字,就可以獲得一幀完整的數(shù)據(jù),從而確定幀頭的位置,即頻率轉(zhuǎn)換時刻,由此控制接收端頻率合成器與發(fā)送端頻率合成器同步跳變,實現(xiàn)跳頻圖案的同步。由于采用編碼擴頻調(diào)制方式,發(fā)送端每兩位信息比特在一個PN碼周期被編碼為4種PN碼中的一種。所以接收端在每一個PN碼周期,對4組數(shù)據(jù)相關(guān)累加器的累加結(jié)果進行最大值比較,然后譯碼成相應(yīng)的信息數(shù)據(jù)。信息數(shù)據(jù)送到同步電路,進行巴克碼匹配相關(guān),提取有效的信息位,并控制跳頻時序完成跳頻同步。同步模塊原理如圖5所示。
在每一個PN碼周期,4組數(shù)據(jù)解調(diào)相關(guān)累加器解調(diào)出2bit信息數(shù)據(jù)。2bit信息數(shù)據(jù)以9.6kHz的速率送到同步電路。同步電路首先將信息數(shù)據(jù)進行并串轉(zhuǎn)換,由9.6kHz、2bit的數(shù)據(jù)流變換為19.2kHz、1bit的數(shù)據(jù)流,變換后的數(shù)據(jù)流再經(jīng)過串并變換,得到19.2kHz、32bit的并行數(shù)據(jù)流。根據(jù)信號格式,每一幀數(shù)據(jù)為32bit,相應(yīng)的13位巴克碼在一幀數(shù)據(jù)中的位置固定不變,所以提取每幀數(shù)據(jù)中相應(yīng)位置上的13位數(shù)據(jù)比特與本地巴克碼進行相關(guān)匹配運算,結(jié)果與門限值比較,如果符合門限設(shè)置,即有中斷輸出,通知外部設(shè)備讀取相應(yīng)數(shù)據(jù)。
評論