您的位置 首页 被动

低通滤波器之VLS架构的规划与完成

第一章緒論影像有時候會出現干擾的現象,稱為雜訊(noise)。由於雜訊的性質不同,導致去除雜訊的方法也不盡相同。這邊我們假設雜訊的狀況

榜首章 緒論

印象有時候會出現干擾的現象,稱為雜訊(noise)。由於雜訊的性質不同,導致去除雜訊的办法也不盡相同。這邊我們假設雜訊的狀況為干擾亮點,此一雜訊屬於高頻的雜訊,因而运用低通濾波器來使雜訊含糊化,藉此達到去除雜訊的作用。

1.1 研讨布景與動機

雜訊的原意是對外界干擾的總稱。何謂印象的雜訊呢?例如由於電視天線狀況欠安導致印象接纳欠好,這又可分為兩類,其一是收視的印象自身出現歪曲、倾斜或者是含糊不清等情況。其二是印象上面出現各種办法的干擾斑點、條紋等。後一種干擾稱之為印象的雜訊(noise)。

由於雜訊的性質不同,導致去除雜訊的办法也不盡相同。那麼,怎么從一幅有雜訊的印象中把雜訊除掉呢?這是本篇研讨的主題。我們的意图是要把干擾的雜訊除掉,得到明晰的印象。

因而我們能够把有雜訊干擾的印象扩大觀察後,能够知道,雜訊的濃度與其四周像素(pixel)的濃度間,存在著很大的濃度差。正是這種急遽變化的濃度差,使人覺得扎眼,运用雜訊的這種性質除掉雜訊的办法,一般稱之為滑润化(smoothing)。但印象的邊界部份也有急遽變化的濃度差。怎么將邊界與雜訊恰當的分離開來,只除掉雜訊部份,這也是需求留意的当地。

1.2 數位印象類型簡介

基礎的印象類型有四種,這邊作個簡單的介紹。

1.二元數位印象(binary) 每一個像素不是黑就是白。由於像素只需兩種或许值,因而每個像素只需1位元,這種印象的儲存功率很高。

2.灰階印象(grayscale) 每一個像素都是灰色,仅仅深淺不同,一般來說範圍從0(黑)到255(白)。由此可知每個像素需求8位元來表明。

3.全彩或RGB印象(true color) 每一個像素都有自己的顏色,這個顏色是由不同份额的紅,綠,藍調配而成。且每個原色深淺範圍也各都是0-255。因為每個像素需求运用24位元,所以這種印象又稱為24位元五颜六色印象(24-bit color image)。

4.索引印象(indexed) 大部分印象会集在某一部分,為了便利儲存及處理,於是树立相對應的色譜(colormap)或調色盤(color palette),每個像素的值僅代表著色譜上對應顏色的索引(index)。

第二章 421濾波器及演算法

我們能够透過對像素執行特定函數運算來批改印象。對於四周的部份(臨域)也能够运用同樣的办法去運算。首要的概念就是將遮罩覆蓋到指定的印象上面。如此一來,便會如圖2.1所示,產生一個新的印象,該印象的像素值則是根據遮罩下的像素值運算而來。而遮罩與函數的結合便稱之為濾波器(filter)。

濾波器的運算大致來說可分為三個步驟:

1.將遮罩置於指定像素上。

2.將濾波器的一切元素與臨域相對應的像素相乘。

3.將上述乘法的結果相加後計算均匀值。

印象中的一切像素都需重覆此一運算。

2.1 高通濾波器及低通濾波器

印象處理中的一個重要概念就是頻率(frequency)。簡單來說,印象的頻率是像素值隨著距離變化的一種衡量。高頻的部份(high-frequency)指的是短距離內像素值產生很大的變化,例如印象的邊緣部份或雜訊部份。相對地,低頻(low- -frequency)的部份則是印象中像素值變化不大的部份,像是布景等。

因而所謂的高通濾波器(high-pass filter)就是坚持高頻率的部份,減少或消除低頻率的部份的濾波器;而低通濾波器(low-pass filter)則是坚持低頻率的部份,減少或消除高頻率的部份的濾波器。

2.2 421低通濾波器演算法

舉例來說,若有一421低通濾波器函數與指定像素E及其臨域的像素值如圖2.2及圖2.3所示,

則其對指定像素進行運算的結果為

E’= ( A + 2B + C + 2D + 4E + 2F + G + 2H + I ) / 16

以上面的比如來說,421均匀濾波器是低通濾波器,此濾波器的作用會含糊邊緣,或者是下降高頻的雜訊,所以這邊我們能够运用它下降亮點的雜訊干擾。並且由於421低通濾波器的函數是線性的計算,屬於線性濾波器,因而能够拆解成如圖2.4的表明办法。

2.3 印象邊界延伸之處理

在本節之前並沒有談到印象邊界之問題。如圖2.5所示,若指定像素在邊界時,遮罩器或许會超過印象邊界。而在真實的国际中,我們想要處理的印象必定為有限巨细,所以會產生邊界問題。因而怎么處理邊界延伸之問題就顯得分外重要。

解決邊界延伸的办法有許多種類型,各有其優缺點。例如補零办法,是將超過邊界之部份悉数當成零來計算,此種办法的實現办法最為簡單。可是由於或许形成的落差太大,所以並不適合我們在這邊运用。另一種办法為週期性對稱延伸,是运用複製指定像素的臨域去做計算。這樣做的好處是邊界延伸的部份會與鄰近的像素值附近,在視覺上會有一種連續的作用。因而在這邊我們採用此種办法去處理邊界延伸之問題。如圖2.6。

第三章 硬體功用及規格

在前面的章節我們簡單說明晰421低通濾波器的演算法,本章節針對它以及內部各個部份的功用及規格上做介紹。它的架構如圖3.1所示。

表3.1 LPF輸入及輸出腳位

輸入腳位名稱

功用說明

巨细(bits)

CLK

時脈週期。

1

RSTn

重設,0代表重設;1代表不動作。

1

DIN

接纳輸入資料。

24

DINEn

操控輸入資料的致能;0 代表致能。

1

HS

當資料為圖片每行的開頭之前或結尾之後則1;否則0。

1

VS

當資料為圖片的開頭之前或結尾之後則1;否則0。

1

輸出腳位名稱

功用說明

巨细(bits)

DOUT

傳送輸出資料。

24

DOUTEn

操控輸出資料的致能;0 代表致能。

1

表3.1說明晰輸入及輸出腳位。這邊的時脈週期我們採用的是正緣觸發。重設是低準位重設,高準位不動作。因為我們的印象類型是採用YUV,而YUV各為8位元,因而輸入及輸出的資料為24位元。不過需求留意的是我們只對Y做印象處理,因而為了節省記憶體空間,偶數行的U留下可是V捨去,奇數行的U捨去可是V留下,而兩行間的UV共用。别的輸入及輸出的致能腳為低準位致能。

3.1 各級架構

此低通濾波器中,總共大致可分為3個架構,如圖3.3所示。其间包含有邊界處理器(Boundary)、記憶體(Memory)、計算處理器(Processer)等。逐个敘述如下。

3.1.1 邊界處理器

為了印象在邊界延伸時的特别情況,我們設計了一個專門用來處理邊界問題之部分,如圖3.4。

邊界處理器之規格如表3.2所列。DIN_1、DIN_2及DIN_3僅含有YU或YV,因而為16位元。DOUT_1、DOUT_2、DOUT_3、DOUT_4及DOUT_5僅含有Y或U或V,所以為8位元。C_EVEN是為了操控記憶體的讀寫動作,所以會把C_EVEN接至記憶體的輸入腳。

表3.2

輸入腳位名稱

功用說明

巨细(bits)

CLK

時脈週期。

1

RSTn

重設,0代表重設;1代表不動作。

1

HS

當資料為圖片每行的開頭之前或結尾之後則1;否則0。

1

VS

當資料為圖片的開頭之前(或結尾之後)則1;否則0。

1

DINEn

操控輸入資料的致能;0 代表致能。

1

DIN_1

從SRAM讀進的偶數列資料。

16

DIN_2

從SRAM讀進的奇數列資料。

16

DIN_3

從掃描列讀進的資料。

16

輸出腳位名稱

功用說明

巨细(bits)

DOUTEn

操控輸出資料的致能;0 代表致能。

1

DOUT_1

僅含有Y且送到Processer的資料。

8

DOUT_2

僅含有Y且送到Processer的資料。

8

DOUT_3

僅含有Y且送到Processer的資料。

8

DOUT_4

僅含有U的資料。

8

DOUT_5

僅含有V的資料。

8

C_EVEN

0代表掃瞄列為偶數列;1則為奇數列。

13.1.2記憶體

我們把偶數列跟奇數列的資料分別儲存於不同的記憶體中。先运用Memory Generate 呼叫出 single port的SRAM,然後與操控讀寫電路組组成如圖3.5所示之記憶體,偶數列與奇數列的記憶體架構一樣,只需操控讀寫電路略有不同。

表3.3

輸入腳位名稱

功用說明

巨细(bits)

CLK

時脈週期。

1

RSTn

重設,0代表重設;1代表不動作。

1

DINEn

操控輸入資料的致能;0 代表致能。

1

DIN

寫入到記憶體的資料。

32

C_EVEN

0代表掃瞄列為偶數列;1則為奇數列。

1

輸出腳位名稱

功用說明

巨细(bits)

DOUT

從記憶體讀出的資料。

32

本章開頭说到為了節省記憶體空間,因而在存入資料時,並非將原始的資料直接存入,而是只取YU或者是YV,加上一次儲存兩行的資料,所以輸入及輸出資料為32位元。

3.1.3 計算處理器

計算處理器的首要功用是要處理對Y做加權函數的計算。DIN_1與DIN_3的加權值為1,而DIN_2的加權值為2。

整理出計算處理器規格如表3.4。

表3.4

輸入腳位名稱

功用說明

巨细(bits)

CLK

時脈週期。

1

RSTn

重設,0代表重設;1代表不動作。

1

DIN_1

僅含有Y且加權值為1。

8

DIN_2

僅含有Y且加權值為2。

8

DIN_3

僅含有Y且加權值為1。

8

輸出腳位名稱

功用說明

巨细(bits)

DOUT

輸出為計算過後的Y。

8

第四章 硬體的設計

本章開始設計濾波器內部的各個部份,說明如下。

4.1 邊界處理器

在設計邊界處理器之前,我們必須先考慮週期性對稱延伸的幾種情況。包含有上下週期性對稱延伸、左右週期性對稱延伸,最後一種則是兩個情況同時發生的時候。

先考慮上下週期性對稱延伸,發生在指定像素為榜首列或是最後一列之恣意像素。左右週期性對稱延伸,則是發生在指定像素為榜首行或是最後一行之恣意像素。而兩種情況會同時發生在指定像素為圖片的四個端點時。

4.1.1 上下週期性對稱延伸

要解決上下週期性對稱延伸之問題,只需在指定像素為榜首列及最後一列時,將DIN_1複製到DIN_3或是將DIN_3複製到DIN_1。在上邊界時,必須要比及掃描到第二列才干複製;下邊界時,則直接複製從記憶體讀出的資料。

4.1.2 左右週期性對稱延伸

與上下週期性對稱延伸之問題類似,因而解決办法也類似,只需將所讀入的資料貼到左側或右側即可。在左邊界時,必須要比及掃描到第二行像素時才干複製它當成延伸;在右邊界時,想要获得已經掃瞄過的像素當成延伸則需求运用到暫存器。

我們能够發現,必須要比及掃描第二列第二行時,邊界處理器才會有榜首次的輸出(DIN_1、DIN_2與DIN_3是同時輸出的)。因而,可設計出如圖4.3之架構。

4.1.3 兩種情況同時發生

當兩種情況同時發生時,延伸之办法如圖2.6所表明。

4.2 記憶體

從圖3.6的儲存办法來看,雖然掃描時一次是一個像素值,不過运用暫存器並且组成,儲存時便可一次存兩個像素值,並且能够在輸入前取DEven為YU;Dodd為YV。而輸出時也可运用暫存器並且做分化,如圖4.4所示。

在操控讀寫方面,需求留意的是當掃描到偶數列時,儲存奇數列之記憶體的讀寫腳位會一向維持在讀的狀態;而掃瞄到奇數列時,儲存偶數列之記憶體的讀寫腳位也會一向維持在讀的狀態。

4.3 計算處理器

按照圖2.4做拆解運算,如圖4.5(a)(b)(c),能够看出只需求兩個1×3的濾波器和一些暫存器就能够完结圖2.4的拆解動作。

因而計算處理器的設計上最為簡單,其间大部分是由組合電路所組成。如圖4.6所示。

其间的暫存器R1與R2是為了將ALU_1所計算出的結果暫存起來,如圖4.7。ALU_1及ALU_2的作用是為了做加權函數的計算,輸出為 DIN_1 + 2*DIN_2 + DIN_3 ,但須留意的是ALU_1輸出及ALU_2輸入位元巨细的設定,避免發生溢位。最後再將ALU_2的輸出向右位移4位元(函數計算中的除以16),DOUT即為做完加權計算的Y值。

第五章 設計與驗證之流程

在本章節中,我們將簡單的介紹LPF設計流程,接著,會运用一組的測試資料,來驗證模擬結果是否正確。

5.1 設計流程

如圖5.1所示,一開始先考慮架構之功用,接著运用硬體描绘語言Verilog HDL 實現功用之設計,經過編譯器確定語法無誤後,再模擬結果。若有問題,則回頭尋找錯誤;若沒有問題,則完结悉数設計之流程。5.2 模擬及驗證

完结RTL之後,接著要模擬及驗證結果是否正確。首先要先將.ppm檔轉換成.dat檔,因為這是Verilog HDL中testbench所能夠讀取的檔案。我們除了用Verilog HDL來模擬421低通濾波器之外,也运用C語言模擬421低通濾波器,並將兩者輸出之結果儲存成.dat檔來比較。若結果無誤,則轉換回.ppm檔。

5.3 波型圖

當模擬完结之後,运用Verdi觀察波型圖。

5.3.1 低通濾波器

圖5.3(a)(b)說明晰當讀取資料為圖片的開頭之前或結尾之後時,VS會為1;否則為0。當讀取資料為圖片每行的開頭之前或結尾之後時,HS會為1;否則為0。

5.3.2 邊界處理器

在之前说到邊界處理器需求运用到暫存器並位移。如圖5.4所表明,R1、R4、R7、R10分別為DIN_1延遲一個、兩個、三個及四個時脈週期;R2、R5、R8、R11分別為DIN_2延遲一個、兩個、三個及四個時脈週期;而R3、R6、R9、R12分別為DIN_3延遲一個、兩個、三個及四個時脈週期。

圖5.4 邊界處理器

5.3.3 記憶體

記憶體在操控讀寫方面,需求留意的是當掃描到偶數列時,儲存奇數列之記憶體的讀寫腳位會一向維持在讀的狀態;而掃瞄到奇數列時,儲存偶數列之記憶體的讀寫腳位也會一向維持在讀的狀態。圖5.5(a)是掃描到奇數列時,而圖5.5(b)則是為掃描到偶數列時。可留意到WEn的差異性。

圖5.5(a) 儲存偶數列之記憶體

圖5.5(b) 儲存偶數列之記憶體

5.3.4 計算處理器

能够看出运用暫存器的位移便只需求兩個1×3的濾波器即可達到本来要求之函數加權計算。

圖5.6 計算處理器

声明:本文内容来自网络转载或用户投稿,文章版权归原作者和原出处所有。文中观点,不代表本站立场。若有侵权请联系本站删除(kf@86ic.com)https://www.86ic.net/ziliao/beidong/248856.html

为您推荐

联系我们

联系我们

在线咨询: QQ交谈

邮箱: kf@86ic.com

关注微信
微信扫一扫关注我们

微信扫一扫关注我们

返回顶部