專利名稱:一種有限脈沖響應fir濾波器的制作方法
技術領域:
本發(fā)明涉及通信領域,尤其涉及一種FIR(Finite impulse response,有限脈沖響應)濾波器。
背景技術:
在通信系統(tǒng)中,用數(shù)字技術設計濾波器的方法越來越受到廣泛的應用。這種通過數(shù)字技術設計的濾波器也稱為數(shù)字濾波器。數(shù)字濾波器是為了完成信號濾波處理功能,用有限精度算法實現(xiàn)的離散時間線性非時變系統(tǒng),其輸入是一組數(shù)字量,其輸出是經(jīng)過變換的另一組數(shù)字量。數(shù)字濾波器具有穩(wěn)定性高、精度高、靈活性大等突出優(yōu)點。
一個數(shù)字濾波器的系統(tǒng)函數(shù)方程可以表示為H(z)=Σk=0mbkz-k1-Σk=1nakz-k=Y(z)X(z)]]>直接由H(Z)得出表示輸入輸出關系的常系數(shù)線性差分方程為y(n)=Σk=1naky(n-k)+Σk=0mbkx(n-k)]]>由上述方程可以看出,數(shù)字濾波器是將輸入序列經(jīng)過一定的運算變換成輸出序列。大多數(shù)普通的數(shù)字濾波器是線性非時變的濾波器。對具有因果關系的FIR數(shù)字濾波器,其系統(tǒng)函數(shù)僅有零點(除z=0的極點外),并且因為系數(shù)ak全為零,所以上式的差分方程就簡化為y(n)=Σk=0mbkx(n-k)]]>
上式可以認為是x(n)與單位脈沖響應h(n)的直接卷積。
數(shù)字濾波器包括FIR濾波器和IIR(Infinite impulse response,無限脈沖響應)濾波器。所述FIR濾波器在保證滿足濾波器幅頻響應要求的同時還可獲得嚴格的線性相位特性,從而較IIR濾波器更具有穩(wěn)定性。對非線性相位要求的FIR濾波器一般可以用IIR濾波器來代替。
現(xiàn)有技術中一般采用寄存器實現(xiàn)輸入數(shù)據(jù)的存取,其包括數(shù)據(jù)輸入單元、寄存器數(shù)據(jù)讀寫單元、濾波器系數(shù)選擇單元和濾波功能實現(xiàn)單元。所述數(shù)據(jù)輸入單元根據(jù)固定的階數(shù)輸入相關的數(shù)據(jù),寄存器數(shù)據(jù)讀寫單元寫入該數(shù)據(jù),并在適宜的時候讀取該數(shù)據(jù)給濾波器系數(shù)選擇單元,所述濾波器系數(shù)選擇單元根據(jù)輸入的數(shù)據(jù)選擇相應的濾波系數(shù),并傳送給濾波功能實現(xiàn)單元;所述濾波功能實現(xiàn)單元根據(jù)所述濾波系數(shù)以及輸入數(shù)據(jù)做點乘而后累加處理,從而實現(xiàn)濾波功能。
由現(xiàn)有技術可以看出,其采用寄存器形式實現(xiàn)固定階數(shù)的濾波的技術方案存在如下缺陷1、階數(shù)固定,不適用于階數(shù)可變的情況,適應范圍較小,不具有通用性。
2、采用寄存器實現(xiàn)方式實現(xiàn)可變階數(shù)濾波器功能時,由于寄存器的存取數(shù)據(jù)的速度較慢,必須設置更多的寄存器才能滿足存取數(shù)據(jù)速度的要求,從而需要復雜的外部信號處理電路,占用資源很大且實現(xiàn)復雜。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種FIR濾波器,本發(fā)明采用RAM(讀寫存取器)實現(xiàn)可變階數(shù)濾波器功能時不需要復雜的外部信號處理電路,結構簡單,占用資源較少。
本發(fā)明的目的是通過以下技術方案實現(xiàn)的
本發(fā)明提供一種FIR濾波器,包括數(shù)據(jù)輸入單元、RAM數(shù)據(jù)讀寫單元、濾波器系數(shù)選擇單元和濾波功能實現(xiàn)單元;所述數(shù)據(jù)輸入單元用于輸入與系統(tǒng)設置的可變階數(shù)對應的濾波器輸入數(shù)據(jù)值;所述RAM數(shù)據(jù)讀寫單元用于將所述的濾波器輸入數(shù)據(jù)值寫入其內(nèi)部的RAM中,以及產(chǎn)生起始讀地址,并根據(jù)所產(chǎn)生的起始讀地址從所述RAM中讀取所述數(shù)據(jù)值給濾波功能實現(xiàn)單元;所述濾波器系數(shù)選擇單元用于根據(jù)所述起始讀地址以及系統(tǒng)設置的可變階數(shù)選擇并傳送相應的濾波系數(shù)給所述濾波功能實現(xiàn)單元;所述濾波功能實現(xiàn)單元用于根據(jù)輸入的數(shù)據(jù)值以及濾波系數(shù)進行濾波。
其中,所述RAM數(shù)據(jù)讀寫單元包括FIR濾波器控制信號產(chǎn)生電路、RAM模塊邏輯電路以及至少一個RAM或至少一對RAM;所述FIR濾波器控制信號產(chǎn)生電路,用于產(chǎn)生啟動讀開始rd_start信號的控制信號和產(chǎn)生控制計數(shù)器最高位cnt[3]的控制信號;所述RAM模塊邏輯電路,用于控制將輸入到濾波器的輸入數(shù)據(jù)值寫入到RAM中,并產(chǎn)生從每個RAM中讀取濾波器輸入數(shù)據(jù)值的起始讀地址,并將所述起始讀地址信息傳送給所述濾波系數(shù)選擇單元,以及根據(jù)產(chǎn)生的起始讀地址從每個RAM中讀取出對應的數(shù)據(jù)值,并將其傳送給所述濾波功能實現(xiàn)單元。
其中,所述RAM模塊邏輯電路包括RAM寫地址產(chǎn)生模塊,用于通過同步信號的控制產(chǎn)生將濾波器輸入數(shù)據(jù)值寫入到RAM中的寫地址。
其中,所述RAM模塊邏輯電路還包括對應每個RAM的RAM讀地址產(chǎn)生模塊,用于根據(jù)RAM寫地址產(chǎn)生模塊產(chǎn)生的寫地址產(chǎn)生讀取濾波器輸入數(shù)據(jù)值時的起始讀地址。
其中,當至少為一對RAM時,對應每一對RAM中的其中一個RAM的RAM讀地址產(chǎn)生模塊包括第一選擇器和第一計數(shù)器;所述第一選擇器被所述cnt[3]信號控制選擇出需要移動的偏移地址,并用當前的寫地址減去所述偏移地址得到讀取數(shù)據(jù)值時起始讀地址,然后通過rd_start信號使能所述第一計數(shù)器計數(shù),并產(chǎn)生讀地址;對應每一對RAM中的另一個RAM的RAM讀地址產(chǎn)生模塊包括第二選擇器和第二計數(shù)器;所述第二選擇器被所述cnt[3]信號控制選擇出需要移動的偏移地址,并用當前的寫地址加上所述偏移地址得到讀取數(shù)據(jù)值時起始讀地址,然后通過rd_start信號使能所述第二計數(shù)器計數(shù),并產(chǎn)生讀地址。
其中,當至少為一個RAM時,對應每一個RAM的RAM讀地址產(chǎn)生模塊包括第三選擇器和第三計數(shù)器;所述第三選擇器被所述cnt[3]信號控制選擇出需要移動的偏移地址,并用當前的寫地址減去或加上所述偏移地址得到讀取數(shù)據(jù)值時起始讀地址,然后通過rd_start信號使能所述第三計數(shù)器計數(shù),并產(chǎn)生讀地址。
其中,所述RAM模塊邏輯電路還包括對應每一RAM的模處理部件,用于根據(jù)通過RAM讀地址產(chǎn)生模塊中的選擇器根據(jù)RAM寫地址產(chǎn)生模塊輸出的計數(shù)值選擇出的數(shù)值,并通過所述數(shù)值對所述RAM讀地址產(chǎn)生模塊中的計數(shù)器的計數(shù)值進行模處理。
其中,所述濾波系數(shù)選擇單元為至少一個,并且每個濾波系數(shù)選擇單元對應一個RAM。
其中,所述濾波系數(shù)選擇單元包括第四計數(shù)器、第四選擇器、第五選擇器、第六選擇器、系數(shù)選擇產(chǎn)生部件;所述第四計數(shù)器由所述讀開始rd_start信號控制開始計數(shù);
所述第四選擇器用于將第四計數(shù)器產(chǎn)生的計數(shù)值傳送給所述系數(shù)選擇產(chǎn)生部件;所述第五選擇器用于選擇表示濾波系數(shù)為奇數(shù)或偶數(shù)的標識參數(shù),并將其傳送給所述系數(shù)選擇產(chǎn)生部件;所述第六選擇器用于選擇濾波系數(shù)中的偏移量中的參數(shù),并將其傳送給所述系數(shù)選擇產(chǎn)生部件;所述系數(shù)選擇產(chǎn)生部件根據(jù)所述第四選擇器輸出的計數(shù)值、所述第五選擇器輸出的標識參數(shù)和第六選擇器輸出的參數(shù)計算出濾波系數(shù),然后將其傳送給所述濾波功能實現(xiàn)單元。
其中,所述濾波功能實現(xiàn)單元包括乘法器和加法器;所述乘法器將輸入的數(shù)據(jù)值以及濾波系數(shù)進行點乘,并將結果輸入到加法器進行累加處理,得到處理后的濾波結果。
其中,所述濾波功能實現(xiàn)單元還包括飽和截位部件,用于對所述加法器處理后的濾波結果進行截位處理。
由上述本發(fā)明提供的技術方案可以看出,本發(fā)明中通過RAM數(shù)據(jù)讀寫單元將濾波器輸入數(shù)據(jù)值寫入RAM中,以及產(chǎn)生起始讀地址,并根據(jù)所述起始讀地址從RAM中讀取數(shù)據(jù)值給濾波功能實現(xiàn)單元;所述濾波器系數(shù)選擇單元根據(jù)所述起始讀地址以及系統(tǒng)設置的可變階數(shù)選擇濾波系數(shù)并傳送給濾波功能實現(xiàn)單元;所述濾波功能實現(xiàn)單元根據(jù)輸入的數(shù)據(jù)值和濾波系數(shù)進行濾波處理。由于本發(fā)明采用RAM對數(shù)據(jù)進行處理時,存儲和讀取數(shù)據(jù)均比較快,從而在可變階數(shù)濾波器功能時,不需要設置很多的RAM就能夠在規(guī)定的時間內(nèi)獲取要讀取的數(shù)據(jù),從而能夠保證濾波器按要求輸出計算結果,減少了FIR插值的運算時間,因此本發(fā)明不需要復雜的外部信號處理電路,從而使本發(fā)明的FIR濾波器的結構相對于寄存器實現(xiàn)方式簡單,占用資源較少。另外,本發(fā)明根據(jù)相應的濾波器階數(shù)產(chǎn)生相應的讀寫控制信號,從而能夠實現(xiàn)可變階數(shù)的濾波,使FIR濾波器的應用范圍更加廣泛,通用性較強,例如可以作為通用的FIR濾波器應用于不同的場合,而且本發(fā)明能夠成功應用在中頻處理芯片中。
圖1為本發(fā)明中可變階數(shù)FIR濾波器的結構圖;圖2為本發(fā)明提供的實施例中FIR濾波器的控制信號產(chǎn)生電路圖;圖3為本發(fā)明提供的實施例中FIR濾波器的RAM模塊邏輯電路和RAM結構圖;圖4為本發(fā)明提供的實施例中FIR濾波器的RAM0讀地址產(chǎn)生模塊的工作原理圖;圖5為本發(fā)明提供的實施例中FIR濾波器的RAM1讀地址產(chǎn)生模塊的工作原理圖;圖6為本發(fā)明提供的實施例中FIR濾波器的濾波器系數(shù)選擇單元的工作原理圖;圖7為本發(fā)明提供的實施例中FIR濾波器的功能實現(xiàn)模塊的結構圖。
具體實施例方式
針對本發(fā)明所述一種FIR濾波器,本發(fā)明提供了第一實施例,其結構如圖1所示,包括數(shù)據(jù)輸入單元、RAM數(shù)據(jù)讀寫單元、濾波器系數(shù)選擇單元和濾波功能實現(xiàn)單元。
所述數(shù)據(jù)輸入單元,用于根據(jù)配置的可變階數(shù)輸入輸出數(shù)據(jù)計算需要的濾波器輸入數(shù)據(jù)值,并將所述濾波器輸入數(shù)據(jù)值傳送給RAM數(shù)據(jù)讀寫單元。所述RAM數(shù)據(jù)讀寫單元將數(shù)據(jù)輸入單元輸入的濾波器輸入數(shù)據(jù)值寫入RAM中,并產(chǎn)生起始讀地址,然后傳送給所述濾波器系數(shù)選擇單元,并將起始讀地址對應的濾波器輸入數(shù)據(jù)值讀出,然后傳送給濾波功能實現(xiàn)單元。所述濾波器系數(shù)選擇單元根據(jù)所述起始讀地址選擇對應的濾波器系數(shù),并將其傳送給所述濾波功能實現(xiàn)單元。所述濾波功能實現(xiàn)單元對接收到的數(shù)據(jù)值和濾波器系數(shù)進行相乘累加處理,并輸出處理后的數(shù)據(jù)。
假設FIR濾波器需要實現(xiàn)下行插值濾波,插值率為2。它的濾波階數(shù)可配置,范圍為19~25,步長為1。它的系數(shù)可配置。它輸入的濾波器輸入數(shù)據(jù)值的特性為14bit。經(jīng)過濾波后輸出數(shù)據(jù)為18bit。插值率為2,表示輸出數(shù)據(jù)速率是輸入速率得兩倍,因此設計時主時鐘的速率要求至少為輸出速率得8倍。而且所述FIR濾波器還要實現(xiàn)只要一個輸入數(shù)據(jù)到來,則需輸出兩個新數(shù)據(jù)的功能。如果輸出兩個數(shù)據(jù)要用16cycle,則一個數(shù)據(jù)的處理時間為8個cycle。
下面基于上述假設詳細描述數(shù)據(jù)輸入單元、RAM數(shù)據(jù)讀寫單元、濾波器系數(shù)選擇單元和濾波功能實現(xiàn)單元的實現(xiàn)一、數(shù)據(jù)輸入單元根據(jù)配置的可變階數(shù)輸入輸出數(shù)據(jù)計算需要的濾波器輸入數(shù)據(jù)值,并將所述濾波器輸入數(shù)據(jù)值傳送給RAM數(shù)據(jù)讀寫單元。
可實現(xiàn)2倍插值以及19~25可變階數(shù)濾波的FIR濾波器中的數(shù)據(jù)輸入單元根據(jù)配置的可變階數(shù)輸入輸出數(shù)據(jù)計算需要的濾波器輸入數(shù)據(jù)值,其輸入的濾波器輸入數(shù)據(jù)值與可變階數(shù)的對應關系如表1所示
h12 h11 h10 h9 h8h7 h6 h5 h4 h3 h2 h1 h0 h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11 h1225階 a12 0a11 0a10 0a9 0 a8 0 a7 0 a6 0 a5 0a4 0a3 0 a2 0 a1 0a00a12 0a11 0 a10 0 a9 0 a8 0 a7 0 a6 0 a5 0a4 0a3 0 a2 0a1 024階 h11 h10 h9 h8 h7h6 h5 h4 h3 h2 h1 h0 h0 h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11a11 0a10 0a90a8 0 a7 0 a6 0 a5 0 a4 0a3 0a2 0 a1 0 a0 00a11 0a10 0 a9 0 a8 0 a7 0 a6 0 a5 0 a4 0a3 0a2 0 a1 0a023階 h11 h10 h9 h8 h7h6 h5 h4 h3 h2 h1 h0 h1 h2 h3 h4 h5 h6 h7 h8 h9 h10 h11a11 0a10 0a90a8 0 a7 0 a6 0 a5 0 a4 0a3 0a2 0 a1 0 a00a11 0a10 0 a9 0 a8 0 a7 0 a6 0 a5 0 a4 0a3 0a2 0 a1 022階 h10 h9 h8 h7 h6h5 h4 h3 h2 h1 h0 h0 h1 h2 h3 h4 h5 h6 h7 h8 h9 h10a10 0a9 0a80a7 0 a6 0 a5 0 a4 0 a3 0a2 0a1 0 a0 00a10 0a9 0 a8 0 a7 0 a6 0 a5 0 a4 0 a3 0a2 0a1 0 a021階 h10 h9 h8 h7 h6h5 h4 h3 h2 h1 h0 h1 h2 h3 h4 h5 h6 h7 h8 h9 h10a10 0a9 0a80a7 0 a6 0 a5 0 a4 0 a3 0a2 0a1 0 a00a10 0a9 0 a8 0 a7 0 a6 0 a5 0 a4 0 a3 0a2 0a1 020階 h9 h8 h7 h6 h5h4 h3 h2 h1 h0 h0 h1 h2 h3 h4 h5 h6 h7 h8 h9a9 0a8 0a70a6 0 a5 0 a4 0 a3 0 a2 0a1 0a0 00a9 0a8 0 a7 0 a6 0 a5 0 a4 0 a3 0 a2 0a1 0a019階 h9 h8 h7 h6 h5h4 h3 h2 h1 h0 h1 h2 h3 h4 h5 h6 h7 h8 h9a9 0a8 0a70a6 0 a5 0 a4 0 a3 0 a2 0a1 0a00a9 0a8 0 a7 0 a6 0 a5 0 a4 0 a3 0 a2 0a1 0表1表1中對應每一階數(shù)的第二行為輸入的第一次輸出數(shù)據(jù)計算需要的濾波器輸入數(shù)據(jù)值,第三行為輸入的第二次輸出數(shù)據(jù)計算需要的濾波器輸入數(shù)據(jù)值。
二、RAM數(shù)據(jù)讀寫單元RAM數(shù)據(jù)讀寫單元包括FIR濾波器控制信號產(chǎn)生電路和RAM模塊邏輯電路和一對RAM。
1、FIR濾波器控制信號產(chǎn)生電路主要用于產(chǎn)生FIR濾波器的控制信號。其邏輯結構如圖2所示,其通過pow_ch_sync的同步清零操作,產(chǎn)生16位計數(shù)器cnt來計算16個相位,計數(shù)的有效信號為cnt_valid,它控制整個計數(shù)在pow_ch_sync的作用下有效,一般情況下其都為高電平,當pow_ch_sync的上升沿來到時,在下一個時鐘cnt_valid變成高電平。只有當計數(shù)到達最大值且pow_ch_sync不來脈沖時,它會自動變成低電平,達到不計數(shù)的目的。通過計數(shù)器cnt的計數(shù)值產(chǎn)生cnt[3]和rd_start兩個控制信號,分別控制所有的MUX電路和連接用于啟動讀開始使用的信號。
當相位達到4’b0000或4’b1000時,啟動讀RAM。讀RAM的使能是由計數(shù)器計數(shù),當達到要求的位置后,就停止讀RAM。由于在前后半拍送出的數(shù)據(jù)導致讀RAM的數(shù)據(jù)個數(shù)不同,可控制MUX選擇前后半拍計數(shù)器應該計數(shù)的終值。這個計數(shù)器的計數(shù)有效用來使能讀地址和系數(shù)選擇的產(chǎn)生。
2、RAM模塊邏輯電路RAM模塊邏輯電路主要控制將輸入到RAM中的濾波器輸入數(shù)據(jù)值同時寫入到兩個RAM中,并控制從RAM中讀取濾波器輸入數(shù)據(jù)值的起始讀地址。如圖3所示,RAM模塊邏輯電路包括RAM0讀地址產(chǎn)生模塊、寫地址產(chǎn)生模塊、RAM1讀地址產(chǎn)生模塊,RAM0讀地址產(chǎn)生模塊和RAM1讀地址產(chǎn)生模塊分別與RAM0、RAM1相連接。其工作原理如下RAM模塊邏輯電路通過同步信號pow_ch_sync控制寫地址產(chǎn)生模塊(在這里通過寫地址計數(shù)器實現(xiàn))產(chǎn)生寫地址,然后根據(jù)所述寫地址控制輸入的濾波器輸入數(shù)據(jù)值同時寫入到兩個RAM中,其中寫的內(nèi)容都是一樣,共用一套寫地址、寫數(shù)據(jù)和寫使能。當一個數(shù)據(jù)到來以后,同時寫入到兩塊RAM的相同地址。
當控制從RAM0中讀取濾波器輸入數(shù)據(jù)值時,通過RAM0讀地址產(chǎn)生模塊完成讀地址的選擇產(chǎn)生。所述RAM0讀地址產(chǎn)生模塊如圖4所示,包括第一計數(shù)器(這里為13遞增計數(shù)器)、模處理模塊(這里為模13處理模塊)和第一選擇器(這里為rd0_mux選擇器),其工作原理描述如下通過rd0_mux選擇器選擇出需要移動的偏移地址,用當前的寫地址ram_wr_addr減去偏移地址就得到RAM0讀取的起始地址,其中為了保證其計數(shù)為正數(shù),需要進行模13的處理,具體為通過rd0_mux選擇器選擇上述寫地址計數(shù)器產(chǎn)生的寫地址,并將其輸入到模13處理模塊進行模13處理,并將處理后的數(shù)值輸入到13遞增計數(shù)器。在rd_start啟動信號的作用下,并在計數(shù)使能有效情況下,讀地址rd0_addr_cnt開始自動計數(shù),產(chǎn)生RAM0讀地址。讀使能表示計數(shù)使能有效信號。
RAM1讀地址產(chǎn)生模塊的工作原理如圖5所示,其與RAM1讀地址產(chǎn)生模塊的區(qū)別之處只是RAM0讀地址產(chǎn)生模塊中用于產(chǎn)生讀地址使用的計數(shù)器是遞增計數(shù)器,而RAM1讀地址產(chǎn)生模塊中用于產(chǎn)生讀地址使用的計數(shù)器是遞減計數(shù)器,其工作原理與RAM0讀地址產(chǎn)生模塊的工作原理類似,這里不再詳細描述。
通過兩個RAM中設置的不同計數(shù)器,兩個RAM讀取數(shù)據(jù)的方式不同。兩塊RAM的讀地址在要寫地址的中間位置,分別從兩個方向讀出不同的數(shù)據(jù)。寫地址加上一定的數(shù)值就是它的中間位置。這個數(shù)值是讀地址產(chǎn)生的起始地址,如表2所示
表一 對相機拍攝原始圖像和篡改圖像的檢測統(tǒng)計結果
RAM1的濾波器系數(shù)選擇單元的邏輯結構與RAM0的濾波器系數(shù)選擇單元的邏輯結構類似,這里不再詳細描述。
四、濾波功能實現(xiàn)單元濾波功能實現(xiàn)單元主要是完成RAM數(shù)據(jù)與濾波器系數(shù)相乘累加、飽和截位等過程,最終輸出信號為一個過濾后的數(shù)據(jù)信號fir_o和另一個過濾后的同步信號fir_sync兩個信號。其結構如圖7所示,包括兩個乘法器,即圖7中的rd0 mult乘法器1和rd1 mult乘法器2,一個加法器,即圖中的rd mult add累加器3以及飽和截位部件4。
本單元輸入數(shù)據(jù)的頻率為6.5MHz。和主時鐘比較,則要在16個主時鐘里完成兩個數(shù)據(jù)的輸出,因此一個數(shù)據(jù)的計算需要在8個主時鐘里完成。而一次計算,最多有12次乘法,于是在本模塊中采用兩個乘法器,即圖7中的rd0 mult乘法器1和rd1 mult乘法器2來并行計算一次輸入的數(shù)據(jù),然后將結果送入累加器3進行累加處理。當結果計算出來后,經(jīng)飽和截位部件4進行四舍五入、飽和截位得到需要的濾波結果輸出。
經(jīng)過上述濾波器中各個單元的處理完成了階數(shù)可變、2X插值濾波器的功能。
如果實現(xiàn)階數(shù)可變、1X插值濾波器的功能時,僅僅在濾波器中設置一個RAM,以及對應該RAM的一套控制電路即可,本領域的技術人員能夠根據(jù)本發(fā)明輕而易舉的實現(xiàn),因此這里不再詳細描述。
由上述本發(fā)明的具體實施方式
可以看出,本發(fā)明由于本發(fā)明采用RAM對數(shù)據(jù)進行處理時,存儲和讀取數(shù)據(jù)均比較快,從而在可變階數(shù)濾波器功能時,不需要設置很多的RAM就能夠在規(guī)定的時間內(nèi)獲取要讀取的數(shù)據(jù),從而能夠保證濾波器按要求輸出計算結果,減少了FIR插值的運算時間,因此本發(fā)明不需要復雜的外部信號處理電路,從而使本發(fā)明的FIR濾波器的結構相對于寄存器實現(xiàn)方式簡單,占用資源較少。另外,本發(fā)明根據(jù)相應的濾波器階數(shù)產(chǎn)生相應的讀寫控制信號,從而能夠實現(xiàn)可變階數(shù)的濾波,使FIR濾波器的應用范圍更加廣泛,通用性較強,例如可以作為通用的FIR濾波器應用于不同的場合,而且本發(fā)明能夠成功應用在中頻處理芯片中。
以上所述,僅為本發(fā)明較佳的具體實施方式
,但本發(fā)明的保護范圍并不局限于此,任何熟悉本技術領域的技術人員在本發(fā)明揭露的技術范圍內(nèi),可輕易想到的變化或替換,都應涵蓋在本發(fā)明的保護范圍之內(nèi)。因此,本發(fā)明的保護范圍應該以權利要求的保護范圍為準。
權利要求
1.一種有限脈沖響應FIR濾波器,包括濾波功能實現(xiàn)單元,用于根據(jù)輸入的數(shù)據(jù)值以及濾波系數(shù)進行濾波,其特征在于,還包括數(shù)據(jù)輸入單元、RAM數(shù)據(jù)讀寫單元和濾波器系數(shù)選擇單元;所述數(shù)據(jù)輸入單元用于輸入與系統(tǒng)設置的可變階數(shù)對應的濾波器輸入數(shù)據(jù)值;所述RAM數(shù)據(jù)讀寫單元用于將所述的濾波器輸入數(shù)據(jù)值寫入其內(nèi)部的RAM中,以及產(chǎn)生起始讀地址,并根據(jù)所產(chǎn)生的起始讀地址從所述RAM中讀取所述數(shù)據(jù)值給濾波功能實現(xiàn)單元;所述濾波器系數(shù)選擇單元用于根據(jù)所述起始讀地址以及系統(tǒng)設置的可變階數(shù)選擇并傳送相應的濾波系數(shù)給所述濾波功能實現(xiàn)單元。
2.根據(jù)權利要求1所述的FIR濾波器,其特征在于,所述RAM數(shù)據(jù)讀寫單元包括FIR濾波器控制信號產(chǎn)生電路、RAM模塊邏輯電路以及至少一個RAM或至少一對RAM;所述FIR濾波器控制信號產(chǎn)生電路,用于產(chǎn)生啟動讀開始rd_start信號的控制信號和產(chǎn)生控制計數(shù)器最高位cnt[3]的控制信號;所述RAM模塊邏輯電路,用于控制將輸入到濾波器的輸入數(shù)據(jù)值寫入到RAM中,并產(chǎn)生從每個RAM中讀取濾波器輸入數(shù)據(jù)值的起始讀地址,并將所述起始讀地址信息傳送給所述濾波系數(shù)選擇單元,以及根據(jù)產(chǎn)生的起始讀地址從每個RAM中讀取出對應的數(shù)據(jù)值,并將其傳送給所述濾波功能實現(xiàn)單元。
3.根據(jù)權利要求2所述的FIR濾波器,其特征在于,所述RAM模塊邏輯電路包括RAM寫地址產(chǎn)生模塊,用于通過同步信號的控制產(chǎn)生將濾波器輸入數(shù)據(jù)值寫入到RAM中的寫地址。
4.根據(jù)權利要求3所述的FIR濾波器,其特征在于,所述RAM模塊邏輯電路還包括對應每個RAM的RAM讀地址產(chǎn)生模塊,用于根據(jù)RAM寫地址產(chǎn)生模塊產(chǎn)生的寫地址產(chǎn)生讀取濾波器輸入數(shù)據(jù)值時的起始讀地址。
5.根據(jù)權利要求4所述的FIR濾波器,其特征在于當至少為一對RAM時,對應每一對RAM中的其中一個RAM的RAM讀地址產(chǎn)生模塊包括第一選擇器和第一計數(shù)器;所述第一選擇器被所述cnt[3]信號控制選擇出需要移動的偏移地址,并用當前的寫地址減去所述偏移地址得到讀取數(shù)據(jù)值時起始讀地址,然后通過rd_start信號使能所述第一計數(shù)器計數(shù),并產(chǎn)生讀地址;對應每一對RAM中的另一個RAM的RAM讀地址產(chǎn)生模塊包括第二選擇器和第二計數(shù)器;所述第二選擇器被所述cnt[3]信號控制選擇出需要移動的偏移地址,并用當前的寫地址加上所述偏移地址得到讀取數(shù)據(jù)值時起始讀地址,然后通過rd_start信號使能所述第二計數(shù)器計數(shù),并產(chǎn)生讀地址。
6.根據(jù)權利要求4所述的FIR濾波器,其特征在于,當至少為一個RAM時,對應每一個RAM的RAM讀地址產(chǎn)生模塊包括第三選擇器和第三計數(shù)器;所述第三選擇器被所述cnt[3]信號控制選擇出需要移動的偏移地址,并用當前的寫地址減去或加上所述偏移地址得到讀取數(shù)據(jù)值時起始讀地址,然后通過rd_start信號使能所述第三計數(shù)器計數(shù),并產(chǎn)生讀地址。
7.根據(jù)權利要求5或6所述的FIR濾波器,其特征在于,所述RAM模塊邏輯電路還包括對應每一RAM的模處理部件,用于根據(jù)通過RAM讀地址產(chǎn)生模塊中的選擇器根據(jù)RAM寫地址產(chǎn)生模塊輸出的計數(shù)值選擇出的數(shù)值,并通過所述數(shù)值對所述RAM讀地址產(chǎn)生模塊中的計數(shù)器的計數(shù)值進行模處理。
8.根據(jù)權利要求2所述的FIR濾波器,其特征在于所述濾波系數(shù)選擇單元為至少一個,并且每個濾波系數(shù)選擇單元對應一個RAM。
9.根據(jù)權利要求8所述的FIR濾波器,其特征在于,所述濾波系數(shù)選擇單元包括第四計數(shù)器、第四選擇器、第五選擇器、第六選擇器、系數(shù)選擇產(chǎn)生部件;所述第四計數(shù)器由所述讀開始rd_start信號控制開始計數(shù);所述第四選擇器用于將第四計數(shù)器產(chǎn)生的計數(shù)值傳送給所述系數(shù)選擇產(chǎn)生部件;所述第五選擇器用于選擇表示濾波系數(shù)為奇數(shù)或偶數(shù)的標識參數(shù),并將其傳送給所述系數(shù)選擇產(chǎn)生部件;所述第六選擇器用于選擇濾波系數(shù)中的偏移量中的參數(shù),并將其傳送給所述系數(shù)選擇產(chǎn)生部件;所述系數(shù)選擇產(chǎn)生部件根據(jù)所述第四選擇器輸出的計數(shù)值、所述第五選擇器輸出的標識參數(shù)和第六選擇器輸出的參數(shù)計算出濾波系數(shù),然后將其傳送給所述濾波功能實現(xiàn)單元。
10.根據(jù)權利要求1所述的FIR濾波器,其特征在于,所述濾波功能實現(xiàn)單元包括乘法器和加法器;所述乘法器將輸入的數(shù)據(jù)值以及濾波系數(shù)進行點乘,并將結果輸入到加法器進行累加處理,得到處理后的濾波結果。
11.根據(jù)權利要求10所述的FIR濾波器,其特征在于,所述濾波功能實現(xiàn)單元還包括飽和截位部件,用于對所述加法器處理后的濾波結果進行截位處理。
全文摘要
本發(fā)明涉及一種FIR濾波器,包括濾波功能實現(xiàn)單元、數(shù)據(jù)輸入單元、RAM數(shù)據(jù)讀寫單元和濾波器系數(shù)選擇單元;所述數(shù)據(jù)輸入單元用于輸入與系統(tǒng)設置的可變階數(shù)對應的濾波器輸入數(shù)據(jù)值;所述RAM數(shù)據(jù)讀寫單元用于將濾波器輸入數(shù)據(jù)值寫入其內(nèi)部的RAM中,以及產(chǎn)生起始讀地址,并根據(jù)所述起始讀地址從所述RAM中讀取數(shù)據(jù)值給濾波功能實現(xiàn)單元;所述濾波器系數(shù)選擇單元用于根據(jù)所述起始讀地址以及系統(tǒng)設置的可變階數(shù)選擇濾波系數(shù);所述濾波功能實現(xiàn)單元根據(jù)輸入的數(shù)據(jù)值和濾波系數(shù)進行濾波處理。通過本發(fā)明采用RAM對數(shù)據(jù)進行處理,能夠實現(xiàn)可變階數(shù)的濾波,使FIR濾波器的應用范圍更加廣泛,通用性較強;而且本發(fā)明的FIR濾波器結構簡單,占用資源較少。
文檔編號H03H17/06GK1862961SQ20061006498
公開日2006年11月15日 申請日期2006年3月20日 優(yōu)先權日2006年3月20日
發(fā)明者余劍, 李新兵, 馬敬興, 孫全 申請人:華為技術有限公司