基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)和實(shí)現(xiàn)自動(dòng)化專業(yè)

上傳人:文*** 文檔編號:63389815 上傳時(shí)間:2022-03-18 格式:DOCX 頁數(shù):14 大?。?46.90KB
收藏 版權(quán)申訴 舉報(bào) 下載
基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)和實(shí)現(xiàn)自動(dòng)化專業(yè)_第1頁
第1頁 / 共14頁
基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)和實(shí)現(xiàn)自動(dòng)化專業(yè)_第2頁
第2頁 / 共14頁
基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)和實(shí)現(xiàn)自動(dòng)化專業(yè)_第3頁
第3頁 / 共14頁

下載文檔到電腦,查找使用更方便

10 積分

下載資源

還剩頁未讀,繼續(xù)閱讀

資源描述:

《基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)和實(shí)現(xiàn)自動(dòng)化專業(yè)》由會(huì)員分享,可在線閱讀,更多相關(guān)《基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)和實(shí)現(xiàn)自動(dòng)化專業(yè)(14頁珍藏版)》請?jiān)谘b配圖網(wǎng)上搜索。

1、1、 FPGA技術(shù)簡介 現(xiàn)場可編程門陣列FPGA是80年代末開始使用的大規(guī)??删幊虜?shù)字IC器件,它充分利用EDA技術(shù)進(jìn)行器件的開發(fā)與應(yīng)用。用戶借助于計(jì)算機(jī)不僅能自行設(shè)計(jì)自己的專用集成電路芯片,還可在計(jì)算機(jī)上進(jìn)行功能仿真和時(shí)序仿真,及時(shí)發(fā)現(xiàn)問題,調(diào)整電路,改進(jìn)設(shè)計(jì)方案。這樣,設(shè)計(jì)者不必動(dòng)手搭接電路、調(diào)試驗(yàn)證,只需短時(shí)間內(nèi)在計(jì)算機(jī)上操作即可設(shè)計(jì)出與實(shí)際系統(tǒng)相差無幾的理想電路。而且,F(xiàn)PGA器件采用標(biāo)準(zhǔn)化結(jié)構(gòu),體積小、集成度高、功耗低、速度快,可無限次反復(fù)編程,因此成為科研產(chǎn)品開發(fā)及其小型化的首選器件,其應(yīng)用極為廣泛。 3.1 FPGA工作原理 FPGA采用了邏輯單元陣列LCA(Logic C

2、ell Array)這樣一個(gè)概念,內(nèi)部包括可配置邏輯模塊CLB(Configurable Logic Block)、輸入輸出模塊IOB(Input Output Block)和內(nèi)部連線(Interconnect)三個(gè)部分。 現(xiàn)場可編程門陣列(FPGA)是可編程器件,與傳統(tǒng)邏輯電路和門陣列(如PAL,GAL及CPLD器件)相比,F(xiàn)PGA具有不同的結(jié)構(gòu)。FPGA利用小型查找表(16×1RAM)來實(shí)現(xiàn)組合邏輯,每個(gè)查找表連接到一個(gè)D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動(dòng)其他邏輯電路或驅(qū)動(dòng)I/O,由此構(gòu)成了既可實(shí)現(xiàn)組合邏輯功能又可實(shí)現(xiàn)時(shí)序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O

3、模塊。FPGA的邏輯是通過向內(nèi)部靜態(tài)存儲(chǔ)單元加載編程數(shù)據(jù)來實(shí)現(xiàn)的,存儲(chǔ)在存儲(chǔ)器單元中的值決定了邏輯單元的邏輯功能以及各模塊之間或模塊與I/O間的聯(lián)接方式,并最終決定了FPGA所能實(shí)現(xiàn)的功能,F(xiàn)PGA允許無限次的編程。 3.2 FIR濾波器特點(diǎn) 1)采用FPGA設(shè)計(jì)ASIC電路(專用集成電路),用戶不需要投片生產(chǎn),就能得到合用的芯片。 2)FPGA可做其它全定制或半定制ASIC電路的中試樣片。 3)FPGA內(nèi)部有豐富的觸發(fā)器和I/O引腳。 4)FPGA是ASIC電路中設(shè)計(jì)周期最短、開發(fā)費(fèi)用最低、風(fēng)險(xiǎn)最小的器件之一。 5) FPGA采用高速CMOS工藝,功耗低,可以與CMOS、TTL電

4、平兼容。同時(shí),F(xiàn)PGA還存在以下五大優(yōu)勢。 1)性能:利用硬件并行的優(yōu)勢,F(xiàn)PGA打破了順序執(zhí)行的模式,在每個(gè)時(shí)鐘周期內(nèi)完成更多的處理任務(wù),超越了數(shù)字信號處理器(DSP)的運(yùn)算能力。 著名的分析與基準(zhǔn)測試公司BDTI,發(fā)布基準(zhǔn)表明在某些應(yīng)用方面,F(xiàn)PGA每美元的處理能力是DSP解決方案的多倍。2在硬件層面控制輸入和輸出(I/ O)為滿足應(yīng)用需求提供了更快速的響應(yīng)時(shí)間和專業(yè)化的功能。 2)上市時(shí)間:盡管上市的限制條件越來越多,F(xiàn)PGA技術(shù)仍提供了靈活性和快速原型的能力。 用戶可以測試一個(gè)想法或概念,并在硬件中完成驗(yàn)證,而無需經(jīng)過自定制ASIC設(shè)計(jì)漫長的制造過程。3由此用戶就可在數(shù)小時(shí)內(nèi)完成逐

5、步的修改并進(jìn)行FPGA設(shè)計(jì)迭代,省去了幾周的時(shí)間。 商用現(xiàn)成(COTS)硬件可提供連接至用戶可編程FPGA芯片的不同類型的I/O。 高層次的軟件工具的日益普及降低了學(xué)習(xí)曲線與抽象層,并經(jīng)常提供有用的IP核(預(yù)置功能)來實(shí)現(xiàn)高級控制與信號處理。 3)成本:自定制ASIC設(shè)計(jì)的非經(jīng)常性工程(NRE)費(fèi)用遠(yuǎn)遠(yuǎn)超過基于FPGA的硬件解決方案所產(chǎn)生的費(fèi)用。 ASIC設(shè)計(jì)初期的巨大投資表明了原始設(shè)備制造商每年需要運(yùn)輸數(shù)千種芯片,但更多的最終用戶需要的是自定義硬件功能,從而實(shí)現(xiàn)數(shù)十至數(shù)百種系統(tǒng)的開發(fā)。 可編程芯片的特性意味著用戶可以節(jié)省制造成本以及漫長的交貨組裝時(shí)間。 系統(tǒng)的需求時(shí)時(shí)都會(huì)發(fā)生改變,但改變F

6、PGA設(shè)計(jì)所產(chǎn)生的成本相對ASCI的巨額費(fèi)用來說是微不足道的。 4)穩(wěn)定性:軟件工具提供了編程環(huán)境,F(xiàn)PGA電路是真正的編程“硬”執(zhí)行過程。 基于處理器的系統(tǒng)往往包含了多個(gè)抽象層,可在多個(gè)進(jìn)程之間計(jì)劃任務(wù)、共享資源。 驅(qū)動(dòng)層控制著硬件資源,而操作系統(tǒng)管理內(nèi)存和處理器的帶寬。 對于任何給定的處理器內(nèi)核,一次只能執(zhí)行一個(gè)指令,且基于處理器的系統(tǒng)時(shí)刻面臨著嚴(yán)格限時(shí)的任務(wù)相互取占的風(fēng)險(xiǎn)。 而FPGA不使用操作系統(tǒng),擁有真正的并行執(zhí)行和專注于每一項(xiàng)任務(wù)的確定性硬件,可減少穩(wěn)定性方面出現(xiàn)問題的可能。 5)長期維護(hù):正如上文所提到的, FPGA芯片是現(xiàn)場可升級的,無需重新設(shè)計(jì)ASIC所涉及的時(shí)間與費(fèi)用投

7、入。 舉例來說,數(shù)字通信協(xié)議包含了可隨時(shí)間改變的規(guī)范,而基于ASIC的接口可能會(huì)造成維護(hù)和向前兼容方面的困難。 可重新配置的FPGA芯片能夠適應(yīng)未來需要作出的修改。 隨著產(chǎn)品或系統(tǒng)成熟起來,用戶無需花費(fèi)時(shí)間重新設(shè)計(jì)硬件或修改電路板布局就能增強(qiáng)功能。 可以說,F(xiàn)PGA芯片是小批量系統(tǒng)提高系統(tǒng)集成度、可靠性的最佳選擇之一。 2、 FIR數(shù)字濾波器實(shí)驗(yàn)結(jié)果 之前的simulink仿真與matlab程序仿真僅僅是證明了算法是正確的,接下來我們需要把這個(gè)算法用Verilog HDL語言寫出來,用modelsim仿真程序,用Signaltap II看輸出波形。 該部分的verilog HDL代碼如

8、下: module FIR ( input clk_1M, input reset_n, input [7:0] datain, //ADC的采樣數(shù)據(jù),無符號 output [7:0] dataout //濾波后給DAC的數(shù)據(jù) ); parameter signed COEF0 = 12'd3; parameter signed COEF1 = -12'd2; parameter signed COEF2 = -12'd11; parameter signed COEF3 = 12'd23; parameter signed COEF4

9、 = 12'd17; parameter signed COEF5 = -12'd100; parameter signed COEF6 = 12'd61; parameter signed COEF7 = 12'd520; parameter signed COEF8 = 12'd520; parameter signed COEF9 = 12'd61; parameter signed COEF10 = -12'd100; parameter signed COEF11 = 12'd17; parameter signed COEF12 = 12'd23; paramet

10、er signed COEF13 = -12'd11; parameter signed COEF14 = -12'd2; parameter signed COEF15 = 12'd3; reg signed [8:0] shift_buf0;//第一級延時(shí)寄存器 reg signed [8:0] shift_buf1;//第二級延時(shí)寄存器 reg signed [8:0] shift_buf2;//第三級延時(shí)寄存器 reg signed [8:0] shift_buf3;//第四級延時(shí)寄存器 reg signed [8:0

11、] shift_buf4;//第五級延時(shí)寄存器 reg signed [8:0] shift_buf5;//第六級延時(shí)寄存器 reg signed [8:0] shift_buf6;//第七級延時(shí)寄存器 reg signed [8:0] shift_buf7;//第八級延時(shí)寄存器 reg signed [8:0] shift_buf8;//第九級延時(shí)寄存器 reg signed [8:0] shift_buf9;//第十級延時(shí)寄存器 reg signed [8:0] shift_buf10;//第十一級延時(shí)寄存

12、器 reg signed [8:0] shift_buf11;//第十二級延時(shí)寄存器 reg signed [8:0] shift_buf12;//第十三級延時(shí)寄存器 reg signed [8:0] shift_buf13;//第十四級延時(shí)寄存器 reg signed [8:0] shift_buf14;//第十五級延時(shí)寄存器 reg signed [8:0] shift_buf15;//第十六級延時(shí)寄存器 reg signed [9:0] add_0_15; reg signed [9:0]

13、 add_1_14; reg signed [9:0] add_2_13; reg signed [9:0] add_3_12; reg signed [9:0] add_4_11; reg signed [9:0] add_5_10; reg signed [9:0] add_6_9; reg signed [9:0] add_7_8; reg signed [21:0] mul1; reg signed [21:0] mul2; reg signed [21:0] m

14、ul3; reg signed [21:0] mul4; reg signed [21:0] mul5; reg signed [21:0] mul6; reg signed [21:0] mul7; reg signed [21:0] mul8; reg signed [29:0] add; always@ (posedge clk_1M or negedge reset_n) begin if (!reset_n) begin shift_buf0 <= 9'd0; shift_buf1 <= 9'd0; shi

15、ft_buf2 <= 9'd0; shift_buf3 <= 9'd0; shift_buf4 <= 9'd0; shift_buf5 <= 9'd0; shift_buf6 <= 9'd0; shift_buf7 <= 9'd0; shift_buf8 <= 9'd0; shift_buf9 <= 9'd0; shift_buf10<= 9'd0; shift_buf11<= 9'd0; shift_buf12<= 9'd0; shift_buf13<= 9'd0; shift_buf14<= 9'd0; shif

16、t_buf15<= 9'd0; end else begin shift_buf0 <= {1'b0,datain}; shift_buf1 <= shift_buf0; shift_buf2 <= shift_buf1; shift_buf3 <= shift_buf2; shift_buf4 <= shift_buf3; shift_buf5 <= shift_buf4; shift_buf6 <= shift_buf5; shift_buf7 <= shift_buf6; shift_buf8 <= shift_buf7

17、; shift_buf9 <= shift_buf8; shift_buf10<= shift_buf9; shift_buf11 <= shift_buf10; shift_buf12 <= shift_buf11; shift_buf13 <= shift_buf12; shift_buf14 <= shift_buf13; shift_buf15 <= shift_buf14; end end always@ (posedge clk_1M or negedge reset_n) begin if (!reset_n) beg

18、in add_0_15 <= 10'd0; add_1_14 <= 10'd0; add_2_13 <= 10'd0; add_3_12 <= 10'd0; add_4_11 <= 10'd0; add_5_10 <= 10'd0; add_6_9 <= 10'd0; add_7_8 <= 10'd0; end else begin add_0_15 <= shift_buf0 + shift_buf15; add_1_14 <= shift_buf1 + shift_buf14; add_2_13 <= shift

19、_buf2 + shift_buf13; add_3_12 <= shift_buf3 + shift_buf12; add_4_11 <= shift_buf4 + shift_buf11; add_5_10 <= shift_buf5 + shift_buf10; add_6_9 <= shift_buf6 + shift_buf9; add_7_8 <= shift_buf7 + shift_buf8; end end always@ (posedge clk_1M or negedge reset_n) begin if (!reset_n)

20、 begin mul1 <= 22'd0; mul2 <= 22'd0; mul3 <= 22'd0; mul4 <= 22'd0; mul5 <= 22'd0; mul6 <= 22'd0; mul7 <= 22'd0; mul8 <= 22'd0; end else begin mul1 <= COEF0 * add_0_15; mul2 <= COEF1 * add_1_14; mul3 <= COEF2 * add_2_13; mul4 <= COEF3 * add_3_12; mul5 <=

21、 COEF4 * add_4_11; mul6 <= COEF5 * add_5_10; mul7 <= COEF6 * add_6_9; mul8 <= COEF7 * add_7_8; end end always@ (posedge clk_1M or negedge reset_n) begin if (!reset_n) add <= 30'd0; else add <= mul1+mul2+mul3+mul4+mul5+mul6+mul7+mul8; end assign dataout = (add >=0) ? add>>1

22、0 :0; endmodule 同時(shí),通過modelsim來仿真最終的結(jié)果,Mentor公司的ModelSim是業(yè)界最優(yōu)秀的HDL語言仿真軟件,它能提供友好的仿真環(huán)境,是業(yè)界唯一的單內(nèi)核支持VHDL和Verilog混合仿真的仿真器。它采用直接優(yōu)化的編譯技術(shù)、Tcl/Tk技術(shù)、和單一內(nèi)核仿真技術(shù),編譯仿真速度快,編譯的代碼與平臺(tái)無關(guān),便于保護(hù)IP核,個(gè)性化的圖形界面和用戶接口,為用戶加快調(diào)試提供強(qiáng)有力的手段,是FPGA/ASIC設(shè)計(jì)的首選仿真軟件。 Modelsim軟件中用來編寫代碼的工具是Testbench, Testbench本身可以看做一個(gè)模塊或者設(shè)備,和你用戶編寫的模塊進(jìn)行通信。

23、通過Testbench模塊向待測模塊輸出信號作為激勵(lì),同時(shí)接收從待測模塊輸出的信號來查看結(jié)果。 依照上述的Verilog代碼,編寫Testbench,基本代碼如下: `timescale 1ns/1ps module FIR_TB; reg clk_1M; reg reset_n; reg [7:0] datain; reg [7:0] memery[8191:0]; wire [7:0] dataout; integer j; FIR u1( .clk_1M(clk_1M), .reset_n(reset_n

24、), .datain(datain), .dataout(dataout) ); initial begin reset_n=0; clk_1M=0; #100 reset_n=1; end always #50 clk_1M=~clk_1M; initial begin $readmemh("original.dat",memery); for(j=0;j<8192;j=j+1) begin datain=memery[j]; @(posedge clk_1M); if (j == 8191)

25、 j=0; end end endmodule 最終仿真出來的波形如下: 圖2.11 仿真結(jié)果 最終的仿真結(jié)果與前面matlab的結(jié)果一樣,這也就驗(yàn)證了整體方案的成熟度。 3、 總結(jié)與展望 本系統(tǒng)介紹了基于FPGA的FIR數(shù)字濾波器的基本原理以及實(shí)現(xiàn),明確好所需要設(shè)計(jì)的FIR數(shù)字濾波器濾波器后,首先對其進(jìn)行性能需求分析,明確FIR數(shù)字濾波器系統(tǒng)應(yīng)該達(dá)到的各種性能指標(biāo),其次,擬定多種濾波器類型,對這些方案采用Matlab進(jìn)行仿真,在這個(gè)過程中我們有許多的窗函數(shù)選擇和設(shè)計(jì)方法選擇,進(jìn)行綜合分析和比較,選擇出最佳的濾波器類型作為本設(shè)計(jì)方案,然后依據(jù)其性能指標(biāo)編寫Mat

26、lab程序,確定二階節(jié)系數(shù)?;蛘咧苯舆M(jìn)行Verilog語言的編寫。最終結(jié)果顯示,整體系統(tǒng)已經(jīng)正常運(yùn)行。 4、 參考文獻(xiàn) [1]Ryszard Bis,Dorota Dobrowolska. Diameter increment of silver fir ( Abies alba Mill.) in the I??ecka Forest[J]. Forest Research Papers,2012,73(3). [2]Maciej Pach. The influence of admixture and co-dominant species on the height and

27、 DBH of silver fir ( Abies alba Mill.) and on the growing stock of fir stands in the Carpathian Forest-Natural Region[J]. Forest Research Papers,2010,71(3). [3]Szabolcs Hajdu,Sándor Tihamér Brassai,Iuliu Szekely. FPGA based angular stabilization of a quadcopter[J]. MACRo 2015,2017,2(1). [4]仲玲利,周曉波

28、. 基于FPGA的SDRAM控制器設(shè)計(jì)開發(fā)[J]. 電路與系統(tǒng),2014,03(01). [5]張春龍,李德超,張玉環(huán). 基于BP神經(jīng)網(wǎng)絡(luò)的高階FIR多阻帶濾波器優(yōu)化設(shè)計(jì)[J]. 電力與能源進(jìn)展,2014,02(01). [6]石蘭潔,高詩簡,黃曦,原豪杰,周鐵戈. 基于FPGA的Logistic方程混沌信號加密實(shí)現(xiàn)[J]. 電路與系統(tǒng),2013,02(03). [7]付國新,侍昌江. 基于FPGA數(shù)據(jù)采集與共享的兩種記錄方式并存的電力系統(tǒng)錄波器研制[J]. 輸配電工程與技術(shù),2012,01(02). [8]任小強(qiáng),陳金鷹,吳蓉,李文彬. 基于FPGA和WiFi技術(shù)的電子鞭炮系統(tǒng)設(shè)計(jì)[

29、J]. 軟件工程與應(yīng)用,2014,03(04). [9]李俊. FIR數(shù)字濾波器的設(shè)計(jì)與實(shí)現(xiàn)[J]. 建模與仿真,2013,02(04). [10]Ying-Shieh Kung,Nguyen Vu Quynh,Nguyen Trung Hieu,Chung-Chun Huang,Liang-Chiao Huang. Simulink/Modelsim Co-Simulation and FPGA Realization of Speed Control IC for PMSM Drive[J]. Procedia Engineering,2011,23. [11]Das,Li,Naya

30、k,Assaf,Petriu,Biswas. Circuit Architecture Test Verification Based on Hardware Software Co-design with ModelSim[J]. IETE Journal of Research,2013,59(2). [12]Sunil Das,Jun-Feng Li,Amiya Nayak,Mansour Assaf,Emil Petriu,Satyendra Biswas. Circuit Architecture Test Verification Based on Hardware Softwa

31、re Co-design with ModelSim[J]. IETE Journal of Research,2013,59(2). [13]趙慶亮. 基于DSP的自動(dòng)平衡控制理論與方法研究[D].北京化工大學(xué),2012. [14]孫科林. 基于多核DSP的實(shí)時(shí)圖像處理平臺(tái)研究[D].電子科技大學(xué),2012. [15]張方正. 高速光通信中數(shù)字信號處理(DSP)與波形產(chǎn)生技術(shù)研究[D].北京郵電大學(xué),2013. [16]李振濤. 高性能DSP關(guān)鍵電路及EDA技術(shù)研究[D].國防科學(xué)技術(shù)大學(xué),2007. [17]董秀潔,楊艷,周游.FPGA/CPLD選型與設(shè)計(jì)優(yōu)化[J].化工自動(dòng)化及儀表,2009,36(03):60-63. [18]屈星,唐寧,嚴(yán)舒,楊白.基于FPGA的IIR數(shù)字濾波器的設(shè)計(jì)與仿真[J].計(jì)算機(jī)仿真,2009,26(08):304-307+348. [19]耶曉東.基于Matlab的IIR數(shù)字濾波器設(shè)計(jì)及DSP實(shí)現(xiàn)[J].電子設(shè)計(jì)工程,2011,19(09):175-177. [20]周耀輝,王蕓波,朱維新,張玉仲,武煥舟.IIR數(shù)字濾波器設(shè)計(jì)[J].電力自動(dòng)化設(shè)備,2010,30(09):129-131. [21]王春玲,吳順偉.FPGA/CPLD選型及與其他技術(shù)的融合[J].現(xiàn)代電子技術(shù),2007(16):30-33+40.

展開閱讀全文
溫馨提示:
1: 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
2: 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
3.本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
5. 裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

相關(guān)資源

更多
正為您匹配相似的精品文檔
關(guān)于我們 - 網(wǎng)站聲明 - 網(wǎng)站地圖 - 資源地圖 - 友情鏈接 - 網(wǎng)站客服 - 聯(lián)系我們

copyright@ 2023-2025  zhuangpeitu.com 裝配圖網(wǎng)版權(quán)所有   聯(lián)系電話:18123376007

備案號:ICP2024067431-1 川公網(wǎng)安備51140202000466號


本站為文檔C2C交易模式,即用戶上傳的文檔直接被用戶下載,本站只是中間服務(wù)平臺(tái),本站所有文檔下載所得的收益歸上傳人(含作者)所有。裝配圖網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對上載內(nèi)容本身不做任何修改或編輯。若文檔所含內(nèi)容侵犯了您的版權(quán)或隱私,請立即通知裝配圖網(wǎng),我們立即給予刪除!