Download as docx, pdf, or txt
Download as docx, pdf, or txt
You are on page 1of 13

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI

VIỆN ĐIỆN TỬ VIỄN THÔNG


____________________

ĐỀ TÀI
THIẾT KHẾ BỘ LỌC THÔNG THẤP BẰNG
MATLAB
Giảng viên: Nguyễn Văn Đức
Nhóm 6:
Nguyễn Thị Hoài Thương : 20153727
Lê Bích Hạnh : 20151246
Nguyễn Thị Minh : 20152478
Ngô Thị Trang : 20153874
Nguyễn Đức Tường :20154297

Hà Nội, tháng 5, năm 2018


Mục lục
I. LỜI MỞ ĐẦU......................................................................................................3

II. TỔNG QUAN VỀ MẠCH LỌC THÔNG THẤP...............................................4

1) Định nghĩa ........................................................................................................4

2) Đặc trưng của bọ lọc thông thấp.......................................................................5

3) Ứng dụng ..........................................................................................................5

III. CÁC PHƯƠNG PHÁP THIẾT KỆ BỘ LỌC THÔNG THẤP........................6

1) Các phương pháp thiết kế bộ lọc thông thấp(FIR) ...........................................6

2) Phương pháp cửa sổ..........................................................................................6

IV. THIẾT KẾ BỘ LỌC THÔNG THẤP BẰNG MATLAB ................................7

1) Thiết kế bằng công cụ FDATool ......................................................................7

2) Thiết kế bộ lọc thông thấp bằng code matlab.................................................10

2
I. LỜI MỞ ĐẦU
Trong xử lí tín hiệu và lọc số, mảng thiết kế bộ lọc số có vai trò quan tròn và
được nghiên cứu nhiều nhất. Chúng được nghiên cứu phát triển với mục đích có thể
mô phỏng các bộ lọc tương tự trên máy tính điện tử. Các bộ lọc số là hệ thống dùng
làm biến dạng 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.
Trong đề tài này nhóm chúng em tìm hiểu về bộ lọc thông thấp. Chúng em xin
cảm ơn chân thành đến thầy Nguyễn Văn Đức đã hướng dẫn chỉ bảo tận tình để
nhóm em có thể hoàn thành bài tập này. Bài tìm hiểu còn nhiều thiếu xót rất mong
nhận được nhận xét ý kiến của thầy để nhóm chúng em có thể hoàn thành tốt hơn
nữa.
Em xin chân thành cảm ơn!

3
II. TỔNG QUAN VỀ MẠCH LỌC THÔNG
THẤP
1) Định nghĩa
Bộ lọc thông thấp (Low Pass Filter) tức là bộ lọc chỉ cho thành phần tần số
thấp hơn tần số cắt đi qua thôi, thành phần tần số cao thì bị loại bỏ.Với tần số có biên
độ -3db.

Định nghĩa về đáp ứng biên độ : với -π≤ ω ≤ 𝜋


|𝐻(𝑒 𝑗𝜔 )| = 1 khi −𝜔𝐶 ≤ 𝜔𝐶
|𝐻(𝑒 𝑗𝜔 )| = 0 với các trường hợp còn lại

Hình 1: đồ thị đáp ứng biên độ bộ lọc thông thấp lí tưởng

Nhận xét : Ở đây |𝐻(𝑒 𝑗𝜔 )| là đối xứng tức là ta định nghĩa bộ lọc số thông
thấp lý tưởng với h(n) thực . Vì thế khi khảo sát các tham số của bộ lọc ta sẽ khảo
sát trên nửa chu kì với

4
𝜔𝐶 ∶là tần số cắt
0≤ ω ≤ 𝜔𝐶 : dải thông
𝜔𝐶 ≤ ω ≤ π : dải chắn
2) Đặc trưng của bọ lọc thông thấp
Để đặc trưng cho bộ lọc thông thấp thực tế, người ta sử dụng các tham số
sau :
- Tần số giới hạn dải thông ωc (hay fc ).
- Tần số giới hạn dải chặn ωp (hay fp ).
- Độ rộng dải quá độ Δω p = |ωp - ωc|(hay Δfp ).
- Độ nhấp nhô trong dải thông δ1. Trong dải thông, đặc tính biên độ tần
số 𝐻(𝑒 𝑗𝜔 ) phải thỏa mãn điều kiện :
(1 - δ1) ≤ 𝐻(𝑒 𝑗𝜔 ) ≤(1 + δ1)
- Độ nhấp nhô trong dải chặn δ 2. Trong dải chặn, đặc tính biên độ tần
số 𝐻(𝑒 𝑗𝜔 ) phải thỏa mãn điều kiện :

𝐻(𝑒 𝑗𝜔 ) ≤ δ 2.

Bộ lọc số thực tế có Δω p , δ 1 và δ 2 càng nhỏ thì đặc tính biên độ tần số càng
gần giống dạng chữ nhật, nên độ chọn lọc tín hiệu càng tốt.

3) Ứng dụng

Mạch lọc có rất nhiều ứng dụng trong thực tế:


- Mạch lọc có thể ứng dụng trong nguồn ATX để loại bỏ các nhiễu cao tần
bám theo đường điện AC 220V.
- Trong các mạch chọn lọc tần số như: đài FM, AM, ….

5
III. CÁC PHƯƠNG PHÁP THIẾT KỆ BỘ LỌC
THÔNG THẤP
1) Các phương pháp thiết kế bộ lọc thông thấp(FIR)
 Cửa sổ
 Lấy mẫu tần số
 Thiết kế tối ưu
 V.v…
2) Phương pháp cửa sổ
Cho hd(n) là hàm đáp ứng xung của bộ lọc lý tưởng tương ứng với loại bộ lọc
cần thiết kế.
Với phương pháp cửa sổ, đáp ứng xung của bộ lọc cần thiết kết được xác định
như sau:
h(n) = hd(n-α)w(n); α = N/2.
Trong đó: w(n) là hàm cửa sổ có chiều dài hữu hạn N+1 và đối xứng quanh điểm
giữa, nghĩa là: w(n) = w(N-n)

6
IV. THIẾT KẾ BỘ LỌC THÔNG THẤP BẰNG
MATLAB
1) Thiết kế bằng công cụ FDATool
Bước 1: Gõ lệnh >>fdatool trong cửa sổ command

Trong đó:
- Response Type: Lựa chọn kiểu bộ lọc thông thấp, thông cao, thông dải, chắn
dải.
- Design Method: Các phương pháp dùng để thiết kế bộ lọc IIR hoặc FIR.
- Filter Order: Bậc của bộ lọc (Độ dài của đáp ứng xung).
- Apass/2: Độ gợn sóng trong dải thông (dB).
- Astop: Độ suy giảm trong dải chắn (dB).
- Fs: Tần số lấy mẫu.
7
- Fpass: Tần số giới hạn của dải thông.
- Fstop: Tần số giới hạn của dải chắn.
Bước 2: Sau khi chọn các thông số cần thiết để thiết kế một bộ lọc thông thấp. Chọn
>> design filter
Tần số cắt fc=10kHz

Click vào vị trí trên đồ thị để thể hiện Đáp ứng biên độ (dB)

8
Bước 3: Xuất giá trị đáp ứng xung và lưu các hệ số

9
2) Thiết kế bộ lọc thông thấp bằng code matlab
Code :
lpFilt = designfilt('lowpassfir','PassbandFrequency',0.25, ...
'StopbandFrequency',0.35,'PassbandRipple',0.5, ...
'StopbandAttenuation',65,'DesignMethod','kaiserwin');
fvtool(lpFilt)
dataIn = rand(1000,1);
dataOut = filter(lpFilt,dataIn);

10
Code:
close all;
clear all;
clc
%%%%%%%%%%%hamming
fc=10000/48000;
N=133;%So luong mau
n=-((N-1)/2):((N-1)/2);
n=n+(n==0)*eps;
[h] =sin(n*2*pi*fc)./(n*pi);%ham sa roi rac
[w] = 0.54 + 0.46*cos(2*pi*n/N);%dinh nghia cua so windown hamming
d=h.*w;%cua aso lay gioi han cho h
[g,f]=freqz(d, 1, 512, 48000);
figure(1);
subplot(3,1,1);
plot(f,20*log10(abs(g)));
axis([0 2*10^4 -70 10]);
subplot(3,1,2);
stem(d);
xlabel('Coefficient number');
ylabel('Value');
title('Truncated Impulse Response');

%freqz(d, 1, 512, 44100);


%axis([0 2*10^4 -70 10]);\

subplot(3,1,3);
plot(w);

11
%%%%%End hamming

%%%%%%%%%%%
fc=10000/48000;
N=133;%So luong mau
n=-((N-1)/2):((N-1)/2);
n=n+(n==0)*eps;
[h] =sin(n*2*pi*fc)./(n*pi);%ham sa roi rac
[w] = 0.42 + 0.5*cos(2*pi*n/(N-1))+0.08*cos(4*pi*n/(N-1));%dinh nghia
cua so windown hamming
d=h.*w;%cua so lay gioi han cho h
[g,f]=freqz(d, 1, 512, 44100);
figure(2);
subplot(3,1,1);
plot(f,20*log10(abs(g)));
axis([0 2*10^4 -70 10]);

subplot(3,1,2);
stem(d);
xlabel('Coefficient number');
ylabel('Value');
title('Truncated Impulse Response');

%freqz(d, 1, 512, 44100);


%axis([0 2*10^4 -70 10]);

subplot(3,1,3);
plot(w)
%%%end Blackman%%%%

%%%%Hanning%%%
fc=10000/48000;
N=133;%So luong mau
n=-((N-1)/2):((N-1)/2);
n=n+(n==0)*eps;
[h] =sin(n*2*pi*fc)./(n*pi);%ham sa roi rac
[w] = 0.5*( 1+ cos(2*pi*n/(N-1)));%dinh nghia cua so windown hamming
d=h.*w;%cua so lay gioi han cho h
[g,f]=freqz(d, 1, 512, 44100);
figure(3);
subplot(3,1,1);
plot(f,20*log10(abs(g)));
axis([0 2*10^4 -70 10]);
subplot(3,1,2);
stem(d);
xlabel('Coefficient number');
ylabel('Value');
title('Truncated Impulse Response');

%freqz(d, 1, 512, 44100);

12
%axis([0 2*10^4 -70 10]);\

subplot(3,1,3);
plot(w)

13

You might also like