于國慶,靳 蕊,李永偉
(1.河北科技大學(xué)信息科學(xué)與工程學(xué)院,河北石家莊 050018;2.河北科技大學(xué)電氣工程學(xué)院,河北石家莊 050018)
均值分組塊補(bǔ)零P碼直捕算法原理及實(shí)現(xiàn)
于國慶1,靳 蕊1,李永偉2
(1.河北科技大學(xué)信息科學(xué)與工程學(xué)院,河北石家莊 050018;2.河北科技大學(xué)電氣工程學(xué)院,河北石家莊 050018)
P碼是長(zhǎng)周期精密測(cè)距碼,主要用于提供精確定位服務(wù)。提出了基于FFT的均值分組塊補(bǔ)零P碼直捕算法,通過直接平均法來降低運(yùn)算量,用分段重疊補(bǔ)零法將連續(xù)的相干積分分解成普通的循環(huán)相關(guān),對(duì)接收碼和本地碼的FFT結(jié)果緩存,用FFT結(jié)果的圓周移位代替多普勒頻移搜索。硬件實(shí)現(xiàn)時(shí)采用雙DDR2 SDRAM緩存,32 K點(diǎn)FFT單核復(fù)用的架構(gòu),詳細(xì)描述了算法在FPGA上實(shí)現(xiàn)時(shí)的邏輯功能劃分、核心子模塊功能及具體實(shí)現(xiàn)方案。通過ModelSim仿真驗(yàn)證,算法提高了數(shù)據(jù)利用率,減少了捕獲時(shí)間。
FFT;P碼直捕;FPGA實(shí)現(xiàn);雙DDR2緩存;分段重疊補(bǔ)零法
于國慶,靳 蕊,李永偉.均值分組塊補(bǔ)零P碼直捕算法原理及實(shí)現(xiàn)[J].河北科技大學(xué)學(xué)報(bào),2014,35(2):172-178.
YU Guoqing,JIN Rui,LI Yongwei.Principle and implement of P-code direct acquisition based on average block zero padding[J].Journal of Hebei University of Science and Technology,2014,35(2):172-178.
傳統(tǒng)的P碼捕獲方法是通過接收機(jī)先捕獲、跟蹤C(jī)/A碼,獲得導(dǎo)航電文的轉(zhuǎn)換字HOW,從中獲得P碼信息以捕獲P碼[1-5]。但是C/A碼的碼速率低,碼長(zhǎng)短,容易受到干擾和攻擊,采用直接捕獲P碼的方式才能充分發(fā)揮P碼抗干擾和抗截獲能力強(qiáng)的特點(diǎn)。針對(duì)P碼碼速率高、碼長(zhǎng)長(zhǎng)的特性,國內(nèi)外相繼提出了很多算法,如:DAVID等和LIN等提出了基于分段補(bǔ)零的循環(huán)相關(guān)法以及非相干循環(huán)相關(guān)法[6-7];YANG等提出的XFAST方法[8];PANG等提出的重疊平均法[9-10];近年來國內(nèi)外很多學(xué)者采用基于FFT的偽碼相位并行搜索來實(shí)現(xiàn)捕獲[11-13]。針對(duì)大時(shí)間不確定度情況下,提出了一種基于FFT的算法,充分利用FPGA的資源和性能,采用外部存儲(chǔ)器緩存的高效靈活的P碼直捕方法,直接應(yīng)用Altera的IP核縮短開發(fā)時(shí)間,并給出了基于該方法的系統(tǒng)實(shí)現(xiàn)。
P碼的碼速率為10.23 MHz,碼周期為7 d,傳統(tǒng)捕獲算法采用時(shí)域逐位進(jìn)行自相關(guān)運(yùn)算,需要大量的串行、并行數(shù)據(jù)處理,捕獲時(shí)間長(zhǎng)、硬件資源耗費(fèi)大,不適合于P碼的直接快速捕獲。基于FFT的捕獲由時(shí)域轉(zhuǎn)化到頻域,利用FFT運(yùn)算代替相關(guān)運(yùn)算來進(jìn)行捕獲。利用圓周相關(guān)定理,如式(1)所示:

式中:x(n)為接收的信號(hào);h(n)為循環(huán)移動(dòng)的本地碼;k為采樣點(diǎn)數(shù)。很顯然直接計(jì)算相關(guān)值r(k)的計(jì)算量很大,而用快速傅里葉變換來計(jì)算時(shí),不用將本地碼相位一次次移動(dòng),而是利用兩次FFT和一次IFFT運(yùn)算求出偽碼周期內(nèi)所有采樣點(diǎn)對(duì)應(yīng)的相關(guān)值,這樣可以大大減少捕獲過程的乘法運(yùn)算,從而大幅度縮短運(yùn)算時(shí)間。這種方法減少了硬件規(guī)模,提高了捕獲速度,還能抑制窄帶干擾,提高接收機(jī)的抗干擾性能。
在FFT算法的基礎(chǔ)上,提出均值分組塊補(bǔ)零的算法,充分利用FFT算法的優(yōu)點(diǎn),將長(zhǎng)碼分解成短碼并做相應(yīng)處理,由式(2)可知頻域的圓周移位等效于時(shí)域的序列調(diào)制,所以用FFT結(jié)果的循環(huán)移位替代多普勒頻移搜索,有效提高數(shù)據(jù)利用率,減少捕獲時(shí)間。
為了減少FFT運(yùn)算的長(zhǎng)度和次數(shù),加快對(duì)時(shí)間不確定度的搜索速度,用均值法分別對(duì)本地碼和接收碼進(jìn)行降速處理。在相同的FFT計(jì)算量下,可以將不確定范圍擴(kuò)大至M倍(M點(diǎn)平均),但是均值的點(diǎn)數(shù)越多,引入的噪聲就會(huì)越大,峰值檢測(cè)性能就會(huì)越差,信噪比相應(yīng)降低。為滿足信噪比要求并能有效計(jì)算,取M=4,對(duì)本地碼和接收碼分別進(jìn)行4點(diǎn)平均。
由于P碼周期長(zhǎng),不能直接用相關(guān)技術(shù)進(jìn)行計(jì)算,必須通過分段補(bǔ)零的方法將超長(zhǎng)序列相關(guān)運(yùn)算轉(zhuǎn)化為一系列的子序列的相關(guān),并用FFT循環(huán)相關(guān)實(shí)現(xiàn)序列的線性運(yùn)算。取2T的接收碼和1T的本地碼,對(duì)本地碼補(bǔ)零后再與接收碼作相關(guān),結(jié)果的前1T數(shù)據(jù)就為這一子序列的相關(guān)值。其中對(duì)本地碼補(bǔ)零是為了防止無效碼的相關(guān)引入額外的噪聲而降低增益。方案中取T=1 ms,即相干積累時(shí)間為1 ms。
采樣頻率fs=62 MHz,經(jīng)4點(diǎn)平均處理后,等效的采樣頻率f′s=15.5 MHz,32 K點(diǎn)FFT變換后,最小分辨頻率約473 Hz。即將數(shù)據(jù)碼FFT結(jié)果每圓周左(右)移一位數(shù)據(jù),相當(dāng)于進(jìn)行了473 Hz的下(上)變頻。將數(shù)據(jù)碼FFT結(jié)果分別左移和右移11次,可以滿足多普勒搜索頻率范圍±5 k Hz。
基于FFT的P碼直捕原理框圖見圖1。
首先連續(xù)采集9個(gè)1 ms數(shù)據(jù)段D1—D9,首尾重疊,形成8個(gè)2 ms數(shù)據(jù)段:D1D2,…,D8D9。按照當(dāng)前時(shí)刻,生成8 ms連續(xù)本地碼C1—C8,在每1 ms本地碼后補(bǔ)1 ms的零,最后形成本地碼段C10,…,C80。將上述數(shù)據(jù)段和本地碼采用逐次4點(diǎn)平均的方法,將數(shù)據(jù)量由124 K變換為31 K,再分別補(bǔ)零至32 K,做FFT運(yùn)算,并將結(jié)果分別存儲(chǔ)在2個(gè)外部存儲(chǔ)器DDR2 SDRAM中。
將本地碼段C10的32 K點(diǎn)FFT運(yùn)算結(jié)果取共軛與數(shù)據(jù)段D1D2的FFT結(jié)果相乘,再取IFFT變換,取前1 ms數(shù)據(jù)為二者的相關(guān)結(jié)果,即相干積累結(jié)果,計(jì)算其模方并存儲(chǔ)。對(duì)C20和D2D3,…,C80和D8D9做類似處理,得到的模方求和,即為8次非相干積累的結(jié)果。將結(jié)果與檢測(cè)門限相比較,判決是否有信號(hào)存在。如果無信號(hào)存在,將所有數(shù)據(jù)段D1D2—D8D9的FFT結(jié)果左移(或右移)一位后(改變多普勒頻點(diǎn)),再重復(fù)上述相關(guān)過程,直至判決有信號(hào)存在或左移與右移次數(shù)各為11次(1 ms的相位搜索),如果未檢測(cè)到信號(hào),那么需要將本地碼相位移至下1 ms。即將C90移入,將C10移出。對(duì)新移入的本地碼段C90做FFT變換,并將結(jié)果存入原C10的FFT結(jié)果存儲(chǔ)器中。在邏輯上形成C20—C90的連續(xù)8 ms的本地碼數(shù)據(jù)。重復(fù)上述過程直到捕獲到信號(hào)或±1 s不確定度時(shí)間范圍的所有相位均完成搜索。

圖1 基于FFT的P碼直捕原理框圖Fig.1 Principle of P-code direct acquisition based FFT
本方案通過直接平均法來降低運(yùn)算量,用分段重疊補(bǔ)零法將連續(xù)的相干積分分解成普通的循環(huán)相關(guān)進(jìn)行計(jì)算,設(shè)計(jì)最佳的FFT參數(shù),用傅里葉變換計(jì)算循環(huán)相關(guān),將接收碼和本地碼的FFT結(jié)果緩存,用FFT結(jié)果的圓周移位代替多普勒頻移搜索,數(shù)據(jù)的復(fù)用減少了重復(fù)采樣及變換的時(shí)間,提高了數(shù)據(jù)的利用率,減少了捕獲時(shí)間。
A/D轉(zhuǎn)換數(shù)據(jù)為2位,F(xiàn)FT IP核輸入輸出數(shù)據(jù)均采用8位,而且FFT IP核采用塊浮點(diǎn)表示法,可以充分利用有限位數(shù)據(jù)的動(dòng)態(tài)范圍。由數(shù)字信號(hào)處理理論得出式(3):

導(dǎo)航中的相關(guān)是圓周相關(guān),這里x(n)是接收的導(dǎo)航信號(hào)數(shù)據(jù),y(n)指本地碼數(shù)據(jù)。y(n)后補(bǔ)一半的零是避免做圓周相關(guān)運(yùn)算時(shí),1 ms之外的數(shù)據(jù)對(duì)結(jié)果產(chǎn)生影響。IFFT結(jié)果的前一半數(shù)據(jù)為實(shí)際的1 ms相關(guān)結(jié)果,后一半結(jié)果數(shù)據(jù)舍掉。
載波頻率fc=1 268.52 MHz,采樣頻率fs=62 MHz,模擬中頻fIF=46.52 MHz,碼速率fp=10.23 MHz。當(dāng)相干積累時(shí)間TC=2 ms時(shí),采樣點(diǎn)數(shù)L=fs×TC=124 K。經(jīng)4點(diǎn)平均處理后,F(xiàn)FT變換的長(zhǎng)度N=31 K,故可在數(shù)據(jù)后補(bǔ)零至32 768點(diǎn),用32 K的FFT IP核完成循環(huán)相關(guān)運(yùn)算。非相干積累次數(shù)M=8,需要存儲(chǔ)總的數(shù)據(jù)點(diǎn)數(shù)為32 K×8=256 K。與此匹配,本地碼的FFT變換結(jié)果存儲(chǔ)器也需要256 K。數(shù)據(jù)實(shí)部和虛部均用8 bit數(shù)據(jù)表示,拼成16 bit數(shù)據(jù)共用一個(gè)單元。為了使讀寫的流程更加順暢,外掛兩片DDR2 SDRAM存儲(chǔ)器,將其包裝成FFT核讀寫數(shù)據(jù)流的格式,選用64M×16結(jié)構(gòu)1 Gbit的DDR2 SDRAM存儲(chǔ)器。
根據(jù)算法原理,在FPGA中規(guī)劃設(shè)計(jì)方案如圖2所示。用狀態(tài)機(jī)的思想完成整個(gè)設(shè)計(jì),算法中用到的FFT和IFFT都是基于1個(gè)FFT IP核分時(shí)復(fù)用實(shí)現(xiàn)[14]。為方便處理,設(shè)置2片DDR2 SDRAM存儲(chǔ)器,且DDR2 SDRAM存儲(chǔ)器在同一狀態(tài)的數(shù)據(jù)只有一個(gè)流向[15]。

圖2 基于FPGA的P碼直捕實(shí)現(xiàn)框圖Fig.2 FPGA based P-code direct acquisition implementation diagram
狀態(tài)機(jī)與邏輯控制模塊實(shí)現(xiàn)系統(tǒng)主狀態(tài)機(jī)的狀態(tài)切換,為其他模塊提供必要的控制信號(hào)。模塊各狀態(tài)描述如表1所示,狀態(tài)轉(zhuǎn)換圖如圖3所示。

表1 狀態(tài)機(jī)狀態(tài)描述Tab.1 State machine described
當(dāng)狀態(tài)切換到S1時(shí),對(duì)讀入的數(shù)據(jù)碼進(jìn)行A/D變換,并逐次4點(diǎn)平均,為保證實(shí)時(shí)存儲(chǔ),以15.5 MHz的存儲(chǔ)速率存入雙口“乒乓”RAM中,然后用高倍速的124 MHz速率首尾重疊的讀出數(shù)據(jù),每2 ms的數(shù)據(jù)后面補(bǔ)零到32 K,送入FFT核進(jìn)行FFT變換,同時(shí)生成DDR2寫信號(hào),按寫信號(hào)中的地址將FFT結(jié)果存入到DDR2 RAM1相應(yīng)地址中,當(dāng)所有需要的數(shù)據(jù)完成上述過程后向狀態(tài)機(jī)輸出結(jié)束信號(hào)Acquition_over,狀態(tài)變?yōu)镾2。接收碼采樣處理波形如圖4所示。

圖3 狀態(tài)轉(zhuǎn)換Fig.3 State transition

圖4 接收碼采樣處理波形Fig.4 Receiving codes sampling and processing
當(dāng)狀態(tài)轉(zhuǎn)換到S2時(shí),從準(zhǔn)備好本地碼仿真文件中將數(shù)據(jù)以62 MHz的速率讀出,擴(kuò)位成8位數(shù)據(jù),同時(shí)采用4點(diǎn)平均的方法降速率至15.5 MHz。將有效的8位數(shù)據(jù)用FIFO緩沖,以適應(yīng)FFT IP核需要的124 MHz流入要求。將FIFO中數(shù)據(jù)讀出,每讀出1 ms數(shù)據(jù)后面補(bǔ)零到32 K,送入FFT IP核,同時(shí)生成DDR2寫信號(hào),按寫信號(hào)中的地址將FFT結(jié)果存入到DDR2 RAM2相應(yīng)地址中,當(dāng)所有需要的數(shù)據(jù)完成上述過程后向狀態(tài)機(jī)輸出結(jié)束信號(hào)Local Trans_over,狀態(tài)變?yōu)镾3。
當(dāng)狀態(tài)轉(zhuǎn)到S3時(shí),判斷是否取夠±1 s時(shí)間不確定度的本地碼,如果沒取夠,用62 MHz頻率讀入下1 ms本地碼,將其擴(kuò)成8位有符號(hào)數(shù),進(jìn)行4點(diǎn)平均,存入FIFO中,如果取夠,F(xiàn)IFO中不再存入數(shù)據(jù)。
當(dāng)狀態(tài)轉(zhuǎn)到S6時(shí),對(duì)本地碼變換的次數(shù)進(jìn)行計(jì)數(shù),當(dāng)計(jì)數(shù)沒有遍歷±1 s時(shí),從FIFO中取數(shù),送入FFT核(同S2過程中),同時(shí)計(jì)算在DDR2中存放本地碼的首地址,將FFT結(jié)果(8位實(shí)部&8位虛部)和首地址都送給DDR2控制器寫端口,F(xiàn)FT輸出包尾信號(hào)后發(fā)出Continue_Research信號(hào),同時(shí)向S3輸出本地碼的首地址;當(dāng)計(jì)數(shù)遍歷±1 s時(shí),直接發(fā)出Search_over信號(hào)。本地碼采樣處理波形如圖5所示。
按既定的頻點(diǎn)生成規(guī)律,采用循環(huán)移位指針的方法,實(shí)現(xiàn)數(shù)據(jù)FFT結(jié)果的左移或右移代替多普勒頻移搜索,并在某個(gè)確定的碼相位下,檢測(cè)是否所有的頻點(diǎn)均已搜索完畢。

圖5 本地碼采樣處理波形Fig.5 Local code sample processing
按照頻點(diǎn)偏移量生成從DDR2中取數(shù)的地址,使其能夠完成搜索±5 k Hz的多普勒頻移,根據(jù)地址從DDR2中取出對(duì)應(yīng)數(shù)據(jù)碼和本地碼的FFT結(jié)果,將本地碼FFT結(jié)果取共軛后同數(shù)據(jù)碼FFT結(jié)果相乘,取出有效位,送入FFT核做逆運(yùn)算,從而完成相關(guān)運(yùn)算。改變頻點(diǎn)偏移量,直至搜索完±5 k Hz或得到想要的相關(guān)峰。
在S3各子狀態(tài)下,能夠通過FIFO的方法,對(duì)IFFT的前16 K結(jié)果的模方進(jìn)行累加。
在S4狀態(tài)下,啟動(dòng)信號(hào)檢測(cè),將積累結(jié)果從FIFO中找出,并逐個(gè)與閾值相比較,若大于閾值則認(rèn)為檢測(cè)到導(dǎo)航信號(hào)存在,向狀態(tài)機(jī)發(fā)出GnssSignal_Detected信號(hào),狀態(tài)轉(zhuǎn)換到S7,輸出相應(yīng)的值并結(jié)束捕獲狀態(tài);若16 K數(shù)據(jù)依次與閾值進(jìn)行比較都不大于閾值,則向狀態(tài)機(jī)發(fā)出Continue_Research信號(hào),狀態(tài)轉(zhuǎn)換到S5,繼續(xù)檢測(cè)。檢測(cè)大于閾值波形如圖6所示。

圖6 檢測(cè)大于閾值波形Fig.6 Accumulated results larger than the threshold
從系統(tǒng)編譯綜合報(bào)告可以看到本文使用的為Cyclone V的5CGXFC7C7F23C8芯片,快速捕獲模塊系統(tǒng)使用Total block memory bits:8992740 bits,PLLs:2。
P碼直捕模塊的內(nèi)部時(shí)鐘為124 MHz,調(diào)用Altera的IP核采用流式對(duì)32 K點(diǎn)的FFT/IFFT進(jìn)行運(yùn)算,需要32 768個(gè)時(shí)鐘周期,即完成一次FFT/IFFT運(yùn)算的時(shí)間T1=32 768/124 MHz=264.26μs,每緩存1 ms的數(shù)據(jù)接收數(shù)據(jù)碼和本地碼需要T2=1 000μs。在S1狀態(tài)時(shí),需要采集9 ms接收數(shù)據(jù)碼進(jìn)行首尾重疊,由于用流水線的形式采集數(shù)據(jù)并做FFT運(yùn)算,所以所用時(shí)間TS1≈T2×9+T1=9 264.26μs;在S2狀態(tài)時(shí),需要采集8 ms的本地碼后面補(bǔ)零,所以所用時(shí)間TS2≈T2×8+T1=8 264.26μs;在S3—S5狀態(tài)只要將緩存的FFT結(jié)果按頻移等效的地址取出數(shù)據(jù)做共軛相乘并求IFFT,由于移位次數(shù)N=±11=23,非相干積累次數(shù)M=8,所以所用時(shí)間TS3≈T1×M×N=48 623.84μs。這樣完成第1 ms搜索需要時(shí)間TA=TS1+TS2+TS3=66 152.36μs。在上述過程同時(shí)將下1 ms本地碼讀入,當(dāng)沒有搜索到時(shí)需要進(jìn)入S6狀態(tài)將下1 ms本地碼進(jìn)行FFT變換,用時(shí)T3=T1,再對(duì)當(dāng)前的數(shù)據(jù)進(jìn)行多普勒頻移搜索,用時(shí)T4=T1×M×N,完成1 ms檢測(cè)搜索的P碼時(shí)間不確定范圍為4 ms,搜索±1 s的時(shí)間不確定范圍需要搜索的碼相位段數(shù)為500,需要時(shí)間TB≈(T3+T4)×500=24 444 050μs,所以總的捕獲時(shí)間約為T=TA+TB=24.5 s。
設(shè)計(jì)了基于FPGA的P碼直捕解決方案,采用均值分組塊補(bǔ)零的P碼直捕算法,減少直接捕獲時(shí)間,可大大縮短P碼接收機(jī)的首次定位時(shí)間,充分利用FPGA特性,占用硬件資源少,適合流片。在ModelSim仿真環(huán)境下對(duì)算法進(jìn)行驗(yàn)證,結(jié)果證實(shí):均值分組塊補(bǔ)零的P碼直捕算法能夠在25 s內(nèi)完成對(duì)多普勒頻移為±5 k Hz、時(shí)間不確定度為±1 s的P碼的搜索,滿足系統(tǒng)指標(biāo)對(duì)捕獲時(shí)間的要求,且比在相同條件下采用基于16 K點(diǎn)FFT重疊平均算法捕獲時(shí)間減少22 s。
[1] PETOVELLO M G,DRISCOLL C O,LACHAPELLE G.Carrier phase tracking of weak signals using different receiver architectures[A].ION NTM 2008 Conference[C].San Diego:[s.n.],2008.1023-1033.
[2] DRISCOLL C O,GERARD L.Comparison of traditional and kalman filter based tracking architectures[A].European Navigation Conference 2009[C].Naples:[s.n.],2009.967-976.
[3] BORRE K,AKOS D M,BERTELSEN N,et al.A Software-Defined GPS and Galileo Receiver[M].Boston:Springer Verlag,2006.
[4] PSIAKI M L.Smoother-based GPS signal tracking in a software receiver[A].ION GPS[C].Salt Lake:[s.n.],2001.2900-2913.
[5] KAPLAN D E.The Principle and Application of GPS[M].Beijing:Publishing House of Electronics Industry,2007.
[6] DAVID M L,JAMES B Y T.Comparison of acquisition methods for software GPS receiver[A].ION GPS[C].Salt Lake:[s.n.],2000.2385-2390.
[7] LIN D M,TSUI J B Y.A software GPS receiver for weak signals[J].IEEE MTT-S International Microwave Symposium Digest,2001,3:2139-2142.
[8] YANG C,JUAN V,JAMES C.Fast direct P(Y)-code acquisition using XFAST[A].ION GPS[C].Nashville:[s.n.],1999.317-324.
[9] PANG J,F(xiàn)RANK V G,JANUSZ S,et al.Fast direct GPS P-code acquisition[J].GPS Solutions,2003,7(3):168-175.
[10] PANG J,JANUSZ S.Fast direct GPS signal acquisition using FPGA[A].ECCTD[C].Kraków:[s.n.],2003.284-287.
[11] 張新波,張 揚(yáng),劉 田.GPS接收機(jī)P(Y)碼直捕方法研究 [J].電子科技大學(xué)學(xué)報(bào),2008,37(sup):62-65.
ZHANG Xinbo,ZHANG Yang,LIU Tian.The GPS receiver P(Y)code direct acquisition method[J].Journal of University of Electronic Science and Technology,2008,37(sup):62-65.
[12] 謝 鋼.GPS原理與接收機(jī)設(shè)計(jì)[M].北京:電子工業(yè)出版社,2009.
XIE Gang.Principle of GPS and Design of Receiver[M].Beijing:Publishing House of Electronics Industry,2009.
[13] 李玉紅,寇艷紅,張其善.微弱 GPS信號(hào)捕獲算法研究[J].遙測(cè)遙控,2009(7):61-65.
LI Yuhong,KOU Yanhong,ZHANG Qishan.Study on acquisition algorithm of weak GPS signal[J].Telemetry and Remote Control,2009(7):61-65.
[14] 楊偉才,侯 潔,劉玉坤,等.基于FPGA的FFT處理器設(shè)計(jì)[J].河北工業(yè)科技,2013,30(2):112-116.
YANG Weicai,HOU Jie,LIU Yukun,et al.Design of FFT processor based on FPGA[J].Hebei Journal of Industrial Science and Technology,2013,30(2):112-116.
[15] 張 陽,王中陽,王紅勝,等.基于FPGA的多端口存儲(chǔ)控制器設(shè)計(jì)[J].河北工業(yè)科技,2010,27(6):401-405.
ZHANG Yang,WANG Zhongyang,WANG Hongsheng,et al.Design of multi-port memory controller based on FPGA[J].Hebei Journal of Industrial Science and Technology,2010,27(6):401-405.
Principle and implement of P-code direct acquisition based on average block zero padding
YU Guoqing1,JIN Rui1,LI Yongwei2
(1.School of Information Science and Engineering,Hebei University of Science and Technology,Shijiazhuang Hebei 050018,China;2.School of Electrical Engineering,Hebei University of Science and Technology,Shijiazhuang Hebei 050018,China)
The long period precise ranging code(P-code)is mainly applied to precise positioning service.A new P-code direct acquisition method based on average block zero padding and FFT is provided to reduce the amount of calculation by direct average method.Using piecewise overlapping zero to make continuous coherent integration decomposed into a common cyclic correlation and cache the FFT result of the
code and local codes,and FFT results circumference shift replaces the Doppler shift search.The hardware adopts double DDR2 cache and reuse of one 32 K Point FFT_IP core.Logic algorithm is implemented on the FPGA,and the function partitioning,and the core sub-module functions and specific implementation plan are described in details.ModelSim simulation shows that it can improve the use ratio of data and decrease the acquisition time.
FFT;P-code direct acquisition;FPGA implementation;double DDR2 cache;piecewise overlapping zero
TN911.7
A
1008-1542(2014)02-0172-07
10.7535/hbkd.2014yx02011
2013-12-26;
2014-02-23;責(zé)任編輯:陳書欣
國家自然科學(xué)基金(61076052)
于國慶(1969-),男,山東寧津人,副教授,碩士,主要從事測(cè)控技術(shù)方面的研究。
E-mail:hbkdygq@163.com