báo cáo đồ án

68
Đồ án môn học 2 PHẦN A: GIỚI THIỆU

Upload: nguyenthanhha

Post on 01-Feb-2016

217 views

Category:

Documents


0 download

DESCRIPTION

LMS echo cancelation

TRANSCRIPT

Page 1: báo cáo đồ án

Đồ án môn học 2

PHẦN A: GIỚI THIỆU

Page 2: báo cáo đồ án

Đồ án môn học 2

LỜI NÓI ĐẦU

Ngày nay, khoa học kỹ thuật phát triển như vũ bảo, con người bước vào một thời

đại mới – thời đại mà mỗi giờ, mỗi phút, thậm chí là mỗi giây trôi qua lại xuất hiện

những phát minh, tiến bộ khoa học – kỹ thuật.

Công nghệ mới xuất hiện liên tục, từ đó những thành tựu khoa học – kỹ thuật

được áp dụng vào đời sống thực tiễn. Nhờ vậy, con người ngày càng tận hưởng được

cuộc sống một cách tiện nghi và thoải mái hơn. Chúng ta có thể dễ dàng nhận thấy thiết

bị công nghệ hiện diện ở mọi nơi, trong mọi lĩnh vực.

Ở khắp mọi nơi trên trái đất, hàng ngàn viện nghiên cứu, trung tâm với hàng triệu

kỹ sư vẫn đang miệt mài nghiên cứu để đóng góp cho nhân loại những cải tiến, tìm tòi

ra những kỹ thuật mới, phục vụ cuộc sống. Có thể nói, sức mạnh về khoa học – kỹ

thuật chính là sức mạnh ghê gớm nhất, nó có thể chi phối các mặt khác như quân sự,

kinh tế,… thể hiện vị thế, vai trò của một quốc gia trên trường quốc tế.

Ở Việt Nam, không nằm ngoài xu thế của thời đại, các nhà nghiên cứu, các kỹ sư

đặc biệt là thế hệ trẻ, các bạn sinh viên vẫn tích cực, say mê nghiên cứu khoa học để

tìm ra những kỹ thuật mới, trao đổi, học hỏi và tiếp thu những công nghệ mới trên thế

giới để phục vụ cho công cuộc hiện đại hóa – công nghiệp hóa đất nước.

Dẫu biết rằng trình độ khoa học – kỹ thuật ở Việt Nam ở nhiều lĩnh vực vẫn có

khoảng cách khá xa so với các nước tiên tiến nhưng với long say mê tìm tời, đức tính

cần cù chịu khó và thông minh của người Việt Nam, tin rằng một ngày không xa,

chúng ta sẽ bắt kịp và hòa nhịp vào dòng chảy công nghệ trên thế giới.

Để phát triển những công nghệ mới thì trước hết phải nắm chắc và hiểu rõ những

vấn đề cơ bản trong mỗi lĩnh vực. Đó cũng là lý do người viết tiến hành nghiên cứu đề

tài này, mục tiêu là để làm rõ một số yếu tố chủ yếu, cơ bản nhất để có thể phát triển

các kỹ thuật, sản phẩm mới hơn, hiện đại hơn trong tương lại.

Page 3: báo cáo đồ án

Đồ án môn học 2

LỜI CẢM ƠN

Để hoàn thành đề tài này thì người thực hiện đề tài xin chân thành cảm ơn giáo viên

hướng dẫn: thầy Trương Quang Phúc, người đã tận tình chỉ bảo, giúp đỡ người viết

thực hiện đề tài đúng thời gian và đúng hướng.

Những kiến thức thu nhặt được trong quá trình nghiên cứu đề tài, phần nhiều được thầy

hướng dẫn đều cực kỳ có ích, giúp người thực hiện hiểu rõ hơn, nắm chắc hơn một số

vấn đề cơ bản, đồng thời sẽ giúp ích người viết trong con đường học tập sau này cũng

như trong tương lai.

Người viết cũng xin chân thành cảm ơn thư viện trường ĐH SPKT TPHCM đã cung

cấp rất nhiều tài liệu, giáo trình quan trọng giúp người viết thu thập và hệ thống kiến

thức để hoàn thành đề tài.

Đặc biệt, xin gửi lời cảm ơn đến các trang web như www.dientuvietnam.net,

www.mathworks.com, www.doc.edu.vn, www.diendandientu.com,... Đã cho người

viết rất nhiều kiến thức phục vụ đề tài.

Người thực hiện đề tài cũng không quên cảm ơn các anh, chị và các bạn đã tận tình

giúp đỡ người viết thông qua việc góp ý, hoàn thiện đề tài.

TP.HCM ngày 15 tháng 1 năm 2015

Sinh viên thực hiện

Nguyễn Thanh Hà

Page 4: báo cáo đồ án

Đồ án môn học 2

NHẬT KÝ THỰC HIỆN ĐỒ ÁN

Tuần 1 Gặp giáo viên hướng dẫn và xin ý tưởng đồ án.

Tuần 2 Làm đề cương chi tiết và lý do chọn đề tài.

Tuần 3 Gặp mặt GVHD phản biện đề cương chi tiết đồ án.

Tuần 4 Chỉnh sửa đề cương và tìm hiểu về lọc số

Tuần 5Nghiên cứu về phương pháp khử tiếng vọng dùng bộ lọc thích

nghi(Acoustic Echo Cancellation – AEC).

Tuần 6 Nghiên cứu giải thuật khử tiếng vọng âm học LMS.

Tuần 7 Lựa chọn nguồn âm thanh để sử dụng trong chương trình.

Tuần 8 Bắt đầu nghiên cứu code và mô phỏng trên chương trình Matlab.

Tuần 9 Bắt đầu nghiên cứu code và mô phỏng trên chương trình Matlab.

Tuần 10 Bắt đầu nghiên cứu code và mô phỏng trên chương trình Matlab.

Tuần 11 Bắt đầu nghiên cứu code và mô phỏng trên chương trình Matlab.

Tuần 12 Bắt đầu viết báo cáo và hoàn thành mô phỏng.

Tuần 13 Viết báo cáo, kiểm tra lỗi

Tuần 14 Hoàn thành báo cáo

Tuần 15 Bảo vệ đồ án

Page 5: báo cáo đồ án

Đồ án môn học 2

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..………………………………………………………………………………………………..

Page 6: báo cáo đồ án

Đồ án môn học 2

………………………………………………………………………………………………..………………………………………………………………………………………………..……………………………………………………………………………………………….

TP.HCM ngày tháng 1 năm 2015

Chữ ký giáo viên

Page 7: báo cáo đồ án

Đồ án môn học 2

Mục lụcLỜI NÓI ĐẦU.................................................................................................................ii

LỜI CẢM ƠN.................................................................................................................iii

NHẬT KÝ THỰC HIỆN ĐỒ ÁN..................................................................................iv

NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN.............................................................v

Mục lục...........................................................................................................................vi

Liệt kê hình..................................................................................................................... ix

Liệt kê bảng......................................................................................................................x

PHẦN B: NỘI DUNG....................................................................................................1

CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN VỀ LỌC SỐ..............................................1

1.1. Mở đầu................................................................................................................1

1.2. Giới thiệu về bộ lọc số........................................................................................1

CHƯƠNG 2. BỘ LỌC THÍCH NGHI...........................................................................4

2.1. Khái niệm cơ bản................................................................................................4

2.1.1. Biến ngẫu nhiên...........................................................................................4

2.1.2. Quá trình ngẫu nhiên...................................................................................4

2.1.3. Đặc tính từng phần của quá trình ngẫu nhiên rời rạc theo thời gian............4

2.1.4. Tương quan của các tín hiệu........................................................................5

2.2. Giới thiệu bộ lọc thích nghi................................................................................6

2.3. Cấu trúc bộ lọc thích nghi..................................................................................8

2.4. Mạch lọc Wiener FIR.........................................................................................9

2.5. Các thuật toán thích nghi và ứng dụng.............................................................12

2.5.1. Phương pháp giảm bước nhanh nhất.........................................................12

Page 8: báo cáo đồ án

Đồ án môn học 2

2.5.2. Thuật toán toàn phương trung bình tối thiểu (LMS).................................16

CHƯƠNG 3. ỨNG DỤNG CỦA BỘ LỌC THÍCH NGHI.........................................20

3.1. Tiếng vọng (echo).............................................................................................20

3.1.1. Các loại tiếng vọng....................................................................................21

3.2. Quá trình triệt tiếng vọng.................................................................................21

3.2.1. Lưu đồ giải thuật triệt tiếng vọng..............................................................23

3.3. Sử dụng lọc thích nghi để triệt tiếng vọng........................................................24

3.3.1. Lưu đồ giải thuật triệt tiếng vọng dùng thuật toán LMS...........................24

3.4. Một số yếu tố ảnh hưởng đến chất lượng triệt tiếng vọng................................26

CHƯƠNG 4. MÔ PHỎNG...........................................................................................27

4.1. Nguồn âm thanh sử dụng trong chương trình...................................................27

4.2. Phần mềm matlab.............................................................................................27

4.3. Nghiên cứu giải thuật LMS trong matlab.........................................................27

4.4. Giải thuật lọc thích nghi sử dụng thuật toán LMS trong matlab......................28

4.4.1. Đọc tín hiệu ngõ vào..................................................................................29

4.4.2. Khởi tạo các ma trận có giá trị ban đầu.....................................................30

4.4.3. Khởi tạo bộ lọc..........................................................................................30

4.4.4. Giải thuật lọc thích nghi LMS...................................................................30

4.5. Kết quả mô phỏng............................................................................................31

4.6. Nhận xét kết quả...............................................................................................32

4.6.1. Biểu đồ tín hiệu..........................................................................................32

4.6.2. Lắng nghe trực tiếp các tín hiệu.................................................................33

4.6.3. Nhận xét:....................................................................................................33

CHƯƠNG 5. KẾT LUẬN............................................................................................34

Page 9: báo cáo đồ án

Đồ án môn học 2

5.1. Kết quả đạt được...............................................................................................34

5.2. Các tồn tại và hướng phát triển của đề tài........................................................34

5.2.1. Những mặt còn tồn tại của đề tài...............................................................34

5.2.2. Hướng phát triển........................................................................................34

PHẦN C: PHỤ LỤC VÀ TÀI LIỆU THAM KHẢO...................................................35

Phụ lục............................................................................................................................36

Tài liệu tham khảo..........................................................................................................36

Page 10: báo cáo đồ án

Đồ án môn học 2

Liệt kê hìnhHình 1-1: Đáp ứng của tín hiệu.......................................................................................2

Hình 2-1: Giản đồ khối của mạch lọc.............................................................................6

Hình 2-2: Cấu trúc bộ lọc thích nghi...............................................................................8

Hình 2-3: Thuật toán thích nghi....................................................................................13

Hình 2-4: Cấu trúc thuật toán LMS..............................................................................17

Hình 3-1: Cơ chế hình thành tiếng vọng.......................................................................20

Hình 3-2: Sự hình thành echo trong truyền tín hiệu......................................................21

Hình 3-3: Acoustic echo...............................................................................................22

Hình 3-4: Quá trình triệt tiếng vọng..............................................................................22

Hình 3-5: Quá trình thực hiện giải thuật triệt tiếng vọng..............................................23

Hình 3-6: Lưu đồ giải thuật triệt tiếng vọng.................................................................23

Hình 3-7: Bộ lọc thích nghi trong triệt tiếng vọng........................................................24

Hình 3-8: Lưu đồ giải thuật triệt tiếng vọng dùng thuật toán LMS..............................25

Hình 4-1: Đồ thị hàm xác suất có dạng chuông............................................................28

Hình 4-2: Kết quả mô phỏng thuật toán LMS..............................................................31

Hình 4-3: Tỉ số công suất tín hiệu gửi đi trên nhiễu.....................................................32

Page 11: báo cáo đồ án

Đồ án môn học 2

Liệt kê bảngBảng 4-1: Tóm lược thuật toán LMS.............................................................................29

Bảng 4-2: Câu lệnh trên MATLAB của thuật toán LMS...............................................29

Page 12: báo cáo đồ án

Đồ án môn học 2 1

PHẦN B: NỘI DUNG

Page 13: báo cáo đồ án

Đồ án môn học 2 1

CHƯƠNG 1. GIỚI THIỆU TỔNG QUAN VỀ LỌC SỐ

1.1. Mở đầu

Trong kỹ thuật tương tự (Analog) bộ lọc tín hiệu đóng một vai trò quan trọng.

Người ta chia chúng làm 2 loại cơ bản: bộ lọc tích cực và bộ lọc thụ động. Song thành

phần cơ bản tác động đến biên độ - tần số tín hiệu là các thành phần điện kháng như:

điện cảm L và điện dung C. Chúng được mặc với nhau theo những cấu trúc riêng nhằm

đáp ứng yêu cầu của bộ lọc như: Bộ lọc thông thấp, thông cao, thông dải hoặc các bộ

chặn tần v.v… Để thiết kế chúng người ta phải giải các phương trình vi tích phân. Một

phương pháp phổ biến nữa là người ta xây dựng hàm truyền đạt biên độ tần số H ( jω),

qua đó ta có thể xác định chính xác đáp ứng của tín hiệu đầu ra Y (t ) khi đầu vào là hàm

X ( t) xác định.

Khi kỹ thuật số (Digital) bùng nổ, việc xây dựng các bộ lọc số được xây dựng

trên nền tảng là các chương trình, các thuật toán nhằm đáp ứng yêu cầu cho các bộ lọc

số. Các chương trình, thuật toán này có thể được thực hiện bằng phần mềm hoặc bằng

các kết cấu cứng.

Xét một cách tổng quát thì bộ lọc số và bộ lọc tương tự có nhiều nét tương đồng

cả về chức năng cũng như phương pháp luận trong việc xây dựng chúng. Trong

chương ta sẽ có cái nhìn tổng quát về các bộ lọc số và công cụ toán học khi nghiên cứu

bộ lọc số học làm cơ sở cho việc nghiên cứu các chương tiếp theo.

1.2. Giới thiệu về bộ 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ố có hai ứ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ị

nhiễu tác động. Còn phục hồi tín hiệu là khi tín hiệu mong muốn bị sai lệch bởi nhiều

yếu tố môi trường tác động vào làm biến dạng, gây ảnh hưởng tới kết quả đánh giá.

Chương 1: Giới thiệu tổng quan về lọc số

Page 14: báo cáo đồ án

Đồ án môn học 2 2

Trong xử lý tín hiệu số, ta thường nói tín hiệu và và ra của một bộ lọc đều ở miền

thời gian vì tín hiệu thường được tạo ra bằng cách lấy mẫu ở các thời điểm cách đều

nhau. Tuy nhiên, ta cũng có thể lấy mẫu ở các vị trí cách đều nhau trong không gian

hay trong một phạm trù khác, thông thường nhất là trong miền thời gian và trong miền

tần số. Mỗi bộ lọc tuyến tính đều có một đáp ứng xung, một đáp ứng bước và một đáp

ứng tần số. Mỗi đáp ứng này đều chứa đủ thông tin về bộ lọc, nhưng dưới dạng khác

nhau. Nếu một trong ba đáp ứng được xác định thì hai đáp ứng kia cũng sẽ được tính ra

trực tiếp. Cả ba đáp ứng này đều rất quan trọng vì chúng mô tả bộ lọc ở các góc độ

khác nhau.

Ví dụ 1.2: Với đáp ứng xung đầu ra của hệ thống khi đầu vào là xung đơn vị, đáp

ứng bước là đầu ra của hệ thống khi đầu vào là xung bậc thang (bước nhảy đơn vị). Vì

hàm này là tích phân của hàm xung đơn vị, nên đáp ứng bước chính là tích phân của

đáp ứng xung. Từ đó ta có hai cách tìn đáp ứng bậc thang:

Đưa một sóng bước nhảy vào bộ lọc và xem kết quả đầu ra

Lấy tích phân của đáp ứng xung.

Còn đáp ứng tần số lấy từ biến đổi Fourier của đáp ứng xung

Hình 1-1: Đáp ứng của tín hiệu

Chương 1: Giới thiệu tổng quan về lọc số

Page 15: báo cáo đồ án

Đồ án môn học 2 3

Phương pháp trực tiếp nhất để thực hiện lọc số là dùng phép tích chập của tín hiệu

vào với đáp ứng xung của bộ lọc số, khi đó đáp ứng xung được xem là cốt lõi cho việc

thiết kế của bộ lọc. Một phương pháp khác để thực hiện lọc số là dùng phương pháp đệ

quy. Khi bộ lọc được thực hiện bằng phép tích chập, mỗi mẫu trong tín hiệu ra được

tính toán bằng cách tổ hợp có trọng số các mẫu trong tín hiệu vào. Các bộ lọc kiểu đệ

quy mở rộng thêm quá trình trên bằng cách sử dụng cả các trị số đã tính được từ tín

hiệu ra, bên cạnh các điểm lấy từ tín hiệu vào, thay vì dùng một lõi lọc, các bộ lọc đệ

quy xác định bởi một dãy hệ số đệ quy. Các bộ lọc đệ quy còn được gọi là các bộ lọc

có đáp ứng xung dài vô hạn IIR, còn các bộ lọc theo phương pháp chập gọi là các bộ

lọc có đáp ứng xung dài hữu hạn FIR.

Có nhiều cách để con người biểu diễn thông tin qua tín hiệu như trong các kiểu

điều chế hay mã hóa tín hiệu: AM, FM… Còn các tín hiệu trong tự nhiên chỉ có hai

cách biểu diễn là theo miền thời gian hay ở miền tần số. Thông tin được thể hiện trong

miền thời gian được mô tả bằng độ lớn của sự kiện tại điểm xuất hiện. Mỗi mẫu trong

tín hiệu cho thấy những gì xuất hiện tại thời điểm ấy và độ lớn của nó. Trái lại, thông

tin được biểu thị trong miền tần số có tính chất gián tiếp hơn và mỗi mẫu tín hiệu đơn

độc không thể hiện thông tin đầy đủ mà phải trong mối liên hệ nhiều điểm của tín hiệu.

Từ đó ta thấy tầm quan trọng của đáp ứng bước và đáp ứng tần số; đáp ứng bước

mô tả sự biến đổi của thông tin trong miền thời gian bởi hệ thống còn đáp ứng tần số

cho thấy sự biến đổi thông tin trong miền tần số. Với mỗi ứng dụng khác nhau thì tầm

quan trong của hai đáp ứng cũng khác nhau.

Chương 1: Giới thiệu tổng quan về lọc số

Page 16: báo cáo đồ án

Đồ án môn học 2 4

CHƯƠNG 2. BỘ LỌC THÍCH NGHI

Các bộ lọc thích nghi (Adaptive Filter) được sử dụng khi điều kiện hay các thông

số của hệ thống thay đổi rất chậm và bộ lọc được thực hiện để điều chỉnh bù lại sự thay

đổi này. Thuật toán LMS là một thuật toán dò tìm được sử dụng để cung cấp một kế

hoạch quản lý tốt việc điều chỉnh các hệ số bộ lọc, các ưu và nhược điểm của thuật

toán sẽ được hiểu rõ qua các phần sau đây.

2.1. Khái niệm cơ bản

2.1.1. Biến ngẫu nhiên

Khi ta thực hiện một thí nghiệm ngẫu nhiên, tập hợp tất cả các kết quả (loại trừ

lẫn nhau) có thể xảy ra gọi là không gian mẫu.

Sự kiện là tập hợp gồm một hay nhiều kết quả trong không gian mẫu.

Vậy biến ngẫu nhiên là phép ánh xạ các sự kiện sang các giá trị thực (hay phức).

2.1.2. Quá trình ngẫu nhiên

Quá trình ngẫu nhiên là tập hợp các hàm số có các thông số mà có thuộc tính

thống kê nào đó. Một quá trình ngẫu nhiên được biểu diễn bởi một tập hợp biến ngẫu

nhiên.

Một quá trình ngẫu nhiên gọi là dừng chặt nếu các thuộc tính thống kê của nó

không thay đổi khi dịch chuyển đi một khoảng thời gian được biểu diễn bởi một chuỗi

tí hiệu theo thời gian u(n), u(n-1),…u(n-M+1) gọi là dừng chặt khi hàm mật độ xác

suất của nó tại các thời điểm quan sát n,n-1,…,n-M+1 là không đổi khi n thay đổi.

2.1.3. Đặc tính từng phần của quá trình ngẫu nhiên rời rạc theo thời gian

Thực tế ta thấy khó có thể xác định hàm mật độ xác suất của tập hợp các thời

điểm quan sát trong quá trình ngẫu nhiên. Do đó ta cần quan tâm đến các đặc tính

thống kê từng phần của nó.

Chương 2: Bộ lọc thích nghi

Page 17: báo cáo đồ án

Đồ án môn học 2 5

Xét một quá trình ngẫu nhiên rời rạc theo thời gian như trên, ta định nghĩa kỳ

vọng và hàm giá trị trung bình của biến ngẫu nhiên trong quá trình ngẫu nhiên như sau:

Kỳ vọng của đại lượng ngẫu nhiên là trung bình theo xác suất các giá trị có thể

nhận của đại lượng ngẫu nhiên đó, kí hiệu là E.

Còn hàm giá trị trung bình μ (n ) :

μ (n )=E [u (n )]

Trong đó, E là toán tử kỳ vọng thống kê, và hàm tự tương quan của quá trình

ngẫu nhiên được định nghĩa:

r (n ,n−k )=E [u (n )u∗(n−k ) ] ;k=± 1 , ±2 ,…,

Trong đó, dấu * là ký hiệu của liên hiệp phức.

Khi một quá trình ngẫu nhiên là dừng chặt khi đó ta có:

Hàm giá trị trung bình của quá trình ngẫu nhiên luôn luôn bằng hằng số μ

với mọi n.

Hàm tự tương quan chỉ còn phụ thuộc vào sự khác nhau trong khoảng thời

gian quan sát giữa thời điểm n và n-k, chính xác là k: r(n,n-k)=r(k).

Tuy nhiên hai phương trình trên không đảm bảo rằng quá trình ngẫu nhiên

là dừng chặt. Nhưng nếu, hai phương trình trên được đảm bảo, ta nói rằng

quá trình ngẫu nhiên rời rạc theo thời gian là dừng theo nghĩa rộng.

2.1.4. Tương quan của các tín hiệu

Trong việc xử lý tín hiệu, chúng ta luôn cần phải so sánh các tín hiệu với nhau.

Một phương pháp so sánh hay dùng đó là hàm tương quan sẽ được mô tả sau đây:

Định nghĩa tương quan chéo

Giả sử có hai dãy x(n) và y(n), tối thiểu một trong hai dãy có năng lượng hữu hạn.

Tương quan chéo của x(n) và y(n) được định nghĩa như sau:

Chương 2: Bộ lọc thích nghi

Page 18: báo cáo đồ án

Đồ án môn học 2 6

r xy (n )= ∑m=−∞

x (¿m) y (m−n ) n=0 , ±1 , …,¿

Định nghĩa tự tương quan

Trong định nghĩa tương quan chéo nếu ta có x (n)≡ y (n) thì ta có định nghĩa tự

tương quan. Vậy hàm tự tương quan được định nghĩa như sau:

r xx ( n )= ∑m=−∞

x (¿m) x (m−n ) n=0 , ± 1 ,… ,¿

2.2. Giới thiệu bộ lọc thích nghi

Trong các bộ lọc số quy ước (FIR và IRR), các thông số đặc trưng cho hệ thống

có thể biến đổi theo thời gian, trong mộ số bài toán thực tiễn cho thấy một số thông số

có độ bất ổn định cao vả bản chất của sự biến thiên thì không 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

một hệ thống thay đổi, có nghĩa là nó có thể tự điều chỉnh các hệ số 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ố hệ thống. Đó chính là các bộ

lọc thích nghi (Adaptive Filter).

Các hệ số của một bộ lọc thích nghi được hiệu chỉnh để bù lại các thay đổi trong

các tín hiệu vào, tín hiệu ra hoặc trong các thông số của hệ thống. Thay vì cứng nhắc,

một hệ thống thích nghi có thể nắm bắt các đặc trung của tín hiệu và dò theo các biến

đổi chậm. Một bộ lọc thích nghi có thể rất hữu ích cho sự bất định về các đặc trung của

một tín hiệu hoặc khi các đặc trưng đó thay đổi. Giản đồ khối của mạch lọc như vậy

được trình bày trong hình sau:

Chương 2: Bộ lọc thích nghi

Page 19: báo cáo đồ án

Đồ án môn học 2 7

Hình 2-2: Giản đồ khối của mạch lọc

Trong sơ đồ này, tín hiệu ngõ vào là một dãy thời gian rời rạc x[n], mạch lọc

được đặc trưng bởi đáp ứng xung h[n], còn tín hiệu ngõ ra ở thời điểm n là một dãy

y[n]. Ngõ ra này được sử dụng để xác định một đáp ứng mong muốn d[n]. 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 ngõ vào. Điều này có thể được thực hiện nếu dãy tín hiệu sai số e[n]

hội tụ về không nhanh nhất. Để làm được điều này, ta phải tối ưu hoá một hàm sai số

được xác định theo phương pháp thống kê hoặc phương pháp quyết định. Đối với

phương pháp thống kê, thì hàm sai số được sử dụng là giá trị bình 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 hoá sai số bình phương trung bình đưa đến một mạch lọc rất nổi

tiếng đó là mạch lọc Wiener, được gọi là tối ưu theo nghĩa bình phương 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. Trong

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ố

bình phương. Việc cực tiểu hoá 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.

Như vậy, mạch lọc được thiết kế hoặc bằng các công thức thống kê hoặc bằng các

công thức xác định. Trong các thiết kế xác định cần phải tính toán một số đại lượng

trung bình khi sử dụng dãy dữ liệu đã cho mà mạch lọc cần xử lý. Nói cách khác, để

thiết kế được 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ở. Trong trường hợp này, các dãy tín hiệu cơ sở thường được cho là tín hiệu

dừng và trung bình theo thời gian bằng trung bình thống kê.

Chương 2: Bộ lọc thích nghi

Page 20: báo cáo đồ án

Đồ án môn học 2 8

Mặc dù phép đo trực tiếp các giá trị trung bình của tín hiệu có thể được thực hiện

để thu được những thông tin cần thiết cho việc thiết kế mạch lọc Wiener hoặc các mạch

lọc tối ưu, nhưng trong nhiều ứng dụng thực tế, các giá trị trung bình của tín hiệu lại

được sử dụng theo cách gián tiếp, trong đó sai số ngõ ra của mạch lọc tương quan với

các mẫu của tín hiệu vào của mạch lọc theo một số cách và sử dụng kết quả của

phương trình đệ quy để điều chỉnh các hệ số của mạch theo kiểu lặp.

Sử dụng phương pháp lặp có thể đưa đến các lời giải thích nghi có khả năng tự

hiệu chỉnh. Có nghĩa là nếu các tính chất thống kê của tín hiệu thay đổi đối với thời

gian, thì nhờ nghiệm lặp, các hệ số của mạch lọc có thể tự điều chỉnh để thích nghi với

các tính chất thống kê mới.

Nghiệm lặp, nói chung rất được ưa chuộng vì nó dễ mã hoá trong phần mềm và

dễ thực thi trong phần cứng hơn các nghiệm không lặp.

2.3. Cấu trúc bộ lọc thích nghi

Hình 2-3: Cấu trúc bộ lọc thích nghi

Trong đó:

x [n] : Vector tín hiệu đầu vào của mạch lọc.

x [n ]=[ xn xn−1 xn−2⋯ xn−N +1]T

Chương 2: Bộ lọc thích nghi

Page 21: báo cáo đồ án

Đồ án môn học 2 9

w: Là vector trọng số của bộ lọc thích nghi

w=[w0 w1…wN −1]T

y [n] : là ngõ ra của mạch lọc

y [n]=∑k=0

N −1

w [ k ] x [ n−k ] wT x [n] (2.4.1)

d [n] : là ngõ ra mong muốn

e [n] : là sai số giữa tín hiệu mong muốn d[n] và tín hiệu đầu ra y [n]

e [n]=d [n]− y [n ] (2.4.2)

Bài toán thích nghi sẽ tự điều chỉnh ma trận các trọng số w sao cho sai số e [n] là

nhỏ nhất.

2.4. Mạch lọc Wiener FIR

Vì wTx[n] là một vô hướng nên bằng chuyển vị của nó, tức là: wTx[n]=xT[n]w.

Do đó, từ (2.4.1) và (2.4.2) ta có:

e[n]=d[n]-y[n]=d[n]-wTx[n]=d[n]-xT[n]w (2.4.3)

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

J= E[|e[n]|2] (2.4.4)

Trong đó ký hiệu E[.] là kỳ vọng thống kê. Thay (2.4.3) vào (2.4.4) ta được:

J= E[(d[n]-wTx[n])(d[n]-xT[n]w)] (2.4.5)

Khai triển (2.4.5) 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:

J=E[d2[n]]–wTE[x[n]d[n]]– E[d[n]xT[n]]w + wTE[x[n]xT[n]]w (2.4.6)

Ta định nghĩa vector tương quan chéo bậc Nx1:

P = E[x[n]d[n]] = [P0 P1 … PN-1] T (2.4.7)

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

Chương 2: Bộ lọc thích nghi

Page 22: báo cáo đồ án

Đồ án môn học 2 10

R00 R01 R02 …… R0 N-1

R10 R11 R12 …… R1 N-1 R=E[x[n]xT[n]] = .. .. .. …… …. (2.4.8)

.. .. .. …. …. .. .. …. ..... …

RN-1 0 RN-1 1 RN-1 2 …… RN-1 N-1

Chú ý là: E[d[n]xT[n]] = PT; wTP = PTw, ta thu được:

J = E[d2[n]] – 2wTP + wTRw (2.4.9)

Chú ý là: E[d[n]xT[n]] = PT; wTP = PTw, ta thu được:

J = E[d2[n]] – 2wTP + wTRw

Để thu được táp trọng số ứng với hàm phí tổn J 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 J đối với mỗi táp trọng số w i

bằng không, tức là:

∂ J∂wi = 0 , với i = 0,1,2…N-1 (2.4.10)

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

J = 0

(2.4.11)

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

Chương 2: Bộ lọc thích nghi

Page 23: báo cáo đồ án

Đồ án môn học 2 11

=

[∂∂ w [0 ] ¿ ][∂∂ w [1 ] ¿] [. ¿ ] [. ¿ ] [. ¿ ] ¿

¿¿¿

(2.4.12)

Để tìm các đạo hàm riêng của J đố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.4.9) thành dạng tường minh:

J = E[d2[n]] – 2∑k=0

N−1

P[ k ]w [ k ] +

∑k=0

N−1

∑m=0

N−1

w[ k ]w [m ] R[ k ,m ] (2.4.13)

Tổng kép trong (2.4.13) có thể khai triển dưới dạng:

∑k=0

N−1

∑m=0

N−1

w[ k ]w [m ] R[ k ,m ]=

¿ k ¿ i ¿¿ ¿N −1

¿+wi

¿ k ¿ i ¿¿ ¿N −1

¿+wi

¿m¿k ¿¿ ¿N −1

¿

+wi2R[k,i] (2.4.14)

Thay (2.4.14) vào (2.4.13) sau đó lấy đạo hàm riêng phần của J theo wi và thay thế m

cho k ta được:

∂ J∂w [ i ] = -2Pi +

∑k=0

N−1

w[ k ]( R[ k , i ]+R [ i , k ]) , với i=0,1,2,…,N-1 (2.4.15)

Trong trường hợp này ta thấy:

Rki = E[x[n-k]x[n-i]] = Φxx[i-k] (2.4.16)

ở đây Φxx[i-k] là hàm tự tương quan của x[n]

Tương tự:

Rik = Φxx[k-i] (2.4.17)

Chương 2: Bộ lọc thích nghi

Page 24: báo cáo đồ án

Đồ án môn học 2 12

Do tính chất đối xứng của hàm tự tương quan nên Φxx[k] = Φxx[-k], ta thu được:

Rki = Rik (2.4.18)

Thay (2.4.18) vào phương trình (2.4.15) ta được:

∂ J∂w [ i ] = -2Pi + 2

∑k=0

N−1

R [ i , k ]w[ k ], với i = 0,1,2…,N-1 (2.4.19)

Phương trình trên có thể biểu diễn dưới dạng ma trận:

J = 2Rw – 2P (2.4.20)

Đặt J=0 ta sẽ thu được phương trình tối ưu hoá táp trọng số của mạch lọc Wiener

Rwo = P (2.4.21)

Đây là phương trình Wiener-Hopf đối với vetor trọng số tối ưu wo:

wo = R-1P (2.4.22)

Thay giá trị wo vừa tìm được từ phương trình Wiener-Hopf và Rwo=P vào phương trình

(2.4.9) ta sẽ tìm được giá trị cực tiểu của hàm phí tổn J:

Jmin = E[d2[n]] - woT P

= E[d2[n]] - woTRwo (2.4.23)

Đó là sai số cực tiểu mà mạch lọc Wiener FIR W(z) có thể đạt được khi táp trọng số

của nó là nghiệm của phương trình Wiener-Hopf, nghĩa là nghiệm tối ưu ở (2.4.22)

2.5. Các thuật toán thích nghi và ứng dụng

Trong phần này, chúng ta nghiên cứu chủ yếu thuật toán bình phương trung bình

tối thiểu LMS. Thuật toán này được áp dụng rộng rãi trong xử lý số thích nghi và thống

kê do tính chất bền vững và đơn giản của nó. Nhờ thuật toán này mà dãy sai số hội tụ

về không với tốc độ nhanh, tuỳ theo bước giảm cấp. Vì vậy, dựa trên thuật toán này,

người ta đã phát triển nhiều thuật toán nhanh.

Chương 2: Bộ lọc thích nghi

Page 25: báo cáo đồ án

Đồ án môn học 2 13

2.5.1. Phương pháp giảm bước nhanh nhất

Đây là phương pháp lặp để tìm táp trọng số tương ứng với điểm cực tiểu của mặt

sai số của mạch lọc Wiener FIR. Trong phương pháp này, hàm phí tổn cần cực tiểu hoá

được giả thiết là phân kỳ và xuất phát từ một để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. 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 như hình, dãy tín hiệu vào mạch lọc là x[n] và dãy tín

hiệu mong muốn d[n] và táp trọng số wi được giả thiết là những dãy số thực. Khi đó,

dãy ngõ ra của mạch lọc:

y[n] = wTx[n] = wxT[n] (2.5.1)

Nhắc lại rằng khi hàm phí tổn đạt giá trị cực tiểu thì táp vector trọng số đạt đến

giá trị tối ưu, thoả mãn phương trình Wiener-Hopf:

Rwo = P (2.5.2)

Ở đây, thay cho việc giải phương trình một cách trực tiếp, ta giải bài toán bằng

cách tìm một phương pháp lặp.

Hình 2-4: Thuật toán thích nghi

Theo phương pháp này, xuất phát từ giá trị dự đoán trước đối với wo, 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 wo. Thuật toán lặp này

thường xuyên được sử dụng trong các mạch lọc thích nghi.

Chương 2: Bộ lọc thích nghi

Page 26: báo cáo đồ án

Đồ án môn học 2 14

Phương pháp giảm bước nhanh nhất được thực hiện theo các bước sau:

1) Xuất phát từ các 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 hoá hàm phí tổn.

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.

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

vector 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 vector gradient.

4) Lặp lại các bước 2 và 3 cho đến khi không thể thay đổi được nữa trong

các thông số.

Theo các thủ tục trên, nếu w(k) là vector táp trọng số tại phép lặp thứ k, thì

phương trình truy hồi sau đây có thể được sử dụng để cập nhật w(k):

w(k+1) = w(k) - µkJ (2.5.3)

trong đó:

kJ = 2Rw(k)-2P (2.5.4)

Thông số µ là đại lượng vô hướng dương được gọi là kích thước của bước. Đây

là thông số rất quan trọng vì tốc độ hội tụ của w(k) tới giá trị tối ưu wo phụ thuộc vào

thông số này, tức là vào kích thước của bước đã lựa chọn. Nếu kích thước bước lớn có

thể sự hội tụ sẽ nhanh hơn, nhưng bù lại tính ổn định sẽ kém hơn

Thay (2.5.4) vào (2.5.3) ta được:

w(k+1) = w(k) - 2µ(Rw(k) – P) (2.5.5)

Để có thể thấy sự cập nhật các giá trị w(k) cho hội tụ tới wo, ta viết lại

(2.5.5) :

w(k+1) - wo = (I-2µR)(w(k)-wo) (2.5.6)

Ta định nghĩa vector:

Chương 2: Bộ lọc thích nghi

Page 27: báo cáo đồ án

Đồ án môn học 2 15

v(k) = w(k) - wo (2.5.7)

Khi đó (2.5.6) trở thành:

v(k+1) = (I-2µR)v(k) (2.5.8)

Phương trình (2.5.8) sẽ có dạng đơn giản hơn nữa nếu ta đưa ma trận tương quan

R về dạng chéo. Nghĩa là ta đặt:

R=QλQT (2.5.9)

Và thay ma trận đơn vị I=QQT, khi đó (2.5.8) trở thành:

v(k+1) = (QQT - 2µQλQT)v(k) = Q(I-2µλ)QTv(k) (2.5.10)

Trong đó λ là ma trận chéo được tạo thành từ các giá trị riêng của ma trận tương

quan R, còn Q là ma trận được tạo thành từ các vector riêng trực giao tương ứng

Đặt:

v’(k) = QTv(k) (2.5.11)

Như vậy ta thu được phương trình truy hồi đối với vector v’(k) như sau:

v’(k+1) = (I-2µλ)v’(k) (2.5.12)

phương trình vector (2.5.12) có thể tách thành các phương trình vô hướng :

v’i(k+1) = (1-2µλi) v’i(k) với i=0,1,…,N-1 (2.5.13)

ở đây, v’i(k) là phần tử thứ i của vector v’(k)

Nếu bắt đầu từ dãy giá trị ban đầu v’o(0), v’1(0),…,v’N-1(0) và sau k phép lặp

chúng ta sẽ thu được:

v’i(k) = (1-2µλi)v’i(0) với i=0,1,…,N-1 (2.5.14)

Chương 2: Bộ lọc thích nghi

Page 28: báo cáo đồ án

Đồ án môn học 2 16

Từ (2.5.7) và (2.5.11) ta thấy rằng w(k) hội tụ tới wo khi và chỉ khi v’(k) hội tụ tới

vector không. Nhưng (2.5.14) lại cho thấy v’i(k) hội tụ tới không khi và chỉ khi thông

số bước µ được chọn sao cho:

|1-2µλi| < 1 , với i=0,1,…,N-1 (2.5.15)

Khi (2.5.15) thoả mãn thì thành phần thứ i của vector v’ i(k) sẽ hội tụ nhanh về

không theo hàm e-mũ khi số lượng phép lặp tăng lên. Ngoài ra (2.5.15) cũng là điều

kiện để chọn kích thước của bước µ sao cho thuật toán giảm cấp nhanh nhất và ổn

định. Điều kiện đó có thể khai triển dưới dạng :

-1<1-2µλi<1 hay: 0 < µ <

1λi (2.5.16)

Do kích thước bước µ được áp dụng cho tất cả các giá trị của i, nên tính chất hội

tụ và ổn định của thuật toán giảm bước nhanh nhất được đảm bảo khi:

0 < µ <

1λ max (2.5.17)

Với λmax là giá trị riêng cực đại của các giá trị riêng: λ0,λ1,… λN-1

Bây giờ ta viết thuật toán giảm bước nhanh nhất cho vector táp trọng số w(k) của

mạch lọc. Ta thấy :

w(k) = wo + v(k) = wo + Qv’(k)

= wo+[qo q1…qN-1 ] [v’o(k) v’1(k) ….v’N-1(k)]T

= wo + ∑i=0

N−1

q [ i ]v ' [ i ](k )(2.5.18)

ở đây qo,q1,…qN-1, là các vector riêng gắn với các giá trị riêng λo, λ1,… λN-1 của ma

trận tương quan R.

Chương 2: Bộ lọc thích nghi

Page 29: báo cáo đồ án

Đồ án môn học 2 17

Thay (2.5.14) vào (2.5.18) ta thu được:

w(k) = wo+ ∑i=0

N−1

v 'i(0)(1-2µλi)k qi (2.5.19)

Kết quả này cho thấy mỗi giá trị riêng λi xác định một kiểu hội tụ riêng theo một

hướng được xác định bởi vector riêng tương ứng qi của nó. Các kiểu hội tụ khác nhau

hoạt động độc lập với nhau. Với một giá trị chọn lựa của thông số bước µ, thì thừa số

1-2µλi xác định giá trị λi để kiểu hội tụ thứ i hội tụ nhanh nhất.

2.5.2. Thuật toán toàn phương trung bình tối thiểu (LMS)

Thuật toán bình phương trung bình tối thiểu LMS (Least – Mean –Square) là

thuật toán được áp dụng rộng rãi trong xử lý số tín hiệu thích nghi. Nó thuộc họ các

thuật toán gradient thống kê lần đầu tiên được Windrow-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. Nó là thuật toán lọc thích nghi tuyến tính bao gồm hai quá trình: quá

trình lọc và 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 có ngõ vào x(n) và ngõ ra y(n). Quá trình thích nghi được thực hiện nhờ sự

điều khiển tự động các táp trọng số của 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 ngõ ra với tín hiệu mong muốn d(n). Sơ đồ của

thuật toán như trong hình:

Chương 2: Bộ lọc thích nghi

Page 30: báo cáo đồ án

Đồ án môn học 2 18

Hình 2-5: Cấu trúc thuật toán LMS

Giả sử mạch lọc ngang có N- táp trọng số và là dãy số thực, khi đó tín hiệu ngõ ra

được viết:

y[n] = ∑k=0

N−1

wk[n]x[n-k] (2.5.20)

Trong đó táp trọng số wo[n]…..,wN-1 [n] được chọn lựa như thế nào để sai số:

e[n]= d[n] - y[n] (2.5.21)

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

hoá theo nghĩa bình phương trung bình, vì thế mới có tên là thuật toán bình 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ụ đến nghiệm của phương trình Wiener-Hopf. 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-Hopf, nhưng không

giải một cách tường minh phương trình Wiener-Hopf. Nó là một thuật toán tuần tự

Chương 2: Bộ lọc thích nghi

Page 31: báo cáo đồ án

Đồ án môn học 2 19

đượ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

ngõ vào x[n] và tín hiệu ngõ 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 J=E[e2[n]] được thay bằng giá trị xác định tức thời

j^[n] = e2[n]. Khi đó phương trình truy hồi để tính táp trọng số của mạch lọc được xác

định bằng phương trình:

w[n+1] = w[n] - µe2[n] (2.5.22)

trong đó w[n] = [wo[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 vector cột như sau:

=

[∂∂ w [0 ] ¿ ][∂∂ w [1 ] ¿] [. ¿ ] [. ¿ ] [. ¿ ] ¿

¿¿¿

(2.5.23)

Như vậy thành phần thứ k của vector e2[n] là:

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

∂e [ n ]∂wi (2.5.24)

Thay e[n]=d[n]-y[n] vào phương trình trên và do d[n] độc lập với wi, ta được:

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

∂ y [ n ]∂ wi (2.5.25)

Bây giờ, thay y[n] từ (2.5.20) vào (2.5.25) ta được:

∂∂wi e2 [n] = - 2e[n]x[n-i] (2.5.26)

Hoặc dưới dạng tổng quát là:

Chương 2: Bộ lọc thích nghi

Page 32: báo cáo đồ án

Đồ án môn học 2 20

e2[n] = -2e[n]x[n] (2.5.27)

Trong đó: x[n]=[ x[n], x[n-1]….x[n-N+1]]T

Thay kết quả từ (2.5.27) vào (2.5.22) ta được:

w[n+1] = w[n] + 2µe[n]x[n] (2.5.28)

Đâ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 ngõ 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

đệ quy các hệ số của mạch lọc cứ sau mỗi mẫu mới của tín hiêu ngõ vào x[n] và mẫu

tín hiệu mong muốn d[n]. Các phương trình (2.5.20), (2.5.21), (2.5.28), 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.5.20) là

quá trình lọc, nó được tạo thành để thu được tín hiệu ngõ ra của mạch lọc. Phương

trình (2.5.21) được sử dụng để tính sai số. Còn phương trình (2.5.28) dùng để thích

nghi một cách đệ quy táp trọng số của mạch lọc sao cho sai số xác định đạt giá trị cực

tiểu. 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 µ lớn thì tốc độ hội tụ nhanh; còn nếu chọn µ giá trị

bé thì tốc độ 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

đị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 sao

cho:

0 < µ <

13trace [ R ]

(2.5.29)

trong đó: trace[R] = ∑k=0

N−1

λ [ k ]

, Với N là bậc của bộ lọc.

Chương 2: Bộ lọc thích nghi

Page 33: báo cáo đồ án

Nguồn âm Nghe

Đồ án môn học 2 21

CHƯƠNG 3. ỨNG DỤNG CỦA BỘ LỌC THÍCH NGHI

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 triệt tiếng vọng dựa trên lý thuyết đã được giới thiệu ở các chương trước.

Triệt tiếng vọng dựa trên việc trừ nhiễu từ tín hiệu nhận được nhằm mục đích

tăng tỷ số tín hiệu trên nhiễu (SNR) 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 thích nghi, nó có thể đạt hiệu suất cao vượt trội hơn nhiều

so với những hệ thống không thích nghi.

3.1. Tiếng vọng (echo)

Echo là một sự phản xạ âm thanh đến người nghe trong một khoảng thời gian sau

âm thanh gốc. Nói chung, echo có một khoảng trễ tương đối dài.

Vì vậy mà trong hiệu ứng echo, âm thanh thực và âm thanh tạo ra được tách biệt

rõ ràng, con người có thể nhận biết sự khác biệt. Cơ chế của echo có thể được biểu diễn

như sau.

Hình 3-6: Cơ chế hình thành tiếng vọng

Theo hình trên thì tín hiệu đi từ nguồn đến người nghe theo hai hướng. Hướng

đầu tiên thì tín hiệu đi trực tiếp đến người nghe. Hướng thứ hai thì tín hiệu đi đến

tường và bị phản xạ đến người nghe. Quá trình thứ hai diễn ra trong thời gian lâu hơn

so với quá trình đầu, vì vậy người nghe sẽ nghe hai âm thanh trong khoảng thời gian

khác nhau. Công suất quá trình thứ hai sẽ suy hao do phản xạ.

Chương 3: Ứng dụng của bộ lọc thích nghi

Page 34: báo cáo đồ án

Đồ án môn học 2 22

3.1.1. Các loại tiếng vọng

Có 2 loại tiếng vọng trong mạng viễn thông: tiếng vọng điện từ (tiếng vọng lai)

và tiếng vọng âm học.

Tiếng vọng điện từ do sự mất phối hợp trở kháng tại các điểm khác nhau dọc theo

kênh truyền. Tiếng vọng lai được tạo ra ở các kết nối lai mà thuê bao 2 dây được kết

nối đến chuyển mạch điện thoại 4 dây trong hệ thống viễn thông.

Hình 3-7: Sự hình thành echo trong truyền tín hiệu

Tiếng vọng âm học là do sự phản xạ các sóng âm thanh và khớp nối âm học giữa

loa và microphone trong điện thoại, các hệ thống âm thanh.

Trong đồ án môn học này, người viết trình bày chủ yếu về triệt tiếng vọng âm học

do sự phản xạ sóng âm thanh gây nên.

3.2. Quá trình triệt tiếng vọng

Có 2 giải pháp để giải quyết vấn đề tiếng vọng, giảm tiếng vọng (Echo

Suppression) và khử tiếng vọng (Echo Cancellation). Đồ án này chỉ tập trung vào việc

khử tiếng vọng bằng cách sử dụng các thuật toán thích nghi (Acoustic Echo

Cancellation – AEC).

Chương 3: Ứng dụng của bộ lọc thích nghi

Page 35: báo cáo đồ án

Đồ án môn học 2 23

Hình 3-8: Acoustic echo

Quá trình triệt tiếng vọng sử dụng giải thuật thích nghi LMS bắt nguồn từ một

cảm biến ngõ vào (Microphone). Tín hiệu ngõ vào bao gồm tín hiệu gốc cộng với tiếng

vọng. Tín hiệu này đi qua một bộ lọc có một độ trễ k sau đó được so sánh với tín hiệu ở

ngõ vào. Tín hiệu sai số giữa chúng được hồi tiếp để điều chỉnh các trọng số của bộ lọc

cho các tín hiệu tiếp theo.

Hình 3-9: Quá trình triệt tiếng vọng

Chương 3: Ứng dụng của bộ lọc thích nghi

Page 36: báo cáo đồ án

Bắt đầu

Đọc tín hiệu ngõ vào

Tạo tín hiệu echo

Chạy giải thuật LMS để ước lượng sai số

Kết thúc

Đồ án môn học 2 24

Hình 3-10: Quá trình thực hiện giải thuật triệt tiếng vọng

Trong đó:

(1): Tín hiệu gốc: x(n)

(2): Tín hiệu trễ k chu kì mẫu và biện độ bị suy giảm: ax(n-kT)

(3): Khối echo: là khối tổng hợp giữa khối (1) và khối (2): y(n)

(4): Khối xử lý: dùng giải thuật LMS để triệt tín hiệu trễ

(5): Tín hiệu sau khi qua xử lý là gần giống với tín hiệu gốc x(n)

3.2.1. Lưu đồ giải thuật triệt tiếng vọng

Hình 3-11: Lưu đồ giải thuật triệt tiếng vọng

Chương 3: Ứng dụng của bộ lọc thích nghi

Page 37: báo cáo đồ án

d(n)

e(n) y(n)-

Tín hiệu ngõ ra

+

Tín hiệu ngõ vào

Bộ lọc thích nghi

Room B

Tiếng vọng

Đồ án môn học 2 25

3.3. S d ng l c thích nghi đ tri t ti ng v ng.ử ụ ọ ể ệ ế ọ

Hình 3-12: Bộ lọc thích nghi trong triệt tiếng vọng

Tín hiệu cộng tiếng vọng d(n) được đưa vào bộ lọc thích nghi tạo ra một bản sao có độ

trễ k chu kỳ ở ngõ ra y(n). Ngõ ra của bộ lọc thích nghi được tính bằng công thức:

y (n )=∑k=0

N−1

wk . x (n−k )

Tín hiệu sai số e(n) được tính như sau:

e (n )=d (n )− y (n)

Cập nhật trọng số của bộ lọc

w k (n+1 )=wk (n )+μ . e (n ) . xk (n ) với0 ≤ k≤ N−1

Trong đó, µ chính là thông số bước quyết định tốc độ hội tụ của thuật toán LMS.

Thông số N là tống số mẫu của tín hiệu và n là mẫu tại thời

3.3.1. Lưu đồ giải thuật triệt tiếng vọng dùng thuật toán LMS

Chương 3: Ứng dụng của bộ lọc thích nghi

Page 38: báo cáo đồ án

Đồ án môn học 2 26

Chương 3: Ứng dụng của bộ lọc thích nghi

Begin

Đọc tham số µ, iterations,

khởi tạo w (0) , x (0)

Đọc tín hiệu ngõ vào, tín hiệu

x (n) , tín hiệu d (n)

n=1

Tính toán ngõ ra bộ lọc y (n)

y (n )=wT x (n)

Ước lượng sai số e (n)

e (n )=d (n )− y (n)

Cập nhật trọng số nhánh

w (n+1 )=w (n )+2 μe (n ) x(n)

n=iterations?

Kết thúc

n=1

Hình 3-13: Lưu đồ giải thuật triệt tiếng vọng dùng thuật toán LMS

Page 39: báo cáo đồ án

Đồ án môn học 2 27

3.4. Một số yếu tố ảnh hưởng đến chất lượng triệt tiếng vọng

Có một số yếu tố khác nhau ảnh hưởng đến hiệu suất chất lượng bộ lọc triệt tiếng vọng

như cấu trúc bộ lọc, thuật toán, tốc độ hội tụ…

Tốc độ hội tụ: Tỷ lệ hội tụ cần nhanh để ước tính bộ lọc mong muốn. Tốc độ hội tụ

giảm làm hệ thống không ổn định.

Bộ lọc IRR và FIR là cấu trúc cơ bản để thiết kế bộ lọc triệt tiếng vọng. Bộ lọc FIR

được coi là tốt hơn để thực hiện vì sự ổn định và khả năng tính toán tốt hơn.

Để đánh giá chất lượng của thuật toán triệt tiếng vọng người ta sử dụng thông số ERL

(echo return loss) và ERLE (echo return loss enhancement) để đánh giá hiệu suất.

ERL: là tỉ số giữa công suất của tín hiệu gửi đến loa và công suất của tiếng vọng trở lại

của echo, được đo bằng dB.

ERL=10 log10( Px

Pd)=10 log10( E[ x2 (n )]

E [d2 (n )])ERLE: được xác định bởi tỉ số giữa công suất tín hiệu gửi đi và công suất tín hiệu lỗi

còn lại ngay sau khi triệt tiếng vọng, đơn vị tính dB.

ERLE=10 log10( Pd

Pe)=10 log10( E[d2 (n )]

E [e2 (n )] )Trong thực tế, một mạch triệt tiếng vọng tốt có ERLE trong khoảng từ 30dB-40dB được coi là lý tưởng.

KẾT LUẬN:

Chương 3: Ứng dụng của bộ lọc thích nghi

Page 40: báo cáo đồ án

Đồ án môn học 2 28

CHƯƠNG 4. MÔ PHỎNG

4.1. Nguồn âm thanh sử dụng trong chương trình

Để thực hiện mô phỏng ta cần sử dụng nguồn âm thanh sạch, chưa bị biến đổi.

Nguồn âm thanh được sử dụng trong chương trình mô phỏng có định dạng là

WAV. WAV là dạng file âm thanh không nén dựa trên định dạng PCM được lấy mẫu

với tần số 44.1 kHz (44100 lần/giây), 16 bit (tương đương với chất lượng CD). WAV

dạng này thường được thu âm thanh (bài hát, diễn văn…) theo dạng thô và sau đó được

xử lý bằng các thiết bị phòng thu hoặc phần mềm chuyên biệt để xuất ra các dạng file

chiếm dung lượng ít hơn.

4.2. Phần mềm matlab

MATLAB (MATrix LABoratory) là một môi trường tính toán số và lập trình,

được thiết kế bởi công ty MathWorks. MATLAB cho phép tính toán số với ma trận,

vẽ đồ thị hàm số hay biểu đồ thông tin, thực hiện thuật toán, tạo các giao diện người

dùng và liên kết với những chương trình máy tính viết trên nhiều ngôn ngữ lập

trình khác. MATLAB giúp đơn giản hóa việc giải quyết các bài toán tính toán kĩ thuật

so với các ngôn ngữ lập trình truyền thống như C, C++, và Fortran.

MATLAB được sử dụng trong nhiều lĩnh vực, bao gồm xử lý tín hiệu và ảnh,

truyền thông, thiết kế điều khiển tự động, đo lường kiểm tra, phân tích mô hình tài

chính, hay tính toán sinh học. Với hàng triệu kĩ sư và nhà khoa học làm việc trong môi

trường công nghiệp cũng như ở môi trường hàn lâm, MATLAB là ngôn ngữ của tính

toán khoa học. 

4.3. Nghiên cứu giải thuật LMS trong matlab

Các hàm sử dụng trong chương trình

1. Zeros(n,m): Hàm tạo ma trận n*m hàng cột giá trị 0.

2. Hàm randn(n,m): Hàm tạo ma trận n*m hàng cột các giá trị có phân phối chuẩn

Chương 4: Mô phỏng

Page 41: báo cáo đồ án

Đồ án môn học 2 29

o Định nghĩa: Phân phối chuẩn còn gọi là phân phối Gauss, là một phân

phối xác suất cực kì quan trọng trong nhiều lĩnh vực. Nó là họ phân phối

có dạng tổng quát giống nhau, chỉ khác nhau tham số giá trị trung bình μ

và phương sai σ 2

o Phân phối chuẩn hóa là phân phối chuẩn với giá trị trung bình vằng 0 và

phương sai bằng 1. Phân phối chuẩn còn được gọi là đường cong chuông

(bell curve) vì đồ thị hàm mật độ xác suất có dạng chuông,

Hình 4-14: Đồ thị hàm xác suất có dạng chuông

3. Hàm length(x): trả về giá trị độ dài của chuỗi x

4. Hàm figure(): tạo một cửa sổ đồ họa

5. Hàm plot(x): tạo đồ thị hai chiều các giá trị của x.

6. Hàm norm(X): trả về giá trị là module của vector X

7. Hàm wavread(‘file_name’): trả về giá trị là ma trận 1 hàng n cột các giá trị mẫu

của file âm thanh

8.

4.4. Giải thuật lọc thích nghi sử dụng thuật toán LMS trong matlab

Thực hiện việc chuyển đổi các bước từ thuật toán sang các câu lệnh trong phần mềm

matlab.

Chương 4: Mô phỏng

Page 42: báo cáo đồ án

Đồ án môn học 2 30

Bảng 4-1: Tóm lược thuật toán LMS

Thuật toán LMS

Khởi tạo các tham số ban

đầu

Tham số bước: 0<µ<1

Chiều dài bộ lọc: L

Ngõ vào: xL,1 = [0,0,…,0]

Vector trọng số bộ lọc: wL,1 = [0,0,…,0]T

Với các giá trị thực tại mỗi thời điểm i = 0,1,2,3…

Ngõ ra y(n) = wT(n)x(n)

Sai số e(n) = d(n) – y(n)

Cập nhật trọng số bộ lọc w(n+1) = w(n) + 2µx(n)e(n)

Bảng 4-2: Câu lệnh trên MATLAB của thuật toán LMS

Câu lệnh trên MATLAB

Khởi tạo các tham số ban

đầu

mi = 0.0019;

X=zeros(L,1);

L=length(Wo);

W=zeros(L,1);

Y = zeros(I,1);

E = zeros(I,1);

Với các giá trị thực tại mỗi thời điểm i = 0,1,2,3…

Ngõ rangora=(W'*X);

Y(i)=(Y(i)+ngora);

Sai sốe=(near_end(i)+n(i)-ngora);

E(i)=E(i)+e;

Cập nhật trọng số bộ lọc W=(W+(2*mi*e*X));

4.4.1. Đọc tín hiệu ngõ vào

Chương 4: Mô phỏng

near_end = wavread('drw8Kplus400Hz.wav');far_end = wavread('drw8Kplus400Hz1.wav');

Page 43: báo cáo đồ án

Đồ án môn học 2 31

Hàm wavread dùng để lấy thông tin từ file âm thanh có đuôi là .WAV. Tín hiệu là

một ma trận 1 hàng và n cột các giá trị của thông tin có trong file âm thanh.

4.4.2. Khởi tạo các ma trận có giá trị ban đầu

Các ma trận ban đầu có I hàng và 1 cột giá trị là 0

4.4.3. Khởi tạo bộ lọc

4.4.4. Giải thuật lọc thích nghi LMS

Chương 4: Mô phỏng

micro = zeros(I,1);MSE = zeros(I,1);Y = zeros(I,1);ERLE = zeros(I,1);E = zeros(I,1);MSEmin = zeros(I,1);

%tao bo loc 1000 trong so Wo = randn(1000,1);%chieu dai cua bo loc L=length(Wo);% order of the plant/system N=L-1;%tao bo loc X=zeros(L,1); W=zeros(L,1);

for i=1:I,X=[micro(i)X(1:N)];%ngora ngora=(W'*X); Y(i)=(Y(i)+ngora);%tin hieu vi sai e=(near_end(i)+n(i)-ngora); E(i)=E(i)+e;%cap nhat trong so bo loc W=(W+(2*mi*e*X));% accummulation of MSEMSE(i)=norm(MSE(i)+(e^2));% accummulation of MSEMSEmin(i)=norm(MSEmin(i)+((n(i))^2));end

Page 44: báo cáo đồ án

Đồ án môn học 2 32

4.5. Kết quả mô phỏng

Chương trình sử dụng file âm thanh WAV lấy mẫu 8000Hz, gồm 44367 mẫu. Tín hiệu echo bị suy giảm so với tín hiệu mong muốn. Bộ lọc có chiều dài 1000.

Hình 4-15: Kết quả mô phỏng thuật toán LMS

Chương 4: Mô phỏng

Page 45: báo cáo đồ án

Đồ án môn học 2 33

Hình 4-16: Tỉ số công suất tín hiệu gửi đi trên nhiễu

4.6. Nhận xét kết quả

4.6.1. Biểu đồ tín hiệu

Tín hiệu bị echo sai khác rất rõ ràng so với tín hiệu mong muốn. Phần tín hiệu

echo phản xạ lại có biên độ tương đối so với tín hiệu ban đầu.

Tín hiệu ngõ ra mặc dù còn tồn tại những sai số và echo nhưng nhìn chung khá

giống với tín hiệu mong muốn.

Tỉ số công suất tín hiệu gửi đi trên tín hiệu nhiễu đạt khoảng 20-30dB. Một số

bằng 0dB nhưng nhìn chung là ổn

Chương 4: Mô phỏng

Page 46: báo cáo đồ án

Đồ án môn học 2 34

4.6.2. Lắng nghe trực tiếp các tín hiệu.

Tín hiệu mong muốn không bị tiếng vang. Các âm thanh rất rõ ràng.

Tín hiệu bị echo có tiếng vang rất lớn, tỉ số công suất tiếng vang trên tín hiệu ban

đầu lớn.

Tín hiệu ngõ ra có tiếng vang bị triệt đi khá nhiều nhưng vẫn tồn tại những vị trí

tiếng vang rất lớn.

4.6.3. Nhận xét:

Thuật toán LMS ứng dụng trong triệt tiếng vọng khá tốt. Tốc độ hội tụ của thuật

toán là khá chậm nên ở một số vị trí tiếng vang không bị triệt hết.

Chương 4: Mô phỏng

Page 47: báo cáo đồ án

Đồ án môn học 2 35

CHƯƠNG 5. KẾT LUẬN

5.1. Kết quả đạt được

Sau quá trình thực hiện nghiên cứu đề tài, người viết thu được một số kết quả như

sau.

Tìm hiểu lý thuyết bộ lọc số, lọc thích nghi, echo.

Tìm hiểu thuật toán thích nghi, nguyên tắc hoạt động và cách thức cập nhật trọng

số bộ lọc.

Mô phỏng các hệ thống triệt tiếng vọng – AEC (Acoustic Echo Cancellation) sử

dụng thuật toán LMS trên Matlab đạt kết quả tốt.

Dựa vào kết quả mô phỏng đánh giá được ưu và nhược điểm của bộ lọc thích

nghi so với các bộ lọc thông thường.

5.2. Các tồn tại và hướng phát triển của đề tài

5.2.1. Những mặt còn tồn tại của đề tài

Việc thực hiện mô phỏng trên Matlab chỉ dừng lại ở mức độ tìm hiểu, đánh giá,

chưa phù hợp với các ứng dụng thực tế.

Kiến thức của người viết còn hạn chế nên không tránh được những sai sót trong

quá trình thực hiện đề tài.

5.2.2. Hướng phát triển

Tiếp tục tìm hiểu, nghiên cứu chuyên sâu hơn các thuật toán phức tạp hơp để

hoàn thiện mô hình triệt tiếng vọng hiệu quả.

Phát triển sang các Kit xử lý thực tế.

Chương 5: Kết luận

Page 48: báo cáo đồ án

Đồ án môn học 2 36

PHẦN C: PHỤ LỤC VÀ TÀI

LIỆU THAM KHẢO

Page 49: báo cáo đồ án

Đồ án môn học 2 37

Phụ lục

Tài liệu tham khảo

[1] “Adaptive Digital Filters”, Branko Kovacevíc, Zoran Banjac, Milan Milosavlijevíc,

University of Belgrade, 2013.

[2] “Adaptive filters: theory and applications”, John Wiley and Sons Ltd.., Chichester,

1998.

[3] “Lọc thích nghi và ứng dụng trên Kit TMS320C6713”, Võ Phong Phú, Đỗ Minh

Toán, Đại học Sư phạm và kỹ thuật thành phố Hồ Chí Minh, 2014

[4] “Thực hiện bộ lọc FIR thích nghi dùng thuật toán LMS”, Nguyễn Anh Cường, ĐH

Công Nghệ - ĐHQG Hà Nội, 2008