FIR濾波器的FPGA實現(xiàn)方法
對于有符號數(shù)x(n)可以用下式的補碼形式表示:
對于式(7)中的h(i)xb(n-i)代表著輸入數(shù)據(jù)x(n-i)的第i位與抽頭系數(shù)h(i)的乘積,對于FIR濾波器,其系數(shù)h(i)是常數(shù),所以可以事先構造一個查找表。該查找表存儲所有h(i)xb(n-i)的乘積值,通過輸入(xb(N-1),xb(N-2),…,xb(0))對該表尋址,然后將查得的值乘上2b后移位累加便得到濾波器輸出y(n)。該查找表構造規(guī)則如表2所示。本文引用地址:http://m.butianyuan.cn/article/191366.htm
2.5.2 基于分布式算法的FIR濾波器結構
基于分布式算法的FIR濾波器主要有3種結構類型。
(1)第一種結構為串行分布式結構。串行分布式FIR濾波器的原理為,首先用所有N個輸入量的最低位對DA查找表進行尋址查值,得到一個部分積,將部分積右移一位即相當于除以2后放到寄存器中暫存。同時,N個輸入量的次低位開始對DA查找表進行尋址查值,得到另一個部分積,把該部分積與上一個儲存在寄存器中的值進行相加,相加后的值再右移一位放到寄存器中。以此重復循環(huán)累加,直到所有位數(shù)都尋址完
成,注意最高位尋址后的部分積是相減,最后所得到的值就是所需要的結果。
當N過大,即FIR濾波器的濾波階數(shù)很高時,采用一個查找表來實現(xiàn)將使得存儲查找表的ROM變得十分龐大。為此可采用部分表結構,即將查找表劃分為多個部分,N個輸入量的同一位對應不同的部分表尋址。圖6所示即為基于4輸入部分表結構的串行DA結構。
評論