TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
VIỆN CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
BÀI
TẬP LỚN
Đề tài :
Tìm Hiểu về bô ô
lượng bình phương tối thiểu .
lọc
Wiener,
Giảng viên hướng dẫn:
PGS.TS Nguyễn Linh Giang
Sinh viên thực hiện:
Ninh Thị Hương
20081323
Trung Thành Phương
20083674
Nguyễn Hoài Linh
20081534
ước
Môn học : Mô phỏng các hệ thống truyền thông
Hà nội 11/2012
MỤC LỤC
I. Tổng quan về bộ lọc Wiener…………………………………………..…………2
1. Giới thiệu bộ lọc Wiener……………………………………………………...2
2. Nguyên lý cơ bản của bộ lọc Wiener………………………………………….4
3. Vấn đề xây dựng bộ lọc Wiener………………………………………………9
II. Ứng dụng bộ lọc Wiener trong xử lý ảnh……………………………………...11
1.
2.
3.
4.
Tổng quan về khôi phục ảnh……………………………………...…………11
Ước lượng sự xuống cấp…………………………………………………….12
Bộ lọc Wiener và khôi phục ảnh……………………………………………14
Thiết kế bộ lọc FIR Wiener…………………………………………………21
III. Mô phỏng thử nghiệm Wiener Filter………………………………………….27
1. Giới thiệu Matlab…………………………………………………………….27
2. Tiến hành thử nghiệm………………………………………………………..28
KẾT LUẬN……………………………………………………………………….38
Tài Liệu Tham Khảo………………………………………………………………39
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 2
I. Tổng quan về bộ lọc Wiener:
1. Giới thiệu bộ lọc Wiener:
Bộ lọc wiener là bộ lọc nổi tiếng trong thế giới của các loại tín hiệu. Bộ lọc
weiner là bộ lọc đã được Norbert Wiener (ông là nhà toán học nổi tiếng trên cả
phương diện toán học thuần túy và toán học ứng dụng, được coi là cha đẻ của
ngành Điều khiển học, là người đi tiên phong trong nghiên cứu về quá trình ngẫu
nhiên và quá trình nhiễu) đề xuất trong những năm 1940 và được công bố vào năm
1949.
Bộ lọc wiener được dùng cho rất nhiều mục đích và có vai trò quan trọng trong
nhiều ứng dụng như cân bằng kênh, dự đoán tuyến tính, hủy bỏ tiếng vang, giảm
tiếng ồn, kênh dự toán, phục hồi tín hiệu ….
Bộ lọc weiner dựa trên phương pháp thống kê để giảm nhiễu trong tín hiệu hiện
tại bằng cách so sánh nó với một tín hiệu ước tính mong muốn không có nhiễu
Cùng lúc với thời điểm mà Wiener xây dựng bộ lọc có nghiên cứu đồng thời của
Kolmogorov và công bố vào năm 1941. Do đó lý thuyết này thường được gọi là lý
thuyết lọc Wiener – Kolmogorov mang tên cả hai tác giả. Wiener-Kolmogorov đã
thiết kế mạch lọc đầu tiên và sau đó đã có nhiều nhà khoa học khác phát triển tiếp
trong đó có cả bộ lọc Kalman nổi tiếng.
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 3
2. Nguyên lý cơ bản của bộ lọc Wiener:
Bộ lọc Wiener là một bộ lọc thích nghi (adaptive filter) tức là các giá trị hệ số của
bộ lọc thay đổi theo thời gian, thường là phản ứng với những thay đổi trong đặc
tính của tín hiệu đầu vào.
Trước hết ta nhắc đến thuật toán Wiener Filter (WF), đây là thuật toán xuyên suốt ý
tưởng để xây dựng bộ lọc Wiener. Nguồn gốc cơ bản của thuật toán WF là tạo ra
tín hiệu “sạch” không có hay ít nhiễu bằng cách nén nhiễu. Ước lượng được thực
hiện bằng cách hạ thấp sai số bình phương trung bình (Mean Square Error) giữa tín
hiệu mong muốn và tín hiệu ước lương.
Một bộ lọc Wiener có thể là một trong hai loại IIR hoặc FIR
IIRWiener là bộ lọc đáp ứng xung vô hạn bao gồm các phương trình phi tuyến.
FIR Wiener là bộ lọc đáp ứng xung hữu hạn bao gồm các phương trình tuyến tính
Bộ lọc Wiener thường được gắn với các công trình xây dựng bộ lọc FIR. Điều này
là bởi vì các hệ số bộ lọc Wiener thay đổi theo thời gian, và bộ lọc IIR có thể trở
nên không ổn định cho các giá trị hệ số nhất định. Để ngăn chặn điều không ổn
định này, chúng ta thường xây dựng các bộ lọc thích nghi với cấu trúc FIR.
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 4
Việc thiết kế các bộ lọc Wiener có nhiều cách tiếp cận khác nhau. Giả thiết phải có
kiến thức về các tính chất quang phổ của tín hiệu ban đầu và nhiễu, và một
tìm kiếm thời gian lọc tuyến tính bất biến có đầu ra đến càng gần với tín hiệu ban
đầu càng tốt. Bộ lọc Wiener được đặc trưng bởi sau:
1. Giả thiết: tín hiệu và nhiễu (nhiễu cộng) của quá trình ngẫu nhiên tĩnh tuyến
tính với phổ đặc trưng hoặc tự tương quan và tương quan chéo đã biết.
2. Yêu cầu: các bộ lọc phải có thể thực hiện vật lý / quan hệ nhân quả (yêu cầu
này có thể được bỏ qua, dẫn đến một giải pháp không quan hệ nhân quả)
3. Hiệu suất tiêu chuẩn: tối thiểu hóa sai số bình phương trung bình (Minimum
Mean Square Error)
Vấn đề thiết lập bộ lọc Wiener (giả sử với trường hợp là tín hiệu liên tục):
Giả sử ta có đầu vào của bộ lọc Wiener là một tín hiệu s(t), bị sai lệch bởi nhiễu
cộng n(t), thì đầu ra ước lượng của bộ lọc s t
sau khi được lọc g(t) là tích chập
sau:
s t g t s t n t
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 5
Trong đó:
st
n t
là nhiễu cộng
s t
là tín hiệu ước lượng ( mong muốn bằng giá trị s t α
g t
là đáp ứng xung của bộ lọc Wiener
là tín hiệu ban đầu
)
Lỗi được định nghĩa là:
e t s t α − s t
Trong đó:
α
là độ trễ của bộ lọc Wiener ( khi trướng hợp xét là nhân quả)
Đây là công thức tổng quát xấp xỉ giữa
s t
và s t hay nói cách khác lỗi
là sai số giữa tín hiệu ước tính và tín hiệu thật bị trượt đi α .
Bình phương của lỗi:
2
2
2
e t s t α −2 s t α s t s t
Trong đó:
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 6
st α
e t
là mong muốn đầu ra của bộ lọc
là lỗi
Dựa vào các giá trị α khác nhau mà ta có thể đưa ra vấn đề như sau:
Nếu
α 0
thì là dự đoán (prediction) (tức là lỗi được giảm khi
tương tự 1 giá trị sau này s).
Nếu α 0 thì là đang lọc (filtering) (tức là lỗi được giảm khi s t
tự với giá trị s t
Nếu
α 0
st
tương
).
thì là làm mịn (smoothing) (tức là lỗi được giảm khi
st
tương tự với 1 giá trị trước đó của s).
Viết giải chập của s t :
∞
s t g τ s t−τ n t −τ dτ
∫
−∞
Lấy giá trị kì vọng của bình phương lỗi:
g τ g θ R x τ− θ dτdθ
∞
E e Rs 0 −2 ∫ g τ R xs τ α dτ
2
−∞
∞ , ∞
−∞ ,−∞
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 7
Trong đó:
x t s t n t
Rs
là hàm tự tương quan của s t
Rx
là hàm tự tương quan của
R xs
là hàm tương quan chéo của x t
Nếu tín hiệu
R sn
st
là tín hiệu quan sát được
và nhiễu
x t
n t
và s t
là không tương quan (tức là tương quan
là 0) thì có nghĩa là:
R xs R s
R x Rs Rn
Trên nhiều ứng dụng thì giả định nhiễu và tín hiệu không tương quan hợp lý.
Mục tiêu của chúng ta là tối thiểu
E e2
giá trị kỳ vọng của bình phương lỗi,
bằng cách tìm hàm đáp ứng xung của bộ lọc Wiener g τ
2
Việc tối thiểu E e
nó theo một giá trị g τ
tối ưu.
có thể thực hiện bằng việc tính toán đạo hàm bậc nhất của
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 8
R
xs τ α
δgτ
∞
δE e 2 −2 ∫
0
Để tối thiểu thì hàm bên trong phải loại bỏ nhau với mọi giá trị δ g τ
và dẫn
đến phương trình wiener – hopf
g θ R x τ−θ dθ
∞
R xs τ α ∫
0
Đây là phương trình cơ bản của lý thuyết Wiener, công thức bên phải giống như
là một giải chập nhưng miền chỉ là từ 0 → + ∞. Phương trình này có thể giải bằng
kỹ thuật Wiener – Hopf.
3. Vấn đề xây dựng bộ lọc Wiener:
Tiếp theo ta sẽ xét một số vấn đề của bộ lọc Wiener trước khi chuyển sang một ứng
dụng cụ thể của bộ lọc này.
Bộ lọc Weiner sẽ có giải pháp trên các trường hợp có thể:
Bộ lọc không nhân quả chấp nhận được (a noncausal filter is acceptable):
yêu cầu một số lượng vô hạn của cả dữ liệu quá khứ và tương lai.
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 9
Gs
S x , x s αs
e
S x s
Đó g t
là tối ưu, thì có nghĩa là bình phương tối thiểu phương trình:
∞
E e R x 0 −∫ g τ R x , s τ α d τ
2
−∞
và các giải pháp g t
đảo của G s
là hai mặt biến đổi Laplace nghịch
.
Bộ lọc nhân quả kỳ vọng được (a causal filter is desired) sử dụng một số
lượng vô hạn các dữ liệu quá khứ.
S x s
H s
Gs
Bộ lọc đáp ứng xung hữu hạn (FIR) sử dụng một số lượng hữu hạn các dữ
liệu quá khứ.
Trường hợp đầu tiên có thể là giải pháp đơn giản nhưng vấn đề ở chỗ nó không
phù hợp với hệ thống thời gian thực. Khả năng mà bộ lọc giải quyết tốt hơn là ở
những hệ nhân quả và đáp ứng xung hữu hạn.
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 10
Trên đây là phần mà nhóm đã tìm hiểu về lý thuyết Wiener, bộ lọc Wiener cũng
như phương trình của bộ lọc (tham khảo thêm tại: Wiener, Norbert
(1949). Extrapolation, Interpolation, and Smoothing of Stationary Time Series.
New York: Wiley), sau đây là phần thứ 2 của báo cáo về tìm hiểu ứng dụng của bộ
lọc Wiener, nhóm đã chọn một trong những ứng dụng điển hình của bộ lọc
Wiener là xử lý ảnh (lọc ảnh).
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 11
II. Ứng dụng bộ lọc Wiener trong xử lý ảnh
1. Tổng quan về khôi phục ảnh
Khôi phục ảnh đề cập tới các kỹ thuật loại bỏ hay tối thiểu hoá các ảnh hưởng của
môi trường bên ngoài hay các hệ thống thu nhận, phát hiện và lưu trữ ảnh đến ảnh
thu nhận được. Các nguyên nhân gây biến dạng ảnh: do nhiễu bộ cảm nhận tín
hiệu, ảnh mờ do camera, nhiễu ngẫu nhiên của khí quyển, v...v. Khôi phục ảnh bao
gồm nhiều quá trình như: lọc ảnh, khử nhiễu nhằm làm giảm các biến dạng để có
thể khôi phục lại ảnh gần giống ảnh gốc tuỳ theo các nguyên nhân gây ra biến
dạng.
Một hệ khôi phục ảnh
Sự lựa chọn hệ phục hồi ảnh phụ thuộc vào loại hình xuống cấp hay khôi phục ảnh
là nhằm xác định mô hình toán học của quá trình gây ra biến dạng. Các thuật toán
làm giảm nhiễu cộng ngẫu nhiên khác với các thuật toán làm giảm nhoè ảnh. Các
loại hình xuống cấp ta sẽ xét là nhiễu cộng ngẫu nhiên, nhoè và nhiễu phụ thuộc tín
hiệu, như nhiễu nhân. Những loại hình xuống cấp này thường xảy ra trong thực
tiễn.
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 12
Kỹ thuật mà ta sẽ dùng với bộ lọc Wiener là kỹ thuật lọc tuyến tính.
2. Ước lượng sự xuống cấp
Có hai cách tiếp cận để có thông tin về sự xuống cấp. Các thứ nhất là thu thập
thông tin từ chính ảnh bị xuống cấp. Nếu ta có thể tìm ra các vùng cường độ xấp xỉ
đồng đều trong ảnh, chẳng hạn bầu trời, thì có thể ước lượng phổ công suất hoặc
hàm mật độ xác suất của nhiễu nền ngẫu nhiên từ sự tăng giảm cường độ trong các
vùng có nền đồng đều. Một ví dụ khác như, khi ảnh bị nhoè nếu ta tìm được trong
ảnh đã xuống cấp một vùng mà tín hiệu gốc đã biết, thì có thể ước lượng hàm nhòe
b m ,n
Ký hiệu tín hiệu ảnh gốc ở một vùng đặc biệt của ảnh là
ảnh bị xuống cấp trong vùng đó là g m , n
và
f m ,n
và
thì quan hệ gần đúng giữa g m , n
là:
g m ,n
Theo giả thiết
được b m , n
f m ,n
f m ,n
và
f m ,n
b m,n
=
g m ,n
(1)
đều đã biết, nên có thể được ước lượng
từ (1).
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 13
Cách thứ hai là nghiên cứu cơ chế gây ra sự xuống cấp. Ví dụ, xét một ảnh tương
tự
f x, y
bị nhoè bởi sự dịch chuyển phẳng của máy ảnh lúc chớp. Giả thiết
không có sự xuống cấp nào khác ngoại trừ nhoè vì máy ảnh chuyển động, ta có thể
biểu diễn ảnh bị xuống cấp g x , y
gx ,y
x0 t
Trong đó
f x, y
x− x t , y− y t
1
∫ f
T t −T
2
và
y0 t
là:
0
0
dt
(2)
là sự tịnh tiến theo phương ngang và dọc của
ở thời điểm t và T là thời gian chớp. Trong miền biến đổi Fourier:
G Ωx ,Ωy
∞
T
∞
∫ ∫
x−∞ y−∞
∞
∞
∫ ∫ gx, y
x−∞ y −∞
1
T
T
∫
t −T 2
e
− j Ωx x
e− j Ω y dxdy
y
f x− x 0 t , y− y 0 t
dt
e− j Ω x e− j Ω y dxdy
x
y
(3)
Trong đó G Ω x , Ω y
là hàm biến đổi Fourier của
g x , y . Ước lượng (3) ta
nhận được:
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 14
G Ωx ,Ωy
= F Ωx , Ω y
B Ω x ,Ω y
(4)
Trong đó:
B Ω x ,Ω y
1
T
T
∫
e− j Ω x e − j Ω y dxdy
x
y
(5)
t −T 2
Từ (4), thấy rằng nhòe vì chuyển động có thể được xem như một phép nhân chập
f x, y
với b x , y
, mà biến đổi Fourier là B Ω x , Ω y
tính theo công thức
(5).
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 15
3. Bộ lọc Wiener và vấn đề khôi phục ảnh
Lọc Wiener là kỹ thuật lọc tuyến tính để khôi phục ảnh gốc từ ảnh đã xuống cấp
do bị nhiễu phá hủy.
Ảnh sau khi qua một đáp ứng nào đó thì bị nhiễu và khác với ban đầu, theo lý
thuyết ta xây dựng một đáp ứng ngược lại để khôi phục ảnh dựa vào đáp ứng ban
đầu. Tuy nhiên các phương pháp như lọc ngược và lọc giả ngược có một yếu điểm
là nhạy cảm với nhiễu vì vậy khi áp dụng các phương pháp này phải giả định là hệ
thống lý tưởng không có nhiễu. Song trên thực tế thì không thể có điều này, vì vậy
người ta sử dụng kĩ thuật lọc wiener cho các hệ thống có nhiễu.
Như ta đã biết mục tiêu của bộ lọc Wiener là để làm cực tiểu bình phương sai số,
trong xử lý ảnh thì là sai số giữa ảnh gốc và ảnh đang có. Ta cài đặt một bộ lọc FIR
như là một tích chập của một bộ lọc trọng số g, để làm cực tiểu sai số bình phương
với ảnh thu được. Việc tìm trọng số tương ứng với việc giải một phương trình thoả
mãn yêu cầu đặt ra, sau đó ta tìm ra bộ lọc để thực hiện việc tính tích chập. Sau khi
tính xong thì ta thu được ảnh gần với ảnh gốc nhất.
Bộ lọc Wiener thường là bộ lọc thông thấp, năng lượng của ảnh thường tập trung
ở vùng tần số thấp.
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 16
Bộ lọc Wiener và giảm nhiễu trong ảnh.
Mô hình ảnh xuống cấp bởi nhiễu cộng ngẫu nhiên:
g n1 , n2
Trong đó v n1 , n2
f n1 , n 2 v n 1 , n2
=
là biểu diễn nhiễu cộng ngẫu nhiên độc lập với tín hiệu.
Nhóm sẽ đưa ra những kí hiệu công thức thực tế không hề có sai khác ý nghĩa với ký hiệu công thức
phần tổng quan ở trên, lấy giá trị n dùng trong rời rạc không dùng cho nhiễu được nữa.
Nếu ta giả thiết rằng
f n1 , n 2
và
v n1 , n2
là những mẫu độc lập tuyến tính
P f 1 , 2
của quá trình ngẫu nhiên dừng trung vị bằng 0, và phổ công suất
P v 1 , 2
và
của chúng đã biết, thì có thể nhận được ước lượng tuyến tính tối ưu sai
số quân phương tối hiểu của f n1 , n 2
bằng cách cho
g n1 , n2
qua bộ lọc
wiener mà đáp ứng xung tần số như sau:
H 1 , 2
Pf
P f 1 , 2
1 , 2 P v 1 , 2
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 17
Bộ lọc trên là bộ lọc pha không. Vì phổ công suất
thực và không âm nên giá trị H 1 , 2
P f 1 , 2
P v 1 , 2
và
là
cũng là thực và không âm. Nhờ có bộ lọc
Weiner chỉ ảnh hưởng tới biên độ phổ chứ không ảnh hưởng đến pha. Bộ lọc
Weiner giữ nguyên tỉ số SNR (tỉ số tín hiệu trên nhiễu) của các thành phần tần số
cao, nhưng làm giảm SNR của các thành phần tần số thấp. Nếu ta cho
tiến gần tới 0 thì H 1 , 2
sẽ tiến gần đến 1, cho ta thấy bộ lọc có xu hướng giữ
nguyên SNR của các thành phần tần số cao. Nếu cho P f 1 , 2
trị H 1 , 2
P f 1 , 2
tiến đến ∞ thì giá
sẽ tiến đến 0, cho ta thấy bộ lọc có xu hướng làm giảm SNR của các
thành phần tần số thấp.
Bộ lọc Weiner dựa vào giả thiết là phổ công suất
P f 1 , 2
và
P v 1 , 2
đã
biết hoặc có thể ước lượng được. Trong các bài toán thường gặp thì ước lượng phổ
công suất của nhiễu
P v 1 , 2
là hoàn toàn có thể làm như phần 2 ở trên, tuy
nhiên là với phổ công suất của ảnh
P f 1 , 2
ước lượng không đơn giản. Một
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 18
phương pháp là lấy trung bình
F ω1 ,ω 2 ∨
2
cho nhiều ảnh
f n1 , n 2
.
Phương pháp khác là mô hình hóa bằng một hàm đơn giản
R f 1 , 2 p
√ n1 2 n2 2
P f 1 , 2 F R f 1 , 2
Trong đó 0< p <1. p là ước lượng từ ảnh bị xuống cấp g n1 , n2
.
Thông thường bộ lọc wiener được thực thi trên miền tần số bởi:
p n1 , n 2
=IDFT [
Các giá trị G k 1 , k 2
và h n 1 , n2
G k 1 , k2
H k1,k2
và H k 1 , k 2
]
là biến đổi Fourier rời rạc của g n1 , n2
. Trong công thức trên thì kích thước DFT và biến đổi ngược DFT ít
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 19
N M −1
nhất cũng là
kích thước bộ lọc là M
N M −1
dụng của
khi kich thước ảnh là
x M . Nếu kích thước DFT nhỏ hơn
thì biến đổi Fourier ngược IDFT [ G k 1 , k 2
không đồng nhất với g n1 , n2
lý p n1 , n 2
N M −1
x
* h n 1 , n2
N
N
và
N M −1
x
x
H k1,k2
] sẽ
ở gần các đường biên của ảnh đã xử
, vì hiệu ứng aliasing. Trong hầu hết các trường hợp, kích thước hiệu
h n 1 , n2
nhỏ, có thể nhận được kết quả vừa ý với biến đổi Fourier
(DFT) và biến đổi ngược Fourier (IDFT) có kích thước
nhận được H k 1 , k 2
là lấy mẫu đáp ứng tần số
N
H ω1 , ω 2
x N . Một cách để
của bộ lọc Wiener
bằng:
H k 1 , k 2 H ω1 , ω2
ω1
2 π k1
, ω 2 2 π k 2 L
L
Trong đó: kích thước của DFT và IDFT là L x L
Bộ lọc wiener làm giảm nhiễu nền rõ rệt, tuy nhiên nó cũng làm nhòe ảnh. Lý do là
bộ lọc wiener sử dụng một bộ lọc duy nhất trên toàn bộ ảnh, nó được triển khai với
Bài tập lớn Mô phỏng các hệ thống truyền thông
Page 20
- Xem thêm -