3.1. GIỚI THIỆU VỀ CÔNG CỤ SPTOOL
3.1.1 Thiết kế bộ lọc số bằng công cụ SPTool:
- SPTool là một công cụ có giao diện GUI cho xử lý tín hiệu. Công cụ này có thể đƣợc sử dụng phân tích tín hiệu, mô phỏng quá trình thiết kế bộ lọc, phân tích các
bộ lọc, lọc tín hiệu và phân tích phổ của tín hiệu.
- Để khởi động SPTool. Từ command gõ lệnh: >> sptool - Khi đó giao diện của SPTool sẽ nhƣ sau:
31
Hình 3.1: Giao diện của SPTool
- Giao diện của SPTool có 3 cột bao gồm tập hợp các tín hiệu, bộ lọc và phổ mặc định tƣơng ứng với : Signals, Filters và Spectra. Dƣới mỗi cột có các button sử dụng cho cột đó.
- Các tín hiệu, bộ lọc hoặc phổ của Matlab có thể đƣợc đƣợc đƣa vào SPTool bằng lệnh Import trong menu File của SPTool. Các tín hiệu, bộ lọc hoặc phổ đƣợc import vào SPTool tồn tại dƣới dạng cấu trúc của MatLab. Để lƣu lại tín hiệu, bộ lọc và phổ đã đƣợc tạo hoặc chỉnh sửa trong SPTool ta dùng lệnh Export trong menu File.
- Để thiết kế một bộ lọc mới. Sử dụng button New ngay dƣới cột Filter. Khi đó giao diện Filter Designer dùng để thiết kế bộ lọc sẽ xuất hiện.
- Có thể gọi ra Filter Designer bằng lệnh >>fdatool
- Filter Designer cung cấp một môi trƣờng đồ họa tƣơng tác để thiết kế bộ lọc số IIR hoặc FIR dựa trên các thông số do ngƣời dùng lựa chọn.
+ Các loại bộ lọc có thể thiết kế: thông thấp, thông cao, thông dải, chắn dải. + Các phƣơng pháp thiết kế bộ lọc FIR: Equiripple, Least Squares, Window. + Các phƣơng pháp thiết kế bộ lọc IIR: Butterworth, Chebyshev I, Chebyshev II và Elliptic.
32
Hình 3.2: Giao diện của Filter Designer (>>fdatool)
- Response Type: Lựa chọn kiểu bộ lọc thông thấp, thông cao, thông dải, chắn dải.
- Design Method: Các phƣơng pháp dùng để thiết kế bộ lọc IIR hoặc FIR. - Filter Order: Bậc của bộ lọc (Độ dài của đáp ứng xung).
- Apass/2: Độ gợn sóng trong dải thông (dB). - Astop: Độ suy giảm trong dải chắn (dB). - Fs: Tần số lấy mẫu.
- Fpass: Tần số giới hạn của dải thông. - Fstop: Tần số giới hạn của dải chắn.
33
3.1.2 Phân tích bộ lọc:
- Sau khi thiết kế xong bộ lọc, Chúng ta có thể thể hiện nhƣng đáp ứng của bộ lọc trong thanh hiển thị trên thanh công cụ của Filter Designer bằng cách click vào những icon trên thanh công cụ này hoặc lựa chọn từ menu Analysis.
3.1.3 Thiết kế những bộ lọc bổ sung:
- Chúng ta có thể thiết kế một dãy các bộ lọc. Phần này thể hiện nhƣ thế nào bạn có thể thiết kế và lƣu lại với các bộ lọc khác nhau. Bản bên dƣới định nghĩa cho những thông số cho các bộ lọc. Chú ý rằng tất cả các dãy đều có thông số nhƣ sau: Bandpass, IIR-Butterworth, order = 6, Fs =48000Hz.
Fc1 Fc2 Tên bộ lọc 22 45 Bandpass Butterworth - 1 45 89 Bandpass Butterworth - 2 89 178 Bandpass Butterworth - 3 178 355 Bandpass Butterworth - 4 355 708 Bandpass Butterworth - 5
34 708 1413 Bandpass Butterworth - 6 1413 2818 Bandpass Butterworth - 7 2818 5623 Bandpass Butterworth - 8 5623 11220 Bandpass Butterworth - 9 11220 22387 Bandpass Butterworth - 10
Bảng T3.1: Bảng định nghĩa thông số của 10 bộ lọc thông dải
- Từ command windown. >>fdatool - Giao diện Filter Designer hiện ra: + Trong Respontype: Chọn bandpass. + Trong Design Method: Chọn IIR – Butterworth
+ Trong Filter Order
- Trong Frequency Specifications: ta điền các thông số về tần số của bộ lọc nhƣ đơn vị của tần số Units; tần số lấy mẫu Fs; Tần số cắt 1 Fc1; tần số cắt 2 Fc2
35
- Click vào button Design Filter, sẽ hiển thị đáp ứng biên độ (dB) của mạch loc.
- Click vào Store Filter
- Trong hộp thoại Store Filter, Đặt tên là Bandpass Butterworth-1.
- Dùng những danh sách những thông số ở trên bảng T2.1. Cho mỗi thông số ở mỗi hàng, thiết lập những thông số đó bằng cách thay đổi giá trị của Fc1 và Fc2.
- Ứng với mỗi thông số trên một hàng của bảng T2.1, thực hiện Design Filter và save chúng với Store Filter. Thay đổi name nhƣ bảng trên.
36
3.1.4 Thể hiện những bộ lọc trên trong Fvtool (Filter Visualization Tool):
- Click vào button Filter Manager cho hiển thị hộp thoại Filter Manager, với danh sách những bộ lọc mà bạn đã lƣu.
- Bấm Ctrl + click cho lựa chọn tên của mỗi bộ lọc cho việc lựa chọn toàn bộ hay một phần các bộ lọc muốn thể hiện trong FVTool. Và sau đó click vào button
FVTool.
- Nếu bạn muốn thể hiện một bộ lọc đơn trong FVTool, click the Full View Analysis button khi bộ lọc đƣợc thể hiện trong thanh hiển thị của FDATool hoặc chọn View >Filter Visualization Tool
- Để thay đổi tỷ lệ trục đo x(x-axis) theo log ta chọn Analysis > Analysis Parameter. Rồi thay đổi Frequence Scale : Log -> OK.
37
- Click icon Legend cho hiển thị chú thích cho các bộ lọc. - Click icon Zoom cho điều chỉnh kích thƣớc hiển thị.
38
3.1.5 Export bộ lọc từ FDATool:
- FDATool hổ trợ một phƣơng pháp đơn giản cho tạo các đối tƣợng bộ lọc (dfilts) từ những bộ lọc mà bạn thiết kế. Điều này đặc biệt hữu ích cho những bộ lọc bạn thiết kế trong Matlab workspace cho việc dùng với những hàng command line functions. Bạn có thể lƣu bộ lọc của bạn nhƣ là code Matlab bằng việc dùng
File>Generate MatLab code cho chay trong scripts hoặc batch files.
- Trong FDATool, click Filter Manager and chỉ chọn Bandpass Butterworth – 1.
- Seclec File > Export. - Trong Discrete Filter: Hd1
3.1.6 Thể hiện đối tƣợng export trong matlab command:
- Để xác nhận lại đối tƣợng ta dùng lênh >> whos. - Cho thể hiện bộ lọc dùng lệnh >>Hd1
- Hiển thị thông tin bộ lọc >> info (Hd1)
- Mở FVTool bằng lệnh >> F= fvtool(HD1, ‘Analysis’, ‘magnitude’) >> set(F,’FrequencyScale’, ‘Log’)
- Bây giờ dùng Matlab command line, tạo dữ liệu nhiễu Gause Sau đó lọc tín hiệu nhiễu này bằng những bộ lọc đã thiết kế ở trên
>> rand; %Khoi tao mot so ngau nhien Nx=100000; %So diem du lieu nhieu xw=rand(Nx,1); % Tao nhieu Gause
39
for i=1:10, yw(:,i)=filter(Hdi,xw); %loc nhieu khi nhieu di qua bo loc end; %(:,i) Nghia la tat ca cac hang cua cot i plot(yw) %bieu dien tin hieu sau khi loc
3.2. THIẾT KẾ VÀ MÔ PHỎNG BỘ LỌC SỐ IIR BẰNG SPTOOL