Sử dụng Simulink xây dựng hệ thống lọc thích nghi khử nhiễu bằng thuật toán LMS.

Một phần của tài liệu nghiên cứu thiết kế mạch lọc thích nghi sử dụng lớp thuật toán lms với công nghệ fpga (Trang 55 - 64)

D n () ∈ () n2 → const kh in →∞

E nν nk k

3.2. Sử dụng Simulink xây dựng hệ thống lọc thích nghi khử nhiễu bằng thuật toán LMS.

thuật toán LMS.

Để thấy rõ hiệu quả của lọc thích nghi và đề ra phương pháp cấu trúc phần cứng, ta xem xét mạch khử nhiễu cho tín hiệu thoại được xây dựng trong Simulink như ở hình 3.2:

Hình 3.2 Sơ đồ tổng quát lọc bỏ nhiễu bằng matlab và phần cứng

Hình 3.2 có 2 khối lọc thích nghi LMS, khối bên trên thuần túy “mềm”, nghĩa là chỉ được hình thành từ các lệnh, khối bên dưới được xây dựng theo cấu trúc phần cứng sẽ được thực hiện trong thực tế. Sở dĩ có 2 khối lọc là bởi ta muốn so sánh hiệu quả lọc của 2 khối “cứng” và “mềm”. Cấu trúc của khối “cứng”, là

khối trung tâm trên hình 3.2, sẽ được thảo luận chi tiết ở phần sau. Bây giờ ta xem xét các khối phụ trợ khác.

3.2.1. Sơ đồ mô phỏng lọc bỏ nhiễu bằng khối mềm:

Đây là khối “mềm”, nó có nhiệm vụ lọc thích nghi bằng phần mềm Matlab.

Hình 3.3. Sơ đồ lọc bỏ nhiễu bằng Matlab

Nó được dùng để làm chuẩn cho tín hiệu được lọc bởi khối “cứng”: tín hiệu đầu ra của 2 khối này được so sánh với nhau, nếu chất lượng của chúng tương đương thì ta có thể nói rằng phương án thiết kế phần cứng là hợp lý. Một số khối con ở hình 3.3:

 1/z :đây là khối delay, có tác dụng trích mẫu tín hiệu vào và cất giữ giá trị thu được trong một chu kỳ trích mẫu.

 Acoutic Environment (Môi trường âm thanh): dùng để tạo ra tín

hiệu bị nhiễu và nhiễu, có 2 đầu ra là Exterior Mic (chỉ duy nhất là nhiễu) và Pilot's Mic (gồm tín hiệu gốc cộng với nhiễu ).

 Normal Adapt/Slower Adapt :lựa chọn tốc độ thích nghi, thích nghi với tốc độ chậm hoặc thích nghi với tốc độ bình thường.

 Khối LMS là bộ lọc sử dụng thuật toán thích nghi LMS của Matlab. Khối này có nhiệm vụ là phải khử nhiễu ở đầu vào Desired, bằng cách lọc thích nghi ước lượng nhiễu ở đầu vào Input sao cho gần giống với nhiễu ở đầu Desired sau đó cho qua bộ trừ để còn lại tín hiệu không bị nhiễu. Các trọng số lọc (Output) của bộ lọc thích nghi tuân theo quy luật là điều chỉnh đầu ra Error (e(n)) theo tiêu chuẩn bình phương trung bình cực tiểu. Cấu trúc của khối này như sau:

Hình 3.5. Khối môi trường âm thanh

 Noise: là khối tạo nhiễu

 Convert: chuyển đổi tín hiệu nhiễu thành dữ liệu để đưa vào đầu vào bộ lọc số (Digital Filter)

 Đây là khối Switch có tác dụng chuyển mạch, đưa tín hiệu từ

đầu vào 1 hoặc 3 tới đầu ra. Tín hiệu điều khiển chuyển mạch (Filter - chọn loại bộ lọc) được đưa tới đầu vào 2 (đầu vào ở giữa). Ngưỡng giá trị điều khiển chuyển mạch được khai báo bằng tham số Threshold. Khi tín hiệu điều khiển ≥ Threshold, đầu ra được nối tới đầu vào 1 (ở đây là nối với bộ

Bandpass: lọc thông giải). Khi tín hiệu điều khiển < Threshold, đầu ra được nối tới đầu vào 3 (ở đây là nối với bộ Lowpass: lọc thông thấp)

 Digital Filter: Bộ lọc số sử dụng kiểu FIR

 đây là nguồn file tín hiệu âm thanh chuẩn

không bị nhiễu.

 Đầu ra Pilot's Mic là tổng hợp của tín hiệu âm thanh chuẩn và nguồn nhiễu.

3.2.2. Sơ đồ lọc bỏ nhiễu bằng phần cứng:

3.2.2.1. Cấu trúc tổng quát:

Hình 3.6 mô tả sơ đồ chức năng của bộ lọc nhiễu được dự định thiết kế bằng phần cứng. Trung tâm của nó là khối “cứng” LMS.

Hình 3.6. Sơ đồ lọc bỏ nhiễu bằng phần cứng

Nguyên lý giống như mô phỏng bằng Matlab tuy nhiên khối LMS phải sử dụng phần cứng để thiết kế theo thuật toán lọc thích nghi LMS.

Khối lms trên hình 3.6 cần được thiết kế sao cho tín hiệu đầu ra của nó có chất lượng tương đương với đầu ra của khối “mềm” được trình bày ở phần trên.

Khối lms được thiết kế dựa trên những nguyên tắc sau:

 Thực hiện trên cơ sở lọc FIR: đặc tính quí giá của lọc FIR là luôn luôn ổn định và vì thế hết sức phù hợp để thiết kế lọc thích nghi, bởi trong quá trình thích nghi, các hệ số lọc luôn thay đổi mà vẫn đảm bảo tính ổn định của hệ thống.

 Cấu trúc modul: Lọc thích nghi lms được thiết kế theo cấu trúc

modul, điều này cho phép dễ dàng xây dựng lọc bậc cao bằng cách ghép nối các modul bậc thấp hơn.

 Dễ dàng cho việc mô phỏng và chương trình hóa bằng ngôn ngữ

VHDL hoặc Verilog.

3.2.2.2. Cấu trúc nối tiếp của lọc thích nghi LMS 40 taps:

Không mất tính tổng quát, chúng tôi dự kiến thiết kế khối LMS 40 taps dựa trên các nguyên tắc đã trình bày ở trên:

 Khối LMS có 4 modul LMS con, mỗi khối có 10 bậc trọng số lọc,

các khối này nối tiếp nhau tạo thành bộ lọc LMS 40 bậc. ( Khi bỏ đi các modul, ta sẽ nhận được mạch lọc bậc thấp hơn, chẳng hạn bỏ đi 1 modul ta nhận được mạch lọc 30 tap. Tương tự, khi nối thêm các modul, ta sẽ nhận được mạch lọc bậc cao hơn)

 Tín hiệu đầu vào Input (y(n) là tín hiệu nhiễu), được đưa vào thanh ghi dịch đầu vào (1/z) sau đó qua các khối LMS con.

 Tín hiệu đầu vào Desired (d(n) là tín hiệu gốc cộng với nhiễu), được đưa vào thanh ghi dịch đầu vào (1/z). Tín hiệu này trừ đi tín hiệu Sum_out của LMS ta được tín hiệu Error_out (e(n))

 Điều chỉnh tín hiệu Error_out tuân theo thuật toán lọc thích LMS, ta sẽ được các trọng số lọc thay đổi theo. Lúc đó sẽ lọc bỏ được nhiễu.

Hình 3.7 trình bày bộ lọc thích nghi lms. Đầu vào, ra của nó bao gồm: 1. Cổng vào input: đây là lối vào cho nhiễu.

2. Cổng vào desired: tín hiệu có ích cộng nhiễu sẽ đưa tới cổng này 3. Cổng vào Step_size: Đây là lối vào cho hệ số thích nghi ( bước thích

nghi), xem công thức 2.7.

4. Cổng vào Reset_weights: Đưa tín hiệu reset tới mạch lọc.

5. Đầu ra Error_Out là thành phần lỗi, chính là tín hiệu sạch đã qua xử lý Như đã thấy trên hình 3.7, lọc lms được hình thành từ 4 modul mắc nối tiếp nhau, mỗi modul có 10 taps và hoàn toàn có thể hình thành một mạch lọc riêng biệt. Khối nhân product thực hiện tính toán thành phần thứ 2 trong công thức 2.7.

3.2.2.3. Cấu trúc modul 10 taps của lọc thích nghi LMS:

Mỗi modul ở hình 3.7 có cấu trúc như ở hình 3.8, các đầu vào, ra của nó bao gồm:

 Đầu vào dữ liệu data_in

 Đầu vào step_size

 Đầu vào reset

 Đầu vào Sum_in: Nhận tín hiệu từ tap đứng trước để thực hiện cộng tích lũy

H ìn h 3. 7. S ơ đồ k hố i l ọc th íc h ng hi L M S

3.2.2.4. Cấu trúc của một tap: nh 3. 8. K hố i L M Sx 10 x1 (1 0 bậ c)

Mỗi modul có 10 taps, mỗi tap lại có cấu trúc như hình 4.9.

Hình 3.9. Khối LMS_Tap1

Để hiểu hoạt động của sơ đồ này ta quay lại hình 3.7, ở đó đường Step_Size đầu vào bộ lọc tiếp nhận giá trị của bước điều chỉnh µ, trong khi đó đầu vào

Step_Size cho mỗi modul lại là tích của µ với thành phần lỗi Error_Out. Ta

viết lại công thức 2.7, là phương trình cập nhật trọng số lọc của thuật toán LMS :

ˆ( + =1) ˆ( )+ ( ) ( )∗

w n w n µu n e n

Đây là công thức ở dạng vector, mỗi hệ số lọc được tính như sau:

ˆ( + =1) ˆ( )+ ( ) ( )∗

w n w n µu n e n

Rõ ràng để tính toán thành phần thứ 2 của vế phải, ta cần phải tiếp tục nhân với tín hiệu vào u(n), khối product ở hình 3.9 làm nhiệm vụ này.

Tín hiệu đầu ra của bộ lọc được xác định bởi công thức (2.5) như sau:

ˆ

( )=wH( ) ( )u

y n n n

Với ()H là toán tử Ha-min-ton ( kết hợp chuyển vị và lấy liên hiệp phức). Trong thiết kế này ta chỉ làm việc với tín hiệu thực, khi đó H chỉ là toán tử chuyển vị. Thực hiện khai triển công thức trên ta nhận được:

0 1 2 M

Như thế tại mỗi tap, ta cần phải thực hiện phép nhân trọng số lọc với tín hiệu vào tương ứng, khối product5 ở hình 3.9 làm nhiệm vụ này.

Trong hình 4.9, khối Data_Delay1 làm nhiệm vụ tạo ra tín hiệu bị trễ một chu kì lấy mẫu để phục vụ cho tap tiếp theo.

Một phần của tài liệu nghiên cứu thiết kế mạch lọc thích nghi sử dụng lớp thuật toán lms với công nghệ fpga (Trang 55 - 64)

Tải bản đầy đủ (DOC)

(123 trang)
w