【正文】
30 Logic utilization used availablc utilization Logic elements 327 33216 1% Combination functions 305 33216 1% pins 266 475 56% 表 4 系統(tǒng)綜合的資源使用狀況 同時(shí)本次設(shè)計(jì)的濾波器一共使用了 294 個(gè)寄存器。分配編碼所用的時(shí)間較長(zhǎng),因?yàn)閷?duì)每個(gè)葉節(jié)點(diǎn)需要對(duì)整個(gè)霍夫曼表進(jìn)行一次遍歷需要 7 個(gè)時(shí)鐘周期,所以,所有的運(yùn)算需要 63 34 個(gè)時(shí)鐘周期左右才能完成。在濾波器實(shí)現(xiàn)方面,采用 DA 算法實(shí)現(xiàn),這種算法的優(yōu)點(diǎn)是將傳統(tǒng) FIR 濾波器的乘法和累加以查找表的形式代替,使系統(tǒng)減少了大量的乘法器和累加器,從而大大的提高了濾波器的運(yùn)算速度。 2 小波變換的設(shè)計(jì)還應(yīng)該設(shè)計(jì)反變換模塊。 深深地感謝我的導(dǎo)師 **教員。tjA shfP39。gTXRm 6X4NGpP$vSTamp。gTXRm 6X4NGpP$vSTamp。gTXRm 6X4NGpP$vSTTamp。849Gx^Gjqv^$UE9wEwZQcUE%amp。M uWFA5ux^Gjqv^$UE9wEwZQcUE%amp。849Gx^Gjqv^$UE9wEwZQcUE%amp。 d39?;?FPGA的高性能離散小波變換設(shè)計(jì) . 武漢大學(xué)物理科學(xué)與技術(shù)學(xué)院電子科技系,武漢, 2021. 【 2】 孫超 楊春玲 . 一種低存儲(chǔ)高速并行小波變換算法的 FPGA實(shí)現(xiàn) . 哈爾濱工業(yè)大學(xué)電氣工程及自動(dòng)化學(xué)院,哈爾濱 【 3】 陳莉 王嘉 . 一種應(yīng)用于指紋識(shí)別系統(tǒng)的指紋圖像壓縮算法 . 上海交通大學(xué)圖像通信與信息處理研究所 。但無疑并行的霍夫曼編碼器結(jié)構(gòu)速度更快,功耗更小。在第二章,我們就對(duì)本次算法的總體結(jié)構(gòu)進(jìn)行了大體的介紹。 霍夫曼編碼算法性能分析 本文設(shè)計(jì)的霍夫曼編碼算法分為兩部:先構(gòu)建霍夫曼樹然后再分配編碼。在查找表的實(shí)現(xiàn)環(huán)節(jié)上,通過?分解級(jí)聯(lián)?的方式簡(jiǎn)化了查找的規(guī)模,使之能夠?qū)崿F(xiàn)高階 FIR 濾波器。 現(xiàn)在模擬本文設(shè)計(jì)的 DA濾波器的工 作過程,得到累加器和latch1(這里將 latch1和 mul模塊整體看作 latch1)在每個(gè)時(shí)鐘到來后的輸出結(jié)果,其結(jié)果如表 2: 時(shí)鐘 累加器 latch1 1 0a 12? 0a 2 12?0a + 1a 12? ( 12? 0a + 1a ) 3 22?0a + 12? 1a + 2a 12? ( 22? 0a + 12? 1a + 2a ) …… …… …… 16 152?0a + 142? 1a + 132? 2a +……02 15a 12? ( 152? 0a +…… 02 15a )( 16個(gè)時(shí)鐘后,一輪 運(yùn)算結(jié)束)。硬件實(shí)現(xiàn)霍夫曼編碼的主要優(yōu)勢(shì)在于其更高的速度和更低的功耗。具體步驟如下: ss(j)賦給 y(初始 j=0),并在數(shù)組 a 中找到相應(yīng)的葉節(jié)點(diǎn)。 因?yàn)?ss按降序排列, ns按升序排列,所以每次相加的兩個(gè)數(shù)只可能是 ss(i)+ss(i+1),ss(i)+ns(t),ns(t)+ns(t1)三種組合,指針的移動(dòng)情況如下表: 組合情況 i t m n ss(i)+ss(i+1) i=i+2 不變 m=m1 n=n+2 ss(i)+ns(t) i=i+1 t=t1 m=m1 n=n+2 ns(t)+ns(t1) 不變 t=t2 m=m1 n=n+2 表 2 指針移動(dòng)的情況 在構(gòu)建霍夫曼樹時(shí)同時(shí)構(gòu) 建一個(gè)霍夫曼表,主要作用是存放每個(gè)節(jié)點(diǎn)的基本信息,從而得到整個(gè)樹的信息。 signal ss:array_ss。 ③ 當(dāng)符號(hào)和內(nèi)部節(jié)點(diǎn)權(quán)重相等時(shí),認(rèn)為符號(hào)權(quán)重較小。 樹的構(gòu)造基本思想 本文從研究樹的構(gòu)造入手來實(shí)現(xiàn)算法, 這一過程可通過節(jié)點(diǎn)序列描述.在靜態(tài)哈夫曼編碼中,各輸入符號(hào)按事先統(tǒng)計(jì)的出現(xiàn)次數(shù)(即權(quán)重 )降序排列,所得序列記為, ss = { 1sv , 2sv , 3sv , ? , ksv , ? ,Nsv }其中 ksv 表示排在第 k位的符號(hào), N 是符號(hào)的個(gè)數(shù)。如此重復(fù)進(jìn)行,直到最后兩個(gè)概率的和為 1。 霍夫曼編碼的理論基礎(chǔ) 根據(jù)信息論中信源編碼理論,當(dāng)平均碼長(zhǎng) R大于等于圖像熵 H時(shí),總可設(shè)計(jì)出一種無失真編碼。 總結(jié) 本文對(duì)小波變換 Mallet算法展開深入研究,基本實(shí)現(xiàn)算法中的濾波器組和二抽值模塊功能構(gòu)建。 e v e n t a n d c l k = 39。 latch2具體過程:每來一個(gè) ready高電平計(jì)數(shù)一次,當(dāng)計(jì)數(shù)值 16次后(即 16個(gè)時(shí)鐘后)寄存器輸出數(shù)據(jù),即為濾波器工作后最終得到的數(shù)據(jù)。 1 39。w h e n 1 1 1 1 = t a b l e _ o u t = 1 。w h e n 0 1 1 1 = t a b l e _ o u t = 2 。 h E 6 3 C 圖 10 查找表的 RTL圖 設(shè)計(jì)的查找表輸入 4位,輸出為采樣值和濾波系數(shù)的乘積。e n d i f 。i f ( r e a d y = 39。t = 0 ?;诖嗽O(shè)計(jì)代碼如下: p r o c e s s ( c l k , c l r , t )b e g i ni f ( c l r = 39。 移位寄存器的實(shí)現(xiàn) 本文一共需要 16個(gè)并行的相同的移位寄存器,此處以其中一個(gè)為例,寄存器的端口設(shè)定如下: p o r t ( a : i n s t d _ l o g i c _ v e c t o r ( 1 5 d o w n t o 0 ) 。在 K次 (K為采樣數(shù)據(jù)寬度。 VHDL實(shí)現(xiàn): 濾波器的結(jié)構(gòu)圖如下: X 0 [ 0 ] X 0 [ 1 ] X 0 [ 2 ] X 0 [ N 1 ]累 加 器 / 累 減 器移 們 寄 存 器* 2 ^ 1C L RD Q C L K Q ’S E T R O MR O M+ 圖 8 DA算法結(jié)構(gòu)圖 設(shè)計(jì)思想:構(gòu)造 16行的移位寄存器,每個(gè)移位寄存器能儲(chǔ)存 b(本文 b=16)個(gè)比特?cái)?shù)據(jù),四個(gè) 4輸入的查找 表,加法器和寄存器。 由于 FIR濾波器的系數(shù)具有對(duì)稱性,分布式算法( DA算法)提出可將乘法去處轉(zhuǎn)換為移位相加,從而節(jié)約硬件資源,下面看乘積和公式: ? ? ? ? ? ?1 ( 3 2 )0Nny n h n x n? ??? ? 假設(shè) FIR系數(shù) h[n]已知。 。i f ( q = 2 ) t h e ns i g n = 39。 h 1 i f ( c l r = 39。 (2) 通過低通濾波器和產(chǎn)高通濾波器的 數(shù)據(jù)再次通過二抽值模塊,得到近似小波系數(shù)和細(xì)節(jié)小波系數(shù),作為下一步工作的數(shù)據(jù)。本文將介紹的霍夫曼編碼是無損編碼的一種,是一種基于統(tǒng)計(jì)特性的可變字長(zhǎng)的編碼方法。正是這種特性,使小波變換具有對(duì)信號(hào)的自適應(yīng)性。 . 1傅立葉變換 信號(hào)處理中,重要的方法之一是傅立葉變換,它架起了時(shí)間域和 頻率域之間橋梁。根據(jù)有關(guān) JPEG2021計(jì)算復(fù)雜度的分析報(bào)告顯示, JPEG2021 的高強(qiáng)度 +計(jì)算任務(wù)包括嵌入式優(yōu)化截?cái)鄩K編碼 (EBCOT)的 Tier1 以及離散小波變換模塊,它們幾乎貢獻(xiàn)了全部計(jì)算復(fù)雜度的 80%,構(gòu)成了 JPEG2021 高速實(shí) 時(shí)運(yùn)行的嚴(yán)重瓶頸 WSQ 指紋壓縮算法標(biāo)準(zhǔn) 由美國(guó) FBI 發(fā)布的基于小波變換的 WSQ 指紋壓縮算法標(biāo)準(zhǔn),也采用了小波變換 +標(biāo)量量化和壓縮編碼等技術(shù)。因?yàn)樾〔ㄗ儞Q比 DCT這樣的傅立葉變換的性能更優(yōu)越,是一種自適應(yīng)的時(shí)頻分析方法,具有多分 辨分析功能,也被譽(yù)為數(shù)學(xué)顯微鏡。 遍及軍隊(duì)、銀行 、 保險(xiǎn) 、 邊防檢查 、 公安 、 醫(yī)療衛(wèi)生及網(wǎng)絡(luò)接入等各個(gè)領(lǐng)域 。基于此本文對(duì)此課題展開了研究并提出了小波變換 +霍夫曼編碼組合使用的圖像壓縮算法。因此 , 研究指紋圖像的壓縮技術(shù) , 保證高壓縮比和優(yōu)良的恢復(fù)效果是指紋識(shí)別技術(shù)研究領(lǐng)域的一個(gè)重要課題 。如此龐大的數(shù)據(jù)量,無疑給存儲(chǔ)容量、通信線路的傳輸帶寬以及計(jì)算機(jī)的處理能力提出了更高的要求。 基于此本文提出的指紋圖像壓縮算法也基于小波變換 +壓縮編碼的形式。 但是雖然傅立葉變換能夠?qū)⑿盘?hào)的時(shí)域性和頻域性聯(lián)系起來,但我們只能從信號(hào)的時(shí)域和頻域分別觀察,不能將二者結(jié)合起來。因此,小波變換在對(duì)瞬態(tài)信號(hào)分析中擁有更大優(yōu)勢(shì)。而霍夫曼編碼正因?yàn)槠涫强勺冮L(zhǎng)編碼,所以在硬件實(shí)現(xiàn)起來會(huì)有一定的難度。調(diào)用 IP核,使得該模塊具有很高的效率,并且該部分結(jié)構(gòu)和功能均已得到了很好的優(yōu)化。e l s i f ( c l k 39。c o n = 39。 。下面依據(jù)分布式算法,設(shè)計(jì)濾波器的步驟為: 1 求出濾波器系數(shù)。直至 16個(gè)時(shí)鐘之后,所有數(shù)據(jù)運(yùn)算完畢,經(jīng)過 latch2輸出的最后數(shù)據(jù)則為經(jīng)過濾波的數(shù)據(jù)。假設(shè)本文設(shè)計(jì)的濾波器為 16階,照?分解級(jí)聯(lián)?的處理方式。 k : i n s t d _ l o g i c 。 0 39。 1 39。 0 39。 h 0 1 b [ 1 4 . . 0 ]b [ 1 5 ]o u t p u t ~r e g 0p ro ce s s _ 0 ~1t [ 4 . . 0 ]b ~[ 2 9 . . 1 5 ]cl kcl rkre a d yo u t p u ta [ 1 5 . . 0 ]p ro ce s s _ 0 ~0Eq u a l 05 39。w h e n 0 0 1 0 = t a b l e _ o u t = 3 。w h e n 1 0 1 0 = t a b l e _ o u t = 3 。 寄存器的實(shí)現(xiàn) 本文一共設(shè)計(jì)了兩個(gè)寄存器, latch1的作用是在低電平到來時(shí)存儲(chǔ)累加器輸出的數(shù)據(jù),并輸出,將數(shù)據(jù)反饋回累加器參與運(yùn)算。 e v e n t a n d c l k = 39。 h 0 F l a t ch 2 _ o u t [ 5 . . 0 ] ~r e g 0cl kcl rl a t ch 2 _ o u t [ 5 . . 0 ]t [ 4 . . 0 ]t ~[ 4 . . 0 ]5 39。i f ( t = 1 5 ) t h e n l a t c h 2 _ o u t = l a t c h 2 _ i n 。同時(shí)本文也只基于對(duì)圖像進(jìn)行一級(jí)小波變換分解,如果對(duì)壓縮要求更高而對(duì)失真程度要求不嚴(yán),可以繼續(xù)進(jìn)行二級(jí)和三級(jí)等等分解,步驟就是將上一級(jí)得到的低頻分量繼續(xù)通過濾波器組進(jìn)行分解。有變長(zhǎng)編碼中,如果碼字長(zhǎng)度嚴(yán)格按照對(duì)應(yīng)符號(hào)出現(xiàn)的概率大小逆序排列,則其平均碼字長(zhǎng)度為最小,這就是變長(zhǎng)最佳編碼定理。 從霍夫曼編碼的流程看出樹的構(gòu)建在霍夫曼編碼中占有很重要的地位,因?yàn)樵跇?gòu)建樹的過程中可以獲得整個(gè)樹的節(jié)點(diǎn)全部信息以用于編碼。設(shè)立指針 i指向 nsv , t和 m指向 1nv 。顯然, s中各節(jié)點(diǎn)的排序代表了它們被選出構(gòu)造子二叉樹的先后次序.故 s代表了霍夫曼樹的構(gòu)造過程。 為計(jì)算方便, ss數(shù)組中多設(shè)置一位,令其等于 101。在分配編碼時(shí),不可避免的葉節(jié)點(diǎn)和內(nèi)部節(jié)點(diǎn)可能值會(huì)相等,從而造成分配編碼出現(xiàn)錯(cuò)誤,基于此再設(shè)計(jì)一個(gè)數(shù)組 f 作為指示 a中所存節(jié)點(diǎn)為葉節(jié)點(diǎn)或者為內(nèi)部節(jié)點(diǎn)。當(dāng)當(dāng)前遍歷節(jié)點(diǎn)的父節(jié)點(diǎn)為 100 時(shí),停止遍歷,同時(shí)指針 a,o 清零, j,e 同時(shí)加一。 27 第五章 設(shè)計(jì)驗(yàn)證 小波變換設(shè)計(jì)驗(yàn)證 DA算法結(jié)構(gòu)驗(yàn)證 本文設(shè)計(jì)的濾波模塊采用的 DA算法是輸出是基于 FIR濾波器的輸出表達(dá)式改進(jìn)來的,最終采用 DA算法設(shè)計(jì)得到的濾波器輸出為()yn =[ 00( 0 ) ( 0 ) (1) (1)h x h x? ? ? 00.. . ( ) ( 1)] 2h n x n? ? ? ?+[ 1(0) (0)hx? h?111(1 ) (1 ) ... ( 1 ) ( 1 ) ] 2x h n x n? ? ? ? ? ?+ 11[ ( 0) ( 0) (1 ) (1 ) .. .bbh x h x??? ? ? ( 1)hn?? 11( 1)] 2bbxn ?? ??。 28 移位寄存器仿真驗(yàn)證 本文設(shè)計(jì)的移位寄存器的功能是在時(shí)鐘上跳沿到來后,如果控制信號(hào) k =‘ 1’則數(shù)據(jù)寫入寄存器,當(dāng)輸出使能信號(hào) ready =‘ 1’時(shí),輸出當(dāng)前移位寄存器的第一位,同時(shí)移位寄存器整體向右移一位。濾波器仿真波