專利名稱:一種提取數(shù)據(jù)流中特定數(shù)據(jù)的方法和裝置的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種數(shù)據(jù)處理方法和裝置,尤其是一種數(shù)據(jù)的選擇性存儲方法和裝置。
背景技術(shù):
在數(shù)據(jù)/信號傳輸處理中,經(jīng)常會需要從數(shù)據(jù)流中提取一些符合要求的值并將其存儲下來,例如WCDMA擴(kuò)頻系統(tǒng)中的主徑提取和搜索范圍確定。無線信道中接收的信號是到達(dá)接收機(jī)的多徑分量合成,主徑特指多徑中能量最大的那個多徑,其它多徑位于主徑周圍。在WCDMA擴(kuò)頻系統(tǒng)中,信道帶寬遠(yuǎn)遠(yuǎn)大于信道的平坦衰落帶寬,但由于CDMA擴(kuò)頻碼在選擇時就要求它具有很好的自相關(guān)特性,所以在無線信道中出現(xiàn)的時延擴(kuò)展,就可以被看作只是被傳信號的再次傳送,如果這些多徑信號相互間的延時超過了一個碼片的長度,那么它們就將被CDMA接收機(jī)看作是非相關(guān)噪聲,如果在接收端同時獲得幾個不同路徑的信號,將這些信號適當(dāng)合并成總的接收信號,就能夠大大減少衰落的影響。實(shí)現(xiàn)主徑提取和搜索范圍確定的目的就是為了后續(xù)的多徑提取和多徑合并。通過主徑提取,可以從獲取的不同延遲位置上的信號能量分布中,識別出最大能量的主徑位置。而通過搜索范圍確定則可以將這些多徑所在位置的范圍找出。完成主徑提取和搜索范圍確定后,就可以在鎖定的搜索范圍內(nèi)進(jìn)一步識別出具有較大能量的多徑位置,最后將提取的多徑進(jìn)行適當(dāng)合并。由于多徑之間是統(tǒng)計獨(dú)立的,所以經(jīng)過適當(dāng)合并后就能使系統(tǒng)性能大為改善。
與本發(fā)明最相近似的實(shí)現(xiàn)方案有DSP實(shí)現(xiàn)方案,如圖1所示首先將覆蓋整個小區(qū)半徑內(nèi)的數(shù)據(jù)流數(shù)據(jù)存儲下來,存儲完畢后啟動最大值搜索,即對存儲的所有數(shù)據(jù)進(jìn)行一一比較找出最大值,最大值搜索完畢,再啟動搜索范圍數(shù)據(jù)存儲,存儲最大值前后要求范圍內(nèi)的所有數(shù)據(jù)。可以看到,整個實(shí)現(xiàn)過程是一個串行的過程。上述方案的缺點(diǎn)是
1.需要將整個搜索小區(qū)范圍內(nèi)的數(shù)據(jù)流完全存儲下來,消耗的存儲空間太大,且在高速輸入數(shù)據(jù)流的數(shù)據(jù)量特別大的情況用硬件實(shí)現(xiàn)根本不現(xiàn)實(shí);2.最大值搜索階段運(yùn)算操作花費(fèi)時間過多,導(dǎo)致處理延遲過長;3.用于一次性的高速數(shù)據(jù)流處理時會造成系統(tǒng)瓶頸,使系統(tǒng)處理能力下降。
發(fā)明內(nèi)容
本發(fā)明的目的在于憑借最小結(jié)構(gòu)的存儲空間,在數(shù)據(jù)流輸入完畢的同時,實(shí)現(xiàn)數(shù)據(jù)流中特定數(shù)據(jù)的提取。
本發(fā)明提取數(shù)據(jù)流中特定數(shù)據(jù)的方法包括以下步驟A、輸入數(shù)據(jù)流;B、同時搜索當(dāng)前需要值;C、存儲當(dāng)前需要值和/或者該值前后允許范圍內(nèi)的數(shù)據(jù)步驟A中的數(shù)據(jù)流輸入方式為循環(huán)寫入,即將中間存儲器寫滿后再回到該存儲器的首地址依次寫入,新寫入的數(shù)據(jù)覆蓋原有數(shù)據(jù)。
步驟B搜索當(dāng)前符合要求的數(shù)據(jù)的方法是判斷當(dāng)前輸入的數(shù)據(jù)是否符合要求,如果符合,則該數(shù)據(jù)即是當(dāng)前需要值,否則當(dāng)前需要值保持原值不變。
步驟C包括C1、當(dāng)搜索到當(dāng)前需要值時啟動中間存儲器讀控制,讀取控制參數(shù),包括讀取首地址和讀取范圍,其中讀取首地址是當(dāng)前需要值前設(shè)定范圍內(nèi)離當(dāng)前需要值最遠(yuǎn)的數(shù)據(jù)在中間存儲器中的所在地址,讀取范圍是當(dāng)前需要值前后允許范圍內(nèi)的數(shù)據(jù)個數(shù)加1;C2、同時啟動數(shù)據(jù)存儲器寫控制,讀取控制參數(shù),包括寫入首地址和讀取范圍,其中寫入首地址是數(shù)據(jù)存儲器的0地址,寫入范圍與中間存儲器讀控制參數(shù)中的讀取范圍相同。
本發(fā)明提取數(shù)據(jù)流中特定數(shù)據(jù)的裝置由當(dāng)前需要值搜索模塊、中間存儲器、中間存儲器讀控制模塊、數(shù)據(jù)存儲器和數(shù)據(jù)存儲器寫控制模塊構(gòu)成當(dāng)前需要值搜索模塊接收數(shù)據(jù)流,并且與中間存儲器讀控制模塊和數(shù)據(jù)存儲器寫控制模塊相連,當(dāng)搜索到當(dāng)前需要值時啟動中間存儲器讀控制模塊和數(shù)據(jù)存儲器寫控制模塊;中間存儲器與當(dāng)前需要值搜索模塊同時接收數(shù)據(jù)流,并且與中間存器讀控制相連,當(dāng)搜索到當(dāng)前需要值時,中間存器讀控制模塊從中間存儲器獲取讀控制參數(shù);數(shù)據(jù)存儲器與中間存儲器和數(shù)據(jù)存儲器寫控制模塊相連,當(dāng)搜索到當(dāng)前需要值時,數(shù)據(jù)存儲器寫控制模塊更新寫控制參數(shù),中間存儲器中的數(shù)據(jù)按照讀控制參數(shù)和寫控制參數(shù)寫入數(shù)據(jù)存儲器。
上述裝置還包括與中間存儲器相連的中間存儲器寫控制模塊,中間存儲器存儲所占空間至少為當(dāng)前需要值及其前允許范圍內(nèi)數(shù)據(jù)的存儲空間;數(shù)據(jù)存儲器占存儲空間為需要存儲的數(shù)據(jù)所需的存儲空間;上述當(dāng)前需要值搜索模塊由比較器、當(dāng)前需要值寄存器及當(dāng)前輸入數(shù)據(jù)為當(dāng)前需要值指示寄存器組成,比較器與當(dāng)前需要值寄存器和當(dāng)前輸入數(shù)據(jù)為當(dāng)前需要值指示寄存器相連,將當(dāng)前需要值寄存器中的數(shù)據(jù)和當(dāng)前輸入數(shù)據(jù)中符合要求的一個寫入當(dāng)前需要值寄存器,如果當(dāng)前輸入數(shù)據(jù)符合要求則啟動當(dāng)前輸入數(shù)據(jù)為當(dāng)前最大值指示寄存器,將當(dāng)前需要值寄存器中的數(shù)據(jù)換為當(dāng)前輸入數(shù)據(jù),否則當(dāng)前需要值寄存器中的數(shù)據(jù)保持不變。
本發(fā)明所需的存儲空間與輸入數(shù)據(jù)流的數(shù)據(jù)量無關(guān),僅取決于最大值前后要求存儲的數(shù)據(jù)量,不僅極大地節(jié)約了邏輯存儲資源,而且使得與搜索小區(qū)大小無關(guān),便于系統(tǒng)靈活配置;數(shù)據(jù)流輸入完畢即可搜索出本數(shù)據(jù)流的最大值并存儲要求存儲的所有數(shù)據(jù),極大節(jié)省處理時間,解決了系統(tǒng)的處理瓶頸,增強(qiáng)了系統(tǒng)的處理能力,極大地降低了系統(tǒng)的成本。
圖1是提取最大值及其前后允許范圍內(nèi)數(shù)據(jù)的電路圖;圖2是本發(fā)明提取最大值及其前后允許范圍內(nèi)數(shù)據(jù)的原理圖;圖3是本發(fā)明提取最大值及其前后允許范圍內(nèi)數(shù)據(jù)的流程圖;圖4是提取最大值及其前后允許范圍內(nèi)數(shù)據(jù)的裝置結(jié)構(gòu)圖;
圖5是本發(fā)明最大值搜尋模塊的結(jié)構(gòu)圖。
具體實(shí)施例方式
本發(fā)明憑借一個數(shù)據(jù)滑窗來實(shí)現(xiàn)數(shù)據(jù)流中特定數(shù)據(jù)的提取。
如圖2所示,如果設(shè)計要求存儲數(shù)據(jù)流中最大值前X個數(shù)據(jù)、該最大值以及該最大值后Y個數(shù)據(jù),那么所選數(shù)據(jù)滑窗的大小為(X+Y+1)。在輸入每一個數(shù)據(jù)時,需要判斷當(dāng)前輸入的數(shù)據(jù)是否大于前面已經(jīng)輸入的數(shù)據(jù),即判斷輸入數(shù)據(jù)是否為當(dāng)前最大值。只要輸入數(shù)據(jù)為當(dāng)前最大值,數(shù)據(jù)滑窗就會滑到當(dāng)前最大值周圍,且滑窗在最大值前的大小為X,在最大值后的大小為Y。如果輸入數(shù)據(jù)不是當(dāng)前最大值,那么當(dāng)前最大值、數(shù)據(jù)滑窗位置保持不變。因?yàn)樽畲笾翟跀?shù)據(jù)流中的位置是隨機(jī)的,當(dāng)最大值前輸入的數(shù)據(jù)不足X個時,數(shù)據(jù)存儲器存儲最大值前輸入的所有數(shù)據(jù);同樣理由,當(dāng)最大值后輸入的數(shù)據(jù)不足Y個時,數(shù)據(jù)存儲器存儲最大值后輸入的所有數(shù)據(jù)??紤]這些特殊情況,數(shù)據(jù)存儲器中將存儲最大值、Xj個最大值前數(shù)據(jù)、Yj個最大值后數(shù)據(jù)。數(shù)據(jù)流輸入完畢時的當(dāng)前最大值即為我們搜索的本數(shù)據(jù)流的最大值,而此時數(shù)據(jù)滑窗內(nèi)的數(shù)據(jù)就是設(shè)計要求存儲的數(shù)據(jù)。
根據(jù)上述原理,存儲數(shù)據(jù)流中最大值以及該最大值前后一定范圍中的數(shù)據(jù)的具體方法如圖3所示將數(shù)據(jù)流按照循環(huán)方式寫入中間存儲器,同時搜索當(dāng)前最大值,即將當(dāng)前輸入的數(shù)據(jù)與前面已經(jīng)輸入的所有數(shù)據(jù)相比較,如果當(dāng)前輸入的數(shù)據(jù)大于前面輸入的所有數(shù)據(jù),那么該數(shù)據(jù)就是當(dāng)前最大值,否則當(dāng)前最大值保持原值不變。當(dāng)搜索到當(dāng)前最大值時,將該值及其前后一定范圍內(nèi)的數(shù)據(jù)從中間存儲器中讀出并寫入數(shù)據(jù)存儲器。前述循環(huán)寫入方式通過中間存儲器寫控制實(shí)現(xiàn)將數(shù)據(jù)依次寫入中間存儲器,寫滿后又回到該存儲器的首地址重新依次寫入,原來寫入的數(shù)據(jù)將被現(xiàn)在寫入的數(shù)據(jù)所覆蓋。如此反復(fù),直到數(shù)據(jù)流中所有數(shù)據(jù)寫完為止,當(dāng)數(shù)據(jù)流輸入完畢的同時也就已經(jīng)搜索出本數(shù)據(jù)流的最大值。
在輸入數(shù)據(jù)流中的任一時刻,當(dāng)搜索到當(dāng)前最大值時,中間存儲器讀控制和數(shù)據(jù)存儲器寫將立即啟動,對中間存儲器的讀取并對數(shù)據(jù)存儲器寫入。也就是說,當(dāng)前最大值每更新一次,中間存儲器讀取和數(shù)據(jù)存儲器寫入就要重新啟動一次,使讀取首地址、讀取范圍、寫入首地址、寫入范圍等參數(shù)更新一次,更新過程具體如下每次啟動的讀取首地址為當(dāng)前最大值前第Xj個數(shù)據(jù)在中間存儲器中的所在地址,讀取范圍為(Xj+Yj+1)個數(shù)據(jù),讀取的方式為循環(huán)方式,即讀到中間存儲器最后一個地址時將回到第一個地址開始讀??;每次啟動的寫入首地址為數(shù)據(jù)存儲器的0地址,中間存儲器讀出的數(shù)據(jù)(即當(dāng)前最大值及其前后設(shè)定范圍內(nèi)的數(shù)據(jù))將從0地址開始依次寫入數(shù)據(jù)存儲器,原來存儲的數(shù)據(jù)被新寫入的數(shù)據(jù)覆蓋。當(dāng)所有的數(shù)據(jù)流輸入完畢時,即可搜索出該數(shù)據(jù)流的最大值,而且最大值前Xj個數(shù)據(jù)、最大值、最大值后Yj個數(shù)據(jù)依次存儲于數(shù)據(jù)存儲器中。
上述方法可以用圖4所示的裝置實(shí)現(xiàn)。該裝置由最大值搜索模塊、中間存儲器、中間存儲器讀控制模塊、中間存儲器寫控制模塊、數(shù)據(jù)存儲器和數(shù)據(jù)存儲器寫控制模塊構(gòu)成。最大值搜索模塊和中間存儲器同時與數(shù)據(jù)輸入模塊相連,用于接收數(shù)據(jù)流;中間存儲器寫控制模塊與中間存儲器相連,使數(shù)據(jù)流循環(huán)寫入中間存儲器;最大值搜索模塊與中間存儲器讀控制模塊和數(shù)據(jù)存儲器寫控制模塊相連,中間存儲器讀控制和數(shù)據(jù)存儲器寫控制分別與中間存儲器和數(shù)據(jù)存儲器相連,當(dāng)搜索到當(dāng)前最大值時啟動讀寫控制,更新數(shù)據(jù)存儲器中的數(shù)據(jù)。
上述裝置中,中間存儲器和數(shù)據(jù)存儲器的存儲空間與輸入數(shù)據(jù)流的數(shù)據(jù)量無關(guān),僅取決于最大值前后要求存儲的數(shù)據(jù)量。假設(shè)設(shè)計要求存儲最大值前X個數(shù)據(jù)、最大值以及最大值后Y個數(shù)據(jù),那么無論輸入數(shù)據(jù)流的數(shù)據(jù)量有多大,本發(fā)明所需的存儲空間為(2X+Y+3),其中,中間存儲器占存儲空間(X+2)、數(shù)據(jù)存儲器占存儲空間(X+Y+1)。中間存儲器采用(X+2)的存儲空間,能保證在輸入數(shù)據(jù)為最大值時,最大值前X個數(shù)據(jù)仍保存在存儲器中,同時為了避免讀寫沖突,留有1個存儲空間的余量。在實(shí)際電路設(shè)計中,還要根據(jù)實(shí)際時序情況調(diào)整存儲空間余量大小,看是否需要增加些許。
上述最大值搜索模塊可以用圖5中的電路實(shí)現(xiàn)。該電路由比較器、當(dāng)前最大值寄存器及當(dāng)前最大值指示寄存器組成,比較器與當(dāng)前最大值寄存器和當(dāng)前輸入數(shù)據(jù)為當(dāng)前最大值指示寄存器相連,將當(dāng)前最大值寄存器中的數(shù)據(jù)和當(dāng)前輸入數(shù)據(jù)中較大者寫入當(dāng)前最大值寄存器,如果當(dāng)前輸入數(shù)據(jù)較大時啟動當(dāng)前輸入數(shù)據(jù)為當(dāng)前最大值指示寄存器。
以上描述了提取最大值并存儲該最大值及其前后一定范圍內(nèi)的數(shù)據(jù)的方法和裝置,當(dāng)需要提取的是最小值或者其他要求的數(shù)據(jù)時,將上述方法中和裝置中的搜索條件作相應(yīng)修改即可當(dāng)需要提取存儲最小值時,搜索條件為當(dāng)前輸入數(shù)據(jù)小于所有已輸入數(shù)據(jù);當(dāng)需要提取存儲指定值時,搜索條件為將當(dāng)前輸入值等于指定值。
權(quán)利要求
1.一種提取數(shù)據(jù)流中特定數(shù)據(jù)的方法,其特征在于所述方法包括以下步驟A、輸入數(shù)據(jù)流;B、同時搜索當(dāng)前需要值;C、存儲當(dāng)前需要值和/或者該值前后允許范圍內(nèi)的數(shù)據(jù)。
2.如權(quán)利要求1所述的提取數(shù)據(jù)流中特定數(shù)據(jù)的方法,其特征在于步驟A中的數(shù)據(jù)流輸入方式為循環(huán)寫入,即將中間存儲器寫滿后再回到該存儲器的首地址依次寫入,新寫入的數(shù)據(jù)覆蓋原有數(shù)據(jù)。
3.如權(quán)利要求1所述的提取數(shù)據(jù)流中特定數(shù)據(jù)的方法,其特征在于步驟B中搜索當(dāng)前需要值的方法是判斷當(dāng)前輸入的數(shù)據(jù)是否符合要求,如果符合,則該數(shù)據(jù)即是當(dāng)前需要值,否則當(dāng)前需要值保持原值不變。
4.如權(quán)利要求1所述的提取數(shù)據(jù)流中特定數(shù)據(jù)的方法,其特征在于步驟C包括C1、當(dāng)搜索到當(dāng)前需要值時啟動中間存儲器讀控制,讀取控制參數(shù),包括讀取首地址和讀取范圍,其中讀取首地址是當(dāng)前需要值前設(shè)定范圍內(nèi)離當(dāng)前需要值最遠(yuǎn)的數(shù)據(jù)在中間存儲器中的所在地址,讀取范圍是當(dāng)前需要值前后允許范圍內(nèi)的數(shù)據(jù)個數(shù)加1;C2、同時啟動數(shù)據(jù)存儲器寫控制,讀取控制參數(shù),包括寫入首地址和讀取范圍,其中寫入首地址是數(shù)據(jù)存儲器的0地址,寫入范圍與中間存儲器讀控制參數(shù)中的讀取范圍相同。
5.一種實(shí)現(xiàn)權(quán)利要求1所述方法的裝置,其特征在于所述裝置由當(dāng)前需要值搜索模塊、中間存儲器、中間存儲器讀控制模塊、數(shù)據(jù)存儲器和數(shù)據(jù)存儲器寫控制模塊構(gòu)成當(dāng)前需要值搜索模塊接收數(shù)據(jù)流,并且與中間存儲器讀控制模塊和數(shù)據(jù)存儲器寫控制模塊相連,當(dāng)搜索到當(dāng)前需要值時啟動中間存儲器讀控制模塊和數(shù)據(jù)存儲器寫控制模塊;中間存儲器與當(dāng)前需要值搜索模塊同時接收數(shù)據(jù)流,并且與中間存器讀控制相連,當(dāng)搜索到當(dāng)前需要值時,中間存器讀控制模塊從中間存儲器獲取讀控制參數(shù);數(shù)據(jù)存儲器與中間存儲器和數(shù)據(jù)存儲器寫控制模塊相連,當(dāng)搜索到當(dāng)前需要值時,數(shù)據(jù)存儲器寫控制模塊更新寫控制參數(shù),中間存儲器中的數(shù)據(jù)按照讀控制參數(shù)和寫控制參數(shù)寫入數(shù)據(jù)存儲器。
6.如權(quán)利要求5所述的提取存數(shù)據(jù)流中特定數(shù)據(jù)的裝置,其特征在于該裝置還包括與中間存儲器相連的中間存儲器寫控制模塊,使數(shù)據(jù)流以循環(huán)寫入方式輸入中間存儲器。
7.如權(quán)利要求6所述的提取數(shù)據(jù)流中特定數(shù)據(jù)的裝置,其特征在于所述中間存儲器存儲所占空間至少為存儲當(dāng)前需要值及其前面允許范圍內(nèi)數(shù)據(jù)所必需的空間;
8.如權(quán)利要求7所述的提取特定數(shù)據(jù)的裝置,其特征在于所述數(shù)據(jù)存儲器占存儲空間至少為存儲當(dāng)前需要值及其前后允許范圍內(nèi)數(shù)據(jù)所必需的空間;
9.如權(quán)利要求5、6、7或8所述的提取數(shù)據(jù)流中特定數(shù)據(jù)的裝置,其特征在于所述當(dāng)前需要值搜索模塊由比較器、當(dāng)前需要值寄存器及當(dāng)前輸入數(shù)據(jù)為當(dāng)前需要值指示寄存器組成,比較器接收當(dāng)前輸入數(shù)據(jù)并且與當(dāng)前需要值寄存器和當(dāng)前輸入數(shù)據(jù)為當(dāng)前需要值指示寄存器相連,將當(dāng)前需要值寄存器中的數(shù)據(jù)和當(dāng)前輸入數(shù)據(jù)中符合要求的一個寫入當(dāng)前需要值寄存器,如果當(dāng)前輸入數(shù)據(jù)符合要求則啟動當(dāng)前輸入數(shù)據(jù)為當(dāng)前最大值指示寄存器,將當(dāng)前需要值寄存器中的數(shù)據(jù)換為當(dāng)前輸入數(shù)據(jù),否則當(dāng)前需要值寄存器中的數(shù)據(jù)保持不變。
全文摘要
本發(fā)明涉及一種提取數(shù)據(jù)流中特定數(shù)據(jù)的方法和裝置,所述方法包括A、輸入數(shù)據(jù)流;B、同時搜索當(dāng)前需要值;C、存儲當(dāng)前需要值和/或者該值前后允許范圍內(nèi)的數(shù)據(jù)。所述裝置由當(dāng)前需要值搜索模塊、中間存儲器、中間存儲器讀控制模塊、中間存儲器寫控制模塊、數(shù)據(jù)存儲器和數(shù)據(jù)存儲器寫控制模塊構(gòu)成;當(dāng)前需要值搜索模塊分別與數(shù)據(jù)輸入模塊、中間存儲器讀控制模塊和數(shù)據(jù)存儲器寫控制模塊相連;中間存儲器分別與數(shù)據(jù)輸入模塊、中間存器讀控制、中間存器寫控制和數(shù)據(jù)存儲器相連;數(shù)據(jù)存儲器還與數(shù)據(jù)存儲器寫控制相連。本發(fā)明極大地節(jié)約了邏輯存儲資源,節(jié)省了處理時間,降低了系統(tǒng)成本。
文檔編號H04W4/12GK1481097SQ0214178
公開日2004年3月10日 申請日期2002年9月5日 優(yōu)先權(quán)日2002年9月5日
發(fā)明者王菁, 肖妍妍, 菁 王 申請人:華為技術(shù)有限公司