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