【正文】
orm, the fingerprint identification, Huffman coding 4 目錄 第一章 緒論: ......................................................................... 錯(cuò)誤 !未定義書簽。I 畢 業(yè) 設(shè) 計(jì)(論文) 題目: 基于 SOPC 的數(shù)據(jù)壓縮模塊 姓名 學(xué) 號(hào) 所在單位 指導(dǎo)教師 完成日期 2 基于 SOPC 的指紋數(shù)據(jù)壓縮模塊 摘 要 圖像壓縮直接影響著指紋識(shí)別系統(tǒng)的準(zhǔn)確率,因此研究優(yōu)良的指紋壓縮算法是指紋識(shí)別技術(shù)領(lǐng)域的一個(gè)重要課題。而小波變換則采用經(jīng)典的 Mallet 算法進(jìn)行了設(shè)計(jì)。 一幅指紋圖像經(jīng)過指紋采集器的采集和處理,得到的數(shù)據(jù)比特往往很大,而數(shù)據(jù)比特的多少會(huì)直接影響著指紋識(shí)別系統(tǒng)識(shí)別的速度 和所需的儲(chǔ)存空間。 指紋圖像采集部分通過特殊的光電轉(zhuǎn)換設(shè)備(既指紋采集器)將指紋圖像采集到計(jì)算機(jī)中以便進(jìn)行圖像處理 。圖像數(shù)字化后的數(shù)據(jù)量是巨大的,如何快速有效地存儲(chǔ)或傳輸這些數(shù)據(jù),成為當(dāng)前信息社會(huì)的一個(gè)研究熱點(diǎn)。由于圖像信息中存在著大量的冗余信息,數(shù)據(jù)間存在著關(guān)聯(lián)性,所以基于保密和方便信息傳輸與存儲(chǔ)的目的,往往還要對(duì)采集到的指紋圖像數(shù)據(jù)進(jìn)行壓縮編碼,以提高存儲(chǔ)、傳輸和處理 速度,節(jié)省存儲(chǔ)空間。在壓縮指紋時(shí)也都取得了很好的編碼效果。在壓縮編碼方面,本文將討論霍夫曼編碼。傅立葉變換一直統(tǒng)治著線性時(shí)不變信號(hào)處理,最主要的原因是傅立葉變換手所用的復(fù)正弦波 e^jwt是所有線性時(shí)不變算子的特征向量。這樣信號(hào)分析中的一對(duì)矛盾產(chǎn)生了:時(shí)域和頻域的局部化矛盾。與傳統(tǒng)的信號(hào)分析技術(shù)相比,小波分析能在沒有明顯損失的情況下,對(duì)信號(hào)進(jìn)行壓縮和去噪。 小 波 變 換數(shù) 據(jù)低 頻 分 量高 頻 分 量 圖 4 小波變換流程圖 壓縮編碼模塊簡介 為了節(jié)省儲(chǔ)存空間和傳輸時(shí)間,需要對(duì)小波變換后所得的系數(shù)進(jìn)行編碼,最后得到需要的圖像壓縮數(shù)據(jù)。在可變字長編碼中,對(duì)于出現(xiàn)概率大的符號(hào)編碼成短字 長的編碼,對(duì)于概率小的符號(hào),編以較長的字長編碼。這種算法實(shí)際上是一種信號(hào)分 解的方法,在數(shù)字信號(hào)處理中常稱為雙通道子帶編碼。 Mallat 算法系統(tǒng)設(shè)計(jì) 基于前述 Mallet算法,小波變換的系統(tǒng)架構(gòu),如下圖所示 : 14 數(shù) 據(jù) 輸 入 邊 界 延 拓串 并轉(zhuǎn) 換查 找 表部 分和 左移 加權(quán)流 水線 累加 器右 移1 5 位二 抽取數(shù) 據(jù) 選 擇輸 出串 并轉(zhuǎn) 換查 找 表部 分和 左移 加權(quán)流 水線 累加 器右 移1 5 位二 抽取輸 入 接 口 模 塊低 通 濾 波 模 塊高 通 濾 波 模 塊 輸 出 接 口 模 塊 圖 6 Mallet算法系統(tǒng)框圖 下面將介紹主要模塊設(shè)計(jì)與實(shí)現(xiàn) 。當(dāng)時(shí)鐘連續(xù)再次出現(xiàn)高電平時(shí)(即連續(xù)讀入兩個(gè)小波系數(shù)),根據(jù)二抽值模塊的算法要求,計(jì)數(shù)器輸出一個(gè)高電平(作為選擇模塊的控制信號(hào))同時(shí)計(jì)數(shù)清零。 1 39。 1 39。 1 39。 。c o n = 39。其實(shí)相當(dāng)于一個(gè) D觸發(fā)器。有符號(hào)的 x[n]可以用 B位的二進(jìn)制補(bǔ)碼表示為: ? ? ? ? ? ?211 ( 3 3 )0( 2 ) 2BBbBbbx n x n x n?????? ? ? ? ?? 其中,最高位為符號(hào)位。 本文通過 MATLAB的 Fdatool軟件實(shí)現(xiàn)求得濾波器的系數(shù)。此圖目的是實(shí)現(xiàn) 4式,當(dāng)一個(gè)時(shí)鐘上跳沿到來之后,移位寄存器向右移一位,同時(shí) 16個(gè)并行的移位寄存器分別進(jìn)入查找表進(jìn)行運(yùn)算。預(yù)先設(shè)定的查找表 LUT接受輸入向量: ()bxn=[ (0)bx ,(1)bx , (2)bx , ?, ( 1)bxn? ],輸出為 f(h(n), ()bxn)。本文假設(shè)為 16位 )查詢循環(huán)后就完成了對(duì)內(nèi)積 y的計(jì)算。查找表的總深度為 4x 42 =64。 c l k : i n s t d _ l o g i c 。 o u t p u t : o u t s t d _ l o g i c ) 。 1 39。b = ( o t h e r s = 39。e l s i f ( c l k 39。 1 39。 1 39。b ( 1 4 d o w n t o 0 ) = b ( 1 5 d o w n t o 1 ) 。e n d p r o c e s s 。 h 1 2 2 2 M u x 11 6 39。 ROM 中參數(shù)的設(shè)定如表 2所示:對(duì)于系數(shù) h0— h3可以做一張類似的查找表 , 20 ROM 中參數(shù)的設(shè)定如表 1示: 查找表輸入 查找表輸出 查找表輸入 查找表輸出 0000 0 1000 h(0) 0001 h(3) 1001 h(0)+h(3) 0010 h(2) 1010 h(0)+h(2) 0011 h(2)+h(3) 1011 h(0)+h(2)+h(3) 0100 h(1) 1100 h(0)+h(1) 0101 h(1)+h(3) 1101 h(0)+h(1)+h(3) 0110 h(1)+h(2) 1110 h(0)+h(1)+h(2) 0111 h(1)+h(2)+h(3) 1111 h(1)+h(2)+h(3)+h(4) 表 1 查找表中參數(shù)設(shè)定 其代碼如下: p r o c e s s ( t a b l e _ i n )b e g i nc a s e t a b l e _ i n i sw h e n 0 0 0 0 = t a b l e _ o u t = 0 。w h e n 0 1 0 0 = t a b l e _ o u t = 1 。w h e n 1 0 0 0 = t a b l e _ o u t = 2 。w h e n 1 1 0 0 = t a b l e _ o u t = 2 。w h e n o t h e r s = t a b l e _ o u t = 0 。latch1具體工作過程 。 ) t h e n l a t c h _ o u t = 0 。 ) t h e nl a t c h _ o u t = l a t c h _ i n 。其 RTL結(jié)構(gòu)如下: +A [ 4 . . 0 ]B [ 4 . . 0 ]A D D E R=A [ 4 . . 0 ]B [ 4 . . 0 ]E Q U A LD QP R EE N AC L RD QP R EE N AC L RSELD A T A AD A T A BO U T 0M U X 2 1A d d 05 39。 1 39。 1 39。e n d i f 。本文在這里只給出了低通濾波器的設(shè)計(jì),高通濾波器的設(shè)計(jì)只需將所求的濾波系數(shù)進(jìn)行更換,結(jié) 構(gòu)不變。是一種經(jīng)典而有效的編碼方式,在對(duì)信源概率精確統(tǒng)計(jì)的情況下,霍夫曼編碼往往能取得最佳的 壓縮效果。當(dāng)平均碼長大于圖像熵時(shí),表明該編碼方法效率很低;當(dāng)平均碼長等于或很接近于 (但不大于 )圖像熵時(shí),稱此編碼方法為最佳編碼,此時(shí)不會(huì)引起圖像失真。 設(shè) D為編碼所使用的數(shù)制,則變長最佳編碼的平均碼字長度 R的范圍為 ( 4 1 )1HHRlb D lb D ?? ? ? 霍夫曼編碼基本流程 霍夫曼編碼是以信源概率分布為基礎(chǔ)的,通常采用對(duì)大量數(shù)據(jù)進(jìn)行統(tǒng)計(jì)后得到的近似分布來代替,霍夫曼編碼的一般流程如下: ( 1) 首先統(tǒng)計(jì)信源中各符號(hào)出現(xiàn)的概率 ,出現(xiàn)的概率從 大到小排序。 ( 4) 分配碼字。所以,霍夫曼編碼的最終實(shí)現(xiàn)可以分為兩步: 1樹的構(gòu)造。樹的構(gòu)造過程中將產(chǎn)生 N— 1個(gè)內(nèi)部節(jié)點(diǎn)。用其中權(quán)重最小的兩個(gè)節(jié)點(diǎn)構(gòu)造子二叉樹,并生成新的內(nèi)部節(jié)點(diǎn).其編號(hào)等于已生成內(nèi)部節(jié)點(diǎn)的總數(shù)加 1,以保證 ns中的元素按權(quán)重升序排列.最后,根據(jù)選擇結(jié)果移動(dòng) i,t,m直到 m指向 1Nnv? (即根節(jié)點(diǎn) ).在上述過程中,子二叉樹的構(gòu)造具有一定的隨機(jī)性.為確保惟一性,作如下規(guī)定: ① 當(dāng) 1knv? 和 knv 權(quán)重相等時(shí) 。 25 上述規(guī)定使霍夫曼樹可由 ss惟一確定。假設(shè)輸入處理 8bit數(shù)據(jù),設(shè)置 3個(gè)整形的數(shù)組如下: type array_ss is array (8 downto 0) of integer range 0 to 101 。 signal ns:array_ns。令 i,t,m, n分別指向數(shù)組 ss, ns, s。例如,子節(jié)點(diǎn),父節(jié)點(diǎn)等, 26 整個(gè)霍夫曼樹的所有節(jié)點(diǎn)的信息將以串行的形式儲(chǔ)存在一個(gè)數(shù)組 a中。 設(shè)立一個(gè)指針 z 指向 a, o 指向 f, e 指向 d。 2. 對(duì)找到的葉節(jié)點(diǎn)進(jìn)行遍歷,如果 y 代表的節(jié)點(diǎn)是左子節(jié)點(diǎn),則賦 0,反之賦 1。 1, 2 步驟進(jìn)行運(yùn)算,直到 j=7。本文設(shè)計(jì)的霍夫曼編碼結(jié)構(gòu)采用的是一種比較傳統(tǒng)的串行編碼結(jié)構(gòu),可以從綜合圖 中看出,其結(jié)構(gòu)十分復(fù)雜,是典型的以資源換取速度,功耗的消耗也不能保證,如果系統(tǒng)對(duì)數(shù)據(jù)處理量不大,分辨率要求不高可以使用,如果系統(tǒng)要求很高,則不能滿足其要求。 1 1 1 1( 0) ( 0) ( 1 ) ( 1 ) ... ( 1 ) ( 1 )a h x h x h n x n? ? ? ? ? ? ? ?。 表 3 累加器和 latch1的輸出結(jié)果 latch1最終輸出()yn = 152? 0a + 142? 1a + 132? 2a + 02 15a = 152? ( 0a +12 1a + 2 2a +…… 152 15a 。 latch1和 latch2仿真驗(yàn)證 latch1在每個(gè)時(shí)鐘下跳沿到來后,儲(chǔ)存累加器的輸出結(jié)果并輸出,latch2當(dāng)?shù)?16個(gè) ready高電平到來后,輸出 latch1的輸出結(jié)果,此即為最終濾波完成的數(shù)據(jù)。濾波器功能驗(yàn)證時(shí)設(shè)定波形圖中時(shí)鐘周期 clk為 10ns,通過分析其仿真波形圖可以發(fā)現(xiàn),每隔 180 ns 左右的時(shí)間就可以得到一個(gè)輸出,證明 DA 算法的運(yùn)算速度僅僅只與輸入數(shù)據(jù)序列的位寬有關(guān)。 以上節(jié)輸入葉節(jié)點(diǎn)為例,依據(jù)第四章的構(gòu)建霍夫曼樹的規(guī)則,我們可以得到一個(gè)如下圖的霍夫曼樹: 32 0 22 57 1 01 74 11 0 02 341 1 1 36 75 9 圖 23 構(gòu)建的霍夫曼樹 從上至下,從右至左的將節(jié)點(diǎn)記下,得 到的正是上節(jié)仿真得到的序列 s。本文輸入 8Bit 數(shù)據(jù),構(gòu)建出一個(gè)霍夫曼樹需 要 7 個(gè)時(shí)鐘周期。 35 第六章 總結(jié)與展望 本次畢業(yè)設(shè)計(jì)的主要研究對(duì)象是基于 SOPC 的指紋識(shí)別系統(tǒng)數(shù)據(jù)壓縮模塊,經(jīng)過查閱資料,本文主要對(duì)小波變換 +壓縮編碼形式的壓縮算法進(jìn)行了較為詳細(xì)的闡述。在第三章本文介紹了 Mallet 算法實(shí)現(xiàn)小波變換。其后就對(duì)二抽值模塊設(shè)計(jì)進(jìn)行了簡要的介紹。 總結(jié)本次設(shè)計(jì),工作還不是很完善,還有很多地方需要改進(jìn):1 設(shè)計(jì)的小波變換和壓縮編碼并沒 有下載到試驗(yàn)板進(jìn)行調(diào)試。 滿足其功能,結(jié)構(gòu)還是比較復(fù)雜,速度較慢,并沒有優(yōu)化。 【 4】林建英,伍勇,李建華,全偉偉 . 一種易于硬件實(shí)現(xiàn)的快速自適應(yīng)哈夫曼編碼算法 . 大連理工大學(xué)電子與信息工程學(xué) 院.遼寧大連,.清華大學(xué)電子工程系,北京 【 5】晏金成 . 基于 DA 算法的 FI R 濾波器的 FPGA 實(shí)現(xiàn), (廣東工業(yè)大學(xué),廣州 , 【 6】 李明緯 黃世震 , 應(yīng)用分布式算法在 FPGA 平臺(tái)實(shí)現(xiàn) FIR 低通濾波器 . 福州大學(xué) 福建省微電子集成電路重點(diǎn)實(shí)驗(yàn)室福州 【 7】杭小慶,張素文,王天珍 一種基于小波變換圖像壓縮編碼方法 . (武投稿繪科技大學(xué) (武漢汽車工業(yè)大學(xué) ) 37 致 謝 值此論文完成之際,謹(jǐn)向給予過我指導(dǎo)、關(guān)心和幫助的人表示最衷心的感謝。本論文從選題、研究到最后完成,都是在李老師的悉心指導(dǎo)下完成的。A(萬kWh)shg1Pshg1PshfPb b39。6a*CZ7H$dq8Kqqf HVZFedswSyXTyamp。qYpEh5pDx2zVkum amp。qYpEh5pDx2zVkum amp。qYpEh5pDx2zVkum amp。qYpEh5pDx2zVkum amp。qYpEh5pDx2zVkum amp