Tải bản đầy đủ (.docx) (32 trang)

Thiết kế bộ lọc Notch Filter bằng Matlab

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (404.45 KB, 32 trang )

MỤC LỤC
Tống Vân Anh – TĐH4 – K55 Page 1
LỜI MỞ ĐẦU

Ngày nay,các hệ thống điều khiển tự động đang chiếm một vai trò quan trọng trong
việc phát triển và tiến bộ của văn minh hiện đại và khoa học kĩ thuật. Từ đó yêu cầu về
truyền phát các tín hiệu số phục vụ việc điều khiển và giám sát cũng tăng cao. Để tăng
hiệu suất sử dụng các hệ thống, các tín hiệu số truyền đi thường là tổng hợp tín hiệu của
nhiều thiết bị. Ngoài ra, trong quá trình truyền dẫn tín hiệu sẽ bị ảnh hưởng bởi nhiễu từ
môi trường. Chính vì vậy cần thiết kế các bộ lọc số để phân tách tín hiệu một cách chính
xác để bên thu có thể phân tích, đánh giá và giám sát hệ thống.
Trong Đồ án này,em sẽ trình bày về việc nhận dạng mô hình toán học bậc 2,phân
tích và xây dựng phương trình đường bao cho các tín hiệu thành phần từ một tín hiệu tổng
cho trước.
Để thực hiện Đồ án này em xin chân thành cảm ơn TS.Dương Minh Đức đã tận
tình hướng dẫn, giúp em có những kiến thức căn bản về xử lý tín hiệu và lọc số.
Với thời gian và kiến thức còn hạn chế nên Đồ án của em không tránh khỏi những
sai sót. Em mong thầy sẽ có những góp ý bổ sung để Đồ án của em được hoàn thiện hơn.
Em xin chân thành cảm ơn!
Sinh viên thực hiện
Tống Vân Anh – TĐH4 – K55 Page 2
CHƯƠNG I: TÌM HIỂU VỀ HÀM FFT TRONG MATLAB
( Fast Fourier Transform)
I.1. Biến đổi Fourier
Tín hiệu thực tế thường bao gồm các thành phần có tần số khác nhau. Chuỗi
Fourier và phép biến đổi Fourier là công cục toán học dung để phân tích đặc tính tần số
của tín hiệu. Có 4 định nghĩa về chuỗi và phép biến đổi Fourier gồm: Chuỗi Fourier liên
lục theo t(CFS), phép biến đổi Fourier liên tục theo t (CFT), chuỗi Fourier gián đoạn
theo t(CFS) và phép biến đổi Fourier gián đoạn theo t(DFT).
Ta có phương trình biến đổi Fourier liên tục như sau:
Tuy nhiên tín hiệu ta thu được thường là tín hiệu tại các thời điểm gián đoạn. Để có


thể xử lý được ta cần pháp biến đổi Fourier gián đoạn (DFT) để tính xấp xỉ công thức , ta
thay phép tích phân bởi phép tính tổng N diện tích ình chữ nhật có chiều cao là với là
chiều rộng của các hình chữ nhật( chu kỳ trích mẫu của phép đo có được bằng cách lấy
mẫu một tín hiệu liên tục h(t) T lần trong một giây), là tần số trích mẫu và là số lượng
giá trị đo.
Nói chung hệ số DFT của là một số phức và nó xác định biên độ và pha của thành
phần tín hiệu có tần số tương ứng với tần số tương tự . Độ phân giải tần số là
( tần số cơ bản số) hoặc ( tần số cơ bản tương tự) là tỉ lệ nghịch với khoảng thời gian
đo,là hiệu tần số có thể phân biệt bởi N điểm DFT. Tín hiệu và DFT của nó kéo dài hữu
hạn trên phạm vi thời gian/ tần số
Tống Vân Anh – TĐH4 – K55 Page 3
I.2. Hàm FFT trong Matlab
I.2.1. Định nghĩa, chức năng hàm
Biến đổi Fourier nhanh FFT là thuật toán hiệu quả để tính DFT được xây dựng
bằng cách dung tính chu kỳ và tính đối xứng của nhân tử để giảm bớt số nhân tử phức
từ thành , N thể hiện kích thước của DFT. Thuật toán FFT phân tích theo thời gian phân
tích dãy thành các dãy con nhỏ hơn.
Lệnh fft(x) của MATLAB có tác dụng tạo vector số liệu trả lại kết quả dưới dạng
một vector có cùng độ dài với , và các hệ số Fourier. Các hệ số Fourier có hai khoảng
đối xứng và .
Nếu cần xác định các hệ số thực của chuỗi Fourier:
Bằng công cụ DFT, ta cần chú ý tới chu kỳ trích mẫu T và chuẩn hóa kết quả bằng
thời gian đo NT. Để làm điều đó và để xét tới chiều rộng T của lượng tử diện tích hình
chữ nhật, ta chia các phần tử của cho N. Đồng thời ta tách dải tần trên ra và gấp đôi số
phần tử còn lại ( không kể thành phần một chiều có chỉ số 1).
1.2.2. Cấu trúc hàm và ví dụ
• Cấu trúc hàm:
Trong Matlab thuật toán Fast Fourier Transform có câu lệnh là . Trong đó x là
chuỗi dữ liệu x[n].
• Ví dụ:

Trong ví dụ dưới đây, trước hết ra tạo ra một vector giá trị đo kèm theo vector thời
gian . Sau đó xác định chu kỳ trích mẫu , số lượng của phép đo (và vector tần số . Kết
quả biến đổi được chuẩn hóa và hạn chế vào phạm vi. Tín hiệu đo và phổ tần được
minh họa bởi đồ thị.
t = 0.01 : 0.001 : 0.5 ;
x = 5 + 8*sin(2*pi*8*t) + 4*cos(2*pi*33*t);
Tống Vân Anh – TĐH4 – K55 Page 4
T = diff (t(1:2));
N = length(x);
f = [0:(N-1) / 2] / (N*T);
H = fft(x);
H= H/N;
H = [H(1) 2*H(2:N/2)];
figure;
subplot(121);
plot(t,x);
title('Signal' , ' FontSize ' ,12);
subplot(122);
plot(f,abs(H),'o');
xlabel('Frequency [Hz] ', 'FontSize',12);
title('Spectrum', 'FontSize',12);
Hình 1: Đáp ứng tần số và biên độ của tín hiệu
Tống Vân Anh – TĐH4 – K55 Page 5
Trong ví dụ trên, chu kỳ trích mẫu và tần số cao nhất có thể đo được là . Có tất cả
50 giá trị đo đã được xử lý. Độ phân giải tần số là . Phổ được tính cho các tần số , nếu xuất
hiện một thành phần tần số của tín hiệu đo được nằm giữa các tần số tính ( nằm giữa các
chấm tròn) đó là do hiện tượng dò tần số gây nên : biên độ có phân bố rải sang cả các tần
số lân cận. Hiện tượng này sẽ xuất hiện khi khoảng thời gian đo không phải là bội số ( gấp
một số nguyên lần) của chu kỳ của thành phần tín hiệu cần được phân tích.
Việc chọn độ phân giải tần số mịn hơn nhằm mục đích loại trừ dò tần số cũng chỉ

có tác dụng hạn chế, vì qua đó tạp âm sẽ có ảnh hưởng mạnh hơn. Hiệu pháp tốt hơn là
sử dụng các hàm cửa sổ hoặc tạo ra các giá trị trung bình.
Tống Vân Anh – TĐH4 – K55 Page 6
CHƯƠNG II: TÌM HIỂU VỀ BỘ LỌC NOTCH FILTER
2.1. Tìm hiểu chung
Mạch lọc là một lớp đặc biệt của các hệ thống tuyến tính bất biến với thời gian.
Mạch lọc- chọn lọc tần số là một hệ thống chỉ cho qua các thành phần tần số nhất định
và cắt bỏ toàn bộ các thành phần tần số khác. Dựa trên đáp ứng tần số của hàm truyền,
mạch lọc được phân thành 4 loại cơ bản: Thông thấp ( Low- Pass Filter:LPF), thông
cao(High- Pass Filter:HPF), thông dải (Bandpass Filter :BPF) và chặn dải (Bandstop
Filter:BSF).
Notch Filter là một loại mạch lọc tần số có 3 trường hợp đáp ứng tần số như sau:
Trong tài liệu này ta tìm hiểu trường hợp bộ lọc tần số Notch Filter có dạng chuẩn
“Standard Notch”.
Với trường hợp này, hàm truyền của bộ lọc Notch sẽ có dạng:
Tống Vân Anh – TĐH4 – K55 Page 7
2.2. Ảnh hưởng các thông số tới bộ lọc
Ta có hàm truyền của bộ lọc:
Trong đó là tần số cắt của bộ lọc(hằng số) như vậy ta chỉ xét sự ảnh hưởng của 2
thông số là và tới bộ lọc.
Xét
G G1 G2 G3 G4
0.03 0.02 0.04 0.04
0.01 0.01 0.05 0.06
Thực hiện lệnh trong Matlab:
G1=tf([1 0.3 25],[1 1 25]);
bode(G1,'-'), grid
hold on
G2=tf([1 0.2 25],[1 1 25]);
bode(G2,' '), grid

G3=tf([1 0.4 25],[1 0.5 25]);
bode(G3,':'), grid
G4=tf([1 0.4 25],[1 0.6 25]);
bode(G4,' '), grid
Tống Vân Anh – TĐH4 – K55 Page 8
Tống Vân Anh – TĐH4 – K55 Page 9
Ta thu được đồ thị sau:
Như ta thấy, với hàm truyền G1 và G2 thì dải tần số cắt của G2 nhỏ hơn G1( tức
lọc chính xác hơn). Còn với hàm truyền G3 và G4 thì thì dải tần số cắt của G4 nhỏ hơn
G3.
Hay ta có thể kết luận rằng với tỉ số / càng nhỏ thì chất lượng của bộ lọc Notch
Filter càng tốt.
Tống Vân Anh – TĐH4 – K55 Page 10
CHƯƠNG III: PHƯƠNG PHÁP XỬ LÝ SỐ LIỆU
3.1. Phương pháp xử lý số liệu
Hàm truyền tín hiệu có dạng:
G(s)=
ta cần xác định thông số của tín hiệu.
Bước tiến hành:
Bước 1: Mô phỏng hàm truyền với kích thích đầu vào Impulse.
Bước 2: Tính toán phương trình đường bao biên độ của tín hiệu thu được.
Bước 3: Qua công thức đường bao lý thuyết xác định thông số .
3.1.1.Mô phỏng tín hiệu
Hàm truyền tín hiệu có dạng:
G(s)=
Với đáp ứng đầu vào là tín hiệu Impulse, ta thu được dạng tín hiệu đầu ra .
Như ta thấy, đồ thị tín hiệu thu được có dạng tắt dần.
Tống Vân Anh – TĐH4 – K55 Page 11
Phương trình đường bao biên độ:
±

3.1.2.Tính toán đường bao biên độ
Ta sử dụng phương pháp bình phương cực tiểu để tính toán phương trình đường
bao biên độ.
• Phương pháp bình phương cực tiểu:
Giả thiết có hàm thực nghiệm:




Trong đó n là số điểm cực đại.
Để đơn giản ta thay hàm thực nghiệm bằng đa thức gần đúng:
Tiến hành tính các hệ số a và b nghĩa là với các giá trị này, đồ thị của đa thức sữ đi
gần sát với các điểm trong đó . Ký hiệu là độ lệch của giá trị so với giá trị bảng và khi
đặt vào phương trình (1) lần lượt từng cặp giá trị bảng , ta viết được phương trình độ
lệch:
Trong hệ phương trình này ta coi các số a, b là các số chưa biết còn các giá trị là
các hệ số đã cho.
Tống Vân Anh – TĐH4 – K55 Page 12
Như vậy giá trị tốt nhất của các số a, b có được khi tổng bình phương độ lệch là
nhỏ nhất, nghĩa là:
Hoặc
=
Để cho hàm f(a,b) có giá trị nhỏ nhất, các đạo hàm riêng theo a và b phải triệt tiêu,
nghĩa là:
Lấy đạo hàm tiêng của phương trình (*), ta nhận được hệ phương trình đối với các
hệ số a,b chưa biết:
Hệ phương trình có thể giải được bằng phương pháp đại số từ đó ta xác định được
hệ số a và b.
Tống Vân Anh – TĐH4 – K55 Page 13
CHƯƠNG IV: THAO TÁC PHÂN TÍCH TÍN HIỆU CỤ THỂ

Ta có tín hiệu cần phân tích dạng:
Trong đó : và là 2 tín hiệu chính và là 1 tín hiệu nhiễu.
Trình tự thực hiện:
Bước 1: Sử dụng FFT để xác định 2 tần số và .
Bước 2: Sử dụng NotchFilter để tách lần lượt từng tín hiệu ra khỏi tín hiệu tổng.
Bước 3: Xác định các điểm cực đại của từng tín hiệu đơn lẻ.
Bước 4: Sử dụng phương pháp bình phương cực tiểu để viết phương trình đường
thẳng đi qua các điểm cực đại của tín hiệu. Từ đó suy ra dạng phương trình tín hiệu.
Tống Vân Anh – TĐH4 – K55 Page 14
CHƯƠNG V:THỰC HÀNH
Ta giả thiết tín hiệu dùng để khảo sát là tổng 2 tín hiệu có tần số 10Hz và 15Hz,
ngoài ra có thêm tín hiệu nhiễu:
y= 20.sin(2π.10t) + 35.sin(2π.15t). +u(t)
Trong đó : 20.sin(2π.10t) và 35.sin(2π.15t). là 2 tín hiệu chính và u(t) là 1 tín hiệu
nhiễu.
5.1. Sử dụng FFT tìm các tần số chính của tín hiệu
t=0:0.0001:1;
k1=2*pi*10;
c1=20*exp(-5*t).*sin(k1*t);
k2=2*pi*15;
c2=35*exp(-6*t).*sin(k2*t);
y=c1+c2+0.2*randn(size(2*pi*t));
T = diff (t(1:2));
N = length(y)-1;
f = [0:(N-1) / 2] / (N*T);
H = fft(y);
H= H/N;
H = [H(1) 2*H(2:N/2)]; plot(f,abs(H));
Tống Vân Anh – TĐH4 – K55 Page 15
Nhìn vào hình trên ta thấy có 2 tần số chính là 10Hz và 15 Hz là tần số của 2 tín

hiệu thành phần.
Tống Vân Anh – TĐH4 – K55 Page 16
5.2. Dùng Notch Filter tách tín hiệu.
Ta sử dụng sơ đồ Simulink như hình dưới:
5.2.1.Tách lấy tín hiệu tần số 15Hz
Ta chọn hàm truyền cho bộ lọc Notch Filter là:
Tống Vân Anh – TĐH4 – K55 Page 17
Ta thu được đồ thị từ scope
Ta lấy tọa độ 11 đỉnh A(t,y):
t y
0 34.99
0.058 16.31
0.126 15.31
0.192 10.42
0.261 7.624
0.326 3.147
0.385 3.018
Tống Vân Anh – TĐH4 – K55 Page 18
0.461 2.398
0.526 0.8279
0.582 0.8069
0.661 0.768
Tống Vân Anh – TĐH4 – K55 Page 19
Lấy Logarit tự nhiên tung độ của các điểm ta được các điểm B(t, z) :
t z
0 3.5551
0.058 2.7918
0.126 2.7285
0.192 2.3437
0.261 2.0313

0.326 1.1464
0.385 1.1046
0.461 0.8746
0.526 -0.1889
0.582 -0.2146
0.661 -0.264
Xét 11 điểm B(t,z) này tương đối cùng nằm trên 1 đường thẳng.
Phương trình đường thẳng đi qua 11 điểm có dạng : y
1
= a
1
+b
1
.t
Áp dụng phương pháp bình phương cực tiểu ta có hệ phương trình :


 y
1
= 3.32-5.8t
Tống Vân Anh – TĐH4 – K55 Page 20
Phương trình đường thẳng qua tập hợp điểm :
y
1
= 3.32-5.8t
 ln(z
1
)= 3.32-5.8t
z
1

= 27.66
Phương trình đường bao biên độ tín hiệu 15Hz là : z
1
= 27.66
Vậy qua bộ lọc ta thu được tín hiệu tần số 15Hz có , biên độ cực
đại 27.66.
Tống Vân Anh – TĐH4 – K55 Page 21
5.2.2.Tách lấy tín hiệu tần số 10Hz.
Ta chọn hàm truyền cho bộ lọc Notch Filter là:
Ta thu được đồ thị từ scope :
Tống Vân Anh – TĐH4 – K55 Page 22
Ta lấy tọa độ 9 đỉnh A1(t,y):
t y
0.026 23.12
0.142 10.56
0.25 7.015
0.346 3.971
0.45 2.588
0.548 1.456
0.65 0.9402
0.746 0.5373
0.85 0.3411
Lấy Logarit tự nhiên tung độ của các điểm ta được các điểm B1(t, z) :
t z
0.026 3.1407
0.142 2.357
0.25 1.9481
0.346 1.379
0.45 0.9509
0.548 0.3757

Tống Vân Anh – TĐH4 – K55 Page 23
0.65 -0.0617
0.746 -0.6212
0.85 -1.0756
Xét 9 điểm B1(t,z) này tương đối cùng nằm trên 1 đường thẳng.
Phương trình đường thẳng đi qua 9 điểm có dạng : y
1
= a
1
+b
1
.t
Tống Vân Anh – TĐH4 – K55 Page 24
Áp dụng phương pháp bình phương cực tiểu ta có hệ phương trình :


 y
1
= t
Tống Vân Anh – TĐH4 – K55 Page 25

×