Đồ án Nghiên cứu về bộ lọc thích nghi

MỤC LỤC LỜI NÓI ĐẦU . . 0 Chương 1: BỘ LỌC SỐ . 11 1.1. Hệ thống FIR . 12 1.2. Hệ thống IIR . 13 Chương 2: BỘ LỌC THÍCH NGHI . 17 2.1. Bộ lọc FIR thích nghi dạng trực tiếp . 17 2.1.1. Tiêu chuẩn lỗi trung bình bình phương tối thiểu (MMES) . 18 2.1.2. Thuật toán Widrow LMS . 20 2.1.3. Thuộc tính của thuật toán LMS . 24 2.1.4. Thuật toán bình phương tối thiểu đệ quy . 21 2.1.5. Các thuộc tính của thuật toán RLS dạng trực tiếp . 37 2.2. Bộ lọc thích nghi dạng thang lưới . 39 2.2.1. Thuật toán thang lưới bình phương tối thiểu hồi qui . 39 2.2.2. Thuật toán thang lưới Gradient . 61 2.2.3. Thuộc tính của thuật toán thang lưới . 66 Chương 3: MÔ PHỎNG ỨNG DỤNG CỦA BỘ LỌC THÍCH NGHI . 68 3.1 Sơ đồ mô phỏng . 68 3.2 Hoạt động . 69 KẾT LUẬN . 61 TÀI LIỆU THAM KHẢO . 62 LỜI NÓI ĐẦ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. 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 đồng thời phải loại bỏ nhiễu, để từ đó có được thông tin mà không mất đi tính trung thực của thông tin gốc. Trong các hướng đi và các cách giải quyết khác nhau cho vấn đề nêu trên, thì lĩnh vực xử lý tín hiệu số( DSP) mỗi ngày càng phát triển mạnh mẽ và vững vàng. Trong đó không thể không nhắc tới vai trò của các bộ lọc, nhất là các bộ lọc nhiễu. Trong đồ án này, em thực hiện nghiên cứu về bộ lọc thích nghi, một loại lọc nhiễu được ứng dụng trong rất nhiều hệ thống thực tế. Đây là loại bộ lọc có thuật toán thay đổi để thích ứng được với tín hiệu vào. Đồ án gồm 3 chương: Chương 1: Giới thiệu về bộ lọc số. Chương 2: Nội dung nghiên cứu bộ lọc thích nghi. Chương 3: Mô phỏng ứng dụng bộ lọc thích nghi. Em xin cảm ơn thày Nguyễn Văn Dương, giảng viên hướng dẫn, đã rất nhiệt tình chỉ bảo để em hoàn thành đề tài nghiên cứu này, cũng như các thày cô khác trong bộ môn đã tạo điều kiện cho em trong suốt thời gian làm đề tài. ̃̃̃̃̃

pdf74 trang | Chia sẻ: lvcdongnoi | Lượt xem: 4119 | Lượt tải: 2download
Bạn đang xem trước 20 trang tài liệu Đồ án Nghiên cứu về bộ lọc thích nghi, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
hông dải, ...) một cách chung nhất là dựa trên những biến đổi của thiết kế tương tự. - Các thiết kế Butterword - Các thiết kế Bessel - Các thiết kế Chebyshev - Các thiết kế Elliptic Tất cả những phương pháp trên dùng phép phân tích tự nhiên và được ứng dụng rộng rãi để thiết kế các bộ lọc IIR. Thêm vào đó các phương pháp tối ưu hoá IIR đã được phát triển cho thiết kế xấp xỉ liệt kê, điều này không dễ thích nghi với một trong các phương pháp xấp xỉ trên. Sự khác nhau chính giữa FIR và IIR là IIR không thể thiết kế để có pha tuyến tính chính xác, khi mà FIR có những thuộc tính này, còn bộ lọc IIR hiệu quả hơn trong thực hiện lọc cắt nhọn hơn là FIR. Mạng bao hàm phương trình (1.1.12) được biểu diễn trong hình 1.2a cho trường hợp N=M=3, nó thường được gọi là dạng biểu diễn trực tiếp. Đặc biệt bộ phương trình sau thường được sử dụng: M r r N k k rnwbny nxknwanw 0 1 (1.1.15) Bộ phương trình này có thể biểu diễn như trong hình 1.2b, với bộ nhớ để lưu giữ được yêu cầu và chứa các giá trị dãy trễ. Phương trình (1.1.7) chỉ ra rằng H(Z) có thể biểu diễn như một tích các 15 điểm cực. Những điểm cực và điểm không này là các cặp liên hiệp phức, vì các hệ số ak và bk là thực. Bằng những nhóm liên hiệp phức điểm cực và điểm không trong cặp liên hợp phức, nó cũng có thể biểu diễn H(Z) như tích của các hàm hệ thống cơ bản cấp hai dạng: K k kk kk ZaZa ZbZb AZH 1 2 2 1 1 2 2 1 1 1 1 (1.1.16) K là phần nguyên của (N+1)/2. Hệ thống cấp hai này được biểu diễn như trong hình 1.3a cho trường hợp N=M=4. (a) (b) Hình 1.2. (a) Cấu trúc dạng trực tiếp; (b) Cấu trúc dạng trực tiếp tối giản Tiếp tục, một cấp độ cao hơn được xét đến. Bằng cách kết hợp những phần liên quan đến cực liên hợp phức, H(Z) có thể viết dạng: Z-1 x(n) + Z-1 + Z-1 b0 b1 b2 b3 + + Z-1 + Z-1 + Z-1 a1 a2 a3 + + y(n) x(n) + + b0 b1 b2 b3 + + Z-1 + Z-1 + Z-1 a1 a2 a3 + + y(n) w(n) 16 K k kk kk ZaZa Zcc ZH 1 2 2 1 1 1 10 1 (1.1.17) Điều này gợi ý một dạng sơ đồ song song biểu diễn như hình 1.3b cho N=4. (a) (b) Hình 1.3. (a) Dạng tầng; (b) Dạng song song Trong những ứng dụng lọc tuyến tính, dạng song song đưa ra những đặc tính cao hơn về phương diện làm tròn giảm tiếng ồn, các sai số hệ số, và tính ổn định. x(n) + + b10 b11 b12 + Z-1 + Z-1 + a11 a12 + y(n) + + b20 b21 b22 + Z-1 + Z-1 + a21 a22 + c10 x(n) + + c11 + Z-1 + Z-1 a11 a12 y(n) + + + c20 c21 + Z-1 + Z-1 a21 a22 17 Chương 2. BỘ LỌC THÍCH NGHI 2.1. Bộ lọc FIR thích nghi dạng trực tiếp Từ chuẩn bình phương tối thiểu đưa tới khuôn mẫu chung thiết lập công thức tuyến tính cho hệ số bộ lọc. (2.1.1) Dãy tự tương quan và tương quan chéo nhận được từ dữ liệu, do đó chúng mô tả những ước lượng của dãy tương quan và tự tương quan thực. Hệ số h(k) ở (2.1.1) cũng là những ước lượng của hệ số thực. Độ chính xác của các ước lượng phụ thuộc vào độ dài của bản ghi dữ liệu, đó là 1 vấn đề cần cân nhắc trong hệ thống xử lí của bộ lọc. Vấn đề thứ 2 cần quan tâm đó là quá trình ngẫu nhiên cơ bản x(n) thường xuyên không ổn định. Ví dụ, trong bộ hiệu chỉnh kênh, các thông số đặc trưng cho tần số có thể biến đổi theo thời gian. Như 1 hệ quả, các dãy tương quan và tự tương quan thống kê, và các ước lượng của chúng thay đổi theo thời gian. Điều này làm cho hệ số của bộ lọc thích nghi cũng phải thay đổi theo thời gian để phản ánh được các thông số thay đổi theo thời gian của tín hiệu ở đầu vào bộ lọc. Điều này cũng kéo theo chất lượng của ước lượng không thể tăng bằng cách đơn giản là tăng số mẫu tín hiệu được sử dụng trong ước lượng các dãy tương quan và tự tương quan. Có nhiều cách để hệ số của bộ lọc có thể biến đổi theo thời gian cùng với các thông số thống kê theo thời gian của tín hiệu. Phương pháp phổ biến nhất là đưa vào bộ lọc dựa trên các mẫu liên tiếp một cách đệ quy mỗi khi nhận được một mẫu tín hiệu. Cách thứ 2 là ước lượng và trên cơ sở các khối liên tiếp, và không duy trì sự liên tục của các giá trị của hệ số bộ lọc từ một khối dữ liệu tới một khối khác. Kích thước khối phải tương đối nhỏ, chiếm một khoảng thời gian ngắn khi so sánh với khoảng thời gian mà các 18 đặc trưng thống kê của dữ liệu thay đổi một cách đáng kể. Khi nghiên cứu về các thuật toán của bộ lọc thích nghi, ta chỉ chú ý tới các thuật toán đệ quy thời gian mà nó cập nhật hệ số dựa trên các mẫu liên tiếp. Trong thực tế ta xét tới hai dạng thuật toán: thuật toán LMS (Least Mean Squares), là thuật toán dựa trên kiểu gradient hướng theo sự thay đổi theo thời gian của các thông số đặc trưng của tín hiệu, và loại thật toán bình phương tối thiểu đệ quy, là thuật toán phức tạp hơn so với LMS. 2.1.1. Tiêu chuẩn lỗi trung bình bình phương tối thiểu (MMES) Thuật toán LMS được xác định dễ dàng nhất bằng cách lập công thức tối ưu tính hệ số của bộ lọc FIR như một sự ước lượng dựa trên việc tối thiểu hóa lỗi bình phương trung bình. Ta giả sử có dãy dữ liệu x(n) là các mẫu từ việc xử lí ngẫu nhiên dãy tự tương quan (2.1.2) Từ những mẫu này ta ước lượng dãy d(n) bằng cách đưa x(n) qua bộ lọc FIR với hệ số bộ lọc h(n), . Đầu ra của bộ lọc là (2.1.3) Với là ước lượng của d(n) với lỗi ước lượng là (2.1.4) Lỗi trung bình phương như là một hàm của hệ số bộ lọc 19 (2.1.5) Với và là vector hệ số. là liên hợp của là chuyển vị của Ta thấy rằng MSE là hàm bậc 2 của hệ số bộ lọc. Do đó giá trị nhỏ nhất của dẫn tới việc thiết lập biểu thức tuyến tính M (2.1.6) Bộ lọc có hệ số nhận được từ (2.1.6) (2.1.6 là công thức Wiener-Hopf) được gọi là bộ lọc Wiener. Khi so sánh (2.1.6) và (2.1.1) ta thấy rằng chúng cùng dạng. Ở (2.1.1) ta dùng sự ước lượng về tự tương quan và tương quan chéo để xác định hệ số bộ lọc, trong khi ở (2.1.6) người ta dùng dãy tự tương quan và tương quan chéo thống kê được, vì thế (2.1.6) cung cấp hệ số bộ lọc tối ưu trong hướng MSE, trong khi (2.1.1) đưa ra sự ước lượng về hệ số tối ưu. Biểu thức (2.1.6) ở dạng ma trận như sau : (2.1.7) Với là ma trận Toeplizt ( với thành phần và bằng vetor tương quan chéo với thành phần . Và ta có hệ số bộ lọc tối ưu là 20 (2.1.8) Và (2.1.9) Với H là chuyển vị liên hợp. Việc thiết lập biểu thức tuyến tính (2.1.6) cũng có thể thực hiện bằng cách đưa ra nguyên lí trực giao trong việc ước lượng trung bình bình phương. Theo nguyên lí này, lỗi ước lượng trung bình bình phương được tối thiểu hóa khi e(n) trực giao với ước lượng (2.1.10) Hoặc tương đương với (2.1.11) Nếu ta thay thế e(n) trong (2.1.11) bằng e(n) trong (2.1.4) và sử dụng phép toán trung bình ta nhận được biểu thức như (2.1.6). Do là trực giao với e(n), lỗi bình phương trung bình nhỏ nhất là (2.1.12) Hệ số bộ lọc tối ưu như ở (2.1.8) có thể được thực hiện một cách hiệu quả khi dùng thuật toán Levinson-Durbin. Tuy nhiên ta cần chú ý tới việc dùng phương pháp gradient, việc đó dẫn tới thuật toán LMS cho bộ lọc. 2.1.2. Thuật toán Widrow LMS Có nhiều phương pháp để thiết lập biểu thức tuyến tính (2.1.6) hay (2.1.7) cho hệ số bộ lọc tối ưu. Ở đây ta xét tới phương pháp đệ quy, nó cho phép tìm cực tiểu của một hàm nhiều biến, MSE là một hàm bậc 2 của hệ số bộ lọc, do vậy hàm này có duy nhất một giá trị cực tiểu và chúng ta sẽ xác 21 định nó bằng cách lặp nhiều lần. Ta giả thiết ma trận tự tương quan và vector tương quan chéo đã biết trước, do đó là hàm đã biết của hệ số h(n), . Các thuật toán để tính toán một cách đệ quy hệ số bộ lọc và tìm cực tiểu của có dạng: (2.1.13) Với là vector của hệ số bộ lọc tại bước lặp thứ n là độ lớn bước nhảy tại bước lặp thứ n là vector hướng cho bước lặp thứ n giá trị ban đầu được chọn tùy ý. Phương pháp đơn giản nhất để tìm cực tiểu của một cách đệ quy là dựa vào việc tìm theo sự hạ thấp của đường dốc, ở phương pháp này vector , với là vector gradient tại bước nhảy thứ n. (2.1.14) Do đó ta sẽ tính vector gradient cho mỗi bước nhảy và thay đổi giá trị của theo gradient chiều ngược, và ta có thuật toán đệ quy dựa trên phương pháp tìm theo sự hạ thấp của đường dốc là: (2.1.15) Tương đương với (2.1.16) Ta không chứng minh thuật toán dẫn tới việc hộ tụ tới khi , dãy độ lớn bước nhảy hoàn toàn khả tổng và khi . Một số thuật toán khác cho ta sự hội tụ nhanh hơn như thuật toán liên hợp gradient và thuật toán Fletcher-Powel. Trong thuật toán liên hợp gradient: (2.1.17) 22 Với là hàm vô hướng của vector gradient Trong thuật toán Fletcher-Powel: (2.1.18) Với là ma trận dương và nó hội tụ ngược với . Rõ ràng 3 thuật toán có cách xác định hướng vector khác nhau. Ba thuật toán trên là thích hợp khi và đã biết, tuy nhiên đó không phải là trường hợp trong các ứng dụng của bộ lọc thích nghi. Khi không biết và ta có thể thay thế ước lượng cho thực tế. Đầu tiên, chú ý rằng vecter gradient ở (2.1.14) cũng có thể được thể hiện ở điều kiện trực giao như trong (2.1.10), thực tế (2.1.10) tương đương với: (2.1.19) Với là vector với các thành phần . Do vậy vector gradient là (2.1.20) Từ (2.1.20) ta có ước lượng khá chính xác về vector gradient (2.1.21) Với và là bộ mẫu tín hiệu M trong bộ lọc ở bước lặp thứ n, khi thay cho ta có thuật toán (2.1.22) Và nó gọi là thuật toán hạ bậc gradient ngẫu nhiên, thuật toán này được áp dụng phổ biến trong các bộ lọc thích nghi để sử dụng thuật toán độ lớn bước cố định vì hai lí do. Một là thuật toán độ lớn bước cố định được thực hiện dễ dàng với cả phần cứng và phần mềm. Thứ hai, một bước nhảy đã ấn định kích thước thì thích ứng với dòng tín hiệu thay đổi theo thời gian, trong khi nếu khi , việc thích nghi với sự thay đổi của tín hiệu không thể xảy ra. Vì những lí do đó (2.1.22) có thể được viết (2.1.23) 23 Với là kích thước bước nhảy đã được ấn định. Thuật toán này được đưa ra đầu tiên bởi Windrow và Hoft (1960), giờ đây nó được biết đến rộng rãi với cái tên thuật toán LMS (Least Mean Square). Rõ ràng, nó là thuật toán gradient ngẫu nhiên. Thuật toán LMS là thuật toán sử dụng dễ dàng, vì thế nó được dùng rộng rãi trong nhiều ứng dụng của bộ lọc thích nghi. Các thuộc tính và giới hạn của nó được nghiên cứu kĩ lưỡng. Trong phần dưới đây, ta sẽ đưa ra bản tóm tắt về các thuộc tính quan trọng của nó liên quan tới sự hội tụ, độ ổn định và nhiễu do việc ước lượng vector gradient. Sau đó ta sẽ so sánh thuộc tính của nó với các thuật toán bình phương tối thiểu đệ quy phức tạp hơn. Nhiều biến dạng của thuật toán LMS cơ bản được đặt ra trên lí thuyết và được thực hiện trong một vài ứng dụng của bộ lọc, một trong số đó là: nếu ta lấy trung bình các vector gradient qua nhiều lần lặp để điều chỉnh hệ số bộ lọc, ví dụ trung bình K vector gradient là (2.1.24) Và theo công thức đệ quy, việc thiết lập hệ số bộ lọc ở mỗi bước lặp K là (2.1.25) Việc lấy trung bình như ở (2.1.24) giảm nhiễu trong việc ước lượng vector gradient. Một cách khác là đặt một bộ lọc thông thấp và dùng đầu ra của nó để ước lượng vector gradient. Ví dụ, một bộ lọc thông thấp đơn giản cung cấp vector gradient ở đầu ra (2.1.26) Với xác định dải thông của bộ lọc thông thấp. Khi tiến tới 1, dải thông bộ lọc nhỏ và việc lấy trung bình được thực hiện trên rất nhiều vector gradient. Mặt khác, khi nhỏ bộ lọc có dải thông lớn và do đó ít vector gradient được lấy trung bình hơn. Với ở (2.1.26) ta nhận được một phiên bản mới của thuật toán LMS 24 (2.1.27) 2.1.3. Thuộc tính của thuật toán LMS Trên thực tế ta tập trung vào thuộc tính hộ tụ, tính ổn định và việc xử lí nhiễu phát sinh khi thay thế vector gradient nhiễu cho vector gradient thực. Việc ước lượng nhiễu của vector gradient làm cho hệ số bộ lọc dao động ngẫu nhiên, và do đó việc giải thích thuộc tính của thuật toán được thực hiện bằng cách thống kê. Tính hội tụ và ổn định của thuật toán LMS được nghiên cứu bằng việc xác định cách mà giá trị trung bình của hội tụ tới hệ số tối ưu (2.1.28) Với và I là ma trận đồng nhất. Hệ thức đệ quy (2.1.28) được thể hiện bởi hệ thống điều khiển vòng kín như ở hình 2.1. Tốc độ hội tụ và tính ổn định của hệ thống này được điều khiển bằng cách chọn kích cỡ bước nhảy . Để xác định trạng thái hội tụ thuận tiện nhất là tách rời M phương trình sai phân đồng thời cho ở (2.1.28) bằng cách sử dụng phương pháp biến đổi tuyến tính vector hệ số trung bình . Khi chú ý tới ma trận tự tương quan , ta có biến đổi tương ứng (2.1.29) Với là ma trận chuẩn hóa của và A là đường chéo của ma trận với các thành phần , bằng với giá trị riêng của Thay (2.1.29) vào (2.1.28) ta có (2.1.30) Với và 25 Tính hội tụ và ổn định được xác định từ công thức đồng nhất (2.1.31) Ta có (2.1.32) Với C là hằng số tùy ý là dãy bước nhảy đơn vị Rõ ràng hội tụ tới 0 khi Tương đương với (2.1.33) Tốc độ hội tụ cực đại khi . Điều kiện ở (2.1.33) cho sự hội tụ của phương trình sai phân đồng nhất đối với hệ số bộ lọc thứ k (mô hình thứ k của hệ thống kín) phải thỏa mãn cho mọi k=0, 1, ..., M-1. Do vậy dải giá trị của đảm bảo sự hội tụ của vector hệ số trong thuật toán LMS là (2.1.34) Với là giá trị riêng lớn nhất của + Filter Hình 2.1 Hệ thống điều khiển kín 26 Do là một ma trận tự tương quan, giá trị riêng của nó không âm. Do vậy cận trên của là (2.1.35) Với là nguồn tín hiệu đầu vào, nó dễ dàng được ước lượng từ tín hiệu nhận được, do vậy cận trên của là . LMS hội tụ nhanh khi nhỏ. Tuy nhiên, ta không thể có điều kiện như mong muốn và vẫn thỏa mãn cận trên khi có một khoảng cách lớn giữa giá trị riêng lớn nhất và nhỏ nhất của . Nói cách khác, nếu ta chọn bằng , tốc độ hội tụ của LMS sẽ được xác định bởi sự suy giảm của mô hình tương ứng tới giá trị nhỏ nhất . Ở mô hình này, thay vào công thức (2.1.32) ta có Tỉ số giới hạn tốc độ hội tụ, nếu nhỏ ( sự hội tụ sẽ chậm và ngược lại khi . Một đặc tính quan trọng nữa của LMS là nhiễu do việc sử dụng ước lượng của vector gradient. Nhiễu này làm cho hệ số bộ lọc dao động ngẫu nhiên quanh giá trị tối ưu và điều đó làm tăng giá trị cực tiểu của MSE ở đầu ra của bộ lọc. Do đó tổng MSE là với là lỗi bình phương trung bình dư. Tổng MSE ở đầu ra bộ lọc có thể được viết như sau: (2.1.36) Với là hệ số tối ưu của bộ lọc được xác định bởi (2.1.8) được gọi là đường cong tiếp thu Khi thay như ở (6.2.29) và biến đổi trực giao tuyến tính ta có (2.1.37) 27 Với được coi là lỗi trong hệ số bộ lọc thứ k (trong hệ thống sắp xếp trực giao). Và lỗi bình phương trung bình dư là (2.1.38) Ta giả sử giá trị trung bình của hệ số bộ lọc hộ tụ tới giá trị tối ưu của nó là . Và phần trong (2.1.23) là vector nhiễu trung bình không. Hiệp phương sai của nó là (2.1.39) Ta giả sử không liên quan tới vector tín hiệu, dù giả thiết này không chặt chẽ lắm nhưng nó rút ngắn dẫn dắt và cho kết quả đầy đủ. Và (2.1.40) Đối với vector hệ số , cộng thêm nhiễu, ta có (2.1.41) Với là vector nhiễu cộng thêm, nó liên quan tới vector nhiễu qua biến đổi (2.1.42) Có thể thấy ma trận hiệp phương sai của vector nhiễu là (2.1.43) Do vậy các thành phần M của không liên quan tới nhau và mỗi thành phần có một sai số Do các thành phần M của không liên quan tới nhau nên ta có thể tách riêng M công thức, mỗi công thức bậc nhất thể hiện một bộ lọc với đáp ứng xung . Khi một bộ lọc bị ảnh hưởng bởi dãy nhiễu , 28 nhiễu ở đầu ra của bộ lọc là (2.1.44) Ta giả thiết là nhiễu trắng, và (2.1.44) được rút gọn (2.1.45) Thay (2.1.45) vào (2.1.38) ta có (2.1.46) Khi coi với mọi k, ta được (2.1.47) Với là công suất tín hiệu vào. Ta thấy lỗi bình phương trung bình dư thì tỉ lệ thuận với bước nhảy . Do đó khi chọn phải đảm bảo hội tụ nhanh và lỗi bình phương trung bình dư nhỏ. Trên thực tế, mong muốn có , ta có Tương đương (2.1.48) 29 Trong điều kiện ổn định phải thỏa mãn (2.1.48). Nói cách khác, lỗi bình phương trung bình dư cũng làm giảm đáng kể chất lượng bộ lọc thích nghi. Những lí giải về lỗi bình phương trung bình dư ở trên là dựa vào giả thiết giá trị trung bình của hệ số bộ lọc hội tụ tới giá trị tối ưu . Ở điều kiện đó, kích thước bước nhảy phải thỏa mãn (2.1.48). Mặt khác, ta đã xác định để vector hệ số trung bình hội tụ thì điều kiện cần là . Trong khi việc chọn gần với cận trên có thể dẫn tới sự hội tụ ban đầu của thuật toán gradient, khi mở rộng sẽ làm thuật toán gradient LMS ngẫu nhiên mất ổn định. Tính hội tụ ban đầu hay trạng thái nhất thời của LMS được nhiều nhà khoa học nghiên cứu. Họ chỉ ra rằng kích thước bước nhảy tỉ lệ thuận với độ dài bộ lọc thích nghi. Cận trên (2.1.48) là cần thiết để đảm bảo sự hội tụ ban đầu của LMS gradient ngẫu nhiên. Thực tế thường chọn . Trong hoạt động của LMS, việc chọn kích thước bước nhảy quan trọng hơn. Ta có thể giảm lỗi bình phương trung bình dư bằng cách giảm tới điểm mà tại đó tổng của lỗi bình phương trung bình đầu ra giảm. Điều đó xảy ra khi các thành phần gradient được ước lượng, sau phép nhân bởi thông số độ lớn bậc nhỏ (nhỏ hơn một nửa của bit nhỏ nhất trong biểu diễn điểm cố định của hệ số bộ lọc). Do đó điều quan trọng là kích thước bước nhảy phải đủ rộng để hệ số bộ lọc hội tụ tới . Nếu muốn giảm kích thước bước nhảy một cách đáng kể thì điều cần thiết là phải tăng độ chính xác của hệ số bộ lọc. Thông thường, 16 bits được dùng cho các hệ số bộ lọc, với từ 8 đến 12 bits dùng cho xử lí số học trong lọc dữ liệu, từ 4 đến 8 bits cho xử lí thích nghi. Các thành phần gradient ước lượng dùng số bit ít nhất. Cuối cùng, ta cần chỉ ra rằng thuật toán LMS thích ứng với dòng tín hiệu thống kê biến đổi chậm theo thời gian, như trong trường hợp cực tiểu MSE và hệ số tối ưu biến đổi theo thời gian. Nói cách khác, là một hàm theo thời gian. LMS chứa một loại lỗi khác, đó là lỗi trễ, là lỗi giá trị bình phương trung bình giảm cùng với việc tăng kích thước bước nhảy. Tổng lỗi MSE giờ là 30 (2.1.49) Nếu ta vẽ và như một hàm của , ta có hình 2.2. Ta thấy khi tăng thì tăng còn lại giảm, từ đó thấy giá trị mà tại đó tổng lỗi là nhỏ nhất. Khi tín hiệu biến đổi nhanh theo thời gian lỗi trễ sẽ lấn át chất lượng bộ lọc. như trong trường hợp , khi giá trị lớn nhất của được dùng. Khi đó thuật toán LMS không còn thích hợp cho các ứng dụng và cần tới một thuật toán phức tạp hơn, thuật toán bình phương tối thiểu đệ quy, để có được sự hội tụ nhanh hơn và bám sát. Hình 2.2 Lỗi trung bình bình phương dư và lỗi trễ 2.1.4. Thuật toán bình phương tối thiểu đệ quy Lợi thế cơ bản của LMS là cách tính toán đơn giản. Tuy nhiên, nó lại hội tụ chậm đặc biệt khi các giá trị riêng của ma trận tự tương quan có khoảng cách lớn. Nhìn theo quan điểm khác, thuật toán LMS chỉ có một thông số để điều khiển tốc độ hội tụ, đó là . Do bị hạn chế bởi cận trên để đảm bảo tính ổn định, các giá trị riêng nhỏ hơn nên hội tụ rất chậm. Để có được sự hội tụ nhanh hơn, cần có một thuật toán hoàn chỉnh hơn cho nhiều thông số hơn. Thực tế, nếu ma trận tự tương quan có các giá trị riêng không bằng nhau , ta phải dùng một thuật toán có 31 M thông số, mỗi thông số cho một giá trị riêng. Để dẫn tới các thuật toán cho sự hội tụ nhanh hơn, ta cần chấp nhận thay thế phép xấp xỉ thống kê dựa trên chuẩn MSE bằng chuẩn bình phương tối thiểu. Ta sẽ quan tâm trực tiếp tới dữ liệu và nhận được ước lượng về tương quan từ dữ liệu. Điều thuận lợi để thể hiện thuật toán bình phương tối thiểu là dạng ma trận, các thuật toán đệ quy trong miền thời gian. Cũng cần phải đưa chỉ số thời gian và vector hệ số bộ lọc dãy lỗi. Vector hệ số bộ lọc ở miền thời gian n là (2.1.50) Với chỉ số M là độ dài bộ lọc. Tương tự, vector tín hiệu đầu vào của bộ lọc là (2.1.51) Giả sử với n<0. Điều này được gọi là lấy dữ liệu vào qua cửa sổ. Bình phương tối thiểu đệ quy giờ tính toán như sau: Giả sử ta đã có vector và ta muốn xác định vector hệ số sao cho nó làm giảm tối thiểu độ lớn của lỗi bình phương. (2.1.52) Với lỗi được định nghĩa là khoảng cách giữa dãy mong muốn và dãy ước lượng 32 (2.1.53) Với là chỉ số và . Chỉ số là để xử lí hầu hết các điểm dữ liệu mới và do đó cho phép hệ số bộ lọc đáp ứng được các thông số đặc trưng biến đổi theo thời gian của dữ liệu. điều đó được thực hiện bằng cách sử dụng hệ số trọng số lũy thừa với dữ liệu chuyển qua. Tương tự, ta có thể sử dụng cửa sổ trượt độ dài hữu hạn với trọng số đồng dạng trên toàn kích thước cửa sổ. Ta có (2.1.54) Với là kích thước cửa sổ trượt. Việc tối thiểu hóa mà vẫn ổn định vector hệ số bộ lọc dẫn tới thiết lập công thức tuyến tính (2.1.55) Với là ma trận tương quan tín hiệu (2.1.56) là vector tương quan chéo (2.1.57) Từ (2.1.55) có (2.1.58) Rõ ràng ma trận giống ma trận tự tương quan trong khi ma trận giống vector tương quan chéo . Tuy nhiên cần nhấn mạnh rằng không phải là ma trận Toeplizt như . Ta cũng cần chú ý tới giá trị nhỏ của n, không tính được đảo của . Như trong trường hợp cộng thêm ma trận 33 vào , với là ma trận đồng nhất và là hằng số dương nhỏ. Giả sử ta có (2.1.58) ở (n-l) (ví dụ ta có ) và ta muốn tính , do đó trong thực tế không thể thiết lập các biểu thức tuyến tính M cho mỗi thành phần tín hiệu mới. Thay vào đó ta có thể tính ma trận và vector một cách đệ quy. Đầu tiên, tính (2.1.59) Ta gọi (2.1.59) là biểu thức cập nhật thời gian cho . Do đảo của là cần thiết, ta dùng bổ đề đảo ma trận (2.1.60) Ta đặt để thuận tiện cho việc xác định vector khuếch đại Kalman (2.1.61) Với vô hướng (2.1.62) Khi đó (2.1.60) trở thành (2.1.63) Nhân (2.1.63) với ta có (2.1.64) Do vậy vector khuếch đại Kalman cũng được định nghĩa như . Ta dùng ma trận đảo để lập biểu thức tính hệ số bộ lọc một cách đệ quy. 34 Do (2.1.65) Và (2.1.66) Ta có (2.1.67) Ta thấy rằng là đầu ra của bộ lọc thích nghi ở thời điểm n dựa vào hệ số bộ lọc ở thời điểm (n-1). Do đó (2.1.68) Và (2.1.69) (2.1.70) Tương đương (2.1.71) Giả sử ta có hệ số bộ lọc tối ưu , ma trận và vector . Khi nhận được một tín hiệu mới ta lập vector bằng cách tách phần từ và cộng thêm phần . Và hệ số bộ lọc được tính một cách đệ quy như sau: 1. Tính đầu ra của bộ lọc: 35 (2.1.72) 2. Tính lỗi (2.1.73) 3. Tính vector Kalman (2.1.74) 4. Cập nhật ma trận đảo của ma trận tương quan (2.1.75) 5. Cập nhật vector hệ số của bộ lọc (2.1.76) Thuật toán đệ quy được thiết lập bởi (2.1.72) qua (2.1.76) gọi là thuật toán bình phương tối thiểu đệ quy (RLS). Ban đầu đặt và , là số dương nhỏ. Phần lỗi bình phương trung bình còn dư do việc tối ưu hóa là (2.1.77) Từ (2.1.76) ta thấy các hệ số bộ lọc thay đổi theo thời gian một lượng bằng . Do là một vector thứ nguyên, mỗi hệ số bộ lọc sẽ được diều khiển bởi 1 trong những thành phần của . Vì vậy, ta có được sự hội tụ nhanh. Ngược lại, biểu thức thay đổi theo thời gian của các hệ số bộ lọc sử dụng trong thuật toán LMS (2.1.78) Tìm thừa số LDU và thuật toán căn bậc hai. Thuật toán LMS chỉ có một thông số để điều khiển tốc độ hội tụ. Thuật toán RLS ở trên rất dễ dàng chấp nhận làm tròn nhiễu trong hoạt động của thuật toán với phép toán độ 36 chính xác giới hạn. Vấn đề chính của việc làm tròn xảy ra khi cập nhật . Để khắc phục vấn đề này, ta có thể khai triển hoặc ma trận tương quan hoặc nghịch đảo của nó . Ta hãy xét khai triển LDU của . (2.1.79) Với là ma trận (phần dưới) dạng tam giác với các phần tử , là đường chéo ma trận và các phần tử , là ma trận (phần trên) tam giác. Các phần tử trên đường chéo của bằng 1. Để thay cho việc tính một cách đệ quy, ta có thể xác định công thức cập nhật và một cách trực tiếp. Từ (2.1.75) và (2.1.79) ta có (2.1.80) Với (2.1.81) Phần bên trong ngoặc của (2.1.80) là ma trận Hermitian và có thể được viết dưới dạng (2.1.82) Sau đó thay (2.1.82) vào (2.1.80) (2.1.83) Và 37 (2.1.84) Kết quả thuật toán nhận được từ (2.1.84) phụ thuộc trực tiếp vào vector dữ liệu và không phụ thuộc vào bình phương dữ liệu. Vì thế thuật toán bình phương bị loại bỏ và ảnh hưởng của lỗi làm tròn được giảm thiểu. Thuật toán RLS nhận được từ việc khai triển hoặc được gọi là thuật toán căn bậc hai RLS. Thuật toán RLS nhanh Thuật toán RLS dạng trực tiếp và dạng căn bậc hai có cách tính toán phức tạp tỉ lệ với . Mặt khác, thuật toán giàn RLS (ở 2.3) lại tỉ lệ với M. các thuật toán giàn loại bỏ việc nhân ma trận xuất hiện khi tính . Bằng cách sử dụng các công thức cho giàn LMS ta có thể nhận được các biểu thức theo thời gian của vector khuếch đại Kalman mà hoàn toàn không dùng tới việc nhân ma trận. Các thuật toán phức tạp tỉ lệ với M được gọi là thuật toán RLS nhanh cho bộ lọc FIR dạng trực tiếp. 2.1.5. Các thuộc tính của thuật toán RLS dạng trực tiếp Thuật toán RLS hơn LMS ở chỗ là có sự hội tụ nhanh. Trạng thái đặc trưng này được thể hiện ở 2.3 (diễn tả tốc độ hội tụ của 2 thuật toán đối với kênh cân bằng FIR thích nghi có độ dài M=11. Ma trận tự tương quan dành cho tín hiệu nhận có tỉ lệ giá trị riêng là . Tất cả các hệ số bộ cân bằng ban đầu được đặt bằng 0. Kích thước bước nhảy thuật toán LMS , là giá trị tối ưu đảm bảo cho cả tốc độ hội tụ cả lỗi bình phương trung bình dư. 38 Sự hội tụ nhanh hơn của RLS thể hiện rất rõ. Nó hội tụ trong ít hơn 70 (70 mẫu tín hiệu) trong khi thuật toán LMS không hội tụ trong hơn 600 lần lặp. tốc độ hội tụ này của RLS vô cùng quan trọng trong các ứng dụng khi mà tín hiệu thay đổi nhanh theo thời gian. Không kể tới chất lượng tự hiệu chỉnh cao, thuật toán RLS của bộ lọc thích ứng FIR có 2 nhược điểm lớn. Một là cách tính toán phức tạp. Thuật toán căn bậc hai tỉ lệ với , RLS nhanh tỉ lệ với M nhưng hệ số tỉ lệ bằng 4 đến 5 lần so với LMS. Nhược điểm thứ hai là đặc tính nhạy của nó khi làm tròn lỗi tích lũy khi tính toán đệ quy. Trong một vài trường hợp, lỗi làm tròn khiến cho thuật toán không ổn định. Thuộc tính của RLS được nghiên cứu bởi nhiều nhà nghiên cứu. Bảng 2.1 đưa ra kết quả mô phỏng lỗi bình phương trong trạng thái ổn định của thuật toán căn bậc hai RLS, RLS nhanh và LMS với các độ dài từ khác nhau. Việc mô phỏng được thực hiện với bộ cân bằng thích ứng có độ dài M=11. Với chỉ số trọng số lũy thừa đối với RLS là và kích thước bước nhảy đối với LMS. Nhiễu cộng thêm là 0.001, đầu ra MSE với tính toán chính xác là . Ta có thể chỉ ra rằng thuật toán RLS dạng trực tiếp trở nên mất ổn định Thuật toán gradient RLS Thuật toán w=0.999 Số lần lặp Lỗi Hình 2.3 Đồ thị cho thuậ toán RLS và LMS 39 và do đó không thể làm việc với các phép toán 16 bits. Đối với thuật toán này, cần 24 bits. Mặt khác, thuật toán căn bậc hai làm việc dưới 9 bits, RLS nhanh làm việc khá tốt dưới 11 bits trong thời gian ngắn, với 500 lần lặp, nếu số lần lặp lớn hơn thuât toán sẽ mất ổn định. Điều đó dẫn gây tích lũy lỗi làm tròn. Số bit Thuật toán RLS Square root Fast RLS LMS 16 13 11 10 9 8 2.17 2.33 6.14 17.6 75.3 2.17 2.21 3.34 2.30 2.30 19.0 77.2 311.0 1170.0 Bảng 2.1 Độ chính xác của các thuật toán bộ lọc thíc nghi FIR 2.2. Bộ lọc thích nghi dạng thang lưới Bộ lọc FIR có thể được thực hiện với cấu trúc giàn với thông số giàn được gọi là hệ số phản xạ, được liên kết với các hệ số bộ lọc ở dạng trực tiếp. Có phương pháp để chuyển đổi hệ số bộ lọc FIR thành hệ số phản xạ. Trong phần này ta nghiên cứu các thuật toán của bộ lọc thích nghi với cấu trúc giàn hoặc giàn hình thang. Các thuật toán này dựa trên phương pháp bình phương tối thiểu và có nhiều thuộc tính mong muốn, đưa ra cách tính toán hiệu quả và lỗi sai số làm tròn được kiểm soát tốt. 2.2.1. Thuật toán thang lưới bình phương tối thiểu hồi qui Các thuật toán bình phương tối thiểu đệ quy dành cho bộ lọc FIR dạng trực tiếp mô tả trong phần 2.1.4 chỉ đệ quy trong miền thời gian. Độ dài của bộ lọc được cố định. Sự thay đổi độ dài bộ lọc sẽ tạo ra các hệ số bộ lọc mới hoàn toàn khác với các hệ số trước đó. 40 Ngược lại, bộ lọc giàn là hồi quy bậc, vì thế độ dài một số bộ lọc có thể tăng hoặc giảm mà không ảnh hưởng tới hệ số phản xạ của các bộ lọc còn lại. Giả sử ta nhận được tín hiệu và chú ý tới việc ước lượng . Gọi là lỗi ước lượng trước đối với việc ước lượng bậc thứ m (2.2.1) Với vector chứa các hệ số ước lượng trước (2.2.2) Và vector dữ liệu là (2.2.3) Các hệ số ước lượng được chọn để tối thiểu hóa lỗi bình phương trọng số thời gian trung bình. (2.2.4) Việc tối thiểu đồng thời chú ý tới dẫn tới biểu thức tuyến tính (2.2.5) Với là ma trận tương quan tín hiệu Và được định nghĩa là (2.2.6) 41 Từ (2.2.5) ta có (2.2.7) Giá trị nhỏ nhất của được coi như (2.2.8) Với (2.2.9) (2.2.5) và (2.2.8) có thể ở dạng ma trận (2.2.10) Khi là vector rỗng thứ nguyên m. Cần chú ý rằng (2.2.11) Ta cũng tối thiểu hóa lỗi bình phương trọng số thời gian trung bình phía sau (2.2.12) Với lỗi phía sau là (2.2.13) Và là vector hệ số ước lượng lùi. Việc tối thiểu hóa dẫn tới biểu thức 42 (2.2.14) (2.2.15) Với (2.2.16) Giá trị nhỏ nhất của là (2.2.17) Với là đại lượng vô hướng. (2.2.18) Từ (2.2.14) và (2.2.17) có (2.2.19) Ma trận tự tương quan cũng được ước lượng (2.2.20) Như vậy ta đã có công thức ước lượng bình phương tối thiểu tiến và lùi của bậc m. Tiếp theo ta sẽ suy ra các biểu thức bậc khác. Ta dùng hai ma trận đảo đồng nhất của ma trận dạng (2.2.21) 43 (2.2.22) Và (2.2.23) Với (2.2.24) Hồi quy nâng bậc Dùng biểu thức (2.1.22) để tìm ma trận đảo của . Đầu tiên, ta có (2.2.25) Và (2.2.26) Do vậy (2.2.27) Tương đương với Thay n bằng (n-1) vào (2.2.27) và nhân sau kết quả với ta có 44 (2.2.28) Với là đại lượng vô hướng (2.2.29) (2.1.28) là sự đệ quy dạng Levinson cho các hệ số bộ lọc ước lượng. Tương tự để nhận được biểu thức cập nhật cho ta dùng ma trận đảo của . Trong trường hợp này ta có (2.2.30) Và (2.2.31) Do đó Hoặc tương đương (2.2.32) Nếu nhân sau (2.2.32) bởi ta có 45 (2.2.33) Khi (2.2.34) Các biểu thức cập nhật cho và cũng có thể tìm được. Từ định nghĩa của ở (2.2.8) ta có (2.2.35) Thay ở (2.1.8) vào (2.2.35) ta có (2.2.36) Tương tự ta có (2.2.37) Bộ lọc giàn đặc trưng bởi cặp biểu thức lỗi tiến và lùi và . Ta có (2.2.38) 46 Thay từ (2.2.28) vào (2.2.38) nhận được (2.2.39) Ta định nghĩa (2.2.40) Vì thế (2.2.39) có thể viết là (2.2.41) Tương tự (2.2.42) Thay từ (2.2.33) (2.2.43) Tương đương (2.2.44) Hai biểu thức đệ quy (2.2.41) và (2.2.44) xác định bộ lọc giàn ở hình 2.3. 47 Để thuận tiện ta xác định các hệ số phản xạ cho giàn (2.2.45) Các điều kiện ban đầu cho việc thay đổi bậc là (2.2.46) Và (2.2.46) cũng là biểu thức theo thời gian của và . Hình 2.4 Bộ lọc lưới bình phương tối thiểu Tầng 1 Tầng 2 Tầng 3 Tầng M-1 …. …. + + 48 Hồi quy điều chỉnh theo thời gian Ta cần xác định biểu thức theo thời gian , nó là cần thiết để bộ lọc giàn trở nên thích nghi và đưa ra các biểu thức theo thời gian cho các hệ số bộ lọc. Ta bắt đầu với (2.2.47) Biểu thức theo thời gian cho là (2.2.48) Biểu thức theo thời gian cho các hệ số ước lượng được xác định như sau. Từ (2.2.6), (2.2.7) và (2.2.8) ta có (2.2.49) Với là vector khuếch đại Kalman ở bước lặp thứ n-1. Nhưng từ (2.2.38) ta có (2.2.50) Bên cạnh đó, dùng (2.2.15), (2.2.16) và (2.2.63) ta được biểu thức theo thời gian cho các hệ số ước lượng lùi ở dạng (2.2.51) Từ (2.2.48) và (2.2.50) ta có biểu thức theo thời gian của 49 Nhưng (2.2.53) Và (2.2.54) Với được định nghĩa ở (2.1.62). (2.2.55) Thay (2.2.53), (2.2.54) và (2.2.55) vào (2.2.52) ta có (2.2.56) Ta có một biến mới (2.2.57) có giá trị thực và (2.2.56) giờ được viết 50 (2.2.58) Điều chỉnh bậc cho Dù có thể được tính trực tiếp với mỗi giá trị của m và n, nhưng tốt hơn hết là dùng biểu thức theo bậc. Đầu tiên, từ định nghĩa ở (2.1.61) ta thấy rằng (2.2.59) Để có được biểu thức theo thời gian cho , cần có biểu thức theo bậc của vector Kalman . Nhưng có thể được viết (2.2.60) Trong đó (2.2.61) Do đó biểu thức theo bậc đối với ở (2.2.60) được viết (2.2.62) Từ (2.2.62) và (2.1.59) ta có 51 (2.2.63) Như vậy ta đã nhận được các biểu thức theo bậc và theo thời gian của giàn bình phương tối thiểu như ở hình 2.3. (2.2.41) và (2.2.44) là các biểu thức cơ bản cho lỗi tiến và lùi, thường được gọi là các phần dư. (2.2.36) và (2.2.37) là lỗi bình phương tối thiểu, (2.2.58) là biểu thức theo thời gian cho , (2.2.63) là biểu thức theo bậc cho thông số Ta có (2.2.64) Ước lượng quá trình kết hợp. Ta cần tìm ước lượng bình phương tối thiểu cho tín hiệu d(n) từ giàn. Giả sử bộ lọc có m+1 hệ số và các hệ số này được xác định để tối thiểu hóa lỗi bình phương trọng số trung bình (2.2.65) Khi (2.2.66) Ước lượng tuyến tính (2.2.67) 52 Ước lượng này nhận được từ giàn bằng cách dùng phần dư , và được gọi là ước lượng quá trình kết hợp. Ở (2.1.4) ta đã có các hệ số của bộ lọc thích nghi được tối thiểu hóa bởi biểu thức (2.2.68) Ta có thỏa mãn biểu thức theo thời gian ở (2.1.76) Từ (2.2.68) và (2.2.27) ta có (2.2.69) Đại lượng vô hướng (2.2.70) (2.2.69) có thể viết (2.2.71) thỏa mãn biểu thức theo thời gian, biểu thức này có được từ biểu thức theo thời gian của và ở (2.2.51) và (2.2. 66). (2.2.72) Nhưng (2.2.73) Và 53 (2.2.74) (2.2.75) Thay kết quả ở (2.2.73) qua (2.2.75) vào (2.2.72) ta có (2.2.76) Như vậy ta đã có biểu thức theo bậc cho . Với , biểu thức theo bậc cho là (2.2.77) Ước lượng đầu ra d(n) của giàn bình phương tối thiểu là (2.2.78) Nhưng không được tính toán cụ thể. Bằng cách dùng như ở (2.2.71) ta có (2.2.79) Nói cách khác, ước lượng đầu ra là tổng trọng số tuyến tính của phần dư tiến . + + + + + + + + + 54 Hình 2.5 Bộ lọc thang lưới thích nghi RLS Dạng ưu tiên của thuật toán giàn hình thang RLS được phân biệt với dạng khác của thuật toán, gọi là dạng lùi. Ở dạng lùi này, được thay bởi để ước lượng d(n). Trong bộ cân bằng kênh hoặc khử phản hồi, dạng lùi không sử dụng được vì không thể tính toán để tính d(n). Thuật toán thang lưới RLS cải tiến. Có thể xây dựng các biểu thức khác mà không ảnh hưởng tới tính tối ưu của thuật toán. Tuy nhiên, một vài biến thể của thuật toán vượt hẳn về số lượng khi phép toán điểm ấn định được dùng trong thuật toán. Đầu tiên, ta có mối liên hệ giữa phần lỗi dư tiến và lùi Lỗi tiến (2.2.80) Lỗi lùi 55 (2.2.81) hệ thức giữa (2.2.80) và (2.2.81) là (2.2.82) Thứ hai, ta tìm được các biểu thức theo thời gian cho lỗi bình phương tối thiểu tiến và lùi. Từ (2.2.8) và (2.2.50) ta có (2.2.83) Tương tự từ (2.2.17) và (2.2.51) ta có (2.2.84) Thứ ba, ta có biểu thức theo thời gian cho vector hệ số khuếch đại Kalman, vector này không được dùng trong thuật toán giàn mà sử dụng trong các thuật toán nhanh. Để có được biểu thức này, ta cũng dùng các biểu thức theo thời gian của hệ số ước lượng tiến và lùi cho bởi (2.2.50) và (2.2.51). Ta có (2.2.85) Khi đặt chứa thành phần đầu tiên của và chứa các thành phần cuối cùng. Từ (2.2.60) ta có biểu thức theo bậc cho là 56 (2.2.86) Cho (2.2.85) và (2.2.86) bằng nhau ta có (2.2.87) Và do đó (2.2.88) Thay (2.2.51) vào (2.2.88) ta có biểu thức theo thời gian cho vector hệ số khuếch đại Kalman (2.2.89) Đó cũng là biểu thức theo thời gian cho đại lượng vô hướng . Từ (2.2.63) ta có (2.2.90) Từ (2.2.85) ta có (2.2.91) Cho (2.2.90) và (2.2.91) bằng nhau ta có biểu thức theo thời gian cho là Cuối cùng, ta cần phân biệt giữa những phương pháp khác nhau để cập nhật các hệ số phản xạ cho bộ lọc giàn và hình thang là phương pháp trực tiếp và gián tiếp. Trong phương pháp gián tiếp 57 (2.2.93) (2.2.94) (2.2.95) Với là theo như (2.2.58), theo như (2.2.76), và theo như (2.2.83) và (2.2.84). Thay từ (2.2.58) vào (2.2.93) và dùng (2.2.84), ta có (2.2.96) Đây là công thức để cập nhật trực tiếp hệ số phản xạ trong giàn. Tương tự, thay (2.2.58) vào (2.2 94) và dùng (2.2.83) ta có (2.2.97) Hệ số khuếch đại thang cũng có thể được cập nhật một cách trực tiếp (2.2.98) Một đặc tính của thuật toán thang lưới là phần dư tiến và lùi sẽ quay trở lại cập nhật các hệ số phản xạ trong tầng giàn và phản hồi lại để cập nhật . Vì vậy, thuật toán giàn hình thang được gọi là dạng phản hồi lỗi. Có thể nhận được dạng tương tự dành cho thuật toán giàn hình thang RLS ưu 58 tiên. Thuật toán RLS nhanh. Có hai phiên bản của RLS nhanh. Thực tế, ta cố định kích thước của giàn và kết hợp ước lượng tiến và lùi ở tầng thứ M-1. Vấn đề còn lại là xác định biểu thức theo thời gian cho vector hệ số khuếch đại Kalman như ở (2.2.89). Có hai điểm khác biệt cơ bản: thứ nhất, Feast dùng vector hệ số khuếch đại thay thế để thay cho vector hệ số khuếch đại Kalman. Thứ 2, RLS nhanh ước lượng lỗi qua bộ lọc FIR bằng cách dùng vector hệ số , trong khi Feast tính qua cách tính toán vô hướng và chú thích là phần tử cuối cùng của vector hệ số khuếch đại thay thế, , bằng . Chất lượng của RLS nhanh phụ thuộc nhiều vào việc khởi tạo ban đầu. Thuật toán lưới chuẩn hay căn bậc hai. Một dạng khác của thật toán giàn LS được gọi là căn bậc hai hay thuật toán giàn chuẩn hóa. Để có được thuật toán này, đầu tiên ta định nghĩa góc và độ lớn của lỗi LS thông thường (2.2.99) (2.2.100) Kĩ thuật chuẩn hóa góc xuất phát từ thực tế là là cosine của góc giữa khoảng của vector dữ liệu tại (n-l) và n. Thứ hai, ta xác định hệ số phản xạ chuẩn hóa 59 (2.2.101) Dễ dàng để chứng minh rằng cả 3 đại lượng đều có giá trị biên độ nhỏ hơn 1. Do thộc tính này thuật toán giàn LS căn bậc 2 chuẩn hóa là tiện ích đối với việc thực hiện các phép toán điểm ấn định. Thay thế (2.2.99), (2.2.100) và (2.2.101) vào (2.2.58) ta có (2.2.102) Tương đương (2.2.103) Từ biểu thức theo thời gian của và ở (2.2.83) và (2.2.84) có thể chỉ ra rằng (2.2.104) Và (2.2.105) Sau đó thay (2.2.104), (2.2.105) vào (2.2.103) ta có biểu thức theo thời gian cho . 60 (2.2.106) Để có biểu thức theo bậc cho lỗi chuẩn hóa trước và sau, trước tiên ta viết biểu thức theo bậc cho lỗi tiến (2.2.107) Và (2.2.108) Sau đó viết (2.2.107) trong điều kiện của lỗi chuẩn hóa ta có (2.2.109) Cuối cùng ta có (2.2.110) Từ biểu thức theo bậc cho ở (2.2.36) có thể chỉ ra rằng 61 (2.2.111) Từ (2.2.63) ta có (2.2.112) Sau đó bằng cách thay (2.2.111) và (2.2.112) vào (2.2.110) ta có kết quả (2.2.113) Tương tự ta có biểu thức theo bậc cho lỗi lùi chuẩn hóa là (2.2.114) Biểu thức (2.2.106), (2.2.113) và (2.2.114) xây dựng nên thuật toán giàn LS chuẩn hóa hay căn bậc 2. Chú ý rằng thuật toán này chỉ chứa 3 biến và chỉ được thực hiện với 3 biểu thức. Do vậy nó có dạng chắc chắn hơn so với các dạng khác của thuật toán giàn LS. Tuy nhiên, nó yêu cầu các phép tính căn bậc 2 các phép tính này mất nhiều thời gian. Vấn đề này thì được giải quyết bằng cách sử dụng bộ xử lí CORDIC, có thể tính căn bậc 2 trong N xung, với N là số bits độ dài từ được tính. 2.2.2. Thuật toán thang lưới Gradient Các thuật toán giàn hình thang được mô tả ở các phần trước thì hoàn phức tạp hơn so với thuật toán LMS nhưng lại có chất lượng tốt hơn. Khi cố gắng đơn giản cách tính toán của dạng này, mà vẫn giữ được tính tối ưu của nó, ta chú ý tới cấu trúc bộ lọc giàn hình thang với số tham số bộ lọc được giảm thiểu. Trong thực tế, cấu trúc bộ lọc thang lưới được thể hiện như ở hình 2.6. Mỗi tầng của giàn đặc trưng bởi hệ thức giữa đầu vào và đầu ra 62 (2.2.115) Với là hệ số phản xạ của tầng thứ m, và là phần dư tiến và lùi. Hình 2.6 Bộ lọc thang lưới gradient Dạng bộ lọc này thì giống với dạng được suy ra từ thuật toán Levinson- Durbin, trừ việc được phép thay đổi theo thời gian. So sánh với thuật toán giàn RLS, thuật toán này hạn chế hơn trong việc ước lượng hệ số tiến và + + + + + + + + + + + Stage 1 Stage 1 Stage M-1 - - - - - + + + … .. … .. … .. … .. 63 lùi. Tham số có thể được tối ưu theo chuẩn MSE hoặc theo phương pháp bình phương tối thiểu. Giả sử ta có chuẩn MSE và chọn các tham số để tối thiểu hóa tổng lỗi bình phương trung bình tiến và lùi. Khi ta giảm sự phụ thuộc vào thời gian của (2.2.116) Chú ý rằng có dạng hệ số tương quan chuẩn hóa. Khi đặc tính thống kê của tín hiệu chưa được biết đến, ta chấp nhận chuẩn bình phương tối thiểu để xác định . Chỉ số đặc trưng được tối thiểu hóa (2.2.117) Ta có (2.2.118) Trong (2.2.118), tử và mẫu có thể được viết theo thời gian như sau (2.2.119) Và (2.2.120) 64 Biểu thức theo thời gian của (2.2.121) Ta định dạng đầu ra của cấu trúc như ở hình 6.4 như một tổ hợp tuyến tính của các phần dư tiến (2.2.122) Với là trọng số của phần thang. Giá trị tối ưu của trọng số có thể có được bằng cách tối thiểu MSE giữa tín hiệu mong muốn và ước lượng của nó. Gọi là chênh lệch giữa và ước lượng của nó ở tầng thứ m. Và với ta có (2.2.123) Lỗi trong (2.2.123) có thể viết ở dạng ma trận (2.2.124) Với là vector trọng số hình thang và là vector dư tiến. Nếu ta giả thiết việc thống kê tín hiệu là không đổi, ta có thể giảm sự phụ thuộc vào thời gian của vector hệ số và chọn thỏa mãn điều kiện trực giao (2.2.125) Thay (2.2.124) vào (2.2.125) và dùng phép toán kì vọng ta có 65 Tương đương (2.2.126) Một đặc tính quan trọng của phần dư tiến trong bộ lọc giàn được mô tả bởi (2.2.115) (2.2.127) Do đó ma trận là ma trận chéo và do vậy hệ số khuếch đại thang tối ưu là (2.2.128) Vấn đề còn lại là điều chỉnh hệ số khuếch đại thang cho thích nghi. Do tối thiểu hóa MSE và , lỗi sẽ trực giao với phần dư trước trong . Điều này đưa ra thuật toán gradient ở dạng (2.2.129) Với là ước của và có thể tính toán một cách đệ quy. (2.2.130) Tuy nhiên, việc tính toán như ở (2.2.130) có thể không thực hiện được. Do đó phần dư trước và sau có giá trị bình phương trung bình ban đầu, và biến được ước lượng bằng . Và (2.2.129) có thể được viết (2.2.131) Thuật toán ở (2.2.131) dùng để cập nhật hệ số khuếch đại thang là thuật toán gradient, bộ lọc được gọi là bộ lọc giàn hình thang gradient. Thành phần đóng vai trò như kích thước bước nhảy. 66 2.2.3. Thuộc tính của thuật toán thang lưới Tốc độ hội tụ Thuật toán giàn hình thang về cơ bản có tốc độ hội tụ như cấu trúc bội lọc FIR dạng trực tiếp. Tuy thuật toán giàn gradient còn một vài đặc tính của giàn RLS, nhưng lại không tối ưu trong hướng bình phương tối thiểu, do đó nó hội tụ chậm. Yêu cầu tính toán Thuật toán giàn RLS mô tả trong phần trên có cách tính toán phức tạp tỉ lệ thuận với M. Trái lại, thuật toán RLS căn bậc hai tỉ lệ với . Mặt khác, thuật toán nhanh dạng trực tiếp, thuật toán bắt nguồn từ thuật toán giàn RLS, tỉ lệ với M. Thuộc tính số Thuật toán giàn RLS và gradient là lớn về số lượng. Đầu tiên, thuật toán giàn là ổn định về số. Ổn định về số có nghĩa là lỗi ước lượng ở đầu ra có được nhờ tính toán thì bị chặn khi tín hiệu lỗi bị chặn được đưa vào đầu vào. Thứ 2, độ chính xác số của phần tối ưu cũng được so sánh trong mối liên hệ với thuật toán FIR dạng trực tiếp và thuật toán LMS. Trong thuật toán giàn gradient, các hệ số phản xạ và hệ số khuếch đại thang cũng được cập nhật trực tiếp. Sự hoạt động Cấu trúc bộ lọc giàn có tính kết cấu cao và cho phép tính toán nối truyền liên tiếp. Thực tế, thuật toán RLS và giàn gradient thích ứng với sự hoạt động trong VLSI. Tổng kết Trên đây chúng ta đã được thấy các thuật toán thích nghi cho bộ lọc FIR dạng trực tiếp và cấu trúc lưới. Các thuật toán cho bộ lọc FIR dạng trực tiếp là thuật toán LMS đơn giản, thuật toán bình phương tối thiểu đệ quy thời gian(RLS). Trong đó thuật toán LMS là đơn giản nhất. Nó được sử dụng trong nhiều ứng dụng yêu cầu tốc độ hội tụ chậm. Thuật toán RLS được dùng trong các 67 ứng dụng yêu cầu tốc độ hội tụ cao hơn. Các thuật toán dành cho bộ lọc có cấu trúc thang lưới là: thuật toán thang lưới RLS tối ưu, thuật toán thang lưới gradient. 68 Chương 3. MÔ PHỎNG ỨNG DỤNG CỦA BỘ LỌC THÍCH NGHI Bộ lọc thích nghi được sử dụng rộng rãi trong các hệ thống liên lạc, điều khiển. Một số ứng dụng được mô tả trên lí thuyết, một số khác được đưa vào hệ thống anten thích nghi. Trong hệ thống đó, bộ lọc thích nghi được dùng để chỉnh búp sóng. Bộ lọc thích nghi cũng được đưa vào bộ tiếp nhận thông tin số để khử nhiễu liên kí tự và để nhận dạng kênh, đưa vào các kĩ thuật triệt nhiễu để ước lượng và hạn chế thanh phần nhiễu trong tín hiệu. Trong chương 3, ta đưa mô phỏng về ứng dụng của bộ lọc thích nghi. Bộ lọc thích nghi với thuật toán LMS dùng trong ứng dụng này để ước lượng nhiễu, đồng thời cũng đưa ra hệ số bộ lọc. Hệ số bộ lọc thay đổi theo thời gian và lỗi ước lượng cũng giảm theo sự thay đổi đó. 3.1 Sơ đồ mô phỏng Hình 3.1 Sơ đồ mô phỏng Sơ đồ dùng các khối sau: - Sine wave: cung cấp tín hiệu hình sin ban đầu. tín hiệu ở đầu ra của khối này được đưa trực tiếp vào time scope. - Random source: tạo nhiễu là 1 tín hiệu bất kì. 69 - Digital filter design: bộ lọc thông thấp giới hạn tần số của nhiễu. - Bộ lọc thích nghi sử dụng thuật toán LMS với các thông số bộ lọc được chọn như sau: + Filter length = 32 + Algorithm = Normalized LMS + Specify step size via = Dialog + Step size (mu) = 0.1: xác định chi tiết bước nhảy của bộ lọc + Leakage factor (0 to 1) = 1.0 + Initial value of filter weights = 0 + Bỏ chọn Adapt port + Reset port = None + Chọn Output filter weights check box. Dựa vào các thông số này, bộ lọc tính toán các trọng số bằng cách sử dụng thuật toán LMS. Do ta chọn Leakage factor (0 to 1) = 1.0, giá trị của hệ số bộ lọc phụ thuộc vào các điiều kiện ban đầu của bộ lọc và các giá trị đầu vào trước đó. Giá trị ban đầu của hệ số bộ lọc bằng 0 và sẽ tăng theo thời gian. - Time scope: dùng đo và thể hiện dạng tín hiệu tạo ra trong quá trình mô phỏng. - Vector scope: thể hiện các giá trị của hệ số bộ lọc. 3.2 Hoạt động - Nối đầu ra của Random source với đầu vào của bộ lọc LMS. - Nối đầu ra của Digital filter design với đầu desired của bộ lọc. Đây là tín hiệu ta muốn bộ lọc sao chép lại. - Nối đầu ra của ra của bộ lọc với port âm của bộ cộng thứ 2. - Nối đầu ra của bộ cộng thứ nhất với port dương của bộ cộng thứ 2. Đầu ra của bộ cộng thứ nhất là tổng của tín hiệu ban đầu và nhiễu tần số thấp, gọi là . Đầu ra của bộ lọc là dự đoán tốt nhất của nhiễu tần thấp, gọi là . Khi ta trừ 2 tín hiệu này, ta sẽ có gần đúng của tín hiệu ban đầu. 70 Với là tín hiệu vào ban đầu. là tín hiệu gần đúng của . y là nhiễu được tạo ra từ Random source và Digital filter design. là gần đúng của y. Do bộ lọc chỉ có thể tính gần đúng với y nên vẫn có sự sai khác giữa tín hiệu ban đầu và . - Nối đầu ra của bộ cộng thứ 2 với port thứ 3 của time scope. - Nối đầu ra erros của bộ lọc với port thứ 4 của time scope. - Nối đầu ra wts của bộ lọc vơi vector scope. Hình 3.1 Cửa sổ time scope Kết quả mô phỏng được thể hiện trên cửa sổ của time scope. Ta sẽ thấy theo thời gian lỗi sẽ giảm và tín hiệu nhận được sẽ gần giống với tín hiệu ban đầu. 71 KẾT LUẬN Trên đây em đã trình bày toàn bộ phần nội dung nghiên cứu vê bộ lọc thích nghi. Để hiểu về hoạt động của bộ lọc, em đã thực hiện tìm hiểu cụ thể về các thuật toán dùng trong đó. Các thuật toán đó được bao gồm các thuật toán cho bộ lọc FIR dạng trực tiếp và cho cấu trúc lưới. Các thuật toán cho bộ lọc FIR dạng trực tiếp là thuật toán LMS đơn giản, thuật toán bình phương tối thiểu đệ quy thời gian(RLS). Trong đó thuật toán LMS là đơn giản nhất. Nó được sử dụng trong nhiều ứng dụng yêu cầu tốc độ hội tụ chậm. Thuật toán RLS được dùng trong các ứng dụng yêu cầu tốc độ hội tụ cao hơn.Các thuật toán dành cho bộ lọc có cấu trúc thang lưới là: thuật toán thang lưới RLS tối ưu, thuật toán thang lưới gradient. Các thuật toán này giúp bộ lọc thích nghi được với sự thay đổi của tín hiệu đầu vào và tốc độ hội tụ thích hợp. Và từ phần mô phỏng trên, ta cũng thấy rõ hơn về hoạt động của bộ lọc với một thuật toán cụ thể, thuật toán LMS. Với sự phát triển mạnh mẽ của khoa học kỹ thuật, các ngôn ngữ lập trình mạnh có kèm theo hộp công cụ xử lý số tín hiệu như ngôn ngữ MATLAB thì việc phân tích và thiết kế các bộ lọc số ngày càng trở nên đơn giản (kể cả bộ lọc FIR và bộ lọc IIR) và độ chính xác của phép toán sẽ tăng lên. Do điều kiện thời gian có hạn cộng với khả năng còn hạn chế nên chắc không tránh khỏi thiếu sót. Vậy rất mong được quý thầy cô chỉ bảo để quyển đồ án này được hoàn thiện. Em xin chân thành cám ơn thầy Nguyễn Văn Dương, thày giáo hướng dẫn trực tiếp, và các thày cô khác trong bộ môn đã tận tình giúp đỡ và tạo 72 điều kiện để em hoàn thành quyển đồ án này. TÀI LIỆU THAM KHẢO 1. John G. Proakis and Dimitris G.Manolakis (1982), Digital signal processing,Macmillan Publishing Company. 2. John G. Proakis (1983), Digital Communication, McGraw-Hill Book Company. 3. Nguyễn Quốc Trung (2001), Xử lí tín hiệu và lọc số tập 1 và 2, Nhà xuất bản khoa học và kĩ thuật. 4. Các tài liệu liên quan khác của - Eleftheiou và Falcorner(1987). - Cioffi và Kailath(1984). - Hsu(1982). 73

Các file đính kèm theo tài liệu này:

  • pdfNghiên cứu về bộ lọc thích nghi.pdf