本實用新型涉及信號濾波技術(shù)領(lǐng)域,特別是涉及一種數(shù)字濾波設(shè)備。
背景技術(shù):
在信號濾波領(lǐng)域,往往需要應(yīng)用不同截止頻率的數(shù)字濾波器來完成滿足各種設(shè)計要求。
目前,較為常用的數(shù)字濾波器有基于FPGA(Field Programmable Gate Array,現(xiàn)場可編程邏輯陣列)的并行數(shù)字濾波器等。
對于基于FPGA的并行數(shù)字濾波器,當(dāng)輸入信號的帶寬過高時,需要采樣頻率會超過系統(tǒng)時鐘頻率,例如,當(dāng)輸入信號的帶寬超過五百兆赫茲時,則采樣頻率要大于千兆赫茲(由采樣定律可知:采樣頻率需大于兩倍的信號最高頻率),當(dāng)前FPGA器件的系統(tǒng)時鐘頻率通常為數(shù)百兆赫茲,所以基于FPGA的并行數(shù)字濾波器結(jié)構(gòu)無法完成高帶寬信號的濾波處理。
因此,上述基于FPGA的并行數(shù)字濾波器對高帶寬信號的濾波處理效果較差。
技術(shù)實現(xiàn)要素:
基于此,有必要針對傳統(tǒng)的基于FPGA的并行數(shù)字濾波器對高帶寬信號的濾波處理效果較差的問題,提供一種數(shù)字濾波設(shè)備。
一種數(shù)字濾波設(shè)備,包括CIC抽取裝置、FIR濾波器和CIC插值裝置;
CIC抽取裝置的Pi1個輸入端接收待濾波信號數(shù)據(jù),其中,Pi1為大于0的整數(shù);
CIC抽取裝置的Pc1個輸出端與FIR濾波器的Pc1個輸入端對應(yīng)連接,其中,Pc1為大于0的整數(shù);
FIR濾波器的Pc2個輸出端與CIC插值裝置的Pc2個輸入端對應(yīng)連接,其中,Pc2為大于0的整數(shù);
CIC插值裝置的Pi2個輸出端輸出濾波數(shù)據(jù),其中,Pi2為大于0的整數(shù)。
根據(jù)上述本實用新型的數(shù)字濾波設(shè)備,其包括依次連接的CIC抽取裝置、FIR濾波器和CIC插值裝置,CIC抽取裝置接收待濾波信號數(shù)據(jù)后,可以得到多路并行數(shù)據(jù),通過CIC抽取裝置對多路并行數(shù)據(jù)進行抽取下變頻,F(xiàn)IR濾波器對下變頻后的信號進行濾波,最后通過CIC插值裝置對濾波后的信號進行插值上變頻,將其頻率恢復(fù)到原來待濾波信號數(shù)據(jù)的頻率,得到最終的濾波結(jié)果;本方案將原頻率信號下變頻后濾波,再將濾波后的信號上變頻至原頻率,配合FIR濾波器系數(shù)可配置,可以實現(xiàn)對高帶寬內(nèi)任意頻率的信號進行濾波處理;數(shù)字濾波設(shè)備中前級使用CIC抽取裝置進行下變頻可以減少由于采樣率不足而造成的頻譜混疊,后級使用CIC插值裝置進行上變頻可以實現(xiàn)抗鏡像濾波,以此可以減少上變頻和下變頻對高頻率信號濾波的影響;同時,利用多路并行結(jié)構(gòu),可對輸入數(shù)據(jù)實時處理(無需先存儲后處理),在較小的系統(tǒng)時鐘下實現(xiàn)高帶寬信號的實時濾波處理。
附圖說明
圖1為其中一個實施例的數(shù)字濾波設(shè)備的結(jié)構(gòu)示意圖;
圖2(a)為其中一個實施例的CIC抽取裝置的結(jié)構(gòu)示意圖;
圖2(b)為其中一個實施例的CIC抽取裝置的結(jié)構(gòu)示意圖;
圖3(a)為其中一個實施例的單級并行CIC抽取裝置的結(jié)構(gòu)示意圖;
圖3(b)為其中一個實施例的單級并行CIC抽取裝置的結(jié)構(gòu)示意圖;
圖3(c)為其中一個實施例的單級并行CIC插值裝置的結(jié)構(gòu)示意圖;
圖3(d)為其中一個實施例的單級并行CIC插值裝置的結(jié)構(gòu)示意圖;
圖4為其中一個實施例的并行積分模塊的結(jié)構(gòu)示意圖;
圖5為其中一個實施例的并行疏狀模塊的結(jié)構(gòu)示意圖;
圖6(a)為其中一個實施例的FIR濾波器的結(jié)構(gòu)示意圖;
圖6(b)為其中一個實施例的數(shù)據(jù)分配延遲鏈模塊的結(jié)構(gòu)示意圖;
圖7為其中一個實施例的數(shù)據(jù)分配延遲鏈模塊與單級偶數(shù)階并行FIR濾波器的接連示意圖;
圖8為其中一個實施例的數(shù)據(jù)分配延遲鏈模塊與單級奇數(shù)階并行FIR濾波器的接連示意圖;
圖9為其中一個實施例的數(shù)字濾波設(shè)備的結(jié)構(gòu)示意圖;
圖10為其中一個實施例的數(shù)字濾波設(shè)備的結(jié)構(gòu)示意圖;
圖11為其中一個實施例的數(shù)字濾波設(shè)備的結(jié)構(gòu)示意圖;
圖12為其中一個實施例的數(shù)字濾波設(shè)備的應(yīng)用場景圖。
具體實施方式
為使本實用新型的目的、技術(shù)方案及優(yōu)點更加清楚明白,以下結(jié)合附圖及實施例,對本實用新型進行進一步的詳細說明。應(yīng)當(dāng)理解,此處所描述的具體實施方式僅僅用以解釋本實用新型,并不限定本實用新型的保護范圍。
參見圖1所示,為本實用新型的數(shù)字濾波設(shè)備的結(jié)構(gòu)示意圖。該實施例中的數(shù)字濾波設(shè)備,包括CIC抽取裝置100、FIR濾波器200和CIC插值裝置300;CIC是指級聯(lián)積分疏狀濾波,F(xiàn)IR濾波器是指有限長單位沖擊響應(yīng)濾波器;
CIC抽取裝置100的Pi1個輸入端接收待濾波信號數(shù)據(jù),其中,Pi1為大于0的整數(shù);
CIC抽取裝置100的Pc1個輸出端與FIR濾波器200的Pc1個輸入端對應(yīng)連接,其中,Pc1為大于0的整數(shù);
FIR濾波器200的Pc2個輸出端與CIC插值裝置300的Pc2個輸入端對應(yīng)連接,其中,Pc2為大于0的整數(shù);
CIC插值裝置300的Pi2個輸出端輸出濾波數(shù)據(jù),其中,Pi2為大于0的整數(shù)。
在本實施例中,數(shù)字濾波設(shè)備,其包括依次連接的CIC抽取裝置、FIR濾波器和CIC插值裝置,CIC抽取裝置接收待濾波信號數(shù)據(jù)后,可以得到多路并行數(shù)據(jù),通過CIC抽取裝置對多路并行數(shù)據(jù)進行抽取下變頻,F(xiàn)IR濾波器對下變頻后的信號進行濾波,最后通過CIC插值裝置對濾波后的信號進行插值上變頻,將其頻率恢復(fù)到原來待濾波信號數(shù)據(jù)的頻率,得到最終的濾波結(jié)果;本方案將原頻率信號下變頻后濾波,再將濾波后的信號上變頻至原頻率,配合FIR濾波器系數(shù)可配置,可以實現(xiàn)對高帶寬內(nèi)任意頻率的信號進行濾波處理;數(shù)字濾波設(shè)備中前級使用CIC抽取裝置進行下變頻可以減少由于采樣率不足而造成的頻譜混疊,后級使用CIC插值裝置進行上變頻可以實現(xiàn)抗鏡像濾波,以此可以減少上變頻和下變頻對高頻率信號濾波的影響;同時,利用多路并行結(jié)構(gòu),可對輸入數(shù)據(jù)實時處理(無需先存儲后處理),在較小的系統(tǒng)時鐘下實現(xiàn)高帶寬信號的實時濾波處理。
需要說明的是,CIC抽取裝置的輸入端輸入的是數(shù)字信號。由于本實用新型多并行結(jié)構(gòu)可以在系統(tǒng)運行時鐘有限而資源允許的情況下,理論上可實現(xiàn)任意帶寬信號的高速實時濾波處理。假設(shè)輸入數(shù)據(jù)并行數(shù)為Pin,本實用新型系統(tǒng)運行時鐘頻率為fsys,另外本實用新型中各模塊使用流水線結(jié)構(gòu)可實現(xiàn)實時處理輸入數(shù)據(jù),即可以在每個系統(tǒng)時鐘輸入一次數(shù)據(jù),每個系統(tǒng)時鐘周期內(nèi)可輸入數(shù)據(jù)量為Pin,因此本實用新型可處理信號的最大采樣率fs為:
fs=fsys×Pin
只要增大Pin就可以增大能處理信號的最大采樣率,即可以增大能處理信號的帶寬。當(dāng)然增大Pin會導(dǎo)致資源使用增大,所以只要資源允許,無論fsys多小(當(dāng)然大于0)只要增大Pin即可滿足任何頻率信號的濾波處理。使用普通單并行結(jié)構(gòu)濾波器是無法實現(xiàn)這一特性的。
優(yōu)選的,Pi1與Pi2可以相同,使輸入的待濾波數(shù)據(jù)量與輸出的濾波后數(shù)據(jù)量相同,從而使用本實用新型或旁路本實用新型都不影響信號的后級處理,Pc1與Pc2相同,使FIR濾波器的輸入數(shù)據(jù)量和輸出數(shù)據(jù)量相同,在FIR濾波器對信號進行濾波處理后保證信號的完整性。
可選的,Pi1、Pi2、Pc1、與Pc2可以為1,此時實際為單并行結(jié)構(gòu);Pi1、Pi2、Pc1、與Pc2可以為大于1的整數(shù),此時實際為多并行結(jié)構(gòu)。
在其中一個實施例中,如圖2(a)所示,CIC抽取裝置100包括輸出端、輸入端依次連接的Ncic1個單級并行CIC抽取裝置110,第1至Ncic1-1個單級并行CIC抽取裝置110均具備Pi1個輸入端和Pi1個輸出端,第Ncic1個單級并行CIC抽取裝置110具備Pi1個輸入端和Pc1個輸出端,第1個單級并行CIC抽取裝置110的Pi1個輸入端作為CIC抽取裝置100的Pi1個輸入端,第Ncic1個單級并行CIC抽取裝置110的Pc1個輸出端作為CIC抽取裝置100的Pc1個輸出端;
如圖2(b)所示,CIC插值裝置300包括輸出端、輸入端依次連接的Ncic2個單級并行CIC插值裝置310,第1至Ncic2-1個單級并行CIC插值裝置310均具備Pc2個輸入端和Pc2個輸出端,第Ncic2個單級并行CIC插值裝置310具備Pc2個輸入端和Pi2個輸出端;第1個單級并行CIC插值裝置310的Pc2個輸入端作為CIC插值裝置300的Pc2個輸入端,第Ncic1個單級并行CIC插值裝置310的Pi2個輸出端作為CIC插值裝置300的Pi2個輸出端;
Ncic1、Ncic2均為大于0的整數(shù)。
在本實施例中,為了達到較好的抽取效果,并行CIC抽取裝置通常需要較大的抽取倍數(shù),并行CIC抽取裝置的抽取因子與抽取倍數(shù)正相關(guān),但當(dāng)一個并行CIC抽取裝置的抽取因子較大時,并行CIC抽取裝置的輸入數(shù)據(jù)位寬較大,并行CIC抽取裝置對系統(tǒng)的資源占用較多,而采用多個單級并行CIC抽取裝置串聯(lián)的結(jié)構(gòu),并行CIC抽取裝置的抽取倍數(shù)為各個單級并行CIC抽取裝置的抽取倍數(shù)的乘積,可以用較小的抽取因子來獲得較大的抽取倍數(shù),同時對系統(tǒng)的資源占用較少;上一級單級并行CIC抽取裝置抽取以后,數(shù)據(jù)減少,但為了能在下一級單級并行CIC抽取裝置執(zhí)行同樣的抽取,需要將抽取以后的數(shù)據(jù)進行延遲分配,使并行輸出與下一級單級并行CIC抽取裝置的并行輸入的并行數(shù)相同;
為了達到較好的插值效果,并行CIC插值裝置通常需要較大的插值倍數(shù),并行CIC插值裝置的插值因子與插值倍數(shù)正相關(guān),但當(dāng)一個并行CIC插值裝置的插值因子較大時,并行CIC插值裝置對系統(tǒng)的資源占用較多,而采用多個單級并行CIC插值裝置串聯(lián)的結(jié)構(gòu),并行CIC插值裝置的插值倍數(shù)為各個單級并行CIC插值裝置的插值倍數(shù)的乘積,可以用較小的插值因子來獲得較大的插值倍數(shù),同時對系統(tǒng)的資源占用較少;上一級單級并行CIC插值裝置插值以后,數(shù)據(jù)增加,但為了能在下一級單級并行CIC插值裝置執(zhí)行同樣的插值,需要將插值以后的數(shù)據(jù)進行延遲分配,使并行輸出與下一級單級并行CIC插值裝置的并行輸入的并行數(shù)相同。
可選的,單級并行CIC抽取裝置的個數(shù)Ncic1與單級并行CIC插值裝置的個數(shù)Ncic2可以相同,也可以不同。
在其中一個實施例中,如圖3(a)和圖3(b)所示,單級并行CIC抽取裝置110包括輸出端、輸入端依次連接的Ni1個并行積分模塊112、并行抽取模塊114、Nc1個并行疏狀模塊116以及第一增益調(diào)整模塊118,Ni1和Nc1均為大于0的整數(shù);
每個并行積分模塊112具備Pi1個輸入端和Pi1個輸出端,并行抽取模塊114具備Pi1個輸入端和Pc1個輸出端,每個并行疏狀模塊116具備Pc1個輸入端和Pc1個輸出端;第1至Ncic1-1個單級并行CIC抽取裝置110中的各第一增益調(diào)整模塊118具備Pc1個輸入端和Pi1個輸出端,第Ncic1個單級并行CIC抽取裝置110中的第一增益調(diào)整模塊具備Pc1個輸入端和Pc1個輸出端;
如圖3(c)和圖3(d)所示,單級并行CIC插值裝置310包括輸出端、輸入端依次連接的Nc2個并行疏狀模塊312、并行插值模塊314、Ni2個并行積分模塊316以及第二增益調(diào)整模塊318;
每個并行疏狀模塊312具備Pc2個輸入端和Pc2個輸出端,并行插值模塊314具備Pc2個輸入端和Pi2個輸出端,每個并行積分模塊316具備Pi2個輸入端和Pi2個輸出端;第1至Ncic2-1個單級并行CIC插值裝置310中的各第二增益調(diào)整模塊318具備Pi2個輸入端和Pc2個輸出端,第Ncic2個單級并行CIC插值裝置310中的第二增益調(diào)整模塊具備Pi2個輸入端和Pi2個輸出端。
在本實施例中,單級并行CIC抽取裝置包括Ni1個并行積分模塊、并行抽取模塊、Nc1個并行疏狀模塊以及第一增益調(diào)整模塊,通過此種連接關(guān)系,可以對輸入的信號進行并行抽取,而且減少由于抽取可能導(dǎo)致的采樣率不足而造成的頻譜混疊,并行CIC抽取模塊對信號有增益放大的作用,因此,在輸出之前需要經(jīng)過第一增益調(diào)整模塊,對信號進行增益調(diào)整;而且,為了能使在下一級單級并行CIC抽取裝置執(zhí)行同樣并行數(shù)的處理,第一增益調(diào)整模塊需要將抽取以后的數(shù)據(jù)進行延遲分配,使并行輸出與下一級單級并行CIC抽取裝置的并行輸入對應(yīng);
單級并行CIC插值裝置包括Nc2個并行疏狀模塊、并行插值模塊、Ni2個并行積分模塊以及第二增益調(diào)整模塊,通過此種連接關(guān)系,可以對輸入的信號進行并行插值,而且實現(xiàn)抗鏡像濾波,由于并行CIC插值模塊對信號有增益放大的作用,因此,在輸出之前需要經(jīng)過第二增益調(diào)整模塊,對信號進行增益調(diào)整;為了能在下一級單級并行CIC插值裝置執(zhí)行同樣的插值,第二增益調(diào)整模塊需要將插值以后的數(shù)據(jù)進行延遲分配,使并行輸出與下一級單級并行CIC插值裝置的并行輸入對應(yīng)。
在其中一個實施例中,如圖4所示,并行積分模塊包括器件矩陣[Ai,j],其中,1≤i≤p,1≤j≤p,p為并行積分模塊的并行通道數(shù),i、j、p均為整數(shù);
第i行第i-1列的器件Ai,i-1和第p列的器件Ai,p均為加法器,器件矩陣[Ai,j]中剩余的器件為存儲延遲寄存器;
器件矩陣[Ai,j]中每一行的器件依次連接,第i行第i-1列的加法器Ai,i-1依次連接;
存儲延遲寄存器A1,1的輸入端與加法器A2,1的第一輸入端連接,加法器Ak,k-1的輸出端與加法器Ak+1,k的第一輸入端連接,同時加法器Ak,k-1的輸出端與存儲延遲寄存器Ak,k的輸入端連接,其中,2≤k≤p-1,k為整數(shù);
存儲延遲寄存器Ah,h-2的輸出端與加法器Ah,h-1的第二輸入端連接,其中,3≤h≤p,h為整數(shù);
存儲延遲寄存器Ag,p-1的輸出端與加法器Ag,p的第二輸入端連接,其中,1≤g≤p-1,g為整數(shù),加法器Ap,p-1的輸出端與加法器Ap,p的第二輸入端連接,加法器Ap,p的輸出端與加法器Ai,p的第一輸入端連接;
并行積分模塊的輸入端包括存儲延遲寄存器A1,1的輸入端、加法器A2,1的第二輸入端以及存儲延遲寄存器Ah,1的輸入端,并行積分模塊的輸出端包括加法器Ai,p的輸出端;
并行積分模塊為并行積分模塊112或并行積分模塊316。
在本實施例中,并行積分模塊主要通過加法器實現(xiàn),在計算某一時鐘周期的積分結(jié)果前,需要將之前的加和結(jié)果計算完成,積分結(jié)構(gòu)要累加之前的數(shù)據(jù),本方案通過器件矩陣方式對信號數(shù)據(jù)進行處理,存儲延遲寄存器可以將存儲的數(shù)據(jù)延遲一個時鐘周期輸出,加法器在兩個輸入值相加后也會延遲一個時鐘周期輸出,在器件矩陣的前p-1列先累加各級的值,在最后一列再與上一時鐘周期結(jié)果相加來得到當(dāng)前時鐘周期結(jié)果,上個時鐘周期輸入的p個數(shù)據(jù)中最后一個數(shù)據(jù)是當(dāng)前時鐘周期輸入p個數(shù)據(jù)中第一個數(shù)據(jù)的前一個數(shù)據(jù),理論上需要等待上個時鐘周期輸入數(shù)據(jù)計算完成后才能進行當(dāng)前時鐘周期的計算,而本方案中所用結(jié)構(gòu),先將當(dāng)前時鐘周期輸入數(shù)據(jù)各級累加,在當(dāng)前時鐘周期輸入各級累加完時上一個時鐘周期的結(jié)果正好計算完成,當(dāng)前時鐘周期輸入的累加值剛好可以和上一個時鐘周期計算結(jié)果中最后一個結(jié)果累加,得到當(dāng)前時鐘周期的積分結(jié)果值。在每一個時鐘周期均可接受新的數(shù)據(jù)并進行處理,即數(shù)據(jù)可以實時輸入處理。
可選的,并行積分模塊212中的并行通道數(shù)與并行積分模塊416中的并行通道數(shù)可以相同,也可以不同;當(dāng)并行積分模塊為并行積分模塊212時,并行通道數(shù)p為Pi1;當(dāng)并行積分模塊為并行積分模塊416時,并行通道數(shù)p為Pi2。
在其中一個實施例中,如圖5所示,并行疏狀模塊包括q個減法器和一個存儲延遲寄存器,其中,q為并行疏狀模塊的并行通道數(shù);
并行疏狀模塊的輸入端包括所有減法器的第一輸入端,并行疏狀模塊的輸出端包括所有減法器的輸出端;
第r個減法器的第一輸入端與第(r+1)個減法器的第二輸入端連接;其中,1≤r≤q-1,r、q均為整數(shù);
第q個減法器的第一輸入端與存儲延遲寄存器的輸入端連接,存儲延遲寄存器的輸出端與第1個減法器的第二輸入端連接;
并行疏狀模塊為并行疏狀模塊116或并行疏狀模塊312。
在本實施例中,并行疏狀模塊主要通過減法器實現(xiàn),上一時鐘周期輸入的信號數(shù)據(jù)的最后一個數(shù)據(jù)為當(dāng)前時鐘周期輸入的第一個數(shù)據(jù)的前一個數(shù)據(jù),將當(dāng)前時鐘周期輸入的各數(shù)據(jù)與上一時鐘周期輸入的最后一個數(shù)據(jù)延遲一個時鐘周期后進行作差處理,以得到當(dāng)前周期的微分結(jié)果值。在每一個時鐘周期均可接受新的數(shù)據(jù)并進行處理,即數(shù)據(jù)可以實時輸入處理。
可選的,并行疏狀模塊216中的并行通道數(shù)與并行疏狀模塊412中的并行通道數(shù)可以相同,也可以不同;當(dāng)并行疏狀模塊為并行疏狀模塊216時,并行通道數(shù)q為Pc1;當(dāng)并行疏狀模塊為并行疏狀模塊412時,并行通道數(shù)q為Pc2。
在其中一個實施例中,如圖6(a)和圖6(b)所示,F(xiàn)IR濾波器200包括數(shù)據(jù)分配延遲鏈模塊210和Pc2個單級并行FIR濾波器220;
數(shù)據(jù)分配延遲鏈模塊210包括(N+Pc2-1)個依次排列的存儲延遲寄存器,其中,第n個存儲延遲寄存器的輸出端與第(n+Pc1)個存儲延遲寄存器的輸入端連接,1≤n≤N-1,n、N均為整數(shù),N是單級并行FIR濾波器220的階數(shù);
第m至(N+m-1)個存儲延遲寄存器的輸出端與第m個單級并行FIR濾波器220的輸入端對應(yīng)連接,其中,1≤m≤Pc2,m為整數(shù);
FIR濾波器200的輸入端包括第1至Pc1個存儲延遲寄存器的輸入端,F(xiàn)IR濾波器200的輸出端包括所有單級并行FIR濾波器220的輸出端。
在本實施例中,數(shù)據(jù)分配延遲鏈模塊的延遲鏈長為(N+Pc2-1)個數(shù)據(jù),每個時鐘周期從第1至Pc1個存儲延遲寄存器輸入Pc1個數(shù)據(jù),在下一時鐘周期,第1至Pc1個存儲延遲寄存器的數(shù)據(jù)移動至第Pc1+1至2Pc1個存儲延遲寄存器中,在每一個時鐘周期輸出第m至(N+m-1)個存儲延遲寄存器的數(shù)據(jù)至第m個單級并行FIR濾波器,類似于滑動窗口的方式輸出,每個單級并行FIR濾波器在一個時鐘周期可以輸出一個濾波結(jié)果,Pc2個單級并行FIR濾波器在一個時鐘周期可以同時輸出Pc2個濾波結(jié)果;以滑動窗口方式分配數(shù)據(jù),可以利用較少的存儲延遲寄存器實現(xiàn)并行濾波。
優(yōu)選的,F(xiàn)IR濾波器200的輸入端數(shù)Pc1與FIR濾波器200的輸出端數(shù)Pc2相同。
在其中一個實施例中,如圖7所示,當(dāng)單級并行FIR濾波器220的階數(shù)為偶數(shù)時,單級并行FIR濾波器220包括N/2個加法器、N/2個乘法器和一個累加器;
與單級并行FIR濾波器220連接的N個依次排列的存儲延遲寄存器中,第s個存儲延遲寄存器的輸出端和第(N+1-s)個存儲延遲寄存器的輸出端分別連接到對應(yīng)的一個加法器的兩個輸入端,其中,1≤s≤N,每個加法器的輸出端與對應(yīng)的一個乘法器的輸入端連接,每個乘法器的輸出端均與累加器的對應(yīng)輸入端連接,累加器的輸出端為單級并行FIR濾波器220的輸出端。
在本實施例中,當(dāng)單級并行FIR濾波器220的階數(shù)為偶數(shù)時,利用N/2個加法器、N/2個乘法器和一個累加器即可實現(xiàn)對一組數(shù)據(jù)的濾波。
可選的,累加器可以是加法器樹,也可以是滿足每個時鐘周期可多并行輸入、輸出一個累加結(jié)果的并行結(jié)構(gòu)。
在其中一個實施例中,如圖8所示,當(dāng)單級并行FIR濾波器220的階數(shù)為奇數(shù)時,單級并行FIR濾波器320包括(N-1)/2個加法器、一個延時器、(N+1)/2個乘法器和一個累加器;
與單級并行FIR濾波器220連接的N個依次排列的存儲延遲寄存器中,第s個存儲延遲寄存器的輸出端和第(N+1-s)個存儲延遲寄存器的輸出端分別連接到對應(yīng)的一個加法器的兩個輸入端,其中,1≤s≤N,每個加法器的輸出端與對應(yīng)的一個乘法器的輸入端連接,第(N+1)/2個存儲延遲寄存器的輸出端與延時器的輸入端連接,延時器的輸出端與對應(yīng)的一個乘法器的輸入端連接,每個乘法器的輸出端均與累加器的對應(yīng)輸入端連接,累加器的輸出端為單級并行FIR濾波器220的輸出端。
在本實施例中,當(dāng)單級并行FIR濾波器220的階數(shù)為奇數(shù)時,利用(N-1)/2個加法器、一個延時器、(N+1)/2個乘法器和一個累加器即可實現(xiàn)對一組數(shù)據(jù)的濾波,由于階數(shù)為奇數(shù),其中一個存儲延遲寄存器沒有對應(yīng)的加法器與之連接,而加法器在進行加法計算時會有延遲,因此,需要將該存儲延遲寄存器與延時器連接,以保證各乘法器接收數(shù)據(jù)的同時性。
可選的,累加器可以是加法器樹,也可以是滿足每個時鐘周期可多并行輸入、輸出一個累加結(jié)果的并行結(jié)構(gòu)。
在其中一個實施例中,如圖9所示,數(shù)字濾波設(shè)備還包括抽取器400和內(nèi)插器500,抽取器400連接在CIC抽取裝置100的輸出端和FIR濾波器200的輸入端之間,內(nèi)插器500連接在FIR濾波器200的輸出口和CIC插值裝置300的輸入端之間。
在本實施例中,可以使用抽取器來輔助并行CIC抽取裝置,一般抽取器是以直接抽取方式進行抽取,占用資源較少,在完全使用并行CIC抽取裝置導(dǎo)致資源不足時,可以用抽取器替代部分并行CIC抽取裝置;可以使用內(nèi)插器來輔助并行CIC插值裝置,一般內(nèi)插器是以直接內(nèi)插方式進行插值,占用資源較少,在完全使用并行CIC插值裝置導(dǎo)致資源不足時,可以用內(nèi)插器替代部分并行CIC插值裝置,以合理利用系統(tǒng)資源。
可選的,抽取器400具備Pi1個輸入端,Pc1個輸出端;內(nèi)插器500具備Pc2個輸入端,Pi2個輸出端。
在其中一個實施例中,如圖10所示,數(shù)字濾波設(shè)備還包括上位機600和系數(shù)寄存器配置總線接口700;
上位機600通過系數(shù)寄存器配置總線接口700分別與CIC抽取裝置100、FIR濾波器200、CIC插值裝置300連接。
在本實施例中,上位機通過系數(shù)寄存器配置總線接口可以對CIC抽取裝置、FIR濾波器、CIC插值裝置進行系數(shù)設(shè)置,如CIC抽取裝置的抽取系數(shù)、FIR濾波器的濾波系數(shù)、CIC插值裝置的插值系數(shù)等,對CIC抽取裝置、FIR濾波器、CIC插值裝置進行合理調(diào)整,平衡數(shù)字濾波設(shè)備的性能和系統(tǒng)資源,使得數(shù)字濾波設(shè)備更加靈活實用。
在其中一個實施例中,如圖11所示,上位機600通過系數(shù)寄存器配置總線接口700還分別與抽取器400、內(nèi)插器500連接。
在本實施例中,上位機通過系數(shù)寄存器配置總線接口還可以對抽取器、內(nèi)插器進行系數(shù)設(shè)置,如抽取器的抽取系數(shù)、內(nèi)插器的插值系數(shù)等,對抽取器、內(nèi)插器進行合理調(diào)整,平衡數(shù)字濾波設(shè)備的性能和系統(tǒng)資源,使得數(shù)字濾波設(shè)備更加靈活實用。
在一個具體的實施例中,數(shù)字濾波設(shè)備可以在FPGA中實現(xiàn),或設(shè)計為專用于濾波的ASIC芯片,可用于需要任意截止頻率可調(diào)的高速實時濾波的應(yīng)用中,如示波器等儀器中。
數(shù)字濾波設(shè)備在系統(tǒng)中的位置如圖12所示,信號通過前級的模擬處理、ADC(模數(shù)轉(zhuǎn)換器)等處理后輸入到數(shù)字濾波設(shè)備中,由于數(shù)字濾波設(shè)備的結(jié)構(gòu)可使輸入和輸出數(shù)據(jù)量不變,所以前級ADC可以旁路數(shù)字濾波設(shè)備直接連接到后級處理,而不影響后級的處理過程。即可以使用數(shù)字濾波設(shè)備濾波后再進行處理,也可以直接處理ADC輸出數(shù)據(jù),而不影響后級處理。數(shù)字濾波設(shè)備和旁路電路的使用可以通過選擇器來進行選擇,選擇器的選擇功能通過使能端的使能信號進行控制。
數(shù)字濾波設(shè)備主要組成部分為“數(shù)字下變頻”裝置、“多并行FIR”濾波器、“數(shù)字上變頻”裝置和“系數(shù)寄存器配置”總線接口。其中“數(shù)字下變頻”裝置由“多級并行CIC抽取”裝置和“抽取器”裝置組成;“數(shù)字上變頻”裝置由“多級并行CIC插值”裝置和“內(nèi)插器”裝置組成;“系數(shù)寄存器配置”總線接口可以為AXI-Lite、Wishbone或Avalon-MM等片內(nèi)總線接口,與系數(shù)寄存器配置總線接口連接的上位機可以根據(jù)需要的截止頻率實時修改抽取、插值倍數(shù)和FIR濾波器系數(shù)?!皵?shù)字下變頻”裝置中可以只包括“多級并行CIC抽取”裝置,“數(shù)字上變頻”裝置中可以只包括“多級并行CIC抽取”裝置,“抽取器”裝置和“內(nèi)插器”裝置可以不設(shè)置。
數(shù)字濾波設(shè)備通過“數(shù)字下變頻”裝置將輸入數(shù)據(jù)下變頻,即將輸入數(shù)據(jù)的采樣頻率fi調(diào)節(jié)到“多并行FIR”濾波器滿足要求的濾波范圍中(可通過“系數(shù)寄存器配置總線接口”配置“濾波器系數(shù)”來改變“多并行FIR”的采樣頻率);再通過“系數(shù)寄存器配置總線接口”配置“濾波器系數(shù)”調(diào)節(jié)具體的濾波截止頻率(下變頻后數(shù)據(jù)的截止頻率);最后通過“數(shù)字上變頻”裝置將經(jīng)過下變頻并濾波后的數(shù)據(jù)重新恢復(fù)到原有采樣頻率fi;這樣通過這三個裝置配合可實現(xiàn)任意截止頻率的濾波效果。如需要濾波的截止頻率為fbd,而通過配置FIR濾波器系數(shù)得到FIR濾波器的截止頻率可以為fbf,這樣將整個“數(shù)字下變頻”裝置的抽取倍數(shù)Rl配置為(為使輸出和輸入數(shù)據(jù)量相同,“數(shù)字上變頻”部分的插值倍數(shù)也要配置為相同的值):
即將信號頻率下變頻到“多并行FIR”濾波器支持的采樣頻率上,這樣就使用截止頻率為fbf的濾波器實現(xiàn)了截止頻率為fbd的濾波,當(dāng)然“數(shù)字上變頻”裝置需要對應(yīng)配置將信號重新上變頻回原來的頻率。
前級“多級并行CIC抽取”裝置可減少一般串行CIC抽取導(dǎo)致采樣率不足而出現(xiàn)的頻譜混疊,使并行濾波器達到更好的性能。由于CIC傳遞函數(shù)可以表示為:
其中N為級聯(lián)系數(shù),M為延遲因子,R為抽取或插值因子,z代表z型變換信號。由上公式可知:
即CIC抽取增益為(RM)N,則輸出最大值為yout:
其中Bin為CIC輸入數(shù)據(jù)位寬(二進制),要使CIC計算數(shù)據(jù)不溢出,則CIC裝置中使用的數(shù)據(jù)位寬Bout為:
Bout=Nlog2(RM)+Bin
延遲因子M通常取固定值1,級聯(lián)系數(shù)N是CIC抽取裝置的系數(shù)(并非并行CIC抽取裝置中單級并行CIC抽取裝置的個數(shù)),根據(jù)需要通常選擇1~3即可,而抽取因子R通常需要實現(xiàn)較大抽取倍數(shù),當(dāng)抽取因子R較大時數(shù)據(jù)位寬Bout較大,由于CIC使用并行流水線結(jié)構(gòu)實現(xiàn)(流水線存儲單元較多),所以CIC中數(shù)據(jù)位寬增大時占用資源增加較多,因此這里使用多級并行CIC抽取,“多級并行CIC抽取”的抽取倍數(shù)為各級抽取倍數(shù)的乘積,可以用較小的抽取因子實現(xiàn)較大的抽取倍數(shù),而且占用的資源較少。
若在資源足夠的情況下可以不使用“抽取器”,即將“抽取器”裝置旁路;當(dāng)然當(dāng)性能達到要求而資源較少時可以使用占用資源較少的“抽取器”(可以為簡單的直接抽取方式實現(xiàn))代替部分“多級并行CIC抽取”裝置,由于CIC有低通的特性,其減少了后級“抽取器”導(dǎo)致的頻譜混疊。如ADC為2G采樣率,而前級“模擬處理”已將信號處理到100M帶寬,由于這里采樣率遠大于信號帶寬,所以這里可以使用占用資源較少的“抽取器”直接降低采樣率,而完全不會降低濾波性能。
經(jīng)過“多并行FIR”裝置后需要將下變頻的數(shù)據(jù)重新上變頻回原來的頻率,這里的插值也用“多級并行CIC插值”裝置和“內(nèi)插器”配合調(diào)節(jié)資源與性能,“多級并行CIC插值”裝置作為插值之后的抗鏡像濾波,也使用多級串聯(lián)的結(jié)構(gòu)以節(jié)省資源(原因同“CIC抽取”部分)?!岸嗉壊⑿蠧IC插值”裝置中插值部分為插0值方式插值;“內(nèi)插器”可以使用臨近復(fù)制插值、線性插值等其它滿足設(shè)計要求的插值方式。
“多級并行CIC抽取”裝置、“多級并行CIC插值”裝置與抽取器、內(nèi)插器配合調(diào)整需要的性能與資源的平衡,可使數(shù)字濾波設(shè)備更具實用性。
“多級并行CIC抽取”裝置結(jié)構(gòu)如圖2所示,由Ncic1個“單級并行CIC抽取”裝置結(jié)構(gòu)串聯(lián)實現(xiàn)。
其中“單級并行CIC抽取”裝置結(jié)構(gòu)如圖3所示,由Ni1個“并行積分”模塊、“并行抽取”模塊、Nc1個“并行疏狀”模塊和“增益調(diào)整”模塊組成。由于并行CIC抽取模塊對數(shù)據(jù)的增益為(RM)N,所以各“單級并行CIC抽取”裝置輸出前會進行增益調(diào)整(除以增益(RM)N)后輸出。
其中“并行積分”模塊如圖4所示(圖中“D”標記的方框為存儲延遲寄存器單元,本圖中加法器在兩個值相加后會延遲一個時鐘周期輸出),包括一個p行p列的器件矩陣[Ai,j],“并行積分”模塊并行輸入p個數(shù)據(jù),由于同時輸入的p個數(shù)據(jù)之間和各次輸入數(shù)據(jù)都有先后關(guān)系,計算結(jié)果需要在之前結(jié)果完成后才能完成(積分結(jié)構(gòu)要累加之前的數(shù)據(jù)),所以并非簡單的多個單級積分結(jié)構(gòu)并聯(lián)就可以實現(xiàn),而是通過流水線方式處理,先以流水線方式累加各級的值,在最后一級流水線輸出前再與上一時鐘周期結(jié)果相加來得到當(dāng)前時鐘周期結(jié)果。上一時鐘周期輸入的p個數(shù)據(jù)中最后一個數(shù)據(jù)(數(shù)據(jù)p-1)是當(dāng)前時鐘周期輸入p個數(shù)據(jù)中第一個數(shù)據(jù)(數(shù)據(jù)0)的前一個數(shù)據(jù),理論上需要等待上一時鐘周期輸入的p個數(shù)據(jù)計算完成后才能進行當(dāng)前時鐘周期流水線,而本實用新型中所用結(jié)構(gòu),先用流水線結(jié)構(gòu)將當(dāng)前時鐘周期輸入數(shù)據(jù)各級累加,在第p-1列當(dāng)前時鐘周期輸入各級累加完時,上一時鐘周期結(jié)果正好在第p列計算完成,當(dāng)前時鐘周期輸入的累加值剛好可以和上一時鐘周期計算結(jié)果中最后一個結(jié)果累加,得到當(dāng)前時鐘周期結(jié)果積分值。
“并行疏狀”模塊如圖5所示(延遲因子M取1時),上一時鐘周期輸入數(shù)據(jù)的最后一個數(shù)據(jù)(數(shù)據(jù)q-1)為當(dāng)前時鐘周期輸入的第一個數(shù)據(jù)(數(shù)據(jù)0)的前一個數(shù)據(jù),所以需要將當(dāng)前時鐘周期輸入的各個數(shù)據(jù)與上一時鐘周期輸入的最后一個數(shù)據(jù)延遲一個時鐘周期后進行作差處理,得到當(dāng)前時鐘周期的結(jié)果。
類似“多級并行CIC抽取”裝置結(jié)構(gòu),“多級并行CIC插值”裝置結(jié)構(gòu)如圖6所示,由Ncic2個“單級并行CIC插值”裝置串聯(lián)實現(xiàn)。
其中“單級并行CIC插值”裝置結(jié)構(gòu)如圖7所示,由Nc2個“并行疏狀”模塊、“并行插值”模塊、Ni2個“并行積分”模塊和“增益調(diào)整”模塊組成。由于并行CIC插值模塊對數(shù)據(jù)的增益為M(RM)N-1(由于插值插入的為0值,所以增益較并行抽取模塊增益小R倍),所以各“單級并行CIC插值”裝置輸出前會進行增益調(diào)整(即除以增益M(RM)N-1)后輸出。
這里的“并行疏狀”模塊和“并行積分”模塊與“并行CIC抽取”中的相似;“并行插值”模塊為插0值方式。
“多并行FIR”濾波器的結(jié)構(gòu)如圖8所示,主要由“數(shù)據(jù)分配延遲鏈”模塊和“單級并行FIR”濾波器組成。
“數(shù)據(jù)分配延遲鏈”模塊的移位延遲鏈長為N+Pc2-1個數(shù)據(jù)(N為單級并行FIR濾波器的階數(shù)),每個時鐘周期從數(shù)據(jù)分配延遲鏈的第1至Pc1個存儲延遲寄存器輸入M個數(shù)據(jù),同時以滑動窗口方式輸出Pc2個數(shù)據(jù)組,分別輸入到Pc2個“單級并行FIR”濾波器中用于濾波計算。
其中并行CIC抽取裝置中的串聯(lián)級數(shù)Ncic1和并行CIC插值裝置中的串聯(lián)級數(shù)Ncic2均為大于0的整數(shù),且Ncic1和Ncic2值可以相同,也可以不同;并行積分模塊和并行疏狀模塊的并行數(shù)p和q、串聯(lián)數(shù)Ni和Nc均為大于0的整數(shù),且在并行CIC抽取裝置和并行CIC插值裝置兩個模塊對應(yīng)的值可以相同,也可以不同;單級并行FIR濾波器中的階數(shù)N可以為大于0的整數(shù)。
“單級并行FIR”濾波器每個系統(tǒng)時鐘周期可以輸出一個濾波結(jié)果,Pc2個“單級并行FIR”濾波器在每個時鐘周期可以輸出Pc2個濾波結(jié)果(圖中Pc2表示“多并行FIR”濾波器的并行數(shù))?!皢渭壊⑿蠪IR”濾波器可以為任何并行結(jié)構(gòu)的FIR濾波器,如常用的偶數(shù)階、系數(shù)對稱的“單級并行FIR”濾波器結(jié)構(gòu)可以為如圖9所示結(jié)構(gòu)(但不限于本結(jié)構(gòu))。該FIR濾波器傳遞函數(shù)為:
圖9中單級并行FIR濾波器階數(shù)為N(N為偶數(shù));h(0)~h(N/2-1)為濾波器系數(shù)(可通過“系數(shù)寄存器配置”總線接口配置);圖下方的方框為累加器結(jié)構(gòu),這里是以加法器樹方式累加,使用流水線方式實現(xiàn);為時序能滿足要求,圖中的“加法器”、“乘法器”可以為多級流水線實現(xiàn);圖中所有“D”標記的方框為存儲延遲寄存器單元,在實現(xiàn)結(jié)構(gòu)中為“數(shù)據(jù)分配延遲鏈”模塊中的存儲延遲寄存器單元,即圖中上方虛線框內(nèi)的結(jié)構(gòu)為“數(shù)據(jù)分配延遲鏈”中的一個“數(shù)據(jù)組”的結(jié)構(gòu),Pc2個“單級并行FIR”濾波器依次使用“數(shù)據(jù)分配延遲鏈”中的Pc2個“數(shù)據(jù)組”,每組N個存儲延遲寄存器單元,由于采用滑動窗口方式重復(fù)利用,則總共使用N+Pc2-1個存儲延遲寄存器單元,即“單級并行FIR”濾波器結(jié)構(gòu)圖中上方各數(shù)據(jù)存儲延遲寄存器的輸出對應(yīng)從“數(shù)據(jù)分配延遲鏈”輸出的一個數(shù)據(jù)組。
類似的,奇數(shù)階“單級并行FIR”濾波器結(jié)構(gòu)如圖10(N為奇數(shù)),由于為奇數(shù)階,其中間一階直接進入乘法器(由于一個數(shù)據(jù)不需要相加,注意若加法器使用流水線方式實現(xiàn)需要將本數(shù)據(jù)延時與加法器流水線相同時鐘周期后再輸入到乘法器)與濾波器對應(yīng)系數(shù)相乘后就可輸入加法器樹進行累加。
以上結(jié)構(gòu)中的累加器可以使用流水線方式實現(xiàn)的加法器樹,當(dāng)然實際應(yīng)用中不一定為加法器樹方式,只要滿足每個系統(tǒng)時鐘周期可多輸入、輸出一個累加結(jié)果的流水線結(jié)構(gòu)均可。
本實用新型中各模塊使用流水線方式處理,每個系統(tǒng)時鐘周期可輸入、輸出一次數(shù)據(jù),只是輸入數(shù)據(jù)到輸出數(shù)據(jù)的延遲周期數(shù)D為:
D=D1+Dfir+D2
其中D1為“數(shù)字下變頻”模塊延遲,D2為“數(shù)字上變頻”模塊延時,Dfir為“多并行FIR”濾波器延遲:
D1=Ncic1×(Ni1×P1+Dr1+Nc1)+Ddr1
D2=Ncic2×(Ni2×P2+Dr2+Nc2)+Ddr2
其中Ncic1為“多級并行CIC抽取”裝置中“單級并行CIC抽取”裝置的級數(shù);Ni1為“單級并行CIC抽取”裝置中并行積分模塊的級數(shù);P1為“單級并行CIC抽取”裝置中并行積分模塊的并行數(shù);Dr1為“單級并行CIC抽取”裝置中并行抽取模塊的延遲數(shù);Nc1為“單級并行CIC抽取”裝置中并行疏狀模塊的級數(shù);Ddr1為“數(shù)字下變頻”中抽取器的延遲數(shù)。Dmult為“多并行FIR”中乘法器的流水線級數(shù);Nfir為FIR濾波器的階數(shù)。Ncic2為“多級并行CIC插值”裝置中“單級并行CIC插值”裝置的級數(shù);Ni2為“單級并行CIC插值”裝置中并行積分模塊的級數(shù);P2為“單級并行CIC插值”裝置中并行積分模塊的并行數(shù);Dr2為“單級并行CIC插值”裝置中并行插值模塊的延遲數(shù);Nc2為“單級并行CIC插值”裝置中并行疏狀模塊的級數(shù);Ddr2為“數(shù)字上變頻”中內(nèi)插器的延遲數(shù)。以上公式中的加法器(同減法器)都考慮為使用一級流水線實現(xiàn),這里計算的延時的單位為系統(tǒng)時鐘周期。
而使用普通MCU(微型控制器)實現(xiàn)類似結(jié)構(gòu)的濾波器,其計算一個結(jié)果的延遲估算為:
由于MCU方式每個時鐘周期只能執(zhí)行一個指令(只考慮單核MCU)Dmcu延時時間內(nèi)一直忙于計算,無法接收新的數(shù)據(jù),而基于FPGA的本實用新型,即使輸入到輸出有一段延時D,但由于流水線實現(xiàn)方式,在這個延時期間可繼續(xù)接收新的數(shù)據(jù)并處理,即數(shù)據(jù)可以實時輸入處理。
本實用新型采用CIC抽取+抽取器+FIR濾波器+CIC插值+內(nèi)插器的結(jié)構(gòu)。通過抽取來下變頻、FIR濾波器濾波后再插值來上變頻,以此實現(xiàn)任意截止頻率可調(diào);通過前級抽取減小采樣頻率后進行FIR濾波可以減少FIR濾波器階數(shù);先抽取后插值結(jié)構(gòu)還可使輸入數(shù)據(jù)點數(shù)和輸出數(shù)據(jù)點數(shù)相同,這樣使本實用新型在設(shè)計中任何時候用或不用(旁路)而不影響前級或后級處理;多級CIC抽取和多級CIC插值可以使用較少資源實現(xiàn)較大的抽取和插值倍數(shù);前級使用CIC抽取裝置可以減少由于下變頻而造成的頻譜混疊,后級使用CIC插值裝置作為抗鏡像濾波;通過CIC抽取、插值與抽取器、內(nèi)插器配合調(diào)整的結(jié)構(gòu),可靈活調(diào)節(jié)資源與性能的平衡,更具實用性。
以上結(jié)構(gòu)中各模塊都為并行實現(xiàn):有并行CIC結(jié)構(gòu)的實現(xiàn)方式,特別有其積分部分的實現(xiàn),巧妙的使用流水線結(jié)構(gòu)實現(xiàn)前后數(shù)據(jù)相關(guān)的并行計算;多并行FIR結(jié)構(gòu),使用滑動窗口方式分配數(shù)據(jù),使用較少存儲結(jié)構(gòu)即可實現(xiàn)多并行濾波器。所有模塊使用并行實現(xiàn),可實現(xiàn)高速、實時(無需將數(shù)據(jù)先存儲下來才可濾波)濾波。
以上所述實施例的各技術(shù)特征可以進行任意的組合,為使描述簡潔,未對上述實施例中的各個技術(shù)特征所有可能的組合都進行描述,然而,只要這些技術(shù)特征的組合不存在矛盾,都應(yīng)當(dāng)認為是本說明書記載的范圍。
以上所述實施例僅表達了本實用新型的幾種實施方式,其描述較為具體和詳細,但并不能因此而理解為對實用新型專利范圍的限制。應(yīng)當(dāng)指出的是,對于本領(lǐng)域的普通技術(shù)人員來說,在不脫離本實用新型構(gòu)思的前提下,還可以做出若干變形和改進,這些都屬于本實用新型的保護范圍。因此,本實用新型專利的保護范圍應(yīng)以所附權(quán)利要求為準。