級聯(lián)信號處理器的FPGA實現(xiàn)
考慮到FIR濾波器系數(shù)的對稱性,在橫向濾波器的轉置結構中再加入一條反向相加、延時支路,把單片F(xiàn)IR濾波器的級數(shù)由N擴展到2N,適合于階數(shù)M為NM≤2N的濾波器使用。系統(tǒng)只需用一個信號便可實現(xiàn)對芯片級聯(lián)使用或單片使用的控制,具體實現(xiàn)結構如圖2所示。本文引用地址:http://m.ptau.cn/article/191993.htm
為了讓設計的信號處理器能用于自適應信號處理、快速傅里葉變換等領域,還必須使系統(tǒng)能根據(jù)用戶的要求實時改變當前系數(shù)。一般有兩種方案可以實現(xiàn):一是通過一個寫入端口直接修改當前系數(shù);二是準備多組備用系數(shù),并可以在與系統(tǒng)工作時鐘異步的情況下對這些備用系數(shù)進行修改。方案一可以節(jié)省一定的系統(tǒng)資源,但對一組當前系數(shù)的修改需要較長時間,且此段時間內系統(tǒng)無法正常工作,故實時性較差;方案二雖然消耗了較多的系統(tǒng)資源,但系統(tǒng)能在準備系數(shù)(即修改備用系數(shù))時正常工作,修改當前系數(shù)只需將當前系數(shù)和備用系數(shù)交換,交換系數(shù)的過程只需一個時鐘節(jié)拍即可完成。綜合考慮各方面因素,方案二具備更好的系統(tǒng)性能,故優(yōu)先選擇方案二。
2 系統(tǒng)設計與FPGA實現(xiàn)
圖2的FIR濾波器結構是高速、高精度的數(shù)字式橫向濾波器結構,在數(shù)字信號處理應用中可作為功能塊,完成高速離散傅里葉變換、卷積和相關,以及濾波功能。級聯(lián)型信號處理器的設計正是基于此結構,其FPGA實現(xiàn)的總體結構如圖3所示。
此級聯(lián)型信號處理器的外部輸入數(shù)據(jù)Din字長16位,系數(shù)字長16位,輸入數(shù)據(jù)和系數(shù)均采用二進制補碼方式。內部有A,B兩組系數(shù)寄存器,一個存儲當前系數(shù),另一個存儲修改系數(shù),用戶可通過數(shù)據(jù)線D在與系統(tǒng)時鐘異步的情況下對系數(shù)進行修改,也可使A,B兩組系數(shù)在系統(tǒng)工作的過程中相互“交換”。系統(tǒng)具有用戶控制切換和系統(tǒng)自動切換兩種系數(shù)切換方式。為了保持完整的數(shù)據(jù)精度,對于延時、乘法和相加鏈的中間結果是以滿精度進行運算的,若N=2K,則系統(tǒng)的滿精度為31+K位,考慮到單片使用時N級可擴展到2N級,所以應選用的滿精度為32+K位,本系統(tǒng)采用32階濾波器設計,故滿精度為37位。在延時、乘法和相加鏈的輸出端,設計一個可編程的桶形移位器(即數(shù)據(jù)選擇單元),它可從四組24位數(shù)據(jù)字段[7~30],[11~34],[15~38]和[20~43]字段中任選一種,這四組字段從FIR濾波器輸出的37位結果[0~36]中得到,所選的24位在輸出前需進行舍入或符號擴展,至于如何選擇,則根據(jù)實際應用而定。另外,本系統(tǒng)還為用戶提供了系統(tǒng)復位(reset)、工作許可(go)、狀態(tài)監(jiān)測(error,out-ready)等常用握手信號。用戶可以讀寫控制邏輯中的狀態(tài)控制寄存器來切換當前系數(shù),選擇輸出字段和設置系統(tǒng)工作模式(單片或級聯(lián),當系統(tǒng)課用于級聯(lián)時,Cin為級聯(lián)輸入),其內部寄存器的詳細描述見表1。
用戶還可以通過數(shù)據(jù)線D、地址信號address、讀寫控制信號W、系統(tǒng)使能信號Ce、片選信號Cs等對系數(shù)寄存器A,B以及狀態(tài)控制寄存器進行讀寫。
評論