1. Trang chủ
  2. » Kỹ Thuật - Công Nghệ

Bài giảng Xử lý tín hiệu nâng cao (Advanced signal processing) - Chương 5: Bộ lọc số có đáp ứng xung hữu hạn và vô hạn

44 75 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 44
Dung lượng 585,84 KB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Bài giảng Xử lý tín hiệu nâng cao (Advanced signal processing) - Chương 5 Bộ lọc số có đáp ứng xung hữu hạn và vô hạn trình bày những nội dung cơ bản sau: Các mạch lọc đơn giản, mạch lọc FIR, mạch lọc FIR thông thấp, mạch lọc FIR thông cao,... Mời các bạn cùng tham khảo.

Trang 1

Xử lý tín hiệu nâng cao

-Advanced signal

processing-Chương 5

Bộ lọc số có đáp ứng xung hữu hạn và

vô hạn

Trang 2

Khái niệm

các thành phần của một tín hiệu

 FIR: Hệ thống đặc trưng bởi đáp ứng xung có

chiều dài hữu hạn

 IIR: Hệ thống đặc trưng bởi đáp ứng xung có chiều

dài vô hạn

Trang 4

H

0

) (

Trang 5

Mạch lọc FIR thông thấp

 Hàm truyền đạt

1 2

1 )

H

Hàm truyền đạt này có một điểm không tại z=-1 và một điểm cực tại z=0

Trang 8

cos )

j

e e

Trang 9

Mạch lọc FIR thông thấp

 Kết quả:

0.4 0.5 0.6 0.7 0.8 0.9 1

-0.8 -0.6 -0.4 -0.2 0

Tùy thuộc vào yêu cầu mà có thể sử dụng 1 lúc nhiều bộ lọc

0 0.1 0.2 0.3 0.4

-1.6 -1.4 -1.2 -1

Trang 10

Mạch lọc FIR thông cao

 Hàm truyền đạt

( 1 )

1 2

1 )

( z = − zH

 Đ áp ứng tần số

2

) 2

sin(

) ( ω j ω 2 ω

j

je e

Trang 11

Mạch lọc FIR thông cao

 Đ áp ứng biên độ

) sin(

) sin(

2

sin(

) 2

H

Trang 12

Mạch lọc FIR thông cao

0 0.2 0.4 0.6 0.8 1 1.2 1.4 1.6

Trang 13

1 )

H

α α

 Đ áp ứng tần số của của mạch lọc là:

ω

ω ω

α

α

j

j j

e

e e

1 )

(

Trang 14

Mạch lọc IIR thông thấp

alpha1=0.9; b1=[1-alpha1, 1-alpha1]; a1=[2,-2*alpha1];

alpha2=0.7; b2=[1-alpha2, 1-alpha2]; a2=[2,-2*alpha2];

alpha3=0.4; b3=[1-alpha3, 1-alpha3]; a3=[2,-2*alpha3];

subplot(2,1,2);

');

plot(w/pi,angle(H1),'b—’,w/pi,angle(H2),'r',w/pi,angle(H3),'g-legend('alpha=0.9','alpha=0.7','alpha=0.4');

Trang 15

Kết quả

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -2

Trang 16

Mạch lọc IIR thông cao

 Hàm truyền đạt

1

11

1 2

1 )

H

α α

 Đ áp ứng tần số

ω

ω ω

α

α

j

j j

e

e e

1 )

(

Trang 17

Mạch lọc IIR thông cao

alpha1=0.9; b1=[1+alpha1, -1-alpha1]; a1=[2,-2*alpha1];

alpha2=0.7; b2=[1+alpha2, -1-alpha2]; a2=[2,-2*alpha2];

alpha3=0.4; b3=[1+alpha3, -1-alpha3]; a3=[2,-2*alpha3];

Trang 18

Mạch lọc IIR thông cao

Trang 19

Mạch lọc IIR thông dải

 Hàm truyền đạt

2

1

1 )

) 1

( 1

1 2

1 )

+ +

z z

H

α α

β α

Trang 20

Mạch lọc IIR thông dải

plot(w/pi,abs(H1),'b ',w/pi,abs(H2),'r-',w/pi,abs(H3),'g-legend('alpha=0.9','alpha=0.7','alpha=0.4');

',w/pi,angle(H3),'g-');

subplot(2,1,2);plot(w/pi,angle(H1),'b ',w/pi,angle(H2),'r-legend('alpha=0.9','alpha=0.7','alpha=0.4');

Trang 21

Mạch lọc IIR thông dải

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -2

Trang 22

Mạch lọc chắn dải

 Hàm truyền đạt

2 1

2 1

) 1

( 1

2

1 2

1 )

+ +

z

z z

H

α α

β

β

α

2 1

) 1

( 1

2

)

+ +

=

z z

z

H

α α

β

Trang 24

Mạch lọc chắn dải

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 0

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1

0 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 0.9 1 -2

Trang 25

SỬ DỤNG MATLAB ĐỂ THIẾT KẾ BỘ LỌC SỐ

Trang 26

Thiết kế bộ lọc số bằng công cụ SPTool

 SPTool là một công cụ có giao diện tương tác dùng cho xử lý số tín hiệu

 Công cụ này có thể được sử dụng để:

Trang 27

Thiết kế bộ lọc số bằng công cụ SPTool

 Để khởi động SPTool, từ dấu nhắc lệnh của MATLAB, nhập lệnh

>> sptool

 Khi đó, giao diện của SPTool sẽ xuất hiện:

Trang 28

Thiết kế bộ lọc số bằng công cụ SPTool

hiệu, bộ lọc và phổ mặc định

 Signals: hiển thị các tín hiệu

Trang 29

Thiết kế bộ lọc số bằng công cụ SPTool

MATLAB có thể được đưa vào SPTool bằng lệnh

Import trong menu File của SPTool.

import vào SPTool tồn tại dưới dạng các cấu trúc của MATLAB.

menu File, chúng cũng sẽ được lưu lại dưới dạng các cấu trúc MATLAB.

Trang 30

Thiết kế bộ lọc số bằng công cụ SPTool

Filter Designer dùng để thiết kế bộ lọc sẽ xuất hiện.

Trang 31

Thiết kế bộ lọc số bằng công cụ SPTool

tương tác để thiết kế các bộ lọc số IIR hoặc FIR dựa trên các tiêu chuẩn do người dùng xác định

 Thông thấp, thông cao, thông dải, chắn dải

 Equiripple, Least squares, Window

 Butterworth, Chebyshev loại I, Chebyshev loại II, Elliptic

Trang 32

Ví dụ 1: Thiết kế một bộ lọc FIR chắn dải

bằng SPTool

 Bộ lọc, được thiết kế bằng phương pháp cửa

sổ Kaiser, với các thông số sau:

 Chiều dài của đáp ứng xung: N = 89 (MATLAB hiển thị bậc bộ lọc bằng 88)

Trang 33

Ví dụ 1: Thiết kế một bộ lọc FIR chắn dải

bằng SPTool

 1 Khởi động SPTool Dưới cột Filters, nhấn nút New để

mở cửa sổ Filter Designer

 2 Trong giao diện của Filter Designer

• Trong text box Filter: Tên bộ lọc được tự đặt (ở đây là filt1) Tên

này có thể thay đổi sau này

• Nhập các thông số thiết kế vào:

 Sampling Frequency = 8000

 Algorithm: Kaiser Windows FIR

 Bỏ chọn ở check box Minimum Order (nếu chọn thì sẽ thiết kế bộ lọc

có bậc tối thiểu)

 Order = 88, Type = Bandstop, Fc1 = 2500, Fc2 = 2900, Beta = 4

• Nhấn Apply Khi đó đáp ứng tần số của bộ lọc thiết kế sẽ được

hiển thị

Trang 34

Ví dụ 1: Thiết kế một bộ lọc FIR chắn dải

bằng SPTool

Trang 35

Ví dụ 1: Thiết kế một bộ lọc FIR chắn

dải bằng SPTool

 Các bước thiết kế như sau:

 Trở về cửa sổ SPTool, trong cột Filters sẽ xuất hiện thêm một dòng filt1 [design] Đây chính là bộ lọc vừa thiết kế Sau này, nếu muốn sửa

đổ i thiết kế, chọn lại tên bộ lọc và nhấn nút Edit ở phía dưới

 Để dễ nhớ, ta sẽ thay đổi tên bộ lọc trên thành bs2700:

Trang 36

Ví dụ 1: Thiết kế một bộ lọc FIR chắn dải

bằng SPTool

 Khi thiết kế một bộ lọc FIR như trên, kết quả mà ta cần nhận đượ c sau khi thiết kế là các giá trị của vector đáp ứng xung h của bộ lọc thiết kế Để lấy các giá trị của vector đáp ứng xung,

ta thực hiện như sau:

 1 Từ cửa sổ SPTool, chọn File    Export… Trong Export list xuất

hiện, chọn Filter: bs2700 [design] rồi nhấn nút Export to workspace

 2 Đóng cửa sổ SPTool lại Một thông báo xuất hiện hỏi có muốn lưu lại

 2 Đóng cửa sổ SPTool lại Một thông báo xuất hiện hỏi có muốn lưu lại phiên làm việc hiện tại hay không Nếu muốn lưu lại, chọn Save

 3 Mở cửa sổ Workspace của MATLAB, ta sẽ thấy trong workspace sẽ xuất hiện biến mới là bs2700 Đây chính là bộ lọc mà ta đã thiết kế

trong SPTool và xuất ra workspace của MATLAB Biến này được lưu dưới dạng một cấu trúc mô tả bộ lọc đã thiết kế Nhấn đúp chuột vào tên biến bs2700 trong workspace, ta sẽ thấy được các field của cấu

trúc này như sau:

Trang 37

Ví dụ 1: Thiết kế một bộ lọc FIR chắn dải

bằng SPTool

 Trong các field này, field tf thể hiện hàm truyền đạt của bộ lọc Field này cũng là một cấu trúc gồm 2 field: tf.num và tf.den thể hiện tương ứng các hệ số của đa thức tử số và đa thức mẫu

số Đối với bộ lọc FIR, hàm truyền chỉ có tử số và các hệ số của tử số chính là đáp ứng xung của bộ lọc Do đó, với bộ lọc trên, các giá trị của vector đáp ứng xung được lưu trong

bs2700.tf.num Trong cửa sổ Array Editor trên, lần lượt

double click vào field tf rồi nhấn đúp vào num, ta sẽ thấy các

hệ số đáp ứng xung của bộ lọc Để gán các hệ số này vào

một vector h, trong MATLAB có thể dùng lệnh sau:

 >> h = bs2700.tf.num

Trang 38

Ví dụ 1: Thiết kế một bộ lọc FIR chắn dải

bằng SPTool

Các giá trị thu được của vector đáp ứng xung sẽ được sử dụng

để thực hiện bộ lọc số lên trên kit DSP.

Trang 39

Ví dụ 2: Thiết kế bộ lọc IIR chắn dải bằng

SPTool

IIR chắn dải bậc 10, tần số trung tâm 1750Hz

 Chú ý rằng MATLAB hiển thị bậc bộ lọc là 5, biểu diễn số phần bậc 2 của bộ lọc (Điều này đúng với các bộ lọc IIR thông dải và chắn dải)

 Tần số cắt: 1700 Hz và 1800 Hz

 Độ gợn dải thông và dải chắn tương ứng là 1 dB và 60 dB

 Tần số lấy mẫu: 8000 Hz

Trang 40

Ví dụ 2: Thiết kế bộ lọc IIR chắn dải bằng

SPTool

 1 Khởi động SPTool Dưới cột Filters, nhấn nút New để

mở cửa sổ Filter Designer

 2 Trong giao diện của Filter Designer

• Trong text box Filter: Tên bộ lọc được tự đặt (ở đây là filt1) Tên

này có thể thay đổi sau này

• Nhập các thông số thiết kế vào:

 Sampling Frequency = 8000

 Algorithm Elliptic IIR

 Bỏ chọn ở check box Minimum Order (nếu chọn thì sẽ thiết kế bộ lọc

có bậc tối thiểu)

 Order = 5, Type = Bandstop, Fp1 = 1700, Fp2 = 1800, Rp=1, Rs=60

• Nhấn Apply Khi đó đáp ứng tần số của bộ lọc thiết kế sẽ được

hiển thị

Trang 41

Ví dụ 2: Thiết kế bộ lọc IIR chắn dải bằng

SPTool

Trang 42

Ví dụ 2: Thiết kế bộ lọc IIR chắn dải bằng

 Các hệ số tử số và mẫu số của hàm truyền

 Các hệ số tử số và mẫu số của hàm truyền

đượ c lưu tương ứng trong các biến

bs1750.tf.num và bs1750.tf.den.

Trang 43

Thiết kế bộ lọc bằng lệnh của MATLAB

thiết kế bộ lọc như trên, MATLAB cũng có một

số lệnh có thể sử dụng để thiết kế bộ lọc.

 Các lệnh này có thể được sử dụng khi thiết kế một số loại bộ lọc mà SPTool không có sẵn, ví

dụ như các bộ lọc multiband.

Trang 44

Thiết kế bộ lọc bằng lệnh của MATLAB

Ngày đăng: 11/02/2020, 17:43

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w