基于FPGA的FIR濾波器設(shè)計(jì)_圖文_第1頁(yè)
基于FPGA的FIR濾波器設(shè)計(jì)_圖文_第2頁(yè)
基于FPGA的FIR濾波器設(shè)計(jì)_圖文_第3頁(yè)
基于FPGA的FIR濾波器設(shè)計(jì)_圖文_第4頁(yè)
基于FPGA的FIR濾波器設(shè)計(jì)_圖文_第5頁(yè)
已閱讀5頁(yè),還剩42頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、 本科生畢業(yè)論文(設(shè)計(jì) 題目 :基于 FPGA 的 FIR 濾波器設(shè)計(jì)學(xué) 院 電子信息工程學(xué)院 學(xué)科門類專 業(yè)學(xué) 號(hào)姓 名指導(dǎo)教師2015年 05月 06日摘 要隨著數(shù)字技術(shù)的發(fā)展,數(shù)字濾波器廣泛應(yīng)用于語(yǔ)音與圖像處理、模式識(shí)別、雷達(dá)信號(hào) 處理、頻譜分析等領(lǐng)域,它具有精度高、靈活性大等突出特點(diǎn),而現(xiàn)場(chǎng)可編程門陣列器件 (FPGA有著規(guī)整的內(nèi)部邏輯陣列和豐富的連線資源, 特別適合于數(shù)字信號(hào)處理任務(wù),通過 FPGA 實(shí)現(xiàn) FIR 數(shù)字濾波具有實(shí)時(shí)性高、處理速度快、精度高的特點(diǎn)。本文研究的是基于 FPGA 實(shí)現(xiàn)一個(gè) 16階的 FIR 數(shù)字低通濾波器的設(shè)計(jì)。 本次設(shè)計(jì)首先利 用 MATLAB 中濾波器設(shè)

2、計(jì)工具 FDAtool 工具設(shè)計(jì) FIR 濾波器系數(shù),再利用 Matlab 中的 Simulink 庫(kù)文件下的 DSP Builder庫(kù)中的各個(gè)模塊搭建 FIR 濾波器系統(tǒng),然后在 Simulink 里進(jìn) 行了仿真,并編譯生成 VHDL 語(yǔ)言,再通過 Quartus II 軟件對(duì)生成的 VHDL 程序進(jìn)行編譯和 仿真, 并利用 Matlab 對(duì)仿真結(jié)果進(jìn)行了分析, 證明所設(shè)計(jì)的 FIR 濾波器功能的正確性, 最后 通過硬件實(shí)現(xiàn)時(shí)。本次硬件設(shè)計(jì)中,采用 Altera 公司的 FPGA 器件作為核心器件,此外,由于整個(gè)系統(tǒng)的 輸入輸出全部是數(shù)字信號(hào),因此需要添加 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國(guó)內(nèi)外研究現(xiàn)狀 . 11.3本論文的研究?jī)?nèi)容及主要工作 . 22. FIR 數(shù)字濾波器設(shè)計(jì) . 2 2.1數(shù)字濾波器基礎(chǔ) . 2 2.1.1FIR 濾波器簡(jiǎn)介 . 2 2.1.2FIR 數(shù)字濾波器的結(jié)構(gòu) . . 3 2.2FIR 數(shù)字濾波器設(shè)計(jì)方法 . 4 2.2.1窗函數(shù)法 . 4 2.2.2頻率采樣法 . 52.2.3等波紋最佳逼近法 . 63. 基于 FPG

7、A 的 FIR 濾波器設(shè)計(jì) . 7 3.1基于 Matlab 的 FIR 數(shù)字低通濾波器抽頭系數(shù)的提取 . 7 3.1.1基于 Matlab 的 FIR 濾波器系數(shù)計(jì)算 . 7 3.2DSP Builder搭建 FIR 模型 . . 12 3.2.1DSP Builder及其設(shè)計(jì)流程 . 12 3.2 利用 DSP Builder設(shè)計(jì) FIR 濾波器 . 12 3.2.1 簡(jiǎn)單 3階常系數(shù) FIR 濾波器的設(shè)計(jì) . 133.2.2 16階 FIR 濾波器的設(shè)計(jì) . 164. FIR 濾波器的硬件實(shí)現(xiàn) . . 19 4.1系統(tǒng)硬件 . 19 4.2硬件調(diào)試 . 234.3數(shù)據(jù)誤差分析 . 255

8、. 總結(jié) . . 錯(cuò) 誤!未定義書簽。 參考文獻(xiàn) . 27致謝 . 281. 引言濾波技術(shù)是非常重要的一門技術(shù),它在信號(hào)的分析和處理過程中都是必不可少的部 分。而當(dāng)今由于數(shù)字信號(hào)的發(fā)展,使得濾波技術(shù)更是得到進(jìn)一步發(fā)展,也就產(chǎn)生了數(shù)字濾 波器,數(shù)字濾波器是現(xiàn)代信號(hào)處理研究和發(fā)展不可或缺的因素,數(shù)字濾波器相對(duì)模擬濾波 器精度高,靈活性大,可靠性好等優(yōu)點(diǎn) 1。此外,由于數(shù)字信號(hào)的發(fā)展,它不僅能夠處理數(shù)字信號(hào),而且能夠處理模擬信號(hào)。在 處理模擬信號(hào)時(shí),可以通過 AD 和 DA 轉(zhuǎn)換,在信號(hào)形式上進(jìn)行匹配,也就達(dá)到了數(shù)字濾 波器對(duì)模擬信號(hào)的濾波的功能。1.1研究背景及意義在現(xiàn)代通信信號(hào)處理領(lǐng)域中,隨著各

9、種精密計(jì)算和快速計(jì)算的發(fā)展對(duì)信號(hào)處理的實(shí)時(shí) 性、快速性的要求越來越高。以往的模擬濾波器無法克服電壓漂移、溫度漂移和噪聲等問 題, 從而帶來了許多誤差和不穩(wěn)定因素。 而數(shù)字濾波器具有穩(wěn)定性高、 精度高、 設(shè)計(jì)靈活、 實(shí)現(xiàn)方便等突出優(yōu)點(diǎn)。隨著數(shù)字技術(shù)的發(fā)展,數(shù)字濾波器廣泛應(yīng)用于語(yǔ)音與圖像處理、模式識(shí)別、雷達(dá)信號(hào) 處理、頻譜分析等領(lǐng)域,它有精度高、靈活性大等突出特點(diǎn)。FPGA 元器件在高速并行處理和數(shù)據(jù)傳輸中有獨(dú)特優(yōu)勢(shì), FPGA 正在前端信號(hào)處理中 越來越多地代替 ASIC 和 DSP 。我們需要的就是這種設(shè)計(jì)周期短,功能密度高,重組時(shí)間 短的元器件 2。1.2國(guó)內(nèi)外研究現(xiàn)狀在國(guó)內(nèi)外的研究中, F

10、IR 濾波器設(shè)計(jì)中的乘法算法有并行乘法、串行乘法和采用分布 式算法的乘法 3。其中,分布式算法既可以全并行實(shí)現(xiàn),又可以全串行實(shí)現(xiàn),還可以串并 行結(jié)合實(shí)現(xiàn),因此是當(dāng)今研究的主要方法。實(shí)現(xiàn) FIR 濾波器,主要有軟件實(shí)現(xiàn)和硬件兩種方法來實(shí)現(xiàn)。軟件實(shí)現(xiàn)方法也就是在計(jì) 算機(jī)上通過編程來實(shí)現(xiàn),這種方式簡(jiǎn)單,可移植性高。硬件實(shí)現(xiàn)即是設(shè)計(jì)專門的數(shù)字濾波 硬件來實(shí)現(xiàn)濾波, 可以使用 DSP 處理器實(shí)現(xiàn), 也可以采用固定功能的專用信號(hào)處理器來實(shí) 現(xiàn)。但是在當(dāng)今,由于大規(guī)模集成電路的發(fā)展,使可編程的集成電路成為一種新的方案,采用現(xiàn)場(chǎng)可編程門陣列 FPGA 來實(shí)現(xiàn) FIR 數(shù)字濾波器, 可以利用 FPGA 設(shè)計(jì)的產(chǎn)

11、品具有規(guī) 模小、速度快、重量輕、可靠性高、成本低等優(yōu)點(diǎn),既能兼顧 ASIC 器件的實(shí)時(shí)性、又具 有 DSP 處理器的靈活性。1.3本論文的研究?jī)?nèi)容及主要工作本論文研究的是 FIR 低通數(shù)字濾波器的研究與設(shè)計(jì)以及硬件實(shí)現(xiàn)的方法,具體內(nèi)容分 為五節(jié):第一部分引言主要介紹了本課題的背景及研究意義、國(guó)內(nèi)外現(xiàn)狀。第二部分主要介紹了 FIR 數(shù)字濾波器的簡(jiǎn)介以及線性相位 FIR 濾波器的結(jié)構(gòu)和設(shè)計(jì)方 法。第三部分首先介紹如何利用 Matlab 制定設(shè)計(jì)指標(biāo),提取 16階 FIR 低通數(shù)字濾波器的 抽頭數(shù)并進(jìn)行量化,然后利用 DSP Builder 設(shè)計(jì)濾波器模型,最后生成 VHDL 語(yǔ)言并利用 Quart

12、us II軟件進(jìn)行綜合系統(tǒng)仿真和驗(yàn)證。第四部分主要介紹 AD (模數(shù)和 DA (數(shù)模轉(zhuǎn)換部分電路和原理,以及如何利用硬 件實(shí)現(xiàn) FIR 濾波器。第五部分總結(jié)本次設(shè)計(jì)。2. FIR 數(shù)字濾波器設(shè)計(jì)2.1數(shù)字濾波器基礎(chǔ)所謂數(shù)字濾波器,是指輸入、輸出均為數(shù)字信號(hào),通過數(shù)值運(yùn)算來濾除某些頻率成分 的數(shù)字濾波器件或者程序。數(shù)字濾波器按照不同的分類方法有許多種類,但總的可以分為兩大類:經(jīng)典濾波器和 現(xiàn)代濾波器。本文做研究的屬于經(jīng)典濾波器范疇,經(jīng)典濾波器從濾波特性上可分為低通、 高通、帶通、帶阻等濾波器。數(shù)字濾波器從實(shí)現(xiàn)的網(wǎng)絡(luò)結(jié)構(gòu)或者從單位脈沖響應(yīng)長(zhǎng)度分類,可以分為無限長(zhǎng)單位脈 沖響應(yīng)(IIR 濾波器和有限

13、長(zhǎng)單位脈沖響應(yīng)(FIR 濾波器 4。2.1.1 FIR濾波器簡(jiǎn)介FIR 是 Finite Impulse Response是縮寫, 是指有限長(zhǎng)脈沖響應(yīng), 也即指經(jīng)過 FIR 系統(tǒng)的 單位脈沖響應(yīng)是一個(gè)有限長(zhǎng)的序列, H(z為該數(shù)字濾波系統(tǒng)的單位脈沖響應(yīng) h(n的 Z 變換, 即:-=-=n nzn h z H ( ( (2-1若 h(n為無限長(zhǎng)序列,則得到的數(shù)字濾波器為 IIR 數(shù)字濾波器,又稱遞歸濾波器;反 之,若 h(n為有限長(zhǎng)序列,則得到的數(shù)字濾波器為 FIR 濾波器,也稱非遞歸濾波器。一個(gè) 線形時(shí)不變因果濾波器可表示為:-=-=1( (N n n z n h z H (2-2其中 N

14、為 h(n的長(zhǎng)度,即濾波器的長(zhǎng)度。FIR 濾波器可以把相位特性設(shè)計(jì)成線性,因此, FIR 數(shù)字濾波器在信號(hào)無失真?zhèn)鬏敗?數(shù)據(jù)通信、圖像傳輸與處理、語(yǔ)音信號(hào)處理等有線性相位要求的領(lǐng)域應(yīng)用廣泛。2.1.2 FIR數(shù)字濾波器的結(jié)構(gòu)由于 FIR 數(shù)字濾波器實(shí)現(xiàn)算法的不同,我們可以把 FIR 濾波器的結(jié)構(gòu)劃分為直接型、 級(jí)聯(lián)型、頻率采樣型和快速卷積型四種基本形式 6。(1直接型按照 (z H 或者卷積公式直接可以畫出結(jié)構(gòu)圖如圖 2-1所示, 這種結(jié)構(gòu)我們稱之為直接 型結(jié)構(gòu)網(wǎng)絡(luò)或者卷積型結(jié)構(gòu)。這是一種最簡(jiǎn)單的 FIR 濾波器結(jié)構(gòu),即方便理解,也方便搭 建其模型。1-1-1 -圖 2-1 直接型結(jié)構(gòu)(2級(jí)聯(lián)

15、型對(duì) (z H 進(jìn)行因式分解, 并將共軛成對(duì)的零點(diǎn)放在一起, 形成一個(gè)系數(shù)為實(shí)數(shù)的二階形 式。 FIR 數(shù)字濾波器的級(jí)聯(lián)型結(jié)構(gòu)如圖 2-2所示。其系統(tǒng)函數(shù) (z H 可以表示為:=-+=Ll z a z a h z H 1212111 1( 0( ( (2-3x (z -z y(n 圖 2-2 級(jí)聯(lián)型結(jié)構(gòu)級(jí)聯(lián)型的最大特點(diǎn)是可以分別獨(dú)立調(diào)整每個(gè)子系統(tǒng)的零點(diǎn)之值,當(dāng)需要精確控制濾波 器的零點(diǎn)位置時(shí),往往采用這種結(jié)構(gòu)。2.2 FIR 數(shù)字濾波器設(shè)計(jì)方法FIR 數(shù)字濾波器的設(shè)計(jì)方法主要有三種:窗函數(shù)法、頻率采樣法和等波紋逼近法 6。2.2.1 窗函數(shù)法一個(gè)理想低通濾波器的幅頻特性如圖 2-3所示。 (

16、jw d e H 的表達(dá)式為:1, ( 0,cjwd c w w H e w w =< (2-4 圖 2-3 理想低通濾波器頻譜圖對(duì) (jw d e H 進(jìn)行離散時(shí)間傅里葉逆變換,得:-=dw e e H n h jwn jw d d (21 ( -=ccw w c jwn nn w dw e sin(21 (2-5 由于該系統(tǒng)是非因果的,為了能夠得到一個(gè)可實(shí)現(xiàn)的系統(tǒng),可以將 (n h d 截取一部分, 并順序右移, 使之成為一個(gè)因果的有限長(zhǎng)序列。 這種方法就好比在時(shí)域打開一個(gè)窗口一樣,因而稱為窗函數(shù)法。常見的時(shí)窗函數(shù)有矩形窗、漢寧窗、漢明窗、布萊克曼窗、凱塞窗等7,常見的六種窗函數(shù)特性

17、如表 2-1所示。表 2-1 六種窗函數(shù)參數(shù)表的比較 2.2.2 頻率采樣法頻率采樣法是一種基于頻率域抽樣來逼近所要設(shè)計(jì)的 FIR 濾波器的頻率特性的一種方 法 9。頻率設(shè)計(jì)法的基本設(shè)計(jì)流程如圖 2-4所示。 圖 2-4 頻率設(shè)計(jì)法流程為了保證 (z H 具有線性相位條件,其單位采樣響應(yīng) (n h 是實(shí)序列,且滿足條件1( (-±=n N h n h 。對(duì)于 (n h 偶對(duì)稱的情況來說,線性相位條件如下:( ( (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

18、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ù)。過渡帶的采樣點(diǎn)個(gè)數(shù) m 與所設(shè)計(jì)的濾波器的阻帶最小衰減 s 有關(guān), 具體如表 2-2所示。 此外過渡帶的帶寬與采樣點(diǎn)數(shù) m 之間的關(guān)系為:N m B / 1(2+ (2-9表 2-2 過渡帶采樣點(diǎn)數(shù)與阻帶最小衰減的關(guān)系 2.2.3 等波紋最佳逼近法等波紋最佳逼近法是根據(jù)最大誤差最小化的設(shè)計(jì)原則。等波紋逼近法所設(shè)計(jì)的 FIR 濾 波器的幅度特性在通帶和阻

19、帶范圍內(nèi)是等波紋的,且可以分別獨(dú)立控制通帶和阻帶的波紋 幅度,并且在濾波器長(zhǎng)度給定的情況下,加權(quán)的幅度波紋誤差最小 10。定義加權(quán)幅度誤差函數(shù)為:( ( (w H w H w W w e d -= (2-10式中 (w W 為幅度誤差加權(quán)函數(shù),用來控制不同頻帶的幅度逼近誤差。 一般地,在要求 逼近精度高的頻帶, (w W 取值大, 而要求逼近誤差精度低的頻帶, (w W 取值小。 對(duì)于 FIR 數(shù)字低通濾波器,常取 :<=w w k w w k w W p p, 0, / (12 (2-11 式中, 1和 2分別為濾波器設(shè)計(jì)指標(biāo)中通帶和阻帶的振蕩波紋幅度, k 為正的系數(shù)。 濾波器的通帶

20、最大衰減 p 和阻帶最小衰減 s 與通帶和阻帶的振蕩波紋幅度 1和 2的 換算關(guān)系為:11011020/20/1+-=p p (2-1220/210s-= (2-13在等波紋逼近法的設(shè)計(jì)中,如果能夠找到濾波器的系數(shù) (n h 使得在通帶 , 0p w 和阻帶, s w 頻帶內(nèi)的最大絕對(duì)值幅度誤差 (w e 為最小,就能夠很好的實(shí)現(xiàn)濾波器的設(shè)計(jì), 而找 到該系數(shù)的算法就是基于交替定理的雷米茲交替算法。3. 基于 FPGA 的 FIR 濾波器設(shè)計(jì)本章為全文的核心內(nèi)容, 首先確定基于 Matlab 的 FIR 數(shù)字低通濾波器的指標(biāo)系數(shù), 再 利用 DSP Builder搭建 FIR 濾波器結(jié)構(gòu),編譯

21、生成 VHDL 硬件語(yǔ)言進(jìn)行仿真,最后實(shí)現(xiàn)硬 件系統(tǒng)以及硬件測(cè)試。使用 FPGA 器件設(shè)計(jì)數(shù)字電路, 不僅使得電路簡(jiǎn)化, 而且可以減少所設(shè)計(jì)系統(tǒng)的體積, 增加系統(tǒng)的可靠性, 從而較少開發(fā)費(fèi)用。 它們無需花費(fèi)大量時(shí)間和精力, 避免了投資風(fēng)險(xiǎn), 成為電子器件行業(yè)中發(fā)展最快的一個(gè)系列 11。3.1 基于 Matlab 的 FIR 數(shù)字低通濾波器抽頭系數(shù)的提取FIR 濾波器的系數(shù)也即 FIR 濾波器系統(tǒng)的沖擊響應(yīng)系數(shù),想要得到 FIR 濾波器系數(shù)可 以利用 Matlab 中的 FDAtool 工具進(jìn)行設(shè)計(jì),然后搭建 MatlabFIR 濾波器系統(tǒng)進(jìn)行仿真。3.1.1 基于 Matlab 的 FIR 濾

22、波器系數(shù)計(jì)算在 Matlab 命令編輯窗口輸入 FdAtool 指令, 再點(diǎn)回車即可打開 Filter Design & Analysis Tool 窗口。 Fdatoold 的界面有兩大部分,一部分是 Design filter,這部分可以設(shè)置濾波器的 各種參數(shù),另一部分是濾波器的特性區(qū),這部分可以顯示濾波器的各種特性圖 12。Design filter部分主要分為:(1 Response Type(響應(yīng)類型選項(xiàng):Response Type選項(xiàng)包括 Lowpass (低通 、 Highpass (高通 、 Bandpass (帶通 、 Bandstop (帶阻和特殊的濾波器。在本次設(shè)

23、計(jì)中,該選項(xiàng)中選擇 Lowpass 選項(xiàng)。(2 Design Method(設(shè)計(jì)方法選項(xiàng):Design Method選項(xiàng)包括 IIR 濾波器和 FIR 濾波器, 本次設(shè)計(jì)的是 FIR 濾波器, 而設(shè)計(jì) 該濾波器使用方法是窗函數(shù)法, 因此, 我們選擇 FIR 濾波器的 Window 窗函數(shù)法進(jìn)行設(shè)計(jì)。 選定窗函數(shù)法后,會(huì)在右側(cè)出現(xiàn) Options 區(qū)域,這部分區(qū)域是用來設(shè)置窗函數(shù)的相關(guān)參數(shù), 其中窗函數(shù)的類型選擇 Kaiser 窗,并設(shè)置 Beta 為:0.5。(3 Filter Order(濾波器階數(shù)選項(xiàng):Filter Order 選項(xiàng)是定義濾波器的階數(shù),包括 Specify order 和

24、Minimum order 。 Specify order 是指濾波器的階數(shù)(specify order=n-1, n 為濾波器階數(shù) ,本次設(shè)計(jì)是 16階濾波器,所以選定 Specify order并填入 15。(4 Frequency Specifications(頻率定義選項(xiàng):Frequency Specifications 選項(xiàng)主要包括采樣頻率 Fs 和通帶頻率以及截止頻率。由于我 們所設(shè)計(jì)的是低通濾波器, 因此我們不需要通帶頻率這個(gè)參數(shù), 這里的采樣頻率 Fs 我們填 為 80KHz ,截止頻率填為 Fc=5KHz。 圖 3-1 FDAtool 工具上述的參數(shù)設(shè)計(jì)結(jié)束后,點(diǎn)擊 Desi

25、gn Filter 按鈕,就可以把我們所需要的 FIR 濾波器 的參數(shù)計(jì)算出來。并且在 FDAtool 特性區(qū)可以看到所設(shè)計(jì)的濾波器的響應(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è)計(jì)好的濾波器系數(shù)進(jìn)行導(dǎo)出,我們選擇 Export 打開 Export 對(duì)話框 (如圖 3-5 , 然后可將設(shè)計(jì)好的濾波器系數(shù)導(dǎo)出來, 我們可以通過 Command Window查看該系數(shù)。 圖 3-5 沖激系數(shù)及其輸出對(duì)話框在 Comman

26、d Window命令編輯區(qū)輸入 Num 可得到 FDAtool 工具的計(jì)算結(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 92 77 60 41 23 7,如圖 3-7所示: 圖 3-7 整數(shù)化后的沖激系數(shù)3.2 DSP Builder搭建 FIR 模型3.2.1 DSP Builder及其設(shè)計(jì)流程DSP Builder是一個(gè)系統(tǒng)級(jí) (或算法級(jí) 設(shè)計(jì)工具

27、, 它架構(gòu)在多個(gè)軟件工具之上, 并把系 統(tǒng)級(jí)和 RTL 級(jí)兩個(gè)設(shè)計(jì)領(lǐng)域的設(shè)計(jì)工具連接起來,最大程度地發(fā)揮了兩種工具的優(yōu)勢(shì)。 由于在 FPGA 上設(shè)計(jì)一個(gè) DSP 模塊的復(fù)雜性,設(shè)計(jì)的性能 (包括面積、速度、可靠性、 設(shè)計(jì)周期 對(duì)于不同的應(yīng)用目標(biāo)將有不同的要求,涉及的軟件工具也不僅僅是 Simulink 和 Quartus II , DSP Builder 針對(duì)不同情況提供了兩套設(shè)計(jì)流程,即自動(dòng)流程和手動(dòng)流程。圖 3-8是利用 DSP Builder進(jìn)行 DSP 設(shè)計(jì)的流程框圖 13。 圖 3-8DSP Builder設(shè)計(jì)流程3.2利用 DSP Builder設(shè)計(jì) FIR 濾波器使用 DSP B

28、uilder 可以方便地在圖形化環(huán)境中設(shè)計(jì) FIR 數(shù)字濾波器,而且濾波器系數(shù) 的計(jì)算可以借助 Matlab 強(qiáng)大的計(jì)算能力和現(xiàn)成的濾波器設(shè)計(jì)工具來完成。3.2.1 簡(jiǎn)單 3階常系數(shù) FIR 濾波器的設(shè)計(jì)在此用以下示例來說明利用 DSP Builder設(shè)計(jì)濾波器的整個(gè)設(shè)計(jì)過程 14。假定一個(gè) 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(2=127, h(3=63,是量化時(shí)附加的因子。這里采用直接 I 型來實(shí)現(xiàn)該 FIR 濾波器。設(shè)計(jì)好的 3階直接 I 型 FIR 濾波器

29、模型圖可 以參見圖 3-9。圖 3-9 3階 FIR 濾波器圖中模塊的參數(shù)作如下設(shè)置:xin 模塊:(Altbus庫(kù):Altera DSP Builder中 Bus Manipulation庫(kù)參數(shù)“ Bus Type”設(shè)為“ signed Integer”參數(shù)“ Node Type”設(shè)為“ Input port”參數(shù)“ number of bits”設(shè)為“ 8”yout 模塊:(Altbus庫(kù):Altera DSP Builder中 Bus Manipulation庫(kù)參數(shù)“ Bus Type”設(shè)為“ signed Integer”參數(shù)“ Node Type”設(shè)為“ Output port”參數(shù)

30、“ number of bits”設(shè)為“ 8”Parallel Adder Subtractor模塊:(Parallel Adder Subtractor庫(kù):Altera DSP Builder中 Arithmetic 庫(kù)“ Add(+Sub(-”設(shè)為“ +” Delay1、 Delay2、 Delay3模塊:(Delay庫(kù):Altera DSP Builder中 Storage 庫(kù)參數(shù)“ Depth ”設(shè)為“ 1”參數(shù)“ Clock Phase Selection”設(shè)為“ 1”h0模塊:(Gain庫(kù):Altera DSP Builder中 Arithemtic 庫(kù)參數(shù)“ Gain Value

31、”設(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 Value”設(shè)為“ 63”其余同 h0模塊由于 FIR 濾波器的系數(shù)已經(jīng)給定,是一個(gè)常數(shù),從圖中看到, DSP Builder 中可以用

32、Gain (增益 模塊來實(shí)現(xiàn)的運(yùn)算,用延時(shí) Delay 模塊來實(shí)現(xiàn)輸入信號(hào)序列的延時(shí)。設(shè)計(jì)完 3階 FIR 濾波器模型,就可以添加 Simulink 模塊進(jìn)行仿真了,如圖 3-10所示。 圖 3-10 帶仿真模塊的 3階 FIR 濾波器 新增的仿真模塊的參數(shù)作如下設(shè)置:Chirp Signal模塊:(Chirp Signal庫(kù):Simulink 中 Sources 庫(kù)參數(shù)“ Initial Frequency(Hz”設(shè)為“ 0.1”參數(shù)“ Target time”設(shè)為“ 10”參數(shù)“ Frequency at target time(Hz”設(shè)為“ 1”參數(shù)“ Interpret vectors

33、 parameters as 1-D”選中Gain 模塊:(Gain庫(kù):Simulink 中 Math Operations庫(kù)參數(shù)“ Gain ”設(shè)為“ 127”參數(shù)“ Multiplication ”設(shè)為“ Element wise(K.*u”Scope 模塊:(Scope庫(kù):Simulink 中 sinks 庫(kù)參數(shù)“ Number of Axes”為“ 2”其中, Chirp Signal 模塊為線性調(diào)頻信號(hào)發(fā)生模塊,生成一個(gè)線性調(diào)頻信號(hào) 0.1Hz 1Hz 。 在該模型仿真中,使用默認(rèn)的仿真參數(shù)。仿真結(jié)果如圖 3-11所示。顯然,一個(gè)線性調(diào)頻信 號(hào)通過 3階 FIR 濾波器后幅度發(fā)生了變

34、化,頻率較高部分的幅度被衰減了。圖 3-11 FIR 濾波器仿真結(jié)果 3.2.2 16階 FIR 濾波器的設(shè)計(jì)按照上節(jié)濾波器的設(shè)計(jì)流程,本節(jié)可設(shè)計(jì) 16階 FIR 濾波器,根據(jù)前面利用 Matlab 中 的 FDAtool 工具得到的 FIR 濾波器系數(shù)進(jìn)行設(shè)計(jì),設(shè)計(jì)圖如圖 3-12所示。 圖 3-12 16階 FIR 濾波器結(jié)構(gòu)由圖可以看出, 此系統(tǒng)是按照 FIR 濾波器的直接型結(jié)構(gòu)進(jìn)行搭建的, 主要包括延時(shí)器、乘法器和加法器。其輸入信號(hào)是一個(gè) 9位的數(shù)字信號(hào),經(jīng)過系統(tǒng)之后,得到的輸出信號(hào)是 一個(gè) 20位的數(shù)字信號(hào)。經(jīng)過 Simulink 仿真后得到仿真結(jié)果,仿真結(jié)果圖如圖 3-13所示。

35、圖 3-13 仿真結(jié)果從仿真結(jié)果可以看出,高頻的信號(hào)不能通過該系統(tǒng)而已經(jīng)被濾除,只有低于截止頻率 一下的信號(hào)才可以輸出,但是由于濾波的階數(shù)有限,所以效果不是特別明顯,但是基本上 能夠?qū)崿F(xiàn)濾波功能。下一步將該模型編譯后生成 VHDL 語(yǔ)言,然后在 Quartus II軟件中進(jìn)行仿真。 圖 3-14 編譯生成 VHDL 語(yǔ)言打開 Quartus II軟件,調(diào)入剛剛生成的 VHDL 語(yǔ)言的工程, 先進(jìn)行編譯, 編譯通過后, 然后利用 Quartus II中的 Simulation Waveforms進(jìn)行仿真, 首先設(shè)置時(shí)鐘信號(hào)為 50ns , 復(fù)位信號(hào)為高電平,輸入信號(hào)為一個(gè)無符號(hào)型的序列,輸出信號(hào)

36、的為無符號(hào)型數(shù)據(jù),存盤后進(jìn) 行仿真,仿真結(jié)果如圖 3-15所示。 圖 3-15Quartus II仿真結(jié)果從上圖可以看出,給定時(shí)鐘信號(hào)后,給一串序列作為輸人,然后就可以在得到輸出, 該輸出信號(hào)也為一串序列,這串序列也就是卷積得到的結(jié)果。為了驗(yàn)證其正確性,我們利 用 Matlab 進(jìn)行驗(yàn)證,打開 Matlab 后,在其 Command Window中利用卷積函數(shù)進(jìn)行運(yùn)算來 驗(yàn)證上述結(jié)果是否正確,其卷積結(jié)果如圖 3-16所示。圖 3-16Matlab 卷積結(jié)果從上圖可以看出,利用 Matlab 中卷積函數(shù)的運(yùn)算的結(jié)果和 Quartus II對(duì) FIR 濾波器仿 真的結(jié)果是完全一樣,因此,可以斷定此

37、次設(shè)計(jì)的濾波器是正確的,接下來就是要進(jìn)行硬 件實(shí)現(xiàn)。4. FIR 濾波器的硬件實(shí)現(xiàn)4.1系統(tǒng)硬件前面已經(jīng)設(shè)計(jì)好 FIR 濾波器系統(tǒng),并且都已經(jīng)仿真驗(yàn)證了其系統(tǒng)的正確性,接下來就 要進(jìn)行硬件電路的設(shè)計(jì)。由于我們是對(duì)模擬信號(hào)進(jìn)行濾波,于是,我們添加了 AD 和 DA 轉(zhuǎn)換電路,這可將模擬信號(hào)進(jìn)行數(shù)字化,然后再由 FIR 濾波器系統(tǒng)處理,得到的輸出仍是 數(shù)字信號(hào),再加上 DA 轉(zhuǎn)換電路就可以將該數(shù)字信號(hào)轉(zhuǎn)換成模擬信號(hào)。硬件實(shí)現(xiàn)框圖如圖 4-1所示。 圖 4-1硬件實(shí)現(xiàn)框圖硬件系統(tǒng)主要由 FPGA 、 JTAG 、 A/D轉(zhuǎn)換和 D/A轉(zhuǎn)換四部分組成。本次硬件部分的核 心芯片 FPGA 是 Alter

38、a 公司的 Cyclone 系列的 EP1C3T144C8, AD 轉(zhuǎn)換芯片選擇的是TLC549, DA 轉(zhuǎn)換芯片選擇的是 DAC7512。各部分硬件如下:1. FPGA 芯片 圖 4-2FPGA 芯片 2. JTAG 下載JTAG 是英文 Joint Test Action Group(聯(lián)合測(cè)試行為組織 的詞頭字母的簡(jiǎn)寫, 該組織 成立于 1985年,是由幾家主要的電子制造商發(fā)起制訂的 PCB 和 IC 測(cè)試標(biāo)準(zhǔn)。 JTAG 建議 于 1990年被 IEEE 批準(zhǔn)為 IEEE1149.1-1990 測(cè)試訪問端口和邊界掃描結(jié)構(gòu)標(biāo)準(zhǔn)。 JTAG 主 要應(yīng)用于:電路的邊界掃描測(cè)試和可編程芯片的在線

39、系統(tǒng)編程。 JTAG 下載口如圖 4-3所示。 圖 4-3 JTAG 下載口3. AD 轉(zhuǎn)換本次使用的 AD 轉(zhuǎn)換芯片 TLC549有一個(gè)片內(nèi)的 4MHz 系統(tǒng)時(shí)鐘, 該時(shí)鐘與 I/O CLOCK是獨(dú)立工作的,該時(shí)鐘用于片內(nèi)的系統(tǒng)控制,包括提供轉(zhuǎn)換時(shí)的時(shí)鐘, TLC549芯片有一 個(gè)模擬輸入端口, 3態(tài)的數(shù)據(jù)串行輸出接口可以方便的和微處理器或外圍設(shè)備連接。 TLC549只需要使用時(shí)鐘(I/O CLOCK 和芯片選擇信號(hào)(CS 來控制數(shù)據(jù),轉(zhuǎn)換輸出是 8位串行輸出,最大的時(shí)鐘(I/O CLOCK輸入為 1.1MHz 。在圖上能看到 I/O CLOCK那 有一段標(biāo)注為“ Dont Care” ,

40、該段是轉(zhuǎn)換時(shí)間段,在該段時(shí)間內(nèi)的時(shí)鐘就是由內(nèi)部時(shí)鐘提 供。 圖 4-4 TLC549芯片TLC549轉(zhuǎn)換時(shí)序如下圖: 圖 4-5 AD 轉(zhuǎn)換時(shí)序圖4. DA 轉(zhuǎn)換DAC7512是一種低功耗, 12位緩沖電壓輸出數(shù)字到模擬轉(zhuǎn)換器(DAC 。其內(nèi)置的精 密輸出放大器允許軌到軌 (即最大輸出可達(dá)到參考電壓 輸出擺幅。 DAC7512采用多功能 三線串行接口,運(yùn)行在高達(dá) 30MHz 的時(shí)鐘速率,并與標(biāo)準(zhǔn)的 SPI , QSPI ,微絲和 DSP 的接口兼容。DAC7512的 SOT-23-6封裝的引腳圖如下: 圖 4-6 DAC7512芯片DAC7512采用三線制(SYNC , SCLK 及 D IN

41、 串行接口,其串行寫操作時(shí)序如下圖所 示: 圖 4-7 DA 轉(zhuǎn)換時(shí)序圖22寫操作開始前, SYNC 要置低。 D IN 的數(shù)據(jù)在串行時(shí)鐘 SCLK 的下降沿依次移入 DAC7512的 16位輸入數(shù)據(jù)寄存器(DAC 是在下降沿的時(shí)候采數(shù)據(jù), 所以我們應(yīng)該在上升 沿的時(shí)候把數(shù)據(jù)發(fā)出 。輸入數(shù)據(jù)寄存器格式(輸入的數(shù)據(jù)被裝到這個(gè)寄存器里如下: 其中第 12位和第 13位是模式控制位,模式如表 4-1所示。表 4-1:DA 轉(zhuǎn)換芯片模式選擇 在此次設(shè)計(jì)中選擇正常模式,因此 DB13和 DB12均為 0。DAC7512的輸入數(shù)據(jù)寄存器寬度為 16位, 其中 DB15、 DB14是空閑位, DB13、 D

42、B12是工作模式選擇位、 DB11DB0是數(shù)據(jù)位。器件內(nèi)部帶有上電復(fù)位電路。上電后,寄存 器置 0,所以 DAC7512處于正常工作模式,模擬輸出電壓為 0V 。輸入數(shù)字量與輸出模擬量的對(duì)應(yīng)關(guān)系如下:V out=VDD *D/4096其中 D 為輸入數(shù)字量(DB11DB0是數(shù)據(jù)位 , 4096是 2的 12次方(因?yàn)閿?shù)據(jù)有效 位就是后 12位 , V DD 就是 DAC7512的電源電壓,也是其參考電壓。4.2硬件調(diào)試將程序編寫好,設(shè)置好相關(guān)參數(shù),然后將程序下載到 FPGA 芯片中,然后利用實(shí)驗(yàn)室 的信號(hào)發(fā)生器和示波器進(jìn)行測(cè)試。其中,由于 AD 轉(zhuǎn)換芯片只能輸入正值,因此,為了便 于 AD 芯

43、片轉(zhuǎn)換數(shù)據(jù),我們將信號(hào)發(fā)生器的輸入信號(hào)調(diào)節(jié)為向上偏移,偏移量為輸入信號(hào) 幅值的一半,這樣就剛剛好可以將輸入信號(hào)全部變?yōu)檎怠S布y(cè)試如圖 4-8所示。23圖 4-8 硬件測(cè)試圖1,測(cè)試一:輸如信號(hào)為 300Hz 的正弦波,幅值為 2V ,向上位移 1V 。如圖 4-9所示,其中左邊為 輸入信號(hào)波形,右邊為輸出信號(hào)波形。 圖 4-9 輸入 300Hz 信號(hào)及輸出從圖中我們能看出,輸出信號(hào)和輸入信號(hào)的頻率幾乎相同,因此可以判定,當(dāng)輸入信 號(hào)低于低通濾波器的截止頻率時(shí),經(jīng)過濾波器系統(tǒng)后,可以得到原輸入信號(hào)。2,測(cè)試二:輸入信號(hào)為 8KHz 的正弦波,幅值 2V ,向上位移 1V 。如圖 4-10所示

44、,其中左邊為輸 入信號(hào)波形,右邊為輸出信號(hào)波形。24 圖 4-10 輸入 8Khz 信號(hào)及其輸出觀察上圖,我們發(fā)現(xiàn)輸入信號(hào)為 8KHz 時(shí),輸出信號(hào)有明顯的衰減,這就說明當(dāng)輸入 信號(hào)大于低通濾波器的截止頻率時(shí),就會(huì)使得信號(hào)衰減。3,測(cè)試三:輸入信號(hào)為 10KHz 的正弦波,幅值 2V ,向上平移 1V 。如圖 4-11所示,其中左邊為輸 入信號(hào)波形,右邊為輸出信號(hào)波形。 圖 4-11輸入 10KHz 信號(hào)及其輸出觀察上圖,可以看出,當(dāng)輸入信號(hào)為 10KHz 時(shí),幾乎沒有輸出,這就說明輸入信號(hào)遠(yuǎn) 大與低通濾波器的截止頻率時(shí),該信號(hào)不會(huì)被輸出。通過觀察上述三組測(cè)試,可以看出當(dāng)輸入信號(hào)的頻率低于低通濾波器的截止頻率時(shí) , 輸入信號(hào)能正常輸出;當(dāng)輸入信號(hào)的頻率高于低通濾波器的截止頻率時(shí),輸出就會(huì)開始衰 減;當(dāng)輸入信號(hào)遠(yuǎn)大于低通濾波器的截止頻率時(shí),幾乎沒有輸出,這說明該濾波器能正常 工作,達(dá)到了濾波的功能,也就是說本次

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝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ù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 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ì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論