You are on page 1of 50

CHƯƠNG 5

Bộ lọc số đáp ứng xung


hữu hạn (FIR)
Tín hiệu trong miền tần số
Tín hiệu truyền thông bao gồm nhiều dao động có
tần số khác nhau
Bộ lọc số
Bộ lọc số có tính chất cho các dao động có tần số
nằm trong một dải nào đó (gọi là dải thông) đi qua
và chặn lại các dao động có tần số không thuộc
dải đó (thuộc dải chắn).
o Dao động gọi là qua được bộ lọc nếu đối với
tần số của nó thì đáp ứng tần số của bộ lọc
có module bằng 1;
o Dao động gọi là bị chặn lại khi đáp ứng tần
số của bộ lọc bằng 0.
Ví dụ điều chế biên độ trong truyền
sóng âm thanh
M(f)

B f

Discrete carrier
M(f) term
Lower
sideband
Upper
sideband

fc – B fc fc + B f

4
Ghép kênh âm thanh

Introduction 1-5
Ví dụ đường truyền mạng cáp
cable headend

cable splitter
modem

C
O
V V V V V V N
I I I I I I D D T
D D D D D D A A R
E E E E E E T T O
O O O O O O A A L

1 2 3 4 5 6 7 8 9

Channels
Tần số division multiplexing: các kênh truyền khác nhau
được truyền trong các dải tần số khác nhạu.
Giới thiệu 1-6
Ví dụ bộ lọc số
Các giai đoạn của quá trình tổng hợp lọc
số
 Chọn loại bộ loc
 Bộ lọc thông cao
 Bộ lọc thông thấp
 Bộ lọc thông dải
 Xác định h(n) sao cho thỏa mãn các chỉ tiêu
kỹ thuật đề ra
 Lượng tử hóa các thông số bộ lọc
 Kiểm tra, chạy thử trên máy tính
Bộ lọc thông thấp lý tưởng
Đáp ứng biên độ của bộ lọc số thông thấp lý
tưởng được định nghĩa như sau:
j 1 c    c
| H (e ) | 
0 |  | c  0
Đáp ứng biên độ của bộ lọc thông thấp lý
tưởng |H(ejω)|

-ωc 0 ωc ω
Ví dụ: bộ lọc thông thấp lý tưởng

Bộ lọc thông thấp lý tưởng


Bộ lọc thông cao lý tưởng
Đáp ứng biên độ của bộ lọc số thông cao lý
tưởng được định nghĩa như sau:
j 0 c    c
| H (e ) | 
1 |  | c  0

Đáp ứng biên độ của bộ lọc thông cao lý


tưởng |H(ejω)|

-π -ωc ωc π ω
Ví dụ: bộ lọc thông cao lý tưởng

Bộ lọc thông cao lý tưởng


Bộ lọc thông dải lý tưởng
Đáp ứng biên độ của bộ lọc số thông thấp lý
tưởng được định nghĩa như sau:
j 1 c1 |  | c 2
| H (e ) | 
0 |  | c 2 ,|  | c1

Đáp ứng biên độ của bộ lọc thông dải lý


tưởng |H(ejω)|

-π -ωc2 -ωc1 ωc1 ωc2 π ω


Ví dụ: bộ lọc thông dải lý tưởng

Bộ lọc thông dải lý tưởng


Đáp ứng tần số của bộ lọc
Trong chương trình tổng hợp Lọc số chỉ xác định
h(n) sao cho thỏa mãn các chỉ tiêu kỹ thuật đề ra,
thông thường các chỉ tiêu cho trước là các thông
số của Đáp ứng tần số.
/H()/
1+ 1 Các chỉ tiêu kỹ thuật:
1 1 – độ gợn sóng dải thông
1- 1 2 – độ gợn sóng dải chắn
P – tần số giới hạn dải thông
S – tần số giới hạn dải chắn
2

0 P s 
Bộ lọc số đáp ứng xung hữu hạn - FIR
 Bộ lọc số đáp ứng xung hữu hạn: Finite
Impulse Response - FIR
 Các xử lý để thay đổi sự phân bố tần số của
các thành phần của một tín hiệu theo các chỉ
tiêu đã cho nhờ một hệ thống số được gọi là
sự lọc số.
 Một hệ thống được dùng làm thay đổi sự
phân bố tần số của các thành phần của một
tín hiệu theo các chỉ tiêu đã cho được gọi là
bộ lọc số
Đáp ứng xung hữu hạn

x(n) y(n)
Bộ lọc số có đáp ứng xung hữu hạn
tuyến tính

y (n)  h(0) x(n)  h(1) x(n  1)  h(2) x(n  2)  h(3) x(n  3)  h(4) x(n  4)
Bộ lọc số có đáp ứng xung hữu hạn
tuyến tính
 h(n) đáp ứng xung
 
h( n )  h0 , h1 ,..., hN 1  L h( n )   0, N  1  N
 0 
 Nếu biểu diễn trong miền Z thì hàm truyền đạt của
bộ lọc số pha tuyến tính theo định nghĩa biến đổi z
sẽ có dạng:
N 1
H ( z )   h(n ) z n
n 0
Đáp ứng tần số
 Biểu diễn trong miền tần số ω theo biến đổi Fourier
ta có đáp ứng tần số

N 1
H ( )   h( n )e  jn
n 0
π
1
 H()e
jn
h(n)  dω
2π π
Tính chất tổng quát của bộ lọc số FIR
 N 1
 h(n)   h(n)  
a. Bộ lọc số FIR luôn ổn định
do độ dài L[h(n)]=N:
n   n 0

b. Nếu h(n) không nhân quả, dịch h(n) sang phải n0 đơn vị
thành h(n-n0), nhưng đáp ứng biên độ vẫn không đổi:

F
h( n)  H ( )  H ( ) e j arg H ( )
 jn0 j [arg H ( ) n0 ]
F
h( n  n0 )  e H ( )  H ( ) e
Thiết kế bộ lọc FIR

 Một bộ lọc đáp ứng xung hữu hạn với hàm


hệ thống có dạng:

 Như vậy cần tìm đáp ứng xung h(n) là


Thiết kế bộ lọc FIR (tiếp)

 Phương trình sai phân là

 Bậc của bộ lọc là M-1, trong khi chiều dài của


bộ lọc là M
 Thiết kế bộ lọc FIR là tìm các hệ số bm phù
hợp nhất với yêu cầu của bài toán
Đáp ứng biên độ của bộ lọc thông thấp thiết kế
/H()/
1+ 1
1
1- 1 N=9

2

0 P c s 

/H()/
1+ 1
1
1- 1 N=61

2

0 P c s 
Bộ lọc số trong Matlab
 Thi hành bằng Matlab với hàm filter
ví dụ: y = filter(b,1,x)
 Lệnh filter là lệnh cho phép lọc các tín hiệu có sẵn trong
Matlab theo những yêu cầu với các bộ lọc.
Cú pháp của lệnh filter
 y = filter(b, a, x) với b = [b1, b2, ...., bM] và
a = [a1, a2, ...., aN], x là mảng 1 chiều của tín hiệu cần
lọc

a1 y (n)  b1 x(n)  b2 x(n  1)  ...  bM x(n  M  1) 


a2 y (n  1)  a3 x(n  2)  ...  a N y (n  N  1)
FIR Filter và hàm đánh giá đáp ứng
tần số
 Với bộ lọc FIR có đáp ứng xung là b
y=filter(b,1,x) là lệnh thực hiện bộ lọc FIR với
x là tín hiệu đầu vào

y ( n )  b1 x (n )  b2 x ( n  1)  ...  bM x (n  M  1)
 Hàm kiểm tra đáp ứng biên độ và đáp ứng
pha là: freqz(b,1,n)
Lệnh thiết kế bộ lọc fir1 trong Matlab

 Lọc thông thấp, b = fir1 (n,Wn,'low')


 Lọc thông cao, b = fir1(n,Wn,'high')
 n: bậc của bộ lọc
 Wn: tần số cắt có giá trị 0<Wn<1.0 với 1.0
tương ứng với ½ tần số lấy mẫu
 b là một ma trận có kích thước là n x 1 có các
bệ số là giá trị thực
Lệnh fir1 thiết kế bộ lọc thông dải

 Bộ lọc thông dải b = fir1(n,Wn) với Wn = [W1


W2]
 Wn = [W1 W2], W1 < W < W2
 tương tự như b = fir1(n,Wn,'bandpass')
 Lọc giải chắn: b = fir1(n,Wn,'stop')
Công cụ FDATOOL của matlab
Thiết kế bộ lọc trong Matlab với
FDATool
 Công cụ FDATOOL của matlab giúp cho thiết
kế cho bộ lọc một cách nhanh chóng.
 Công cụ FDATOOL cho phép thiết kế 4 loại
đặc tính về tần số lọc:
- lọc thông thấp - chọn Lowpass
- lọc thông cao - chọn Highpass
- lọc thông dãi - Bandpass
- lọc thông dãi chặn - Bandstop
Lựa chọn các tham số trong FDATool
 Filter oder: là xác định bậc bộ lọc, nó chính là kích thước
của đáp ứng xung của bộ lọc.
 Frequency Specifications: xác định tần số lấy mẫu, các
tần số tương ứng cho Fpass và Fstop
Đưa bộ lọc được thiết kế vào sự dụng
 Để đưa bộ lọc vào Matlab
sử dụng Export trong File
menu
 Có thể chọn Export ra
Workspace thành một
mảng để sử dụng với lệnh
Filter
Thiết kế bộ lọc h(n) theo phép biển
đổi Fourier ngược

1

j n
h( n)  H ( ) e d
2 

Đây là công thức cho phép thiết kế bộ lọc h(n)


theo H(ω)
Thiết kế bộ lọc h(n) theo phép biển
đổi Fourier rời rạc ngược

N 1
1
h( n) 
N
 H
k 0
( k )W  kn
N : 0  n  N 1

Đây là công thức cho phép thiết kế bộ lọc h(n)


có bậc N theo H(k)
Khái niệm về cửa sổ

 Đáp ứng xung h(n) của lọc số lý tưởng và có độ dài


vô hạn  không thể thực hiện được về mặt thực tế.

 Để bộ lọc thiết kế được thì đáp ứng xung hd(n)


có bậc nhất định thì thường có thể dùng phương
pháp cửa sổ với kích thước tương ứng.
Phương pháp cửa sổ

 Dùng các cửa sổ để hạn chế chiều dài đáp ứng


xung của bộ lọc số lý tưởng
 Mục tiêu chính của phương pháp này là dùng các
hàm cửa sổ cho sẵn để tổng hợp bộ lọc số FIR sao
cho thực hiện được về mặt vật lý, nghĩa là các đáp
ứng xung phải có chiều dài hữu hạn và nhân quả..
Các thủ tục thiết kế bộ lọc số FIR với
cửa sổ
Thiết kế được thực hiện qua các bước sau:
 Đưa ra chỉ tiêu kỹ thuật δ1, δ2, ωp, ωs trong miền
tần số ω .
 Chọn loại cửa sổ và chiều dài cửa sổ N, nghĩa là
xác định w(n)N .
 Chọn loại bộ lọc số lý tưởng( thông thấp, thông
cao, thông dải, chắn dải) tức là chọn h(n).
 Để hạn chế chiều dài thì nhân cửa sổ với h(n):
hd ( n )  w( n ) N h( n )
Đáp ứng xung của bộ số FIR với cửa sổ

hd ( n )  w( n ) N h( n )

1
H d ( )  
2 
W ( ) N H ( )d
Đáp ứng xung của bộ lọc số FIR với cửa
sổ chữ nhật
MỘT SỐ HÀM CỬA SỔ

 Cửa sổ chữ nhật


 Cửa sổ tam giác (Bartlett)
 Cửa sổ Hanning
 Cửa sổ Hamming
 Cửa sổ Blackman
Cửa sổ chữ nhật
WR(n)
1 : N - 1  n  0 1
W R ( n)   n
0 : n còn lại
-1 0 1 2 N-1 N
Cửa sổ tam giác (Bartlett)
 2n N -1 WT(n)
 N 1 : 0  n  2 1

 2n N - 1
WT ( n)   2  :  n  N -1
 N 1 2 n
0 : còn lại
 01 (N-1)/2 N-1

Cửa sổ Hanning
  2n 
 0,5  0,5 cos  : 0  n  N 1
W Han ( n)    N 1
0 : n còn lại

WHan(n)
1

n
01 (N-1)/2 N-1
Cửa sổ Hamming
  2n 
0,54  0,46 cos  : 0  n  N 1
W Ham ( n)    N 1
0 : n còn lại

WHam(n)
1

n
01 (N-1)/2 N-1
Cửa sổ Blackman
  2n   4n 
0,42  0,5 cos   0,08 cos  : 0  n  N 1
W B ( n)    N 1  N 1
0 : n còn lại

WB(n)
1

n
01 (N-1)/2 N-1
Đáp ứng tần số của bộ lọc thông thấp với
các cửa sổ khác nhau

Cửa sổ chữ nhật Cửa sổ tam giác


Cửa sổ Hanning Cửa sổ Hamming
Thiết kế bộ lọc với hàm fir1

 Bộ lọc FIR bằng phương pháp cửa sổ


 b = fir1(n,Wn)
 b = fir1(n,Wn,'ftype')
 b = fir1(n,Wn,window)
 b = fir1(n,Wn,'ftype',window)
 b = fir1(...,'normalization')
 n: bậc của bộ lọc
 Wn: 0 < Wn < 1.0, with 1.0 tương ứng với ½
tần số lấy mẫu
Thiết kế bộ lọc với các cửa sổ
b = fir1(n,Wn,WIN)
 Thiết kế bộ lọc với các hàm cửa sổ
b = fir1(n,Wn,'high', Bartlett(n+1))
Hết bài 5

You might also like