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

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

137

Phương pháp thiết kế bộ lọc FIR dùng giải thuật CLS được thực hiện bằng hai hàm fircls
fircls1

của MATLAB. Hàm fircls1 dùng để thiết kế các bộ lọc thông thấp và thông cao có

pha tuyến tính còn hàm fircls dùng để thiết kế các bộ lọc FIR nhiều dải tần.

Thiết kế các bộ lọc CLS thông thấp và thông cao cơ bản
Đối với các bộ lọc thông thấp và thông cao, dùng hàm fircls1.

>> b = fircls1(n,wo,dp,ds,wp,ws,k,wt,‘high’)

Các thông số cơ bản cần cung cấp gồm bậc ủa bộ lọc N, tần số cắt wo, các độ lệch tối đa cho
phép trong dải thông (dp) và dải chắn (ds) so với các giá trị lý tưởng là 1 và 0.
Nếu có thêm các thông số wp, ws, k, hàm fircls1 sẽ đánh giá sai số bình phương trong dải
thông với trọng số gấp k lần so với trong dải chắn, wp là giới hạn của dải thông và ws là giới
hạn của dải chắn (wp < wo < ws với bộ lọc thông thấp).

Nếu có thêm thông số wt thì bộ lọc được thiết kế phải thoả mãn điều kiện |e(wt)| ≤ dp nếu
wt nằm trong dải thông hoặc |e(wt)| ≤ ds nếu wt nằm trong dải chắn.
Trường hợp mặc định, hàm fircls1 sẽ tạo ra bộ lọc thông thấp. Muốn thiết kế bộ lọc thông
cao, thêm chuỗi ‘high’ vào cuối danh sách thông số.
Các giá trị tần số đều là tần số chuẩn hoá theo một nửa tần số lấy mẫu.
Ví dụ 10-8. Thiết kế bộ lọc FIR thông thấp bậc 61, tần số cắt 0,3 (chuẩn hoá) với các độ
lệch tối đa trong các dải thông và dải chắn lần lượt là 0,02 và 0,08. Giả sử thêm là quá trình
tối thiểu hoá sai số trong dải thông được đánh giá với trọng số gấp 10 lần so với dải chắn, và
khi tính trọng số thì dải thông kéo dài tới tần số 0,28 còn dải chắn bắt đầu từ 0,32.

n = 61; % Bậc bộ lọc

wo = 0.3; % Tần số cắt

dp = 0.02; % Độ lệch tối đa trong dải thông

ds = 0.008; % Độ lệch tối đa trong dải chắn

k = 10; % Tỷ lệ trọng số dải thông so với dải chắn

wp = 0,28; % Tần số giới hạn của dải thông

ws = 0,32; % Tần số giới hạn của dải chắn

b = fircls1(n,wo,dp,ds,wp,ws,k); % Gọi hàm fircls1

[hh,ff] = freqz(b,1,512,2); % Đáp ứng tần số của bộ lọc

plot(ff,abs(hh),'b-');grid % Vẽ đáp ứng biên độ

xlabel('Tan so chuan hoa');

ylabel('Bien do');

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.