Mô phỏng khử nhiễu bằng bộ lọc RLS trong Mathlab

I.Lí thuyết về bộ lọc thích nghi II.Mô hình bộ lọc RLS III. Thuật toán mô phỏng và kết quả mô phỏng

docx6 trang | Chia sẻ: banmai | Lượt xem: 2945 | Lượt tải: 3download
Bạn đang xem nội dung tài liệu Mô phỏng khử nhiễu bằng bộ lọc RLS trong Mathlab, để tải tài liệu về máy bạn click vào nút DOWNLOAD ở trên
LỌC NHIỄU BẰNG BỘ LỌC THÍCH NGHI RLS Thiết kế này minh họa khả năng của bộ lọc RLS để trích xuất thông tin hữu ích từ một tín hiệu đã bị nhiễu. Các tín hiệu mang thông tin là một sóng sine mà bi làm hỏng bởi nhiễu gauss trắng ngẫu nhiên. Hệ thống thích nghi dùng để lọc nhiễu giả định việc sử dụng hai micro. Một microphone lấy tín hiệu đầu vào cùng với nhiễu, trong khi một micro nhận được nhiễu là không tương quan với các tín hiệu mang thông tin, nhưng là tương quan với nhiễu của các microphone chính. Lưu ý: demo này tương đương với các mô hình Simulink ® 'rlsdemo' cung cấp. % Tham khảo: S. Haykin, "Adaptive Filter Theory", 3rd Edition, Prentice Hall, NJ%, năm 1996. Mô hình này minh họa khả năng thích ứng của RLS lọc để trích xuất thông tin hữu ích từ một tín hiệu ồn ào. priv_drawrlsdemo trục off Các tín hiệu mang thông tin là một làn sóng sine của 0,055 chu kỳ / mẫu. signal = sin(2*pi*0.055*(0:1000-1)'); plot(0:199,signal(1:200)); grid; axis([0 200 -2 2]); title('thong tin tin hieu'); Tín hiệu nhiễu vào microphone thứ hai là đầu vào cho các RLS thích ứng lọc. noise = randn (1000,1) * nvar; % nhieu trang ngau nhien plot (0:999, noise); title (' tin hieu nhieu ' ); grid; axis ([0 1000 -4 4]); Nhiễu làm sai lệch tín hiệu mang thông tin.Lọc tín hiệu nhiêu qua bộ lọc FIR nfilt = fir1 (31,0.5); % 31 là bậc bộ lọc FIR fnoise =filter (nfilt, 1, noise); % lọc nhiễu Tín hiệu bị nhiễu d = signal + fnoise; plot (0:199, d (1:200)); grid; axis ([0 200 -4 4]); title( ‘ tin hieu vao bo loc thich nghi = tin hieu + nhieu ' ); Thiết lập và khởi tạo các thông số thích nghi RLS lọc và giá trị: M = 32; % bậc bộ lọc lam = 1; % hệ số trọng số delta = 0.1; % đầu vào hiệp phương sai ước lượng ban đầu w0 = zeros (M, 1); % trọng lượng ban đầu tập vector P0 = (1/delta) * eye (M, M); Zi =zeros (M-1, 1); Chạy RLS thích ứng lọc cho 1000 lần lặp lại. chủ yếu cho thấy sự hội tụ của phản ứng lọc thích nghi với sự hưởng ứng của bộ lọc FIR. Hadapt = adaptfilt.rls(M,lam,P0,w0,Zi); Hadapt.PersistentMemory = true; [y,e] = filter(Hadapt,noise,d); H = abs(freqz(Hadapt,1,64)); H1 = abs(freqz(nfilt,1,64)); wf = linspace(0,1,64); plot(wf,H,wf,H1); xlabel('tan so (\times\pi rad/sample)'); ylabel('bien do'); legend('dap ung loc thich nghi dat duoc','Dap ung loc thich nghi yeu cau'); grid; axis([0 1 0 2]); Kết quả của việc lọc nhiễu. plot(0:499,signal(1:500),0:499,e(1:500)); grid; axis([0 500 -4 4]); title('So sanh tin hieu goc va tin hieu bi nhieu'); legend('tin hieu goc', 'tin hieu da loc nhieu'); Nhận xét: -Bộ lọc thích nghi rất tốt - Tín hiệu sau khi lọc có dang gần giống như tín hiệu gốc.

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

  • docxMo phong loc nhi7877u bang bo loc RLS trong DSP.docx
Tài liệu liên quan