TÍNH CẤP THIẾT CỦA ĐỀ TÀI Bộ lọc Notch bộ lọc chắn dải là một trong những giải pháp để lọc nhiễu tuần hoàn trong các ứng dụng y sinh: đo điện tim… Từ bộ lọc sơ khởi ban đầu để tăng
Trang 1TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
CÔNG TRÌNH NGHIÊN CỨU KHOA HỌC CẤP TRƯỜNG
NGHIÊN CỨU ỨNG DỤNG THUẬT TOÁN PSO
ĐỂ THIẾT KẾ BỘ LỌC NOTCH THÍCH NGHI
MÃ SỐ: T2014-12
S 0 9
S KC 0 0 5 4 8 7
Trang 2A
GIỚI THIỆU
Trang 3I TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Bộ lọc Notch (bộ lọc chắn dải) là một trong những giải pháp để lọc nhiễu tuần hoàn trong các ứng dụng y sinh: đo điện tim… Từ bộ lọc sơ khởi ban đầu để tăng khả năng lọc nhiều loại nhiễu có tần số khác nhau người ta tích hợp tính thích nghi vào bộ lọc Bộ lọc Notch thích nghi cổ điển thường dùng thuật toán LMS (Least Mean Square) để thiết kế Tuy nhiên tốc độ hội tụ của thuật toán này chậm có thể không đáp ứng kịp với sự thay đổi của nhiễu và khả năng của
bộ lọc phụ thuộc rất nhiều vào bước thích nghi (stepsize) Thuật toán PSO (Practicle Swarm Optimization) là một dạng của thuật toán tiến hoá quần thể được ứng dụng giải bài toán tối ưu Việc ứng dụng thuật toán PSO vào việc thiết
kế bộ lọc sẽ làm tăng đáp ứng và khả năng lọc nhiễu cho bộ lọc
II MỤC TIÊU NGHIÊN CỨU
Ứng dụng thuật toán PSO để thiết kế tăng chất lượng của bộ lọc Notch
III PHƯƠNG PHÁP NGHIÊN CỨU
- Nghiên cứu lý thuyết
- Xây dựng mô hình mô phỏng
IV PHẠM VI NGHIÊN CỨU
- Nghiên cứu thiết kế bộ lọc dùng giải thuậtt PSO
- Mô phỏng bằng phần mềm Matlab
V NỘI DUNG NGHIÊN CÚU
- Nghiên cứu về bộ lọc Notch
- Nghiên giải thuật PSO
- Xây dựng mô hình mô phỏng
Trang 4B
NỘI DUNG
Trang 5GIỚI THIỆU TỔNG QUAN TÌNH HÌNH NGHIÊN CỨU TRÊN THẾ GIỚI
Trang 6Bộ lọc Notch, triệt tín hiệu nhiễu tại tần số mong muốn, thường được ứng dụng
để triệt tín hiệu nhiễu 50Hz của tín hiệu điện tim, điện não Để tăng tính thích nghi, triệt được nhiễu tại những tần số khác, thuật toán thích nghi được sử dụng Điển hình là thuật toán trung bình bình phương tối thiểu (LMS – Least Mean Square) Ứng dụng thuật toán LMS vào bài toán lọc nhiễu đươc Bernard Widrow công bố rất sớm từ năm 1975 trên tạp chí IEEE trong bài báo “Adaptive Noise Canceling Principles and Applications” Ngày nay, những nghiên cứu của ông vẫn được áp dụng rộng rãi trong những ứng dụng y sinh: điện não, điện tâm đồ
Thuật toán này với ưu điểm đơn giản, nhưng tốc độ hội tụ không cao, và phụ thuộc nhiều vào việc chọn bước thích nghi Chọn không đúng dẫn đến bài toán khó hội tụ, tốc độ hội tụ chậm, khả năng triệt nhiễu thấp
Thuật toán PSO (Particles Swarm Optization - giải thuật bầy đàn) được nghiên cứu và phát triển bởi Russell Eberhard và James Kennedy vào năm 1995 dựa vào
mô phỏng hoạt động tìm kiếm thức ăn của bầy chim trong thức tế Các cá thể tìm kiếm theo ngẫu nhiên, sau đó sẽ dùng tín hiệu để báo cho các cá thể còn lại địa điểm tìm được tốt nhất, cả đàn sẽ tập trung tìm kiếm ở địa điểm mới để tìm ra nơi tốt nhất
Thuật toán PSO là một thuật toán mạnh, đơn giản, không phụ thuộc nhiều vào việc lựa chọn thông số, không gian tìm kiếm rộng, tính hội tụ rất cao.Ứng dụng cho
bộ lọc sẽ tăng tốc độ hội tụ, cải thiện khả năng triệt nhiễu và giảm yếu tố phụ thuộc của bài toán vào bước thích nghi
Trên thế giới thuật toàn PSO áp dụng được thiết kế mạch lọc notch thích nghi đang và đã được nghiên cứu trong những năm gần đây và được đăng tải trên các tạp chí khoa học uy tín “Research and application of the particle swarm optimization
in adaptive notch filter design” Shi Haixia tạp chí IEEE 2009 “Application of
Quantum Particle Swarm Optimization in Adaptive Notch Filter Design” Zhang Jie
tạp chí Scientific.Net 2012 Giải thuật PSO còn được ứng dụng rộng rãi cho các bộ
lọc khác “Analysis The IIR Filter Design Using Praticle Swarm Optimazation
Method” Nehan Gupta tạp chí USRRS 2013
Tại Việt Nam, thông qua quá trình tra cứu trên internet bộ lọc Notch thích nghi được nghiên cứu với các giải pháp như cải tiến bước thích nghi của thuật toán LMS
Trang 7nhƣ luận án tiến sĩ, tác giả Hoàng Mạnh Hà Viện công nghệ thông tin năm 2011 đề
tài “Các phương pháp thích nghi trong lọc nhiễu tín hiệu điện tim” Pham Tran Nhu, Hoang Manh Ha, “Adjustment in central frequency of Adaptive Notch Filter
base on Wavelet Transform in frequency Domain” Proceeding of the Second
International Conference on Communications and Electronics (HUTICCE), Hoian, Vietnam, June 2008, nghiên cứu bộ lọc notch thích nghi dùng biến đổi Wavelet
Trang 8CHƯƠNG I:
BỘ LỌC NOTCH THÍCH NGHI
Trang 9I TỔNG QUAN:
1 Bộ lọc Notch cơ bản
Bộ lọc Notch, bộ lọc triệt tần, với thiết kế triệt một tần số, tần số đó chính là tần
số nhiễu Bộ lọc thường được ứng dụng triệt nhiễu tại tần số 50Hz trong tín hiệu y sinh Đáp ứng tần số của bộ lọc cơ bản được thể hiện ở hình vẽ
số thấp (lowpass notch filter), ngược lại ta có high pass notch filter khi z < 0, khi
z = 0 ta có mạch lọc notch tiêu chuẩn (standard notch filter) Các dạng đáp ứng tần số của mạch lọc notch được trình bày ở hình sau
Trong phạm vi bài nghiên cứu này, đo không có yêu cầu đặc biệt nên dạng mạch lọc notch tiêu chuẩn được sửa dụng
f triệt
Trang 10Hình 1.2: Các dạng mạch lọc Notch
2 Bộ lọc thích nghi
Thuật toán thích nghi là một thuật toán được sử dụng rộng rãi trong lĩnh vực tự động, các bộ điều khiển, lọc nhiễu Thuật toán xây dựng cho đối tượng tính thích nghi trước những thay đổi thông số trong phạm vi nhất định của bài toán
Hình 1.3: Mô hình tổng quát của bộ lọc thích nghi
Trong đó:
Xk: tính hiệu đầu vào tại thời điểm k
Xk= [xk xk-1 …… xk-L] T
Trang 11dk tín hiệu mong muốn đạt đến
k sai số giữa tín hiệu mong muốn dk và tín hiệu đầu ra yk
Công thức cập nhật ma trận trọng số được chứng minh như sau:
Bình phương hai vế, lấy kỳ vọng
Trang 13Hình 1.5: Mặt elip đồng tâm
Qui tắc cập nhật trọng số sao cho trọng số ngày càng tiến tới giá trị W*, nghĩa là sai số ngày càng giảm dần đạt giá trị min Để được như vậy thì qui luật cập nhật phải ngược chiều với gradient và tỷ lệ với một giá trị µ chính là bước thích nghi
Trang 143 Mô hình bộ lọc Bernard Widrow
Hình 1.6: Mô hình lọc nhiễu thích nghi Bernard Widrow
Trong đó:
s(t): tín hiệu chưa bị nhiễu
n0(t): nhiễu cộng ảnh hưởng đến tín hiệu s(t) + n0(t): tín hiệu lẫn nhiễu thu được s(n) + n0(n): là tín hiệu lẫn nhiễu đã lấy mẫu
x1, k: là tín hiệu nhiễu thu được đầu vào tham chiếu (reference input) sau khi lấy mẫu tại thời điểm k
x2,k: là trễ 90o của x1,k
x1,k; x2,k: được mô tả như sau:
x1,k= Ccos(k0 + ) (1.13)
x2,k= Csin(k0 + ) (1.14) y(n)= x1,kW1,k + x2,kW2,k (1.15) e(n)= s(n) + n0(n) – y(n) (1.16)
W1,k và W2,k: là hai thông số của bộ lọc
-
x 1k
y(n)
Trang 15Bernard Widrow là tác giả đầu tiên đưa ra mô hình bộ lọc nhiễu thích nghi Notch Mô hình của ông được xem là tiền đề quan trọng và còn được sửa dụng rộng rãi cho tới ngày nay Mô hình với ưu điểm đơn giản và được xem là dạng mạch lọc thích nghi notch truyền thống
Thuật toán LMS điều chỉnh ma trận trọng số W sao cho có thể xấp xỉ gần đúng nhất với nhiễu n0(n) của tín hiệu từ tín hiệu nhiễu tham chiếu
Tín hiệu nhiễu tham chiếu có dạng hàm sin và cos Tín hiệu nhiễu tham chiếu x(n)= Ccos(k0 + ) chứa tần số tín hiệu nhiễu cần triệt 0 và góc pha ban đầu tham chiếu Yêu cầu là tín hiệu tham chiếu nhiễu không tương quan với tín hiệu gốc nhưng tương quan với tín hiệu nhiễu
Ngõ ra mạch lọc e(n) là lệch giữa tín hiệu kèm nhiễu s(n) + n0(n) và tín hiệu nhiễu đã xấp xỉ y(n), cũng chính là tín hiệu y sinh đã triệt nhiễu
Thuật toán LMS cập nhật ma trận trọng số được Widrow và Hoff đề xuất:
W1,k1 W1,k 2 kx1k
2,k 1 2,k 2 k 2k
W W x (1.17)
Với µ là giá trị bược thích nghi (stepsize)
Hàm truyền mạch lọc trên nếu hội tụ sẽ có biểu thức như sau:
Trang 16CHƯƠNG II:
GIẢI THUẬT TỐI ƯU BẦY ĐÀN
(PSO – PRACTICLE SWARM OPTIMIZATION)
Trang 17I GIỚI THIỆU
Phương pháp tối ưu bầy đàn, được giới thiệu vào năm 1995 tại một hội nghị của IEEE bởi James Kennedy và kỹ sư Russell C Eberhart, là một dạng của các thuật toán tiến hóa quần thể như thuật giải di truyền(Genetic algorithm (GA)), thuật toán đàn kiến(Ant colony algorithm) Điểm khác biệt của PSO so với GA là nó sử dụng
sự tương tác giữa các cá thể trong một quần thể để khám phá không gian tìm kiếm
PSO được xây dựng dựa trên việc mô hình hóa việc đàn chim bay đi tìm kiếm thức ăn nên nó được xếp vào các loại thuật toán có sử dụng trí tuệ bầy đàn
Thuật toán có nhiều ứng dụng trong các lĩnh vực cần giải quyết các bài toán tối
ưu hóa
Để hiểu rõ thuật toán PSO hãy xem một ví dụ đơn giản về quá trình tìm kiếm thức ăn của một đàn chim Không gian tìm kiếm thức ăn là toàn bộ không gian ba chiều Tại thời điểm bắt đầu tìm kiếm cả đàn bay theo một hướng ngẫu nhiên Tuy nhiên sau một thời gian tìm kiếm một số cá thể trong đàn bắt đầu tìm ra được nơi có chứa thức ăn Tùy theo số lượng thức ăn vừa tìm kiếm, mà cá thể gửi tín hiệu đến các các cá thể khác đang tìm kiếm ở vùng lân cận Tín hiệu này lan truyền trên toàn quần thể Dựa vào thông tin nhận được mỗi cá thể sẽ điều chỉnh hướng bay và vận tốc theo hướng về nơi có nhiều thức ăn nhất Cơ chế truyền tin như vậy thường được xem như là một kiểu hình của trí tuệ bầy đàn Cơ chế này giúp cả đàn chim tìm ra nơi có nhiều thức ăn nhất trên không gian tìm kiếm vô cùng rộng lớn
Như vậy đàn chim đã dùng trí tuệ, kiến thức và kinh nghiệm của cả đàn để nhanh chóng tìm ra nơi chứa thức ăn Thuật toán PSO sẽ ứng dụng quá trình phỏng sinh học (bioinspired) để xây dựng thuật toán tìm lời giải tối ưu cho bài toán và được gọi là thuật toán phỏng sinh học (bioinspired algorithms)
Trang 18II GIẢI THUẬT
Bài toán tối ưu của hàm số F được xét trong không gian n chiều Mỗi vị trí trong không gian là một điểm tọa độ n chiều Hàm mục tiêu F(fitness function) được xác định trong không gian n chiều và nhận giá trị thực Mục đích là tìm ra điểm cực tiểu của hàm F trong miền xác định nào đó Giả sử rằng số lượng thức ăn tại một vị trí tỉ
lệ nghịch với giá trị của hàm F tại vị trí đó Có nghĩa là ở một vị trí mà giá trị hàm F càng nhỏ thì số lượng thức ăn càng lớn Việc tìm vùng chứa thức ăn nhiều nhất tương tự như việc tìm ra vùng chứa điểm cực tiểu của hàm F trên không gian tìm kiếm
PSO được khởi tạo bằng một nhóm cá thể (nghiệm) ngẫu nhiên và sau đó tìm nghiệm tối ưu bằng cách cập nhật các thế hệ Trong mỗi thế hệ, mỗi cá thể được cập nhật theo hai giá trị tốt nhất Gía trị thứ nhất là nghiệm tốt nhất đạt được cho tới thời điểm hiện tại, gọi là Pbest Một nghiệm tối ưu khác mà cá thể này bám theo là nghiệm tối ưu toàn cục Gbest, đó là nghiệm tốt nhất mà cá thể lân cận cá thể này đạt được cho tới thời điểm hiện tại Nói cách khác, mỗi cá thể trong quần thể cập nhật
vị trí của nó theo vị trí tốt nhất của nó và của cá thể trong quần thể tính tới thời điểm hiện tại
Hình 2.1: Giải thuật PSO
w.v
i k
G
best(i)
p
best(i)
Trang 19Gbesti : Vị trí tốt nhất của cá thể trong quần thể
Vận tốc và vị trí của mỗi cá thể đƣợc tính nhƣ sau :
Trang 20Hình 2.2: Lưu đồ giải thuật PSO
Trang 21CHƯƠNG III:
ỨNG DỤNG GIẢI THUẬT PSO THIẾT KẾ BỘ LỌC NOTCH THÍCH NGHI
Trang 22Bộ lọc Notch thích nghi truyền thống có nhược điểm lớn là phụ thuộc nhiều vào bước thích nghi Khi chọn bước thích nghi không tốt sẽ ảnh hưởng đến tốc độ hội tụ
và khả năng triệt nhiễu Giải thuật PSO với không gian tìm kiếm rộng, sẽ tìm kiếm
ma trận trọng số W tối ưu để tối thiểu sai số của bộ lọc Lưu đồ giải thuật ứng dụng giải thuật PSO vào bộ lọc Notch thích nghi như sau:
Bước 1: khởi tạo PSO với số lượng cá thể n tùy chọn, số lần tìm kiếm
“bird-step” tùy chọn Giá trị (vị trí) của các cá thể là tùy ý “random” và khởi tạo vận tốc của các cá thể
Bước 2: Thực thi bộ lọc với thông số đã khởi tạo và tính sai số
Sai số được chọn là sai lệch giữa tín hiệu ngõ vào kèm nhiễu và ngõ ra của bộ lọc (xấp xỉ nhiễu)
Bước 3: cập nhật giá trị local-best-fitness (Pbest) và global-best-fitness(Gbest)
là min của các giá trị local-best-fitness
Trang 23Bước 5: kiểm tra điều kiện là tối thiểu sai số theo tiêu chuẩn IEA hoặc đủ số lần
tìm kiếm “bird-step” để kết thúc bộ lọc
Trang 24Kết quả mô phỏng với bộ lọc Notch thích nghi dùng thuật toán PSO, tần số triệt nhiễu f=50Hz
Tín hiệu gốc là tín hiệu điện tim đƣợc xây dựng dùng Matlab Tín hiệu nhiễu là tín hiệu sin, tần số 50Hz, biên độ 0.2V, góc pha ban đầu =
/4
Thông số: số cá thể 30, birdstep 50 (số lần tìm kiếm) Tần số lấy mẫu 1000
Mô phỏng trình bày kết quả các hình ảnh:
Tín hiệu gốc (điện tim) lẫn nhiễu
Đồ thị hàm fitness cho thấy quá trình học của thuật toán Kết quả tín hiệu sau lọc và tín hiệu gốc trên cùng đồ thị Sai số tín hiệu gốc và tín hiệu sau lọc
Phổ của tín hiệu gốc lẫn nhiễu và tín hiệu sau lọc để chứng minh tần
Trang 25Hình 3.2: Đồ thị hàm fitness quá trình học của thuật toán
Hình 3.3: Tín hiệu điện tim gốc và tín hiệu sau lọc nhiễu
Trang 26Hình 3.4: Sai số giữa tín hiệu điện tim gốc và tín hiệu sau lọc dùng PSO
Hình 3.5: Phổ của tín hiệu điện tim lẫn nhiễu và tín hiệu sau lọc dùng PSO
Phổ của nhiễu
Phổ của nhiễu đã đƣợc lọc sạch
Trang 27Nhận xét: kết quả lọc tốt, tốc độ hội tụ nhanh, sai số thấp Kết quả mô phỏng
phổ cho thấy tần số nhiễu 50Hz được triệt hoàn toàn Bộ lọc dùng phương pháp PSO này có khả năng triệt nhiễu yêu cầu trong trường hợp này là phổ nhiễu nằm ngoài vùng phổ của tín hiệu
Trang 28Kết quả mô phỏng với bộ lọc Notch thích nghi truyền thống dùng thuật toán LMS, tần số triệt nhiễu f=50Hz
Tín hiệu gốc là tín hiệu điện tim được xây dựng dùng Matlab Tín hiệu nhiễu là tín hiệu sin, tần số 50Hz, biên độ 0.2V, góc pha ban đầu =
/4
Mô phỏng trình bày kết quả các hình ảnh:
Kết quả tín hiệu sau lọc và tín hiệu gốc trên cùng đồ thị với bước thích nghi stepsize= 0.01
Sai số tín hiệu gốc và tín hiệu sau lọc với bước thích nghi stepsize= 0.01
Phổ của tín hiệu gốc lẫn nhiễu và tín hiệu sau lọc để chứng minh đã triệt nhiễu với bước thích nghi stepsize= 0.01
Sai số tín hiệu gốc và tín hiệu sau lọc với bước thích nghi stepsize= 0.1 và bước thích nghi stepsize= 0.01 để chứng minh kết quả của bộ lọc dùng thuật toán LMS phụ thuộc rất nhiều vào cách chọn bước thích nghi
Hình 3.6: Tín hiệu điện tim lẫn nhiễu tần số 50Hz
Trang 29Hình 3.7: Tín hiệu điện tim gốc và tín hiệu sau lọc dùng LMS với bước thích nghi 0.01
Hình 3.8: Sai số giữa tín hiệu điện tim gốc và tín hiệu sau lọc dùng LMS, bước
Trang 300 50 100 150 200 250 300 350 400 450 500 0
500 1000 1500 2000
PHO CUA TIN HIEU GOC + NHIEU
0 500 1000 1500 2000
PHO CUA TIN HIEU SAU LOC DUNG LMS
Hình 3.9: Phổ của tín hiệu gốc lẫn nhiễu và tín hiệu sau lọc dùng LMS
Hình 3.10: sai số của tín hiệu sau lọc và tín hiệu điện tim ban đầu với bước thích
nghi 0.01 và 0.1
0 200 400 600 800 1000 1200 1400 1600 1800 2000 -0.3
-0.2 -0.1 0 0.1 0.2 0.3 0.4 0.5
Phổ của tín hiệu
nhiễu
Phổ của tín hiệu nhiễu đã được
lọc sạch
Tín hiệu nhiễu
Tín hiệu nhiễu đã được triệt
Trang 31Nhận xét: thuật toán LMS triệt được nhiễu theo yêu cầu tại tần số 50Hz theo kết
quả phân tích phổ Tuy nhiện tốc độ hội tụ chậm, sai số còn lớn và chất lương bộ lọc phụ thuộc nhiều vào cách chọn bước thích nghi