HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNGKHOA CÔNG NGHỆ THÔNG TIN BÁO CÁO BÀI TẬP LỚN XỬ LÍ TÍN HIỆU SỐ Giảng viên : Trần Tuấn Anh Sinh viên : Đỗ Trí Cương – B23DCCN105 Thiết Kế Code Mã H
Trang 1HỌC VIỆN CÔNG NGHỆ BƯU CHÍNH VIỄN THÔNG
KHOA CÔNG NGHỆ THÔNG TIN
BÁO CÁO BÀI TẬP LỚN
XỬ LÍ TÍN HIỆU SỐ Giảng viên : Trần Tuấn Anh
Sinh viên : Đỗ Trí Cương – B23DCCN105
Thiết Kế ( Code)
Mã Hồng Phong - B23DCCN645 Nội dung ( Lý thuyết )
Đề tài : Bài 10 : Thiết kế bộc lọc IIR thông dải
sử dụng bộ lọc Butterworth, Chebyshev loại 1, Chebyshev loại 2
Hà Nội – 2024
Trang 21 Thiết kế bộ lọc IIR thông dải sử dụng bộ lọc Butterworth.
I Sử dụng bộ lọc Butterworth.
1 Bộ lọc thông dải lý tưởng
- Các tham số thực của bộ lọc thông dải lý tưởng:
+Tần số cắt dưới (f1): Tần số mà bộ lọc bắt đầu cho phép tín hiệu đi qua Dưới tần số này,
tín hiệu sẽ bị chặn
+Tần số cắt trên (f2): Tần số mà bộ lọc kết thúc cho phép tín hiệu đi qua Trên tần số này,
tín hiệu cũng sẽ bị chặn
+Băng thông (BW): Khoảng tần số giữa tần số cắt dưới và tần số cắt trên, tính bằng công
thức:
BW=f2−f1
+Hệ số khuếch đại: Trong bộ lọc lý tưởng, hệ số khuếch đại của tần số trong băng thông là
1 (hoặc 0 dB), trong khi tần số ngoài băng thông là 0 (hoặc -∞ dB)
+Phản hồi pha: Bộ lọc lý tưởng không có độ trễ pha, tức là tất cả các tần số trong băng
thông đều được truyền qua mà không có sự dịch pha
+Dải tần bị chặn : Tất cả các tần số thấp hơn f1 và cao hơn f2 đều bị chặn
2 Thiết kế
Bước 1: Chọn các tham số
Tần số cắt dưới (f1) và tần số cắt trên (f2) của bộ lọc thông dải
Tỷ số băng thông (bandwidth) là sự khác biệt giữa f1 và f2
Trang 3 Tần số trung tâm (f0) có thể tính theo công thức:
f0 = √ f 1 f 2
Bước 2: Tính toán các thông số của bộ lọc Butterworth
Bộ lọc Butterworth có các yếu tố quan trọng như bậc lọc (n) và tần số cắt Để có thể thiết kế
bộ lọc Butterworth cho dải tần thông dải, ta sẽ chia bộ lọc Butterworth thành hai bộ lọc thông thấp (low-pass) và thông cao (high-pass)
Tạo bộ lọc thông thấp (low-pass)
1 Tạo một bộ lọc Butterworth thông thấp với tần số cắt ωc bằng tần số cắt của bộ lọc Butterworth
2 Tần số cắt ωc có thể được tính từ tần số cắt thấp f1 và tần số cắt cao f2 thông qua công thức chuẩn hóa tần số
Tạo bộ lọc thông cao (high-pass)
1 Tạo bộ lọc Butterworth thông cao (high-pass filter) tương tự như bộ lọc thông thấp nhưng với tần số cắt ở f2
2 Sau đó, hai bộ lọc Butterworth thông cao và thông thấp có thể kết hợp lại với nhau để tạo ra bộ lọc thông dải
Bước 3: Kết hợp bộ lọc thông thấp và thông cao
Khi bạn đã có các bộ lọc thông thấp và thông cao, bạn có thể kết hợp chúng lại để tạo thành
bộ lọc thông dải bằng cách nhân đáp ứng tần số của chúng lại với nhau
H(s)=Hlow(s) Hhigh(s)
Bước 4: Chuyển đổi sang miền Z
Trang 4Sau khi bạn có bộ lọc trong miền s (miền Laplace), bạn cần chuyển đổi nó sang miền Z để có thể thực hiện trên hệ thống số (discrete-time system) Quá trình này thường sử dụng phương
pháp biến đổi bilinear hoặc phương pháp tương đương tần số.
* Công thức thiết kế bộ lọc Butterworth
Cho các thông số về Ω p , Ω s
Cho các thông số về Gp , Gs
Bước 1: xác định n n >= log¿¿
Bước 2: xác định Ω c Ω c≥ Ω p
(10−G p/10−1)1/2n Ω c <= Ω s
(10−G s/10−1)1/2n
Bước 3: xác định HN (s) qua bảng tính (hoặc tự tính) và H(s)
Bước 4: chuyển sang bộ lọc số H(z) bằng phương pháp hợp lý
*note:
Wp là tần số giới hạn dải thông theo đơn vị rad/s
Ws là tần số giới hạn dải chắn theo đơn vị rad/s
Rp là độ gợn sóng dải thông theo đơn vị dB
Rs là độ gợn sóng dải chắn theo đơn vị dB
Ω là tần số cắt của dải thôngₚ
Ω là tần số cắt của dải chặnₛ
a là các hệ số đa thức mẫu số của hàm truyền đạt
b là các hệ số đa thức tử số của hàm truyền đạt
Trang 5Phần code :
f = 8000;
Wp = [1500 2500] / ( f / 2) ;
Ws = [1100 2800] / (f / 2 );
Rp = 1;
Rs = 40;
% Tính toán cho bậc và tần sô cắt bộ lọc butter
[n,Wc] = buttord(Wp,Ws,Rp,Rs);
% Thiết kế bộ lọc butter
[b,a] = butter(n,Wc, 'bandpass' );
% tính toán và vẽ đáp ứng tần số của bộ lọc
freqz(b,a,1024,f);
t = 0:1/f:2;
input = chirp(t, 0, 2, f / 2); % Tín hiệu chirp từ 0 Hz đến f/2 Hz
output = filter(b, a, input);
figure ;
% Tín hiệu đầu vào
subplot(2,1,1);
plot(t, input );
title( 'Tín hiệu đầu vào (Chirp)' );
xlabel( 'Thời gian (s)' );
ylabel( 'Biên độ' );
Trang 6% Tín hiệu đầu ra qua bộ lọc Butterworth
subplot(2,1,2);
plot(t, output);
title( 'Tín hiệu đầu ra sau khi qua bộ lọc Butterworth' );
xlabel( 'Thời gian (s)' );
ylabel( 'Biên độ' );
Báo cáo :
Đồ thi biểu diển biển độ :
0 – 1.5 Tăng dần từ -400 đến 0 1.5 – 2.5 Đường thẳng có giá trị 0
Đồ thị biểu diễn pha :
Trang 7Tần số ( kHz ) Pha
1 – 3.2 Giảm nhanh từ 0 đến -1500
-1600
+Tín hiệu này có biên độ cao và
trải đều trong suốt khoảng thời
gian từ 0 đến 2 giây
+ Sau khi qua bộ lọc, biên độ của tín hiệu ở hai đầu (khoảng thời gian từ 0 đến 0.5 giây và từ 1.5 đến 2 giây) bị giảm mạnh, chỉ giữ lại phần giữa với biên độ lớn Phần trung tâm của tín hiệu có biên độ cao hơn so với hai đầu,
Trang 8điều này có thể là do tần số trong khoảng này nằm trong dải thông của bộ lọc Butterworth và được bộ lọc cho phép đi qua
Thiết kế bộ lọc IIR thông dải sử dụng bộ lọc Chebyshev loại 1
1 Đặc điểm của Bộ Lọc Chebyshev I
Đáp ứng tần số: Bộ lọc Chebyshev loại 1 có đặc điểm là có sự biến dạng (ripple)
trong dải tần qua, nhưng ngoài dải tần qua thì độ suy giảm rất nhanh, giúp nó loại bỏ hiệu quả các tần số không mong muốn
Tính chất: Bộ lọc Chebyshev loại 1 có các cực được phân bố trong nửa mặt phẳng s
(miền Laplace), tạo ra sự biến dạng sóng trong dải tần qua, nhưng đáp ứng ngoài dải tần qua giảm rất nhanh
Tỷ lệ biến dạng (ripple): Ripple trong dải tần qua phụ thuộc vào tham số ϵ\epsilonϵ
(epsilon) và bậc của bộ lọc
2.Thiết kế bộ lọc Chebyshev loại 1
B1: xác định giá trị của ε - vd độ gợn dải thông là “A” dB
10log(1+ ε2)= A > ε= √10A/10−1
B2: xác định giá trị của N - vd suy hao tại dải chặn là “B” dB
-20log(s)= -B -> s= 10B/20
N >= cos h
−1(√( s2−1)/ε2)
cos h−1( s / p)
Trang 9B3: xác định giá trị của sk (poles)
Sk = + k , k = 1, 2, 3 N
k = -sin [(2k - 1) 2 N ]sinh[N1 sin h−1(1
ε)]
k = -cos [(2k - 1)2 N ]cosh[N1 sin h−1(1
ε)]
B4: xác định giá trị của Ha (s)
Ha(s) = K
(−1)n
s1s2 s N
( s
p −s1)( s
p −s2) ( s
p −s N) K= { 1
√1+ε2, N =even
1 , N =odd
Trong đó:
N : bậc của bộ lọc
ε : tham số liên quan đến độ gợn tối đa của dải thông tính theo biên độ, tương ứng với |
Ha(j)|
p: tần số cắt của dải thông
Ωs: tần số cắt của dải chặn
δs : suy hao tối thiểu tại dải chắn tính
theo biên độ, tương ứng với |Ha (j Ω)|
Trang 10*Bộ lọc Chebyshev loại 1 chỉ có Poles thường được suy ra từ Ωp chuẩn hóa = 1
Phần code :
f = 8000;
Wp = [1600 2800] / (f / 2);
Ws = [1200 3200] / (f / 2);
Rp = 1;
Rs = 40 ;
% Thiết kế bộ lọc Chebyshev loại 1
[n, Wc] = cheb1ord(Wp, Ws, Rp, Rs);
[b, a] = cheby1(n, Rp, Wc, 'bandpass' );
%tính toán và vẽ đáp ứng tần số của bộ lọc
freqz(b,a,1000,f);
% Tạo tín hiệu đầu vào dạng chirp
t = 0:1/f:2;
input = chirp(t, 0, 2, f / 2); % Tín hiệu chirp từ 0 Hz đến f/2 Hz
% Lọc tín hiệu đầu vào
output = filter(b, a, input);
% Vẽ tín hiệu đầu vào và đầu ra
figure;
Trang 11% Tín hiệu đầu vào
subplot(2,1,1);
plot(t, input);
title( 'Tín hiệu đầu vào (Chirp)' );
xlabel( 'Thời gian (s)' );
ylabel( 'Biên độ' );
% Tín hiệu đầu ra qua bộ lọc Chebyshev loại 1
subplot(2,1,2);
plot(t, output);
title( 'Tín hiệu đầu ra sau khi qua bộ lọc Chebyshev loại 1' ); xlabel( 'Thời gian (s)' );
ylabel( 'Biên độ' );
Báo cáo :
Trang 12Đồ thi biểu diển biển độ :
0 – 1.6 Tăng dần từ -300 đến 0 1.6 – 2.8 Đường thẳng có giá trị 0
2.8 - 4 Giảm nhanh từ 0 về -300
Đồ thị biểu diễn pha :
1.5 – 3.6 Giảm nhanh từ 0 về -800 3.6- 4 Giảm dần từ -800 về -810
+Tín hiệu này có biên độ cao và
trải đều trong suốt khoảng thời
+ Trong tín hiệu đầu ra, ta thấy rằng các thành phần tần số nằm
Trang 13gian từ 0 đến 2 giây ngoài dải thông của bộ lọc đã bị
triệt tiêu, khiến cho tín hiệu chỉ còn một phần ở giữa có biên độ cao và có 1 chút gợn sóng
+ Phần đầu và cuối của tín hiệu đầu ra bị suy yếu đáng kể vì các tần số ở những vùng đó đã bị triệt tiêu do không nằm trong dải thông của bộ lọc
Thiết kế bộ lọc IIR thông dải sử dụng bộ lọc Chebyshev loại 2
1 Đặc Điểm Bộ Lọc Chebyshev Loại 2
Bộ lọc Chebyshev loại 2 có những đặc điểm chính như sau:
Ripple trong dải tần dừng: Khác với bộ lọc Chebyshev loại 1, bộ lọc Chebyshev loại
2 có ripple trong dải tần dừng (stopband), nhưng không có ripple trong dải tần qua
Đáp ứng tần số: Đáp ứng tần số của bộ lọc Chebyshev loại 2 có đặc điểm là suy giảm nhanh ngoài dải tần qua và đáp ứng tần số phẳng trong vùng tần qua.
Tính chất cực: Các cực của bộ lọc Chebyshev loại 2 được phân bố trên mặt phẳng
phức sao cho đáp ứng tần số ngoài dải tần qua được giảm mạnh
2.Thiết kế bộ lọc Chebyshev loại 2
B1: xác định giá trị của ε - vd độ gợn dải thông là “A” dB
20log( p)= A > p= 10A/20
Trang 14= √1− p2
p
B2: xác định giá trị của N - vd suy hao tại dải chặn là “B” dB
-20log(s)= -B -> s= 10B/20
N >= cos h
−1(√( s2
−1)/ s) cos h−1( s / p)
B3: xác định giá trị của sk (poles)
T = [1+√1−s2
Sk = (j s)
j
−sin[(2k−1) π
2 N]T2−1
2T + jcos[(2k−1) π
2 N]T2+1
2T
, k =N+1, N+2, N+3 2N
B4: xác định giá trị của zk(zeros)
Zk= j
s
cos[(2l−1)2 N π ] , { 1≤ l ≤ N , N =even
1≤ l ≤ N ,l ≠ N+1
2 , N =odd
B5: xác định hàm truyền đạt Ha (s) là đa thức tính được từ zeros và poles
Phần code :
f = 8000;
Trang 15Wp = [1600 2800] / (f / 2);
Ws = [1200 3200] / (f / 2);
Rp = 1;
Rs = 40;
% Thiết kế bộ lọc Chebyshev loại 2
[n, Wc] = cheb2ord(Wp, Ws, Rp, Rs);
[b, a] = cheby2(n, Rs, Wc, 'bandpass' );
%tính toán và vẽ đáp ứng tần số của bộ lọc
freqz(b,a,1000,f);
% Tạo tín hiệu đầu vào dạng chirp
t = 0:1/f:2;
% Tín hiệu chirp từ 0 Hz đến f/2 Hz
input = chirp(t, 0, 2, f / 2);
% Lọc tín hiệu đầu vào qua từng bộ lọc
output = filter(b, a, input);
% Vẽ tín hiệu đầu vào và đầu ra của từng bộ lọc
figure;
% Tín hiệu đầu vào
subplot(2,1,1);
plot(t, input);
title( 'Tín hiệu đầu vào (Chirp)' );
xlabel( 'Thời gian (s)' );
ylabel( 'Biên độ' );
% Tín hiệu đầu ra qua bộ lọc Chebyshev loại 2
subplot(2,1,2);
plot(t, output);
Trang 16title( 'Tín hiệu đầu ra sau khi qua bộ lọc Chebyshev loại 2' );
xlabel( 'Thời gian (s)' );
ylabel( 'Biên độ' );
Báo cáo :
Đồ thi biểu diển biển độ :
0 – 1.2 Tại 1 số điểm tần số, biên độ
tăng mạnh rồi giảm đột ngột
1.6 – 2.8 Là 1 đường thẳng giá trị 0
Trang 172.8 - 4 Tại 1 số điểm tần số, biên độ
đột ngột giảm mạnh sau đó lại tăng nhanh Tại lần cuối biên độ giảm dần về -75
Đồ thị biểu diễn pha :
0.8- 1.2 1 số điểm tăng mạnh đột
ngột rồi giảm nhẹ 1.2- 3.2 Giảm nhanh từ 320 về
-320 3.2-3.5 1 số điểm đột ngột tăng
mạnh có lúc giảm dần
Trang 18+Tín hiệu này có biên độ cao và
trải đều trong suốt khoảng thời
gian từ 0 đến 2 giây
+ Tần số nằm trong dải thông của
bộ lọc mới được giữ lại, còn các tần số ngoài dải thông sẽ bị triệt tiêu Các tần số cao trong dải thông có ít hoặc hầu như không có gợn song
+ Tín hiệu đầu ra khá ổn định + Độ suy giảm trong dải tần số qua sẽ không mượt mà như bộ lọc Butterworth và có thể gây ra ripple