MATLAB ỨNG DỤNG TRONG VIỄN THÔNG - Trang 154

Thiết kế các bộ lọc

133

ƒ Để hỗ trợ việc thiết kế các bộ lọc FIR bằng phương pháp cửa sổ, MATLAB cung cấp hai
hàm fir1fir2. Các hàm này trả về đáp ứng xung của bộ lọc FIR đã được cửa sổ hoá. Hai
hàm này được mặc định sử dụng cửa sổ Hamming, nhưng cũng có thể chấp nhận các cửa sổ
khác.

>> b = fir1(N,wn,form,win)

trong đó, N là bậc của bộ lọc, win là vector cửa sổ thời gian có chiều dài bằng N + 1. Vector
wn cùng với chuỗi ký tự form sẽ định nghĩa dạng bộ lọc theo cách sau:

o Nếu wn chỉ có một phần tử thì đó chính là tần số cắt của bộ lọc. form = ‘high’ nếu là
bộ lọc thông cao, form = ‘low’ nếu là bộ lọc thông thấp.

o Nếu wn có hai phần tử: wn = [w1 w2] thì hàm fir1 tạo ra bộ lọc thông dải có các tần
số cắt là w1 và w2. Nếu form = ‘stop’ thì fir1 tạo ra bộ lọc chắn dải có các tần số cắt
w1, w2.

o Nếu wn là một vector n phần tử: wn = [w1 w2 ... wN], hàm fir1 sẽ tạo ra một bô
lọc nhiều dải thông và dải chắn xen kẽ nhau: 0 < w < w1, w1 < w < w2, ..., wn < w < 1. Trong
đó, nếu form = ‘DC-1’ thì dải đầu tiên sẽ là dải thông, còn nếu form = ‘DC-0’ thì dải
đầu tiên là dải chắn.
MATLAB còn cung cấp hàm kaiserord để ước lượng các thông số cần cung cấp cho hàm
fir1

(chỉ thích hợp với cửa sổ Kaiser), chỉ cần cung cấp đáp ứng tần số mong muốn.

>> [N,wn,bta,filtype] = kaiserord(f,a,dev,fs)

trong đó bta là hệ số β của cửa sổ Kaiser, filtype là kiểu bộ lọc. f là vector tần số và a là
vector đáp ứng biên độ tương ứng, dev là vector chứa các độ lệch cực đại cho phép trong các
dải tần, fs là tần số lấy mẫu (mặc định bằng 2).
Nếu như hàm fir1 chỉ cho phép thiết kế các bộ lọc FIR với các cấu hình các dải tần theo các
dạng chuẩn như thông thấp, thông cao, thông dải,... thì hàm fir2 cho phép thiết kế bộ lọc FIR
với dạng đáp ứng tần số tuỳ định.

>> b = fir2(N,f,a,win)

f và a xác định đáp ứng tần số mong muốn: f là vector các điểm tần số còn a là vector đáp ứng
biên độ tại các điểm đó. win là vector cửa sổ thời gian, là kết quả của các hàm cửa sổ đã đề
cập ở trên. Bộ lọc được tạo ra là bộ lọc đối xứng, nghĩa là b(k) = b(n + 2 – k), k = 1, 2, ... Với
các bộ lọc có đáp ứng khác 0 tại tần số Fs/2, bậc của bộ lọc phải là số chẵn, nếu N lẻ, bậc của
bộ lọc sẽ tự động tăng lên 1.

10.3.3. THIEÁT KEÁ BOÄ LOÏC FIR NHIEÀU DAÛI TAÀN VÔÙI CAÙC DAÛI CHUYEÅN TIEÁP
Các hàm firlsfirpm cho phép xác định bộ lọc lý tưởng mong muốn một cách tổng quát
hơn so với các hàm fir1fir2. Các hàm này cho phép thiết kế các bộ biến đổi Hilbert, các
bộ vi phân và các bộ lọc khác với các hệ số có tính chất đối xứng lẻ (các bộ lọc FIR pha tuyến
tính loại III và IV). Các hàm trên còn cho phép xác định các vùng tần số mà ta không quan
tâm đến sai số (nghĩa là không cần tối thiểu hoá sai số so với bộ lọc lý tưởng trong vùng này),
ví dụ như các dải chuyển tiếp; hoặc đưa vào các trọng số cho các dải tần khi tối thiểu hoá sai
số.
Hàm firls là sự mở rộng của các hàm fir1fir2 trên cơ sở sự tối thiểu hoá bình phương sai
số giữa đáp ứng thực và đáp ứng lý tưởng tích luỹ trong toàn bộ dải tần của bộ lọc.
Hàm firpm thực hiện giải thuật Parks – McClellan, đó là sự kết hợp của thuật toán Remez với
lý thuyết xấp xỉ Chebychev để tối thiểu hoá sai số cực đại giữa đáp ứng tần số thực và đáp

Liên Kết Chia Sẽ

** Đây là liên kết chia sẻ bới cộng đồng người dùng, chúng tôi không chịu trách nhiệm gì về nội dung của các thông tin này. Nếu có liên kết nào không phù hợp xin hãy báo cho admin.