THỰC HIỆN BỘ LỌC THÍCH NGHI THEO THUẬT TOÁN LMS TRÊN FPGA FPGA IMPLEMENTATION OF LMS ADAPTIVE FILTER SVTH: Nguyễn Hữu Anh Khoa, Bùi Phúc Chính Lớp 08DT2, Khoa Điện tử Viễn thông, Trườn
Trang 1THỰC HIỆN BỘ LỌC THÍCH NGHI THEO THUẬT TOÁN LMS TRÊN
FPGA
FPGA IMPLEMENTATION OF LMS ADAPTIVE FILTER
SVTH: Nguyễn Hữu Anh Khoa, Bùi Phúc Chính
Lớp 08DT2, Khoa Điện tử Viễn thông, Trường Đại học Bách Khoa, Đại học Đà Nẵng
GVHD: Phạm Xuân Trung
Khoa Điện tử Viễn thông, Trường Đại học Bách Khoa, Đại học Đà Nẵng
TÓM TẮT
Bộ lọc thích nghi là một phần quan trọng trong hệ tống xử lý tín hiệu số, có rất nhiều ứng dụng trong thực tế như loại bỏ nhiễu thích nghi, cân bằng kênh, nhận dạng… Vì vậy việc thực hiện phần cứng của bộ lọc thích nghi là một phần quan trọng trong xử lý tín hiệu số Trong việc thực hiện
bộ lọc thích nghi thì cấu trúc FIR thích hợp hơn cấu trúc IIR Tuy nhiên, việc thực hiện bộ lọc thích nghi dựa trên cấu trúc FIR đòi hỏi phải có một thuật toán thích hợp để cập nhật các hệ số của bộ lọc Thuật toán được thực hiện trong báo cáo này là Least Mean Square (LMS) đơn giản và có hiệu quả trong nhiều môi trường khác nhau Hơn nữa, khi so sánh với các thuật toán khác, thì bộ lọc thích nghi sử dụng thuật toán LMS thực hiện tốt hơn ở chỗ số lần lặp lại để đạt sự hội tụ
Từ khóa: bộ lọc thích nghi, thuật toán LMS, FPGA, FIR, thông số bước
ABSTRACT
Adaptive filters has an important role in Digital Signal Processing System They have many aplication in DSP field, e.g noise reduction channel blance, recognition… The hardware implement
of adaptive filtes becomes a very important field in DSP world In general FIR structure has been used more successfully than IIR structure in adaptive filters However, the harware implement of FIR fiter needs a appropriate algorithm In this paper, the Least Mean Square (LMS) which is known for simplification and good performan in different environments Moreover, when compared with other algorithms, the adaptive filter using LMS algorithm has better performance in the times for convergence
Key words: Adaptive Filter, LMS, FPGA, FIR, step size
1 Đặt vấn đề
Thuật ngữ lọc dùng để chỉ tất cả các hệ thống có khả năng khôi phục lại dạng của các thành phần tần số của tín hiệu lối vào để tạo ra tín hiệu lối ra thỏa mãn các yêu cầu mong muốn Với bộ lọc FIR, thì hệ số của bộ lọc luôn không đổi Do đó, nếu có sự thay đổi đột ngột của một hoặc một vài yếu tố đầu vào(như tín hiệu nhiễu chẳng hạn) thì bộ lọc sẽ không còn được tối ưu nữa Hay nói cách khác, ta sẽ không thu được tín hiệu như mong muốn
Để khắc phục nhược điểm trên, người ta đưa ra một bộ lọc FIR có cấu trúc mới, mà trong đó, các hệ số của bộ lọc có thể thay đổi được để có thể thích ứng với sự thay đổi bất ngờ của các yếu tố lối vào Đó là mạch lọc FIR thích nghi Một trong những thuật toán để thực hiện bộ lọc là thuật toán LMS [1] được áp áp dụng trong xử lý số tín hiệu thích nghi vì
Trang 2dễ thực hiện
Việc thực hiện phần cứng cho bộ lọc thích nghi cũng là một vấn đề đầy thử thách trong việc tối ưu hóa các yếu tố như tốc độ xử lý…Với sự phát triển của công nghệ, FPGA [2] chứa nhiều tài nguyên hỗ trợ DSP Những tài nguyên này được tích hợp vào FPGA với hiệu suất được tối ưu và công suất tiêu thụ thấp [3]
Trong báo cáo này chúng tôi thực hiện bộ lọc LMS trên FPGA và đánh giá hoạt động của bộ lọc chúng tôi thiết kế
2 Thuật toán LMS
Thuật toán LMS là thuật toán thích nghi đơn giản và hiệu quả để thực hiện các bộ lọc thích nghi Nó không yêu cầu các hàm tính các phép nhân chập hay ma trận mà nó sử dụng trung bình bình phương lỗi (MME) Bộ lọc thích nghi LMS sử dụng các thông số kích thước bươc, tín hiệu vào, sự khác biệt giữa tín hiệu mong muốn và tín hiệu ra của bộ lọc để cập nhật các hệ số của bộ lọc [4]
Hình 1: Bộ lọc thích nghi LMS mô phỏng bằng Matlab
2.1 Phương trình LMS
Tín hiệu lối ra áp dụng thuật toán LMS được viết:
y[n] là tín hiệu đầu ra, x[n] là tín hiệu vào và wk[n] là các táp trọng số của bộ lọc
Trong đó táp trọng số w0[n]… ,wN-1[n] được chọn lựa như thế nào để sai số:
có giá trị cực tiểu với d[n] là đáp ứng mong muốn chính là tín hiệu vào của bộ lọc được làm trễ [1]
Và phương trình để tìm các trọng số của bộ lọc thích nghi theo thuật toán LMS
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
0 50 100 150 200 250 300 350 400 -2
-1 0 1 2
Tin Hieu Dau Vao (Tin hieu + Nhieu)
0 50 100 150 200 250 300 350 400 -2
-1 0 1 2
Tin Hieu Dau Ra Cua Bo Loc
Trang 3tương quan và vecto tương quan chéo vì thế không cần các phép tính ma trận
2.2 Điều kiện biên hội tụ
Tốc độ hội tụ của thuật toán LMS phụ thuộc vào thông số µ Nếu µ 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 hội tụ hệ thống sẽ trở nên bất ổn, µ phải được chọn sao cho
Với λmax là trị riêng cực đại của ma trận tự tương quan của x[n]
2.3 Lựa chọn các thông số thích nghi
Việc lựa chon các thông số bước μ và bậc của bộ lọc xác định hiếu suất của bộ lọc
sử dụng thuật toán LMS Khi các táp của bộ lọc được tăng lên thì hiệu suất của bộ lọc cũng được cải thiện nhưng mỗi táp lại yêu cầu nhiều hơn hai bộ nhân và hai bộ cộng như trong hình 3 Điều này làm tăng phần cứng và và làm tăng độ trễ của bộ lọc Vì vậy cần phải cân bằng giữa hiệu suất và phần cứng cần để thực hiện bộ lọc Không có phương trình toán học nào có thể mô tả chính xác giá trị μ, vì vậy các hệ số kinh nghiệm và các thuật toán để đạt được hệ số μ mong muốn [5]
3 Cấu trúc bộ lọc LMS
Hình 2: Cấu trúc Direct form I của bộ lọc thích nghi
Dựa trên cấu trúc Direct form I ở hình 2 và phương trình (1) (2) (3) Cấu trúc phần cứng để thực hiện trên FPGA của bộ lọc thích nghi dùng thuật toán LMS với N táp trọng số được thực hiện như hình 3 Mỗi táp trọng số của bộ lọc thích nghi thuật toán LMS cần ít nhất
2 bộ cộng, 2 bộ nhân và 2 bộ delay
Hình 3 : Sơ đồ phần cứng của bộ lọc thích nghi LMS
Trang 4
4 Thực hiện bộ lọc FIR theo thuật toán LMS trên FPGA
4.1 Xử lý số dương và số âm
Trong FPGA, dữ liệu như tín hiệu đầu vào, hệ số bộ lọc, tín hiệu mong muốn… có thể là số âm hoặc dương Vì vậy, cần phải dùng kiểu số có dấu để biểu diễn tất cả các dữ liệu trong FPGA Kiểu dữ liệu có dấu phải được biểu diễn dưới dạng bù 2 với bit MSB là bit dấu MSB bằng 0 biểu diễn số dương và 1 biểu diễn số âm
4.2 Biểu diễn kiểu dữ liệu dấu chấm tĩnh
Xử lý kiểu dữ liệu dấu chấm tĩnh cũng nhanh như xử lý kiểu dữ liệu số nguyên Kiểu dấu chấm tĩnh dùng ít tài nguyên trong FPGA hơn dấu chấm động để biểu diễn số thực Nhưng kiểu dữ liệu dấu chấm tĩnh chỉ biểu diễn các số đủ lớn để tránh sai số quá lớn Tuy nhiên, trong các ứng dụng DSP thì việc sử dụng kiểu dữ liệu dấu chấm tĩnh là tương đối tốt Bởi vì nó các phép toán của kiểu dữ liệu dấu chấm tĩnh được xây dựng trên số nguyên nên kiểu dữ liệu này sẽ rất hiệu quả nếu các dữ liệu không biến đổi lớn về biên độ
Việc chọn độ dài cho kiểu dữ liệu rất quan trọng Nếu quá ngắn thì sẽ gây ra sai số lớn dẫn đến hệ thống sẽ bất ổn định và hiệu suất kém Nếu quá dài thì sẽ làm tăng độ phức tạp phần cứng giảm tốc độ của bộ lọc Vì vậy việc cân bằng các yếu tố này là cần thiết [6]
4.3 Kết quả mô phỏng
Kết quả mô phỏng được thực hiện với bộ lọc LMS thích nghi 8 táp và 16 táp với hệ số
μ = 0.00078 và μ = 0.0625 trên ModelSim 10.2 của Altera
So sánh hai hình ở hình 4, với màu xanh đỏ là tín hiệu y[n], màu vàng là tín hiệu chuẩn, màu xanh lá cây là tín hiệu vào có nhiễu, thì bộ lọc 16 táp hội tụ chậm hơn 8 táp
Hình 4 : So sánh kết quả mô phỏng bộ lọc thích nghi LMS 8 táp và 16 táp trọng số, μ = 0.00078
Hình 5 : Kết quả mô phỏng bộ lọc thích nghi LMS 16 táp với và μ = 0.0625
Điều này là do phần cứng thực hiện bộ lọc thích nghi LMS 16 táp trọng số nhiều hơn so với
bộ lọc 8 táp trọng số
Trang 5vậy việc chọn thông số bước thích hợp là rất quan trọng
5 Kết luận và hướng phát triển
Đề tài nhằm mục đích là xây dựng bộ lọc thích nghi FIR theo thuật toán LMS Kiến trúc của bộ lọc được xây dựng trên kiến trúc Direct form I Việc thực hiện phần bộ lọc thích nghi LMS là đơn giản Qua các mô phỏng thì có thể thấy bộ lọc thích nghi sử dụng thuật toán LMS đáp ứng nhanh và ổn định
TÀI LIỆU THAM KHẢO
[1] S Haykin, “Adaptive Filter Theory”, Fourth Edition, Prentice Hall, Upper Saddle River, N.J., 2002
[2] W.Wolf, FPGA-Based System Design Englewood Cliffs, Prentice- Hall, 2004
[3] Cliffs, Prentice- Hall, 2004 Shanthala S, S Y Kulkarni “European Journal of Scientific Research, ISSN 1450-216X Vol.31 No.1 (2009), pp 19-28
[4] Reid M Hewlitt, “Canonical Signed Digit Representation for Fir Digital Filters”, IEEE Workshop on Signal Processing Systems, 2000, pp.416-426
[5] Zhang Jingjing, “Variable Step Size LMS Algorithm”, International Journal of Future Computer and Communication, Vol 1, No 4, December 2012
[6] Roger Woods, John McAllister, Ying Yi “FPGA-based Implementation of Signal Processing Systems” 2008 John Wiley & Sons, Ltd, 2008