專利名稱:一種可配置系數的數字濾波器和實現方法
技術領域:
本發明涉及數字信號處理領域,特別是涉及一種可配置系數的數字濾波器和實現方法。
背景技術:
數字濾波器作用于離散時間系統,能利用系統特性對輸入信號的波形或頻譜進行處理,把輸入信號變成一定的輸出信號,達到改變信號的頻譜的目的。數字濾波器的精確度高,可靠性強,并且使用靈活、方便,是數字信號處理技術中的重要手段。 圖I給出了一般數字濾波器的通用結構。某一離散時間的輸入信號input (k)經過具有一定系統函數H(Z)的數字濾波器后輸出期望頻譜的信號output (k)。為得到期望頻譜的輸出信號output (k),系統函數H(Z)需要根據輸入信號和期望輸出進行調整。系統函數H(Z)的調整反映在實際設計中,包括對濾波器類型(FIR或IIR濾波器)、濾波器階數Order(極點和零點的個數)、濾波器的幅頻響應的通帶特性、濾波器中心頻率f。和濾波器帶寬Bw等參數的設計和調整。用電路實現數字濾波器時,由于濾波器類型(FIR或IIR濾波器)、濾波器階數、濾波器設計方法等參數的改變會影響電路的結構和硬件的連接方式,而濾波器的幅頻響應的通帶特性、濾波器中心頻率f。和濾波器帶寬Bw是可通過改變濾波器的系數配置的。隨著信號處理系統的廣泛應用和信號的日益復雜,一個系統的設計往往需要大量的信號濾波工作,對于每一個需要用不同系統函數來處理的信號配置一塊電路的方法顯然不利于提高系統的集成化程度和器件的利用率。所以,集成電路中的濾波器的設計一般是在硬件結構固定的情況下,通過配置濾波器系數來改變系統函數H(Z),來實現可配置系數的濾波器。圖2給出了傳統的可配置系數的濾波器的結構。其包括一個與數字濾波器連接的濾波器系數存儲器,在存儲器中存儲濾波器系數,數字濾波器根據濾波需要從濾波器系數存儲器中調用相應的濾波器系數來改變系統函數,以滿足同一系統中不同信號的濾波需求。這種濾波器實現方案的缺點是濾波器系數要根據濾波需求選擇,因此必須在存儲器中存儲大量的濾波器系數。例如,當所需濾除的信號中心頻率f。在AU'/廠 范圍內變化時,為保證濾波準確度需要在R范圍內每隔StepHz存儲一組濾波器系數,那么濾波器每一個系數就需要存儲至少I+個值。假設一個系統中的信號的中心頻率變化范圍在R[10MHz,20MHz],而為保證濾波準確度,所選的step為100Hz,直接存儲濾波器系數就意味著每個濾波器系數需要存儲100001個值。如果設計的濾波器是多階的濾波器時,需要存儲的系數值更將是一個巨大的數字。
發明內容
本發明公開了一種可配置系數的數字濾波器和實現方法,在存儲器中不直接存儲濾波器系數,而是存儲濾波器系數按一定算法進行擬合后的擬合因子,在保證濾波準確度的情況下,大量節約用于存儲濾波器系數的存儲空間。本發明的技術方案是一種可配置系數的數字濾波器,其特征在于,包括擬合因子存儲器、系數計算模塊和數字濾波器,所述數字濾波器通過所述系數計算模塊連接所述擬合因子存儲器;所述擬合因子存儲器用于存儲通過擬合算法將濾波器系數進行擬合后的擬合因子;所述系數計算模塊用于根據輸入的控制信息讀取擬合因子存儲器中相應的擬合因子計算得出所需的濾波器系數;所述數字濾波器使用系數計算模塊計算出的濾波器系數對輸入的數字信號進行濾波。所述擬合因子存儲器中存儲的擬合因子是采用分段的一元線性回歸擬合算法擬合后的所有Num個濾波器系數在每一擬合段變化范圍內的擬合斜率…Mfam]和擬合截距。所述系數計算模塊的結構包括Num個乘法器和Num個加法器,所述擬合因子存儲器分別連接每個乘法器的擬合斜率數據輸入端和每個加法器的擬合截距數據輸入端,每個乘法器的輸出端連接一個加法器的另一輸入端,每個加法器的輸出端均連接數字濾波器;所述控制信息輸入至每個乘法器的另一輸入端,控制信息分別與輸入給每個乘法器的相應的擬合斜率相乘后再通過與之連接的加法器與對應的擬合截距相加,所得結果分別輸出給數字濾波器。一種可配置系數的數字濾波器的實現方法,其特征在于,在擬合因子存儲器中存儲通過擬合算法將濾波器系數進行擬合后的擬合因子;通過系數計算模塊根據輸入的控制信息讀取擬合因子存儲器中的擬合因子計算出所需的濾波器系數;經系數計算模塊計算出 的濾波器系數直接作用于數字濾波器,對輸入的數字信號進行濾波。所述對濾波器系數進行擬合的方法包括對濾波器系數進行分段擬合,所述分段擬合的步驟包括1)將濾波器參數變化的范圍分為M段,其中,M為自然數;2)對每段范圍內的每一個濾波器系數進行擬合,并對擬合結果進行修正,得出每個濾波器系數在擬合的每一段對應的一組擬合因子;3)在擬合因子存儲器中存儲對應于M個擬合分段的M組擬合因子,通過每組擬合因子能計算出每一段范圍內的所有濾波器系數。所述分段擬合得出的擬合因子是當只有一個濾波器參數變化時采用以該參數為自變量的一元線性回歸擬合算法擬合出的擬合斜率和擬合截距,根據擬合后得出的擬合斜率和擬合截距,所述可配置濾波器實現的步驟包括I)控制信息生成①將濾波器參數變化的范圍分為M段,判斷出該參數f處于哪一段范圍內,若參數f在所有分段中的第m段,得出第m段所對應的擬合因子存儲器的讀地址;②計算出該參數f超出第m段起始點多少個step (取整),記為t(f)
,(,) = (/-/:j/ .1 <m < M/ 卿.
(I)2)將第m段所對應的擬合因子存儲器的讀地址輸入至擬合因子存儲器,得到相應地址的存儲數據,該地址的存儲數據中包含了濾波器所有Num個系數在該段變化范圍內擬合的斜率,…和擬合的截距[ΛΚ,,···,Mfm];
3)將控制信息t (f)以及擬合因子存儲器中存儲的Num個擬合斜率和Num個擬合截距輸入至系數計算模塊,其中擬合斜率分別與t(f)相乘,并與對應的擬合截距相加即得到參數為f時所有Num個濾波器系數[coef1 (f),coef2 (f),…coefNum(f)]的估計
Coefnum (J) 二 ss: X/(/) + bb:,num 二 1,2,· ·-Num
(2)4)將得到的所有Num個濾波器系數作為濾波器的參數對輸入信號進行濾波,即可得到濾波后的信號。所述采用分段的一元線性回歸擬合算法得到擬合斜率和擬合截距的方法,包括以下步驟
I)在濾波器參數變化范圍內,將參數變化以步長P增加,采集濾波器系數擬合樣本;2)將采集到的濾波器系數的樣本空間均勻分為M段;3)計算各段樣本空間中的任一元素相對于該段起始元素的斜率,所述斜率是指參數變化每改變一單位P時,所述濾波器系數數值變化的多少;并以各段起始元素為截距,對各段進行第一次擬合;4))計算各段第一次擬合的擬合誤差以及各段第一次擬合誤差的平均斜率;5)修正擬合斜率,進行第二次擬合;6)計算各段第二次擬合的誤差以及各段第二次擬合誤差的均值;7)修正擬合截距,進行第三次擬合;8)計算各段第三次擬合誤差,并判斷誤差范圍能否滿足擬合精度要求,若誤差范圍不能滿足擬合精度要求,則增加分段數,減小每段參數變化所跨越的范圍,重復步驟2)至7),直至擬合精度達到精度要求;如果誤差范圍滿足擬合精度要求,將以P為變化單位的擬合變為以期望單位step為變化單位的擬合,輸出變化后擬合斜率和擬合截距。本發明的技術效果本發明公開的一種可配置系數的數字濾波器和實現方法,其特點是濾波器系數并不是直接在存儲器中存儲和調用的,而是將濾波器系數按一定算法進行擬合后在存儲器中存儲擬合后的擬合因子,濾波器系數是通過調用存儲的擬合因子結合控制信息在系數計算模塊中計算得出的。其中系數計算模塊的結構和控制信息的內容需根據所采用的擬合算法而調整。擬合出的函數可以為一元(即僅以一個濾波器參數做自變量)乃至多元的擬合函數,擬合中所采用算法可以為本發明提供的分段的一元線性回歸擬合算法,也可以為采用其他常用擬合算法,如最小二乘法等。對濾波器系數進行擬合且僅存儲擬合后的擬合因子的做法能夠在保證濾波準確度的情況下,大量節約用于存儲濾波器系數的存儲空間,實現可配置系數的數字濾波器。本發明還給出了一種濾波器系數的分段的一元線性回歸擬合算法,該算法是針對濾波器參數僅有一個可變時,對濾波器系數進行擬合的一種簡單算法。該算法的主要特點是,I.對濾波器系數進行分段擬合,所分段數和每段所跨越的因變量的可變范圍均可根據擬合精度需求調整;2.擬合中包含兩步擬合因子的調整步驟,這兩步擬合因子的調整是為了提高擬合的精度而設計,實際應用中可根據實際需要跳過或重復進行其中的一步或全部步驟;3.該算法在擬合中所用變化單位P與實際使用中所用的變化單位step可相同也可不同,二者不同時,僅需在擬合完成后,進行單位轉換即可。
圖I為一般數字濾波器的通用結構示意圖。圖2為傳統的可配置系數濾波器的結構示意圖。圖3為本發明的一種可配置系數的數字濾波器的通用結構示意圖。圖4為本發明的一種可配置系數的數字濾波器的實施例示意圖。圖5為任意一個濾波器系數采用分段一元線性回歸擬合的具體過程流程圖。
具體實施方式
以下結合附圖對本發明的實施例做進一步的詳細說明。如圖3所示,是本發明給出的一種可配置系數的數字濾波器的通用結構示意圖。一種可配置系數的數字濾波器,包括擬合因子存儲器、系數計算模塊和數字濾波器,擬合因子存儲器連接系數計算模塊,系數計算模塊連接數字濾波器;擬合因子存儲器用于存儲通過擬合算法將濾波器系數進行擬合后的擬合因子;系數計算模塊用于根據輸入的控制信息讀取擬合因子存儲器中相應的擬合因子計算得出所需的濾波器系數;數字濾波器使用系數計算模塊計算出的濾波器系數對輸入的數字信號進行濾波。其中,擬合因子存儲器并不直接存儲濾波器系數,而是存儲各個濾波器系數進行擬合后的擬合因子;此處所述的擬合因子可以是濾波器系數進行一階線性擬合后的擬合斜率和擬合截距,也可以是濾波器系數用高階函數進行擬合后的各階的因數,甚至是使用運用統計分布函數或其它數學手段擬合的參數。系數擬合的方法不同不僅會影響擬合因子存儲器中所存儲的擬合因子的數量以及控制信息的內容,也決定了系數計算模塊的結構;系數計算模塊用于根據輸入的控制信息從擬合因子存儲器中調用出相應的擬合因子與控制信息結合計算得出所述濾波器系數;經系數計算模塊計算出的濾波器系數可直接作用于數字濾波器電路,達到濾波效果。系數擬合方法的不同,則擬合后所需存儲的擬合因子的數量不同,系數計算模塊的結構也不同。系數擬合的原則是在保證擬合精度的情況下,所采用的系數擬合算法能使得所需存儲的擬合因子盡量少,系數計算模塊結構盡量簡單,易實施。可配置系數的數字濾波器的實現方法,是在擬合因子存儲器中存儲通過擬合算法將濾波器系數進行擬合后的擬合因子;通過系數計算模塊根據輸入的控制信息讀取擬合因子存儲器中的擬合因子計算出所需的濾波器系數;經系數計算模塊計算出的濾波器系數直接作用于數字濾波器,對輸入的數字信號進行濾波。對濾波器系數進行擬合的方法,采用的是對濾波器系數進行分段擬合,在擬合因子存儲器中存儲的擬合因子是采用一定算法對濾波器系數進行分段擬合后的結果。分段擬合的主要步驟包括1)將濾波器參數變化的范圍分為M段(M為自然數);2)對每段范圍內的每一個濾波器系數進行擬合,并對擬合結果進行修正,得出每個濾波器系數在擬合的每一段對應的一組擬合因子;3)在擬合因子存儲器中存儲對應于M個擬合分段的M組擬合因子,通過每組擬合因子能計算出每一段范圍內的所有濾波器系數。本發明除圖3中給出的可配置系數濾波器的通用結構外,還給出了一個有Num個系數且其他參數不變僅中心頻率在范圍內變化的可配置系數的數字濾波器的實施例。該實施例中所采用的系數擬合方式是分段的一階線性擬合,即將任意中心頻率范
圍,/rO分為M段(M為自然數),每一個濾波器系數在每段中采用一元線性回歸來擬
合;擬合出的濾波器系數的估計是關于中心頻率的分段函數,濾波器每個系數在擬合的每一段都有一組擬合斜率和擬合截距;在擬合因子存儲器中存儲了 M組數據,每組數據包含所有Num個濾波器在一段中心頻率變化范圍內的擬合斜率與擬合截距,其中擬合斜率是以中心頻率相對于每段的起始頻率每改變StepHz時,濾波器系數變化的多少來衡量的。如圖4所示,為本發明的一種可配置系數的數字濾波器的實施例示意圖,其中擬合因子存儲器中存儲的擬合因子是采用分段的一元線性回歸擬合算法擬合后的所有Num個濾波器系數在每一擬合段變化范圍內的擬合斜率[<,,和擬合截距Vbb1m,bbl,-Mum];系數計算模塊的結構包括Num個乘法器和Num個加法器,擬合因子存儲器分別連接每個乘法器的擬合斜率數據輸入端和每個加法器的擬合截距數據輸入端,每個乘法器的輸出端連接一個加法器的另一輸入端,每個加法器的輸出端均連接數字濾波器; 所述控制信息輸入至每個乘法器的另一輸入端,控制信息分別與輸入給每個乘法器的相應的擬合斜率相乘后再通過與之連接的加法器與對應的擬合截距相加,結果分別輸出給數字濾波器。根據圖4的一種可配置系數的數字濾波器的實施例,具有Num個系數且其他參數不變僅中心頻率在)范圍內變化的可配置系數的數字濾波器的具體實現方案I)控制信息生成①將濾波器參數變化的范圍分為M段,判斷出該參數f處于哪一段范圍內,若參數f在所有分段中的第m段,得出第m段所對應的擬合因子存儲器的讀地址;②計算出該參數f超出第m段起始點多少個step (取整),記為t(f)1(f) = (, - ^Ys1ep ,l<m<M(I)2)將第m段所對應的擬合因子存儲器的讀地址輸入至擬合因子存儲器,得到相應地址的存儲數據,該地址的存儲數據中包含了濾波器所有Num個系數在該段變化范圍內擬合的斜率[<,<,···<-]和擬合的截距[耐,呢,…,姑3)將控制信息t (f)以及擬合因子存儲器中存儲的Num個擬合斜率和擬合截距輸入至系數計算模塊,其中擬合斜率分別與t(f)相乘,并與對應的擬合截距相加即得到參數為f時所有Num個濾波器系數[coef1 (f),coef2 (f),…coefNum(f)]的估計
coef (/) = ss:m X/(/) + bb:m,num = 1,2,···Num
(2)4)將得到的所有Num個濾波器系數作為濾波器的參數對輸入信號進行濾波,即可得到濾波后的信號。本領域的技術人員可以理解,圖4中所給出的實施例,其適用范圍、所采用的系數擬合方法、控制信息的內容、系數計算模塊的結構等僅是示例性的,而非限制性的。該實施例意在說明適用范圍、系數擬合方法、控制信息和系數計算模塊的結構等需根據濾波需求配合和設計。如,適用范圍可以是中心頻率可變的濾波器設計,也可以是帶寬Bw可變或其他參數可變的濾波器設計;系數擬合方法可以采用分段擬合,也可以不分段;控制信息除包含存儲器的讀地址等信息外也可以包含其他信息,如為實現電路的復用給出的時鐘信息和使能信息等;系數計算模塊可以為實施例中給出的采用分段一元線性回歸擬合方法對系數擬合時的簡單乘加計算結構,也可以為其他擬合算法相應的計算結構。本發明還在圖5中給出了一種濾波 器系數的分段一元線性回歸擬合的算法的實
施例。該實施例是中心頻率變化范圍的帶阻濾波器的濾波器系數的分段一元線
性回歸擬合的方案。根據濾波器階數的不同,濾波器可能具有多個系數,其中任一系數都可通過本發明中提出的濾波器系數擬合算法進行擬合,現以所有Num個濾波器系數中任意一個系數a的擬合為例說明該分段一元線性回歸擬合的具體過程I)在中心頻率變化范圍//& )內,將中心頻率f。以步長P增加,采集相應中心頻率下的濾波器系數,作為擬合的樣本;設采集到的濾波器任一系數有一長度為N+1的樣本空間{3(0),&(1>"&(1^"&(吣},其中¥ = (/7/-/廠')// 』為整數,&(11)為中心頻率是/T + xp時獲得的濾波器系數a的值;2)將采集到的濾波器系數a的樣本空間均勻分為M段,則該樣本空間可表示為M個元素數為K的子空間的集合{A (I),A⑵一A(IH) -A(M)},K= (N+1) /M(取整),第m段A (m)中第一個元素B111,i為樣本空間中的第(111-1)\1(個元素&((111-1)\1(),B111,3寸應的中心頻率為第m分段所包含的中心頻率范圍的起始頻率
權利要求
1.ー種可配置系數的數字濾波器,其特征在于,包括擬合因子存儲器、系數計算模塊和數字濾波器,所述數字濾波器通過所述系數計算模塊連接所述擬合因子存儲器;所述擬合因子存儲器用于存儲通過擬合算法將濾波器系數進行擬合后的擬合因子;所述系數計算模塊用于根據輸入的控制信息讀取擬合因子存儲器中相應的擬合因子計算得出所需的濾波器系數;所述數字濾波器使用系數計算模塊計算出的濾波器系數對輸入的數字信號進行濾波。
2.根據權利要求I所述的ー種可配置系數的數字濾波器,其特征在于,所述擬合因子存儲器中存儲的擬合因子是采用分段的一元線性回歸擬合算法擬合后的所有Num個濾波器系數在每ー擬合段變化范圍內的擬合斜率[ぺ,,&4…和擬合截距[MX…,MfH。
3.根據權利要求2所述的ー種可配置系數的數字濾波器,其特征在于,所述系數計算模塊包括Num個乘法器和Num個加法器,所述擬合因子存儲器分別連接每個乘法器的擬合斜率數據輸入端和每個加法器的擬合截距數據輸入端,每個乘法器的輸出端連接ー個加法器的另ー輸入端,每個加法器的輸出端均連接數字濾波器;所述控制信息輸入至每個乘法器的另ー輸入端,控制信息分別與輸入給每個乘法器的相應的擬合斜率相乘后再通過與之連接的加法器與對應的擬合截距相加,所得結果分別輸出給數字濾波器。
4.ー種可配置系數的數字濾波器的實現方法,其特征在于,在擬合因子存儲器中存儲通過擬合算法將濾波器系數進行擬合后的擬合因子;通過系數計算模塊根據輸入的控制信息讀取擬合因子存儲器中的擬合因子計算出所需的濾波器系數;經系數計算模塊計算出的濾波器系數直接作用于數字濾波器,對輸入的數字信號進行濾波。
5.根據權利要求4所述的可配置系數的數字濾波器的實現方法,其特征在干,所述對濾波器系數進行擬合的方法包括對濾波器系數進行分段擬合,所述分段擬合的步驟包括I)將濾波器參數變化的范圍分為M段,其中,M為自然數;2)對每段范圍內的每ー個濾波器系數進行擬合,并對擬合結果進行修正,得出每個濾波器系數在擬合的每一段對應的ー組擬合因子;3)在擬合因子存儲器中存儲對應于M個擬合分段的M組擬合因子,通過每組擬合因子能計算出每一段范圍內的所有濾波器系數。
6.根據權利要求5所述的可配置系數的數字濾波器的實現方法,其特征在干,所述分段擬合得出的擬合因子是當只有一個濾波器參數變化時采用以該參數為自變量的一元線性回歸擬合算法擬合出的擬合斜率和擬合截距,根據擬合后得出的擬合斜率和擬合截距,所述可配置濾波器實現的步驟包括 O控制信息生成①將濾波器參數變化的范圍分為M段,判斷出該參數f處于哪一段范圍內,若參數f在所有分段中的第m段,得出第m段所對應的擬合因子存儲器的讀地址; ②計算出該參數f超出第m段起始點多少個step (取整),記為t(f) (I)2)將第m段所對應的擬合因子存儲器的讀地址輸入至擬合因子存儲器,得到相應地址的存儲數據,該地址的存儲數據中包含了濾波器所有Num個系數在該段變化范圍內擬合的斜率和擬合的截距[嶺し呢,…,· ]; 3)將控制信息t(f)以及擬合因子存儲器中存儲的Num個擬合斜率和擬合截距輸入至系數計算模塊,其中擬合斜率分別與t(f)相乗,并與對應的擬合截距相加即得到參數為f時所有Num個濾波器系數[coef1 (f),coef2 (f),…coefNum(f)]的估計
7.根據權利要求5所述的可配置系數的數字濾波器的實現方法,其特征在于,所述采用分段的一元線性回歸擬合算法得到擬合斜率和擬合截距的方法,包括以下步驟 1)在濾波器參數變化范圍內,將參數變化以步長P増加,采集濾波器系數擬合樣本; 2)將采集到的濾波器系數的樣本空間均勻分為M段; 3)計算各段樣本空間中的任一元素相對于該段起始元素的斜率,所述斜率是指參數變化每改變一単位P時,所述濾波器系數數值變化的多少;并以各段起始元素為截距,對各段進行第一次擬合; 4))計算各段第一次擬合的擬合誤差以及各段第一次擬合誤差的平均斜率; 5)修正擬合斜率,進行第二次擬合; 6)計算各段第二次擬合的誤差以及各段第二次擬合誤差的均值; 7)修正擬合截距,進行第三次擬合; 8)計算各段第三次擬合誤差,并判斷誤差范圍能否滿足擬合精度要求,若誤差范圍不能滿足擬合精度要求,則増加分段數,減小每段參數變化所跨越的范圍,重復步驟2)至7),直至擬合精度達到精度要求;如果誤差范圍滿足擬合精度要求,將以P為變化単位的擬合變為以期望単位step為變化単位的擬合,輸出變化后擬合斜率和擬合截距。
全文摘要
本發明公開的一種可配置系數的數字濾波器和實現方法,在存儲器中存儲的是濾波器系數按一定算法進行擬合后的擬合因子,在保證濾波準確度的情況下,大量節約用于存儲濾波器系數的存儲空間。本發明可配置系數的數字濾波器包括擬合因子存儲器、系數計算模塊和數字濾波器,數字濾波器通過系數計算模塊連接擬合因子存儲器;擬合因子存儲器用于存儲通過擬合算法將濾波器系數進行擬合后的擬合因子;系數計算模塊用于根據輸入的控制信息讀取擬合因子存儲器中相應的擬合因子計算得出所需的濾波器系數;數字濾波器使用系數計算模塊計算出的濾波器系數對輸入的數字信號進行濾波。
文檔編號H03H17/02GK102868385SQ20121036095
公開日2013年1月9日 申請日期2012年9月25日 優先權日2012年9月25日
發明者不公告發明人 申請人:北京東方聯星科技有限公司