




版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領
文檔簡介
1、線性相位FIR濾波器(17階)的VHDL語言設計EDA課程設計報告-線性相位FIR濾波器(17階)的VHDL語言設計濾波器設計參數:根據要求,要設計一個輸入8位,輸出8位的17階線性相位FIR濾波器,所以采用圖2(a)的方式,其中輸入信號范圍為:±99,0,0,0, ±70,0,0,0, ±99,0,0,0, ±70,此濾波器 Fs為44kHz,Fc為10.4kHz。(一)FIR數字濾波器理論簡述有限沖激響應(FIR)數字濾波器和無限沖激響應(IIR)數字濾波器廣泛應用于數字信號處理系統中。IIR數字濾波器方便簡單,但它相位的非線性,要求采用全通網絡進行
2、相位校正,且穩定性難以保障。FIR濾波器具有很好的線性相位特性,使得它越來越受到廣泛的重視。有限沖擊響應(FIR)濾波器的特點:1 既具有嚴格的線性相位,又具有任意的幅度;2 FIR濾波器的單位抽樣響應是有限長的,因而濾波器性能穩定;3只要經過一定的延時,任何非因果有限長序列都能變成因果的有限長序列,因而能用因果系統來實現;4 FIR濾波器由于單位沖擊響應是有限長的,因而可用快速傅里葉變換(FFT)算法來實現過濾信號,可大大提高運算效率。5 FIR也有利于對數字信號的處理,便于編程,用于計算的時延也小,這對實時的信號處理很重要。6 FIR濾波器比較大的缺點就是階次相對于IIR濾波器來說要大很多
3、。FIR數字濾波器是一個線性時不變系統(LTI),N階因果有限沖激響應濾波器可以用傳輸函數H(z)來描述,在時域中,上述有限沖激響應濾波器的輸入輸出關系如下:其中,xn和yn分別是輸入和輸出序列。N階有限沖激響應濾波器要用N1個系數描述,通常要用N+1個乘法器和N個兩輸入加法器來實現。乘法器的系數正好是傳遞函數的系數,因此這種結構稱為直接型結構,可通過式(1.2)來實現,如圖1。 圖1當沖擊響應滿足下列條件時, FIR濾波器具有對稱結構,為線性相位濾波器:。 (1.3)這種對稱性,可使得乘法器數量減半:對n價濾波器,當n為偶數時,乘法器的個數為n/2個;當n為奇數時,乘法器的個數為(n+1)/
4、2個。在電路實現中,乘法器占用的邏輯單元數較多。乘法器的增加,意味著電路成本增加,另外對電路的工作速度也有影響。N階線性相位的因果FIR系統的單位沖激響應濾波器可用對稱沖激響應或者反對稱沖激響應來描述。具有對稱沖激響應的FIR傳輸函數的沖激響應可寫成如下形式:當N為偶數時當N為奇數時則FIR線性相位系統的結構可轉化成如圖2(a)和圖2(b)所示。 圖2(a) N為奇數 圖2(b) N為偶數(二)設計方案隨著數字技術日益廣泛的應用,以現場可編程門陣列(FPGA)為代表的ASIC器件得到了迅速普及和發展,器件集成度和速度都在高速增長。FPGA既具有門陣列的高邏輯密度和高可靠性,又具有可編碼邏輯器件
5、的用戶可編程特性,可以減少系統設計和維護的風險,降低產品成本,縮短設計周期。分布式算法是一種以實現乘加運算為目的的運算方法。它與傳統算法實現乘加運算的不同在于執行部分積運算的先后順序不同。簡單地說,分布式算法在完成乘加功能時是通過將各輸入數據每一對應位產生的部分積預先進相加形成相應部分積,然后在對各部門積進行累加形成最終結果,而傳統算法是等到所有乘積產生之后再進行相加來完成乘加運算的。與傳統算法相比,分布式算法可極大地減少硬件電路規模,很容易實現流水線處理,提高電路的執行速度。FPGA有著規整的內部邏輯塊陣列和豐富的連線資源,特別適合細粒度和高并行度結構特點的數字信號處理任務,如FIR、FFT
6、等。利用FPGA實現FIR濾波器的設計過程,并且對設計中的關鍵技術分布式算法進行詳細描述。一、FIR濾波器的結構FIR濾波器的結構主要是非遞歸結構,沒有輸出到輸入的反饋。并且FIR濾波器很容易獲得嚴格的線性相位特性,避免被處理信號產生相位失真。而線性相位體現在時域中僅僅是h(n)在時間上的延遲,這個特點在圖像信號處理、數據傳輸等波形傳遞系統中是非常重要的。此外,他不會發生阻塞現象,能避免強信號淹沒弱信號,因此特別適合信號強弱相差懸殊的情況。二、FIR數字濾波器的設計方案:通常采用窗函數設計FIR濾波器方法簡單,但是這些濾波器的設計還不是最優的。首先通帶和阻帶的波動基本上相等,另外對于大部分窗函
7、數來說,通帶內或阻帶內的波動不是均勻的,通常離開過渡帶時會減小。若允許波動在整個通帶內均勻分布,就會產生較小的峰值波動。因此考慮通過某種方法,對濾波器的結構進行優化。對于線性相位因果FIR濾波器,它的系列具有中心對稱特性,即h(i)=±h(N-1-i)。令s(i)=x(i) ±x(N-1-i),對于偶對稱,代入式(1)可得:根據要求,要設計一個輸入8位,輸出8位的17階線性相位FIR濾波器,所以采用圖2(a)的方式,其中輸入信號范圍為:±99,0,0,0, ±70,0,0,0, ±99,0,0,0, ±70,此濾波器 Fs為44kHz
8、,Fc為10.4kHz。MATLAB設計計算濾波器系數過程如下:FIR濾波器參數設置,因為是17階,所以Specify order處填16,h(0)=0.FIR濾波器的幅頻響應FIR濾波器的相頻響應FIR濾波器的沖激響應FIR濾波器系數對FIR濾波器的系數進行調整,整數化可得FIR濾波器的參數為-12 -18 13 29 -13 -52 14 162 242 14 -52 -13 29 13 -18 -12根據以上所說的該思路,可以將FIR濾波器的原理圖設計如下:下面對各加法器乘法器的輸出位數進行分析,對第一級加法器,輸入全為8位,輸出統一為9位。對各個乘法器進行分析,12=8+4,8為2的3
9、次方,向左移了3位,輸出為12位;18=16+2,16為2的4次方,向左移了4位,輸出為13位;以此類推,13乘法器輸出為12位,29輸出為13位,52輸出為14位,162輸出為16位,242輸出為16位。對剩余加法器進行分析,對輸入序列進行分析,±99,0,0,0, ±70,0,0,0, ±99,0,0,0, ±70,周期為8,經分析當總值最大時,總輸出應為99*18+70*29+50*70+99*162=1782+2030+3640+16038=23490,2的15次方為32768,再加上一位符號位,所以輸出應為16位,由此類推,12、18乘法器輸出
10、之和為13位,13、19乘法器輸出之和應為13位,總輸出為14位。另一支路上,13、52乘法器輸出之和為14位,14、162乘法器輸出之和為16位,其總輸出之和為16位,最后這兩路輸出之和為16位。將后8位舍去,加上由乘法器242輸出舍取得倒的8位,總輸出為8位。至此,所有器件的輸入輸出都可判定。下面進入模塊設計階段。(三)模塊電路設計設計的FIR濾波器由19個小VHD文件和一個總體BDF文件組成,VHD文件可以分為以下四種模塊:寄存器、加法器、減法器、乘法器。31 寄存器3.1.1 寄存器原理寄存器用于寄存一組二值代碼,對寄存器的觸發器只要求它們具有置1、置0的功能即可,因而本設計中用D觸發
11、器組成寄存器,實現寄存功能。3.1.2 寄存器要求實現的功能在CP正跳沿前接受輸入信號,正跳沿時觸發翻轉,正跳沿后輸入即被封鎖。3.1.3寄存器的VHDL語言實現(8位)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;ENTITY dff8 IS PORT( clk : IN STD_LOGIC; clear : IN STD_LOGIC; Din : IN STD_LOGIC_VECTOR(7 DOWNTO 0); Dout : OUT STD_LOGIC_VECTOR(7 DOWNTO 0) ); END dff8; ARCHITECTURE a OF d
12、ff8 IS BEGIN PROCESS(clk,clear) BEGIN IF clear='1' THEN Dout<="00000000" ELSIF clear='0' THEN IF(clk'EVENT AND clk='1') THEN Dout <= Din; END IF; END IF; END PROCESS; END a;其中,clear為復位信號。3.1.4寄存器的模塊圖3.1.5寄存器的波形仿真完全符合設計要求。32 加法器3.2.1 加法器的原理在將兩個多位二進制數相加時,除了最
13、低位以外,每一位都應該考慮來自低位的進位,即將兩個對應位的加數和來自低位的進位3個數相加。這種運算稱為全加,所用的電路稱為全加器。多位加法器的構成有兩種方式:并行進位和串行進位。并行進位加法器設有進位產生邏輯,預算速度較快;串行進位方式是將全加器級聯構成多位加法器。并行進位加法器通常比串行級聯加法器占用更多的資源。隨著為數的增加,相同位數的并行加法器與串行加法器的資源占用差距也越來越大,因此,在工程中使用加法器時,要在速度和容量之間尋找平衡點。本次設計采用的是并行加法器方式。3.2.2 加法器要求實現的功能實現兩個二進制數字的相加運算。當到達時鐘上升沿時,將兩數輸入,運算,輸出結果。3.2.3
14、 加法器的VHDL語言實現(以下以12位數加16位數生成16位數的加法器為例)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_arith.ALL;ENTITY add121616 isPORT(clk : in STD_LOGIC; Din1 :in signed (11 downto 0); Din2 :in signed (15 downto 0); Dout:out signed (15 downto 0);END add121616;ARCHITECTURE a of add121616 isSIGNAL s1:
15、signed(15 downto 0);BEGIN s1<=(Din1(11)&Din1(11)&Din1(11)&Din1(11)&Din1);PROCESS(Din1,Din2,clk)BEGINif clk'event and clk='1' thenDout<=s1+Din2;end if;end process;end a;3.2.4 加法器的模塊圖3.2.5 加法器的波形仿真完全符合設計要求。33 減法器3.3.1 減法器的原理減法器的原理與加法器類似,尤其是并行式的減法器也加法器的區別僅僅在于最后的和數為兩數相減
16、。如:Dout<=Din2-s1;3.3.2 減法器要求實現的功能由上面簡化電路的需要,當乘法器常系數為負數的,可以取該數的模來作為乘法器的輸入,其輸出作為一個減法器的輸入即可。故減法器要實現兩個二進制數相減的運算。當到達時鐘上升沿時,將兩數輸入,運算,輸出結果。3.3.3 減法器的VHDL語言實現(以下以16位數減去14位數輸出16位數的減法器為例)LIBRARY IEEE;USE IEEE.STD_LOGIC_1164.ALL;USE IEEE.STD_LOGIC_arith.ALL;ENTITY sub141616 isPORT(clk : in STD_LOGIC; Din1 :
17、in signed (13 downto 0); Din2 :in signed (15 downto 0); Dout :out signed(15 downto 0);END sub141616;ARCHITECTURE a of sub141616 isSIGNAL s1: signed(15 downto 0);BEGIN s1<=(Din1(13)&Din1(13)&Din1);PROCESS(Din1,Din2,clk)BEGINif clk'event and clk='1' thenDout<=Din2-s1;end if;e
18、nd process;end a;3.3.4 減法器的模塊圖3.3.5 減法器的波形仿真完全符合設計要求。34 乘法器3.4.1 乘法器的原理從資源和速度考慮,常系數乘法運算可用移位相加來實現。將常系數分解成幾個2的冪的和形式。下例為乘18電路設計,算法:18=16+23.4.2 乘法器要求實現的功能實現輸入帶符號數據與固定數據兩個二進制數的乘法運算。當到達時鐘上升沿時,將兩數輸入,運算,輸出結果。3.4.3 乘法器的VHDL語言實現LIBRARY ieee;USE ieee.std_logic_1164.all;USE ieee.std_logic_arith.all;ENTITY mult
19、18 isPORT( clk : IN STD_LOGIC; Din : IN SIGNED (8 DOWNTO 0); Dout : OUT SIGNED (12 DOWNTO 0);END mult18;ARCHITECTURE a OF mult18 ISSIGNAL s1 : SIGNED (12 DOWNTO 0);SIGNAL s2 : SIGNED (9 DOWNTO 0);SIGNAL s3 : SIGNED (12 DOWNTO 0);BEGINP1:process(Din)BEGINs1(12 DOWNTO 4)<=Din;s1( 3 DOWNTO 0)<=&q
20、uot;0000"s2(9 DOWNTO 1)<=Din;s2(0)<='0'if Din(8)='0' then s3<=('0'&s1(12 downto 1)+("0000"&s2(9 DOWNTO 1);else s3<=('1'&s1(12 downto 1)+("1111"&s2(9 DOWNTO 1);end if;end process;P2: PROCESS(clk)BEGINif clk'event
21、 and clk='1' thenDout<=s3;end if;END PROCESS;END a;3.4.4 乘法器的模塊圖3.4.5 乘法器的波形仿真完全符合設計要求。(四)FIR濾波器整體電路FIR濾波器的整體電路基本與其原理圖類似。整體電路如下圖所示:(限于篇幅,將整體電路縮小如上,詳見電子版源程序框圖fir1.bdf。)(五)FIR濾波器整體電路仿真結果1、設定輸入信號根據設計要求,輸入信號范圍是:±99,0,0,0, ±70,0,0,0, ±99,0,0,0, ±70,我們任意設定輸入信號為:X99,0,0,0,70,
22、0,0,0,99,0,0,0,70,0,0,0,99,0,0,0,70,0,0,0,99,0,0,0,70,0,0,02、輸出信號理論值由FIR數字濾波器的公式(六)結 論輸出結果yn理論值仿真結果MATLAB卷積值/512經仿真器仿真-2.3203-3-3.4805-42.513725.60745-4.1543-5-12.516-134.4844435.2893542.6954120.734207.1348717.7011726.4182615.24158.9121824.69924y038.59837y124.69924y28.91218y315.2415y424.77724y515.2415y68.91218y724.69924y838.59837y924.69924y108.91218y1115.2415y1224.77724y1315.2415y148.91218y1524.69924y1638.59837y17
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
- 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
- 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 伊春市新青區2025屆數學五下期末考試模擬試題含答案
- 貨物買賣合同協議書范本
- 2025年度個人股權融資合同樣本
- 智慧農業農業物聯網技術革新與實踐
- 智慧農業技術創新與人才培養策略
- 企業法律顧問服務合同示范文本
- 連鎖藥房加盟經營合同
- 軟件公司與程序員勞動合同
- 房產抵債合同范文
- 2024-2025年濟南天橋區濼口實驗學校第二學期七年級地理期中考試試題(含答案)
- 單絨毛膜雙羊膜囊雙胎2022優秀課件
- 瀝青路面精細化施工質量控制及驗收標準課件
- XX縣“四好”農村公路提升工程可行性研究報告
- 高考數學你真的掌握了嗎(最新)
- 亞里士多德哲學課件
- DB32-T 4357-2022《建筑工程施工機械安裝質量檢驗規程》
- 發成果轉化項目可行性研究報告(定稿)
- (新版教材)粵教粵科版六年級下冊科學全冊教案(教學設計)
- 個人分期還款協議書模板(5篇)
- 儀表電氣專業安全檢查表
- 航空煤油MSDS安全技術說明書
評論
0/150
提交評論