文/胡青
為了能實(shí)現(xiàn)多速率輸出和降低硬件的開銷,可在確定抽取倍數(shù)的情況下,通過級(jí)聯(lián)組合的方式來完成不同階數(shù)SINC 濾波器的組合,進(jìn)而完成多速率SINS 濾波器的設(shè)計(jì)同時(shí),為了使輸出信號(hào)能將采樣間隔的多樣性體現(xiàn)出來,減少計(jì)算量,本文會(huì)在SINC 數(shù)字濾波器架構(gòu)中設(shè)定3 為其的抽取系數(shù)。其中,SINC級(jí)聯(lián)的個(gè)數(shù)取決于抽取系數(shù),SINC 級(jí)聯(lián)個(gè)數(shù)越多,那么輸出信號(hào)的采樣間隔就會(huì)呈現(xiàn)出更為突出的多樣性特點(diǎn),通過只對(duì)這一種模式考慮來降低實(shí)際開發(fā)的難度,減少開發(fā)的成本及時(shí)間。
上文已對(duì)多倍率SINC 濾波器的結(jié)構(gòu)設(shè)計(jì)進(jìn)行了簡(jiǎn)單的概述,點(diǎn)明了SINC 級(jí)聯(lián)的個(gè)數(shù)會(huì)受到抽取系數(shù)不同的影響,通過設(shè)定不同的抽取系數(shù)來賦予輸出信號(hào)采樣間隔多樣性的特點(diǎn)。此處,本文給出了SINC 濾波器的算法設(shè)計(jì)流程,如圖1所示。SINC 級(jí)聯(lián)數(shù)的選取需要經(jīng)過三個(gè)步驟來完成:
(1)明確抽取系數(shù)值;
(2)在條件一的前提下,對(duì)寄存器Mode_R 進(jìn)行設(shè)置;
(3)選擇SINC 的級(jí)聯(lián)數(shù),通過此流程才能達(dá)到SINC 數(shù)字濾波器多速率輸出多樣性的特點(diǎn),才能達(dá)到相應(yīng)的設(shè)計(jì)標(biāo)準(zhǔn)。
針對(duì)上述的SINC 算法流程,本文給出了相應(yīng)的實(shí)現(xiàn)電路簡(jiǎn)圖,具體如圖2所示。與上文相同,此處設(shè)定2 為SINC 每個(gè)模塊的抽取系數(shù),那么2N就為SINC 總的抽取系數(shù),其中,N 表示的是SINC 的級(jí)聯(lián)個(gè)數(shù),可控的開關(guān)模塊由圖中的Q1、Q2、Q3、Q4、Q5 表示,并且由數(shù)字2 和3 分別表示控制信號(hào)的導(dǎo)通與斷開。
表1:SINC 的級(jí)聯(lián)狀態(tài)及Q 的設(shè)定
圖1:SINC 濾波器的算法流程
圖2:SINC 算法對(duì)應(yīng)的電路簡(jiǎn)圖
同時(shí),SINC 的級(jí)聯(lián)狀態(tài)會(huì)受到設(shè)置值的干擾,如Q1、Q2、Q3、Q4、Q5 的設(shè)置值均為2時(shí),SINC的級(jí)聯(lián)狀態(tài)為SINC1→SINC6,再如Q1、Q2、Q3、Q4 的設(shè)置值均為2,Q5 的設(shè)置值為3 時(shí),那么SINC 的級(jí)聯(lián)狀態(tài)就會(huì)轉(zhuǎn)化為SINC1 →SINC5 →SINC6,具體如表1所示。簡(jiǎn)單來說,SINC 的級(jí)聯(lián)狀態(tài)取決于K 不同的設(shè)置值,即通過K 不同的設(shè)置值來獲取系統(tǒng)不同的抽取系數(shù),滿足多速率SINC 濾波器在數(shù)據(jù)處理系統(tǒng)中的要求。
圖3:SINC 濾波器對(duì)應(yīng)的輸出頻譜
圖4:FIR1 濾波器對(duì)應(yīng)的輸出頻譜
圖5:FIR2 濾波器對(duì)應(yīng)的輸出頻譜
為了檢測(cè)算法設(shè)計(jì)的準(zhǔn)確性,本文在Q1、Q2、Q3、Q4 均 為2,Q5 為3 時(shí),通 過邏輯分析儀對(duì)FPGA 設(shè)計(jì)中的SINC 濾波器模塊進(jìn)行了硬件仿真,此次仿真實(shí)驗(yàn)是在SINC抽取系數(shù)為8 的情況下進(jìn)行的。仿真結(jié)果表明,SINC 濾波器輸出數(shù)據(jù)的頻率周期可由仿真實(shí)驗(yàn)中的最小單元表示,且與第8 步頻率周期相比,測(cè)得的頻率周期是SINC 輸出數(shù)據(jù)頻率周期的兩倍,即SINC 輸出數(shù)據(jù)頻率與輸入的數(shù)據(jù)頻率分別為16KHz 與128KHz,那么對(duì)應(yīng)的抽取系數(shù)則為8。再回到表1中可以看出,Q1、Q2、Q3、Q4 均 為2,Q5 為3 時(shí) 對(duì)應(yīng)的抽取系數(shù)亦為8,與之相互吻合,驗(yàn)證了算法設(shè)計(jì)的準(zhǔn)確性。同時(shí)在Q1、Q2、Q3 均為1,Q4 和Q5 為0 時(shí),且SINC 抽取系數(shù)為16 的情況下進(jìn)行了第二次仿真實(shí)驗(yàn),得到的仿真結(jié)果表明,SINC 濾波器輸出數(shù)據(jù)的頻率周期可由仿真實(shí)驗(yàn)中的最小單元表示,且與第四步的頻率周期相比,SINC 輸出數(shù)據(jù)頻率周期是仿真得到的二分之一,即得到的SINC 輸出數(shù)據(jù)頻率與輸入的數(shù)據(jù)頻率分別為8KHz 與128KHz,對(duì)應(yīng)的抽取系數(shù)則為16,與表1中的Q1、Q2、Q3 均為2,Q4 和Q5 為3 時(shí)的抽取系數(shù)吻合,在此驗(yàn)證了算法設(shè)計(jì)的準(zhǔn)確性,能夠達(dá)到較為理想的設(shè)計(jì)預(yù)期。
本文以系統(tǒng)總抽取系數(shù)128 為例,在FPGA 上進(jìn)行SINC 濾波器的功能實(shí)現(xiàn),即對(duì)FPGA 性能進(jìn)行測(cè)試時(shí),SINC 的抽取系數(shù)為16,F(xiàn)IR1 和FIR2 的抽取系數(shù)分別為4 和2,同時(shí)此次測(cè)試設(shè)計(jì)的1bit 數(shù)據(jù)流和信號(hào)分別為128KHz 和63Hz、-12dB,具體測(cè)試如下所示。
SINC 在經(jīng)過16:1 抽取后測(cè)試得到的采樣頻率等于8KHz,具體如圖3所示。
FIR1 濾波器在經(jīng)過4:1 抽取后測(cè)試得到的輸出頻譜情況由圖4所示??梢钥闯?,雖然在0-500Hz 這段頻譜中出現(xiàn)了一定的混疊現(xiàn)象,但混疊的幅度并不大,且通帶相應(yīng)也較為合理。
FIR2 濾波器在經(jīng)過2:1 抽取后測(cè)試得到的輸出頻譜由圖5所示??梢钥闯觯m然在0-400Hz 這段頻譜中出現(xiàn)了一定的混疊現(xiàn)象,但混疊的幅度并不大,且通帶相應(yīng)也較為合理。
綜上所述,本文首先對(duì)多倍速率SINC 濾波器的結(jié)構(gòu)及算法進(jìn)行了設(shè)計(jì),并給出了對(duì)應(yīng)的算法流程;其次對(duì)多速率SINC 濾波器的FPGA 實(shí)現(xiàn)進(jìn)行了分析,點(diǎn)出了SINC 濾波器算法設(shè)計(jì)的可行性及準(zhǔn)確性;最后借助FPGA檢驗(yàn)對(duì)SINC、FIR1 以及FIR2 這三個(gè)模塊,對(duì)多速率SINC 算法設(shè)計(jì)的準(zhǔn)確性再次進(jìn)行檢驗(yàn),從性能測(cè)試結(jié)果來看,基本上符合本文所需設(shè)計(jì)的指標(biāo)及預(yù)期要求,再次驗(yàn)證了多速率SINC 算法設(shè)計(jì)的準(zhǔn)確性。