專利名稱:一種數(shù)字濾波器的檢測方法及裝置的制作方法
技術領域:
本發(fā)明屬于數(shù)字信號處理領域,尤其涉及一種數(shù)字濾波器的檢測方法及裝置。
背景技術:
數(shù)字濾波廣泛應用于數(shù)字信號處理領域中,與其它的算法處理配合共同實現(xiàn)復雜的數(shù)字信號處理功能。數(shù)字濾波器可以表示為如下形式y(tǒng)(n)=b(1)*x(n)+b(2)*x(n-1)+...+b(nb+1)*x(n-nb)-a(2)*y(n-1)-...-a(na+1)*y(n-na)其中,n-1是數(shù)字濾波器的階數(shù),上式對有限長單位脈沖響應(FiniteImpulse Response,F(xiàn)IR)濾波器和無限長單位脈沖響應(Infinite ImpulseResponse,IIR)濾波器結構均適用。
在上式中,當a(2)~a(na+1)均為零時,y(n)可表示為y(n)=b(1)*x(n)+b(2)*x(n-1)+...+b(nb+1)*x(n-nb),此時輸出信號y(n)僅與有限的輸入信號“x(n)~x(n-nb)”相關,具有該結構的濾波器為FIR濾波器,其中“b(1)~b(nb+1)”為FIR濾波器的系數(shù)。
數(shù)字濾波器可以在數(shù)字信號處理器(Digital Signal Processor,DSP)、現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)或專用集成電路(Application Specific Integrated Circuit,ASIC)等器件中實現(xiàn),它需要一定的存儲空間以存儲濾波器系數(shù)。如果希望濾波處理過程中濾波器系數(shù)可重新配置,通常將濾波器系數(shù)存儲在隨機存取存儲器(Random-Access Memory,RAM)中,如果希望濾波器系數(shù)固定而不會被意外地改寫,通常將濾波器系數(shù)固化在只讀存儲器(Read-Only Memory,ROM)中。存儲濾波系數(shù)的RAM或ROM通常簡稱為濾波器的系數(shù)RAM或系數(shù)ROM。
數(shù)字濾波器作為信號處理的基本處理單元,涉及較多的乘加運算單元和系數(shù)RAM/ROM硬件資源,因此系統(tǒng)出現(xiàn)故障時,經(jīng)常需要檢測數(shù)字濾波器的工作是否正常。數(shù)字濾波器工作是否正常通常包括系數(shù)RAM/ROM中存儲的濾波系數(shù)是否被異常改寫或破壞以及乘加運算是否正常兩個最基本的方面。
為了確認系數(shù)RAM/ROM中存儲的濾波系數(shù)是否被異常改寫或破壞,如圖1所示,可以在數(shù)字濾波器11中增加一個系數(shù)讀取控制模塊111,收到CPU經(jīng)中央處理單元(Central Processing Unit,CPU)接口處理模塊12下發(fā)的查詢命令時將系數(shù)RAM(或ROM)112中存儲的系數(shù)讀取出來并保存到芯片內的預留存儲單元13中,由CPU(上層系統(tǒng))查詢和分析。在這種方案中,由于數(shù)字濾波器中存儲RAM/ROM的存儲單元結構是多樣化的,不同的數(shù)字濾波設計實現(xiàn)可能有不同的存儲結構形式,增加了系數(shù)讀取控制模塊111的設計復雜度,并且不同的數(shù)字濾波器可能需要分別設計不同的系數(shù)讀取控制模塊,將耗費大量的芯片資源和人力,增加設計成本。
為了檢測數(shù)字濾波器的處理是否正常,如圖2所示,CPU通過CPU接口處理模塊24控制選擇器22選擇檢測數(shù)據(jù)產(chǎn)生模塊21產(chǎn)生的高斯白噪特性的信號和正常輸入信號x(n)輸入到數(shù)字濾波器23,通過對數(shù)字濾波器23的濾波輸出結果y(n)進行頻譜分析考察濾波效果。
在這種方案中,要產(chǎn)生高斯白噪特性的檢測信號通常需要耗費較多的DSP或FPGA資源,且進行頻譜分析通常要依賴于專用的儀器,檢測或定位問題時成本較高。
發(fā)明內容
本發(fā)明的目的在于提供一種數(shù)字濾波器的檢測方法,旨在解決現(xiàn)有技術在檢測數(shù)字濾波器時需要耗費大量的芯片資源,檢測或問題定位實現(xiàn)成本高的問題。
本發(fā)明的另一目的在于提供一種數(shù)字濾波器的檢測裝置。
本發(fā)明是這樣實現(xiàn)的,一種數(shù)字濾波器的檢測方法,所述方法包括下述步驟A.在收到檢測啟動指示時產(chǎn)生一個觸發(fā)信號;B.在收到所述觸發(fā)信號時,根據(jù)配置的沖激幅度產(chǎn)生一個單位沖激序列;C.將所述單位沖激序列輸入數(shù)字濾波器;D.在收到所述觸發(fā)信號時,存儲所述單位沖激序列經(jīng)數(shù)字濾波器處理輸出的濾波結果;E.根據(jù)所述濾波結果分析數(shù)字濾波器的工作是否正常。
在所述步驟D之前,所述方法進一步包括T.根據(jù)配置的時延值和所述觸發(fā)信號,產(chǎn)生延時后的觸發(fā)信號。
所述步驟T具體包括T1.在收到所述觸發(fā)信號時開始計數(shù);T2.當計數(shù)值達到配置的時延值時輸出延時后的觸發(fā)信號。
所述步驟E具體包括如果所述單位沖激序列的濾波結果正確,且當線性改變所述單位沖激序列的幅度時得到的濾波結果也線性變化,則數(shù)字濾波器工作正常。
一種數(shù)字濾波器的檢測裝置,所述裝置包括觸發(fā)信號產(chǎn)生單元,用于在收到檢測啟動指示時產(chǎn)生一個觸發(fā)信號;檢測激勵數(shù)據(jù)產(chǎn)生單元,用于在收到所述觸發(fā)信號時根據(jù)配置的沖激幅度產(chǎn)生一個單位沖激序列;選擇器,用于在所述單位沖激序列產(chǎn)生時,選擇所述單位沖激序列輸入數(shù)字濾波器;存儲處理單元,用于在收到所述觸發(fā)信號時存儲所述單位沖激序列經(jīng)數(shù)字濾波器處理輸出的濾波結果;以及檢測控制分析單元,用于輸出檢測控制信號,接收所述存儲處理單元上報的濾波結果,并根據(jù)所述濾波結果分析數(shù)字濾波器的工作是否正常。
所述檢測控制分析單元包括檢測啟動模塊,用于發(fā)出檢測啟動指示,并將所述檢測啟動指示發(fā)送給所述觸發(fā)信號產(chǎn)生單元;幅度配置模塊,用于配置所述單位沖激序列的沖激幅度,并將配置的沖激幅度發(fā)送給所述檢測激勵數(shù)據(jù)產(chǎn)生單元;以及故障分析模塊,用于根據(jù)所述濾波結果分析數(shù)字濾波器的工作是否正常。
所述檢測控制分析單元進一步包括延時配置模塊,用于配置所述存儲處理單元分次存儲所述濾波結果的時延值。
所述裝置進一步包括延時觸發(fā)控制單元,用于根據(jù)所述時延值和所述觸發(fā)信號,產(chǎn)生延時后的觸發(fā)信號。
所述延時觸發(fā)控制單元包括時延計數(shù)器,用于在收到所述觸發(fā)信號時開始計數(shù);以及存儲控制信號發(fā)生器,用于在所述時延計數(shù)器的計數(shù)值達到所述延時配置模塊配置的時延值時輸出延時后的觸發(fā)信號。
所述裝置進一步包括CPU接口處理單元,用于對所述檢測控制分析單元與所述觸發(fā)信號產(chǎn)生單元、檢測激勵數(shù)據(jù)產(chǎn)生單元或存儲處理單元之間的數(shù)據(jù)傳輸進行適配。
本發(fā)明通過檢測單位沖激序列的濾波結果檢測數(shù)字濾波器的工作是否正常,實現(xiàn)方案簡單,耗費資源少,實現(xiàn)成本低。同時,使用延時觸發(fā)的方式減少對存儲空間的要求,降低了設計成本。尤其適用于可檢測性要求較高的系統(tǒng)中,能夠在故障現(xiàn)場進行檢測與定位。
圖1是現(xiàn)有技術一中提供的數(shù)字濾波器檢測裝置的結構圖;
圖2是現(xiàn)有技術二中提供的數(shù)字濾波器檢測裝置的結構圖;圖3是本發(fā)明第一實施例中提供的數(shù)字濾波器檢測方法的實現(xiàn)流程圖;圖4是本發(fā)明第二實施例中提供的數(shù)字濾波器檢測方法的實現(xiàn)流程圖;圖5是本發(fā)明第一實施例中提供的數(shù)字濾波器檢測裝置的結構圖;圖6是本發(fā)明第二實施例中提供的數(shù)字濾波器檢測裝置的結構圖。
具體實施例方式
為了使本發(fā)明的目的、技術方案及優(yōu)點更加清楚明白,以下結合附圖及實施例,對本發(fā)明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發(fā)明,并不用于限定本發(fā)明。
本發(fā)明基于線性系統(tǒng)的傳遞函數(shù)可通過單位沖激響應得到的原理,通過在數(shù)字濾波器輸入端增加一個沖激序列,根據(jù)保存的數(shù)字濾波器的輸出結果判斷數(shù)字濾波器的工作是否正常。
以FIR濾波器為例,對數(shù)字濾波器輸入單位沖激序列δ(n),單位沖激序列δ(n)可用下式表示δ(n)=1,(當n=0時);δ(n)=0,(當n≠0時)。
它表示了一個僅在n=0時刻有輸入(即輸入不為零)的單位脈沖序列...0001000...。其中“1”是經(jīng)過歸一化處理的,在實際設計中由于精度要求,通常需要用多比特的二進制數(shù)來表示,例如可以定義二進制數(shù)的小數(shù)部分為8位,則二進制的100000000(即十進制的256)表示脈沖幅度為“1”,那么,十進制的192就表示“0.75”的沖激幅度,其沖激序列用十進制表示為..000192000...。
在濾波處理時,單位沖激序列δ(n)與系數(shù)“b(1)~b(n-1)”經(jīng)過卷積運算,可以得到下面一組輸出y(1)=b(1),y(2)=b(2),...,y(nb+1)=b(nb+1);
可以看到,輸出的y(1)~y(nb+1)就是此FIR濾波器的系數(shù)。同時也可以判斷,如果改變單位沖激序列δ(n)的幅度比例,那么數(shù)字濾波器的輸出結果也將相應地線性改變。由此可以檢測到以下兩個方面1、如果單位沖激序列的濾波結果能得到正確的濾波器系數(shù),說明濾波器的系數(shù)RAM/ROM沒有被改寫或破壞。
2、如果線性改變單位沖激序列的幅度,得到的濾波器結果也相應線性變化,說明濾波器的基本處理功能正常。
圖3示出了本發(fā)明第一實施例中提供的基于上述原理實現(xiàn)的濾波器的檢測流程,詳述如下在步驟S301中,在收到CPU的檢測啟動指示時產(chǎn)生一個觸發(fā)信號;在步驟S302中,在收到觸發(fā)信號時,根據(jù)CPU配置的沖激幅度產(chǎn)生一個單位沖激序列δ(n);在步驟S303中,將單位沖激序列δ(n)輸入濾波器,經(jīng)濾波器處理后輸出單位沖激序列δ(n)的濾波結果;在步驟S304中,在收到觸發(fā)信號時,存儲單位沖激序列δ(n)經(jīng)濾波器處理輸出的濾波器結果,并將濾波器結果上報給CPU,由CPU根據(jù)上述原理判斷濾波器是否出現(xiàn)故障。
上述過程中,當需要保存的數(shù)據(jù)量比較大時,為了節(jié)省所需預留的存儲空間的資源,在本發(fā)明第二實施例中,可以通過改變時延配置,采用多次觸發(fā)收集的方式來實現(xiàn)數(shù)據(jù)的分次存儲,從而節(jié)省所需預留的存儲空間資源,實現(xiàn)流程如圖4所示,詳述如下在步驟S401中,在收到CPU的檢測啟動指示時產(chǎn)生一個觸發(fā)信號;在步驟S402中,在收到觸發(fā)信號時,根據(jù)CPU配置的沖激幅度產(chǎn)生一個單位沖激序列δ(n);在步驟S403中,將單位沖激序列δ(n)輸入濾波器,經(jīng)濾波器處理后輸出單位沖激序列δ(n)的濾波結果;
在步驟S404中,根據(jù)CPU配置的時延和觸發(fā)信號產(chǎn)生延時后的觸發(fā)信號作為存儲控制信號,具體實現(xiàn)時可以是在收到觸發(fā)信號時開始計數(shù),當計數(shù)值達到CPU配置的時延值時輸出存儲控制信號;在步驟S405中,在收到存儲控制信號時,存儲單位沖激序列δ(n)經(jīng)濾波器處理輸出的濾波器結果,并將濾波器結果上報給CPU,由CPU判斷濾波器是否出現(xiàn)故障。
根據(jù)上述實現(xiàn)流程,只要在濾波器的輸入端增加一個受控的觸發(fā)裝置,用來產(chǎn)生幅度可設置的單位沖激序列δ(n),并在適當?shù)臅r刻保存濾波器的輸出結果就可以判斷濾波器是否出現(xiàn)故障。
圖5示出了本發(fā)明第一實施例中提供的濾波器檢測裝置的結構,檢測控制分析單元37設置于CPU,輸出檢測控制信號,接收存儲處理單元36上報的濾波結果,并根據(jù)濾波結果分析數(shù)字濾波器的工作是否正常。在需要檢測時,檢測啟動模塊371發(fā)出檢測啟動指示,觸發(fā)信號產(chǎn)生單元31接收到檢測啟動模塊371下發(fā)的檢測啟動指示后產(chǎn)生一個觸發(fā)信號,控制檢測激勵數(shù)據(jù)產(chǎn)生單元33產(chǎn)生檢測激勵數(shù)據(jù)。檢測激勵數(shù)據(jù)產(chǎn)生單元33在收到觸發(fā)信號產(chǎn)生單元31產(chǎn)生的觸發(fā)信號的時刻(即時刻“n”)產(chǎn)生一個單位沖激序列δ(n)作為檢測激勵數(shù)據(jù),單位沖激序列δ(n)的沖激幅度通過幅度配置模塊372配置,其余時刻輸出恒置為零。選擇器34選擇單位沖激序列δ(n)輸入到數(shù)字濾波器35。存儲處理單元36在收到觸發(fā)信號產(chǎn)生單元31產(chǎn)生的觸發(fā)信號時將數(shù)字濾波器35輸出的單位沖激序列δ(n)的濾波結果依次存儲到預留的存儲空間中,其存儲的啟動時刻受控于觸發(fā)信號,啟動存儲操作后將數(shù)字濾波器35的輸出依次存儲,直至存儲空間寫滿后停止,每次觸發(fā)存儲將覆蓋上次的存儲內容。
在需要保存的數(shù)據(jù)量比較大時,為了節(jié)省所需預留的存儲空間的資源,在本發(fā)明第二實施例中,可以通過改變時延配置,采用多次觸發(fā)收集的方式來實現(xiàn)數(shù)據(jù)的分次存儲,從而節(jié)省所需預留的存儲空間的資源。如圖6所示,通過延時觸發(fā)控制單元38控制何時觸發(fā)存儲數(shù)字濾波器35輸出的單位沖激序列δ(n)的濾波結果。延時觸發(fā)控制單元38內部采用了一個可由CPU靈活配置的時延計數(shù)器381,當觸發(fā)信號產(chǎn)生時啟動時延計數(shù)器381,當時延計數(shù)器381的計數(shù)值達到延時配置模塊374配置的時延值時,存儲控制信號發(fā)生器382輸出存儲控制信號,指示存儲處理單元36開始存儲數(shù)字濾波器35的輸出結果。
例如被檢測FIR濾波器的階數(shù)為100階,而存儲資源有限,只能存儲50階,則可以通過CPU配置的時延值為M時觸發(fā)一次檢測,存儲處理單元36讀取第1~50個數(shù)據(jù),CPU配置的時延值為M+50時再觸發(fā)一次檢測,存儲處理單元36讀取第51~100個數(shù)據(jù),這樣可以通過多次觸發(fā)收集的方式來減少對存儲空間的需求。
在檢測時,存儲處理單元36通過CPU接口處理模塊32將數(shù)字濾波器35輸出的單位沖激序列δ(n)的濾波結果上報至故障分析模塊373,如果故障分析模塊373判斷沖激響應能得到正確的濾波器系數(shù),說明數(shù)字濾波器35的系數(shù)RAM/ROM沒有被改寫或破壞。如果故障分析模塊373線性改變單位沖激序列的幅度,得到的數(shù)字濾波器35的輸出也相應線性變化,說明數(shù)字濾波器35的基本處理功能正常。
CPU接口處理單元32對檢測控制分析單元37與觸發(fā)信號產(chǎn)生單元31、檢測激勵數(shù)據(jù)產(chǎn)生單元33、延時觸發(fā)控制單元38或者存儲處理單元36之間的數(shù)據(jù)傳輸進行適配,將檢測控制分析單元37產(chǎn)生的檢測啟動指示發(fā)送給觸發(fā)信號產(chǎn)生單元31,將檢測控制分析單元37配置的沖激幅度、時延值分別發(fā)送給檢測激勵數(shù)據(jù)產(chǎn)生單元33和延時觸發(fā)控制單元38,并將存儲處理單元36存儲的濾波結果發(fā)送給檢測控制分析單元37。
本發(fā)明不限于采用FPGA邏輯器件實現(xiàn),可能的實現(xiàn)器件還可以是任何ASIC或DSP等器件。很明顯,本發(fā)明也適用于其它可以通過單位沖激響應來判斷是否出現(xiàn)故障的其他數(shù)字信號處理設備。
以上所述僅為本發(fā)明的較佳實施例而已,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發(fā)明的保護范圍之內。
權利要求
1.一種數(shù)字濾波器的檢測方法,其特征在于,所述方法包括下述步驟A.在收到檢測啟動指示時產(chǎn)生一個觸發(fā)信號;B.在收到所述觸發(fā)信號時,根據(jù)配置的沖激幅度產(chǎn)生一個單位沖激序列;C.將所述單位沖激序列輸入數(shù)字濾波器;D.在收到所述觸發(fā)信號時,存儲所述單位沖激序列經(jīng)數(shù)字濾波器處理輸出的濾波結果;E.根據(jù)所述濾波結果分析數(shù)字濾波器的工作是否正常。
2.如權利要求1所述的數(shù)字濾波器的檢測方法,其特征在于,在所述步驟D之前,所述方法進一步包括T.根據(jù)配置的時延值和所述觸發(fā)信號,產(chǎn)生延時后的觸發(fā)信號。
3.如權利要求2所述的數(shù)字濾波器的檢測方法,其特征在于,所述步驟T具體包括T1.在收到所述觸發(fā)信號時開始計數(shù);T2.當計數(shù)值達到配置的時延值時輸出延時后的觸發(fā)信號。
4.如權利要求1所述的數(shù)字濾波器的檢測方法,其特征在于,所述步驟E具體包括如果所述單位沖激序列的濾波結果正確,且當線性改變所述單位沖激序列的幅度時得到的濾波結果也線性變化,則數(shù)字濾波器工作正常。
5.一種數(shù)字濾波器的檢測裝置,其特征在于,所述裝置包括觸發(fā)信號產(chǎn)生單元,用于在收到檢測啟動指示時產(chǎn)生一個觸發(fā)信號;檢測激勵數(shù)據(jù)產(chǎn)生單元,用于在收到所述觸發(fā)信號時根據(jù)配置的沖激幅度產(chǎn)生一個單位沖激序列;選擇器,用于在所述單位沖激序列產(chǎn)生時,選擇所述單位沖激序列輸入數(shù)字濾波器;存儲處理單元,用于在收到所述觸發(fā)信號時存儲所述單位沖激序列經(jīng)數(shù)字濾波器處理輸出的濾波結果;以及檢測控制分析單元,用于輸出檢測控制信號,接收所述存儲處理單元上報的濾波結果,并根據(jù)所述濾波結果分析數(shù)字濾波器的工作是否正常。
6.如權利要求5所述的數(shù)字濾波器的檢測裝置,其特征在于,所述檢測控制分析單元包括檢測啟動模塊,用于發(fā)出檢測啟動指示,并將所述檢測啟動指示發(fā)送給所述觸發(fā)信號產(chǎn)生單元;幅度配置模塊,用于配置所述單位沖激序列的沖激幅度,并將配置的沖激幅度發(fā)送給所述檢測激勵數(shù)據(jù)產(chǎn)生單元;以及故障分析模塊,用于根據(jù)所述濾波結果分析數(shù)字濾波器的工作是否正常。
7.如權利要求6所述的數(shù)字濾波器的檢測裝置,其特征在于,所述檢測控制分析單元進一步包括延時配置模塊,用于配置所述存儲處理單元分次存儲所述濾波結果的時延值。
8.如權利要求7所述的數(shù)字濾波器的檢測裝置,其特征在于,所述裝置進一步包括延時觸發(fā)控制單元,用于根據(jù)所述時延值和所述觸發(fā)信號,產(chǎn)生延時后的觸發(fā)信號。
9.如權利要求8所述的數(shù)字濾波器的檢測裝置,其特征在于,所述延時觸發(fā)控制單元包括時延計數(shù)器,用于在收到所述觸發(fā)信號時開始計數(shù);以及存儲控制信號發(fā)生器,用于在所述時延計數(shù)器的計數(shù)值達到所述延時配置模塊配置的時延值時輸出延時后的觸發(fā)信號。
10.如權利要求5至9任一權利要求所述的數(shù)字濾波器的檢測裝置,其特征在于,所述裝置進一步包括CPU接口處理單元,用于對所述檢測控制分析單元與所述觸發(fā)信號產(chǎn)生單元、檢測激勵數(shù)據(jù)產(chǎn)生單元或存儲處理單元之間的數(shù)據(jù)傳輸進行適配。
全文摘要
本發(fā)明適用于信號處理領域,提供了一種數(shù)字濾波器的檢測方法及裝置,所述方法包括下述步驟A.在收到檢測啟動指示時產(chǎn)生一個觸發(fā)信號;B.在收到所述觸發(fā)信號時,根據(jù)配置的沖激幅度產(chǎn)生一個單位沖激序列;C.將所述單位沖激序列輸入數(shù)字濾波器;D.在收到所述觸發(fā)信號時,存儲所述單位沖激序列經(jīng)數(shù)字濾波器處理輸出的濾波結果;E.根據(jù)所述濾波結果分析數(shù)字濾波器的工作是否正常。本發(fā)明通過檢測單位沖激序列的濾波結果檢測數(shù)字濾波器的工作是否正常,實現(xiàn)方案簡單,耗費資源少,實現(xiàn)成本低。同時,使用延時觸發(fā)的方式減少對存儲空間的要求,降低了設計成本。
文檔編號G01R31/28GK1924592SQ200610062699
公開日2007年3月7日 申請日期2006年9月20日 優(yōu)先權日2006年9月20日
發(fā)明者徐爭 申請人:華為技術有限公司