nhom 7 - filter design toolbox

11
Nhóm 7 Filter design Toolbox ĐẠ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

Upload: ehoangvan

Post on 05-Aug-2015

142 views

Category:

Documents


7 download

TRANSCRIPT

Page 1: Nhom 7 - Filter Design Toolbox

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

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

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

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

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

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

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

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

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

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

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.