Tải bản đầy đủ (.docx) (24 trang)

Bộ lọc thích nghi xử lý tín hiệu số

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 (468.75 KB, 24 trang )

1
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

MỤC LỤC

1
Nhóm 5

1


2
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

DANH MỤC TỪ VIẾT TẮT
AM (Amplitude Modulation): Điều biên.
DC (DeCode): Giải mã lệnh.
DSP (Digital Signal Processing): Xử lý tín hiệu số.
FIR (Finite Impulse Respone): Đáp ứng xung hữu hạn.
FM (Frequency Modulation): Điều tần.
IIR (Infinite Impulse Respone): Đáp ứng xung vô hạn.
LMS (Least Mean Square ): Bình phương trung bình nhỏ nhất.
MSD (Mean Square Deviation): Độ lệch bình phương trung bình.
MSE (Mean Square Error): Sai số bình phương trung bình.
NLMS (Normalized Least Mean Square): Đơn giản hóa LMS.
PCM (Pulse Code Modulation): Điều chế xung mã.
RLS (Recursive Least Square): Bình phương bé nhất đệ quy.


ROC (Region Of Convergence): Miền hội tụ.
SNR (Signal Noise Rate): Tỷ số tín hiệu trên nhiễu.
WSS (Wide Sense Stationary): Dừng theo nghĩa rộng.

2
Nhóm 5

2


3
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

LỜI MỞ ĐẦU
Sống trong thế giới hiện đại như ngày nay, chúng ta tiếp xúc với rất nhiều loại
tín hiệu và dưới nhiều dạng khác nhau. Có các tín hiệu rất cần thiết như âm thanh,
hình ảnh hay các tín hiệu giải trí như âm nhạc .v.v.Và bên cạnh cũng luôn tồn tại các
tín hiệu khó chịu hoặc không cần thiết trong hoàn cảnh riêng nào đó, mà ta gọi đó là
nhiễu. Xử lý tín hiệu là trích lấy, tăng cường, lưu trữ và truyền thông tin có ích mà con
người cần quan tâm trong vô vàn thông tin có ích cũng như vô ích. Sự phân biệt giữa
thông tin có ích và vô ích là phụ thuộc vào ý thức chủ quan của mỗi người. Nếu tín
hiệu ta không quan tâm thì đó là tín hiệu vô ích và ta có thể xem là nhiễu. Sự phát
triển của xử lý tín hiệu số thật phong phú và đa dạng vừa có tính chất tổng quát, cơ
bản, nhưng cũng rất chuyên sâu. Mỗi lĩnh vực đều phát triển phương pháp xử lý riêng
cho mình, đáp ứng nhu cầu do ngành đó đặt ra. Trong đó việc sử dụng kỹ thuật lọc
thích nghi đã trở nên phổ biến và được ứng dụng rộng rãi trong thực tế nhờ vào tính
chất hoạt động mềm dẻo, thông minh và thật sự hiệu quả của bộ lọc chẳng hạn như
khử nhiễu và trong mã hoá tiếng nói, trong kỹ thuật truyền số liệu, nhận dạng hàm hệ

thống... Sau đây chúng ta hãy lần lượt nghiên cứu về bộ lọc số kiểu thích nghi; xem
hiệu quả hoạt động của nó về khử nhiễu ngẫu nhiên như thế nào.
Báo cáo được chia thành ba chương:
 Chương 1: Cấu trúc căn bản của bộ lọc số
 Chương 2: Lọc thích nghi và thuật toán LMS
 Chương 3: Khử nhiễu thích nghi
Chương một nêu tổng quan cấu trúc của bộ lọc số, chương hai chúng ta nghiên
cứu lý thuyết về bộ lọc thích nghi và thuật toán LMS đang được ứng dụng phổ biến
hiện nay. Cuối cùng chúng ta sẽ đi nghiên cứu về khử nhiễu bằng bộ lọc thích nghi
dựa trên các lý thuyết đã nêu rất rõ ở các chương trên. Trong chương cuối này chúng
em sẽ dùng matlab để thực hiện bộ lọc thích nghi dùng để khử nhiễu.
Trong quá trình làm báo cáo, mặc dù đã có nhiều cố gắng, song không thể
tránh khỏi những sai sót, nhóm chúng em rất mong nhận được sự góp ý của thầy
TS.Nguyễn Ngọc Minh và các bạn.
Chúng em xin cảm ơn!

3
Nhóm 5

3


4
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

CHƯƠNG 1: CẤU TRÚC CĂN BẢN CỦA BỘ LỌC SỐ
1.1. GIỚI THIỆU VỀ LỌC SỐ
Lọc số là quá trình rất quan trọng của xử lý tín hiệu số, vì chính những khả năng

phi thường của các bộ lọc số đã làm cho chúng trở nên rất phổ biến như ngày nay. Các
bộ lọc số gồm có hai công dụng chính: phân tích tín hiệu và phục hồi tín hiệu. Phân
tích tín hiệu được áp dụng khi tín hiệu mong muốn bị giao thoa với các tín hiệu khác
hay bị các loại nhiễu tác động vào nó. Còn phục hồi tín hiệu là khi tín hiệu mà ta
mong muốn hay cần để đánh giá, xét nghiệm bị sai lệch đi bởi nhiều yếu tố của môi
truờng tác động vào làm cho nó bị biến dạng gây ảnh hưởng đến kết quả đánh giá.
Có hai kiểu bộ lọc số căn bản đó là: bộ lọc FIR và IIR. Các bộ lọc FIR có hai đặc
điểm quan trọng so với các bộ lọc IIR: thứ nhất, các bộ lọc FIR chắc chắn ổn định,
thậm chí sau khi các hệ số của bộ lọc đã được lượng tử hóa. Thứ hai, các bộ lọc FIR
dễ dàng được ràng buộc để có pha tuyến tính. Và sau đây ta sẽ đi khảo sát từng loại bộ
lọc đó.
1.2. BỘ LỌC FIR
1.2.1. Các bộ lọc FIR
Phương trình tích chập để thiết kế bộ lọc FIR tổng quát là:


∑ h( k ) x ( n − k )
k =0

y(n) =
(1.1)
Trong việc thiết kế, chúng ta sử dụng một số hữu hạn là N; và phương trình trên
được viết lại như sau:
N

∑ h( k ) x ( n − k )
k =0

y(n) =
(1.2)

Ở đây n là thời gian rời rạc, y(n) là đáp ứng đầu ra đối với tín hiệu đầu vào rời rạc x(n)
tại thời điểm n, h(n) là đáp ứng xung của bộ lọc.
Biến đổi z phương trình(1.4) được :
Y(z) = h(0)X(z) + h(1)z-1X(z) + … + h(N)z-NX(z)
(1.3)
Phương trình (1.3) biểu diễn một phép tích chập theo thời gian giữa các hệ số và
các mẫu tín hiệu vào. Phép tích chập này tương đương với một phép nhân trong miền
tần số, hay là:
Y(z) = H(z)X(Z)
(1.4)
Ở đây H(z) là biến đổi z của h(k), là hàm truyền:
N

∑ h( k ) z
H(z) =

k =0

−k

= h(0) + h(1)z-1 + … + h(N)z-N
h(0) z N + h(1) z N −1 + ... + h( N )
zN

=
(1.5)
Hình 1.1 sau thể hiện một cấu trúc bộ lọc FIR biểu diễn phương trình (1.2) hay
phương trình(1.3):
4
Nhóm 5


4


5
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

x(n)
z-1
z-1
z-1
y(n)
h(N)
h(N-1)
h(1)
h(0)

Hình 1.1: Cấu trúc bộ lọc FIR thể hiện các bộ trễ.
Phương trình(1.1) cho thấy có thể thực hiện một bộ lọc FIR nếu biết tín hiệu vào
ở thời điểm n là x(n) và các tín hiệu vào bị làm trễ là x(n-k). Không cần các tín hiệu
hồi tiếp cũng như các tín hiệu ngỏ ra trước đó. Vì vậy, bộ lọc FIR còn gọi là bộ lọc
không có tính đệ quy, thuận chiều hay trì hoãn từng đoạn.
Một đặc tính quan trọng của một bộ lọc FIR là nó có thể bảo đảm sự tuyến tính
pha. Với pha tuyến tính, tất cả ngỏ và hợp bởi các sóng sine được làm trễ bởi vài số
lượng lớn. Đặc tính này có thể rất hữu ích trong các ứng dụng cũng như phân tích lời
nói, mà ở đây các pha bị bóp méo rất khó chịu.
1.2.2. Cấu trúc hàng rào( Lattice) FIR
Cấu trúc hàng rào rất được sử dụng cho các ứng dụng trong việc lọc thích nghi

và xử lý lời nói. Một cấu trúc hàng rào N bậc được thể hiện ở hình sau:
z-1
z-1
z-1

x(n)
e1(n)
e2(n)
eN(n)
k1
k2
kN

y1(n)

k1

y2(n)

k2

yN-1(n)

yN(n)

kN

5
Nhóm 5


5


6
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

Hình 1.2: Cấu trúc hàng rào FIR.
Với hệ thống hàng rào FIR bậc N ta có :
N

∑ a x(n − i)
yN(n) =

i

i =0

(1.6)

N

∑a
i =0

N −i

x(n − i )


eN(n) =
(1.7)
Với a0 = 1. Chúng ta biến đổi z hai phương trình (1.6) và (1.7) sẽ tìm được đáp
ứng xung của chúng như sau:
N

∑a z
i =0

YN(z) =

−i

i

(1.8)

N

∑a
i =0

N −i

z −i

EN(z) =
Chú ý rằng : EN(z) = z-NYN(1/z)
Trong sự tổng quát thì: kN = aN
Từ hai phương trình (1.8) và (1.9) Ta tìm được :


(1.9)
(1.10)
(1.11)

a ri − k r a r ( r −i )

a(r-1)i =

1 − k r2


, i = 0,1,2,…,r-1

(1.12)

Với r = N, N-1, …, 1; |kr| 1.
1.2.3. Các bộ lọc FIR có pha tuyến tính sử dụng các cửa sổ
Có nhiều loại cửa sổ khác nhau được sử dụng trong phương pháp thiết kế sử
dụng cửa sổ, một vài cửa sổ được cho trong bảng 1.1 sau:
Bảng 1.1: Một vài cửa sổ thông dụng.
Chữ nhật

1

0

0≤n≤ N
khi n ≠


w(n) =

2Πn

)
0.5 − 0.5 cos(
N

0
khi n ≠


Hanning

0≤n≤ N

w(n) =
Hamming

2Π n

)
0.54 − 0.46 cos(
N

0
khi n ≠


0≤n≤ N


6
Nhóm 5

6


7
Báo cáo bài tập lớn
Blackman

Xử lý tín hiệu số nâng cao
2Πn
4Πn

) + 0.08 cos(
)
0.42 − 0.5 cos(
N
N

0
khi n ≠


0≤n≤ N

Trong đó w(n) là cửa sổ có chiều dài hữu hạn, đối xứng xung quanh điểm giữa
(w(n) = w(N-n)).
Ngoài ra bộ lọc FIR còn có một số cấu trúc khác được thể hiện ở các hình vẽ

sau:

Hình 1.3: Sự thực hiện bộ lọc FIR dạng trực tiếp.
Dạng trực tiếp này rất thường được sử dụng cho việc thiết kế một bộ lọc khử
nhiễu.

Hình 1. 4: Sự thực hiện ngang hàng của một bộ lọc FIR.

7
Nhóm 5

7


8
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

Hình 1.5: Sự thực hiện bộ lọc FIR dạng tế bào của bộ nhân/tích luỹ song song.

Hình 1.6: Sự thực hiện bộ lọc FIR dạng chuyển vị.
1.3. BỘ LỌC IIR
Lọc FIR không có tương ứng trong dạng tương tự, còn lọc IIR có thể được thiết
kế từ lọc tương tự bằng phép biến đổi song tuyến tính, ánh xạ một-một từ miền s sang
miền z và ngược lại:
s=

z −1
z +1


(1.13)

1+ s
1− s

Suy ra: z =
(1.14)
Đây là kỹ thuật thông dụng nhất để biến đổi một bộ lọc tương tự sang lọc rời rạc:
hàm truyền của một bộ lọc tương tự trong miền s có thể đuợc chuyển thành một hàm
truyền thời gian rời rạc trong miền z.
Xét phương trình vào ra tổng quát:
N

∑a
k =0

k

x(n − k )

M

∑b
j =1

j

y (n − j )


y(n) =
= a0x(n) + a1x(n-1) +…+ aNx(n-N) – b1y(n-1) – b2y(n-2) - …- bMy(n-M)

(1.15)
(1.16)
8

Nhóm 5

8


9
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

Phương trình( 1.16) biểu diễn một bộ lọc có đáp ứng xung vô hạn( IIR). Tín
hiệu ra của bộ lọc này tuỳ thuộc vào các tín hiệu vào cũng như các tín hiệu ra trước
đó. Tín hiệu ra y(n), ở thời điểm n, không những tuỳ thuộc vào các tín hiệu vào hiện
thời x(n), ở thời điểm n; và các tín hiệu vào trước đó x(n-1), x(n-2),. .., x(n-N), mà còn
phụ thuộc cả vào các tín hiệu ra trước đó y(n-1), y(n-2),…, y(n-M).
Giả thiết các điều kiện ban đầu bằng 0 đối với phương trình(1.16); ta lấy biến đổi
z của y(n), ta được:
Y(z) = a0X(z) + a1z-1X(z) +…+aNz-NX(z) – b1z-1Y(z) – b2z-2Y(z)-…-bMz-MY(z)
(1.17)
Cho N = M ở (1.17), ta sẽ có hàm truyền:
a 0 + a1 z −1 + ... + a N z − N
1 + b1 z −1 + ... + bN z − N


Y ( z)
X ( z)

H(z) =
=
Nhân và chia(1.21) cho zN, được:

a 0 z N + a1 z N −1 + ... + a N
z N + b1 z N −1 + ... + bN

N

N (z)
D( z )

=
z − zi

∑z− p
i =1

(1.18)

i

H(z) =
=C
(1.19)
Phương trình(1.19) mô tả một hàm truyền với N điểm 0 và N điểm cực. Vì để
cho hệ thống ổn định, tất cả các cực phải nằm bên trong đường tròn đơn vị do đó:

1.Nếu |pi| < 1, h(n)



0 khi n

→ ∞

→∞

, do đó hệ thống ổn định.

→∞

2.Nếu |pi| > 1, h(n)
khi n
, do đó hệ thống không ổn định.
Chú ý rằng nếu |pi| = 1, hệ thống ổn định bên lề( Biên giới giữa ổn định và không
ổn định) và cho đáp ứng dao động. Hệ thống không ổn định khi có nhiều cực trên
đường tròn đơn vị.
Nếu tất cả các hệ số bj trong phương trình(1.19) đều bằng 0, thì sẽ chỉ có các cực
nằm tại gốc trong mặt phẳng z. Khi đó, các phương trình(1.15) và (1.16) trở thành
phương trình tích chập biểu diễn cho một bộ lọc FIR. Hệ thống sẽ chỉ còn là một bộ
lọc FIR không đệ quy và ổn định. Sau đây là một số cấu trúc biểu diễn các bộ lọc IIR.
1.3.1. Cấu trúc bộ lọc IIR dạng trực tiếp I
Hình 1.7 sau đây thể hiện cấu trúc dạng trực tiếp I có thể dùng để thực hiện bộ lọc IIR
cho bởi phương trình (1.16). Đối với bộ lọc bậc N, cấu trúc này có 2N bộ trễ (Delay)
biểu thị bằng z-1. Ví dụ, bộ lọc bậc hai với N = 2 có 4 phần tử trễ (trì hoãn).

9

Nhóm 5

9


10
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

Hình 1.7: Cấu trúc bộ lọc IIR dạng trực tiếp I.
1.3.2. Cấu trúc bộ lọc IIR dạng trực tiếp II
Cấu trúc dạng trực tiếp II thể hiện ở hình sau, là một trong các cấu trúc thông
dụng nhất. Cấu trúc này chỉ yêu cầu số phần tử trễ bằng một nửa so với dạng trực tiếp
I. Như bộ lọc bậc 2 chỉ cần 2 phần tử z -1 thay vì 4 như ở dạng I. Ta chứng tỏ phương
trình (1.16) thực hiện được bởi dạng trực tiếp II.
X ( z)
D( z )

Gọi U(z) là biến xác định bởi : U(z) =
(1.20)
Ở đây, D(z) là đa thức mẫu số của hàm truyền(1.18). Từ (1.19) suy ra :
N ( z) X ( z)
D( z )

Y(z) =
= U(z)D(z)
Y(z) = U(z)[a0 + a1z-1 + …+ aNz-N]

(1.21)

(1.22)

Hình 1.8 : Cấu trúc bộ lọc IIR dạng trực tiếp II.
Từ (1.20), suy ra:
X(z) = U(z)D(z) = U(z) [1 + b1z-1 +…+ bNz-N]
(1.23)
Biến đổi z ngược của (1.23) được:
x(n) = u(n) + b1u(n-1) +…+ bNu(n-N)
(1.24)
Suy ra:
u(n) = x(n) - b1u(n-1) -…- bNu(n-N)
(1.25)
Biến đổi z ngược phương trình(1.22) được:
y(n) = a0u(n) + a1u(n-1) +…+ aNu(n-N)
(1.26)
Cấu trúc IIR dạng trực tiếp II có thể được biểu diễn bởi(1.25) và (1.26).
1.4. KẾT LUẬN
Chương này nêu tổng quan về lọc số và nêu lên được một cách tổng quát hai cấu
trúc của bộ lọc số là: FIR và IIR. Những cấu trúc đó được cấu thành từ những bộ
nhân, bộ cộng và bộ trễ đơn vị để tạo thành sơ đồ dòng tín hiệu. Hoàn chỉnh một cấu
trúc là công việc rất quan trọng để sao cho mạch lọc số đó có được một cấu trúc tối ưu
10
Nhóm 5

10


11
Báo cáo bài tập lớn


Xử lý tín hiệu số nâng cao

nhất. Là cơ sở cho việc thiết lập phần cứng và phần mềm của bộ lọc làm nền tảng để
tìm hiểu các bộ lọc thích nghi ở chương tiếp theo sau đây.

11
Nhóm 5

11


12
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

CHƯƠNG 2: LỌC THÍCH NGHI VÀ THUẬT TOÁN LMS
2.1. GIỚI THIỆU LỌC THÍCH NGHI
Trong các bộ lọc số quy ước (FIR và IIR), các thông số của quá trình lọc dùng
để xác định các đặc trưng của hệ thống coi như đã biết, các thông số này có thể biến
đổi theo thời gian, nhưng bản chất của sự biến đổi thì coi như đã biết. Trong nhiều bài
toán thực tiễn, một số thông số có thể có độ bất định lớn do dữ liệu thử nghiệm trước
về quá trình không được thích hợp. Một số thông số có thể biến thiên theo thời gian
nhưng bản chất chính xác của sự biên thiên thì không thể tiên đoán được. Để giải
quyết vấn đề đó, người ta nghiên cứu thiết kế bộ lọc sao cho có thể tự thích nghi với
hoàn cảnh hiện hành, có nghĩa là nó có thể tự điều chỉnh các hệ số trong bộ lọc để bù
lại các thay đổi trong tín hiệu vào, tín hiệu ra, hoặc trong thông số của hệ thống. Đó
chính là bộ lọc thích nghi.
d
x

e

y
Bộ lọc thích nghi

+
-

Hình 2.1: Cấu trúc bộ lọc thích nghi cơ bản.
Trong đó ngỏ ra y của bộ lọc thích nghi được so sánh với tín hiệu mong muốn
(Desired) d để cho ra tín hiệu sai số (Error ) e, tín hiệu sai số này được hồi tiếp về để
điều chỉnh bộ lọc thích nghi.
Cùng với sự ứng dụng thuật toán bình phương trung bình tối thiểu LMS sẽ giúp
dãy sai số hội tụ về không với tốc độ rất nhanh.
Trong chương này, chúng ta sẽ đi sâu vào phân tích hai vấn đề đó: lọc thích nghi và
thuật toán LMS.
2.2. CẤU TRÚC CỦA CÁC MẠCH LỌC THÍCH NGHI
2.2.1. Cấu trúc chung
Cấu trúc thường được sử dụng trong mạch lọc thích nghi là cấu trúc ngang mô
tả trên hình 2.1. Ở đây, mạch lọc thích nghi có một lối vào x[n] và một lối ra là
y[n]. Dãy d[n] là tín hiệu mong muốn của dãy lối vào, x[n]. Phương trình sai phân
mô tả quan hệ giữa lối vào và lối ra của mạch lọc cho bởi:
N −1

∑ w [n]x[n − k ]
k =0

k

y[n] =

trong đó wk[n] là các hệ số và N là chiều dài của mạch lọc.

(2.1)

12
Nhóm 5

12


13
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

Tín hiệu lối vào x[n-k] với k = 0, 1, 2,..., N-1: là táp tín hiệu lối vào. Táp trọng
số wk[n] có thể thay đổi đối với thời gian và được điều khiển bằng thuật toán thích
nghi.

Hình 2.2. Cấu trúc của một bộ lọc ngang thích nghi
Trong một số áp dụng, các mẫu lối vào không chứa các mẫu trễ. Khi đó cấu
trúc của mạch lọc thích nghi có dạng như trên hình 2.3. Sơ đồ này được gọi là tổ hợp
tuyến tính bởi vì lối ra của nó là một tổ hợp tuyến tính của các tín hiệu thu được khác
nhau tại các dãy lối vào của nó:
N −1

∑ w [n]x[n]
y[n] =

k =0


k

(2.2)

13
Nhóm 5

13


14
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

Hình 2.3. Cấu trúc của một tổ hợp tuyến tính thích nghi
Cấu trúc của các hình 2.2 và hình 2.3 là cấu trúc không đệ quy, có nghĩa là việc
tính toán các mẫu lối ra ở thời điểm hiện tại không liên quan đến các mẫu lối ra trước
đó. Do đó trong sơ đồ dòng tín hiệu sẽ không có mạch phản hồi. Vì vậy, các mạch lọc
thích nghi cho trên hình 2.2 và hình 2.3 là những mạch lọc FIR, có đáp ứng xung hữu
hạn gồm N mẫu.
Vì việc điều chỉnh các hệ số của mạch lọc IIR thích nghi khó hơn rất nhiều
mạch lọc FIR nên các mạch lọc thích nghi IIR ít gặp trong thực tế. Ngoài ra, các mạch
lọc thích nghi IIR rất khó ổn định. Tuy nhiên hàm sai số của sai số bình phương trung
bình của mạch lọc này lại thường có rất nhiều điểm cực tiểu cục bộ. Điều này dẫn đến
tính hội tụ của mạch lọc tại các điểm cực tiểu địa phương chứ không phải ở cực tiểu
tổng quát của hàm sai số. Chính vì các lý do trên mà trong thực tế, các mạch lọc thích
nghi FIR được sử dụng rộng rãi hơn, trong khi các mạch lọc IIR thích nghi chỉ được
sử dụng trong những trường hợp đặc biệt.

Ngoài hai cấu trúc trên, trong một số trường hợp, người ta còn sử dụng các cấu
trúc mắt cáo. Nói chung cấu trúc mắt cáo phức tạp hơn nhiều so với FIR và IIR, tuy
nhiên trong một số ứng dụng chúng lại thể hiện được nhiều ưu điểm so với các cấu
trúc trực tiếp chẳng hạn như trong dự đoán tuyến tính xử lý tiếng nói.
Các loại mạch lọc mô tả trên là các mạch lọc tuyến tính vì các mẫu lối ra của
chúng là một tổ hợp tuyến tính của các mẫu lối vào và các mẫu lối ra trước đó. Ngoài
ra, trong một số trường hợp, người ta còn sử dụng các mạch lọc thích nghi phi tuyến.
Đối với các mạch lọc thích nghi phi tuyến cần các thống kê bậc cao hơn bởi vì tín hiệu
mong muốn cần tách ra lại bị lẫn trong các quá trình thống kê không phải dạng
gausian. Có hai loại mạch lọc thích nghi phi tuyến cơ bản. Đó là các mạch lọc thích
nghi phi tuyến dựa trên chuỗi Volterra và mạng Neural. Trong đồ án này, ta chỉ đề cập
đến mạch lọc thích nghi tuyến tính và cụ thể là mạch lọc Wiener FIR.
2.2.2. Bộ lọc thích nghi FIR
14
Nhóm 5

14


15
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

Xét mạch lọc có sơ đồ cho trên hình 2.1, trong đó x[n] là lối vào của mạch lọc,
d[n] là lối ra mong muốn, táp trọng số của mạch lọc là w 0, w1,..., wN-1 . Ta biễu diễn
dãy lối vào và táp trọng số của mạch lọc là những vectơ:
w = [w0, w1 ... wN-1]T
(2.3)
T


x[n] = {x[n] x[n-1] ... x[n-N+1]}
(2.4)
Ký hiệu T là ma trận chuyển vị.
Khi đó lối ra của mạch là:
N −1

∑ w x[n − k ] = w
k =0

k

T

x[n]

y[n] =
(2.5)
Hoặc cũng có thể viết:
y[n]= xT[n]w
(2.6)
T
Vì w x[n] là một đại lượng vô hướng nên bằng chuyển vị của nó, tức là
wTx[n] = (wTx[n])T = xT[n]w. Do đó ta có thể viết:
e[n] = d[n] - y[n] = d[n] - wTx[n] = d[n] - xT[n]w
(2.7)
Đối với mạch lọc Wiener hàm hiệu năng được chọn làm sai số toàn phương
trung bình:
2


ξ = E[ e[n] ]

(2.8)
trong đó ký hiệu E[.] là kỳ vọng thống kê. Trong trường hợp này, hàm phí tổn

ξ

cũng được gọi là tiêu chuẩn sai số toàn phương trung bình. Thay vào (2.7) và (2.8)
ta thu được.

ξ

= E[(d[n]- wTx[n])(d[n]- xT[n]w)]
(2.9)
Khai triển (2.9) và chú ý w có thể đưa ra ngoài toán tử E[.] vì nó không phải là
biến số thống kê, ta thu được:

ξ

= E[d2[n] - wTE[x[n]d[n]] - E[d[n]xT[n]]w + wTE[x[n]xT[n]]w]
Bây giờ nếu ta định nghĩa vectơ tương quan chéo bậc Nx1:
P = E[x[n]d[n]] = [p0 p1 p2 ... pN-1]T
và ma trận tương quan:

(2.10)
(2.11)

15
Nhóm 5


15


16
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

r01
r02
 r00
 r
r11
r12
 10
 r20
r21
r22

.
.
R = E[ x[n]x T [n]] =  .
 .
.
.

.
.
 .
r

 N −1,0 rN −1,1 rN −1, 2
T

T

T

. . .
. . .
. . .
. . .
. . .
. . .
. . .






. 
. 

. 
rN −1, N −1 
r0, N −1
r1, N −1
r2, N −1

(2.12)


T

và chú ý rằng E[d[n]x [n]] = p , và w p = p w, ta sẽ thu được:

ξ

= E[d2[n]] - 2wTp + wTRw
(2.13)
Để thu được dãy táp trọng 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ừ các đạo hàm bậc nhất của đối với mỗi táp trọng số
wi bằng không, tức là:

∂ξ
=0
∂wi

, với i = 0, 1, 2,..., N-1

(2.14)

Các phương trình trên có thể viết dưới dạng ma trận:

∇ξ = 0

(2.15)

ở đây toán tử vi phân được xác định như một vectơ cột:

 ∂ ∂

∂ 
∇=
...

 ∂w0 ∂w1 ∂wN −1 

T

(2.16)

ξ

Để tìm các đạo hàm riêng của đối với các táp trọng số wi của mạch lọc, trước
hết phải khai triển hệ thức (2.13) thành dạng tường minh:
N −1

ξ

N −1 N −1

∑ p w +∑∑w w r
k=0

k

k

= E[d2[n]] - 2
Sau khi khai triển ta có được:


k = 0 m= 0

k

m km

(2.17)

N −1
∂ξ
= −2 pi + ∑ wk ( rki + rik )
∂wi
k =0

, với i = 0, 1, 2,..., N-1

(2.18)

Trong trường hợp này, ta thấy:
16
Nhóm 5

16


17
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao


Φ xx [i − k ]
rki = E[x[n- k]x[n- i]] =

(2.19)

Φ xx [i − k ]
ở đây

là hàm tương quan của x[n].
Tương tự :

Φ xx [k − i ]
rik =

Φ xx [ k ] = Φ xx [ − k ]

Do tính chất đối xứng của hàm tự tương quan
rki = rik
Thay (2.21) vào phương trình (2.18) ta được:

(2.20)

, ta thu được:
(2.21)

N −1
∂ξ
= −2 pi + 2∑rik wk
∂wi
k =0


, với i = 0, 1, 2, ..., N-1.
Phương trình trên có thể biểu diễn dưới dạng ma trận:

∇ξ =
Đặt

∇ξ = 0

2Rw - 2p

(2.22)

(2.23)

ta sẽ thu được phương trình tối ưu hoá táp trọng số của mạch lọc :
Rw0 = p
(2.24)

Đây là phương trình Wiener - Hopf đối với vectơ trọng số tối ưu w0:
w0 = R-1p
(2.25)
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 (2.13) ta sẽ tìm được giá trị cực tiểu của hàm phí tổn

ξ

:

ξ


= E[d2[n]] - w0Tp = E[d2[n]] - w0TRw0
(2.26)
Đó là sai số cực tiểu mà mạch lọc thích nghi FIR có thể đạt được khi táp trọng số
của nó là nghiệm của phương trình Wiener - Hopf ; có nghĩa là nghiệm tối ưu (2.25).
2.3. THUẬT TOÁN TRUNG BÌNH PHƯƠNG TỐI THIỂU-LMS
Thuật toán phương trung bình tối thiểu (LMS: Least Mean Square) là thuật
toán được ứng dụng rộng rãi trong xử lý tín hiệu số thích nghi. Nó thuộc họ các thuật
toán gradient thống kê lần đầu được Widrow và Hoff áp dụng năm 1960 và sau đó
phát triển thành nhiều thuật toán mới nhờ tính chất đơn giản và bền vững của thuật
toán này. Thuật toán thích nghi tuyến tính 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 này sử dụng mạch lọc ngang tuyến
tính thích nghi có lối vào x[n] và 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 bộ lọc sao cho nó tương đồng với tín hiệu sai số là
min

17
Nhóm 5

17


18
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

hiệu của tín hiệu lối ra với tín hiệu mong muốn d[n]. Sơ đồ thuật toán cho trên hình
2.4.


Hình 2.4. Cấu trúc của một bộ lọc ngang thích nghi N- taps
Giả sử mạch lọc ngang có N- taps trọng số và là dãy số thực, khi đó tín hiệu lối ra
được viết:
N −1

∑ w [n]x[n − k ]
k =0

k

y[n] =
(2.27)
trong đó taps trọng số w0[n], w1[n],..., wN-1[n] được lựa chọn sao cho sai số:
e[n] = d[n] - y[n] có giá trị cực tiểu.
Nói chung trong mạch lọc thích nghi, táp trọng 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 táp trọng 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, vì thế 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à y[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 thích nghi. Nó là một thuật
toán tuần tự được sử dụng để thích nghi táp trọng 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].
Phương trình truy hồi để tính táp trọng số của mạch lọc được xác định:
w[n + 1] = w[n] − µ∇ e 2 [n]
(2.28)
Trong đó:
 w[n] ={w0[n] w1[n] ... wN-1[n]}T là vectơ tín hiệu vào
18
Nhóm 5


18


19
Báo cáo bài tập lớn

µ





Xử lý tín hiệu số nâng cao

là thông số bước của thuật toán
là toán tử vi phân được xác định bằng vectơ cột như sau:


=

 ∂ ∂
∂ 



 ∂w0 ∂w1 ∂wN −1 

T


(2.29)

∇e [ n ]
2

Như vậy thành phần thứ k của vectơ

là:

∂e 2 [n]
∂e[n]
= 2e[n]
∂wi
∂wi

(2.30)
Thay e[n] = d[n]- y[n] vào biểu thức đạo hàm và lưu ý rằng d[n] độc lập với w i,
ta được:
∂e 2 [n]
∂y[n]
= −2e[n]
∂wi
∂wi

(2.31)

Bây giờ thay y[n] bằng biểu thức (2.27) vào (2.31) ta được:
∂e 2 [ n]
∂wi = −2e[n]x[n − i ]


(2.32)

Hoặc dưới dạng tổng quát là:
∇e 2 [n] = −2e[n]x[n]

trong đó x[n] ={ x[n] x[n-1] ... x[n-N+1] }
Thay kết quả này vào (2.28) ta sẽ thu được:

(2.33)
T

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

(2.34)
Đây là phương trình truy hồi để xác định táp trọng số của mạch lọc đối với các
dãy lối vào và dãy sai số. Nó được gọi là thuật toán LMS đệ qui, thích nghi một cách
đệ qui các hệ số của bộ lọc cứ sau mỗi mẫu mới của tín hiệu vào x[n] và mẫu lối ra
tương ứng d[n].
Các phương trình (2.27), (2.28) và (2.35) theo thứ tự là ba bước hoàn chỉnh
mỗi một phép lặp của thuật toán LMS. Phương trình (2.27) là quá trình lọc; nó được
tạo thành để thu được tín hiệu lối ra của mạch lọc. Phương trình (2.28) được sử dụng
để tính sai số. Còn phương trình (2.35) dùng để thích nghi một cách đệ qui táp trọng
µ

số của mạch lọc sao cho sai số xác định giá trị cực tiểu. Trong phương trình này

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 ngắ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
19

Nhóm 5

19


20
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

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

µ

phải được

1
3tr[ R ]


0< <
(2.35)
trong đó R là ma trận tương quan.
Giới hạn trên của thông số bước được xác định dễ dàng bởi vì tr[ R] bằng công
suất của táp trọng số của tín hiệu vào. Cần nhấn mạnh rằng điều kiện trên mới chỉ là
điều kiện đủ. Để cho một giới hạn chính xác, thì còn phụ thuộc tính chất thống kê của
dãy lối vào.
Sở dĩ 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ệ là do tính đơn giản của nó. Để 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 ) x (e[n]) và N phép nhân dùng để tính vô hướng (2 e[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.
2.4. KẾT LUẬN
Như vậy, qua chương này, chúng ta đã tìm hiểu được cấu trúc các bộ lọc thích
nghi và thuật toán bình phương trung bình tối thiểu LMS.
Để có thể biết rõ hơn vì sao nó được sử dụng phổ biến và có tính hiệu quả cao
thì chúng ta hãy cùng qua chương sau ta sẽ xây dựng bộ lọc thích nghi cho khử nhiễu
với một thuật toán cụ thể được chọn cho việc cập nhật các hệ số của lọc thích nghi với
thuật toán LMS.

20
Nhóm 5

20



21
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

CHƯƠNG 3: KHỬ NHIỄU THÍCH NGHI
3.1. GIỚI THIỆU
Chương này tiếp cận các ý tưởng cơ bản để thiết kế một bộ lọc thích nghi cho
ứng dụng khử nhiễu, dựa trên các lý thuyết đã được giới thiệu ở các chương trước.
Khử nhiễu dựa trên việc trừ nhiễu từ tín hiệu nhận được, một hoạt động được điều
khiển theo kiểu thích nghi nhằm mục đích cải tiến hoạt động (tăng tỷ số tín hiệu trên
nhiễu) của hệ thống. Khi sự hoạt động của hệ thống được điều khiển bởi một quá trình
xử lý thích nghi, nó có thể đạt được một hoạt động hệ thống cao vượt trội hơn so với
khử nhiễu không thích nghi.
3.2. LÝ THUYẾT KHỬ NHIỄU KIỂU THÍCH NGHI
3.2.1. Các chế độ khử nhiễu kiểu thích nghi:
Về cơ bản, một bộ khử nhiễu thích nghi có một cặp ngỏ vào, các hệ thống điều
khiển thích nghi lặp khép kín. Toàn bộ cấu trúc của hệ thống được xác định như hình
3.1 sau đây.

Hình 3.1: Cấu trúc khử nhiễu thích nghi.
Trong thực tế, hai ngỏ vào của hệ thống được xuất phát từ một đôi cảm biến: một
bộ cảm biến chính và một bộ cảm biến tham khảo. Bộ cảm biến chính nhận một tín
hiệu mang thông tin s(n) đã bị thay đổi bởi nhiễu cộng v 0(n). Tín hiệu s(n) và nhiễu
cộng là không tương quan với nhau. Bộ cảm biến tham khảo nhận một nhiễu v 1(n) mà
không tương quan với tín hiệu s(n) nhưng tương quan với nhiễu v 0(n) ở ngỏ vào bộ
cảm biến chính, theo một chiều hướng chưa xác định:
E[s(n)v1(n-k)] = 0 ; với mọi k

(3.1)
E[v0(n)v1(n-k)] = p(k)
(3.2)
Ở đây, trước khi các tín hiệu nhận giá trị thực và p(k) là một phép tương quan
chéo chưa biết cho độ trễ k.
Tín hiệu tham khảo v1(n) được xử lý bằng một bộ lọc thích nghi để cung cấp tín
hiệu ngỏ ra y(n). Ngỏ ra bộ lọc được trừ cho tín hiệu chính d(n), là đáp ứng mong
muốn của bộ lọc thích nghi. Tín hiệu lỗi được định nghĩa như sau:
21
Nhóm 5

21


22
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

e(n) = d(n) – y(n)
(3.3)
Tín hiệu lỗi quay vòng được sử dụng để điều chỉnh đưa ra các hệ số của bộ lọc
thích nghi, và vòng lặp điều khiển thực hiện lọc và phép trừ được khép kín. Chú ý
rằng s(n) thật ra là một phần của tín hiệu lỗi e(n). Bây giờ, bộ lọc thích nghi cố gắng
để tối thiểu hóa giá trị trung bình bình phương của tín hiệu lỗi e(n). Tín hiệu mang
thông tin s(n), về bản chất không bị thay đổi bởi bộ khử nhiễu thích nghi. Kể từ đây,
tối thiểu hóa giá trị trung bình bình phương của e(n) là tương đương với việc tối thiểu
hóa giá trị nhiễu ra v0(n) – y(n). Với s(n) còn lại, về bản chất không thay đổi, nó theo
sau việc tối thiểu hóa giá trị trung bình bình phương của tín hiệu lỗi, thực ra là tương
tự khi tối đa hóa hoạt động của hệ thống( tỷ số tín hiệu trên nhiễu) của hệ thống.

Hiệu quả sử dụng khử nhiễu thích nghi, phụ thuộc bộ cảm biến tham khảo được
đặt trong trường nhiễu của bộ cảm biến chính với hai mục tiêu đặc trưng liên quan:
1) Thành phần s(n) của ngỏ ra bộ cảm biến chính là không thể nhận ra ở ngỏ ra
bộ cảm biến tham khảo.
2) Ngỏ ra bộ cảm biến tham khảo là tương quan rất cao với thành phần nhiễu của
ngỏ ra bộ cảm biến chính. Ngoài ra, sự thích nghi của các hệ số bộ lọc có thể được
điều chỉnh phải là điều kiện thuận lợi gần nhất.
3.2.2. Các kiểu lọc của khử nhiễu thích nghi:
Hai kiểu lọc chủ yếu chung nhất được dùng cho khử nhiễu là các bộ lọc FIR và
các bộ lọc IIR.
• Đối với các bộ lọc FIR:
Ứng dụng quan trọng của việc dùng các bộ lọc FIR là vì chúng vốn có độ ổn
định cao. Nó cũng tốt cho việc loại bỏ các tần số nào đó. Đây là ưu điểm để nó được
chọn trước cho các ứng dụng để thiết kế các loại khác nhau của các hệ thống tuyến
tính bất biến theo thời gian.
Bất lợi chính của kiểu lọc này là đáp ứng xung bị giới hạn trong thời gian bằng
các số nhịp hệ số tác động trong bộ lọc.
Đáng giá của việc đang đề cập là, rất phổ biến, chúng ta thích thiết kế các bộ lọc
FIR pha tuyến tính. Các ưu điểm của đáp ứng pha tuyến tính đó là:
+ Số lượng phép toán chỉ bao gồm các phép tính thực, không có các
phép tính phức.
+ Các bộ lọc pha tuyến tính cung cấp trễ không bị bóp méo và chỉ cố
định số lượng của bộ trễ.
• Đối với các bộ lọc IIR:
Ưu điểm chính của các bộ lọc IIR là chọn lựa rất tốt cho lọc các đỉnh tần số hẹp,
ví lẽ chúng có cả các điểm cực và các điểm 0 ở trong hàm truyền của nó. Vì vậy đáp
ứng xung của nó là vô hạn, nó không phụ thuộc nhiều vào các thông số bộ lọc cho sự
thực hiện kéo dài đáp ứng xung.
Bất lợi chính của các kiểu lọc này là tính không ổn định của chúng trong ứng
dụng. Vì chúng có các điểm cực ở trong hàm truyền của chúng.

3.2.3. Dùng thuật toán LMS cập nhật cho các bộ lọc thích nghi
Gồm hai bước cơ bản: thứ nhất ngỏ ra bộ lọc y(n) được tính toán và so sánh
ngược lại đáp ứng mong muốn d(n) để xác định sai số ngỏ ra bộ lọc. Sai số này lần
22
Nhóm 5

22


23
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

lượt cung cấp cho việc điều chỉnh vector thông số bộ lọc w(n). Như thể hiện ở phương
trình sau đây:
y(n) = w’(n)x(n)
(3.4)
Ở đây, x(n) là vector giá trị đầu vào ở thời điểm n, w’(n) là chuyển vị của w(n),
µ

là thông số số bước, e(n) là vector lỗi: e(n) = d(n) – y(n)
µ

w(n+1) = w(n) + x(n)e(n)
(3.5)
Các thuật tính độ ổn định và độ hội tụ của thuật toán được xác định r bằng thông
số số bước. Nếu

µ


quá lớn thì các thuật toán sẽ không hội tụ trong khả năng trung
µ

bình bình phương. Nếu
là quá nhỏ thì độ hội tụ các thuật toán sẽ rất chậm. Vậy
thuật toán sẽ hội tụ nếu và chỉ nếu thông số số bước thỏa mãn:
2

µ

0< <
λmax



λ max

(3.6)



x(n) x

T
Ở đây,
là giá trị của ma trận E[
(n)].
3.3. THỰC HIỆN BỘ LỌC THÍCH NGHI ĐỂ KHỬ NHIỄU TRÊN MATLAB
3.3.1. Thông số bộ lọc

Bộ lọc thích nghi sử dụng thuật toán LMS với các thông số bộ lọc sau:
 Algorithm = LMS
 Step size = 0.1 xác định chi tiết bước nhảy của bộ lọc
3.3.2. Code matlab mô phỏng bộ lọc

close all;
clear all;
clc;
signalInput = randn(100,1);
% Input to the filter
b = fir1(1,0.5); % FIR system to be identified
noise = 0.5*randn(100,1); % Uncorrelated noise signal
desired = filter(b,1,signalInput) + noise; % Desired signal = output of H
+ Uncorrelated noise signal
w = zeros (2, 1) ; % Initially filter weights are zero
for n = 2 : 100
u = signalInput(n:-1:n-1) ;
y(n)= w' * u; % output of the adaptive filter
e(n) = desired(n) - y(n) ; % error signal = desired signal - adaptive
filter output
mu = 0.1
w = w + mu * u * e(n) ; % filter weights update
end
hold on
subplot(5,1,1);
plot(signalInput);
ylabel('Tin hieu');
subplot(5,1,2);
plot(noise);


23
Nhóm 5

23


24
Báo cáo bài tập lớn

Xử lý tín hiệu số nâng cao

ylabel('Nhieu');
subplot(5,1,3);
plot(desired);
ylabel('Tin hieu can loc');
subplot(5,1,4);
plot(e);
ylabel('Loi');
subplot(5,1,5);
plot(y);
ylabel('Tin hieu sau khi loc');

3.3.3. Kết quả

Ta thấy rằng theo thời gian thì tín hiệu sau khi lọc sẽ gần đúng với tín hiệu khi
chưa có nhiễu. Và lỗi mà bộ lọc khử nó gần đúng với nhiễu gây ra.

24
Nhóm 5


24



×