《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 可編程邏輯 > 設(shè)計(jì)應(yīng)用 > 基于Verilog HDL的小波濾波器的設(shè)計(jì)與實(shí)現(xiàn)
基于Verilog HDL的小波濾波器的設(shè)計(jì)與實(shí)現(xiàn)
摘要: 小波濾波器的設(shè)計(jì)屬于復(fù)雜算法的電路設(shè)計(jì),因此利用Veril—ogHDL對雙正交小波濾波器進(jìn)行建模,、仿真,,實(shí)現(xiàn)電路的自動化設(shè)計(jì),將是一種較為理想的方法,。
Abstract:
Key words :

  現(xiàn)代計(jì)算機(jī)和通信系統(tǒng)中廣泛采用數(shù)字信號處理的技術(shù)和方法,,其基本思路是先把信號用一系列的數(shù)字來表示,然后對這些數(shù)字信號進(jìn)行各種快速的數(shù)學(xué)運(yùn)算。其目的是多種多樣的,,有的是為了加密,,有的是為了去掉噪聲等無關(guān)的信息,稱為濾波,;有時(shí)也把某些種類的數(shù)字信號處理運(yùn)算成為變換,,如離散的傅里葉變換(DFT),小波變換(Wavelet T)等,。VerilogHDL是目前應(yīng)用最廣泛的一種硬件描述語言,,用于數(shù)字電子系統(tǒng)的設(shè)計(jì)??捎盟M(jìn)行各種級別的邏輯設(shè)計(jì),,并進(jìn)行數(shù)字邏輯系統(tǒng)的仿真驗(yàn)證,時(shí)序分析,,邏輯綜合,。小波濾波器的設(shè)計(jì)屬于復(fù)雜算法的電路設(shè)計(jì),因此利用Veril—ogHDL對雙正交小波濾波器進(jìn)行建模,、仿真,,實(shí)現(xiàn)電路的自動化設(shè)計(jì),將是一種較為理想的方法,。

  l 小波濾波器的設(shè)計(jì)

  對于小波函數(shù),,要求它具有正交性、緊支集,、對稱性和平滑性,。正交性可以使變換無冗余;緊支集則帶來優(yōu)良的空間分辨率,;對稱性保證了與其對應(yīng)濾波器的相位為線性,;平滑性可以產(chǎn)生較小的失真。這樣使離散二進(jìn)小波變換受到很大的限制,,為此,,人們提出一種雙正交的小波變換。本文設(shè)計(jì)小波濾波器正是基于雙正交小波變換的一種雙通道完全重構(gòu)濾波器,,因此可以對信號進(jìn)行分解后實(shí)現(xiàn)精確重構(gòu),,所以對信號的濾波有很好的作用。由于它具有正變換二元上抽樣采樣和反變換二元下抽樣采樣特性,,在進(jìn)行濾波器設(shè)計(jì)時(shí)可以將雙正交小波濾波器設(shè)計(jì)成具有多相結(jié)構(gòu)的雙通道完全重構(gòu)濾波器,。雙正交小波變換可以看成原始信號通過一系列高低通濾波器濾波并經(jīng)過抽樣后所得到的結(jié)果,重構(gòu)過程與此相反,。為了使變換后的信號能夠完全重建,,須滿足Y(n)=x-kX(n),,在這里取k=1。雙正交小波濾波器分解和重構(gòu)過程如圖1所示,。

雙正交小波濾波器分解和重構(gòu)過程

  設(shè)G(z),,H(z)分別為分解低通,高通濾波器,,下采樣后用H(z)濾波等價(jià)于先用H(z2)濾波,,然后下采樣,所以:

公式

  其中:Ge和Go分別是G(z)的偶數(shù)項(xiàng)和奇數(shù)項(xiàng),,He和H,。分別是H(z)的偶數(shù)項(xiàng)和奇數(shù)項(xiàng)。根據(jù)式(1),,式(2)可以建立雙正交小波濾波器的多相結(jié)構(gòu)模型如圖2所示,。

雙正交小波濾波器的多相結(jié)構(gòu)模型

  下面對雙正交小波濾波器用VerilogHDL進(jìn)行頂層設(shè)計(jì):

程序

  對于雙正交小波濾波器的部件Ge,Go,,He,,Ho設(shè)計(jì),采用行為描述方式進(jìn)行設(shè)計(jì),。VerilogHDL行為描述語言作為一種結(jié)構(gòu)化和過程性的語言,,其語法結(jié)構(gòu)非常適合于算法級和RTL級的模型設(shè)計(jì)。在Veril—ogHDL語言中行為描述分為算法和RTL兩種,。算法級:用語言提供的高級結(jié)構(gòu)能夠?qū)崿F(xiàn)算法的運(yùn)行模型,。RTL級:描述數(shù)據(jù)在寄存器之間的流動和如何處理,控制這些數(shù)據(jù)的流動,,采用改進(jìn)的DA算法(如圖3所示),。DA算法完成一次濾波所需要B次的累加(或減)也就是B個(gè)時(shí)鐘周期完成一次運(yùn)算,B位輸入數(shù)據(jù)的位寬,。它的查找表(LUT)的大小是由濾波器的階數(shù)N決定的,共需要2N個(gè)查找表單元,,如果系數(shù)N過多,,用單個(gè)LUT不能夠執(zhí)行全字查找則可把系數(shù)分組,利用部分表并將結(jié)果相加,,為了簡單的闡述算法,,在此系數(shù)只分了2組,每個(gè)單元的位寬是由濾波器的系數(shù)的量化決定的,。Ge,,Go,He,,Ho四個(gè)濾波器雖然長度不同,,但具有相同的電路結(jié)構(gòu),,如圖4所示。

改進(jìn)的DA算法

基于有符號的改進(jìn)DA算法電路結(jié)構(gòu)

  計(jì)算控制器用于控制濾波單元中移位寄存器移位,,累加器的循環(huán)周期和計(jì)算輸出,,并控制移位寄存器的數(shù)據(jù)輸入。

  2 利用VerilogHDL語言實(shí)現(xiàn)以上功能

  2.1 用VerilogHDL語言進(jìn)行算法建模

  計(jì)算機(jī)控制器(calculate—controller)的veril—ogHDL模型:

  寄存器組中每個(gè)寄存器的位數(shù)為0,,1,,…,num一1,。

程序

程序

  2.2 定制ROM

  QuartusⅡ包含有許多有用的LPM(Library ofParameterized Modules)模塊,,它們是復(fù)雜或高級系統(tǒng)構(gòu)建的重要組成部分,可以與QuartusⅡ普通設(shè)計(jì)文件一起使用,,該文使用“Tools”菜單下的MegaWizardPlug—In Manager命令定制ROM的元件,。如圖5所示。

定制ROM

  2.3 用VerilogHDL進(jìn)行數(shù)據(jù)流建模

  濾波器的建模過程如下:

程序

  3 驗(yàn)證仿真

  利用Altera公司的QuartusⅡ7.2軟件內(nèi)部帶有仿真器對濾波器的VerilogHDL模型進(jìn)行波形仿真,,通過建立正確的Vector Waveform File(向量波形文件)就可以開始仿真了,。如圖6所示。

濾波器波形的仿真結(jié)果圖

  通過QuartusⅡ的波形仿真功能,,對輸入輸出進(jìn)行波形仿真,,對其結(jié)果進(jìn)行定量分析。通過時(shí)序分析和功能分析結(jié)果,,對設(shè)計(jì)進(jìn)行進(jìn)一步的完善,。在仿真中,in—put濾波器輸入數(shù)據(jù),,output濾波器輸入數(shù)據(jù)x0,,x1,x2,,x3,,x4為移位寄存器組中寄存器,count為控制計(jì)數(shù)器,,table-in為流水線寄存器,。所得結(jié)果如圖6所示。經(jīng)驗(yàn)證,,仿真結(jié)果和實(shí)際運(yùn)算結(jié)果一致,。所以對于大多數(shù)連續(xù)的LTI系統(tǒng)都可以采用以上方法進(jìn)行分析,但是他也有局限性:對于時(shí)變系統(tǒng),,非線性系統(tǒng)分析,,它無能為力;只適合分析一維變量,,對于多維變量,,它無能為力,;可采用狀態(tài)變量分析方法;就精確度來說,,這種分析方法不是很高,。

 

  盡管連續(xù)LTI系統(tǒng)有很多缺點(diǎn),但是通過對LTI系統(tǒng)的分析可以培養(yǎng)系統(tǒng)建模和求解能力,,為以后分析其他系統(tǒng)作參考,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。