ChƯơng 2: Cấu trúc dμn lọc vμ các phép toán
3.2. Lọc thích nghi nhiễu âm học
3.2.1. Lọc thích nghi nhiễu âm học trên toàn dải thông
Hình 3.8. Chương trình xử lý nhiễu âm học trên toàn dải thông viết bằng SIMULINK
Trong mô hình này, chúng ta cần tạo ra 2 loại tín hiệu đầu ra nhằm xây dựng Môi trường nhiễu âm học ảo. Trên thực tế có thể tiến hành đo đạc để khảo sát và thu thập tín hiệu vọng thật sự nhưng việc này hoàn toàn có thể thực hiện trên MATLAB (hiệu ứng nhiễu âm học có thể cảm nhận rõ ràng bằng thính giác). Tín hiệu thứ nhất đó là nhiễu trắng cộng tính, được dùng làm tín hiệu tham chiếu đưa vào Input của bộ lọc thích nghi LMS. Tín hiệu thứ 2 là nhiễu màu hay còn gọi là nhiễu không Gauss được kết hợp với tín hiệu sạch từ 1 file audio bất kỳ (ở đây là tiếng người đang gõ trống). Mô hình này sử dụng lọc thích nghi để loại bỏ nhiễu từ tín hiệu thứ hai này. Khi chạy chương trình, người sử dụng có thể nghe được 3 file âm thanh: file gốc, file bị nhiễu âm học và file khôi phục.
Riêng với file khôi phục, lúc đầu chúng ta thấy tiếng trống và nhiễu, một lúc sau sẽ chỉ còn tiếng trống như của tín hiệu gốc.
Một điểm thú vị của chương trình đó là màu sắc của các khối (block). Ở đây, thời gian lấy mẫu nhanh nhất (tín hiệu âm thanh lấy mẫu ở tần số 8kHz) được thể
hiện bằng màu đỏ. Chúng ta có thể thấy màu sẽ chuyển từ đỏ sang xanh lá cây sau khi qua bộ giảm mẫu M=32 (trước khi đi vào khối Waterfall Scope).
Khối Waterfall mô tả các hệ số bộ lọc thích nghi theo thời gian. Chức năng của nó là thể hiện các vectơ dữ liệu theo thời gian. Dữ liệu sẽ được hiển thị 3 chiều:
trục x là biên độ, trục y là các mẫu và trục z là thời gian.
Nhiễu trắng được sử dụng để tạo nhiễu âm học trong bài toán này. Nếu chúng ta chọn giá trị 1 trong ô Filter thì nhiễu trắng sẽ đi qua bộ lọc thông thấp rồi công với tín hiệu gốc. Nếu chúng ta chọn giá trị 0 trong ô Filter thì nhiễu trắng sẽ đi qua bộ lọc thông dải rồi cộng với tín hiệu gốc rồi đưa ra Mic.
Hình 3.9. Tín hiệu âm thanh gốc, bị nhiễu âm học và khôi phục
Kết quả trong hình 3.9 thu được nhờ sử dụng bộ lọc thích nghi LMS có chiều dài 40 và bước nhảy thích nghi là 0.04. Giá trị của bước nhảy rất quan trọng (xem hình 3.10) trong việc hội tụ của lọc thích nghi. Từ hình 3.10 thấy rõ rằng việc giảm bước nhảy xuống 0.002 sẽ làm thời gian hội tụ của bộ lọc tăng lên. Điều này cũng thể hiện khi ta lắng nghe âm thanh lúc khôi phục thì gần nửa thời gian đầu vẫn cảm nhận rõ tác động của nhiễu.
Hình 3.10. Tín hiệu âm thanh khôi phục với bước nhảy giảm còn 0.002
Hình 3.11 và 12 mô tả lỗi sai khác giữa tín hiệu gốc và tín hiêu khôi phục ứng với trường hợp bước nhảy là 0.04 và 0.002. Rõ ràng là trường hợp bước nhảy nhỏ thì lúc hội tụ sẽ cho tín hiệu khôi phục là tốt hơn. Điều đó có ý nghĩa rất quan trọng khi thiết kế bộ lọc thích nghi phải thoả hiệp giữa các tiêu chuẩn này.
Hình 3.11. Sai khác giữa tín hiệu khôi phục và tín hiệu gốc (bước nhảy 0.04)
Hình 3.12. Sai khác giữa tín hiệu khôi phục và tín hiệu gốc (bước nhảy 0.002)
Ngoài ra, khảo sát việc lựa chọn kích thước của bộ lọc thích nghi cũng cho ta những nhận xét thú vị. Nhưng để luận văn được tập trung về nội dung thì chúng tôi không trình bày ở đây. Hình 3.13.a mô tả hệ số của bộ lọc thích nghi theo thời gian (bước nhảy 0.002). Để thấy rõ sự hội tụ của các trọng số bộ lọc chúng ta có thể xem trong hình 3.13.b.
Hình 3.13.a. Trọng số bộ lọc thích nghi theo thời gian
Hình 3.13.b. Các trọng số của bộ lọc thích nghi hội tụ theo thời gian
So sánh việc thực thi của các thuật toán thích nghi LMS và RLS được thực hiện trên mô hình 3.14. Những đánh giá được mô tả trong chương đầu của luận văn và chúng tôi sẽ không đi sâu vào đánh giá thêm nữa. Hình 3.15 là so sánh tín hiệu gốc với tín hiệu khôi phục nhờ RLS và LMS.
Hình 3.14. So sánh việc thực thi của các thuật toán thích nghi
Hình 3.15. So sánh tín hiệu gốc với tín hiệu khôi phục nhờ RLS và LMS.