序列結構的FIR濾波器設計

2021-07-30 17:50:50 字數 2231 閱讀 1723

本案例節選明德揚fpga企業內訓中的專案訓練。

一、功能描述

fir濾波器,即有限脈衝響應濾波器,顧名思義,是指單位脈衝響應的長度是有限的濾波器。而根據fir濾波器的結構形式,分為直接型、級聯型、頻率取樣型和快速卷積型。其中直接型又可以採用序列結構、並行結構、分布式結構。本案例實現了具有線性相位的半序列結構的fir濾波器。

所謂序列結構,即序列實現濾波器的累加運算,將每級延時單元與相應係數的乘積結果進行累加後輸出,因此整個濾波器實際上只需要乙個乘法器運算單元。序列結構還可以分為全序列和半序列結構,全序列結構是指進行對稱係數的加法運算也由乙個加法器序列實現,半序列結構則指用多個加法器同時實現對稱係數的加法運算。

本案例設計了乙個15階的低通線性相位fir濾波器,採用布萊克曼窗函式設計,截止頻率為500hz,取樣頻率為2000hz;實現全序列結構的濾波器,係數的量化位數為12位元,輸入資料位寬為12位元,輸出資料位寬為29位元,系統時鐘為16khz。採用具有白雜訊特性的輸入訊號,以及由200hz及800hz單點頻訊號疊加的輸入訊號。

濾波器係數:12'd0,-12'd3,12'd15,12'd46,-12'd117,-12'd263,12'd590,12'd2047

二、平台效果圖

1.modelsim**效果圖

2.matlab效果圖

三、實現過程

首先根據所需要的功能,列出工程頂層的輸入輸出訊號列表。

訊號名i/o 位寬

說明clk i

1系統工作時鐘

50mrst_n i

1系統復位訊號,低電平有效

din i

12接收訊號

din_vld i

8接收資料有效指示訊號

rdy o

8準備訊號

dout o

29濾波器輸出訊號

dout_vld o

1輸出資料有效指示訊號

我們可以把工程劃分成三個模組,分別是fir濾波器模組和加法器模組和乘法器模組。

1.fir

濾波器模組

具有線性相位的半序列

fir濾波器結構圖:

在時鐘允許訊號的控制下,將資料以1/8系統時鐘頻率存入16個移位暫存器中,然後將對稱係數的輸入資料相加,比如x(0)*x(n),x(1)*x(n-1),x(2)*x(n-2),同時將對應的濾波器係數送入乘法器中得到結果mult_s,再對此乘法結果進行累加sum <= sum + mult_s,並輸出濾波後的資料。

以此本模組實現了具有線性相位的半序列

fir濾波器功能。

本模組訊號列表如下:

訊號名

i/o 位寬

說明 clk i

1 系統工作時鐘

50mrst_n i

1系統復位訊號,低電平有效

din i

12接收訊號

din_vld i

8接收資料有效指示訊號

rdy o

8準備訊號

dout o

29濾波器輸出訊號

dout_vld o

1輸出資料有效指示訊號

2.加法器模組

呼叫了quartus ii 

裡的加法器

ip核,以實現

fir濾波器中的加法器模組。

訊號列表如下:

訊號名

i/o 位寬

說明 dataa i

13 資料

adatab i

13 資料

bresult o

13 和

3.乘法器模組

呼叫了quartus ii 

裡的乘法器

ip核,以實現

fir濾波器中的乘法器模組。

訊號列表如下:

訊號名

i/o 位寬

說明 dataa i

11 資料

adatab i

12 資料

bclock i

1工作時鐘

result o

24 乘積

四、matlab

部分說明

使用matlab

設計出濾波器係數,**出濾波器測試資料、測試資料經濾波器濾波後的輸出資料並轉換成二進位制資料寫入文字檔案中供

modelsim

進行**。

編寫matlab

程式,從

modelsim

**後生成的文字檔案中讀取濾波器輸出資料,對資料進行時域及頻域分析,程式執行結果見平台效果圖。

FIR濾波器設計

fir濾波器的優越性 相位對應為嚴格的線性,不存在延遲失真,僅僅有固定的時間延遲 因為不存在穩定性問題,設計相對簡單 僅僅包括實數演算法,不涉及複數演算法,不須要遞推運算,長度為m,階數為m 1,計算值約為m 2。關於fir濾波器的幅頻特性和相頻特性。在人們不關心相位時,能夠讓幅頻特性常為正,原來為...

FIR濾波器設計

該文件為了說明fir濾波器,iir濾波器的原理,數學含義,設計方法 一 原理 1 fir有限衝擊響應,iir無限衝擊響應。前者無反饋,只與當前和歷史輸入有關,後者有反饋,不僅與當前和歷史輸入有關,還與歷史輸出有關。fir輸出相位線性,設計簡單,但是階數更高 iir輸出相位不線性,設計困難,但相同效能...

FIR濾波器的設計

matlab可以使用fir1函式設計低通 高通 低通 帶通等具有嚴格線性相位特性的濾波器。fir1函式的幾種語法如下 b fir1 n,wn b fir1 n,wn,ftype b fir1 n,wn,ftype window b fir1 noscale 各個引數的含義 設計濾波器,採用漢明窗,長...