本發(fā)明涉及衛(wèi)星導(dǎo)航接收機(jī)數(shù)字信號(hào)處理芯片技術(shù)領(lǐng)域,尤其涉及應(yīng)用于衛(wèi)星導(dǎo)航接收機(jī)頻域載波進(jìn)行頻域鑒頻的硬件加速裝置和方法。
背景技術(shù):
全球?qū)Ш叫l(wèi)星系統(tǒng)(globalnavigationsatellitesystem,gnss)接收機(jī)的主要任務(wù)是捕獲和跟蹤衛(wèi)星信號(hào),信號(hào)從射頻信號(hào)變換到基帶信號(hào)后,經(jīng)過(guò)基帶信號(hào)處理完成導(dǎo)航定位解算。
gnss信號(hào)的捕獲從接收信號(hào)中搜索、捕獲各顆可見的gps衛(wèi)星信號(hào),并從中獲得衛(wèi)星信號(hào)的載波頻率和c/a碼相位粗略估計(jì)值。在gnss信號(hào)的跟蹤階段,從捕獲階段獲得的衛(wèi)星信號(hào)載波頻率和碼相位粗略估計(jì)值出發(fā),以初始估計(jì)的碼相位為中心設(shè)置多個(gè)相關(guān)器,并將載波頻率設(shè)置為初始估計(jì)的載波頻率,通過(guò)跟蹤環(huán)路逐步精細(xì)對(duì)兩個(gè)信號(hào)參量的估計(jì),同時(shí)輸出對(duì)信號(hào)各種測(cè)量值,再順便解調(diào)出信號(hào)中的導(dǎo)航電文比特。跟蹤環(huán)路一般由相關(guān)器、鑒別器、環(huán)路濾波器組成。其中相關(guān)器往往通過(guò)硬件實(shí)現(xiàn),將整數(shù)毫秒的積分累加值輸出給環(huán)路鑒別器,而環(huán)路鑒別器與環(huán)路濾波器往往由軟件實(shí)現(xiàn)。跟蹤環(huán)路從功能上分為碼跟蹤與載波跟蹤,分別完成測(cè)距碼相位及載波頻率的精確鎖定。
進(jìn)行載波跟蹤需利用頻率鑒別器對(duì)頻偏進(jìn)行估計(jì),一般有兩種方法:利用反正切函數(shù)求相鄰時(shí)間的相關(guān)器輸出積分值的相位差除以時(shí)間間隔得到頻率,另一種方法是利用快速傅里葉變換(fastfouriertransform,fft)或離散傅里葉變換(discretefouriertransform,dft)對(duì)相關(guān)器連續(xù)時(shí)間點(diǎn)輸出的積分值進(jìn)行頻域轉(zhuǎn)換得到頻譜然后鑒頻,后一種方法因更大的頻率鑒別范圍獲得了廣泛的應(yīng)用。
進(jìn)行頻域鑒別時(shí)需要在規(guī)定的頻率及相關(guān)器范圍內(nèi)找到頻譜最大值,然后在最大值附近鑒頻得到頻偏估計(jì)的精細(xì)值;另外對(duì)環(huán)路狀態(tài)進(jìn)行監(jiān)控也需要在某個(gè)事先確定的頻率及相關(guān)器范圍對(duì)頻譜的最大值分布進(jìn)行統(tǒng)計(jì),即需要對(duì)多個(gè)不同頻率及相關(guān)器范圍進(jìn)行最大值統(tǒng)計(jì)。由于gnss信號(hào)上調(diào)制有導(dǎo)航電文,其相干積分時(shí)間往往有限,為提高信噪比,往往會(huì)進(jìn)行非相干累加;此外,對(duì)環(huán)路的監(jiān)控還需要計(jì)算頻譜的均值。由于在dft計(jì)算時(shí)會(huì)對(duì)頻譜進(jìn)行遍歷,可以方便求取最大值和均值、計(jì)算非相干累加值。
采用fft相對(duì)于dft可以節(jié)省計(jì)算量,節(jié)省的計(jì)算量隨頻點(diǎn)數(shù)增加而增加,但頻點(diǎn)數(shù)不能隨意選擇,頻率間隔由頻點(diǎn)數(shù)決定,且為增加頻域分辨率,fft算法要求對(duì)輸入時(shí)域數(shù)據(jù)補(bǔ)零,這又會(huì)增加計(jì)算量,當(dāng)頻點(diǎn)數(shù)較少時(shí),計(jì)算量節(jié)省的優(yōu)勢(shì)不明顯。采用dft時(shí),可以靈活選擇頻率間隔和頻點(diǎn)數(shù)??紤]到gnss信號(hào)跟蹤典型場(chǎng)景,所需頻點(diǎn)數(shù)并不大,此時(shí)采用dft方案,可以避免了補(bǔ)零,實(shí)際應(yīng)用時(shí)的計(jì)算量與fft方案相當(dāng),且能靈活配置頻率間隔和頻點(diǎn)數(shù)。本發(fā)明即利用dft對(duì)相關(guān)器輸出的積分值進(jìn)行頻域分解。
當(dāng)前利用dft進(jìn)行頻域鑒頻及鑒頻時(shí),統(tǒng)計(jì)及搜索頻譜最大值均由接收機(jī)軟件或固件實(shí)現(xiàn),dft運(yùn)算可采用軟件計(jì)算或利用dsp器件實(shí)現(xiàn)。軟件計(jì)算實(shí)現(xiàn)dft運(yùn)算存在速度低的缺陷;dsp器件實(shí)現(xiàn)dft運(yùn)算可以提高運(yùn)算速度,但無(wú)法在大規(guī)模集成電路實(shí)現(xiàn),不夠靈活。業(yè)界亟需提高一種方案,以提高gnss信號(hào)載波跟蹤計(jì)算速度,從而提高系統(tǒng)處理能力。
技術(shù)實(shí)現(xiàn)要素:
為了克服上述現(xiàn)有技術(shù)的不足,本發(fā)明提供了一種衛(wèi)星導(dǎo)航基帶信號(hào)跟蹤算法的硬件加速裝置和方法,能夠提高gnss信號(hào)載波跟蹤計(jì)算速度,從而提高系統(tǒng)處理能力,本發(fā)明解決上述技術(shù)問(wèn)題的技術(shù)方案如下:一種衛(wèi)星導(dǎo)航基帶信號(hào)跟蹤算法的硬件加速裝置,包括數(shù)據(jù)傳輸模塊、數(shù)據(jù)緩存模塊、訪問(wèn)控制模塊、運(yùn)算累加模塊和統(tǒng)計(jì)模塊,所述運(yùn)算累加模塊包括多個(gè)運(yùn)算累加單元,所述數(shù)據(jù)緩存模塊通過(guò)數(shù)據(jù)傳輸模塊與基帶soc系統(tǒng)相連,所述運(yùn)算累加模塊與數(shù)據(jù)緩存模塊相連,所述訪問(wèn)控制模塊分別與基帶soc系統(tǒng)、數(shù)據(jù)傳輸模塊、數(shù)據(jù)緩存模塊、運(yùn)算累加模塊和統(tǒng)計(jì)模塊相連,通過(guò)所述數(shù)據(jù)傳輸模塊將dft數(shù)據(jù)和上次運(yùn)算的ncs數(shù)據(jù)寫入數(shù)據(jù)緩存模塊中,數(shù)據(jù)寫入完成后訪問(wèn)控制模塊產(chǎn)生啟動(dòng)dft運(yùn)算指示信號(hào),運(yùn)算累加模塊產(chǎn)生旋轉(zhuǎn)因子并通過(guò)多個(gè)運(yùn)算累加單元對(duì)dft數(shù)據(jù)并行進(jìn)行dft運(yùn)算,再通過(guò)對(duì)dft運(yùn)算結(jié)果的累加得到新的ncs數(shù)據(jù)并對(duì)上次運(yùn)算的ncs數(shù)據(jù)進(jìn)行更新,統(tǒng)計(jì)模塊根據(jù)dft運(yùn)算結(jié)果和更新后的ncs數(shù)據(jù)得到統(tǒng)計(jì)結(jié)果,數(shù)據(jù)傳輸模塊再將更新后的ncs數(shù)據(jù)傳輸回基帶soc系統(tǒng)。
進(jìn)一步地,還包括數(shù)據(jù)仲裁模塊,所述數(shù)據(jù)緩存模塊通過(guò)數(shù)據(jù)仲裁模塊與數(shù)據(jù)傳輸模塊、訪問(wèn)控制模塊、運(yùn)算累加模塊和統(tǒng)計(jì)模塊相連,數(shù)據(jù)仲裁模塊用于對(duì)運(yùn)算和統(tǒng)計(jì)前后數(shù)據(jù)傳輸模塊和數(shù)據(jù)緩存模塊的接口進(jìn)行仲裁選擇。
進(jìn)一步地,還包括接口配置模塊,所述訪問(wèn)控制模塊通過(guò)接口配置模塊與基帶soc系統(tǒng)相連。
進(jìn)一步地,所述數(shù)據(jù)傳輸模塊通過(guò)ahb主設(shè)備接口與基帶soc系統(tǒng)相連。
進(jìn)一步地,所述數(shù)據(jù)緩存模塊包括dft數(shù)據(jù)單元和ncs數(shù)據(jù)單元,dft數(shù)據(jù)單元用于寄存所述dft運(yùn)算結(jié)果,ncs數(shù)據(jù)單元用于寄存所述ncs數(shù)據(jù)。
一種衛(wèi)星導(dǎo)航基帶信號(hào)跟蹤算法的硬件加速方法,包括以下步驟:
1)dft數(shù)據(jù)和上次運(yùn)算的ncs數(shù)據(jù)預(yù)先存放在基帶soc系統(tǒng)中,硬件加速裝置在運(yùn)算前執(zhí)行dft數(shù)據(jù)和上次運(yùn)算的ncs數(shù)據(jù)的寫入;
2)dft數(shù)據(jù)和上次運(yùn)算的ncs數(shù)據(jù)寫入完成后,硬件加速裝置根據(jù)啟動(dòng)dft運(yùn)算指示信號(hào)開始dft運(yùn)算;
3)硬件加速裝置讀取dft數(shù)據(jù),并按軟件配置的參數(shù)產(chǎn)生旋轉(zhuǎn)因子,通過(guò)多個(gè)運(yùn)算累加單元并行進(jìn)行dft運(yùn)算,再通過(guò)對(duì)dft運(yùn)算結(jié)果的累加得到更新后的ncs數(shù)據(jù);
4)硬件加速裝置統(tǒng)計(jì)dft運(yùn)算結(jié)果和更新后的ncs數(shù)據(jù),根據(jù)dft運(yùn)算結(jié)果和更新后的ncs數(shù)據(jù)得到統(tǒng)計(jì)結(jié)果,并將更新后的ncs數(shù)據(jù)傳輸?shù)交鶐oc系統(tǒng)中;
5)完成運(yùn)算結(jié)果統(tǒng)計(jì)和ncs數(shù)據(jù)傳輸后,硬件加速裝置停止運(yùn)算和統(tǒng)計(jì)并產(chǎn)生硬件中斷,基帶soc系統(tǒng)響應(yīng)硬件中斷后讀取更新后的ncs數(shù)據(jù)并進(jìn)行后續(xù)算法處理。
進(jìn)一步地,所述步驟1)中,硬件加速裝置通過(guò)ahb主設(shè)備接口以dma方式寫入dft數(shù)據(jù)和上次運(yùn)算的ncs數(shù)據(jù)。
進(jìn)一步地,所述步驟3)中,軟件配置的參數(shù)具體包括相關(guān)器個(gè)數(shù)、dft運(yùn)算頻點(diǎn)數(shù)、dft運(yùn)算采樣點(diǎn)數(shù)和是否累加。
進(jìn)一步地,所述步驟4)中,統(tǒng)計(jì)結(jié)果具體包括能量峰值、能量峰值位置和能量均值。
進(jìn)一步地,所述步驟4)中,得到統(tǒng)計(jì)結(jié)果后把統(tǒng)計(jì)結(jié)果存在硬件加速裝置內(nèi)。
采用上述進(jìn)一步方案的有益效果是:本發(fā)明提出一種在片上系統(tǒng)芯片實(shí)現(xiàn)的頻域載波跟蹤算法的硬件加速裝置和方法,專門對(duì)gnss信號(hào)進(jìn)行頻域內(nèi)跟蹤算法時(shí)頻域鑒頻的dft運(yùn)算,同時(shí)對(duì)dft運(yùn)算結(jié)果進(jìn)行統(tǒng)計(jì),如對(duì)指定的頻率及相關(guān)器范圍內(nèi)搜索頻譜最大值,并針對(duì)該硬件加速裝置的電路及性能進(jìn)行高度優(yōu)化,提高gnss信號(hào)載波跟蹤計(jì)算速度,從而提高系統(tǒng)處理能力。
附圖說(shuō)明
圖1為本發(fā)明硬件加速裝置的示意圖;
圖2為本發(fā)明硬件加速方法的流程圖。
具體實(shí)施方式
以下結(jié)合附圖對(duì)本發(fā)明的原理和特征進(jìn)行描述,所舉實(shí)例只用于解釋本發(fā)明,并非用于限定本發(fā)明的范圍。
一種衛(wèi)星導(dǎo)航基帶信號(hào)跟蹤算法的硬件加速裝置和方法,應(yīng)用于基帶soc系統(tǒng),即基帶信號(hào)片上系統(tǒng)芯片systemonchip?;鶐oc系統(tǒng)主要包括微控制器、基帶處理模塊以及系統(tǒng)ram模塊,集成了本硬件加速裝置的基帶soc系統(tǒng)專門處理gnss中頻信號(hào),硬件加速裝置以ambaahb接口集成在基帶soc系統(tǒng)中。本硬件加速裝置對(duì)外接口使用ambaahb接口及硬件中斷指示信號(hào),即advancedmicroprocessorbusarchitecture高級(jí)微控制器總線結(jié)構(gòu)和advancedhigh-performancebus高級(jí)高性能總線,接口簡(jiǎn)單,可以ip模塊的形式直接集成在基帶soc系統(tǒng)中。ambaahb接口包括ahb主設(shè)備接口和ahb從設(shè)備接口,在本硬件加速裝置中,數(shù)據(jù)傳輸模塊1通過(guò)ahb主設(shè)備接口與基帶soc系統(tǒng)相連,接口配置模塊7通過(guò)ahb從設(shè)備接口與基帶soc系統(tǒng)相連。數(shù)據(jù)傳輸通過(guò)ahb主設(shè)備接口進(jìn)行,硬件加速裝置的軟件配置通過(guò)ahb從設(shè)備接口進(jìn)行。硬件加速方法的工作過(guò)程及原理如下:
輸入的gnss中頻信號(hào)經(jīng)信號(hào)預(yù)處理后,分別被基帶soc系統(tǒng)的捕獲模塊和跟蹤模塊處理,運(yùn)行于微控制器的固件程序會(huì)將跟蹤模塊輸出的各相關(guān)器相干積分結(jié)果寫系統(tǒng)ram模塊中;
固件程序?qū)⑿枰M(jìn)行dft運(yùn)算的源數(shù)據(jù)在系統(tǒng)ram模塊的起始地址通過(guò)ahb從設(shè)備接口配置硬件加速裝置內(nèi)部相關(guān)寄存器,并且配置其它參數(shù)如相關(guān)器個(gè)數(shù)、dft運(yùn)算頻點(diǎn)數(shù)、dft運(yùn)算采樣點(diǎn)數(shù)等,最后配置寄存器啟動(dòng)dft運(yùn)算;
硬件加速裝置通過(guò)ahb主設(shè)備接口以dma方式從系統(tǒng)ram模塊拷貝dft運(yùn)算源數(shù)據(jù)及dft運(yùn)算累加數(shù)據(jù),啟動(dòng)dft運(yùn)算及累加后,自動(dòng)統(tǒng)計(jì)計(jì)算結(jié)果,把統(tǒng)計(jì)結(jié)果保存在數(shù)據(jù)緩存模塊2中,并將累加所得的ncs數(shù)據(jù)通過(guò)ahb主設(shè)備接口以dma方式拷貝回系統(tǒng)ram模塊,最后產(chǎn)生中斷;
固件程序收到中斷后,直接從系統(tǒng)ram模塊讀取累加所得的ncs數(shù)據(jù),并從數(shù)據(jù)緩存模塊2讀出統(tǒng)計(jì)結(jié)果,再進(jìn)行頻域跟蹤載波環(huán)算法,實(shí)現(xiàn)穩(wěn)定快速跟蹤。
如圖1所示,一種衛(wèi)星導(dǎo)航基帶信號(hào)跟蹤算法的硬件加速裝置,包括數(shù)據(jù)傳輸模塊1、數(shù)據(jù)緩存模塊2、訪問(wèn)控制模塊3、運(yùn)算累加模塊4、統(tǒng)計(jì)模塊5、數(shù)據(jù)仲裁模塊6和接口配置模塊7。
數(shù)據(jù)傳輸模塊1實(shí)現(xiàn)本硬件加速裝置與基帶soc系統(tǒng)間的猝發(fā)式數(shù)據(jù)傳輸,減少數(shù)據(jù)搬移時(shí)間,并實(shí)現(xiàn)dma方式傳輸數(shù)據(jù),即directmemoryaccess的方式直接訪問(wèn)基帶soc系統(tǒng)的系統(tǒng)ram模塊,無(wú)需微控制器干預(yù),提高性能。具體地,實(shí)現(xiàn)從基帶soc系統(tǒng)搬運(yùn)dft運(yùn)算數(shù)據(jù)和ncs數(shù)據(jù)到硬件加速裝置內(nèi)部的數(shù)據(jù)緩存模塊2,以及從硬件加速裝置內(nèi)部的數(shù)據(jù)緩存模塊2讀出更新后的ncs數(shù)據(jù)寫入系統(tǒng)ram模塊的操作。其中,ncs數(shù)據(jù)為dft運(yùn)算后的能量值累加結(jié)果,即非相干積分值。
數(shù)據(jù)緩存模塊2包括dft數(shù)據(jù)單元和ncs數(shù)據(jù)單元,分別用于寄存dft運(yùn)算源數(shù)據(jù)和ncs數(shù)據(jù)。
訪問(wèn)控制模塊3實(shí)現(xiàn)本硬件加速裝置的時(shí)序控制以及啟動(dòng)控制,包括單次dft運(yùn)算或dft運(yùn)算后的能量值累加時(shí)對(duì)數(shù)據(jù)緩存模塊2的訪問(wèn)控制。
運(yùn)算累加模塊4包括多個(gè)運(yùn)算累加單元;具體地,運(yùn)算累加模塊4包括四個(gè)運(yùn)算累加單元,實(shí)現(xiàn)四次dft并行運(yùn)算,并將運(yùn)算結(jié)果串行輸出,轉(zhuǎn)換為能量值,實(shí)現(xiàn)dft計(jì)算的能量值累加并將累加所得的ncs數(shù)據(jù)寫入數(shù)據(jù)緩存模塊2。
統(tǒng)計(jì)模塊5實(shí)現(xiàn)對(duì)dft運(yùn)算結(jié)果和更新后的ncs數(shù)據(jù)的統(tǒng)計(jì),如對(duì)指定的頻率及相關(guān)器范圍內(nèi)搜索頻譜最大值。
數(shù)據(jù)仲裁模塊6實(shí)現(xiàn)對(duì)數(shù)據(jù)傳輸模塊1和數(shù)據(jù)緩存模塊2的接口進(jìn)行仲裁選擇。硬件加速裝置需要寫入dft數(shù)據(jù)和上次運(yùn)算的ncs數(shù)據(jù)時(shí),數(shù)據(jù)仲裁模塊6通過(guò)數(shù)據(jù)傳輸模塊1把dft數(shù)據(jù)和上次運(yùn)算的ncs數(shù)據(jù)從基帶soc系統(tǒng)寫入數(shù)據(jù)緩存模塊2;寫入完成后,當(dāng)硬件加速裝置需要進(jìn)行dft運(yùn)算時(shí),數(shù)據(jù)仲裁模塊6把dft數(shù)據(jù)和上次運(yùn)算的ncs數(shù)據(jù)從數(shù)據(jù)緩存模塊2寫入運(yùn)算累加模塊4,運(yùn)算累加模塊4運(yùn)算得到dft運(yùn)算結(jié)果和更新后的ncs數(shù)據(jù)并把上述結(jié)果存到數(shù)據(jù)緩存模塊2,數(shù)據(jù)仲裁模塊6再把更新后的ncs數(shù)據(jù)通過(guò)數(shù)據(jù)傳輸模塊1傳回基帶soc系統(tǒng)。
接口配置模塊7實(shí)現(xiàn)配置接口功能,實(shí)現(xiàn)軟件對(duì)本硬件加速裝置的寄存器配置及查詢功能。
如圖2所示,一種衛(wèi)星導(dǎo)航基帶信號(hào)跟蹤算法的硬件加速方法,主要概括為以下步驟:
1.在硬件加速裝置工作前,基帶跟蹤模塊輸出的各種碼相位的相關(guān)器運(yùn)算后的相干積分值作為dft數(shù)據(jù),以及上次dft運(yùn)算后的能量值累加結(jié)果即ncs數(shù)據(jù)均已存放在基帶soc系統(tǒng),軟件將dft數(shù)據(jù)和ncs數(shù)據(jù)存放在基帶soc系統(tǒng)的起始地址,通過(guò)ahb從設(shè)備接口寫入本硬件加速裝置的接口配置模塊7,再配置其它dft運(yùn)算參數(shù)如相關(guān)器個(gè)數(shù)、dft運(yùn)算頻點(diǎn)數(shù)、dft運(yùn)算采樣點(diǎn)數(shù)及是否累加等,最后配置啟動(dòng)dft運(yùn)算;
2.訪問(wèn)控制模塊3解碼配置寄存器,產(chǎn)生dft運(yùn)算時(shí)序指示信號(hào),待啟動(dòng)dft運(yùn)算時(shí),向數(shù)據(jù)傳輸模塊1發(fā)出控制信號(hào),數(shù)據(jù)傳輸模塊1自動(dòng)通過(guò)ahb主設(shè)備接口從基帶soc系統(tǒng)依次通過(guò)猝發(fā)傳輸模式以dma方式拷貝dft數(shù)據(jù)和ncs數(shù)據(jù),并通過(guò)數(shù)據(jù)仲裁模塊6寫入硬件加速裝置內(nèi)部的數(shù)據(jù)緩存模塊2。待數(shù)據(jù)拷貝完后,訪問(wèn)控制模塊3向運(yùn)算累加模塊4發(fā)出啟動(dòng)dft運(yùn)算的指示信號(hào);
3.運(yùn)算累加模塊4收到啟動(dòng)dft運(yùn)算指示信號(hào)后,從硬件加速裝置內(nèi)部的數(shù)據(jù)緩存模塊2讀出dft數(shù)據(jù),按軟件配置的參數(shù)產(chǎn)生旋轉(zhuǎn)因子,并進(jìn)行dft運(yùn)算。為加速dft運(yùn)算,內(nèi)部實(shí)現(xiàn)4頻點(diǎn)并行dft運(yùn)算單元,可以同時(shí)進(jìn)行最多4頻點(diǎn)的dft運(yùn)算結(jié)果輸出;運(yùn)算累加模塊4逐個(gè)相關(guān)器逐個(gè)頻點(diǎn)完成dft運(yùn)算,以及通過(guò)對(duì)dft運(yùn)算結(jié)果的累加得到更新后的ncs數(shù)據(jù);
4.當(dāng)運(yùn)算累加模塊4完成所有相關(guān)器所有頻點(diǎn)數(shù)據(jù)的dft運(yùn)算及ncs累加后,統(tǒng)計(jì)模塊5即開始分別統(tǒng)計(jì)dft運(yùn)算結(jié)果和更新后的ncs數(shù)據(jù),得到統(tǒng)計(jì)結(jié)果。統(tǒng)計(jì)結(jié)果包括能量峰值、能量峰值位置和能量均值,其中能量峰值為所有相關(guān)器所有頻點(diǎn)能量值的最大值,能量峰值位置為相關(guān)器編號(hào)以及頻點(diǎn)值,能量均值為所有相關(guān)器所有頻點(diǎn)能量值的平均值。同時(shí)根據(jù)軟件配置,數(shù)據(jù)傳輸模塊1將更新后的ncs數(shù)據(jù)自動(dòng)拷貝到基帶soc系統(tǒng)內(nèi);
5.當(dāng)統(tǒng)計(jì)模塊5完成運(yùn)算結(jié)果統(tǒng)計(jì)而且ncs數(shù)據(jù)被拷貝到基帶soc系統(tǒng)后,即產(chǎn)生硬件中斷,軟件直接讀取運(yùn)算結(jié)果并進(jìn)行后續(xù)算法處理。運(yùn)算結(jié)果包括基帶soc系統(tǒng)內(nèi)部的ncs數(shù)據(jù)以及本硬件加速裝置內(nèi)訪問(wèn)控制模塊3保存的統(tǒng)計(jì)結(jié)果及峰值檢測(cè)結(jié)果。
本硬件加速裝置和方法通過(guò)硬件加速器形式實(shí)現(xiàn)信號(hào)跟蹤算法的dft運(yùn)算,采用ambaahb接口,能以ip模塊形式直接集成在基帶soc系統(tǒng)中,易移植復(fù)用,并適合大規(guī)模集成電路實(shí)現(xiàn);ahb主設(shè)備接口以dma方式自動(dòng)從指定內(nèi)存起始地址取出運(yùn)算數(shù)據(jù),并通過(guò)猝發(fā)式傳輸模式以dma方式拷貝到數(shù)據(jù)緩存模塊2,減少數(shù)據(jù)搬移時(shí)間及微處理器干預(yù),提高性能;單次dft運(yùn)算時(shí),每個(gè)相關(guān)器可并行進(jìn)行n個(gè)頻點(diǎn)數(shù)的dft運(yùn)算,大幅提高技術(shù)性能,同時(shí)兼顧性能與面積平衡,其中n為自然數(shù)且n大于2;對(duì)單次dft運(yùn)算后的能量值進(jìn)行統(tǒng)計(jì),統(tǒng)計(jì)結(jié)果包括能量峰值、能量峰值位置和能量均值;根據(jù)軟件配置,可對(duì)dft運(yùn)算后的能量值進(jìn)行累加和對(duì)dft運(yùn)算后的能量值累加結(jié)果進(jìn)行統(tǒng)計(jì),如統(tǒng)計(jì)累加的能量均值,找出3個(gè)矩形窗的累加能量值的peak值位置;每次dft運(yùn)算以及ncs能量累加后,當(dāng)計(jì)算出統(tǒng)計(jì)結(jié)果時(shí),硬件邏輯發(fā)送中斷,軟件直接讀取運(yùn)算結(jié)果并進(jìn)行后續(xù)算法處理。
總的來(lái)說(shuō),通過(guò)如下幾個(gè)方面措施減少運(yùn)算時(shí)間:
通過(guò)硬件加速器形式實(shí)現(xiàn)信號(hào)跟蹤算法的dft運(yùn)算以及dft運(yùn)算后的能量值運(yùn)算,同時(shí)自動(dòng)實(shí)現(xiàn)dft運(yùn)算結(jié)果累加,并且將dft運(yùn)算結(jié)果以及dft運(yùn)算累加結(jié)果進(jìn)行峰值檢測(cè)和統(tǒng)計(jì),使同樣運(yùn)算量計(jì)算時(shí)間約為軟件計(jì)算時(shí)間的1/200,另外通過(guò)硬件實(shí)現(xiàn)dft運(yùn)算結(jié)果的統(tǒng)計(jì)及峰值檢測(cè)更減少大量時(shí)間;
并行進(jìn)行dft運(yùn)算,單次dft運(yùn)算可并行進(jìn)行n個(gè)頻點(diǎn)數(shù)的dft運(yùn)算,使dft運(yùn)算時(shí)間將為通常串行計(jì)算時(shí)間的1/n;
在將dft數(shù)據(jù)從基帶soc系統(tǒng)拷貝到本硬件加速裝置的數(shù)據(jù)緩存模塊2,或者將存放在本硬件加速裝置數(shù)據(jù)緩存模塊2的dft運(yùn)算結(jié)果拷貝到基帶soc系統(tǒng)時(shí),通過(guò)ahb主設(shè)備接口以dma方式進(jìn)行數(shù)據(jù)傳輸,數(shù)據(jù)拷貝平均時(shí)間將為縮至以i/o訪問(wèn)方式的1/5。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。