版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
1、 學(xué)士論文基于FPGA的FIR數(shù)字濾波器設(shè)計(jì)摘 要隨著公元的第二十一個(gè)世紀(jì)的到來(lái),今天我們進(jìn)入了一個(gè)科技日新月異的時(shí)代。在現(xiàn)代電子數(shù)字系統(tǒng)中,濾波器都以一個(gè)不可缺少的身份出現(xiàn)。其中,F(xiàn)IR數(shù)字濾波器又以其良好的線性特性被廣泛和有針對(duì)性的大量使用。眾所周知,靈活性和實(shí)時(shí)性是工程實(shí)踐中對(duì)數(shù)字信號(hào)處理的基本要求。在以往使用的各種濾波器技術(shù)中,不難發(fā)現(xiàn)有許許多多的問(wèn)題。但是,隨著現(xiàn)代計(jì)算機(jī)技術(shù)在濾波問(wèn)題上的飛躍,派生出一個(gè)全新的分支數(shù)字濾波器。利用可編程邏輯器件和EDA技術(shù),使用FPGA來(lái)實(shí)現(xiàn)FIR濾波器,可以同時(shí)兼顧實(shí)時(shí)性和靈活性?;贔PGA的FIR數(shù)字濾波器的研究勢(shì)在必行。本論文討論基于FPGA
2、的FIR數(shù)字濾波器設(shè)計(jì),針對(duì)該畢業(yè)設(shè)計(jì)要做的基本工作有如下幾點(diǎn):(一)掌握有限沖擊響應(yīng)FIR(Finite Impulse Response, FIR)的基本結(jié)構(gòu),研究現(xiàn)有的實(shí)現(xiàn)方法。對(duì)各種方案和步驟進(jìn)行比較和論證分析,然后針對(duì)目前FIR數(shù)字濾波器需要的特點(diǎn),速度快和硬件規(guī)模小,作為指導(dǎo)思想進(jìn)行設(shè)計(jì)計(jì)算。(二)基于硬件FPGA的特點(diǎn),利用Matlab軟件以及窗函數(shù)法設(shè)計(jì)濾波器。對(duì)整個(gè)FPGA元件,計(jì)劃采用模塊化、層次化設(shè)計(jì)思想,從而對(duì)各個(gè)部分功能進(jìn)行更為詳細(xì)的理解和分工設(shè)計(jì)。最終FIR數(shù)字濾波器的設(shè)計(jì)語(yǔ)言選擇VHDL硬件編程語(yǔ)言。(三)設(shè)計(jì)中的軟件仿真使用Altera公司的綜合性PLD開(kāi)發(fā)軟件
3、Quartus II,并且利用Matlab工具進(jìn)行對(duì)比仿真,在仿真的過(guò)程中,對(duì)比證明,本論文設(shè)計(jì)的濾波器的技術(shù)指標(biāo)已經(jīng)全部達(dá)標(biāo)。關(guān)鍵詞:數(shù)字濾波器 Matlab 可編程邏輯元件 模塊化算法 I1緒 論1.1本課題研究意義在現(xiàn)代通信信號(hào)處理領(lǐng)域中,隨著各種精密計(jì)算和快速計(jì)算的發(fā)展對(duì)信號(hào)處理的實(shí)時(shí)性、快速性的要求越來(lái)越高。以往的模擬濾波器無(wú)法克服電壓漂移、溫度漂移和噪聲等問(wèn)題,從而帶來(lái)了許多誤差和不穩(wěn)定因素。而數(shù)字濾波器具有穩(wěn)定性高、精度高、設(shè)計(jì)靈活、實(shí)現(xiàn)方便等突出優(yōu)點(diǎn)。FPGA元器件在高速并行處理和數(shù)據(jù)傳輸中有獨(dú)特優(yōu)勢(shì),F(xiàn)PGA正在前端信號(hào)處理中越來(lái)越多地代替ASIC和DSP。我們需要的就是這種
4、設(shè)計(jì)周期短,功能密度高,重組時(shí)間短的元器件。本文在FPGA元器件的基礎(chǔ)上,實(shí)現(xiàn)現(xiàn)代FIR數(shù)字濾波器功能。并且研究多種快速的FIR數(shù)字濾波器的理論設(shè)計(jì)思想和程序設(shè)計(jì)方法。1.2國(guó)內(nèi)外研究現(xiàn)狀分析1985年XilinX公司生產(chǎn)出了第一塊FPGA元器件,由于它有著集成度高、方便易用、開(kāi)發(fā)和上市周期短的絕對(duì)優(yōu)勢(shì),使得FPGA器件在數(shù)字設(shè)計(jì)和電子生產(chǎn)中得到迅速普及和應(yīng)用,發(fā)展?jié)摿κ志薮蟆,F(xiàn)在FPGA已經(jīng)發(fā)展到可以利用硬件乘加器、片內(nèi)儲(chǔ)存器、邏輯單元、流水處理技術(shù)等特有的硬件結(jié)構(gòu),高速完成FFT 、FIR 、復(fù)數(shù)乘加、卷積、三角函數(shù)以及矩陣運(yùn)算等數(shù)字信號(hào)處理。這樣可以完成信號(hào)處理的主要技術(shù),如中頻采樣、
5、參數(shù)估計(jì)、自適應(yīng)濾波、脈沖壓縮、自適應(yīng)波束形成和旁瓣對(duì)消等。1.3研究思路通過(guò)對(duì)目前數(shù)字濾波器的幾種實(shí)現(xiàn)方法的簡(jiǎn)單分析,本文認(rèn)為基于FPGA的數(shù)字濾波器具有許多優(yōu)點(diǎn),本文考慮到信息技術(shù)的發(fā)展對(duì)于數(shù)字濾波器的要求越來(lái)越高,而目前FIR數(shù)字濾波器的性能還不完善,于是選擇了基于FPGA的數(shù)字濾波器作為主要研究?jī)?nèi)容,通常濾波器在進(jìn)行數(shù)據(jù)處理時(shí)用到了卷積運(yùn)算,在設(shè)計(jì)中的解決這些乘法運(yùn)算的思路是將它們轉(zhuǎn)換成加減法,這是目前解決乘法運(yùn)算的主流思想。設(shè)計(jì)初期在Matlab下對(duì)濾波器原理進(jìn)行證明包括(零極點(diǎn)圖、時(shí)域和頻域分析圖等),分析FIR數(shù)字濾波器的多種理論設(shè)計(jì)思想和窗函數(shù)選擇方法,在設(shè)計(jì)后期對(duì)FIR數(shù)字濾
6、波器的小數(shù)乘法問(wèn)題進(jìn)行單獨(dú)論證。然后對(duì)分析出來(lái)的問(wèn)題進(jìn)行論證和解決,最后在QUARTUS中進(jìn)行仿真驗(yàn)證。1.4相關(guān)概念說(shuō)明數(shù)字濾波器(Digital filter)是由數(shù)字乘法器、加法器和延時(shí)單元組成的一種裝置。其功能是對(duì)輸入離散信號(hào)的數(shù)字代碼進(jìn)行運(yùn)算處理,以達(dá)到改變信號(hào)頻譜的目的??烧J(rèn)為是一個(gè)離散時(shí)間系統(tǒng)按預(yù)定的算法,將輸入離散時(shí)間信號(hào)轉(zhuǎn)換為所要求的輸出離散時(shí)間信號(hào)的特定功能裝置FIR(Finite Impulse Response )由線性系統(tǒng)理論可知,在某種適度條件下,輸入到線性系統(tǒng)的一個(gè)沖擊完全可以表征系統(tǒng)。當(dāng)我們處理有限的離散數(shù)據(jù)時(shí),線形系統(tǒng)的響應(yīng)(包括對(duì)沖擊的響應(yīng))也是有限的。若線
7、性系統(tǒng)僅是一個(gè)空間濾波器,則通過(guò)簡(jiǎn)單地觀察它對(duì)沖擊的響應(yīng),我們就可以完全確定該濾波器。通過(guò)這種方式確定的濾波器稱為有限沖擊響應(yīng)(FIR)濾波器。圖1-1總體設(shè)計(jì)流程圖2 FIR數(shù)字濾波器的設(shè)計(jì)方法2.1理論部分2.1.1引言數(shù)字濾波器的功能一般是用來(lái)變換時(shí)域或者頻域中某些要求信號(hào)的屬性,濾除信號(hào)中某一部分頻率分量。經(jīng)過(guò)數(shù)字濾波器的信號(hào)是讓其頻譜與數(shù)字濾波器的頻率響應(yīng)相乘從而得出新的結(jié)果。經(jīng)過(guò)一個(gè)線性卷積過(guò)程,從時(shí)域上輸入信號(hào)與濾波器的單位沖擊響應(yīng)作一個(gè)卷積和。下面是卷積定義式: (1)LTI數(shù)字濾波器在一般情況下分為有限脈沖響應(yīng)(Finite impulse response)和無(wú)限脈沖響應(yīng)(
8、Infinite impulse response),F(xiàn)IR數(shù)字濾波器的設(shè)計(jì)方法和IIR濾波器的設(shè)計(jì)方法有很大的差別。因?yàn)槠湓O(shè)計(jì)方向是選擇有限長(zhǎng)度的h(n),使頻率響應(yīng)函數(shù)H(e)滿足指標(biāo)。數(shù)字濾波器正在用直接的電子計(jì)算機(jī)規(guī)范和算法進(jìn)行分析的方式來(lái)逐漸代替?zhèn)鹘y(tǒng)的模擬濾波器的RLC元器件和放大電路。2.1.2 FIR數(shù)字濾波器的基礎(chǔ)首先介紹FIR數(shù)字濾波器基本原理,在如下表格中對(duì)FIR和IIR數(shù)字濾波器進(jìn)行了全面的比較:表2-1兩種濾波器特點(diǎn)比較分析FIR數(shù)字濾波器IIR數(shù)字濾波器設(shè)計(jì)方法在一般的情況下,F(xiàn)IR數(shù)字濾波器沒(méi)有設(shè)計(jì)公式。它的設(shè)計(jì)需要借助計(jì)算機(jī)程序完成可以利用AF的設(shè)計(jì)成果,可簡(jiǎn)單、
9、有效地完成設(shè)計(jì)階數(shù)高低穩(wěn)定性在穩(wěn)定性方面(穩(wěn)定),極點(diǎn)全部在原點(diǎn)存在一定的穩(wěn)定性問(wèn)題,需要注意結(jié)構(gòu)非遞歸系統(tǒng)遞歸系統(tǒng)運(yùn)算誤差一般情況下不存在反饋,運(yùn)算的誤差比較小存在反饋,由于運(yùn)算中的特殊運(yùn)算方法會(huì)產(chǎn)生極限環(huán)通常情況下一般數(shù)字濾波器的N階FIR數(shù)字濾波器基于輸入信號(hào)x(n)的表達(dá)式為: (2)這個(gè)公式給我們了一個(gè)非常明了的直接型網(wǎng)絡(luò)結(jié)構(gòu),該結(jié)構(gòu)表現(xiàn)出N個(gè)乘法器,每次采樣y(n)的內(nèi)容是n次乘法和n-1次加法,然后做乘累加之和。如圖2-1所示:圖2-1 FIR濾波器直接型網(wǎng)絡(luò)結(jié)構(gòu)從DSP的介紹中,第一類線性相位對(duì)h(n)的約束條件: (3) (4)由公式(3),(4)我們可以推出: (5)移相并
10、利用三角公式化簡(jiǎn)得到: (6)從數(shù)字信號(hào)處理學(xué)科中知道函數(shù)關(guān)于求和區(qū)間的中心(N-1)/2奇對(duì)稱,于是我們要求和h(n)滿足如下條件: 其中對(duì)應(yīng)的有 (7)圖2-2 線性相位FIR濾波器結(jié)構(gòu)若h(n)呈現(xiàn)對(duì)稱特性,即此具有線性相位的濾波器是FIR數(shù)字濾波器。濾波器的基礎(chǔ)網(wǎng)絡(luò)結(jié)構(gòu)可以相互進(jìn)行轉(zhuǎn)換。在前面本文已經(jīng)討論過(guò), FPGA的實(shí)現(xiàn)中將對(duì)各種方法進(jìn)行比較,找出最優(yōu)設(shè)計(jì)方式。從而達(dá)到減少資源占有和提高系統(tǒng)作業(yè)速度的目的,更好的體現(xiàn)實(shí)時(shí)性的數(shù)字濾波器優(yōu)勢(shì)。2.1.3數(shù)字濾波器的設(shè)計(jì)原理在數(shù)字信號(hào)處理技術(shù)的研究中,一般是使用的三種設(shè)計(jì)方法:窗函數(shù)法,F(xiàn)DATool直接設(shè)計(jì)法,程序編譯法。本文首先使用
11、窗函數(shù)和Matlab軟件共同進(jìn)行設(shè)計(jì)。隨著軟件技術(shù)的不斷發(fā)展,Matlab軟件能給設(shè)計(jì)者帶來(lái)的數(shù)字信號(hào)處理工作已經(jīng)非常的完善和多樣了,設(shè)計(jì)者可以利用Matlab軟件進(jìn)行數(shù)字濾波器的設(shè)計(jì)和仿真,而且還可以用這款軟件進(jìn)行設(shè)計(jì)的優(yōu)化。數(shù)字濾波器的一般設(shè)計(jì)步驟如下:1.指標(biāo)的確定做任何工程或者設(shè)計(jì),設(shè)計(jì)者都必須要有一個(gè)期望的指標(biāo)用來(lái)限制設(shè)計(jì)范圍。在很多的實(shí)際應(yīng)用中,設(shè)計(jì)者常常都是使用數(shù)字濾波器做選頻的工作。因此,指標(biāo)的形式一半在頻域中給出相位響應(yīng)和幅度。相位響應(yīng)的指標(biāo)形式,一半是指系統(tǒng)在通頻帶中藥有線性相位。幅度指標(biāo):絕對(duì)指標(biāo),它給出對(duì)幅度響應(yīng)函數(shù)的要求,一般用于FIR濾波器的設(shè)計(jì)。相對(duì)指標(biāo),以分貝值
12、的形式給出具體限制。2.逼近目標(biāo)設(shè)計(jì)者做高頻的時(shí)候大概都有一個(gè)模式,就是首先得到技術(shù)指標(biāo),然后利用我們的技術(shù)和工具讓我們的產(chǎn)品去逼近這個(gè)指標(biāo)。同理我們首先建立以個(gè)目標(biāo)的數(shù)字濾波器模型。一般情況下都是采用理想的數(shù)字濾波器模型,然后去逼近我們想要的目標(biāo)數(shù)字濾波器參數(shù)。3.計(jì)算機(jī)仿真和性能優(yōu)化分析在工作中我們發(fā)現(xiàn)通過(guò)(1)、(2)之后本文會(huì)得到以差分、系統(tǒng)函數(shù)或者沖擊響應(yīng)這三種方式描述的濾波器。這個(gè)時(shí)候設(shè)計(jì)者可以利用計(jì)算進(jìn)行仿真,在系統(tǒng)中分析技術(shù)指標(biāo)和濾波結(jié)果是否是希望得到的結(jié)果。圖2-3各種理想數(shù)字濾波器的幅度頻率響應(yīng)2.1.4 FIR數(shù)字濾波器的理論計(jì)算方式與參數(shù)轉(zhuǎn)換思想 在理論上掌握了FIR數(shù)
13、字濾波器的基本原理之后,本文需要對(duì)設(shè)計(jì)思想進(jìn)行一個(gè)多方位的論證和嘗試。首先設(shè)計(jì)者設(shè)計(jì)濾波器要有一個(gè)硬性的指標(biāo),這個(gè)指標(biāo)可以是直接給出最基本的數(shù)據(jù),也有多重表現(xiàn)形式。于是我例舉兩種特殊的指標(biāo)形式然后加以解決設(shè)計(jì)。然后我們分別用2種方式來(lái)設(shè)計(jì)不同指標(biāo)的濾波器。接下來(lái)我首先用程序的方式來(lái)實(shí)現(xiàn)濾波器:1.逼近法轉(zhuǎn)換與思想使用remez函數(shù)設(shè)計(jì)FIR低通濾波器設(shè)計(jì)濾波器,使逼近低通濾波特性|。 |=要求通帶波紋,阻帶衰減,并用最小階數(shù)實(shí)現(xiàn)。繪出設(shè)計(jì)的FIR數(shù)字濾波幅頻特性曲線,檢驗(yàn)設(shè)計(jì)指標(biāo)。這個(gè)指標(biāo)我們可以以如下計(jì)算方法來(lái)得出詳細(xì)指標(biāo):從給出的低通濾波特性|。我們可以看出設(shè)計(jì)參數(shù)f=1/4,5/16,m
14、=1,0;dev的計(jì)算根據(jù)公式:Rp=-20>0于是有Rp=20,所以dev(1),dev(2)可以被表示出來(lái)。2.逼近法程序描述與思想有了這幾個(gè)參數(shù)我們現(xiàn)在就可以根據(jù)已經(jīng)設(shè)定好的格式來(lái)調(diào)用函數(shù)remezord和remez函數(shù)了,于是可得如下程序。clear;close allfc=1/4;fs=5/16; %輸入給定指標(biāo)Rp=3;As=60;Fs=2;f=fc,fs;m=1,0; %計(jì)算remezord函數(shù)所需參數(shù)f,m,devdev=(10(Rp/20)-1)/(10(Rp/20)+1),10(-As/20);N,fo,mo,W=remezord(f,m,dev,F(xiàn)s); %確定re
15、mez函數(shù)所需參數(shù)hn=remez(N,fo,mo,W); %調(diào)用remez函數(shù)進(jìn)行設(shè)計(jì)hw=fft(hn,512); %求設(shè)計(jì)出的濾波器頻率特性w=0:511 *2/512;plot(w,20*log10(abs(hw);grid; %畫對(duì)數(shù)幅頻特性圖axis(0,max(w)/2,-90,5); xlabel('w/pi');ylabel('Magnitude(dB)')line(0,0.4,-3,-3); %畫線檢驗(yàn)設(shè)計(jì)結(jié)果line(1/4,1/4,-90,5);line(5/16,5/16,-90,5);程序結(jié)束。3.仿真圖像與結(jié)果用以上的程序我們可以得
16、到在Matlab中的許多參數(shù)和圖像,從而進(jìn)一步分析我們的設(shè)計(jì)。首先引入程序輸出的幅頻特性圖:(如圖2-4)圖2-4在Matlab中的程序圖2-5程序輸出的幅頻特性圖2-6 Impulse Response圖2-7 Magnitude and Phase Responses圖2-8 Phase Delay圖2-9 Pole,Zero plot結(jié)論:從上面程序運(yùn)行情況分析,觀察程序輸出的幅頻特性圖中橫線為-3dB,兩條豎線分別位于頻率/4和5/16。顯然,通帶指標(biāo)有富裕,零極點(diǎn)圖反應(yīng)出大部分零極點(diǎn)在圓內(nèi),過(guò)渡帶寬度和阻帶最小衰減剛好滿足指標(biāo)要求。4.窗函數(shù)選擇法與規(guī)劃思想表2-2窗函數(shù)選擇指標(biāo)名稱
17、近似過(guò)渡帶寬最小阻帶衰減精確過(guò)渡帶寬矩形4/M21dB1.8/M巴特利特8/M25dB6.1/M漢寧8/M44dB6.2/M哈明8/M51dB6.6/M布萊克曼12/M74dB11/M取Kaiser窗時(shí)用MATLAB中的kaiserord函數(shù)來(lái)得到長(zhǎng)度M在設(shè)計(jì)指標(biāo)中沒(méi)有直接給出窗函數(shù)的,可以利用下面這個(gè)表格進(jìn)行篩選,具體方法如下:這個(gè)表格給出了近似過(guò)渡帶寬、精確過(guò)渡帶寬和最小阻帶衰減,我們可以根據(jù)自己濾波器的參數(shù)來(lái)選擇我們的窗函數(shù),因?yàn)檫x擇不同的窗函數(shù)設(shè)計(jì)出來(lái)的濾波器生成的過(guò)渡帶寬度和阻帶最小衰減是不同的。在這里我以一個(gè)例子來(lái)說(shuō)明函數(shù)的選擇方式:用窗函數(shù)法設(shè)計(jì)FIR帶通濾波器。指標(biāo)如下:高端通
18、帶截止頻率 高端阻帶截止頻率 低端阻帶截止頻率 低端通帶截止頻率 通帶最大衰減 Rp=1dB阻帶最小衰減 Rs=60dB在這樣一個(gè)例子中,可以看到它明確的給出了Rs=60dB來(lái)設(shè)置窗函數(shù)類型和階次。表格中給出的blackman窗其濾波器阻帶最小衰減是74dB,再利用給出的其他參數(shù)計(jì)算濾波器階數(shù)。表中顯示窗口長(zhǎng)度M由過(guò)渡帶寬度B=0.8-0.65=0.15決定,而Blackman窗設(shè)計(jì)的濾波器過(guò)渡帶寬度為12/M,則M=12/0.15=80。又因M=N+1,所以濾波器階數(shù)N=79。 在了解了怎么選擇窗函數(shù)和計(jì)算濾波器階數(shù)之后,本論文將針對(duì)實(shí)際FIR數(shù)字濾波器進(jìn)行研究。已經(jīng)給出了設(shè)計(jì)參數(shù),下面開(kāi)始
19、利用MATLAB程序來(lái)設(shè)計(jì)這個(gè)濾波器。5.窗函數(shù)法程序描述與思想程序和對(duì)應(yīng)的解釋:%用窗函數(shù)法設(shè)計(jì)FIR帶通濾波器clear;close all;wls=0.2*pi;wlp=0.35*pi;whp=0.65*pi;B=wlp-wls; %這里是在計(jì)算過(guò)渡帶寬N=ceil(12/0.15); %計(jì)算窗口長(zhǎng)度wc=wlp/pi-6/N,whp/pi+6/N; %設(shè)置理想帶通截止頻率hn=fir1(N-1,wc,Blackman(N); %設(shè)計(jì)濾波器參數(shù)6.理論計(jì)算方法總結(jié)仿真完成之后,掌握如何去利用已有的指標(biāo)去設(shè)計(jì)一個(gè)濾波器,總的來(lái)說(shuō)就是四項(xiàng):通過(guò)傅里葉逆變換獲得理想濾波器的單位脈沖響應(yīng)hd(n
20、)。分析給定參數(shù),計(jì)算出濾波器的階數(shù),頻率等等相關(guān)指標(biāo)。把已經(jīng)有的參數(shù)用程序函數(shù)表達(dá)出來(lái),利用已經(jīng)有的各種內(nèi)置函數(shù)架設(shè)起濾波器。參看Matlab的輸出圖形和參數(shù)是否滿足要求。2.1.5 Matlab直接FDAtool設(shè)計(jì)方式解析FDATool(Filter Design & Analysis Tool)是MATLAB信號(hào)處理工具箱里專用的濾波器設(shè)計(jì)分析工具,MATLAB6.0以上的版本還專門增加了濾波器設(shè)計(jì)工具箱(Filter Design Toolbox)。FDATool可以設(shè)計(jì)幾乎所有的基本的常規(guī)濾波器,包括FIR和IIR的各種設(shè)計(jì)方法。它操作簡(jiǎn)單,方便靈活。FDATool界面總共
21、分兩大部分,一部分是Design Filter,在界面的下半部,用來(lái)設(shè)置濾波器的設(shè)計(jì)參數(shù),另一部分則是特性區(qū),在界面的上半部分,用來(lái)顯示濾波器的各種特性。Design Filter部分主要分為:Filter Type(濾波器類型)選項(xiàng),包括Lowpass(低通)、Highpass(高通)、Bandpass(帶通)、Bandstop(帶阻)和特殊的FIR濾波器。Design Method(設(shè)計(jì)方法)選項(xiàng),包括IIR濾波器的Butterworth(巴特沃思)法、Chebyshev Type I(切比雪夫I型)法、 Chebyshev Type II(切比雪夫II型) 法、Elliptic(橢圓濾波
22、器)法和FIR濾波器的Equiripple法、Least-Squares(最小乘方)法、Window(窗函數(shù))法。Filter Order(濾波器階數(shù))選項(xiàng),定義濾波器的階數(shù),包括Specify Order(指定階數(shù))和Minimum Order(最小階數(shù))。在Specify Order中填入所要設(shè)計(jì)的濾波器的階數(shù)(N階濾波器,Specify OrderN-1),如果選擇Minimum Order則MATLAB根據(jù)所選擇的濾波器類型自動(dòng)使用最小階數(shù)。Frenquency Specifications選項(xiàng),可以詳細(xì)定義頻帶的各參數(shù),包括采樣頻率Fs和頻帶的截止頻率。它的具體選項(xiàng)由Filter T
23、ype選項(xiàng)和Design Method選項(xiàng)決定,例如Bandpass(帶通)濾波器需要定義Fstop1(下阻帶截止頻率)、Fpass1(通帶下限截止頻率)、Fpass2(通帶上限截止頻率)、Fstop2(上阻帶截止頻率),而Lowpass(低通)濾波器只需要定義Fstop1、Fpass1。采用窗函數(shù)設(shè)計(jì)濾波器時(shí),由于過(guò)渡帶是由窗函數(shù)的類型和階數(shù)所決定的,所以只需要定義通帶截止頻率,而不必定義阻帶參數(shù)。Magnitude Specifications選項(xiàng),可以定義幅值衰減的情況。例如設(shè)計(jì)帶通濾波器時(shí),可以定義Wstop1(頻率Fstop1處的幅值衰減)、Wpass(通帶范圍內(nèi)的幅值衰減)、Wst
24、op2(頻率Fstop2處的幅值衰減)。當(dāng)采用窗函數(shù)設(shè)計(jì)時(shí),通帶截止頻率處的幅值衰減固定為6db,所以不必定義。參數(shù)要求:采樣頻率fs=100Hz,通帶下限截止頻率fc1=10 Hz,通帶上限截止頻率fc2=20 Hz,過(guò)渡帶寬6 Hz,通阻帶波動(dòng)0.01,采用凱塞窗設(shè)計(jì)。針對(duì)一個(gè)含有5Hz、15Hz和30Hz的混和正弦波信號(hào)已知濾波器的階數(shù)n=38,beta=3.4。本例中,首先在Filter Type中選擇Bandpass;在Design Method選項(xiàng)中選擇FIR Window,接著在Window選項(xiàng)中選取Kaiser,Beta值為3.4;指定Filter Order項(xiàng)中的Specif
25、y order為38;采樣頻率Fs=100Hz,截止頻率Fc1=10Hz,F(xiàn)c2=20Hz。設(shè)置完以后點(diǎn)擊窗口下方的Design Filter,在窗口上方就會(huì)看到所設(shè)計(jì)濾波器的幅頻響應(yīng),通過(guò)菜單選項(xiàng)Analysis還可以看到濾波器的相頻響應(yīng)、組延遲、脈沖響應(yīng)、階躍響應(yīng)、零極點(diǎn)配置等。設(shè)計(jì)完成后將結(jié)果保存為kaiser15.fda文件。我們可以根據(jù)FDAtool工具得到我們的濾波器相關(guān)增益。系數(shù)轉(zhuǎn)換成二進(jìn)制碼:若采用乘法器,用1位整數(shù)位,1位符號(hào)位,共22位定點(diǎn)二進(jìn)制數(shù)進(jìn)行運(yùn)算,負(fù)數(shù)用補(bǔ)碼表示,由此將減法運(yùn)算變成累加求和運(yùn)算。各系數(shù)可用matlab編程轉(zhuǎn)成二進(jìn)制補(bǔ)碼: /* * Filter C
26、oefficients (C Source) generated by the Filter Design and Analysis Tool * * Generated by MATLAB(R) 7.0 and the * * Generated on: 22-Mar-2011 20:09:12 * */* * Discrete-Time FIR Filter (real) * - * Filter Structure : Direct-Form FIR * Filter Order : 38 * Stable : Yes * Linear Phase : Yes (Type 1) */*
27、General type conversion for MATLAB generated C-code */#include "tmwtypes.h"/* * Expected path to tmwtypes.h * D:MATLAB7externincludetmwtypes.h */const int BL = 39;const real64_T B39 = -0.0008969942906957,0.001248746631882,0.007070735236406,0.009180571739749,-8.354434235897e-018,-0.01457672
28、567709,-0.01798701306701,-0.005189936475222,0.006300913248271,-5.136773213647e-018,-0.009200436084654,0.01113207796169,0.05739543087552,0.07065284310647,-2.116878167777e-017,-0.1149210109554,-0.1575671556317,-0.05691148173912,0.1151784185022,0.2,0.1151784185022,-0.05691148173912,-0.1575671556317,-0.
29、1149210109554,-2.116878167777e-017,0.07065284310647,0.05739543087552,0.01113207796169,-0.009200436084654,-5.136773213647e-018,0.006300913248271,-0.005189936475222,-0.01798701306701,-0.01457672567709,-8.354434235897e-018,0.009180571739749,0.007070735236406,0.001248746631882,-0.0008969942906957;這是一個(gè)非常
30、典型的例子,可以清晰的看到利用Matlab提供的FDAtool設(shè)計(jì)濾波器的方便與快捷。比較以上幾種類型的濾波器參數(shù),在給定的參數(shù)要求下,采用橢圓濾波器可以獲得最佳的幅頻響應(yīng)特性,具有階數(shù)低,過(guò)渡帶窄等優(yōu)點(diǎn)。雖然橢圓濾波器在通帶也會(huì)產(chǎn)生波動(dòng),但考慮到波動(dòng)處在可接受的范圍內(nèi),仍然符合設(shè)計(jì)要求。但由直接型傳輸函數(shù)表達(dá)式來(lái)實(shí)現(xiàn)并不實(shí)用。因此如前所說(shuō),將其分解為多個(gè)二階傳輸函數(shù)的級(jí)聯(lián)形式。借助Matlab 信號(hào)處理工具箱中函tf2sos(Transfer function to second- order- section)將傳遞函數(shù)轉(zhuǎn)換為二階級(jí)聯(lián)形式。對(duì)于是數(shù)字信號(hào),需要對(duì)先前分析計(jì)算中分解獲得的二階
31、子系統(tǒng)的濾波器系數(shù)進(jìn)行量化,即用一個(gè)固定的字長(zhǎng)加以表示。量化過(guò)程中由于存在不同程度的量化誤差,由此會(huì)導(dǎo)致濾波器的頻率響應(yīng)出現(xiàn)偏差,嚴(yán)重時(shí)會(huì)使濾波器的極點(diǎn)移到單位圓之外,使系統(tǒng)不穩(wěn)定。為了獲得最優(yōu)的濾波器系數(shù),量化的精度也相當(dāng)重要。2.1.6 FDAtool設(shè)計(jì)模板及設(shè)計(jì)結(jié)果圖 這里把上面的濾波器設(shè)計(jì)參數(shù)的總體圖給出,如圖2-10圖2-10 FIR帶通濾波器總體設(shè)計(jì)參數(shù)2.2程序分析部分根據(jù)上述FIR低通數(shù)字濾波器的原理與濾波特性,我們?cè)谏厦娴能浖?shí)踐中已經(jīng)掌握了設(shè)計(jì)數(shù)字濾波器的方法并且成功的使用Matlab/Simulink進(jìn)行了設(shè)計(jì)和仿真。通過(guò)以上的過(guò)程我們可以導(dǎo)出一定性能的FIR濾波器頻率
32、響應(yīng)與抽頭系數(shù),然后用Verilog HDL語(yǔ)言設(shè)計(jì)和QUARTUS仿真FIR低通數(shù)字濾波器,實(shí)現(xiàn)用軟件描述硬件的動(dòng)作及功能,應(yīng)用軟件來(lái)實(shí)現(xiàn)數(shù)字濾波器的功能和時(shí)序仿真。2.2.1 FPGA 可編程邏輯元件介紹EDA是Electronic Design Automation的縮寫,意為電子設(shè)計(jì)自動(dòng)化,即利用計(jì)算機(jī)自動(dòng)完成電子系統(tǒng)的設(shè)計(jì)。EDA技術(shù)是以計(jì)算機(jī)和微電子技術(shù)為先導(dǎo),匯集了計(jì)算機(jī)圖形學(xué)、拓?fù)?、邏輯學(xué)、微電子工藝與結(jié)構(gòu)學(xué)和計(jì)算數(shù)學(xué)等多種計(jì)算機(jī)應(yīng)用學(xué)科最新成果的先進(jìn)技術(shù)。它與電子技術(shù)、微電子技術(shù)的發(fā)展密切相關(guān),吸收了計(jì)算機(jī)領(lǐng)域的大多數(shù)最新研究成果,以高性能的計(jì)算機(jī)作為工作工具,在EDA軟件平
33、臺(tái)土,根據(jù)硬件描述語(yǔ)言HDL完成的設(shè)計(jì)文件,自動(dòng)地完成邏輯編譯、化簡(jiǎn)、分割、綜合及優(yōu)化、布線、仿真,直至對(duì)于特定目標(biāo)芯片的適配編譯、邏輯映射和編程下載等工作??删幊踢壿嬈鱌LD(Programmable Logic Devices)是ASIC(Application Specific Integrated Circuits的一個(gè)重要分支。ASIC按制造方法又可分為全定制(Full Custom)產(chǎn)品、半定制(semi-custom)產(chǎn)品和可編程邏輯器件(PLD)。前兩種ASIC的設(shè)計(jì)和制造都離不開(kāi)器件生產(chǎn)廠家,用戶主動(dòng)性較差。隨著微電子技術(shù)的發(fā)展,設(shè)計(jì)師們更愿意自己設(shè)計(jì)專用集成電路芯片,并盡可
34、能縮短設(shè)計(jì)周期,最好是在實(shí)驗(yàn)室里就能設(shè)計(jì)出合適的ASIC芯片,并且立即投入實(shí)際應(yīng)用之中,在使用中也能比較方便的對(duì)設(shè)計(jì)進(jìn)行修改??删幊踢壿嬈骷褪菫闈M足用戶的這一需求應(yīng)運(yùn)而生的。使用FPGA器件設(shè)計(jì)數(shù)字電路,不僅可以簡(jiǎn)化設(shè)計(jì)過(guò)程,而且可以降低整個(gè)系統(tǒng)的體積和成本,增加系統(tǒng)的可靠性。它們無(wú)需花費(fèi)傳統(tǒng)意義下制造集成電路所需大量時(shí)間和精力,避免了投資風(fēng)險(xiǎn),成為電子器件行業(yè)中發(fā)展最快的一族。使用FPGA器件設(shè)計(jì)數(shù)字系統(tǒng)電路的主要優(yōu)點(diǎn)如下:1.設(shè)計(jì)靈活使用FPGA器件,可不受標(biāo)準(zhǔn)系列器件在邏輯功能上的限制。而且修改邏輯可在系統(tǒng)設(shè)計(jì)和使用過(guò)程的任一階段中進(jìn)行,并且只須通過(guò)對(duì)所用的FPGA器件進(jìn)行重新編程即可
35、完成,給系統(tǒng)設(shè)計(jì)提供了很大的靈活性。2.增大功能密集度功能密集度是指在給定的空間能集成的邏輯功能數(shù)量。可編程邏輯芯片內(nèi)的組件門數(shù)高,一片F(xiàn)PGA可代替幾片、幾十片乃至幾百片中小規(guī)模的數(shù)字集成電路芯片。用FPGA器件實(shí)現(xiàn)數(shù)字系統(tǒng)時(shí)用的芯片數(shù)量少,從而減少芯片的使用數(shù)目,減少印刷線路板面積和印刷線路板數(shù)目,最終導(dǎo)致系統(tǒng)規(guī)模的全面縮減。3.提高可靠性減少芯片和印刷板數(shù)目,不僅能縮小系統(tǒng)規(guī)模,而且它還極大的提高了系統(tǒng)的可靠性。具有較高集成度的系統(tǒng)比用許多低集成度的標(biāo)準(zhǔn)組件設(shè)計(jì)的相同系統(tǒng)具有高得多的可靠性。使用FPGA器件減少了實(shí)現(xiàn)系統(tǒng)所需要的芯片數(shù)目,在印刷線路板上的引線以及焊點(diǎn)數(shù)量也隨之減少,所以系
36、統(tǒng)的可靠性得以提高。4.縮短設(shè)計(jì)周期基于FPGA器件的可編程性和靈活性,用它來(lái)設(shè)計(jì)一個(gè)系統(tǒng)所需時(shí)間比傳統(tǒng)方法大為縮短。FPGA器件集成度高,使用時(shí)印刷線路板電路布局布線簡(jiǎn)單。同時(shí),在樣機(jī)設(shè)計(jì)成功后,由于開(kāi)發(fā)工具先進(jìn),自動(dòng)化程度高,對(duì)其進(jìn)行邏輯修改也十分簡(jiǎn)便迅速。因此,使用FPGA器件可大大縮短系統(tǒng)的設(shè)計(jì)周期,加快產(chǎn)品投放市場(chǎng)的速度,提高產(chǎn)品的競(jìng)爭(zhēng)能力。5.工作速度快FPGA/CPLD器件的工作速度快,一般可以達(dá)到幾百兆赫茲,遠(yuǎn)遠(yuǎn)大于DPS器件。同時(shí),使用FPGA器件后實(shí)現(xiàn)系統(tǒng)所需要的電路級(jí)數(shù)又少,因而整個(gè)系統(tǒng)的工作速度會(huì)得到提高。6.增加系統(tǒng)的保密性能很多FPGA器件都具有加密功能,在系統(tǒng)中廣
37、泛的使用FPGA器件可以有效防止產(chǎn)品被他人非法仿制。7.降低成本使用FPGA器件實(shí)現(xiàn)數(shù)字系統(tǒng)設(shè)計(jì)時(shí),如果僅從器件本身的價(jià)格考慮,有時(shí)還看不出來(lái)它的優(yōu)勢(shì),但是影響系統(tǒng)成本的因素是多方面的,綜合考慮,使用FPGA的成本優(yōu)越性是很明顯的。首先,使用FPGA器件修改設(shè)計(jì)方便,設(shè)計(jì)周期縮短,使系統(tǒng)的研制開(kāi)發(fā)費(fèi)用降低;其次,F(xiàn)PGA器件可使印刷線路板面積和需要的插件減少,從而使系統(tǒng)的制造費(fèi)用降低;再次,使用FPGA器件能使系統(tǒng)的可靠性提高,維修工作量減少,進(jìn)而使系統(tǒng)的維修服務(wù)費(fèi)用降低??傊褂肍PGA器件進(jìn)行系統(tǒng)設(shè)計(jì)能節(jié)約成本。2.2.2 Quartus及Verilog HDL介紹Quartus II
38、屬于Altera公司的綜合性PLD開(kāi)發(fā)軟件,支持原理圖、VHDL、VerilogHDL以及AHDL(Altera Hardware Description Language)等多種設(shè)計(jì)輸入形式,內(nèi)嵌自有的綜合器以及仿真器,可以完成從設(shè)計(jì)輸入到硬件配置的完整PLD設(shè)計(jì)流程。 Quartus II可以在XP、Linux以及Unix上使用,除了可以使用Tcl腳本完成設(shè)計(jì)流程外,提供了完善的用戶圖形界面設(shè)計(jì)方式。具有運(yùn)行速度快,界面統(tǒng)一,功能集中,易學(xué)易用等特點(diǎn)。 Quartus II支持Altera的IP核,包含了LPM/MegaFunction宏功能模塊庫(kù),使用戶可以充分利用成熟的模塊,簡(jiǎn)化了設(shè)計(jì)
39、的復(fù)雜性、加快了設(shè)計(jì)速度。對(duì)第三方EDA工具的良好支持也使用戶可以在設(shè)計(jì)流程的各個(gè)階段使用熟悉的第三方EDA工具。 此外,Quartus II 通過(guò)和DSP Builder工具與Matlab/Simulink相結(jié)合,可以方便地實(shí)現(xiàn)各種DSP應(yīng)用系統(tǒng);支持Altera的片上可編程系統(tǒng)(SOPC)開(kāi)發(fā),集系統(tǒng)級(jí)設(shè)計(jì)、嵌入式軟件開(kāi)發(fā)、可編程邏輯設(shè)計(jì)于一體,是一種綜合性的開(kāi)發(fā)平臺(tái)。 Maxplus II 作為Altera的上一代PLD設(shè)計(jì)軟件,由于其出色的易用性而得到了廣泛的應(yīng)用。目前Altera已經(jīng)停止了對(duì)Maxplus II 的更新支持,Quartus II 與之相比不僅僅是支持器件類型的豐富和圖
40、形界面的改變。Altera在Quartus II 中包含了許多諸如SignalTap II、Chip Editor和RTL Viewer的設(shè)計(jì)輔助工具,集成了SOPC和HardCopy設(shè)計(jì)流程,并且繼承了Maxplus II 友好的圖形界面及簡(jiǎn)便的使用方法。 Altera Quartus II 作為一種可編程邏輯的設(shè)計(jì)環(huán)境, 由于其強(qiáng)大的設(shè)計(jì)能力和直觀易用的接口,越來(lái)越受到數(shù)字系統(tǒng)設(shè)計(jì)者的歡迎。Verilog HDL是目前應(yīng)用最為廣泛的硬件描述語(yǔ)言。Verilog HDL可以用來(lái)進(jìn)行各種層次的邏輯設(shè)計(jì),也可以進(jìn)行數(shù)字系統(tǒng)的邏輯綜合,仿真驗(yàn)證和時(shí)序分析等。該語(yǔ)言適合算法級(jí),寄存器級(jí),邏輯級(jí),門級(jí)
41、和版圖級(jí)等各個(gè)層次的設(shè)計(jì)和描述。Verilog HDL進(jìn)行設(shè)計(jì)最大的優(yōu)點(diǎn)是其工藝無(wú)關(guān)性。這使得我們?cè)诠δ茉O(shè)計(jì),邏輯驗(yàn)證階段可以不必過(guò)多考慮門級(jí)及工藝實(shí)現(xiàn)的具體細(xì)節(jié),只需根據(jù)系統(tǒng)設(shè)計(jì)的要求施加不同的約束條件,即可設(shè)計(jì)出實(shí)際電路。VerilogHDL是一種硬件描述語(yǔ)言(hardware description language),為了制作數(shù)字電路而用來(lái)描述ASIC和FPGA的設(shè)計(jì)之用。VerilogHDL 的設(shè)計(jì)者想要以 C 編程語(yǔ)言為基礎(chǔ)設(shè)計(jì)一種語(yǔ)言,可以使工程師比較容易學(xué)習(xí)。2.2.3實(shí)際濾波器程序設(shè)計(jì)(11階FIR數(shù)字濾波器)FPGA實(shí)現(xiàn)FIR濾波器,首先進(jìn)行指標(biāo)選定和Matlab軟件參數(shù)仿
42、真,然后執(zhí)行基于Verilog方法的硬件實(shí)現(xiàn)中用移位方法代替了乘法運(yùn)算。表2-3設(shè)計(jì)指標(biāo)要求設(shè)計(jì)指標(biāo)高低通截止頻率 階數(shù)據(jù)寬度低通0.85(1對(duì)應(yīng)Fs/2) 118bits根據(jù)以上指標(biāo),利用MATLAB中的FIR濾波器系數(shù)設(shè)計(jì)命令fir1(10,0.85)所設(shè)計(jì)濾波器的系數(shù)。表2-4 Matlab中導(dǎo)出的濾波器系數(shù)MATLAB軟件仿真的濾波器的抽頭系數(shù)及其幅度頻響特性如下圖2-11所示。圖2-11 11階FIR濾波器的抽頭系數(shù)和幅頻特性曲線可見(jiàn)抽頭系數(shù)是奇對(duì)稱的,即:, 。FIR濾波器采用對(duì)稱結(jié)構(gòu),每個(gè)抽頭的輸出分別乘以相應(yīng)加權(quán)的二進(jìn)制值,再將結(jié)果相加。同時(shí),利用濾波器系數(shù)的及對(duì)稱的特性,對(duì)輸
43、入信號(hào) 進(jìn)行如下等效: , 。2.2.4.VerilogHDL的實(shí)現(xiàn)這個(gè)方法的實(shí)現(xiàn)中,使用了移位代替乘法運(yùn)算來(lái)實(shí)現(xiàn)濾波器乘加的方法。由于濾波器系數(shù)都是小數(shù),所以我們先左移7位(即放大128倍),再用相應(yīng)的移位來(lái)近似這些系數(shù),最后經(jīng)過(guò)乘加運(yùn)算得到結(jié)果,對(duì)這個(gè)結(jié)果再右移7位(即縮小128倍)即可得出正確的結(jié)果。 各個(gè)系數(shù)的移位情況如下:其中2表示左移1位,1表示不移位,0.5表示右移1位,其他依次類推:128×h(0)=128×0.036=0.4608=0.5-0.03125128×h(1)=128×0.0127=1.6256=1+0.5+0.125128&
44、#215;h(2)=128×0.0417=5.3376=4+1+0.25+0.625+0.03125128×h(3)=128×0.0878=11.2384=8+4-1+0.25128×h(4)=128×0.1318=16.8704=16+1-0.125128×h(5)=128×0.8500=108.800=128-16-4+0.25+0.0625這樣,我們就可以把這個(gè)11階FIR數(shù)字濾波器的輸出用一下的算式得到表2-5 Verilog方法設(shè)計(jì)FIR的實(shí)驗(yàn)數(shù)據(jù)圖 2-12系數(shù)放大后求SUM計(jì)算得到結(jié)果后再將sum右移7位,即可
45、得到正確結(jié)果。程序的功能仿真結(jié)果如下圖2-12所示。圖2-13功能仿真由上圖2-12可以看出,tap0到tap10是輸入x的依次延時(shí)1個(gè)時(shí)鐘周期,結(jié)果sum輸出相對(duì)于輸入x延遲了2個(gè)時(shí)鐘周期,y輸出相對(duì)于sum輸出延遲了1個(gè)時(shí)鐘周期,這和程序設(shè)計(jì)相符合。同時(shí),對(duì)比程序運(yùn)行結(jié)果和MATLAB的計(jì)算結(jié)果(如章節(jié)開(kāi)頭表格所示),可知,二者結(jié)果是一致的,其中個(gè)別數(shù)據(jù)的小誤差是由于移位取代小數(shù)乘法運(yùn)算帶來(lái)的誤差。因此,程序設(shè)計(jì)是正確的。于是,根據(jù)以上所有思想我們可以得出以下11階FIR數(shù)字濾波器的Verilog程序如下:/ Company: / Engineer:/ Create Date: 17:01
46、:38 11/03/06/ Design Name: / Module Name: ycj/ Project Name: / Target Device: / Tool versions: / Description:用Verilog編寫的fir濾波器程序/ Dependencies:/ Revision:/ Revision 0.01 - File Created/ Additional Comments:/module firv2(clk, x, y); input clk; input 7:0 x; output 25:0 y; reg 26:0 y; reg7:0 x0,x1,x2,x
47、3,x4,x5,x6,x7,x8,x9,x10,x11,x12,x13,x14,x15,x16; wire21:0 acc1,acc2,acc3,acc4,acc5,acc6,acc7,acc8,acc9,acc10,acc11,acc12,acc13,acc14,acc15,acc16,acc17; reg 8:0sxin0:32; reg 5:0i,k; reg 8:0xx16:0; parameter c0=-21, c1=-8, c2= 22, c3=34, c4=6, c5=-34, c6=-31, c7=32, c8=87, c9=32, c10=-154, c11=-321, c
48、12=-217, c13=321, c14=1185, c15=1996, c16=2328; always (posedge clk) begin xx16<=sxin16 ; for(i=0;i<16;i=i+1) xxi<=sxini+sxin32-i ; for(k=32;k>0;k=k-1) sxink<=sxink-1; sxin0<=x7,x; endmult13_8 uut0(clk,c0,xx0,acc1); mult13_8 uut1(clk,c1,xx1,acc2);mult13_8 uut2(clk,c2,xx2,acc3);mult
49、13_8 uut3(clk,c3,xx3,acc4);mult13_8 uut4(clk,c4,xx4,acc5); mult13_8 uut5(clk,c5,xx5,acc6);mult13_8 uut6(clk,c6,xx6,acc7);mult13_8 uut7(clk,c7,xx7,acc8);mult13_8 uut8(clk,c8,xx8,acc9); mult13_8 uut9(clk,c9,xx9,acc10);mult13_8 uut10(clk,c10,xx10,acc11);mult13_8 uut11(clk,c11,xx11,acc12);mult13_8 uut12
50、(clk,c12,xx12,acc13); mult13_8 uut13(clk,c13,xx13,acc14);mult13_8 uut14(clk,c14,xx14,acc15); mult13_8 uut15(clk,c15,xx15,acc16); mult13_8 uut16(clk,c16,xx16,acc17); always (posedge clk) begin y<=acc161,acc161,acc161,acc161,acc161,acc16+acc171,acc171,acc171,acc171,acc171,acc17 +acc151,acc151,acc15
51、1,acc151,acc151,acc15+acc141,acc141,acc141,acc141,acc141,acc14 +acc131,acc131,acc131,acc131,acc131,acc13+acc121,acc121,acc121,acc121,acc121,acc12 +acc111,acc111,acc111,acc111,acc111,acc11+acc101,acc101,acc101,acc101,acc101,acc10 +acc91,acc91,acc91,acc91,acc91,acc9+acc81,acc81,acc81,acc81,acc81,acc8
52、+acc71,acc71,acc71,acc71,acc71,acc7+acc61,acc61,acc61,acc61,acc61,acc6 +acc51,acc51,acc51,acc51,acc51,acc5+acc41,acc41,acc41,acc41,acc41,acc4 +acc31,acc31,acc31,acc31,acc31,acc3+acc21,acc21,acc21,acc21,acc21,acc2 +acc11,acc11,acc11,acc11,acc11,acc1; end endmodule1.分析程序設(shè)計(jì)使用MAC單元完成乘加運(yùn)算(包括單MAC和多MAC的情況)
53、這個(gè)方法可以利用FPGA中已有的MAC單元(像Xilinx Spartan 3E100中有四個(gè)乘加單元),只要設(shè)計(jì)好數(shù)據(jù)運(yùn)算流程,就能方便高效地實(shí)現(xiàn)FIR運(yùn)算。使用MAC單元還有一個(gè)優(yōu)點(diǎn)是系數(shù)可以存成系數(shù)表,可以方便地修改,這是移位方法代替乘法運(yùn)算所不及的。使用移位代替乘法運(yùn)算這個(gè)方法的優(yōu)點(diǎn)是速度快,例如11階的濾波器,完成一次運(yùn)算需要11次乘法,如果使用單MAC的話,需要11個(gè)時(shí)鐘周期來(lái)完成,而使用移位方法可以在一個(gè)時(shí)鐘周期完成11個(gè)乘法運(yùn)算;缺點(diǎn)是需要另外去完成濾波系數(shù)到移位位數(shù)的換算,如果修改濾波系數(shù)的話,程序修改將會(huì)比較麻煩,同時(shí)硬件資源也要使用多一些。t*0.125=t7,t7,t7
54、,t7:3 t*0.125 = t/8 = t>>3; t為有符號(hào)數(shù),所以是帶符號(hào)右移,于是t>>3 =t7,t7,t7,t7:3 之所以這么些就是為了節(jié)省資源,提高頻率以 -4*0.5 為例 -4的原碼:1000 0100B 補(bǔ)碼:1111 1100B -4>>1=0111 1110 而符號(hào)位不能變 應(yīng)用原來(lái)的位代替 1111 1110B 的原碼 1000 0010B =-22. 對(duì)程序設(shè)計(jì)中的問(wèn)題分析與總結(jié)在最開(kāi)始的設(shè)計(jì)中,本文初始計(jì)劃使用乘法單元。但是在程序設(shè)計(jì)的過(guò)程中我們遇見(jiàn)了實(shí)數(shù)乘法的問(wèn)題,程序的運(yùn)行遇到了困難,在與指導(dǎo)老師的研究中我們發(fā)現(xiàn)問(wèn)題出在實(shí)數(shù)乘法的問(wèn)題上。在Verilog的運(yùn)算中實(shí)數(shù)乘法需要特殊的小數(shù)乘法器來(lái)單元來(lái)實(shí)現(xiàn)。在原來(lái)的38階濾波器的設(shè)計(jì)中出現(xiàn)了這樣子的問(wèn)題。我們使用過(guò)這樣的程序:reg 63:0 filter_in_force 0:3344; re
溫馨提示
- 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 油氣管道鋪設(shè)爆破作業(yè)合同
- 建筑施工索賠管理合同
- 物流園區(qū)群綜合樓租賃合同
- 財(cái)務(wù)會(huì)計(jì)人員聘用合同
- 木工包工協(xié)議書模版
- 橄欖球場(chǎng)景擴(kuò)建圍擋施工協(xié)議
- 河南省商丘市(2024年-2025年小學(xué)五年級(jí)語(yǔ)文)人教版階段練習(xí)(下學(xué)期)試卷及答案
- 【初中道法】敬畏生命+課件-2024-2025學(xué)年統(tǒng)編版道德與法治七年級(jí)上冊(cè)
- 像女友認(rèn)錯(cuò)的檢討書范文(9篇)
- 清明祭祀發(fā)言稿
- 幼兒園繪本故事:《老虎拔牙》 課件
- 2021年上半年《系統(tǒng)集成項(xiàng)目管理工程師》真題
- 一個(gè)冬天的童話 遇羅錦
- GB/T 706-2008熱軋型鋼
- 實(shí)驗(yàn)六 雙子葉植物莖的初生結(jié)構(gòu)和單子葉植物莖的結(jié)構(gòu)
- GB/T 25032-2010生活垃圾焚燒爐渣集料
- GB/T 13610-2020天然氣的組成分析氣相色譜法
- 《彩虹》教案 省賽一等獎(jiǎng)
- 2023年湖南建筑工程初中級(jí)職稱考試基礎(chǔ)知識(shí)
- 沈陽(yáng)機(jī)場(chǎng)航站樓擴(kuò)建工程安裝施工組織設(shè)計(jì)
- 司法考試:證據(jù)法
評(píng)論
0/150
提交評(píng)論