基于FPGA的快速9/7整形離散小波變換系統(tǒng)設(shè)計(jì)
2 9/7二維離散小波變換的系統(tǒng)設(shè)計(jì)過(guò)程
本文在Xilinx公司提供的ISE7.1集成設(shè)計(jì)軟件環(huán)境下,采用VHDL語(yǔ)言設(shè)計(jì)實(shí)現(xiàn)9/7二維離散小波變換系統(tǒng),首先進(jìn)行小波行變換,行變換后的數(shù)據(jù)按照行數(shù)輸入內(nèi)部RAM緩存,然后對(duì)行變換后的數(shù)據(jù)再進(jìn)行列變換,最后將低頻系數(shù)dLLl輸入RAM緩存,其余高頻系數(shù)dLHl,dHLl,dHHl輸出到外掛RAM中緩存,系統(tǒng)設(shè)計(jì)流程,如圖2所示。
2.1 行變換過(guò)程
首先,使用7個(gè)移位寄存器來(lái)實(shí)現(xiàn)對(duì)數(shù)據(jù)的讀寫(xiě)傳輸,每到來(lái)一個(gè)時(shí)鐘控制信號(hào)(clk),就往移位寄存器中讀寫(xiě)一個(gè)數(shù)據(jù),數(shù)據(jù)在移位寄存器中的傳輸過(guò)程,如圖3所示。
當(dāng)輸入第5個(gè)數(shù)據(jù)時(shí),就可以根據(jù)式(1)和式(5)分別計(jì)算出第一個(gè)高通系數(shù)值D0和第一個(gè)低通系數(shù)值C0,下一個(gè)時(shí)鐘控制信號(hào)讀入第6個(gè)數(shù)據(jù)時(shí),不進(jìn)行操作,當(dāng)控制讀入第7個(gè)數(shù)據(jù)時(shí),根據(jù)式(2)和式(6)分別計(jì)算出第2個(gè)高通系數(shù)值Dj和第2個(gè)低通系數(shù)值Cj,小波行變換后的高通系數(shù)D和低通系數(shù)C采用地址傳輸?shù)姆绞浇徊娲鎯?chǔ)到6個(gè)內(nèi)部RAM當(dāng)中,如圖4所示。
2.2 列變換過(guò)程
由于列變換是針對(duì)行變換后的數(shù)據(jù)進(jìn)行的,即對(duì)上面6片RAM中存儲(chǔ)的行變換后的數(shù)據(jù)進(jìn)行列變換,為了提高運(yùn)行速度,本文采用基于行的列變換方法,即當(dāng)小波變換進(jìn)行到第5行時(shí),列變換也同時(shí)進(jìn)行,第5行行變換結(jié)束時(shí),也完成了針對(duì)第5行數(shù)據(jù)的列變換,當(dāng)?shù)?行進(jìn)行小波變換時(shí),不進(jìn)行列變換操作,直到第7行小波行變化數(shù)據(jù)輸入時(shí),再同時(shí)進(jìn)行列變換計(jì)算操作,依次完成小波列變換。對(duì)于列小波變換后的低頻數(shù)據(jù)dLLl,要輸入RAM緩存以進(jìn)行下一級(jí)變換,對(duì)于其他的高頻數(shù)據(jù)(dLHl,dHLl,dHHl)可以直接輸出到片外存儲(chǔ)器中。
下面是設(shè)計(jì)的一級(jí)二維小波變換的集成模塊,如圖5所示。
p2p機(jī)相關(guān)文章:p2p原理
評(píng)論