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

32 2.6K 86
Thiết kế bộ lọc Notch Filter bằng Matlab

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

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 [...]... hiệu thu được qua bộ lọc và tín hiệu đầu vào có sai số do có nhiễu và chất lượng bộ lọc chưa cao Tuy nhiên đường bao biên độ bám khá sát tín hiệu đầu vào Tống Vân Anh – TĐH4 – K55 Page 28 5.4 Thiết kế bộ lọc bằng Matlab Ngoài phương pháp sử dụng Simulink để thiết kế bộ lọc Notch ta có thể sử dụng Matlab để xây dựng bộ lọc Ví dụ với việc tách lấy tín hiệu tần số 10Hz: t=0:0.0001:1; a1=20*sin(2*pi*10*t);... plot(t,z); axis([0 1 -40 40]); Trong đó: là các hàm giúp thiết kế bộ lọc với các thông số tương ứng Tống Vân Anh – TĐH4 – K55 Page 29 Ta cũng thu được kết quả tương tự với việc mô phỏng bằng Simulink: Tống Vân Anh – TĐH4 – K55 Page 30 Kết luận chung Đồ án này đã trình bày phương pháp sử dụng hàm Fast Fourier Transform(FFT), kết hợp với sử dụng Notch Filter ta có thể nhận dạng được mô hình toán học bậc... bằng cách: - Sử dụng FFT để xác định tần số của từng tín hiệu thành phần - Lọc tách tín hiệu bằng NotchFilter - Sử dụng phương pháp bình phương cực tiểu xác định đường bao biên độ của tín hiệu, từ đó xác định được biên độ và hệ số tắt dần của tín hiệu Độ chính xác của các thông số mô hình phụ thuộc vào chất lượng của bộ lọc Notch và chịu ảnh hưởng nhỏ của nhiễu Từ các thông số này ta có thể thiết kế. .. Page 26 5.3 5.3.1.Tín So sánh kết quả hiệu tần số 10Hz Ta có đồ thị: Ta thấy tín hiệu thu được qua bộ lọc vẫn còn có sai số so với tín hiệu gốc do có nhiễu và do thông số bộ lọc còn chưa chính xác Tuy nhiên đường bao biên độ thì tương đối bám sát tín hiệu gốc Tống Vân Anh – TĐH4 – K55 Page 27 5.3.2 Tín hiệu tần số 15Hz Ta có đồ thị: Ta thấy giữa tín hiệu thu được qua bộ lọc và tín hiệu đầu vào có sai... được bộ điều khiển thích hợp cho từng hệ thống và mục đích sử dụng khác nhau 5.5 Tống Vân Anh – TĐH4 – K55 Page 31 Tài liệu tham khảo 1 Automatic Control Systems 9th Book 2 “Xử lý số tín hiệu”( Phương pháp truyền thống kết hợp với phần mềm Matlab) TS.Hồ Văn Sung 3 Matlab & simulink dành cho kĩ sư điều khiển tự động” Nguyễn Phùng Quang 4 “Xử lý tín hiệu và lọc số” (Chương trình tổng hợp và thiết kế các... y1 = 3.32-5.8t  ln(z1)= 3.32-5.8t z1 = 27.66 Phương trình đường bao biên độ tín hiệu 15Hz là : z1 = 27.66 Vậy qua bộ lọc ta thu được tín hiệu tần số 15Hz có , đại 27.66 Tống Vân Anh – TĐH4 – K55 Page 21 biên độ cực 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... 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 0 34.99 0.058 16.31 0.126... 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... 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à... truyền thống kết hợp với phần mềm Matlab) TS.Hồ Văn Sung 3 Matlab & simulink dành cho kĩ sư điều khiển tự động” Nguyễn Phùng Quang 4 “Xử lý tín hiệu và lọc số” (Chương trình tổng hợp và thiết kế các bộ lọc số) PGS TS Nguyễn Quốc Trung Tống Vân Anh – TĐH4 – K55 Page 32 . 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=. 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. 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

Ngày đăng: 09/01/2015, 08:05

Mục lục

  • CHƯƠNG I: TÌM HIỂU VỀ HÀM FFT TRONG MATLAB

  • I.2. Hàm FFT trong Matlab

    • I.2.1. Định nghĩa, chức năng hàm

    • 1.2.2. Cấu trúc hàm và ví dụ

    • 2.2. Ảnh hưởng các thông số tới bộ lọc

    • CHƯƠNG III: PHƯƠNG PHÁP XỬ LÝ SỐ LIỆU

      • 3.1. Phương pháp xử lý số liệu

        • 3.1.1.Mô phỏng tín hiệu

        • Hàm truyền tín hiệu có dạng:

        • 3.1.2.Tính toán đường bao biên độ

        • CHƯƠNG IV: THAO TÁC PHÂN TÍCH TÍN HIỆU CỤ THỂ

        • CHƯƠNG V:THỰC HÀNH

          • 5.1. Sử dụng FFT tìm các tần số chính của tín hiệu

          • 5.2. Dùng Notch Filter tách tín hiệu.

            • 5.2.1.Tách lấy tín hiệu tần số 15Hz

            • 5.3. So sánh kết quả

            • 5.3.1. Tín hiệu tần số 10Hz

            • Ta có đồ thị:

              • 5.3.2. Tín hiệu tần số 15Hz

              • 5.4. Thiết kế bộ lọc bằng Matlab

              • Tài liệu tham khảo

Tài liệu cùng người dùng

Tài liệu liên quan