版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報或認(rèn)領(lǐng)
文檔簡介
1、 本科生畢業(yè)論文(設(shè)計 題目 :基于 FPGA 的 FIR 濾波器設(shè)計學(xué) 院 電子信息工程學(xué)院 學(xué)科門類專 業(yè)學(xué) 號姓 名指導(dǎo)教師2015年 05月 06日摘 要隨著數(shù)字技術(shù)的發(fā)展,數(shù)字濾波器廣泛應(yīng)用于語音與圖像處理、模式識別、雷達(dá)信號 處理、頻譜分析等領(lǐng)域,它具有精度高、靈活性大等突出特點,而現(xiàn)場可編程門陣列器件 (FPGA有著規(guī)整的內(nèi)部邏輯陣列和豐富的連線資源, 特別適合于數(shù)字信號處理任務(wù),通過 FPGA 實現(xiàn) FIR 數(shù)字濾波具有實時性高、處理速度快、精度高的特點。本文研究的是基于 FPGA 實現(xiàn)一個 16階的 FIR 數(shù)字低通濾波器的設(shè)計。 本次設(shè)計首先利 用 MATLAB 中濾波器設(shè)
2、計工具 FDAtool 工具設(shè)計 FIR 濾波器系數(shù),再利用 Matlab 中的 Simulink 庫文件下的 DSP Builder庫中的各個模塊搭建 FIR 濾波器系統(tǒng),然后在 Simulink 里進(jìn) 行了仿真,并編譯生成 VHDL 語言,再通過 Quartus II 軟件對生成的 VHDL 程序進(jìn)行編譯和 仿真, 并利用 Matlab 對仿真結(jié)果進(jìn)行了分析, 證明所設(shè)計的 FIR 濾波器功能的正確性, 最后 通過硬件實現(xiàn)時。本次硬件設(shè)計中,采用 Altera 公司的 FPGA 器件作為核心器件,此外,由于整個系統(tǒng)的 輸入輸出全部是數(shù)字信號,因此需要添加 AD (模數(shù)轉(zhuǎn)換模塊和 DA (數(shù)
3、模轉(zhuǎn)換模塊。關(guān)鍵詞:FPGA ; FIR 濾波器; FDAtool ; Simulink ; VHDLAbstractWith the rapid development of digital technology, digital filter had widely used in voice and image processing and model recognizing and radar signal processing and frequency analysis filed and so on. It is very precise and flexible. There a
4、re regular logical array and rich wire resource in FPGA. It is very suitable for digital signal processing. And it is very good for designing digital filter by using FPGA.In this paper, this design is the 16 order FIR low-pass filter based on FPGA. First, we use FDAtool to design the value of filter
5、. Then, we build up the filter system by using DSP Builder. And then we simulate this system to verify it s validity.During the hardware design, what we use core device is from Altera company. In addition, we need add AD and DA model for the system because the input and output of this system is digi
6、tal signal.Key Words:FPGA; FIR filter; FDAtool; Simulink; VHDL目 錄摘要 . I Abstract . I I 1. 引言 . . 1 1.1研究背景及意義 . 1 1.2國內(nèi)外研究現(xiàn)狀 . 11.3本論文的研究內(nèi)容及主要工作 . 24. FIR 濾波器的硬件實現(xiàn) . . 19 4.1系統(tǒng)硬件 . 19 4.2硬件調(diào)試 . 234.3數(shù)據(jù)誤差分析 . 255. 總結(jié) . . 錯 誤!未定義書簽。 參考文獻(xiàn) . 27致謝 . 281. 引言濾波技術(shù)是非常重要的一門技術(shù),它在信號的分析和處理過程中都是必不可少的部 分。而當(dāng)今由于數(shù)字信號
7、的發(fā)展,使得濾波技術(shù)更是得到進(jìn)一步發(fā)展,也就產(chǎn)生了數(shù)字濾 波器,數(shù)字濾波器是現(xiàn)代信號處理研究和發(fā)展不可或缺的因素,數(shù)字濾波器相對模擬濾波 器精度高,靈活性大,可靠性好等優(yōu)點 1。此外,由于數(shù)字信號的發(fā)展,它不僅能夠處理數(shù)字信號,而且能夠處理模擬信號。在 處理模擬信號時,可以通過 AD 和 DA 轉(zhuǎn)換,在信號形式上進(jìn)行匹配,也就達(dá)到了數(shù)字濾 波器對模擬信號的濾波的功能。1.1研究背景及意義在現(xiàn)代通信信號處理領(lǐng)域中,隨著各種精密計算和快速計算的發(fā)展對信號處理的實時 性、快速性的要求越來越高。以往的模擬濾波器無法克服電壓漂移、溫度漂移和噪聲等問 題, 從而帶來了許多誤差和不穩(wěn)定因素。 而數(shù)字濾波器具
8、有穩(wěn)定性高、 精度高、 設(shè)計靈活、 實現(xiàn)方便等突出優(yōu)點。隨著數(shù)字技術(shù)的發(fā)展,數(shù)字濾波器廣泛應(yīng)用于語音與圖像處理、模式識別、雷達(dá)信號 處理、頻譜分析等領(lǐng)域,它有精度高、靈活性大等突出特點。FPGA 元器件在高速并行處理和數(shù)據(jù)傳輸中有獨特優(yōu)勢, FPGA 正在前端信號處理中 越來越多地代替 ASIC 和 DSP 。我們需要的就是這種設(shè)計周期短,功能密度高,重組時間 短的元器件 2。1.2國內(nèi)外研究現(xiàn)狀在國內(nèi)外的研究中, FIR 濾波器設(shè)計中的乘法算法有并行乘法、串行乘法和采用分布 式算法的乘法 3。其中,分布式算法既可以全并行實現(xiàn),又可以全串行實現(xiàn),還可以串并 行結(jié)合實現(xiàn),因此是當(dāng)今研究的主要方法
9、。實現(xiàn) FIR 濾波器,主要有軟件實現(xiàn)和硬件兩種方法來實現(xiàn)。軟件實現(xiàn)方法也就是在計 算機(jī)上通過編程來實現(xiàn),這種方式簡單,可移植性高。硬件實現(xiàn)即是設(shè)計專門的數(shù)字濾波 硬件來實現(xiàn)濾波, 可以使用 DSP 處理器實現(xiàn), 也可以采用固定功能的專用信號處理器來實 現(xiàn)。但是在當(dāng)今,由于大規(guī)模集成電路的發(fā)展,使可編程的集成電路成為一種新的方案,采用現(xiàn)場可編程門陣列 FPGA 來實現(xiàn) FIR 數(shù)字濾波器, 可以利用 FPGA 設(shè)計的產(chǎn)品具有規(guī) 模小、速度快、重量輕、可靠性高、成本低等優(yōu)點,既能兼顧 ASIC 器件的實時性、又具 有 DSP 處理器的靈活性。1.3本論文的研究內(nèi)容及主要工作本論文研究的是 FIR
10、 低通數(shù)字濾波器的研究與設(shè)計以及硬件實現(xiàn)的方法,具體內(nèi)容分 為五節(jié):第一部分引言主要介紹了本課題的背景及研究意義、國內(nèi)外現(xiàn)狀。第二部分主要介紹了 FIR 數(shù)字濾波器的簡介以及線性相位 FIR 濾波器的結(jié)構(gòu)和設(shè)計方 法。第三部分首先介紹如何利用 Matlab 制定設(shè)計指標(biāo),提取 16階 FIR 低通數(shù)字濾波器的 抽頭數(shù)并進(jìn)行量化,然后利用 DSP Builder 設(shè)計濾波器模型,最后生成 VHDL 語言并利用 Quartus II軟件進(jìn)行綜合系統(tǒng)仿真和驗證。第四部分主要介紹 AD (模數(shù)和 DA (數(shù)模轉(zhuǎn)換部分電路和原理,以及如何利用硬 件實現(xiàn) FIR 濾波器。第五部分總結(jié)本次設(shè)計。2. FIR
11、 數(shù)字濾波器設(shè)計2.1數(shù)字濾波器基礎(chǔ)所謂數(shù)字濾波器,是指輸入、輸出均為數(shù)字信號,通過數(shù)值運算來濾除某些頻率成分 的數(shù)字濾波器件或者程序。數(shù)字濾波器按照不同的分類方法有許多種類,但總的可以分為兩大類:經(jīng)典濾波器和 現(xiàn)代濾波器。本文做研究的屬于經(jīng)典濾波器范疇,經(jīng)典濾波器從濾波特性上可分為低通、 高通、帶通、帶阻等濾波器。數(shù)字濾波器從實現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)或者從單位脈沖響應(yīng)長度分類,可以分為無限長單位脈 沖響應(yīng)(IIR 濾波器和有限長單位脈沖響應(yīng)(FIR 濾波器 4。FIR 是 Finite Impulse Response是縮寫, 是指有限長脈沖響應(yīng), 也即指經(jīng)過 FIR 系統(tǒng)的 單位脈沖響應(yīng)是一個有限長
12、的序列, H(z為該數(shù)字濾波系統(tǒng)的單位脈沖響應(yīng) h(n的 Z 變換, 即:-=-=n nzn h z H ( ( (2-1若 h(n為無限長序列,則得到的數(shù)字濾波器為 IIR 數(shù)字濾波器,又稱遞歸濾波器;反 之,若 h(n為有限長序列,則得到的數(shù)字濾波器為 FIR 濾波器,也稱非遞歸濾波器。一個 線形時不變因果濾波器可表示為:-=-=1( (N n n z n h z H (2-2其中 N 為 h(n的長度,即濾波器的長度。FIR 濾波器可以把相位特性設(shè)計成線性,因此, FIR 數(shù)字濾波器在信號無失真?zhèn)鬏敗?數(shù)據(jù)通信、圖像傳輸與處理、語音信號處理等有線性相位要求的領(lǐng)域應(yīng)用廣泛。由于 FIR 數(shù)
13、字濾波器實現(xiàn)算法的不同,我們可以把 FIR 濾波器的結(jié)構(gòu)劃分為直接型、 級聯(lián)型、頻率采樣型和快速卷積型四種基本形式 6。(1直接型按照 (z H 或者卷積公式直接可以畫出結(jié)構(gòu)圖如圖 2-1所示, 這種結(jié)構(gòu)我們稱之為直接 型結(jié)構(gòu)網(wǎng)絡(luò)或者卷積型結(jié)構(gòu)。這是一種最簡單的 FIR 濾波器結(jié)構(gòu),即方便理解,也方便搭 建其模型。1-1-1 -圖 2-1 直接型結(jié)構(gòu)(2級聯(lián)型對 (z H 進(jìn)行因式分解, 并將共軛成對的零點放在一起, 形成一個系數(shù)為實數(shù)的二階形 式。 FIR 數(shù)字濾波器的級聯(lián)型結(jié)構(gòu)如圖 2-2所示。其系統(tǒng)函數(shù) (z H 可以表示為:=-+=Ll z a z a h z H 1212111 1(
14、 0( ( (2-3x (z -z y(n 圖 2-2 級聯(lián)型結(jié)構(gòu)級聯(lián)型的最大特點是可以分別獨立調(diào)整每個子系統(tǒng)的零點之值,當(dāng)需要精確控制濾波 器的零點位置時,往往采用這種結(jié)構(gòu)。2.2 FIR 數(shù)字濾波器設(shè)計方法FIR 數(shù)字濾波器的設(shè)計方法主要有三種:窗函數(shù)法、頻率采樣法和等波紋逼近法 6。一個理想低通濾波器的幅頻特性如圖 2-3所示。 (jw d e H 的表達(dá)式為:1, ( 0,cjwd c w w H e w w =< (2-4 圖 2-3 理想低通濾波器頻譜圖對 (jw d e H 進(jìn)行離散時間傅里葉逆變換,得:-=dw e e H n h jwn jw d d (21 ( -=c
15、cw w c jwn nn w dw e sin(21 (2-5 由于該系統(tǒng)是非因果的,為了能夠得到一個可實現(xiàn)的系統(tǒng),可以將 (n h d 截取一部分, 并順序右移, 使之成為一個因果的有限長序列。 這種方法就好比在時域打開一個窗口一樣,因而稱為窗函數(shù)法。常見的時窗函數(shù)有矩形窗、漢寧窗、漢明窗、布萊克曼窗、凱塞窗等7,常見的六種窗函數(shù)特性如表 2-1所示。表 2-1 六種窗函數(shù)參數(shù)表的比較 頻率采樣法是一種基于頻率域抽樣來逼近所要設(shè)計的 FIR 濾波器的頻率特性的一種方 法 9。頻率設(shè)計法的基本設(shè)計流程如圖 2-4所示。 圖 2-4 頻率設(shè)計法流程為了保證 (z H 具有線性相位條件,其單位采
16、樣響應(yīng) (n h 是實序列,且滿足條件1( (-±=n N h n h 。對于 (n h 偶對稱的情況來說,線性相位條件如下:( ( (w j g jw d e w H e H = (2-6 w N w 1(21(-= (2-7令 N k w /2=代入式(2-6 、 (2-7 ,得到( ( (k j g d e k H k H = (2-8式中, N k w g g w H k H /2| ( (=, N k w w k /2| ( (=,( (k N H k H g g -=, N 為奇數(shù) ( (k N H k H g g -=, N 為偶數(shù)。過渡帶的采樣點個數(shù) m 與所設(shè)計的濾
17、波器的阻帶最小衰減 s 有關(guān), 具體如表 2-2所示。 此外過渡帶的帶寬與采樣點數(shù) m 之間的關(guān)系為:N m B / 1(2+ (2-9表 2-2 過渡帶采樣點數(shù)與阻帶最小衰減的關(guān)系 等波紋最佳逼近法是根據(jù)最大誤差最小化的設(shè)計原則。等波紋逼近法所設(shè)計的 FIR 濾 波器的幅度特性在通帶和阻帶范圍內(nèi)是等波紋的,且可以分別獨立控制通帶和阻帶的波紋 幅度,并且在濾波器長度給定的情況下,加權(quán)的幅度波紋誤差最小 10。定義加權(quán)幅度誤差函數(shù)為:( ( (w H w H w W w e d -= (2-10式中 (w W 為幅度誤差加權(quán)函數(shù),用來控制不同頻帶的幅度逼近誤差。 一般地,在要求 逼近精度高的頻帶
18、, (w W 取值大, 而要求逼近誤差精度低的頻帶, (w W 取值小。 對于 FIR 數(shù)字低通濾波器,常取 :<=w w k w w k w W p p, 0, / (12 (2-11 式中, 1和 2分別為濾波器設(shè)計指標(biāo)中通帶和阻帶的振蕩波紋幅度, k 為正的系數(shù)。 濾波器的通帶最大衰減 p 和阻帶最小衰減 s 與通帶和阻帶的振蕩波紋幅度 1和 2的 換算關(guān)系為:11011020/20/1+-=p p (2-1220/210s-= (2-13在等波紋逼近法的設(shè)計中,如果能夠找到濾波器的系數(shù) (n h 使得在通帶 , 0p w 和阻帶, s w 頻帶內(nèi)的最大絕對值幅度誤差 (w e 為
19、最小,就能夠很好的實現(xiàn)濾波器的設(shè)計, 而找 到該系數(shù)的算法就是基于交替定理的雷米茲交替算法。3. 基于 FPGA 的 FIR 濾波器設(shè)計本章為全文的核心內(nèi)容, 首先確定基于 Matlab 的 FIR 數(shù)字低通濾波器的指標(biāo)系數(shù), 再 利用 DSP Builder搭建 FIR 濾波器結(jié)構(gòu),編譯生成 VHDL 硬件語言進(jìn)行仿真,最后實現(xiàn)硬 件系統(tǒng)以及硬件測試。使用 FPGA 器件設(shè)計數(shù)字電路, 不僅使得電路簡化, 而且可以減少所設(shè)計系統(tǒng)的體積, 增加系統(tǒng)的可靠性, 從而較少開發(fā)費用。 它們無需花費大量時間和精力, 避免了投資風(fēng)險, 成為電子器件行業(yè)中發(fā)展最快的一個系列 11。3.1 基于 Matla
20、b 的 FIR 數(shù)字低通濾波器抽頭系數(shù)的提取FIR 濾波器的系數(shù)也即 FIR 濾波器系統(tǒng)的沖擊響應(yīng)系數(shù),想要得到 FIR 濾波器系數(shù)可 以利用 Matlab 中的 FDAtool 工具進(jìn)行設(shè)計,然后搭建 MatlabFIR 濾波器系統(tǒng)進(jìn)行仿真。在 Matlab 命令編輯窗口輸入 FdAtool 指令, 再點回車即可打開 Filter Design & Analysis Tool 窗口。 Fdatoold 的界面有兩大部分,一部分是 Design filter,這部分可以設(shè)置濾波器的 各種參數(shù),另一部分是濾波器的特性區(qū),這部分可以顯示濾波器的各種特性圖 12。Design filter部
21、分主要分為:(1 Response Type(響應(yīng)類型選項:Response Type選項包括 Lowpass (低通 、 Highpass (高通 、 Bandpass (帶通 、 Bandstop (帶阻和特殊的濾波器。在本次設(shè)計中,該選項中選擇 Lowpass 選項。(2 Design Method(設(shè)計方法選項:Design Method選項包括 IIR 濾波器和 FIR 濾波器, 本次設(shè)計的是 FIR 濾波器, 而設(shè)計 該濾波器使用方法是窗函數(shù)法, 因此, 我們選擇 FIR 濾波器的 Window 窗函數(shù)法進(jìn)行設(shè)計。 選定窗函數(shù)法后,會在右側(cè)出現(xiàn) Options 區(qū)域,這部分區(qū)域是用
22、來設(shè)置窗函數(shù)的相關(guān)參數(shù), 其中窗函數(shù)的類型選擇 Kaiser 窗,并設(shè)置 Beta 為:0.5。(3 Filter Order(濾波器階數(shù)選項:Filter Order 選項是定義濾波器的階數(shù),包括 Specify order 和 Minimum order 。 Specify order 是指濾波器的階數(shù)(specify order=n-1, n 為濾波器階數(shù) ,本次設(shè)計是 16階濾波器,所以選定 Specify order并填入 15。(4 Frequency Specifications(頻率定義選項:Frequency Specifications 選項主要包括采樣頻率 Fs 和通帶頻
23、率以及截止頻率。由于我 們所設(shè)計的是低通濾波器, 因此我們不需要通帶頻率這個參數(shù), 這里的采樣頻率 Fs 我們填 為 80KHz ,截止頻率填為 Fc=5KHz。 圖 3-1 FDAtool 工具上述的參數(shù)設(shè)計結(jié)束后,點擊 Design Filter 按鈕,就可以把我們所需要的 FIR 濾波器 的參數(shù)計算出來。并且在 FDAtool 特性區(qū)可以看到所設(shè)計的濾波器的響應(yīng)特性,如幅頻響 應(yīng)(如圖 3-2 、相頻響應(yīng)(如圖 3-3 、沖激響應(yīng)(如圖 3-4等等其他響應(yīng)特性圖。該濾 波器各特性圖如下:圖 3-2 幅頻響應(yīng)曲線 圖 3-3 相頻響應(yīng)曲線 圖 3-4 沖激響應(yīng)然后,我們可以把剛剛設(shè)計好的濾
24、波器系數(shù)進(jìn)行導(dǎo)出,我們選擇 Export 打開 Export 對話框 (如圖 3-5 , 然后可將設(shè)計好的濾波器系數(shù)導(dǎo)出來, 我們可以通過 Command Window查看該系數(shù)。 圖 3-5 沖激系數(shù)及其輸出對話框在 Command Window命令編輯區(qū)輸入 Num 可得到 FDAtool 工具的計算結(jié)果,結(jié)果如 圖 3-6所示。 圖 3-6 輸出在 Matlab 的沖激系數(shù)由于 FDAtool 工具導(dǎo)出的系數(shù)是很小的數(shù),不方便我們處理,因此,我們將改系數(shù)進(jìn) 行放大, 并進(jìn)行整數(shù)化操作。 操作后可得到濾波器整數(shù)化的系數(shù)為 7 23 41 60 77 92 103 109 109 103 9
25、2 77 60 41 23 7,如圖 3-7所示: 圖 3-7 整數(shù)化后的沖激系數(shù)3.2 DSP Builder搭建 FIR 模型DSP Builder是一個系統(tǒng)級 (或算法級 設(shè)計工具, 它架構(gòu)在多個軟件工具之上, 并把系 統(tǒng)級和 RTL 級兩個設(shè)計領(lǐng)域的設(shè)計工具連接起來,最大程度地發(fā)揮了兩種工具的優(yōu)勢。 由于在 FPGA 上設(shè)計一個 DSP 模塊的復(fù)雜性,設(shè)計的性能 (包括面積、速度、可靠性、 設(shè)計周期 對于不同的應(yīng)用目標(biāo)將有不同的要求,涉及的軟件工具也不僅僅是 Simulink 和 Quartus II , DSP Builder 針對不同情況提供了兩套設(shè)計流程,即自動流程和手動流程。圖
26、 3-8是利用 DSP Builder進(jìn)行 DSP 設(shè)計的流程框圖 13。 圖 3-8DSP Builder設(shè)計流程3.2利用 DSP Builder設(shè)計 FIR 濾波器使用 DSP Builder 可以方便地在圖形化環(huán)境中設(shè)計 FIR 數(shù)字濾波器,而且濾波器系數(shù) 的計算可以借助 Matlab 強(qiáng)大的計算能力和現(xiàn)成的濾波器設(shè)計工具來完成。在此用以下示例來說明利用 DSP Builder設(shè)計濾波器的整個設(shè)計過程 14。假定一個 3階的 FIR 濾波器,其可以表示為 :h(n= Cq(h(0x(n+h(1x(n-1 +h(2x(n-2 +h(3x(n-3其中:h(0=63, h(1=127, h(
27、2=127, h(3=63,是量化時附加的因子。這里采用直接 I 型來實現(xiàn)該 FIR 濾波器。設(shè)計好的 3階直接 I 型 FIR 濾波器模型圖可 以參見圖 3-9。圖 3-9 3階 FIR 濾波器圖中模塊的參數(shù)作如下設(shè)置:xin 模塊:(Altbus庫:Altera DSP Builder中 Bus Manipulation庫參數(shù)“ Bus Type”設(shè)為“ signed Integer”參數(shù)“ Node Type”設(shè)為“ Input port”參數(shù)“ number of bits”設(shè)為“ 8”yout 模塊:(Altbus庫:Altera DSP Builder中 Bus Manipulat
28、ion庫參數(shù)“ Bus Type”設(shè)為“ signed Integer”參數(shù)“ Node Type”設(shè)為“ Output port”參數(shù)“ number of bits”設(shè)為“ 8”Parallel Adder Subtractor模塊:(Parallel Adder Subtractor庫:Altera DSP Builder中 Arithmetic 庫“ Add(+Sub(-”設(shè)為“ +” Delay1、 Delay2、 Delay3模塊:(Delay庫:Altera DSP Builder中 Storage 庫參數(shù)“ Depth ”設(shè)為“ 1”參數(shù)“ Clock Phase Select
29、ion”設(shè)為“ 1”h0模塊:(Gain庫:Altera DSP Builder中 Arithemtic 庫參數(shù)“ Gain Value”設(shè)為“ 63”參數(shù)“ Map Gain Value to Bus Type”設(shè)為“ Signed Integer”參數(shù)“ Gate Value number of bits”設(shè)為“ 8”參數(shù)“ Number of Pipeline Levels”設(shè)為“ 0”h1模塊:(Gain參數(shù)“ Gain Value”設(shè)為“ 127”其余同 h0模塊h2模塊:(Gain參數(shù)“ Gain Value”設(shè)為“ 127”其余同 h0模塊h3模塊:(Gain參數(shù)“ Gain V
30、alue”設(shè)為“ 63”其余同 h0模塊由于 FIR 濾波器的系數(shù)已經(jīng)給定,是一個常數(shù),從圖中看到, DSP Builder 中可以用 Gain (增益 模塊來實現(xiàn)的運算,用延時 Delay 模塊來實現(xiàn)輸入信號序列的延時。設(shè)計完 3階 FIR 濾波器模型,就可以添加 Simulink 模塊進(jìn)行仿真了,如圖 3-10所示。 圖 3-10 帶仿真模塊的 3階 FIR 濾波器 新增的仿真模塊的參數(shù)作如下設(shè)置:Chirp Signal模塊:(Chirp Signal庫:Simulink 中 Sources 庫參數(shù)“ Initial Frequency(Hz”設(shè)為“ 0.1”參數(shù)“ Target tim
31、e”設(shè)為“ 10”參數(shù)“ Frequency at target time(Hz”設(shè)為“ 1”參數(shù)“ Interpret vectors parameters as 1-D”選中Gain 模塊:(Gain庫:Simulink 中 Math Operations庫參數(shù)“ Gain ”設(shè)為“ 127”參數(shù)“ Multiplication ”設(shè)為“ Element wise(K.*u”Scope 模塊:(Scope庫:Simulink 中 sinks 庫參數(shù)“ Number of Axes”為“ 2”其中, Chirp Signal 模塊為線性調(diào)頻信號發(fā)生模塊,生成一個線性調(diào)頻信號 0.1Hz 1H
32、z 。 在該模型仿真中,使用默認(rèn)的仿真參數(shù)。仿真結(jié)果如圖 3-11所示。顯然,一個線性調(diào)頻信 號通過 3階 FIR 濾波器后幅度發(fā)生了變化,頻率較高部分的幅度被衰減了。圖 3-11 FIR 濾波器仿真結(jié)果 按照上節(jié)濾波器的設(shè)計流程,本節(jié)可設(shè)計 16階 FIR 濾波器,根據(jù)前面利用 Matlab 中 的 FDAtool 工具得到的 FIR 濾波器系數(shù)進(jìn)行設(shè)計,設(shè)計圖如圖 3-12所示。 圖 3-12 16階 FIR 濾波器結(jié)構(gòu)由圖可以看出, 此系統(tǒng)是按照 FIR 濾波器的直接型結(jié)構(gòu)進(jìn)行搭建的, 主要包括延時器、乘法器和加法器。其輸入信號是一個 9位的數(shù)字信號,經(jīng)過系統(tǒng)之后,得到的輸出信號是 一個
33、 20位的數(shù)字信號。經(jīng)過 Simulink 仿真后得到仿真結(jié)果,仿真結(jié)果圖如圖 3-13所示。 圖 3-13 仿真結(jié)果從仿真結(jié)果可以看出,高頻的信號不能通過該系統(tǒng)而已經(jīng)被濾除,只有低于截止頻率 一下的信號才可以輸出,但是由于濾波的階數(shù)有限,所以效果不是特別明顯,但是基本上 能夠?qū)崿F(xiàn)濾波功能。下一步將該模型編譯后生成 VHDL 語言,然后在 Quartus II軟件中進(jìn)行仿真。 圖 3-14 編譯生成 VHDL 語言打開 Quartus II軟件,調(diào)入剛剛生成的 VHDL 語言的工程, 先進(jìn)行編譯, 編譯通過后, 然后利用 Quartus II中的 Simulation Waveforms進(jìn)行仿
34、真, 首先設(shè)置時鐘信號為 50ns , 復(fù)位信號為高電平,輸入信號為一個無符號型的序列,輸出信號的為無符號型數(shù)據(jù),存盤后進(jìn) 行仿真,仿真結(jié)果如圖 3-15所示。 圖 3-15Quartus II仿真結(jié)果從上圖可以看出,給定時鐘信號后,給一串序列作為輸人,然后就可以在得到輸出, 該輸出信號也為一串序列,這串序列也就是卷積得到的結(jié)果。為了驗證其正確性,我們利 用 Matlab 進(jìn)行驗證,打開 Matlab 后,在其 Command Window中利用卷積函數(shù)進(jìn)行運算來 驗證上述結(jié)果是否正確,其卷積結(jié)果如圖 3-16所示。圖 3-16Matlab 卷積結(jié)果從上圖可以看出,利用 Matlab 中卷積函
35、數(shù)的運算的結(jié)果和 Quartus II對 FIR 濾波器仿 真的結(jié)果是完全一樣,因此,可以斷定此次設(shè)計的濾波器是正確的,接下來就是要進(jìn)行硬 件實現(xiàn)。4. FIR 濾波器的硬件實現(xiàn)4.1系統(tǒng)硬件前面已經(jīng)設(shè)計好 FIR 濾波器系統(tǒng),并且都已經(jīng)仿真驗證了其系統(tǒng)的正確性,接下來就 要進(jìn)行硬件電路的設(shè)計。由于我們是對模擬信號進(jìn)行濾波,于是,我們添加了 AD 和 DA 轉(zhuǎn)換電路,這可將模擬信號進(jìn)行數(shù)字化,然后再由 FIR 濾波器系統(tǒng)處理,得到的輸出仍是 數(shù)字信號,再加上 DA 轉(zhuǎn)換電路就可以將該數(shù)字信號轉(zhuǎn)換成模擬信號。硬件實現(xiàn)框圖如圖 4-1所示。 圖 4-1硬件實現(xiàn)框圖硬件系統(tǒng)主要由 FPGA 、 JT
36、AG 、 A/D轉(zhuǎn)換和 D/A轉(zhuǎn)換四部分組成。本次硬件部分的核 心芯片 FPGA 是 Altera 公司的 Cyclone 系列的 EP1C3T144C8, AD 轉(zhuǎn)換芯片選擇的是TLC549, DA 轉(zhuǎn)換芯片選擇的是 DAC7512。各部分硬件如下:1. FPGA 芯片 圖 4-2FPGA 芯片 2. JTAG 下載JTAG 是英文 Joint Test Action Group(聯(lián)合測試行為組織 的詞頭字母的簡寫, 該組織 成立于 1985年,是由幾家主要的電子制造商發(fā)起制訂的 PCB 和 IC 測試標(biāo)準(zhǔn)。 JTAG 建議 于 1990年被 IEEE 批準(zhǔn)為 IEEE1149.1-1990
37、 測試訪問端口和邊界掃描結(jié)構(gòu)標(biāo)準(zhǔn)。 JTAG 主 要應(yīng)用于:電路的邊界掃描測試和可編程芯片的在線系統(tǒng)編程。 JTAG 下載口如圖 4-3所示。 圖 4-3 JTAG 下載口3. AD 轉(zhuǎn)換本次使用的 AD 轉(zhuǎn)換芯片 TLC549有一個片內(nèi)的 4MHz 系統(tǒng)時鐘, 該時鐘與 I/O CLOCK是獨立工作的,該時鐘用于片內(nèi)的系統(tǒng)控制,包括提供轉(zhuǎn)換時的時鐘, TLC549芯片有一 個模擬輸入端口, 3態(tài)的數(shù)據(jù)串行輸出接口可以方便的和微處理器或外圍設(shè)備連接。 TLC549只需要使用時鐘(I/O CLOCK 和芯片選擇信號(CS 來控制數(shù)據(jù),轉(zhuǎn)換輸出是 8位串行輸出,最大的時鐘(I/O CLOCK輸入為
38、 1.1MHz 。在圖上能看到 I/O CLOCK那 有一段標(biāo)注為“ Dont Care” , 該段是轉(zhuǎn)換時間段,在該段時間內(nèi)的時鐘就是由內(nèi)部時鐘提 供。 圖 4-4 TLC549芯片TLC549轉(zhuǎn)換時序如下圖: 圖 4-5 AD 轉(zhuǎn)換時序圖4. DA 轉(zhuǎn)換DAC7512是一種低功耗, 12位緩沖電壓輸出數(shù)字到模擬轉(zhuǎn)換器(DAC 。其內(nèi)置的精 密輸出放大器允許軌到軌 (即最大輸出可達(dá)到參考電壓 輸出擺幅。 DAC7512采用多功能 三線串行接口,運行在高達(dá) 30MHz 的時鐘速率,并與標(biāo)準(zhǔn)的 SPI , QSPI ,微絲和 DSP 的接口兼容。DAC7512的 SOT-23-6封裝的引腳圖如下
39、: 圖 4-6 DAC7512芯片DAC7512采用三線制(SYNC , SCLK 及 D IN 串行接口,其串行寫操作時序如下圖所 示: 圖 4-7 DA 轉(zhuǎn)換時序圖22寫操作開始前, SYNC 要置低。 D IN 的數(shù)據(jù)在串行時鐘 SCLK 的下降沿依次移入 DAC7512的 16位輸入數(shù)據(jù)寄存器(DAC 是在下降沿的時候采數(shù)據(jù), 所以我們應(yīng)該在上升 沿的時候把數(shù)據(jù)發(fā)出 。輸入數(shù)據(jù)寄存器格式(輸入的數(shù)據(jù)被裝到這個寄存器里如下: 其中第 12位和第 13位是模式控制位,模式如表 4-1所示。表 4-1:DA 轉(zhuǎn)換芯片模式選擇 在此次設(shè)計中選擇正常模式,因此 DB13和 DB12均為 0。DA
40、C7512的輸入數(shù)據(jù)寄存器寬度為 16位, 其中 DB15、 DB14是空閑位, DB13、 DB12是工作模式選擇位、 DB11DB0是數(shù)據(jù)位。器件內(nèi)部帶有上電復(fù)位電路。上電后,寄存 器置 0,所以 DAC7512處于正常工作模式,模擬輸出電壓為 0V 。輸入數(shù)字量與輸出模擬量的對應(yīng)關(guān)系如下:V out=VDD *D/4096其中 D 為輸入數(shù)字量(DB11DB0是數(shù)據(jù)位 , 4096是 2的 12次方(因為數(shù)據(jù)有效 位就是后 12位 , V DD 就是 DAC7512的電源電壓,也是其參考電壓。4.2硬件調(diào)試將程序編寫好,設(shè)置好相關(guān)參數(shù),然后將程序下載到 FPGA 芯片中,然后利用實驗室
41、的信號發(fā)生器和示波器進(jìn)行測試。其中,由于 AD 轉(zhuǎn)換芯片只能輸入正值,因此,為了便 于 AD 芯片轉(zhuǎn)換數(shù)據(jù),我們將信號發(fā)生器的輸入信號調(diào)節(jié)為向上偏移,偏移量為輸入信號 幅值的一半,這樣就剛剛好可以將輸入信號全部變?yōu)檎?。硬件測試如圖 4-8所示。23圖 4-8 硬件測試圖1,測試一:輸如信號為 300Hz 的正弦波,幅值為 2V ,向上位移 1V 。如圖 4-9所示,其中左邊為 輸入信號波形,右邊為輸出信號波形。 圖 4-9 輸入 300Hz 信號及輸出從圖中我們能看出,輸出信號和輸入信號的頻率幾乎相同,因此可以判定,當(dāng)輸入信 號低于低通濾波器的截止頻率時,經(jīng)過濾波器系統(tǒng)后,可以得到原輸入信號
42、。2,測試二:輸入信號為 8KHz 的正弦波,幅值 2V ,向上位移 1V 。如圖 4-10所示,其中左邊為輸 入信號波形,右邊為輸出信號波形。24 圖 4-10 輸入 8Khz 信號及其輸出觀察上圖,我們發(fā)現(xiàn)輸入信號為 8KHz 時,輸出信號有明顯的衰減,這就說明當(dāng)輸入 信號大于低通濾波器的截止頻率時,就會使得信號衰減。3,測試三:輸入信號為 10KHz 的正弦波,幅值 2V ,向上平移 1V 。如圖 4-11所示,其中左邊為輸 入信號波形,右邊為輸出信號波形。 圖 4-11輸入 10KHz 信號及其輸出觀察上圖,可以看出,當(dāng)輸入信號為 10KHz 時,幾乎沒有輸出,這就說明輸入信號遠(yuǎn) 大與低通濾波器的截止頻率時,該信號不會被輸出。通過觀察上述三組測試,可以看出當(dāng)輸入信號的頻率低于低通濾波器的截止頻率時 , 輸入信號能正常輸出;當(dāng)輸入信號的頻率高于低通濾波器的截止頻率時,輸出就會開始衰 減;當(dāng)輸入信號遠(yuǎn)大于低通濾波器的截止頻率時,幾乎沒有輸出,這說明該濾波器能正常 工作,達(dá)到了濾波的功能,也就是說本次設(shè)計完成了。4.3數(shù)據(jù)誤差分析FIR 數(shù)字濾波器的濾波系數(shù),輸入輸出序列值和運算過程中的中間結(jié)果,都是用有限
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 2024年餐飲酒店服務(wù)質(zhì)量提升合同
- 2025農(nóng)村個人魚塘承包合同
- 醫(yī)療設(shè)備采購監(jiān)管工作要點
- 工程賠償電力施工合同范本
- 村委會農(nóng)村醫(yī)療設(shè)施協(xié)議
- ??谑畜w育館租賃合同樣本
- 煙花爆竹燃放安全指南
- 2025黃金買賣合同書范文
- 廣告?zhèn)髅焦綜EO聘用合同
- 電商直播會計崗位招聘合同
- 河北省保定市2023-2024學(xué)年高二上學(xué)期期末調(diào)研數(shù)學(xué)試題(含答案解析)
- LS/T 1234-2023植物油儲存品質(zhì)判定規(guī)則
- 2016-2023年江蘇醫(yī)藥職業(yè)學(xué)院高職單招(英語/數(shù)學(xué)/語文)筆試歷年參考題庫含答案解析
- 提醒關(guān)電關(guān)水關(guān)門注意安全的公告
- 箱變檢測報告
- 河南省商丘市民權(quán)縣2023-2024學(xué)年八年級上學(xué)期期末語文試題
- 初中教師教學(xué)基本功培訓(xùn)內(nèi)容課件
- 工業(yè)互聯(lián)網(wǎng)平臺建設(shè)方案
- 精準(zhǔn)醫(yī)療的商業(yè)模式
- 2023-2024學(xué)年四川省成都市金牛區(qū)八年級(上)期末數(shù)學(xué)試卷
- 海南省省直轄縣級行政單位樂東黎族自治縣2023-2024學(xué)年九年級上學(xué)期期末數(shù)學(xué)試題
評論
0/150
提交評論