基于VHDL的有限沖激響應濾波器的設計_第1頁
基于VHDL的有限沖激響應濾波器的設計_第2頁
基于VHDL的有限沖激響應濾波器的設計_第3頁
基于VHDL的有限沖激響應濾波器的設計_第4頁
基于VHDL的有限沖激響應濾波器的設計_第5頁
已閱讀5頁,還剩27頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

基于VHDL的有限沖激響應濾波器的設計圖3.3n階FIR濾波器硬件電路3.6數(shù)據(jù)處理與軟件設計3.6.1MATLAB/Simulink根據(jù)設計要求,通過MATLAB/Simulink參數(shù)設置與處理,得到FIR低通數(shù)字濾波器57個系數(shù):-0.0004970.000590-0.000921 0.001356-0.0019120.002603-0.0034420.0044400.004440-0.0034420.002603-0.0019120.001356-0.0009210.000590-0.0004973.6.2VHDL系數(shù)處理程序相關參數(shù)定義:d_in:輸入數(shù)據(jù)信號;d_out:輸出數(shù)據(jù)信號;rst:復位信號;fsclk:采樣時鐘信號。在VHDL代碼中,濾波器的系數(shù)被設置,類似存儲于程序存儲器中執(zhí)行。subtypeROMbyteissigned(20downto0); typeROMARRAYisarray(1to57)ofROMbyte;signalROMDATA:ROMARRAY;……………coefficient:process(rst)begin--processcoefficientif(rst='1')thenforiin1to57loopROMDATA(i)<=“000000000000000000000”;endloop;elseROMDATA(1)<=“111111111111000001111”;----0.000497ROMDATA(2)<=“000000000001001001110”;----0.000590…………endifendprocesscoefficient;3.6.3數(shù)據(jù)輸入和頻率控制根據(jù)設計濾波器的參數(shù)可知,采樣頻率要求是44.1kHz,所以采樣周期為Ts=22us(T=1/f)(1)時鐘頻率控制程序forjin0to49loopFSCLK<=‘1’;d_in<=sinv(j);waitfor11us;----Ts=22us,fs=44.1kHzFSCLK<=‘0’;waitfor11us;----Ts=22us,fs=44.1kHzendloop;(2)將輸入的數(shù)據(jù)信號寫入數(shù)據(jù)存儲器RAM(由D觸發(fā)器組成)中wr_data:process(rst,fsclk)beginif(rst=‘1’)thenforkin1to57loopRAMDATA(k)<="000000000000000000000";endloop;elsiffsclk’eventandfsclk=‘1’thenforkin1to56loopRAMDATA(k+1)<=RAMDATA(k);RAMDATA(1)<=D_in;endloop;endif;endprocesswr_data;(3)對正弦信號采樣程序正弦信號T=2*pi=360°,在整個周期上采樣100次,故每3.6°采樣一次。typetableisarray(0to49)ofsigned(20downto0)signalsinv:table:=(“000000000000000000000”,--sin0;lineNo.1“000000000010000000100”,--sin(3.6);lineNo.2………“000000011111111111111”,--sin(90);lineNo.26………“000000000100000000101”,--sin(180-7.2);lineNo.49“000000000010000000100”);--sin(180-3.6);lineNo.50)(4)在整個程序執(zhí)行過程中,輸入正弦波模擬信號分為兩個過程進行采樣處理,在一個周期上共采樣100個點,正半周采樣50個點,負半周采樣50個點。采樣時間的計算:由fs=44.1Hz,則Ts=1/fs=22us,所以總時間T=22*100=2200us采樣子程序:forkin0to99loopforjin0to49loopFSCLK<=‘1’;d_in<=sinv(j);waitfor11us;FSCLK<=‘0’waitfor11us;endloop;正半周采樣forjin0to49loopFSCLK<=‘1’;d_in<=-sinv(j);waitfor11us;FSCLK<=‘0’;waitfor11us;endloop;負半周采樣(5)濾波器的功能設計的濾波器具有以下兩項功能:一是通過低頻信號;二是衰減截止高頻信號達60dB,實現(xiàn)數(shù)據(jù)濾波和綜合,下面是實現(xiàn)其功能代碼:A:filtering_data:process(fsclk)begin--processrd_dataif(rst=‘1’)thenforkin1to57loopmulDATA(k)<=“000000000000000000000000000000000000000000”;endloop;elsiffsclkeventandfsclk=‘1’thenforkin1to57loopmulDATA(k)<=RAMDATA(k)*ROMDATA(k);endloop;endif;endprocessfiltering_data;B:accumulation:process(fsclk)variableaccu:signed(41downto0);beginif(rst=‘1’)thenD_OUT<=“000000000000000000000”;accu:=“000000000000000000000000000000000000000000”;elsiffsclk'eventandfsclk=‘1’thenforkin1to57loopaccu:=mulDATA(k)+accu;endloop;endif;endprocessaccumulation;4軟件仿真為了測量所設計的數(shù)字濾波器的低通濾波特性,分別進行低頻仿真和高頻仿真,把低頻信號和高頻信號輸入濾波器來觀察濾波效果。運行中分別輸入信號為455Hz和22KHz的正弦信號,從圖4.1我們可以看到,頻率為455Hz的正弦信號,輸入波形與輸出波形相比,頻率幾乎無變化,雖然還有一定的波形抖動,但是對于數(shù)字系統(tǒng)來說,這樣微小的電壓幅值還不至于引起0,1跳變,因此對于數(shù)字信號來說,可以認為該低通濾波器的理論設計是達到了要求的。高頻信號濾波情況中,輸入數(shù)據(jù)頻率為截止頻率22kHz。圖4.2是信號通過情況,可以清楚的看到與輸入振幅16253相比,輸出為18,衰減20lg(16253/18)=59.956dB,近似60dB。實現(xiàn)了低通濾波功能,對于高頻率信號則不能通過,滿足設計要求,達到理論濾波效果。4.1低頻仿真1.條件:輸入數(shù)據(jù)頻率為455Hz(fs=1/T=1/2200us=455Hz)。2.結論:低頻仿真如圖4.1所示,輸入波形振幅A=5062,輸出為A=7813,衰減20lg(5062/7813)=0,輸入波形與輸出波形相比,頻率幾乎無變化,達到低通功能,滿足設計要求。圖4.1f=455Hz時4.2高頻仿真1.條件:輸入數(shù)據(jù)頻率為截止頻率22kHz。2.結論:高頻仿真如圖4.2所示,與輸入振幅16253相比,輸出為18,衰減20lg(16253/18)=59.956dB,近似60dB。實現(xiàn)了低通濾波功能,對于高頻率信號則不能通過,滿足設計要求。圖4.2f=22kHz由前面的實驗我們可以認為:該設計所建的模型是正確,實驗方案是合理的、可行的,制作的數(shù)字濾波電路基本達到設計指標。從這里我們可以看出圖4.1中雖然在曲線的形狀上比較接近,但是實際的精度還是存在誤差。誤差造成的原因是多方面的,比如有限字長效應的影響等。5結論與展望數(shù)字信號處理的最主要應用領域就是數(shù)字濾波,數(shù)字濾波器與快速傅里葉變換(FFT)被公認為數(shù)字信號處理的兩大基石。在現(xiàn)代電子系統(tǒng)中,F(xiàn)IR數(shù)字濾波器以其良好的線性特性被廣泛使用,隨著科技的日新月異,基于FPGA來設計電子電路己成為一種趨勢。這是由于FPGA器件集成度高、體積小,使用它可以大大縮短開發(fā)的周期,減少資金的投入,將原來的電路板級產(chǎn)品升級為芯片級產(chǎn)品。VHDL語言是一種功能強大的硬件描述語言,本設計用VHDL語言編寫了一個實現(xiàn)FIR濾波器的程序,結合MATLAB軟件,在Max+plusII軟件里進行了仿真運行,實現(xiàn)FIR數(shù)字濾波器進行了研究,并對其性能進行優(yōu)化。在規(guī)定的帶通頻率0--20kHz范圍,截止頻率fc=22kHz,截止頻帶衰減約為60dB,對壓電直線微電機控制系統(tǒng)中FIR低通數(shù)字濾波器行為進行仿真描述是理想的,實現(xiàn)了用軟件描述硬件的動作及其功能,滿足設計要求,使設計達到最優(yōu)化。設計和仿真壓電直線微電機控制系統(tǒng)中的FIR低通數(shù)字濾波器,實現(xiàn)用軟件描述硬件的動作及其功能,給設計帶來極大方便,使設計達到最優(yōu)化。與其它方法實現(xiàn)的FIR濾波器相比,可編程邏輯器件實現(xiàn)的FIR濾波器,具有設備利用率高、集成度高、簡化電路設計過程等優(yōu)點,避免了ASIC的設計制作周期長,只能用于特定場合等缺點。本設計主要從方法論的角度出發(fā),設計的濾波器階數(shù)、采樣精度及頻率較低,忽略了高速高階數(shù)字濾波器可能存在的一些問題,如:干擾、延時、資源占用等??偠灾現(xiàn)PGA是今后數(shù)字系統(tǒng)發(fā)展的一個重要方向,具有廣闊的應用前景?;赩HDL的有限沖激響應濾波器的設計PAGE第28頁共32頁致謝本文課題研究及撰寫工作是在王新老師的悉心指導下完成的。王老師淵博的知識、嚴謹?shù)闹螌W態(tài)度、一絲不茍的工作作風、高度的責任感對我影響至深,使我受益終生。在課題進行中,在設計的過程和論文撰寫方面等都給予了我很大的指導和幫助,在此對他表示深深的謝意。感謝老師對我的關心和教誨,在今后的人生道路上我將謹記恩師的教誨。向參加論文評審、答辯的專家和老師表示衷心的感謝!參考文獻樊昌信,張甫翊,徐炳祥等.通信原理[M].北京:國防工業(yè)出版社,2001.雷伏容.VHDL電路設計[M].北京:清華大學出版社,2006.Clive“Max”Maxfield著,杜生海,邢聞譯.FPGA設計指南[M].北京:人民郵電出版社,2007.UweMeyer-Baese著,劉凌譯.數(shù)字信號處理的FPGA實現(xiàn)[M].北京:清華大學出版社,2007.朱幼蓮.線性相位FIR數(shù)字濾波器的CPLD實現(xiàn)[J].工礦自動化,2005(1)丁玉美,高西全.數(shù)字信號處理[M].西安:西安電子科技大學出版社,2004.潘松.VHDL實用教程[M].成都:電子科技大學出版社,2001.盧建國,張澤.\o"FIR線性相位數(shù)字濾波器的CPLD實現(xiàn)"FIR線性相位數(shù)字濾波器的CPLD實現(xiàn)[J].內蒙古大學學報(自然科學版),2002,(03)單琳娜,李帥,石瑞英.\o"模塊法設計FIR數(shù)字濾波器的一種新方法"模塊法設計FIR數(shù)字濾波器的一種新方法[J].高師理科學刊,2005,(02)凌朝東,劉蓉,林旭.\o"用CPLD實現(xiàn)的FIR濾波器"用CPLD實現(xiàn)的FIR濾波器[J].華僑大學學報(自然科學版),2001,(01)岳學東,買鵬.\o"基于MATLAB的FIR數(shù)字濾波器最優(yōu)設計"基于MATLAB的FIR數(shù)字濾波器最優(yōu)設計[J].中國科技信息,2005,(08)戴月明,張秀娟.\o"FIR數(shù)字濾波器優(yōu)化設計方法"FIR數(shù)字濾波器優(yōu)化設計方法[J].山東科技大學學報(自然科學版),2002,(01)李永剛,李錦萍.\o"有限長單位沖激響應FIR數(shù)字濾波器線性相位分析和結構圖"有限長單位沖激響應FIR數(shù)字濾波器線性相位分析和結構圖[J].首都師范大學學報(自然科學版),2002,(02)栗瑞芳,付衛(wèi)國.\o"基于DSP中數(shù)字濾波器的設計與實現(xiàn)"基于DSP中數(shù)字濾波器的設計與實現(xiàn)[J].科技信息,2006,(12)[15]林懷蔚,費旻,邢瑋.基于VHDL和MATLAB應用結合的FIR數(shù)字濾波器設計[C].合肥:中國科技大學出版社,2007[16]Dillinger,T.E.etal.ALogicSynthesisSystemforVHDLDesignDescription[J].IEEEICCAD-89,Santaclara:Calif,1989附錄A實現(xiàn)FIR濾波器的源程序subtypeROMbyteissigned(20downto0); typeROMARRAYisarray(1to57)ofROMbyte;signalROMDATA:ROMARRAY;coefficient:process(rst)begin--processcoefficientif(rst='1')thenforiin1to57loopROMDATA(i)<=“000000000000000000000”;endloop;elseROMDATA(1)<=“111111111111000001111”;----0.000497ROMDATA(2)<=“000000000001001001110”;----0.000590…………endifendprocesscoefficient;forjin0to49loopFSCLK<=‘1’;d_in<=sinv(j);waitfor11us;----Ts=22us,fs=44.1kHzFSCLK<=‘0’;waitfor11us;----Ts=22us,fs=44.1kHzendloop;wr_data:process(rst,fsclk)beginif(rst=‘1’)thenforkin1to57loopRAMDATA(k)<="000000000000000000000";endloop;elsiffsclk’eventandfsclk=‘1’thenforkin1to56loopRAMDATA(k+1)<=RAMDATA(k);RAMDATA(1)<=D_in;endloop;endif;endprocesswr_data;typetableisarray(0to49)ofsigned(20downto0)signalsinv:table:=(“000000000000000000000”,--sin0;lineNo.1“000000000010000000100”,--sin(3.6);lineNo.2………“000000011111111111111”,--sin(90);lineNo.26………“000000000100000000101”,--sin(180-7.2);lineNo.49“000000000010000000100”);--sin(180-3.6);lineNo.50)forkin0to99loopforjin0to49loopFSCLK<=‘1’;d_in<=sinv(j);waitfor11us;FSCLK<=‘0’waitfor11us;endloop;正半周采樣forjin0to49l

溫馨提示

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

評論

0/150

提交評論