3G移動通信中脈沖成形FIR濾波器的ASIC實現(xiàn)結(jié)構(gòu)
DA運算法則如圖3所示。所需的基礎(chǔ)操作有:查表排序、加法、減法以及輸入數(shù)據(jù)序列的移位。運用DA結(jié)構(gòu)的前提是:輸入抽樣值必須要表示為2個補碼并將其轉(zhuǎn)換成一個比特串行形式??偣残枰蠳個B比特的移位寄存器,每個寄存器在一個時鐘周期下產(chǎn)生1比特來生成一個用于查找表(LUT)地址(N比特寬)。LUT存儲了所有濾波器系數(shù)狀態(tài)可能的局部結(jié)果,這些局部結(jié)果在寄存器中進行加權(quán)(每個周期除以2)和累加,直到每個移位寄存器的最后一位為止。
由于脈沖成形濾波器有著對稱的沖擊響應(yīng),因此先把使用同一個脈沖響應(yīng)系數(shù)的2個輸入取樣值進行相加,然后相繼地把N/2個加法器的輸出結(jié)果送入DA進行處理,如圖4[4]所示。所以,LUT的個數(shù)也就從2N個減少到了2N/2個。
圖5所示為通用的FIR成形濾波器結(jié)構(gòu)框圖。比較圖4與圖5后可以看出,運用DA結(jié)構(gòu)可以在程序的編寫過程中大量減少乘法運算,而乘法運算在硬件程序中往往是占用資源最大的部分之一。運用DA處理結(jié)構(gòu)能大大減少硬件資源,并在很大程度上提高程序運算速度。
為了進一步減小LUT的個數(shù),現(xiàn)在在過采樣中引入零抽樣值。設(shè)u(n)為過采樣程序塊的輸出序列:
類推,應(yīng)用u(n)后,48個抽頭中的36個采樣值將給定為零,這樣就有一半的加法器輸入為零采樣值,并在每個時鐘將零采樣值傳遞到對應(yīng)的乘法器。而另一半加法器的輸入值中也只有一個是非零采樣值。這樣一來,在第一級就能減少24個加法器和一半的乘法器,也就意味著運算出一個輸出采樣值只需調(diào)用一半的濾波器系數(shù)。對一個碼片速率輸入采樣值x(n)來說,經(jīng)過運算得出4個輸出采樣:y(n)、y(n+1)、y(n+2)以及y(n+3),其中y(n)和y(n+3)需要調(diào)用的系數(shù)(組一)如下:h(0)、h(3)、h(4)、h(7)、h(8)、h(11)、h(12)、h(15)、h(16)、h(19)、h(20)、h(23);而y(n+1)和y(n+2)需要調(diào)用的系數(shù)(組二):h(1)、h(2)、h(5)、h(6)、h(9)、h(10)、h(13)、h(14)、h(17)、h(21)、h(22)。這樣就可以完成如圖6所示的實效DA。輸入序列即為碼片速率采樣值,并且輸出的數(shù)據(jù)是碼片速率的4倍,每輸入一個采樣值可以得出4個輸出采樣值,內(nèi)部時鐘速率為4×B×碼片速率。DA運行中,常用電路移位寄存器(CSR)來代替一個移位寄存器保存數(shù)據(jù),直到每個芯片間隔運算出最后的輸出采樣值為止。一旦輸入一個新的采樣值,這些CSR就要更新一次。在芯片的持續(xù)時間中一共有4個循環(huán),每個循環(huán)經(jīng)歷B個時鐘并產(chǎn)生一個輸出采樣值。一個循環(huán)過后,CSR移位回歸到初始數(shù)據(jù),為下一個循環(huán)處理做準備,以生成另一個輸出采樣值。圖6中的2個LUT分別存儲了兩組濾波器系數(shù)各自生成的局部結(jié)果。選擇器是用來決定在每個循環(huán)中選擇這兩組輸入分支的哪一組的,其中當高位LUT的結(jié)果在循環(huán)1和2輸出,低位LUT結(jié)果在循環(huán)3和4輸出的時候選擇組一;當高位LUT的結(jié)果在循環(huán)1和4輸出,低位LUT的結(jié)果在循環(huán)2和3輸出的時候選擇組二。累加器的寄存器在每個循環(huán)的起始都要進行清零。
四、設(shè)計
現(xiàn)設(shè)計一個1比特輸入、14比特輸出的平方根升余弦滾降線性相位FIR數(shù)字濾波器,滾降系數(shù)為0.22,帶外衰減要求大于45 dB,即通帶內(nèi)(f8.192MHz)的起伏小于0.5dB,阻帶外(f>10 MHz)的衰減大于45dB。在設(shè)計中選用了Alter公司的FPGA芯片-EP1K50QC208-3,該芯片有2 880個邏輯單元(LE),40960個片內(nèi)存儲器。本設(shè)計占用了387個LE和1088個片內(nèi)存儲器,分別占總資源的1.3%和2%。
經(jīng)過試驗,本結(jié)果已經(jīng)在FPGA中得到了實現(xiàn)。
五、結(jié) 論
從試驗結(jié)果中可以看出,DA實現(xiàn)控制起來比較簡單并且時鐘速率較低,但是因為LUT的大小會隨著濾波器階數(shù)的增加呈指數(shù)增長,因此其門的數(shù)量也較多。在階數(shù)很大的濾波器中采用并行的FIR結(jié)構(gòu),每個并行的子濾波器以DA結(jié)構(gòu)實現(xiàn),這樣,控制起來就稍微有點復(fù)雜了。因此,如何去克服這方面的缺點還有待于繼續(xù)研究。本文引用地址:http://m.butianyuan.cn/article/157634.htm
評論