Tải bản đầy đủ (.pdf) (189 trang)

Cấu trúc VLSI cho biến đổi wavelets rời rạc (vlsi architectures for the discrete wavelet transform)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.88 MB, 189 trang )

BỘ GIÁO DỤC VÀ ĐÀO TẠO
ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC BÁCH KHOA
NGÀNH KỸ THUẬT ĐIỆN TỬ

LUẬN VĂN THẠC SĨ

CẤU TRÚC VLSI

CHO BIẾN ĐỔI WAVELET RỜI RẠC
VLSI ARCHITECTURES
FOR THE DISCRETE WAVELET TRANSFORM

GVHD : TS. LÊ TIẾN THƯỜNG
HVTH : TRƯƠNG QUANG VINH

TP. HCM
Tháng 07 năm 2002


Lời Cảm Ơn
Luận án tốt nghiệp là một bước ngoăïc then chốt quan trọng nhất trong mỗi
học viên. Nó là chiếc cầu nối vô hình giữa lý thuyết và thực tế.
Em xin gởi đến thầy Lê Tiến Thường lời cảm ơn chân thành với sự trân
trọng và lòng biết ơn sâu sắc về sự hướng dẫn đầy chu đáo và nhiệt tình
của Thầy đã dẫn dắt em trong suốt thời gian thực hiện đề tài luận văn
này_ một kết tinh của những kiến thức nền tảng quý giá.
Và em cũng xin chân thành gởi lời cảm ơn rất nhiều đến các thầy cô trong
Khoa Điện - Điện tử đã rất tận tình, hết lòng chỉ bảo và truyền đạt cho
em những kiến thức vô cùng quý giá để góp phần rất lớn trong quá trình
từng bước hoàn chỉnh luận văn.


Nhân dịp này, em xin gởi đến gia đình, bạn bè, đồng nghiệp một lời cảm ơn
chân tình_ những người đã hết lòng giúp đỡ, động viên, tạo mọi điều kiện
thuận lợi trong suốt thời gian qua để em có được cơ hội hoàn thành luận án
tốt nghiệp.


ABSTRACT
Multirate signal processing is a sophisticated technology that brings DSP
techniques to applications required low-cost and high sample rates.
Programmable logic devices (PLDs) provide system-level hardware
solutions for signal processing architectures demanded both highperformance and flexibility. The thesis provides VLSI architechtures for
Discrete Wavelet transform (DWT). These architechtures represente
Mallat’s pyramid algorithm for the Wavelet Haar. By implementing of the
wavelet based structures with Field Programmable Gate Arrays (FPGA)
using Hardware Describe Language (HDL), the report will show a powerful
tool to develop hardware for digital signal processings (DSPs).

TÓM TẮT
Xử lý tín hiệu đa tần là một công nghệ ứng dụng kỹ thuật DSP vào những
vấn đề đòi hỏi phải đạt tốc độ cao với giá thành rẻ. Thiết bị logic lập trình
được (PLDs) đã cung cấp một giải pháp về phần cứng cho cấu trúc xử lý tín
hiệu với yêu cầu tốc độ thực thi cao và tính linh hoạt. Luận án này sẽ trình
bày một số cấu trúc VLSI hiệu quả để thực hiện biến đổi Wavelet rời rạc
(DWT). Cấu trúc VLSI này thực hiện thuật toán thuật toán hình tháp của
Mallat cho Wavelet Haar. Với việc thực thi cấu trúc wavelet trên FPGA
bằng ngôn ngữ mô tả phần cứng HDL, luận án này sẽ cho thấy một công cụ
phát triển phần cứng mạnh mẽ cho các hệ thống xử lý số tín hiệu.


Mục lục

Lời Cảm Ơn
Abstract
1. Giới thiệu……………………………………………………………………………………………………………………….. 1-1
1.1. Tổng quan về đề tài……………………………………………………

1-2

1.2. Tổ chức của báo cáo luận án………………………………………….

1-3

1.3. Những công việc liên quan…………………………………………….

1-3

2. Wavelets…………………………………………………………………………………………………………………………. 2-1
2.1. Khai triển chuỗi tín hiệu và các loại vector hàm cơ sở..........………...

2-2

2.1.1. Khai triển chuỗi của tín hiệu……………………………….…...

2-3

2.1.2. Các loại vector hàm cơ sở………………………………………

2-3

2.1.3. Xử lý tín hiệu đa tần…………………………………………….


2-5

2.2. Cơ sở Wavelets rời rạc………………….........................................…...

2-9

2.2.1. Đặc điểm cơ sở Wavelets rời rạc.................................….……..

2-9

2.2.2. Khai triển chuỗi của tín hiệu rời rạc.................................……..

2-10

2.3. Bộ lọc hai kênh....................................................................…....……..

2-18

2.3.1. Phân tích bộ lọc.........................………………………………..

2-19

2.3.2. Phân tích theo khía cạnh thời gian …………................….……

2-19

3. Thiết kế số hiện đại với VHDL……………………………………………………………………………. 3-1
3.1. Khuynh hướng phát triển của ngành thiết số……………………….…

3-2


3.2. Những công cụ hỗ trợ thiết kế số………………………………………

3-3

3.2.1. Các thiết bị logic lập trình được…………………………………

3-3

3.2.2. Ngôn ngữ mô tả phần cứng……………………………………..

3-4

3.2.3. Phần mềm hỗ trợ thiết kế số……………………………………

3-5

3.3. Công nghệ FPGA………………………………………………………

3-6


3.3.1. Giới thiệu FPGA………………………………………………..

3-6

3.3.2. Sự phát triển của các thiết bị lập trình được……………….…..

3-7


3.3.3. Cấu trúc FPGA …………………………………………………

3-9

3.3.4. Các công nghệ lập trình chip…………………………………...

3-14

3.3.5. Các loại FPGA………………………………………………….

3-20

3.4. Ngôn ngữ VHDL………………………………………………………

3-22

3.4.1. Khái quát về VHDL……………………………………………

3-22

3.4.2. Cấu trúc ngôn ngữ VHDL……………………………………..

3-25

3.4.3. Các kiểu dữ liệu………………………………………………..

3-46

3.4.4. Các toán tử……………………………………………………..


3-59

4. Cấu trúc VLSI cho biến đổi Haar Wavelets ………………………………………………… 4-1
4.1. Mô tả thuật toán……………………………………………………….

4-2

4.1.1. Hàm cơ sở rời rạc của Haar Wavelets ………………………….

4-2

4.1.2. Biểu diễn khai triển Haar Wavelets bằng bộ lọc phân tích……

4-2

4.1.3. Khôi phục khai triển Haar Wavelets bằng bộ lọc tổng hợp……

4-3

4.1.4. Thực hiện bộ lọc Haar Wavelets bằng cấu trúc số……………..

4-4

4.2. Các cấu trúc khai triển Haar Wavelets …………………………….…..

4-5

4.2.1. Cấu trúc song song……………………………………………...

4-6


4.2.2. Cấu trúc nối tiếp………………………………………………..

4-12

4.2.3. Cấu trúc dùng dual-port RAM…………………………………

4-17

4.3. Cấu trúc khôi phục khai triển Haar Wavelets …………………………
4.3.1. Cấu trúc khôi khai triển Haar Wavelets song song…………….

4-20
4-20

4.3.2. Ứng dụng cấu trúc khôi phục khai triển Wavelets để
triệt nhiễu tín hiệu (denoise)…………………………………..

4-23

5. Thiết kế phần cứng với FPGA…………………………………………………………………………….

5-1

5.1. Ý tưởng thiết kế……………………………………………………….

5-2

5.1.1. Mô hình 1………………………………………………………


5-2

5.1.2. Mô hình 2………………………………………………………

5-3

5.2. Phần cứng hỗ trợ_ Kit UP1 của Altera…………………………….…
5.2.1. Giới thiệu………………………………………………………

5-3
5-3


5.2.2. Hai device trên Kit UP1………………………………….……

5-4

5.2.3. Các thành phần trên Kit UP1………………………………….

5-4

5.3. Mạch giao tiếp máy tính………………………………………………

5-11

5.3.1. Vài nét cơ bản về cổng máy in………………………………..

5-11

5.3.2. Sơ đồ mạch giao tiếp…………………………………………..


5-14

5.4. Mạch biến đổi AD_DA……………………………………………...

5-17

5.4.1. Khối biến đổi AD………………………………………………

5-17

5.4.2. Khối biến đổi DA………………………………………………

5-24

5.4.3. Sơ đồ chi tiết mạch AD_DA…………………………………..

5-26

5.5. Thiết kế chi tiết của mô hình…………………………………………

5-28

5.5.1. Mô hình 1………………………………………………………

5-28

5.5.2. Mô hình 2……………………………………………………….

5-29


6. Thực hiện biến dổi Wavelets trên FPGA………………………………………………………. 6-1
6.1. Thử nghiệm mô hình 1………………………………………………...

6-2

6.1.1. Thiết lập cấu hình phần cứng………………………………….

6-2

6.1.2. Kết quả thử nghiệm…………………………………………….

6-3

6.2. Thử nghiệm mô hình 2…………………………………………………

6-6

6.2.1. Thiết lập cấu hình phần cứng…………………………………..

6-6

6.2.2. Kết quả thử nghiệm…………………………………………….

6-7

7. Đánh giá kết quả và hướng phát triển…………………………………………………………….. 7-1
7.1. Đánh giá kết quả……………………………………….……………...

7-2


7.2. Hướng phát triển……………………………………………………….

7-3

Tài liệu tham khảo
Phụ lục


VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

1
GIỚI THIỆU

1.1. Tổng quan về đề tài……………………………………………………………………............ 1-2
1.2. Tổ chức của báo cáo luận án….….........................................…...... 1-3
1.3. Các công việc liên quan .....................................................…....…. 1-3

Giới thiệu

1-1

HVTH: Trương Quang Vinh


VLSI Architectures for DWT

1.1.


THD: TS. Lê Tiến Thường

Tổng quan về đề tài:

Trong những thập niên gần đây, biến đổi wavelets đã được rất nhiều nhà
khoa học quan tâm, đặc biệt là sau khi thuật toán biến đổi wavelets rời rạc
(DWT) được phát triển bởi Mallat ra đời. DWT có thể được xem như phương
pháp phân tích tín hiệu với độ phân giải đa tần. Điều này có nghóa là nó
phân tích tín hiệu thành những thành phần trong dải tần số khác nhau. Biến
đổi DWT ngược sẽ tái tạo lại được chính xác tín hiệu gốc. Những ứng dụng
của phép biến đổi này rất đa dạng, như lọc nhiễu, xử lý ảnh hay nén tín
hiệu…
Trên thế giới hiện nay, có rất ít công trình thực hiện DWT trên VLSI. Cấu
trúc phần cứng đầu tiên để tính toán DWT được thiết kế bởi Knowles. Cấu
trúc này không phù hợp tốt cho VLSI vì nó sử dụng nhiều bộ multiplexor
cho các chương trình con tính các kết quả trung gian. Sau đó Lewis và
Knowles đã thiết kế phần cứng để tính 2-D DWT. Mặt hạn chế chính của
cấu trúc này là nó phụ thuộc nhiều vào tính chất của dạng wavelets
Daubechies 4-tap. Thực sự nó đã không cần bộ nhân trong phần cứng, nhưng
nó lại không thích hợp cho các dạng wavelets khác. Hãng Aware Inc. đã cho
ra đời thế hệ chip gọi là bộ xử lý biến đổi wavelets ( WTP – Wavelet
Transform Processor). Nó bao gồm một bộ lọc 4- tap (chính là 4 tế bào nhân
tích lũy), bộ nhớ ngoài , và bộ điều khiển. Bộ xử lý này không có đặc điểm
nổi bật nào về cấu trúc phần cứng tính toán DWT mà chỉ dựa chủ yếu vào
phần mềm để tính DWT. Gần đây, Parhi và Nishitani đã phát minh ra cấu
trúc “cuộn” và cấu trúc chuỗi số cho 1-D DWT. Cấu trúc này không tỉ lệ với
kích thước bộ lọc và số lần tính toán theo bậc mũ 2.
Đề tài luận văn này sẽ trình bày một cấu trúc VLSI cho biến đổi wavelets
rời rạc với thuật toán hình tháp đệ quy kết hợp với cấu trúc bộ lọc đa tần tối

ưu để đạt được tính xử lý thời gian thực. Mô hình biến đổi wavelets sẽ được
thi công để minh hoạ cho đề tài này.

Giới thiệu

1-2

HVTH: Trương Quang Vinh


VLSI Architectures for DWT

1.2.

THD: TS. Lê Tiến Thường

Tổ chức của báo cáo luận án:

Chương 1 giới thiệu tổng quan về đề tài luận án, các công trình khoa học đã
được thực liên quan đến đề tài.
Chương 2 trình bày khái quát kiến thức về Wavelets, các đặc tính, ứng dụng
và phương pháp phân tích Wavelets dùng bộ lọc 2 kênh.
Trong chương 3, báo cáo luận án giới thiệu phương pháp thiết kế số hiện đại
với ngôn ngữ VHDL kết hợp với các công cụ phần cứng FPGA. Chương này
cho thấy một cái nhìn mới về thiết kế số.
Chương 4 trình bày các các thiết kế cho cấu trúc biến đổi Haar Wavelets.
Chương này trình bày 3 cấu trúc biến đổi wavelet là cấu trúc song song, nối
tiếp và cấu trúc dùng RAM. Các cấu trúc đều được minh hoạ trên phần
mềm Max+plusII
Chương 5 trình bày thiết kế mô hình thi công minh hoạ cho đề tài, bao gồm

hai mô hình phần cứng với những sơ đồ mạch chi tiết
Chương 6 mô tả các thử nghiệm trên hai mô hình. Mô hình phần cứng được
kiểm tra và ghi nhận lại kết quả.
Chương 7 trình bày các kết luận, đánh giá và hướng phát triển đề tài. Các
kết quả sau khi chạy thực nghiệm (bằng mô hình phần cứng) và chạy mô
phỏng (bằng phần mềm Max+plusII) sẽ được tổng hợp để đánh giá.
1.3.

Các công việc liên quan

Ngoài nhiệm vụ chính của Luận án là thiết kế cấu trúc VLSI cho biến đổi
Wavelets, tác giả còn nghiên cứu thiết kế các mạch giao tiếp analog –
digital và mạch giao tiếp với máy tính để thực hiện mô hình thi công minh
hoạ cho đề tài. Để thực thi cấu trúc Wavelet trên FPGA, tác giả phải hiểu rõ
về FPGA và ngôn ngữ VHDL để lập trình cho thiết bị. Công cụ chính để
thực hiện mô hình là phần mềm Max+plus II và phần cứng KIT UP1 của
hãng Altera, một hãng nổi tiếng về công nghệ FPGA.

Giới thiệu

1-3

HVTH: Trương Quang Vinh


VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

2

WAVELETS

2.1. Khai triển chuỗi tín hiệu và các loại vector hàm cơ sở............ 2-2
2.1.1. Khai triển chuỗi của tín hiệu……………………………….

2-2

2.1.2. Các loại vector hàm cơ sở………………………………….

2-3

2.1.3. Xử lý tín hiệu đa tần………………………………………..

2-5

2.2. Cơ sở Wavelets rời rạc………………….........................................…...... 2-9
2.2.1. Đặc điểm cơ sở Wavelets rời rạc.................................….…

2-9

2.2.2. Khai triển chuỗi của tín hiệu rời rạc.................................… 2-10
2.3. Bộ lọc hai kênh....................................................................…....…. 2-18
2.3.1. Phân tích bộ lọc.........................……………………………

2-19

2.3.2. Phân tích theo khía cạnh thời gian …………................…...

2-19


Wavelets

2-1

HVTH: Trương Quang Vinh


VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

2.1. KHAI TRIỂN CHUỖI TÍN HIỆU VÀ CÁC LOẠI VECTƠ HÀM CƠ
SỞ
Trong toán học cũng như thực tiễn áp dụng, chúng ta cần tìm tập hợp những
hàm cơ sở của một không gian, sao cho có thể biểu diễn tín hiệu ở dạng tổ
hợp tuyến tính của các hàm cơ sở. Biến đổi Fourier sử dụng những hàm cơ
sở tuần hoàn cosine và sine. Wavelets cũng là một loại hàm cơ sở khai triển
tín hiệu. Tuy nhiên cơ sở wavelet đa dạng, phức tạp hơn nà vẫn đang được
những nhà toán học quan tâm nghiên cứu phát triển.
2.1.1. Khai triển chuỗi của tín hiệu
Cho trước tín hiệu x trong không gian S; S có kích thước hữu hạn (ví
dụ không gian thực n chiều Rn, không gian phức n chiều Cn) hay kích
thước vô hạn (ví dụ không gian L2(Z), không gian L2(R) ), chúng ta
cần tìm tập hợp những hàm cơ sở { ϕi(t) } (i∈ Z) của S sao cho có thể
biểu diễn tín hiệu x ở dạng tổ hợp tuyến tính của các hàm cơ sở
{ϕi(t)} (i∈ Z), nghóa là
x = ∑α i ϕ i

(2.1)


i

Ta biết , những hàm cơ sở { ϕi(t) } (i∈ Z) được gọi là đầy đủ đối với
S, nếu mọi tín hiệu x∈S đều có thể khai triển theo dạng tổ hợp tuyến
tính như trên. Trong trường hợp đó, cũng tồn tại những hàm cơ sở đối
ngẫu { ϕi-(t) } (i∈ Z) thuộc S, sao cho những hệ số khai triển αi có thể
được tính như sau:
• Nếu x và ϕi- là những hàm rời rạc, trị thực thì:
α i = ∑ ϕ~i [n]x[n] = ϕ~i , x

(2.2)

i

• Nếu x và ϕi- là những hàm liên tục, trị thực thì:


α i = ∫ ϕ~i (t )x(t ).dt = ϕ~i , x

(2.3)

−∞

Ký hiệu tích vô hướng là <ϕi-,x>

Wavelets

2-2

HVTH: Trương Quang Vinh



VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

Chú ý: Những công thức tính hệ số khai triển tín hiệu αI trên đây,
chính là tích vô hướng của vector cơ sở đối ngẫu { ϕ~i }(i∈Z) với vector
tín hiệu x.
2.1.2. Các loại vector hàm cơ sở
Những loại vector hàm cơ sở quan trọng trong khai triển tín hiệu,
được quan tâm nghiên cứu là :
1. Những vector hàm cơ sở {ϕi(t)} (i ∈ z) của không gian S thỏa
mãn tính chất:
+ Đầy đủ và độc lập tuyến tính
+ Trực giao lẫn nhau và có độ dài bằng đơn vị
+Những vector {ϕi } (i ∈ Z) đồng nhất với { ϕ~i } (i ∈ Z)
Khi đó ta gọi hàm cơ sở {ϕi (t)} (i ∈ Z) là cơ sở trực chuẩn
( orthonormal basis ).
Cơ sở trực chuẩn có tính chất là:
ϕi = ϕ~i và < ϕi, ϕj > =1 với i = j
=0 với i

j

2. Những vector hàm cơ sở { ϕi } (I ∈ Z) của không gian S tính
chất:
• Đầy đủ
• Độc lập tuyến tính nhưng không trực giao lẫn nhau.
Những vector hàm cơ sở đối ngẫu { ϕ~i } (i ∈ Z) là cặp cơ sở trực giao

(biorthogonal basis), hoặc nói gọn là cặp trực giao.

3. Những vector hàm cơ sở { ϕ~i } (i ∈ Z) của không gian S thỏa
mãn tính đầy đủ nhưng không độc lập tuyến tính với nhau, ta
gọi là một cơ sở khung (frame) hoặc nói gọn là khung .

Wavelets

2-3

HVTH: Trương Quang Vinh


VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

Ví dụ : Trong mặt phẳng R2 có cơ sở Euclide chuẩn là e0 = [1 0] và e0
= [0 1].
(1) Hình vẽ sau mô tả cơ sở trực
chuẩn

ϕ 0 = [1

≡ ϕ~0
≡ ϕ~

1] / 2

ϕ1 = [1 − 1] / 2

e1

(2) Hình vẽ sau mô tả cơ sở trực
giao

ϕ1 = [1 − 1] / 2 ϕ~0 = e0

1

ϕ0

1/ 2

1/ 2

ϕ~0 = [1 − 1] / 2

ϕ 0 = e0

ϕ1

e1=
ϕ~1

1/ 2

1/ 2

ϕ0= e0


e0
− 1/ 2

− 1/ 2

ϕ1

ϕ~1

H 2.1 : Cơ sở trực chuẩn

H 2.2 : Cặp cơ sở trực giao

(3) Hình vẽ sau mô tả một khung
ϕ1

ϕ0 = e 0
ϕ1 = [−1 / 2

3

3 / 2]

2

ϕ 2 = [−1 / 2 − 3 / 2]
Chú ý : khung đối ngẫu của nó là :
ϕ~0 = 2 3 e 0
ϕ~1 = 2 3 [−1 / 2
3 / 2]

ϕ~2 = 2 3 [−1 / 2 − 3 / 2]

-1/2

1

ϕ0 = e0
ϕ2

− 3

2

H 2.3 : Cô sở khung

Wavelets

2-4

HVTH: Trương Quang Vinh


VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

Wavelets có 03 loại hàm cơ sở. Hiện nay, người ta quan tâm nhiều
đến nghiên cứu 2 loại là wavelets trực chuẩn_orthonornal wavelets
(như wavelets Haar, wavelets sinc, wavelet Daubechies … ) và
wavelet cặp trực giao_biorthogonal wavelets (như wavelets B-spline).

Trong phần sau khi nói đến wavelet tức là 02 loại vừa nêu .

2.1.3. Xử lý tín hiệu đa tần
Xử lý tín hiệu đa tần là đề cập tới việc xử lý tín hiệu rời rạc được lấy
mẫu ở những tần số khác nhau. Người ta có thể lấy mẫu lại ở những
tần số khác nhau từ tín hiệu thời gian liên tục, nhưng thông thường
việc thay đổi tần số lấy mẫu có thể được làm trong miền thời gian rời
rạc. Đó là kỹ thuật Downsampling và Upsampling sẽ được trình bày
sau đây:
Downsampling và Upsampling một chuỗi tín hiệu x[n] bởi tham số N
(N là số tự nhiên) sẽ tạo ra kết quả là một chuỗi y[n] cho bởi:
y[n] = x[nN]
Nghóa là, tất cả các mẫu có chỉ số khác không là bội số của N đều bỏ.
Trong miền Fourier, ta có:
Y ( e jω ) =

1
N

N −1

∑ X (e

j (ω − 2πk ) / N

)

(2.4)

k =0


Vậy, phổ tín hiệu đã bị kéo dài ra N lần, và N-1 thành phần chập phổ
(aliased) ở những đoạn 2π xuất hiện. Chúng được gọi là aliased bởi vì
chúng là bản sao của phổ tín hiệu gốc (đã kéo dài N lần), nhưng dịch
đi một đoạn tần số. Do vậy, những thành phần tần số thấp sẽ lặp lại ở
những đoạn tần số ωi = 2πi/N. Một số thành phần tần số cao sẽ bị
chập với thành phần tần số thấp và như vậy những thành phần đó sẽ
không còn điều hòa với thành phần tần số tín hiệu gốc. Điều này sẽ
gây ra nhiễu trong những ứng dụng audio. Đôi khi nó lại hữu ích khi
mở rộng quan hệ trên trong miền biến đổi Z

Wavelets

2-5

HVTH: Trương Quang Vinh


VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

Y (z) =

1 N −1
∑ X( WNk z1 / N )
N k =0

(2.5)


Ở đây, WN = e-j2π/N. Để chứng minh công thức trên, hãy xét tín hiệu
x’[n] bằng với tín hiệu x[n] ở các chỉ số n là bội số của N còn các
thành phần khác bằng không. Nếu x[n] có biến đổi Z là X(z) thì X’(z)
sẽ bằng:
X' (z) =

1 N −1
X ( WNk z)

N k =0

(2.6)

⎧N n = lN, l ∈ Z
ta có y[n] từ x’[n] bằng cách
khác
⎩0

Sử dụng tính chất WNkn = ⎨

bỏ những dãy số không ở giữa đoạn có khoảng cách N. Điều này có
được bằng cách thay z bằng z1/N trong công thức (2), ta sẽ có được
công thức (1). Chú ý rằng công thức (2) có chứa cả tín hiệu X cũng
như N-1 thành phần chập phổ (trên vòng tròn đơn vị,
X( WNk z) = X(e j( ω− k 2 π / N ) )

X(ejω)

(a)


1

π

Wavelets



4
π

3
π

2-6





ω

HVTH: Trương Quang Vinh


VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

Y(ejω)

5/
(b)

1/

π

3

4





ω

Hình 2.4: Downsampling 3 lần trong miền tần số. (a) phổ tín hiệu gốc.
(b) 3 thành phần chập phổ và tổng Y(ejω)
Xét một ví dụ sau, với trường hợp N = 3. Điều hiển nhiên là để tránh
hiện tượng chập phổ downsampling N lần phải được thực hiện sau
một bộ lọc thông thấp lý tưởng với tần số cắt π/N (xem hình). Đáp
ứng xung của nó cho bởi:
h[n] =

π/N

1
sin nπ / N
e jω dω =



2π − π / N

(2.7)

Quá trình ngược lại của Downsampling là Upsampling M lần. Nghóa
là, để có một chuỗi mới, đơn giản chỉ là chèn M-1 số 0 giữa các mẫu
ngõ vào:
⎧x[n / M] n = kM, k ∈ Z
y[n]⎨
khác
⎩ 0

(2.8)

Trong miền Fourier, ta có:
Y(ejω) = X(ejMω)

(2.9)

Tương tự như vậy trong miền Z ta có:
Y(z) = X(zM)

Wavelets

(2.10)

2-7


HVTH: Trương Quang Vinh


VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

Khi upsampling, phổ tín hiệu sẽ rút lại M lần. Bên cạnh những thành
phổ cơ bản ở những đoạn 2π, còn có những ảnh phổ do quá trình chèn
các số 0 vào trong khi upsampling. Để loại bỏ những ảnh phổ này,
phải có một bộ lọc thông thấp với tần số cắt là π/M được cho ở hình
sau
N↓

(a)

LP:π/M

(b)

M↑

LP:π/M

(c)

M↑

LP: min(π/M, π/N)


N↓

Hình 2.5: Thay đổi tần số lấy mẫu
(a) Downsampling N lần với phía trước là bộ lọc thông thấp lý tưởng
tần số cắt π/N
(b) Upsampling M lần với phía sau là bộ lọc thông thấp lý tưởng tần
số π/M
(c) Thay đổi tần số lấy mẫu M/N lần, với bộ lọc ở giữa có tần số cắt
là min(π/M, π/N)

Wavelets

2-8

HVTH: Trương Quang Vinh


VLSI Architectures for DWT

2.2.

THD: TS. Lê Tiến Thường

CƠ SỞ WAVELETS RỜI RẠC
2.2.1. Đặc điểm cơ sở Wavelets rời rạc:
Cơ sở wavelet rời rạc có một số đặc điểm chính như :
• Cơ sở wavelets rời rạc gồm 02 hàm cơ sở cơ bản, cụ thể là :
9 Trường hợp cơ sở trực chuẩn:
Cơ sở phân tích tín hiệu trùng với cơ sở tổng hợp tín hiệu.
Và cơ sở gồm 2 hàm cơ sở cơ bản là : ϕ0[n] và ϕ1[n]

9 Trường hợp cặp cơ sở trực giao:
Cơ sở phân tích tín hiệu khác với cơ sở tổng hợp tín hiệu.
Cơ sở phân tích gồm 02 hàm cơ sở là : ϕ0[n] và ϕ1[n]
Cơ sở tổng hợp gồm 02 hàm cơ sở là : ϕ~0[n] và ϕ~1[n]
• Dãy bộ lọc – 2 kênh (2 – channel filter bank):
Theo các định lý toán học đã được chứng minh (sách [1], 2 hàm
cơ sở của wavelet rời rạc chính là những hệ số của 02 bộ lọc
thông thấp và bộ lọc thông cao có tần số cắt là (π/2), cho nên
trong phần sau, khi nói đến wavelet rời rạc có nghóa là nói đến 02
bộ lọc đó. Người ta gọi 2 bộ lọc tương ứng 2 hàm cơ sở của
wavelet rời rạc là dãy bộ lọc băng – 2 kênh (two – chanel filter
bank) hay nói gọn bộ lọc 2 kênh.
9 Bộ lọc – 2 kênh phân tích :
Bộ lọc – 2 kênh phân tích có đáp ứng xung là h0[n] và h1[n],
tương ứng bằng với các hàm cơ sở phân tích nhưng đảo trục thời
gian, nghóa là :
h0[n] = ϕ0[-n]



h1[n] = ϕ1[-n]

(2.11)

9 Bộ lọc – 2 kênh tổng hợp :

Wavelets

2-9


HVTH: Trương Quang Vinh


VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

Bộ lọc – 2 kênh tổng hợp có đáp ứng xung là g0[n] và g1[n], tương
ứng bằng với các hàm cơ sở tổng hợp, nghóa là :
+ Trường hợp cơ sở trực chuẩn:
g0[n] = ϕ0[-n]



g1[n] = ϕ1[n]

(2.12)

+ Trường hợp cặp cơ sở trực giao:
g0[n] = ϕ~0[-n]

g1[n] = ϕ~1[n]



(2.13)

• Mô hình phân tích và tổng hợp tín hiệu x[n] bằng dãy bộ lọc 2
– kênh:
Cơ sở rời rạc wavelets khi dùng phân tích và tổng hợp tín hiệu

x[n] sẽ tương ứng 04 bộ lọc là h0[n] , h1[n], g0[n] và g1[n]. Có thể
biểu diễn quá trình đó như sau :
H0(z)

2

2

G0(z)

x[n]

x[n]

+
H1(z)

2

2

G1(z)

Hình 2.6: Phân tích và tổng hợp tín hiệu x[n] bằng bộ lọc 2 kênh
2.2.2. Khai triển chuỗi tín hiệu rời rạc
Giả sử {ϕk}là một cơ sở trực chuẩn của l2(Z) , khai triển trực chuẩn
của dãy rời rạc {x[n]}∈l2(Z) theo {ϕk} là:
x = ∑ < ϕ k , x > ϕ k =∑ X k ϕ k
k∈Z


(2.14)

k∈Z

~

Trong trường hợp {ϕk, ϕ k } là cặp cơ sở song trực giao của l2(Z), khai
triển song trực giao của dãy {x[n]}∈l2(Z) dựa trên cặp cơ sở naøy laø :
~

~

~

~

x = ∑ < ϕ k , x > ϕ k =x = ∑ X k ϕ k = ∑ < ϕ k , x > ϕ k = ∑ X k ϕ k
k∈Z

Wavelets

k∈Z

k∈Z

2-10

(2.15)

k∈Z


HVTH: Trương Quang Vinh


VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

Trong chương này, ta sẽ tìm cách xây dựng các cơ sở trực chuẩn {ϕk}
đầy đủ trong l2(Z) đồng thời tổng quát hóa với cặp cơ sở song trực
giao.
Cơ sở được xây dựng cần thỏa mãn hai yêu cầu mâu thuẫn sau: đạt
được độ phân giải tốt trên phương diện tần số, có tính địa phương về
mặt thời gian. Đồng thời để phục vụ mục đích tính toán và cài đặt
thuật giải, cơ sở cần có cấu trúc, nghóa là các hám trong hệ cơ sở có
thể suy diễn từ một số hữu hạn các phần tử trong cơ sở đó, từ đó ta
có khái niệm bộ lọc (filter banks) để cài đặt các khai triển có tính
chất như trên.
2.2.2.1.

Khai triển Haar của tín hiệu rời rạc

Cho {ϕk} là một dãy hàm rời rạc được định nghóa như sau:
⎧1 / 2
⎩ 0

ϕ 2 k [n ] = ⎨

n = 2k,2k + 1
nơi khác


⎧ 1/ 2

ϕ 2 k [n ] = ⎨- 1/ 2
⎪ 0


n = 2k
n = 2k + 1
nơi khác

(2.16)

Mệnh đề 2.1:
Các hàm {ϕk} định nghóa như (2.16) tạo thành một cơ sở trực
chuẩn trong l2(Z).
Cơ sở {ϕk} địng nghóa như trên (2.16) được gọi là cơ sở Haar và
khai triển tương ứng gọi là khai triển Haar là:
X 2k = ϕ 2k , x =

1
2

X 2 k +1 = ϕ 2k +1 , x =

(x[ 2k ] + x[ 2k + 1])
1
2

(2.17)


(x[ 2k ] − x[ 2k + 1])

Công thức khai triển còn gọi là công thức khôi phục là:
x[ n] = ∑ X k ϕ k [ n]

(2.18)

k∈Z

Wavelets

2-11

HVTH: Trương Quang Vinh


VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

Hơn nữa , cơ sở Haar {ϕk} là một cơ sở có cấu trúc, vì các hàm cơ
sở với chỉ số chẵn là tịnh tiến của nhau, do đó, tất cả các hàm cơ
sở đều có thể được suy diễn từ 2 hàm cơ sở ϕ0,ϕ1
(2.19)

ϕ 2k [ n] = ϕ 0 [ n − 2k ]
ϕ 2k +1[ n] = ϕ1[ n − 2k ]

2.2.2.1.1. Biểu diễn khai triển Haar bằng bộ lọc

Hệ cơ sở Haar là hệ cơ sở có cấu trúc, trong đó, các hàm cơ sở có
thể được suy diễn từ hai hàm cơ sở ϕ0,ϕ1. ta sẽ tìm cách biểu diễn
khai triển Haar bằng tích chập, từ đó có thể dùng bộ lọc.
Xét lọc h0 và h1 với hàm đáp ứng xung:
⎧1 / 2
h 0 [n ] = ⎨
⎩ 0

n = −1,0
nơi khác

(2.20)

⎧ 1/ 2

h 1 [n ] = ⎨- 1/ 2
⎪ 0


n=0
n = −1
nơi khác

(2.21)

thì X2k có thể biểu diễn bằng tích chập của h0 và x vì:
( h 0 * x)[ 2k ] = ∑ h 0 [ 2k − 1].x[ l ] =

1
2


k∈Z

x[ 2k ] +

1
2

x[ 2k + 1] = X 2k

(2.22)

Tương tự, thì X2k+1 có thể biểu diễn bằng tích chập của h1 và x taïi
2k :
( h1 * x)[ 2k ] = ∑ h1[ 2k − 1].x[ l ] =

1

k∈Z

2

x[ 2k ] −

1
2

x[ 2k + 1] = X 2k +1 (2.23)

đặt

y0[k]=X2k
(2.24)
y1[k]=X2k+1

(2.25)

thì

Wavelets

2-12

HVTH: Trương Quang Vinh


VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

y0[k] là tích chập của h0 và x lấy tại các số chẵn
y1[k] là tích chập của h1 và x lấy tại các số lẽ
do đó y0 và y1 là kết quả của phép lọc tín hiệu x qua hai lọc h0 và
h1, sua đó lấu mẫu xuống bởi 2, ta gọi bộ lọc (h0,h1) là bộ lọc hai
kênh , lọc qua kênh h0 ta được y0,lọc qua kênh h1 ta được y1.
Ta gọi bộ lọc ứng với hai hàm đáp ứng xung h0, h1 là bộ lọc phân
tích (analysis filter bank)
Nhận xét rằng, các hàm đáp ứng xung là bản sao đảo nguọc thời
gian của các hàm đầu tiên trong cơ sở trực chuẩn:
h0[n]=ϕ0[-n]


(2.26)

h1[n]=ϕ1[-n]

(2.27)

các lọc địng nghóa ở (3.1.5) là không nhân quả (vì h0[-1], h1[-1]≠0)
và ta có thể thấy rõ hệ quả của điều này trong các tính toán của
X2k có thành phần x[2k+1], nghóa là một tín hiệu tương lai.
Phép tính tín hiệu xuất y0,y1 qua hai bộ lọc h0,h1 có thể biểu diễn
dưới dạng ma trận.
⎛O

⎛ M ⎞ ⎛ M ⎞ ⎜

⎟ ⎜ ⎟ ⎜
⎜ y 0 [ 0] ⎟ ⎜ X 0 ⎟ ⎜
⎜ y [ 0] ⎟ ⎜ X ⎟ ⎜
⎜ 1 ⎟ =⎜ 1⎟=⎜
⎜ y 0 [1] ⎟ ⎜ X 2 ⎟ ⎜

⎟ ⎜ ⎟ ⎜
⎜ y 1 [1] ⎟ ⎜ X 3 ⎟ ⎜
⎜ M ⎟ ⎜ M ⎟ ⎜

⎠ ⎝ ⎠







64748
⎟⎛ M ⎞
h 0 [ 0] h 0 [ −1]
⎟⎜

x
[
0
]



h [ 0] h [ −1]
11 42143
⎟⎜ x[1] ⎟
ϕ1 [ n]
⎟⎜

ϕ2 [ n]
647
48
⎟⎜ x[ 2] ⎟
⎟⎜

h 0 [ 0] h 0 [ −1]
⎟⎜ x[ 3] ⎟
h [ 0] h [ −1]
⎟⎜⎝ M ⎟⎠

11 42143

ϕ3 [ n ]
O⎟⎠
ϕ 0 [ n]

(2.28)

Nếu ta tịnh tiến tín hiệu qua một số chẵn, nghóa là đặt x’[n]=x[n2l], ta sẽ được tín hiệu kết quả được tịnh tiến :
X ' 2k =

Wavelets

1
2

(x' [ 2k ] + x' [ 2k + 1] ) =

1
2

2-13

(x[ 2k − 2l ] + x[ 2k + 1 − 2l ] ) = X 2k −2l

HVTH: Trương Quang Vinh


VLSI Architectures for DWT


X ' 2 k +1 =

1
2

THD: TS. Lê Tiến Thường

(x' [ 2k ] − x' [ 2k + 1] ) =

1
2

(x[ 2k − 2l ] − x[ 2k + 1 − 2l ] ) = X 2k +1−2l
(2.29)

2.2.2.1.2. Khôi phục tín hiệu bằng bộ lọc tổng hợp
Ta định nghóa bộ lọc (g0,g1) với hàm đáp ứng xung tương ứng với
hai hàm cơ sở ϕ0,ϕ1
g0[n]=ϕ0[n]

(2.30)

g1[n]=ϕ1[n]
thì :
ϕ2k[n]=ϕ0[n-2k]= g0[n-2k]

(2.31)

ϕ2k+1[n]=ϕ1[n-2k]= g1[n-2k]
Công thức tổng hợp tín hiệu:

x[ n] = ∑ y 0 [ k ]ϕ 2k [ n] + ∑ y 1[ k ]ϕ 2k +1[ n] = ∑ y 0 [ k ]g0 [ n − 2k ] + ∑ y 1[ k ]g1 [ n − 2k ]
k∈Z

k∈Z

k∈Z

k∈Z

(2.32)
như vậy, tín hiệu được tổng hợp bằng cách lấy tổng tín hiệu tổng
hợp từ hai kênh, ở kênh i (i=0,1) ta lấy mẫu lên yi bởi 2 rồi lọc qua
lọc gi, ta goiï (g0,g1) là bộ lọc tổng hợp.
a)
Phân tích
H1

y1

2

2

Tổng hợp
G1

x

+
H0


2

y0

2

G0

x^

x0

H0 (ω) , H1 (ω)

b)

Wavelets

x1

0

Π/
2

2-14

π HVTH: Trương Quang Vinh



VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

Hình 2.7: bộ lọc hai kênh với các lọc phân tích h0,h1 và lọc tổng
hợp g0,g1 . nếu bộ lọc là trực chuẩn thì gi[n]=hi[-n]
(a) sơ đồ khối
(b) phổ phân tích bởi bộ lọc

2.2.2.1.3. Các đặc điểm của tín hiệu khai triển Haar
Các lọc Haar có đạc trưng ssau cũng đúng trong các trường hợp
ứng với bộ lọc trực chuẩn tổng quát.
- Hàm đáp ứng xung của các bộ lọc tổng hợp chính là hàm cơ sở
đầu tiên trong hệ cơ sở trực chuẩn
gi[n]=ϕi[n]

i=0,1

(2.33)

- Hàm đáp ứng xung của các bộ lọc phân tích là phiên bản đảo
ngược thời gian của lọc tổng hợp.
hi[n]=gi[-n]

i=0,1

(2.34)

từ công thức (2.29) ta thấy kênh 0 cho giá trị là giá trị trung bình

và kênh 1 cho sự sai biệt của hai mẫu liên tiếp. Ta gọi hai lọc
tương ứng là lọc cho băng thấp qua và lọc cho băng cao qua. Lọc
cho băng thấp qua cho phiên bản trung bình, hay phiên bản thô
của x[n], lọc cho băng cao qua cho sự sai biệt hay chi tiết thên vào
cần thiết để khơi phục tín hiệu x[n] từ phiên bản thô. Gọi hai
phiên bản thô và chi tiết là x0,x1 thì :
x 0 [ 2k ] = x 0 [ 2k + 1] =

Wavelets

1
(x[ 2k ] + x[ 2k + 1])
2

2-15

(2.35)

HVTH: Trương Quang Vinh


VLSI Architectures for DWT

THD: TS. Lê Tiến Thường

1
(x[ 2k ] − x[ 2k + 1])
2
x 1[ 2k + 1] = −x 1[ 2k ]
x 1[ 2k ] =


gọi V1 là không gian con sinh bởi {ϕ2k} và W1 là không gian sinh
bởi {ϕ2k+1} thì V1 và W1 trực giao và tổng của chúng chính là
l2(Z), x0 là hình chiếu của x lên không gian V1 sinh bởi {ϕ2k}, x1 là
hình chiếu của x lên không gian W1 sinh bởi {ϕ2k+1} và tổng của
hai hình chiếu x0,x1 khôi phục x.
(2.36)

l 2 ( Z) = V1 ⊕ W1

x0=prpjV1x
x1=projW1x
x=x0+x1
Khai triển Haar có ưu điển là đơn giản, nhưng độ phân giải tần số
của các hàm cơ sở không tốt :
G 0 (e j ω ) = 2e − j ( ω / 2) cos(ω / 2)

(2.37)

G1 (e j ω ) = 2 je − j ( ω / 2) sin(ω / 2)

2.2.2.2. Khai triển sinc của tín hiệu rời rạc
Khai triển sinc tasẽ trình bày sau đây có độ chọn lọc tần số lý
tưởng, các tín hiệu có tần số ngoài dải thông lọc sẽ bị loại bỏ hoàn
toàn, nhưng tính cục bộ về thời gian thì không tốt (chỉ giảm tuyến
tính theo thời gian)
Ta chọn lọc tổng hợp g0 là lọc nữa băng thấp qua lý tưởng có biến
đổi Fourier là hàm tuần hoàn chu kỳ 2π.
⎧ 2 ω ∈ [ − π / 2, π / 2]
G 0 (e j ω ) = ⎨

⎩ 0 ω ∈ [ π / 2,3π / 2]

(2.38)

hàm đáp ứng xung tương ứng là:
π/ 2

2
1 sin πn / 2
g0 [ n] =
e j ωn dω =

2π − π / 2
2 πn / 2

Wavelets

2-16

(2.39)

HVTH: Trương Quang Vinh


×