亚洲狠狠干,亚洲国产福利精品一区二区,国产八区,激情文学亚洲色图

一種基于dsp高速采樣信號實(shí)時濾波的方法和裝置的制作方法

文檔序號:7518839閱讀:740來源:國知局
專利名稱:一種基于dsp高速采樣信號實(shí)時濾波的方法和裝置的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信技術(shù)領(lǐng)域,更具體地,涉及一種基于DSP高速采樣信號實(shí)時濾波的方法和裝置。
背景技術(shù)
高速采樣信號實(shí)時濾波采用如下方法,即數(shù)字中頻濾波器在可編程門陣列(FPGA) 平臺或?qū)S眉呻娐?ASIC)平臺中對高速采樣信息進(jìn)行處理?;蛘呃酶咝阅堋⒋蟠鎯α康臄?shù)字信號處理器(DSP)實(shí)現(xiàn)高速采樣信號實(shí)時濾波。在數(shù)字中頻濾波器結(jié)構(gòu)中,接收數(shù)據(jù)時開辟兩個存儲區(qū),一個存儲區(qū)稱為乒緩存器,另一個存儲區(qū)稱為乓緩存區(qū)。接收到的數(shù)據(jù)先存入乒緩存區(qū)進(jìn)行處理,再將處理后的數(shù)據(jù)存入乓緩存區(qū)。采用乒乓(Ping-pong)的方式接收數(shù)據(jù),分段接收模數(shù)轉(zhuǎn)換器(ADC) 輸出的實(shí)時中頻信號,再對每個緩存區(qū)(buffer)內(nèi)的數(shù)據(jù)段從邏輯上分割為微元,然后順序?qū)ξ⒃M(jìn)行濾波,輸出“拖尾”數(shù)據(jù)。拖尾是由于數(shù)字中頻濾波器在做線性卷積處理時產(chǎn)生的,即輸出數(shù)據(jù)長度大于輸入數(shù)據(jù)長度的數(shù)據(jù)。傳統(tǒng)的數(shù)字中頻濾波器結(jié)構(gòu)經(jīng)常采用 ping-pong的分段接收方式來滿足實(shí)時性處理的需要,且可以同時降低對于存儲空間的需求。在濾波算法中,為了能夠?qū)σ粋€長序列數(shù)據(jù)實(shí)時進(jìn)行濾波,將長序列數(shù)據(jù)分割為長度為N的短序列數(shù)據(jù),對每個短序列數(shù)據(jù)進(jìn)行濾波。假設(shè)數(shù)字中頻濾波器的濾波器系數(shù)即抽頭系數(shù)為M,則每個短序列數(shù)據(jù)濾波后輸出的序列長度為N+M-1,每兩個相鄰短序列數(shù)據(jù)間需要進(jìn)行M-I次首尾相加操作。采用上述濾波算法可以有效減小濾波器的整體時延, 但無疑大大增加了運(yùn)算量,且分割的短序列長度越短、數(shù)量越多時,運(yùn)算量增加的越多。數(shù)字中頻濾波器以數(shù)據(jù)流(data flow)的方式流水工作,以一個采樣點(diǎn)作為基本的輸入輸出單元,可以達(dá)到“一入一出”的效果,符合實(shí)時性處理的需要。而DSP是以軟件的形式不斷的從存儲器中取出指令后執(zhí)行該指令。DSP只有一個或幾個執(zhí)行機(jī)構(gòu),可以完成的流水級數(shù)非常有限。由于處理效率的需要,在DSP中進(jìn)行數(shù)據(jù)塊(data block)式的處理, 即先收集一個較大的數(shù)據(jù)塊,然后各級濾波器以整塊數(shù)據(jù)作為基本的輸入輸出單元。在DSP 中,數(shù)據(jù)塊越大則時延越大,所需的存儲空間也相應(yīng)增大;數(shù)據(jù)塊減小,雖然可以有效的減小時延和所需的存儲空間,但需要付出運(yùn)算量增加的代價,影響了實(shí)時性處理。綜上,采用數(shù)字中頻濾波的FPGA平臺或ASIC平臺,以及性能較低和存儲量較小的 DSP,存在運(yùn)算時延長或運(yùn)算量大的問題。

發(fā)明內(nèi)容
本發(fā)明實(shí)施例提出一種基于DSP高速采樣信號實(shí)時濾波的方法,能夠減少運(yùn)算量和縮短運(yùn)算時延。本發(fā)明實(shí)施例還提出一種基于DSP高速采樣信號實(shí)時濾波的裝置,能夠減少運(yùn)算量和縮短運(yùn)算時延。
本發(fā)明實(shí)施例的技術(shù)方案如下一種基于DSP高速采樣信號實(shí)時濾波的方法,該方法包括對一幀高速采樣信號的數(shù)據(jù)進(jìn)行第一次分割,將第一次分割后的數(shù)據(jù)存入乒乓緩存器中;再次分割乒乓緩存器中的數(shù)據(jù)得到數(shù)據(jù)微元,對數(shù)據(jù)微元進(jìn)行濾波處理;將每一數(shù)據(jù)微元濾波處理后的末狀態(tài)作為下一數(shù)據(jù)微元濾波處理時的初狀態(tài),連續(xù)輸出所述濾波處理后的各數(shù)據(jù)微元;根據(jù)群時延在所述濾波處理后的所有數(shù)據(jù)微元后產(chǎn)生一串零值,輸出拖尾數(shù)據(jù)。所述對數(shù)據(jù)微元進(jìn)行濾波處理包括,完成乒存儲器數(shù)據(jù)微元存儲后啟動濾波處理,同時啟動乓存儲器的數(shù)據(jù)微元存儲;完成乓存儲器數(shù)據(jù)微元存儲后啟動濾波處理,同時啟動乒存儲器的數(shù)據(jù)微元存儲,交替對乒和乓存儲器中的數(shù)據(jù)微元進(jìn)行濾波,直到處理完一幀高速采樣信號對應(yīng)的所有數(shù)據(jù)微元。所述對于數(shù)據(jù)微元的濾波處理時間小于數(shù)據(jù)的存儲時間。所述數(shù)據(jù)微元濾波處理后的末狀態(tài)作為下一數(shù)據(jù)微元濾波處理時的初狀態(tài)包括, 利用濾波處理后緩存器卷積運(yùn)算后數(shù)據(jù)微元的末狀態(tài)作為另一個緩存器卷積運(yùn)算數(shù)據(jù)微元的初狀態(tài)。一種基于DSP高速采樣信號實(shí)時濾波的裝置,包括乒乓緩存器,用于存儲第一次分割后的一幀高速采樣信號的數(shù)據(jù),所述裝置還包括,分割模塊,用于對一幀高速采用信號的數(shù)據(jù)進(jìn)行第一次分割,再次分割乒乓緩存器中的數(shù)據(jù)得到數(shù)據(jù)微元;濾波模塊,用于對分割模塊輸出的數(shù)據(jù)微元進(jìn)行濾波,利用每一數(shù)據(jù)微元濾波處理后的末狀態(tài)作為下一數(shù)據(jù)微元濾波處理時的初狀態(tài),連續(xù)輸出所述濾波處理后的各數(shù)據(jù)微元;控制模塊,用于根據(jù)群時延在所述濾波處理后的所有數(shù)據(jù)微元后產(chǎn)生一串零值, 輸出拖尾數(shù)據(jù)。所述濾波模塊進(jìn)一步用于,利用濾波處理后緩存器卷積運(yùn)算后數(shù)據(jù)微元的末狀態(tài)作為另一個緩存器卷積運(yùn)算數(shù)據(jù)微元的初狀態(tài)。從上述技術(shù)方案中可以看出,在本發(fā)明實(shí)施例中,將分割后一幀高速采樣信號的數(shù)據(jù)存入乒乓緩存器中,再次分割乒乓緩存器中的數(shù)據(jù)得到數(shù)據(jù)微元,對數(shù)據(jù)微元進(jìn)行濾波處理。兩次分割同一幀高速采樣信號的數(shù)據(jù),得到更小的數(shù)據(jù)微元,以便縮短運(yùn)算時延。 將濾波處理后數(shù)據(jù)微元的末狀態(tài)作為下一濾波處理時數(shù)據(jù)微元的初狀態(tài),連續(xù)輸出所述濾波處理后數(shù)據(jù)微元,針對更小的數(shù)數(shù)據(jù)微元,由前一數(shù)據(jù)微元的末狀態(tài)作為下一數(shù)據(jù)微元的初狀態(tài),減少了運(yùn)算量。再根據(jù)群時延在所述濾波處理后的全部數(shù)據(jù)微元后輸入零值,輸出拖尾數(shù)據(jù)。從而能夠減少運(yùn)算量和縮短運(yùn)算時延。


圖1為本發(fā)明實(shí)施例基于DSP高速采樣信號實(shí)時濾波的方法流程示意圖;圖2為基于DSP平臺的高速采樣信號實(shí)時濾波裝置結(jié)構(gòu)示意3為本發(fā)明實(shí)施例高速采樣信號實(shí)時濾波的方法與FPGA/ASIC的處理方法、基
4于DSP的處理方法比較示意圖;圖4為本發(fā)明實(shí)施例基于DSP高速采樣信號實(shí)時濾波的裝置結(jié)構(gòu)示意圖。
具體實(shí)施例方式為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)表達(dá)得更加清楚明白,下面結(jié)合附圖及具體實(shí)施例對本發(fā)明再作進(jìn)一步詳細(xì)的說明。在本發(fā)明實(shí)施例中,由于對乒乓緩存器中的數(shù)據(jù)進(jìn)行了第二次分割,得到更小的數(shù)據(jù)微元以便縮小時延;另外,將濾波處理后數(shù)據(jù)微元的末狀態(tài)作為下一濾波處理時數(shù)據(jù)微元的初狀態(tài),減少數(shù)據(jù)運(yùn)算量,進(jìn)而縮短了運(yùn)算時間。參加附圖1是基于DSP高速采樣信號實(shí)時濾波的方法流程示意圖,具體包括以下步驟步驟101、再次分割數(shù)據(jù)。對一幀高速采樣信號對應(yīng)的數(shù)據(jù)段進(jìn)行二次分割,得到更小的數(shù)據(jù)微元后再濾波。二次分割一方面可以在運(yùn)算過程當(dāng)中減小DSP所需的內(nèi)存空間;另一方面,需要對最初的設(shè)計(jì)進(jìn)行調(diào)整時,比如改變一幀內(nèi)模數(shù)轉(zhuǎn)換器(ADC)輸出的數(shù)據(jù)總量、修改ping-pong buffer的容量等,均無需重新調(diào)整數(shù)據(jù)微元。即二次分割后的結(jié)構(gòu)具有更好的通用性和適應(yīng)性,結(jié)構(gòu)靈活,維護(hù)簡單,調(diào)試方便。步驟102、濾波處理。為了實(shí)現(xiàn)高速采樣信號的實(shí)時濾波,不僅需要對高速采樣信號進(jìn)行二次分割。另夕卜,在對數(shù)據(jù)微元進(jìn)行濾波時,利用乒乓buffer存儲濾波后的數(shù)據(jù)微元末狀態(tài)作為下一濾波處理時數(shù)據(jù)微元的初狀態(tài),則不需要任何首尾相加操作。采用上述方法,完全消除了由于相鄰數(shù)據(jù)微元濾波算法中需要進(jìn)行的首尾相加操作而增加的數(shù)據(jù)量,并有效地減少了時延,進(jìn)一步保證了高速采樣信號濾波的實(shí)時性。步驟103、輸出拖尾數(shù)據(jù)。在處理完所有的微元后,根據(jù)群時延的需要輸入若干個全零值,然后輸出“拖尾” 數(shù)據(jù)。群時延可以由系統(tǒng)獲知。實(shí)施例一參見附圖2是基于DSP平臺的高速采樣信號實(shí)時濾波裝置結(jié)構(gòu)示意圖。直接存儲器(DMA)控制來自ADC的中頻信號的接收和ping-pong存儲,并在完成一次ping buffer 的存儲后啟動一次數(shù)字中頻濾波處理,然后轉(zhuǎn)到pang buffer繼續(xù)進(jìn)行數(shù)據(jù)的存儲,完成后再啟動一次數(shù)字中頻濾波處理。在Ping buffer存儲數(shù)據(jù)后,啟動pang buffer存儲數(shù)據(jù), 同時啟動數(shù)據(jù)中頻濾波處理。數(shù)據(jù)中頻濾波處理是間斷進(jìn)行的。濾波器對數(shù)據(jù)的濾波處理時間小于乒buffer或乓buffer數(shù)據(jù)的存儲時間,才可以保證上述過程正常進(jìn)行。若濾波器對數(shù)據(jù)的濾波處理時間大于或等于乒buffer或乓buffer數(shù)據(jù)的存儲時間就會出現(xiàn)ping buffer或pang buffer等待濾波完成的狀況。濾波處理后的數(shù)據(jù)微元輸入濾波輸出存儲
οping-pong buffer的大小可以根據(jù)不同的系統(tǒng)進(jìn)行靈活的設(shè)置。增大buffer可以減少中斷次數(shù)從而降低中斷開銷,但同時消耗了更多存儲空間;縮小buffer可以節(jié)省存儲空間,但中斷次數(shù)的增加同時帶來中斷開銷的增長和效率的降低。
參見附圖3,將本專利所采用的濾波處理算法與基于FPGA/ASIC的濾波處理方法以及基于DSP的濾波處理方法進(jìn)行了比較。FPGA/ASIC的濾波處理方法便于完成“一入一出”的情況,即輸入χ輸出1。DSP濾波處理方式中,濾波器以較大的數(shù)據(jù)塊作為輸入,濾波處理后輸出較大的數(shù)據(jù)塊,然后以該數(shù)據(jù)塊作為下一級濾波器的輸入。與上述兩種方法不同,本專利采用了上述兩種方法的折中,先將長序列分段接收存入buffer,再將buffer中仍然較長的數(shù)據(jù)塊進(jìn)一步分割為數(shù)據(jù)微元,并改進(jìn)了數(shù)據(jù)微元濾波的實(shí)現(xiàn)方法,因此運(yùn)算量不會因?yàn)閿?shù)據(jù)的分割而增加。例如,系統(tǒng)中將ping buffer和pang buffer均設(shè)置為1800字節(jié),然后在第一次分割的基礎(chǔ)上對buffer內(nèi)數(shù)據(jù)進(jìn)行第二次分割,均分為12份,得到長度為150字節(jié)的數(shù)據(jù)微元。對于數(shù)據(jù)微元的濾波處理是濾波器的核心模塊,封裝為C語言的一個函數(shù)。每次濾波函數(shù)產(chǎn)生后,連續(xù)調(diào)用該濾波函數(shù)12次,完成對于一個buffer中接收數(shù)據(jù)的濾波處理。 二次分割后的數(shù)據(jù)微元再進(jìn)行濾波可以明顯縮小濾波函數(shù)使用的存儲空間。濾波函數(shù)的關(guān)鍵在于基于buffer的線性卷積運(yùn)算和數(shù)據(jù)更新。為了在對下一個數(shù)據(jù)微元進(jìn)行卷積處理時保持連續(xù)性,最關(guān)鍵的是必須將buffer對應(yīng)的變量設(shè)置為全局變量或者靜太局部變量,這樣就可以保證數(shù)據(jù)微元卷積結(jié)束后其buffer內(nèi)數(shù)據(jù)狀態(tài)保持不變,并作為下一個數(shù)據(jù)微元卷積運(yùn)算的初始狀態(tài)。不僅在一個ping-pong buffer內(nèi)的多個微元之間的卷積運(yùn)算需要保持連續(xù)性, 一個數(shù)據(jù)幀對應(yīng)的多個Ping-pong buffer之間的卷積運(yùn)算同樣需要保持連續(xù)性。因此, buffer的最后一個微元卷積后buffer的末狀態(tài),作為下一個buffer內(nèi)第一個微元卷積運(yùn)算時所使用的buffer的初狀態(tài)。由于線性卷積算法的特點(diǎn),長度為N的一幀數(shù)據(jù)在經(jīng)過抽頭個數(shù)為M的濾波器的線性卷積處理后,長度由N變?yōu)镹+M-1,增加了 M-1,增加的部分即為線性濾波器的群時延。 需要在每一幀的末尾進(jìn)行特殊處理,輸入一串全零值數(shù)據(jù),再輸出拖尾數(shù)據(jù),實(shí)施例二參見附圖4是高速采樣信號實(shí)時濾波的裝置結(jié)構(gòu)示意圖,具體包括乒乓緩存器401,用于存儲第一次分割后的一幀高速采樣信號的數(shù)據(jù);分割模塊402,用于對一幀高速采用信號的數(shù)據(jù)進(jìn)行第一次分割,再次分割乒乓緩存器中的數(shù)據(jù)得到數(shù)據(jù)微元濾波模塊403,用于對分割模塊輸出的數(shù)據(jù)微元進(jìn)行濾波,利用每一數(shù)據(jù)微元濾波處理后的末狀態(tài)作為下一數(shù)據(jù)微元濾波處理時的初狀態(tài),連續(xù)輸出所述濾波處理后的各數(shù)據(jù)微元;進(jìn)一步利用濾波處理后緩存器卷積運(yùn)算后數(shù)據(jù)微元的末狀態(tài)作為另一個緩存器卷積運(yùn)算數(shù)據(jù)微元的初狀態(tài)??刂颇K404,用于根據(jù)群時延在所述濾波處理后的所有數(shù)據(jù)微元后產(chǎn)生一串零值,輸出拖尾數(shù)據(jù)。以上所述,僅為本發(fā)明的較佳實(shí)施例而已,并非用于限定本發(fā)明的保護(hù)范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1.一種基于DSP高速采樣信號實(shí)時濾波的方法,其特征在于,該方法包括對一幀高速采樣信號的數(shù)據(jù)進(jìn)行第一次分割,將第一次分割后的數(shù)據(jù)存入乒乓緩存器中;再次分割乒乓緩存器中的數(shù)據(jù)得到數(shù)據(jù)微元,對數(shù)據(jù)微元進(jìn)行濾波處理;將每一數(shù)據(jù)微元濾波處理后的末狀態(tài)作為下一數(shù)據(jù)微元濾波處理時的初狀態(tài),連續(xù)輸出所述濾波處理后的各數(shù)據(jù)微元;根據(jù)群時延在所述濾波處理后的所有數(shù)據(jù)微元后產(chǎn)生一串零值,輸出拖尾數(shù)據(jù)。
2.根據(jù)權(quán)利要求1所述基于DSP高速采樣信號實(shí)時濾波的方法,其特征在于,所述對數(shù)據(jù)微元進(jìn)行濾波處理包括,完成乒存儲器數(shù)據(jù)微元存儲后啟動濾波處理,同時啟動乓存儲器的數(shù)據(jù)微元存儲;完成乓存儲器數(shù)據(jù)微元存儲后啟動濾波處理,同時啟動乒存儲器的數(shù)據(jù)微元存儲,交替對乒和乓存儲器中的數(shù)據(jù)微元進(jìn)行濾波,直到處理完一幀高速采樣信號對應(yīng)的所有數(shù)據(jù)微元。
3.根據(jù)權(quán)利要求2所述基于DSP高速采樣信號實(shí)時濾波的方法,其特征在于,所述對于數(shù)據(jù)微元的濾波處理時間小于數(shù)據(jù)的存儲時間。
4.根據(jù)權(quán)利要求2所述基于DSP高速采樣信號實(shí)時濾波的方法,其特征在于,所述數(shù)據(jù)微元濾波處理后的末狀態(tài)作為下一數(shù)據(jù)微元濾波處理時的初狀態(tài)包括,利用濾波處理后緩存器卷積運(yùn)算后數(shù)據(jù)微元的末狀態(tài)作為另一個緩存器卷積運(yùn)算數(shù)據(jù)微元的初狀態(tài)。
5.一種基于DSP高速采樣信號實(shí)時濾波的裝置,包括乒乓緩存器,用于存儲第一次分割后的一幀高速采樣信號的數(shù)據(jù),其特征在于,所述裝置還包括,分割模塊,用于對一幀高速采用信號的數(shù)據(jù)進(jìn)行第一次分割,再次分割乒乓緩存器中的數(shù)據(jù)得到數(shù)據(jù)微元;濾波模塊,用于對分割模塊輸出的數(shù)據(jù)微元進(jìn)行濾波,利用每一數(shù)據(jù)微元濾波處理后的末狀態(tài)作為下一數(shù)據(jù)微元濾波處理時的初狀態(tài),連續(xù)輸出所述濾波處理后的各數(shù)據(jù)微元;控制模塊,用于根據(jù)群時延在所述濾波處理后的所有數(shù)據(jù)微元后產(chǎn)生一串零值,輸出拖尾數(shù)據(jù)。
6.根據(jù)權(quán)利要求5所述基于DSP高速采樣信號實(shí)時濾波的裝置,其特征在于,所述濾波模塊進(jìn)一步用于,利用濾波處理后緩存器卷積運(yùn)算后數(shù)據(jù)微元的末狀態(tài)作為另一個緩存器卷積運(yùn)算數(shù)據(jù)微元的初狀態(tài)。
全文摘要
一種基于DSP高速采樣信號實(shí)時濾波的方法,該方法包括對一幀高速采樣信號的數(shù)據(jù)進(jìn)行第一次分割,將第一次分割后的數(shù)據(jù)存入乒乓緩存器中,再次分割乒乓緩存器中的數(shù)據(jù)得到數(shù)據(jù)微元,對數(shù)據(jù)微元順序進(jìn)行濾波處理;將每一數(shù)據(jù)微元濾波處理后的末狀態(tài)作為下一數(shù)據(jù)微元濾波處理時的初狀態(tài),連續(xù)輸出所述濾波處理后的各數(shù)據(jù)微元;根據(jù)群時延在所述濾波處理后的所有數(shù)據(jù)微元后產(chǎn)生一串零值,輸出拖尾數(shù)據(jù)。本文還公開了一種高速采樣信號實(shí)時濾波的裝置。應(yīng)用本發(fā)明實(shí)施例以后,能夠減小DSP內(nèi)存占用、減少運(yùn)算量和縮短運(yùn)算時延。
文檔編號H03H21/00GK102545834SQ20101061492
公開日2012年7月4日 申請日期2010年12月21日 優(yōu)先權(quán)日2010年12月21日
發(fā)明者吳寧, 孟杰, 杜顯豐, 齊歡 申請人:普天信息技術(shù)研究院有限公司
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點(diǎn)贊!
1