nhom 7 - filter design toolbox
TRANSCRIPT
![Page 1: Nhom 7 - Filter Design Toolbox](https://reader035.vdocuments.pub/reader035/viewer/2022073014/557211c4497959fc0b8f76f9/html5/thumbnails/1.jpg)
Nhóm 7 Filter design Toolbox
Trang 1
ĐẠI HỌC QUỐC GIA HÀ NỘI
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ
----------
TIỂU LUẬN
ĐO LƯỜNG VÀ ĐIỀU KHIỂN MÁY TÍNH
CÔNG CỤ THIẾT KẾ BỘ LỌC (FILTER DESIGN TOOLBOX)
GIÁO VIÊN HƯỚNG DẪN
PGS. TS. TRẦN QUANG VINH
THỰC HIỆN – NHÓM 7:
LÊ NHƯ LẬP
VÕ VĂN KHOÁI
TRẦN DUY NGỌC
Huế - 2012
![Page 2: Nhom 7 - Filter Design Toolbox](https://reader035.vdocuments.pub/reader035/viewer/2022073014/557211c4497959fc0b8f76f9/html5/thumbnails/2.jpg)
Nhóm 7 Filter design Toolbox
Trang 2
MỤC LỤC
I. TỔNG QUAN VỀ CÔNG CỤ THIẾT KẾ BỘ LỌC (FILTER DESIGN
TOOLBOX) ................................................................................................................ 3
I.1. Giới thiệu:.......................................................................................................... 3
I.2. Quy trình thiết kế bộ lọc cơ bản ......................................................................... 3
II. SỬ DỤNG CÔNG CỤ FILTER BUILDER ĐỂ TẠO BỘ LỌC .............................. 5
II.1. Giao diện của Fdesign ...................................................................................... 5
II.1.1. Giới thiệu Filter Builder ............................................................................. 5
II.1.2. Tiến trình thiết kế sử dụng Filterbuilder ..................................................... 5
II.2. Thiết kế bộ lọc FIR sử dụng Filter Builder ....................................................... 7
III. Thiết kế bộ lọc sử dụng FDATool .......................................................................... 8
TÀI LIỆU THAM KHẢO.......................................................................................... 11
![Page 3: Nhom 7 - Filter Design Toolbox](https://reader035.vdocuments.pub/reader035/viewer/2022073014/557211c4497959fc0b8f76f9/html5/thumbnails/3.jpg)
Nhóm 7 Filter design Toolbox
Trang 3
FILTER DESIGN TOOLBOX
I. TỔNG QUAN VỀ CÔNG CỤ THIẾT KẾ BỘ LỌC (FILTER
DESIGN TOOLBOX)
I.1. Giới thiệu:
Fiter design toolbox là một bộ sưu tập các công cụ cung cấp kỹ thuật tiên tiến để
thiết kế, mô phỏng và phân tích các bộ lọc kỹ thuật số. Nó mở rộng khả năng của bộ
công cụ xử lý tín hiệu (Signal Processing Toolbox) với kiến trúc bộ lọc và phương pháp
thiết kế cho các ứng dụng DSP phức tạp, thời gian thực, bao gồm lọc thích ứng và lọc
đa tốc, cũng như các biến đổi bộ lọc.
I.2. Quy trình thiết kế bộ lọc cơ bản
- Tạo một đối tượng đặc điểm kỹ thuật lọc. - Thiết kế bộ lọc mong muốn. Giả sử rằng thiết kế một bộ lọc bandpass.
Trong ví dụ này, tần số lấy mẫu là Fs = 48 kHz. Bộ lọc bandpass này có các thông
số kỹ thuật sau đây, quy định dưới dạng mã MATLAB:
A_stop1 = 60; % Attenuation in the first stopband = 60 dB
F_stop1 = 8400; % Edge of the stopband = 8400 Hz
F_pass1 = 10800; % Edge of the passband = 10800 Hz
F_pass2 = 15600; % Closing edge of the passband = 15600 Hz
F_stop2 = 18000; % Edge of the second stopband = 18000 Hz
A_stop2 = 60; % Attenuation in the second stopband = 60 dB
A_pass = 1; % Amount of ripple allowed in the passband = 1 Db
Trong hai bước sau đây, các thông số kỹ thuật trên được đưa vào phương pháp
fdesign.bandpass như các tham số:
Bước 1:
Để nhập một biến lọc, đánh giá các mã sau đây tại dấu nhắc chương trình
MATLAB:
>> BandPassSpecObj = ...
fdesign.bandpass('Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2', ...
F_stop1, F_pass1, F_pass2, F_stop2, A_stop1, A_pass, ...
![Page 4: Nhom 7 - Filter Design Toolbox](https://reader035.vdocuments.pub/reader035/viewer/2022073014/557211c4497959fc0b8f76f9/html5/thumbnails/4.jpg)
Nhóm 7 Filter design Toolbox
Trang 4
A_stop2, 48000)
BandPassSpecObj =
Response: 'Bandpass'
Specification: 'Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2'
Description: {7x1 cell}
NormalizedFrequency: false
Fs: 48000
Fstop1: 8400
Fpass1: 10800
Fpass2: 15600
Fstop2: 18000
Astop1: 60
Apass: 1
Astop2: 60
Các thông số đặc điểm kỹ thuật, chẳng hạn như Fstop1, tất cả các giá trị mặc định
khi không được cung cấp. Có thể thay đổi giá trị của các tham số đặc điểm kỹ thuật sau
khi các đối tượng đặc điểm kỹ thuật bộ lọc có được tạo ra.
Bước 2:
Thiết kế bộ lọc bằng cách sử dụng lệnh design. Có thể truy cập các phương pháp
thiết kế có sẵn cho các đối tượng đặc điểm kỹ thuật bạn bằng cách gọi hàm
designmethods. Ví dụ, trong trường hợp này, bạn có thể thực hiện lệnh:
>> designmethods(BandPassSpecObj)
Design methods for class
fdesign.bandpass (Fst1,Fp1,Fp2,Fst2,Ast1,Ap,Ast2):
butter
cheby1
cheby2
ellip
equiripple
kaiserwin
Sau khi lựa chọn sử dụng phương pháp thiết kế, có thể đánh giá sau tại dấu nhắc
MATLAB (ví dụ này giả định đã chọn 'equiripple'):
> BandPassFilt = design(BandPassSpecObj, 'equiripple')
BandPassFilt =
FilterStructure: 'Direct-Form FIR'
Arithmetic: 'double'
Numerator: [1x44 double]
PersistentMemory: false
Để kiểm tra lại, có thể vẽ đáp ứng biên độ của bộ lọc sử dụng Filter Visualization
tool.
>> fvtool(BandPassFilt) %plot the filter magnitude response
![Page 5: Nhom 7 - Filter Design Toolbox](https://reader035.vdocuments.pub/reader035/viewer/2022073014/557211c4497959fc0b8f76f9/html5/thumbnails/5.jpg)
Nhóm 7 Filter design Toolbox
Trang 5
II. SỬ DỤNG CÔNG CỤ FILTER BUILDER ĐỂ TẠO BỘ
LỌC
II.1. Giao diện của Fdesign
II.1.1. Giới thiệu Filter Builder
Hàm filterbuilder cung cấp một giao diện trực quan giúp giảm thời gian thiết kế
bộ lọc. Filterbuilder sử dụng một xấp xỉ đặc biệt trung tâm (specification-centered
approach) để tìm thuật toán tối ưu cho đáp ứng mong muốn.
II.1.2. Tiến trình thiết kế sử dụng Filterbuilder
a. Chọn đáp ứng:
Tại cửa sổ lệnh gõ: >> filterbuilder. Một cửa sổ Response Selection xuất hiện
Ví dụ: chọn Bandpass
![Page 6: Nhom 7 - Filter Design Toolbox](https://reader035.vdocuments.pub/reader035/viewer/2022073014/557211c4497959fc0b8f76f9/html5/thumbnails/6.jpg)
Nhóm 7 Filter design Toolbox
Trang 6
Một hộp thoại mới xuất hiện (Design Bandpass), trong đó có 3 tab chính: Main,
Data Types, và Code Generation.
Các thông số của bộ lọc thường nằm trong tap Main.
b. Chọn có thông số:
Để thiết kế một bộ lọc, ta chọn các thông số:
- Filter specifications:
+ Đáp ứng xung: FIR (Bộ lọc có đáp ứng xung hữu hạn) hoặc IIR (Bộ lọc có đáp
ứng xung vô hạn).
+ Order mode
+ Filter type
- Frequency specifications: chọn các tần số giới hạn trên và giới hạn dưới (Fstop
1 và Fpass1, Fpass2 và Fstop2)
- Magnitude specifiactions: chọn biên độ (có thể theo thang Decibel hoặc tuyến
tính)
c. Chọn Thuật toán:
Thuật toán phù hợp cho bộ lọc được chọn phụ thuộc vào loạt đáp ứng bộ lọc
tương ứng và các thống số đã chọn ở trên.
Ví dụ trong trường hợp bộ lọc thông giải, nếu chọn đáp ứng xung là IIR và Order
Mode là Minimum, thì dạng bộ lọc có thể chọn là Butterworth, Chebyshev I hoặc II,
hoặc Elliptic.
d. Phân tích thiết kế:
![Page 7: Nhom 7 - Filter Design Toolbox](https://reader035.vdocuments.pub/reader035/viewer/2022073014/557211c4497959fc0b8f76f9/html5/thumbnails/7.jpg)
Nhóm 7 Filter design Toolbox
Trang 7
Để phân tích đáp ứng của bộ lọc, chọn nút View Filter Response.
Công cụ Filter Visualization Tool sẽ hiển thị lên hình vẽ dạng biên độ của đáp
ứng bộ lọc.
e. Áp dụng bộ lọc vào dữ liệu đầu vào:
Khi đã thiết kế xong bộ lọc như các bước ở trên, chúng ta sẽ tiến hành cho tín
hiệu vào (input data) qua bộ lọc. Bước này phải thực hiện bằng tay.
Để lọc dữ liệu, thực hiện các bước sau:
- Trong cửa số Filter Visualazition Tool, chọn OK và Filter Design Toolbox sẽ
tạo một ‘biến lọc’ trong workspace của Matlab, ví dụ ‘Hbp’.
- Gõ lệnh y = filter(Tên_biến_lọc,Biến_đầu_vào).
Để hiểu thêm về hàm filter, gõ:>> help dfilt/filter
II.2. Thiết kế bộ lọc FIR sử dụng Filter Builder
Các bước đầu tương tự như phần II.1.
Ví dụ, chọn dạng bộ lọc: Lọc thông thấp (Lowpass Filter).
Chọn dạng đáp ứng xung: FIR.
Fpass: 0.55
Fstop: 0.65.
Hình: Dạng bộ lọc thông thấp, đáp ứng xung hữu hạn FIR
![Page 8: Nhom 7 - Filter Design Toolbox](https://reader035.vdocuments.pub/reader035/viewer/2022073014/557211c4497959fc0b8f76f9/html5/thumbnails/8.jpg)
Nhóm 7 Filter design Toolbox
Trang 8
III. Thiết kế bộ lọc sử dụng FDATool Sử dụng FDATool (Filter Design and Analysis Toolbox) để thiết kế bộ lọc
FDATool là một công cụ hết sức hữu dụng và chúng được sử dụng rộng rãi để thiết kế
bộ lọc hiện nay. Để kích hoạt công cụ thiết kế này, trong cửa sổ lệnh của Matlab, thực
hiện nhập lệnh sau: >> fdatool
Cửa sổ FDATool được gọi ra như sau:
Từ đây, ta có thể chọn một vài loại đáp ứng (của các bộ lọc): Thông thấp
(Lowpass), Thông cao (Highpass), Dải thông (Bandpass), Dải chặn (Bandstop) và Bộ vi
phân (Differentiator). Các đặc điểm kỹ thuật của bộ lọc thay đổi theo loại đáp ứng và
phương pháp thiết kế. Như hình trên, chúng ta có thể nhập: Bậc của bộ lọc (Filter Order),
Các tùy chọn (Options), Đặc tính tần số (Frequency Specifications), Đặc tính biên độ (
Magnitude Specifications).
Ví dụ: Thiết kế bộ lọc dải thông có đặc tính kỹ thuật như bộ lọc dải thông được
thiết kế trong ví dụ trên.
Trong cửa sổ FDATool,
- Ta chọn Bandpass, trong miền Response Type.
- Trong miền Design Method, ta chọn FIR và thẻ Window.
- Trong miền Filter Order, ta chọn Specify Order và nhập số 16.
- Trong miền Options, chọn thẻ Hamming tại tùy chọn Window.
![Page 9: Nhom 7 - Filter Design Toolbox](https://reader035.vdocuments.pub/reader035/viewer/2022073014/557211c4497959fc0b8f76f9/html5/thumbnails/9.jpg)
Nhóm 7 Filter design Toolbox
Trang 9
- Trong miền Frequency Specifications, ở tùy chọn units ta chọn Hz, nhập 8000
trong Fs, 1600 trong Fc1 và 2400 trong Fc2.
- Thêm vào đó, từ manu Analysis kéo xuống, chúng ta có thể phân tích đáp ứng
biên độ (Magnitude Response), đáp ứng pha (Phase Response), hệ số bộ lọc (Filter
Ceofficients),…
- Click vào Design Filter, ta thu được kết quả cần thiết kế.
Các tùy chọn này được thực hiện như hình 3.5 dưới đây:
Hơn nữa, có thể export các hệ số của bộ bằng việc sử dụng tùy chọn Export trong
manu File. Từ Export to ta có thể chọn Workspace, Coefficient File (ASCII), MAT-File
và SPTool. Từ Export As ta cũng có thể chọn Coefficients và Objects. Chúng ta cũng
có thể nhập tên biến trong trường Variable Names. Sau đó Click lần lượt Apply, OK, ta
thu được kết quả như hình dưới đây:
![Page 10: Nhom 7 - Filter Design Toolbox](https://reader035.vdocuments.pub/reader035/viewer/2022073014/557211c4497959fc0b8f76f9/html5/thumbnails/10.jpg)
Nhóm 7 Filter design Toolbox
Trang 10
Để thêm thông tin chi tiết, có thể tham khảo Signal Processing Toolbox User’s,
và tìm hiểu cách thức thiết kế bộ lọc sử dụng công cụ SPTool.
![Page 11: Nhom 7 - Filter Design Toolbox](https://reader035.vdocuments.pub/reader035/viewer/2022073014/557211c4497959fc0b8f76f9/html5/thumbnails/11.jpg)
Nhóm 7 Filter design Toolbox
Trang 11
TÀI LIỆU THAM KHẢO 1. Phần Help của Phần mềm Matlab, Filter Design Toolbox.
2. Digital Signal Proccessing Using Matlab V.4, Vinay K. Ingle and John G.
Proakis, PWS Publishing Company.
3. Các nguồn tài liệu khác từ Internet.