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

Xử lý tự thích nghi theo băng con và ứng dụng

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 (896.68 KB, 72 trang )

Đại học quốc gia Hà nội
Trờng đại học công nghệ

Nguyễn Trọng Khánh

Xử lý tự thích nghi theo băng con
v ứng dụng

Luận văn thạc sĩ

Hà Nội - 2006


Đại học quốc gia Hà Nội
trờng đại học công nghệ

Nguyễn Trọng Khánh

Xử lý tự thích nghi theo băng con
v ứng dụng
Ngành: Công nghệ điện tử viễn thông
Chuyên ngành: Kỹ thuật vô tuyến điện tử và thông tin liên lạc
Mã số: 2.07.00

Luận văn thạc sĩ

Ngời hớng dẫn khoa học:

GS. TSKH Huỳnh Hữu Tuệ

Hà Nội - 2006




Mục lục
Bảng ký hiệu các chữ viết tắt .......................................................................... 1
Mở đầu............................................................................................................................... 2
Chơng 1: Tóm tắt lý thuyết xử lý tự thích nghi.............................. 3

1.1. Mạch lọc tuyến tính tối u................................................................... 3
1.2. Cấu trúc của các mạch lọc thích nghi ................................................ 4
1.3. Mạch lọc FIR Wiener .......................................................................... 5
1.4. Xử lý tín hiệu số đa tốc độ ................................................................... 7
1.4.1. Bộ giảm tốc độ mẫu (Decimation) .................................................. 7
1.4.2. Bộ tăng tốc độ mẫu (Interpolation)................................................. 9
1.4.3. Thay đổi tốc độ mẫu bằng hệ số phân số hữu tỉ............................ 11
1.4.4. Các yêu cầu về tính toán ............................................................... 12
1.5. Các thuật toán tự thích nghi và ứng dụng ....................................... 13
1.5.1. Phơng pháp giảm bớc nhanh nhất............................................ 13
1.5.2. Thuật toán toàn phơng trung bình tối thiểu LMS........................ 15
1.5.3. Thuật toán bình phơng tối thiểu đệ quy RLS ............................... 18
ChƯơng 2: Cấu trúc dn lọc v các phép toán ..................................... 23

2.1. Khái niệm dàn lọc số .......................................................................... 23
2.1.1. Dàn lọc phân tích ....................................................................... 23
2.1.2. Dàn lọc tổng hợp ........................................................................ 23
2.2. Dàn lọc DFT........................................................................................ 24
2.3. Dàn lọc QMF ...................................................................................... 26
2.3.1. Dàn lọc QMF 2-kênh .................................................................... 26
2.3.2. Quan hệ giữa các tín hiệu trong dàn lọc QMF ............................. 27
2.3.3. Dàn lọc QMF không chồng phổ.................................................... 28
2.3.4. Dàn lọc QMF M kênh ................................................................... 29

Chơng 3: Xử lý tự thích nghi theo băng con v áp dụng
vo bi toán lọc nhiễu âm v loại tiếng vang...................................32

3.1. Một số chơng trình mô phỏng cơ sở ............................................... 35
3.1.1.Phân tích dạng tín hiệu nhiễu âm học............................................ 35
3.1.2. Tác dụng của việc tăng giảm mẫu................................................. 36
3.1.3. Dàn lọc băng con .......................................................................... 38
3.2. Lọc thích nghi nhiễu âm học ............................................................. 40
3.2.1. Lọc thích nghi nhiễu âm học trên toàn dải thông ......................... 40
3.2.2. Lọc thích nghi nhiễu âm học dùng băng con ................................ 46
3.3. Bộ khử tiếng vang tự thích nghi........................................................ 55
3.3.1. Bộ khử tiếng vang tự thích nghi toàn dải....................................... 55
3.3.2. Bộ khử tiếng vang tự thích nghi theo băng con ............................. 57
3.4. Kết luận ............................................................................................... 59
Kết luận......................................................................................................................... 60
Phụ lục ........................................................................................................................... 61
Ti liệu tham khảo................................................................................................. 68


B¶ng ký hiÖu c¸c ch÷ viÕt t¾t

SNR
AWGN

Signal to noise ratio
Additive white gaussian noise

FIR

Finite Impulse Response


IIR

Infinite Impulse Response

BER

Bit error ratio

LMS

Least Mean Square

RLS

Recursive Least Square

BPSK

Binary pulse shift keying

QPSK

Quadrature pulse shift keying

QAM

Quadrature amplitude modulation

QMF


Quadrature Mirror Filter Bank

OFDM

Orthogonal frequency-division multiplexing

UMF

Uniformly modulated filter bank

DFT

Discrete Fourier Transform

1


Mở đầu

Chúng ta đều biết rằng loại bỏ tạp âm và khử tiếng vang là công việc rất
cần thiết trong việc đảm bảo chất lợng trong lĩnh vực xử lý âm thanh [1].
Thông thờng thì chất lợng âm thanh sẽ đợc tốt hơn nhờ bộ lọc tiếng vang
thích nghi (AEC) [2]. Cấu trúc của bộ lọc thích nghi thông dụng nhất thờng
là cấu trúc LMS hoặc RLS. Tất nhiên là đối với những nhà xử lý tín hiệu số
chuyên nghiệp thì có rất nhiều phơng pháp thích nghi khác, đợc sử dụng
cho các ứng dụng phù hợp. Giới hạn của của luận văn này chỉ là 2 phơng
pháp LMS và RLS. Vấn đề đặt ra đó là độ phức tạp của việc xử lý trên toàn dải
thông.
Bằng cách chia dữ liệu âm thanh thành các băng con nhỏ phù hợp, thì

độ phức tạp của hệ thống đợc giảm theo hệ số là số băng con. Nếu chúng ta
áp dụng phơng pháp phân tích phổ rời rạc DFT hoặc các dàn lọc lấy mẫu ở
tần số giới hạn thì tại các băng con sẽ xuất hiện hiện tợng chồng phổ và ảnh
hởng tới sự hội tụ của các bộ lọc thích nghi. Vấn đề này có thể xử lí tốt nếu
sử dụng tần số lấy mẫu cao hơn mà ở đây nghĩa là loại bỏ bớt các mẫu dữ liệu
(số mẫu bỏ đi giữa 2 lần lấy mẫu phải nhỏ hơn số băng con). Và đó chính là
trọng tâm của luận văn này: xử lý tự thích nghi theo băng con và áp dụng
trong một bài toán cụ thể xử lý loại bỏ tiếng vang.
Luận văn này trình bày từng bớc quá trình vừa đợc đề cập đến, cấu
trúc bao gồm các chơng sau:
Chơng 1: Tóm tắt lý thuyết xử lý tự thích nghi
Chơng 2: Trình bày cấu trúc dàn lọc và các phép toán
Chơng 3: Xử lý tự thích nghi băng con áp dụng trong bài toán loại bỏ
tiếng vang.
Phần kết luận tổng kết lại những kết quả đạt đợc trong luận văn.

2


Chơng 1: Tóm tắt lý thuyết xử lý tự thích nghi

1.1. Mạch lọc tuyến tính tối u
Thuật ngữ mach lọc dùng để chỉ các hệ thống có khả năng khôi phục
lại dạng của các thành phần tần số của tín hiệu lối vào để tạo ra tín hiệu lối ra
thỏa mãn các yêu cầu mong muốn. Mạch lọc có thể tuyến tính hoặc phi tuyến.
Ta chỉ xét các mạch lọc tuyến tính, tức các mạch lọc có tính chất tuân theo
nguyên lý chồng chất.
d [n ]

x[n ]




Mạch lọc thời gian
rời rạc tuyến tính

w[n] = w0 , w1 ,...

+

+

e[n]

Hình 1.1. Giản đồ khối của bài toán lọc thống kê
Trong đó :

x[n] : tín hiệu vào
d [n] : tín hiệu mong muốn

e[n] : tín hiệu sai số

Tín hiệu lối vào là một dãy thời gian rời rạc x[n] , mạch lọc đợc đặc
trng bởi đáp ứng xung h[n] , còn tín hiệu lối ra ở thời điểm n là y[n] . Lối ra
này đợc sử dụng để xác định một đáp ứng mong muốn d [n] . Trong trờng
hợp mạch lọc thích nghi, các hệ số của mạch lọc phải đợc chọn lựa sao cho
dãy tín hiệu mong muốn có dạng phù hợp nhất với tín hiệu lối vào. Điều này
có thể thực hiện nếu dãy tín hiệu sai số e[n] hội tụ về 0 nhanh nhất. Để làm
đợc điều này ta phải tối u hóa một hàm sai số đợc xác định theo phơng
pháp thống kê hoặc theo phơng pháp quyết định.

ắ Đối với phơng pháp thống kê, hàm sai số đợc sử dụng là giá trị toàn
phơng trung bình của tín hiệu sai số e[n] . Nếu tín hiệu vào và tín hiệu
mong muốn là những tín hiệu dừng thì việc cực tiểu hóa sai số toàn phơng
trung bình đa đến mạch lọc Wiener mạch lọc tối u theo toàn phơng

3


trung bình. Hầu hết các thuật toán thích nghi là áp dụng cho các loại mạch
lọc Wiener. Để thiết kế mạch lọc Wiener cần phải biết trớc các tính chất
thống kê của các tín hiệu cơ sở. Các tín hiệu này đợc giả thiết là ergodic,
nghĩa là tín hiệu dừng và trung bình theo thời gian bằng trung bình thống
kê.
ắ Đối với phơng pháp quyết định, cách chọn hàm sai số là một tổng trọng
số của tín hiệu sai số toàn phơng. Việc cực tiểu hóa hàm này dẫn đến một
mạch lọc tối u đối với dãy dữ liệu đã cho
1.2. Cấu trúc của các mạch lọc thích nghi
Cấu trúc thờng đợc sử dụng trong mạch lọc thích nghi [3, 4] là cấu
trúc ngang:
x[n]



w0 [n]





1


x[n 1]

Z
w1 [n]



Z



1





Z

1

x[n N + 1]

wN 1 [n]




Thuật toán thích nghi




y[n ]



e[n] +

d [n]

Hình 1.2. Cấu trúc của một mạch lọc ngang thích nghi
x[n] : tín hiệu lối vào,

Trong đó

d [n] : tín hiệu mong muốn,
y[n] : tín hiệu lối ra,
e[n] : tín hiệu sai số

Phơng trình sai phân mô tả quan hệ giữa lối ra và lối vào:
N 1

y[n] = wk [n]x[n k ]

(1.1)

k =0

4



ở đây N là chiều dài của mạch lọc còn wk [n] là các hệ số của mạch lọc,
các hệ số này có thể thay đổi theo thời gian và đợc điều khiển bằng thuật
toán thích nghi.
1.3. Mạch lọc FIR Wiener
Ta chỉ xét trờng hợp các hệ số giá trị thực. Biểu diễn lối vào và các hệ
số mạch lọc dới dạng véc tơ ta có:
w = [w0

w1 K wN 1 ]

T

(1.2)

x[n] = {x[n] x[n 1] K x[n N + 1]}

T

(1.3)

Ta có lối ra của mạch lọc:
N 1

y[n] = wk [n]x[n k ] = wT x[n]

(1.4)

k =0


Do wT x[n] là đại lợng vô hớng nên ta có thể viết: y[n] == x T [n].w
Từ đó: e[n] = d [n] y[n] = d [n] x T [n]w

(1.5)

Đối với mạch lọc Wiener, hàm hiệu năng đợc chọn là sai số toàn
phơng trung bình:

[

= E e[n]

2

]

(1.6)

Thay vào ta có:
= E [(d [n] wT x[n])(d [n] x T [n]w)]
= E [d 2 [n]] wT E[x[n]d [n]] E [d [n]xT [n]]w + wT E [x[n]xT [n]]w

(1.7)

Ta định nghĩa véc tơ tơng quan chéo bậc Nx1:
p = E [x[n]d [n]] = [ p0

p1


p2 K

p N 1 ]

T

Và ma trận tự tơng quan:

5

(1.8)


r00
r
10
T
R = E x[n]x [n] = r20

M
rN 1,0


[

]

r01

r02


K

r11

r12

K

r21
M

r22
M

K
K

rN 1,1

rN 1, 2 K

r0, N 1
r1, N 1
r2, N 1

M
rN 1, N 1

(1.9)


Chú ý rằng: E [d [n]xT [n]] = pT và wT p = pT w ta có:
= E [d 2 [n]] 2wT p + wT Rw

(1.10)

Để thu đợc dãy hệ số ứng với hàm phí tổn có giá trị cực tiểu ta cần phải
giải hệ phơng trình đợc tạo thành từ đạo hàm bậc nhất của đối với mỗi hệ
số wi bằng không, tức là:

= 0 với i = 0, 1, 2, K N 1
wi

Viết dới dạng ma trận: = 0
ở đây là toán tử vi phân đợc xác định nh một véc tơ cột:

w
0





= w1
M



wN 1


Để tìm các đạo hàm riêng của đối với các hệ số wi của mạch lọc, trớc hết
ta biểu diễn hàm phí tổn thành dạng sau:
= E [d 2 [n]] 2 pk wk + wk wm rkm

Ta có:

Từ đó:

N 1

N 1 N 1

k =0

k =0 m =o

(1.11)

N 1 N 1

N 1 N 1

N 1

N 1

k =0 m=o

k =0 m=0
k i mi


k =0
k i

m=0
mi

wk wm rkm = wk wm rkm + wi wk rki + wi wm rkm + wi2 rki
N 1

= 2 pi + wk (rki + rik ) với i=0, 1, ,N-1
wi
k =0

6

(1.12)


Ta thấy: rki = E [x[n k ]x[n i ]] = xx [i k ]

(1.13)

ở đây: xx [i k ] là hàm tự tơng quan của x[n]
tơng tự: rik == xx [k i ]
Do tính chất đối xứng của hàm tự tơng quan xx [k ] = xx [ k ] ta thu đợc:
rki = rik
N 1

Từ đó:

= 2 pi + 2 rik wk với i = 0, N 1
wi
k =0

(1.14)

Biểu diễn dới dạng ma trận: = 2 Rw 2 p

(1.15)

Đặt ta sẽ thu đợc phơng trình tối u hóa các hệ số của mạch lọc Wiener
Rw0 = p

Đây là phơng trình Wiener-Hopf đối với véc tơ trọng số tối u w0
w0 = R 1 p

(1.16)

Thay giá trị w0 vừa tìm đợc từ phơng trình Wiener-Hopf và Rw0 = p vào

phơng trình = E [d 2 [n]] 2wT p + wT Rw ta sẽ tìm đợc giá trị cực tiểu của hàm
phí tổn
min = E [d 2 [n]] w0 T p

[

]

(1.17)


= E d 2 [n] w0 Rw0
T

Đó là sai số cực tiểu mà mạch lọc Wiener FIR W (z ) có thể đạt đợc khi các hệ
số của nó là nghiệm của phơng trình Wiener-Hopf , có nghĩa là nghiệm tối
u.
1.4. Xử lý tín hiệu số đa tốc độ
Xử lý tín hiệu số đa tốc độ gồm 2 nội dung chính là giảm tốc và tăng tốc [5,
6].
1.4.1. Bộ giảm tốc độ mẫu (Decimation)

7


Khi đi qua bộ giảm tốc độ mẫu, chỉ những mẫu của tín hiệu lối vào x[n]
ở những thời điểm bằng bội số của M thì đợc giữ lại còn (M-1) mẫu trớc đó
bị loại bỏ [2]. Chúng ta có tín hiệu y D [n] = x[Mn] , trong đó M là số nguyên
x[n]

y D [n ]

M

Hình 1.3.a Bộ giảm tốc độ mẫu
Lấy biến đổi Z ta có: YD (z ) =



x[Mn]z


n

(1.18)

n =

x[n], n = 0, M , 2M ...
n
0

Ta đặt x1 [n] =

Khi đó ta có: YD (z ) =
=



x[Mn]z n =

n =



x [k ]z

k / M

1

k =




x [Mn]z

n =

n

1

(

= X 1 z1/ M

)

(1.19)

Ta có thể viết: x1[n] = c[n]x[n], với
1, n = 0 , M ,2M ,...
0, n

c[n] =

c[n] còn đợc viết dới dạng:
c[n] =

1
M


M 1

W
k =0

kn
M

trong đó WM = e-j2/M .

(1.20)

Từ đó ta có:


X1(z) =
=
Vậy:

c[n]x[n]z n =

n =

1
M

1
YD(z) =
M


1
M

M 1 kn
WM x[n]x n

n = k =0




1
x[n]WMkn z n =

k =0 n =
M

M 1

M 1

X (z
k =0

1/ M

WMk )

8


M 1

X ( zW
k =0

k
M

)

(1.21)


Chuyển sang miền tần số:
1
M

YD(ej ) =

M 1

X (e

j ( 2k ) / M

)

(1.22)


k =0

( )

X e jw

-2

-

(

X e jw / 2

0



)



2

(

X e jw / 2

)
M=2


-2

-

0



2



2YD (e jw )

M=2
-2

-

0



2



Hình 1.3b. Sự chồng phổ do bộ giảm tốc độ mẫu
Ta thấy ở phổ tín hiệu lối ra bao gồm M phổ tín hiệu lối vào dịch

chuyển một lợng 2/M. Nh vậy sự giảm tốc độ mẫu luôn gây nên sự chồng
phổ của tín hiệu lối ra. Do đó trong các ứng dụng, bộ giảm tốc độ mẫu thờng
đợc đặt trớc một mạch lọc số thông thấp - Mạch lọc giảm tốc độ mẫu - đảm
bảo cho tín hiệu giảm tốc độ mẫu đợc giới hạn dải ở trong vùng /M
x[n]

H (z )

v[n ]

M

y [n ]

Hình 1.3c. Mạch lọc giảm tốc độ mẫu

1.4.2. Bộ tăng tốc độ mẫu (Interpolation)

9


Bộ tăng tốc độ mẫu có tác dụng tăng tốc độ lấy mẫu của một tín hiệu
lên một hệ số L bằng cách thêm vào (L-1) mẫu có giá trị 0 giữa hai mẫu
liên tiếp của tín hiệu x[n] và chúng ta có tín hiệu:
x[n / L] n = 0, L,2 L,....
y I [n] =
n
0
x[n]


(1.23)

y L [n ]

L

Hình 1.3d. Bộ tăng tốc độ mẫu
Bộ tăng tốc độ mẫu còn gọi là bộ nội suy hay bộ giãn nở . Lấy biến đổi
Z ta có:
YI ( z ) =
=



y [ n] z

n =


n

I

x[m]z



=

x[n / L]z


n

(1.24)

n =

Lm

( )

= X zL

m =

Tơng tự nh trong bộ giảm tốc độ mẫu, chúng ta có thể thu đợc quan hệ
giữa tín hiệu vào và ra của bộ tăng tốc độ mẫu trên lĩnh vực tần số
YI(ej) = X(ejL)

(1.25)

Từ đó ta thấy rằng phổ của tín hiệu lối ra của bộ tăng tốc độ mẫu là các
phiên bản của phổ của tín hiệu lối vào bị nén lại L lần, do vậy bộ tăng tốc độ
mẫu không gây ra hiện tợng chồng phổ và vì vậy không làm mất thông tin.
Các phiên bản bị nén đợc gọi là ảnh; nh vậy, bộ tăng tốc độ mẫu tạo nên
(L-1) ảnh và gây nên hiệu ứng ảnh.

x[n]

L


y L [n ]

H (z )

y [n ]

Hình 1.3e. Mạch lọc tăng tốc độ mẫu

10


Để khôi phục lại tín hiệu gốc, ta dùng mạch lọc thông dải. Mạch lọc
này mắc phía sau bộ tăng tốc độ mẫu, có nhiệm vụ loại bỏ toàn bộ các ảnh do
sự tăng tốc độ mẫu sinh ra. mạch lọc này đợc gọi là mạch lọc tăng tốc độ
mẫu.
1.4.3. Thay đổi tốc độ mẫu bằng hệ số phân số hữu tỉ
Trong thực tế, các bộ tăng tốc độ mẫu và giảm tốc độ mẫu đợc ghép
xen kẽ với các thành phần của một mạch lọc số LTI. Nhờ sự ghép nối tiếp bộ
tăng tốc độ mẫu và giảm tốc độ mẫu mà chúng ta có thể thay đổi đợc tốc độ
lấy mẫu với hệ số bất kỳ.
x[n]

y1 [n ]

y I [n ]
L

y D [n ]


x[n]

M

L

M

(a)

y 2 [n ]

(b)

Hình 1.3f. Thay đổi tốc độ mẫu với hệ số phân hữu tỷ
Để mạch ghép nối tiếp giữa một bộ giảm tốc độ mẫu với hệ số M với
một bộ tăng tốc độ mẫu hệ số L có thể trao đổi vị trí cho nhau mà không làm
thay đổi quan hệ vào-ra thì M và L là nguyên tố với nhau.
Nh vậy, khi mắc nối tiếp một bộ giảm tốc độ mẫu hệ số M với bộ tăng
tốc độ mẫu hệ số L thì sẽ tạo đợc bộ giảm tốc độ mẫu hệ số M/L, hoặc nếu
mắc nối tiếp một bộ tăng tốc độ mẫu hệ số L với một bộ giảm tốc độ mẫu hệ
số M thì sẽ thu đợc một bộ tăng tốc độ mẫu hệ số L/M.
M

HD(z)

L

HD(z)


HI(z)

L

M

HI(z)

L

(a)
H(z)

M

(c)

(b)

Hình 1.3g. Sơ đồ tổng quát để tăng tốc độ mẫu hệ số L/M
Có hai khả năng để thực hiện cách ghép nối tiếp nh mô tả trong hình
vẽ trên. Trong số các khả năng này, thì sơ đồ cho trong hình (b) là hiệu quả

11


hơn cả, vì chỉ một trong hai mạch lọc HD(z) hoặc HI(z) thích hợp cho mạch
lọc tăng tốc độ mẫu và mạch lọc giảm tốc độ mẫu phụ thuộc vào các tần số
của dải chặn /L hoặc /M cái nào là cực tiểu. Ta cũng nhận thấy rằng hệ
thống (a) bảo toàn các thành phần tần số của tín hiệu ít hơn là hệ thống (b).

Do vậy, cấu hình mong muốn để thay đổi tốc độ mẫu đợc chỉ ra trên hình (c).
Trong hình này thì mạch lọc H(z) có tần số cắt của dải chặn đã đợc chuẩn

C = min ,

hoá là

L M

(1.26)

Mạch lọc này vừa loại bỏ các ảnh do bộ tăng tốc độ mẫu hệ số L gây ra
lại vừa loại bỏ hiện tợng chồng phổ do bộ giảm tốc độ mẫu hệ số M gây ra.
1.4.4. Các yêu cầu về tính toán
Các mạch lọc trong các bộ tăng, giảm tốc độ mẫu có thể đợc thiết kế
bằng các mạch lọc số FIR hoặc IIR. Đối với các hệ thống xử lý đơn tốc độ thì
ngời ta hay sử dụng các mạch lọc IIR, vì các mạch lọc này hiệu quả hơn FIR
về phơng diện tính toán. Trong các hệ thống xử lý đa tốc độ, thì điều này lại
không hoàn toàn nh vậy. Chẳng hạn, chúng ta hãy xét cấu trúc của một bộ
giảm tốc độ mẫu hệ số M. Nếu mạch lọc giảm tốc độ mẫu H(z) là một mạch
lọc FIR chiều dài N đợc thực thi dới dạng trực tiếp, thì khi đó
N 1

y[n ] = h[k ]x[n k ]

(1.27)

k =0

Bây giờ, cứ M mẫu tín hiệu lối vào thì bộ giảm tốc độ mẫu cho mẫu thứ

M đi ra lối ra. Do vậy trong biểu thức trên chỉ cần tính các giá trị của n là
những số nguyên lần của M cho lối ra y[n] và thực hiện các tính toán trong
M 1 mẫu. Nhờ đó, đã tiết kiệm đợc M lần các phép tính toán. Mặt khác, nếu
H(z) là một mạch lọc IIR bậc K với hàm truyền dạng
H (z )

Y ( z ) P( z )
=
X ( z ) D( z )

(1.28)

trong đó
K

P(z ) = pn z n ,
n =0

K

D( z ) = 1 + d n z n
n =1

12

(1.29)


Nếu mạch lọc có cấu trúc dạng trực tiếp thì
w[n] = -d1w[n-1] -d2w[n-2]- ... - dkw[n-K] + x[n]

y[n] = p0w[n] + p1w[n-1] + ... + pkw[n-K]

(1.30)

Vì y[n] đợc giảm tốc độ mẫu, nên khi tính y[n] chỉ cần tính các giá trị
của n bằng một số nguyên lần của M mà thôi. Tuy nhiên, tín hiệu trung gian
w[n] phải đợc tính với tất cả các giá trị của n. Chẳng hạn, khi tính giá trị lối
ra
y[M] = p0w[M] + p1w[M-1] + ... + pkw[M-K]
thì K+1 giá trị liên tiếp của w[n] vẫn đợc yêu cầu. Vì thế, trong trờng hợp
này, việc tiết kiệm tính toán ít hơn hệ số M. Do vậy, hiệu quả tính toán khi sử
dụng mạch lọc FIR cao hơn là dùng mạch lọc IIR
1.5. Các thuật toán tự thích nghi và ứng dụng
1.5.1. Phơng pháp giảm bớc nhanh nhất
Đây là phơng pháp lặp để tìm các hệ số tơng ứng với điểm cực tiểu về
mặt sai số của một mạch lọc Wiener FIR [1]. Trong phơng pháp này, hàm
phí tổn cần cực tiểu hóa đợc giả thiết là phân kỳ và xuất phát từ một điểm bất
kỳ trên mặt sai số, ta lấy một bớc nhỏ theo hớng mà trong đó hàm phí tổn
giảm nhanh nhất. Có nghĩa là tại điểm đó trên mặt sai số hàm phí tổn có độ
dốc lớn nhất trên một khoảng dài nhất. Tại điểm đó hàm phí tổn của mạch lọc
Wiener sẽ có giá trị tối u.
Đối với mạch lọc Wiener ngang nh trên hình vẽ:

13


x[n]




w0 [n]



Z

1

x[n 1]





Z 1

w1 [n]



Z 1

x[n N + 1]

wN 1 [n]









y[n ]

+

e[n]

d [n]

Hình 1.4. Mạch lọc ngang cho phơng pháp giảm bớc nhanh nhất
Trong đó x[n] , d [n] , wk [n] là các dãy số thực . Ta có:
y[n] = wT x[n] trong đó: w là véc tơ hệ số, x[n] là véc tơ tín hiệu lối vào.

Các véc tơ w và x[n] đều là các véc tơ cột.
Khi hàm phí tổn đạt giá trị cực tiểu thì các hệ số véc tơ đạt đến giá trị
tối u, thỏa mãn phơng trình Wiener-Hopf
Rw0 = p

Thay cho việc giải phơng trình một cách trực tiếp, ta dùng phơng pháp lặp.
Xuất phát từ giá trị dự đoán trớc đối với w0 , gọi là w(0) , nhờ tính toán đệ quy
thực hiện nhiều phép lặp để hội tụ tới w0 . Thuật toán này thờng xuyên đợc
sử dụng trong các mạch lọc thích nghi.
Phơng pháp giảm bớc nhanh nhất đợc thực hiện theo các bớc sau:
Bớc 1: Xuất phát từ thông số dự đoán ban đầu mà các giá trị tối u của
nó tìm đợc để cực tiểu hóa hàm phí tổn.
Bớc 2: Tìm gradient của hàm phí tổn ứng với các thông số tại điểm
xuất phát
Bớc 3: Cập nhật các thông số bằng cách lấy một bớc theo hớng

ngợc với véc tơ gradient thu đợc trong bớc 2. Điều đó tơng ứng với
bớc giảm nhanh nhất trong hàm phí tổn. Ngoài ra, kích thớc của bớc
đợc chọn tỉ lệ với kích thớc của véc tơ gradient.

14


Bớc 4: Lặp lại các bớc 2 và 3 cho đến khi không thể thay dổi đợc
nữa các thông số
Theo các thủ tục trên, nếu w(k ) là các hệ số véc tơ tại phép lặp thứ k, công
thức truy hồi sau có thể sử dụng để cập nhật w(k )
w(k +1) = w(k ) k

(1.31)

trong đó: k = 2 Rw(k ) 2 p là véc tơ gradient tính tại thời điểm w = wk còn:
= E {e 2 [n]} là hàm phí tổn

(1.32)

là toán tử vi phân đợc viết dới dạng véc tơ cột:


=
w0


w1



K

w N 1

T

(1.33)

Thông số trong công thức truy hồi w(k +1) = w(k ) k là đại lợng vô
hớng dơng đợc gọi là kích thức của bớc. Tốc độ hội tụ của w(k ) tới w0
phụ thuộc vào thông số này. Nếu kích thớc của bớc lớn, có thể sự hội tụ
nhanh hơn nhng bù lại tính ổn định sẽ kém hơn.
1.5.2. Thuật toán toàn phơng trung bình tối thiểu LMS
Thuật toán toàn phơng trung bình tối thiểu (LMS: Least - Mean - Square)
là thuật toán lọc thích nghi tuyến tính thuộc họ các thuật toán gradient thống
kê, đợc Widrow và Hoff áp dụng lần đầu năm 1960. LMS bao gồm hai quá
trình: quá trình lọc và quá trình thích nghi. Trong quá trình lọc, thuật toán
LMS sử dụng mạch lọc ngang tuyến tính có lối vào x[n] , lối ra y[n] . Quá trình
thích nghi đợc thực hiện nhờ sự điều khiển tự động các hệ số của mạch lọc
sao cho nó tơng đồng với tín hiệu sai số là hiệu của tín hiệu lối ra với tín hiệu
mong muốn d [n]
Sơ đồ của thuật toán LMS:

15


x[n]
z-1
w0 [n]
X


x[n-1]

w1 [n]

z-1

x[n-N+1]

z-1
X

X

wN-1 [n] X

w1 [n]

....
+

_
LMS
e[n]
+

y[n]

+


+ d[n]

Hình 1.5. Sơ đồ thuật toán LMS
Giả sử mạch lọc ngang có N hệ số và là dãy số thực, khi đó tín hiệu lối
ra đợc viết
N 1

y[n] =

w k [n]x[n k]

(1.34)

k =0

Trong đó các hệ số w0[n], w1[n], ..., wN-1[n] đợc chọn lựa nh thế nào để sai
số có giá trị cực tiểu. Trong mạch lọc thích nghi, các hệ số là hàm của chỉ số
thời gian n, vì chúng đợc thích nghi liên tục với sự thay đổi thống kê của tín
hiệu. Thuật toán LMS điều chỉnh các hệ số của mạch lọc sao cho sai số e[n]
đợc cực tiểu hóa theo nghĩa toàn phơng trung bình, nên mới có tên gọi là
thuật toán toàn phơng trung bình tối thiểu. Khi các quá trình x[n] và d[n] là
các quá trình ngẫu nhiên dừng, thì thuật toán này hội tụ tới nghiệm của
phơng trình Wiener-Hoff. Nói cách khác, thuật toán LMS là một sơ đồ thực
tế để thực hiện các mạch lọc Wiener, nhng không giải một cách tờng minh
phơng trình Wiener-Hoff. Nó là một thuật toán tuần tự đợc sử dụng để thích
nghi các hệ số của mạch lọc nhờ sự quan sát liên tục tín hiệu lối vào x[n] và tín
hiệu lối ra mong muốn d[n].
Nh vậy, thuật toán LMS chính là sự thực thi thống kê của thuật toán
giảm bớc nhanh nhất, trong đó hàm phí tổn = E{e2[n]} đợc thay bằng giá


16


trị xác định tức thời [n] = e2[n]. Khi đó phơng trình truy hồi để tính các hệ
số của mạch lọc đợc xác định bằng phơng trình
w[n + 1] = w[n] e 2 [n]

(1.35)

Trong đó w[n] = {w0[n] w1[n] ... wN-1[n]}T, là thông số bớc của thuật toán
còn là toán tử vi phân đợc xác định bằng véc tơ cột nh sau

=
w0 w1


...

w N 1

T

(1.36)

Thành phần thứ i của véc tơ e2[n]:
e[n]
e 2 [n]
= 2e[n]
wi
wi


(1.37)

Thay e[n] = d[n] - y[n] vào và chý ý rằng d[n] độc lập với wi, ta đợc
y[n]
e 2 [n]
= 2e[n]
wi
wi

(1.38)

N 1

Bây giờ thay y[n] =

w k [n]x[n k]

ta đợc

k =0

e 2 [n]
= 2e[n]x[n i ]
wi

Mở rộng cho trờng hợp tổng quát:
trong đó

(1.39)


e 2 [n] = 2e[n]x[n]

(1.40)

x[n] = {x[n] x[n 1] K x[n N + 1]}

cuối cùng ta có:

T

w[n + 1] = w[n] + 2 e[n]x[n]

(1.41)

Đây là phơng trình truy hồi để xác định các hệ số của mạch lọc đối với các
dãy lối vào và dãy sai số. Trong phơng trình này là thông số bớc, nó điều
khiển tốc độ hội tụ của thuật toán tới nghiệm tối u . Nếu chọn giá trị lớn,
thì bớc điều chỉnh lớn và do vậy sự hội tụ sẽ nhanh ; còn nếu chọn giá trị bé
thì sự hội tụ sẽ chậm hơn. Tuy nhiên, nếu quá lớn thì thuật toán sẽ không ổn

17


định và do vậy để đảm bảo tính chất ổn định của thuật toán LMS, phải đợc
chọn nằm trong vùng

0<<

1

tr[ R]

(1.42)

Trong đó R là ma trận tơng quan. Giới hạn trên chính xác phụ thuộc tính chất
thống kê của dãy tín hiệu lối vào.
Do tính đơn giản mà thuật toán LMS đợc sử dụng rộng rãi và phát
triển thành nhiều thuật toán mới trong công nghệ. Để thực thi thuật toán này
chỉ yêu cầu 2N + 1 phép nhân, trong đó : N phép nhân dùng để tính lối ra y[n],
một để thu đợc (2) ì (e[n]) và N phép nhân dùng để tính tích vô hớng
(2e[n]) với vectơ x[n] ; và 2N phép cộng. Ngoài ra thuật toán LMS rất ổn
định và bền vững đối với nhiều loại tín hiệu với những điều kiện khác nhau.
1.5.3. Thuật toán bình phơng tối thiểu đệ quy RLS
Mạch lọc RLS (Recursive Least Square) là một phiên bản của mạch lọc
Wiener. Đối với những tín hiệu dừng, mạch lọc RLS hội tụ tới trọng số lọc tối
u giống nh mạch lọc Wiener. Còn đối với những tín hiệu không dừng, mạch
lọc RLS bám sát sự biến đổi theo thời gian của quá trình. Mạch lọc RLS có
tốc độ hội tụ tới trọng số lọc tối u tơng đối nhanh. Do vậy mà mạch lọc RLS
có thể sử dụng trong các bộ sửa sóng, bộ khử tiếng vọng, ra đa
Trong thuật toán bình phơng tối thiểu đệ quy, sự thích nghi bắt đầu với
trạng thái khởi động của mạch lọc, và lần lợt các mẫu của tín hiệu lối vào
đợc sử dụng để thích nghi các trọng số mạch lọc.

18


x(m)
z 1

z 1


z 1

y(m)

w1

w0

wP 1

w2

Giải thuật
thích nghi

e(m)


+
x (m)

Hình 1.6. Sơ đồ thuật toán RLS
Trong đó y (m ) là tín hiệu lối vào, w(m ) = [w0 (m ), w1 (m ), K , wP 1 (m )] là véc tơ
trọng số mạch lọc, x(m ) là tín hiệu mong muốn còn x (m ) là ớc lợng của
x(m ) .

Tín hiệu lối ra của bộ lọc:
x (m ) = w T (m ) y (m )


(1.43)

Tín hiệu sai số e(m ) đợc tính nh sau:
e(m ) = x(m ) - x (m ) = x(m ) wT (m ) y (m )

(1.44)

Quá trình thích nghi dựa trên tiêu chuẩn sai số bình phơng trung bình tối
thiểu đợc tính nh sau:

[

]

{[

]}
(m )E [y(m )x(m ) + w

E e 2 (m ) = E x(m ) wT (m ) y (m )

[

]

2

(m )E ][y(m ) y T (m )]w(m )
= rxx (0 ) 2 wT (m )ryx (m ) + wT (m )R yy (m )w(m )


= E x 2 (m ) 2 wT

T

(1.45)

Trong đó: Ryy là ma trận tự tơng quan của tín hiệu lối vào và ryx là véc tơ
tơng quan chéo của tín hiệu lối ra với lối vào.
Ta sẽ tìm ra mạch lọc Wiener bằng cách cực tiểu hoá sai số bình phơng trung
bình theo các trọng số của mạch lọc. Đối với tín hiệu dừng, kết quả của sự cực
tiểu hoá này là [3]:
(1.46)
w = R yy1 ryx
Đối với một khối vectơ N mẫu, ma trận tơng quan có thể viết dới dạng sau:
N 1

R yy = Y T Y = y (m ) y T (m )

(1.47)

m =0

19


Trong đó: y(m ) = [ y (m ), K,

y (m P )]

T


Biểu diễn đệ quy phơng trình (1.47) ta có:
R yy (m ) = R yy (m 1) + y (m ) y T (m )

(1.48)

áp dụng thuật toán thích nghi vào bài toán thống kê cho tín hiệu biến đổi theo
thời gian thì hàm tự tơng quan ớc lợng trong phơng trình (1.48) sẽ đợc
cửa sổ hoá bằng một cửa sổ suy giảm theo hàm mũ:
R yy (m ) = R yy (m 1) + y (m ) y T (m )
(1.49)
Trong đó là hệ số thích nghi (forgeting factor), 0 < < 1 . Tơng tự, ta có véc
tơ tơng quan chéo:
N 1

ryx (m ) = y (m )x(m )

(1.50)

m=0

Biểu diễn dới dạng đệ quy:
ryy (m ) = ryx (m 1) + y(m )x(m )

(1.51)

Phơng trình này có thể đợc thích nghi bằng cách sử dụng hệ số :
ryy (m ) = ryx (m 1) + y (m )x(m )

(1.52)


Để giải quyết vấn đề đệ quy của phơng trình (1.52), ta cần tính đợc công
thức cập nhật đệ quy theo thời gian của ma trận đảo dới dạng sau:
R yy1 (m ) = R yy1 (m 1 + Update(m ))
(1.53)
Ta có bổ đề:
Bổ đề: Cho A và B là hai ma trận xác định dơng kích thớc [p,p] liên hệ với
nhau bằng công thức: A = B 1 + CD 1C T
(1.54)
Với D là ma trận xác định dơng kích thớc [n,n] và C là ma trận kích
thớc [p,n]. Khi đó ma trận đảo của A có thể đợc tính nh sau:

(

A 1 = B BC D + C T BC

)

1

CT B

(1.55)

áp dụng bổ đề với R yy (m ) = A ,
1 R yy1 (m 1) = B
y (m = C )

D = ma trận nhận dạng
Ta có:


20


2 R yy1 (m 1) y (m ) y T (m )R yy1 (m 1)
R (m ) = R (m 1)
1 + 1 y T (m1)R yy1 (m 1) y (m )

(1.56)

yy (m ) = R yy1 (m )

(1.57)

1
yy

1

1
yy

Đặt:

k (m ) =

1 R yy1 (m 1) y (m )

1 + 1 y T (m1)R yy1 (m 1) y (m )


1 yy (m 1) y (m )

=

1 + 1 y T (m1) yy (m 1) y (m )

(1.58)

Khi đó phơng trình đệ quy để tính toán ma trận nghịch đảo có thể viết:
yy (m ) = 1 yy (m 1) 1 k (m ) y T (m ) yy (m 1)
(1.59)
Từ (1.58) và (1.59) ta có:

[

]

k (m ) = 1 yy (m 1) 1 k (m ) y T (m ) yy (m 1) y (m )
= yy (m ) y (m )

(1.60)

Cập nhật đệ quy theo thời gian của trọng số mạch lọc:
Trọng số của mạch lọc RLS:
w(m ) = R yy1 (m )ryx (m )

(1.61)

= yy (m )ryx (m )


Viết dới dạng đệ quy:

[

]

w(m ) = yy (m ) ryx (m 1) + y (m )x(m )

(1.62)

= yy (m )ryx (m 1) + yy (m ) y (m )x(m )

Thay (1.59) và (1.60) vào vế phải (1.62) ta có:

[

]

[

]

w(m ) = 1 yy (m 1) 1 k (m ) y T (m ) yy (m 1) ryy (m ) ryx (m 1) + k (m )x(m )

(1.63)
Hay
w(m ) = yy (m 1)ryx (m 1) k (m ) y T (m ) yy (m 1)ryx (m 1) + k (m )x(m )

Thay w(m 1) = (m 1)ryx (m 1) ta có:


[

]

w (m ) = w (m 1) k (m ) x (m ) y T (m )w(m 1)

(1.64)

(1.65)

Cuối cùng ta có
w(m ) = w(m 1) k (m )e(m )

(1.66)

Đây chính là sự thực thi cập nhật đệ quy theo thời gian của mạch lọc Wiener
sai số bình phơng tối thiểu.

21


Thuật toán thích nghi RLS :
Tín hiệu lối vào:

y (m ) và x(m )

Giá trị ban đầu:

yy (m ) = I
w(0 ) = wI với m=1,2,


Véc tơ trọng số lọc:
k (m ) =

1 yy (m 1) y (m )

1 + 1 y T (m1) yy (m 1) y (m )

(1.67)

Tín hiệu sai số
e(m ) = x(m ) wT (m 1) y (m )

(1.68)

Trọng số lọc:
w(m ) = w(m 1) k (m )e(m )

(1.69)

Cập nhật ma trận nghịch đảo tơng quan :
yy (m ) = 1 yy (m 1) 1 k (m ) y T (m ) yy (m 1)

22

(1.70)


×