Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 31 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
31
Dung lượng
278,06 KB
Nội dung
ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC BÁCH KHOA — oOo — TIỂU LUẬN MÔN HỌC THIẾT KẾ LỌC SỐ VÀ BIẾN ĐỔI WAVELET ĐỀ TÀI: THIẾT KẾ BỘ LỌC FIR THÔNG DẢI BẰNG PHƯƠNG PHÁP CỬA SỔ Người hướng dẫn : Học viên thực : Đà Nẵng, tháng 11/2005 Tiểu luận: Thiết kế lọc FIR thông dải phương pháp cửa sổ Trang LỜI MỞ ĐẦU Xử lý tín hiệu số (Digital Signal Processing — DSP) trở thành môn học sở cho nhiều ngành khoa học, kỹ thuật như: Điện, Điện Tử, Tin học, Viễn thơng, Tự động hố Xử lý tín hiệu số ứng dụng rộng rãi nhiều lĩnh vực thiết bị như: CD, VCD, DVD, camera, scanner, y khoa , hệ thống truyền hình số, thơng tin địa lý, đồ số, viễn thông v.v Phép xử lý DSP lọc, hệ thống đề cập đến nhiều xử lý tín hiệu số lọc số (Digital Filter) Nếu xét đáp ứng xung chia lọc số thành loại lọc có đáp ứng xung hữu hạn FIR (Finite Impulse Response) cịn gọi lọc khơng đệ quy, lọc có đáp ứng xung vơ hạn IIR (Infinte Impulse Response) gọi lọc đệ quy Xét đáp ứng tần số biên độ chia lọc, FIR hay IIR, thành loại bản: thông thấp, thông cao, thông dải chắn dải Các lọc thiết kế phương pháp sau đây: Phương pháp cửa sổ (Window Design Techniques), Phương pháp lấy mẫu tần số (Frequency Sampling Design Techniques) Phương pháp xấp xỉ tối ưu cân gợn sóng (Optimal Equiripple Design Techniques) Mỗi phương pháp có đặc điểm ưu khuyết điểm riêng Trong khuôn khổ tiểu luận môn học, xin phép trình bày tốn thiết kế lọc FIR thông dải phương pháp cửa sổ Nội dung tiểu luận chia thành phần: Phần Cơ sở lý thuyết Phần Thiết kế lọc FIR thông dải phương pháp cửa sổ Phần Kết luận Phần CƠ SỞ LÝ THUYẾT 1.1 Dần nhập Việc thiết kế lọc số tiến hành theo bước: • Đưa tiêu: Trước thiết kế lọc cần xác định tiêu Các tiêu xác định ứng dụng cụ thể khác • Tìm xấp xỉ: Một tiêu xác định, ta sử dụng khái niệm cơng cụ tốn học khác để tiến tới biểu diễn tính gần cho lọc với tập tiêu cho Và chủ đề việc thiết kế lọc số • Thực lọc: Kết bước cho mô tả dạng phương trình sai phân, hàm hệ thống H(z), đáp ứng xung h(n) Từ mô tả thi hành lọc phần cứng phần mềm mơ máy tính Trong phần tiếp sau đây, để mô tả tiêu lọc xem xét việc thiết kế lọc thông thấp ví dụ sở Có nhóm tiêu: Các tiêu tuyệt đối (Absolute Speciíications) tiêu tương đối (Relative Speciíications - DB) Hình 1.1 Các tiêu lọc FIR: tiêu tuyệt đối tương đối Trong đó: • Band [0, Wp] gọi dải thông, 81 dung sai (gợn sóng) chấp nhận đáp ứng dải thơng lý tưởng • Band [ws, ri] gọi dải chắn, 82 dung sai dải chắn • Band [wp, ws] gọi dải chuyển tiếp, khơng có ràng buộc đáp ứng biên độ dải Các tiêu tương đối gồm có: • Rp: Độ gợn sóng dải thơng tính theo dB • As : Suy hao dải chắn tính theo dB Quan hệ tiêu sau: - ^„ p = -20log10 1-|1 > («0) (1.1) ^7 s = —20log10 1—2— > (>>1) (1.2) R A Các tiêu đưa lọc FIR thông thấp, tất nhiên lọc khác thông cao HPF (High Pass Filter), thông dải BPF (Band Pass Filter) định nghĩa tương tự Tuy nhiên, tham số thiết kế quan trọng dung sai dải tần tần số cạnh-dải (tolerance or ripples and band-edge frequencies) Bởi vậy, phần sở lý thuyết tập trung vào lọc FIR thông thấp Việc thiết kế cụ thể cho lọc FIR thông dải kỹ thuật cửa sổ phát triển sở lọc thông thấp mô tả chi tiết phần Việc thiết kế thực lọc FIR có thuận lợi sau đây: • Đáp ứng pha tuyến tính • Dễ thiết kế khơng gặp vấn đề ổn định (lọc FIR ổn định) • Việc thực hiệu • Có thể sử dụng DFT để thực Đáp ứng pha tuyến tính (linear phase response) mang lại thuận lợi sau: • Bài tốn thiết kế gồm phép tính số học thực khơng cần phép tính số học phức • Bộ lọc pha tuyến tính khơng có méo trễ nhóm bị trễ khoảng khơng đổi • Đối với lọc có chiều dài M (hoặc bậc M-1) số phép tốn có bậc M/2 khảo sát thực lọc có pha tuyến tính 1.2 Cấu trúc lọc FIR Một lọc đáp ứng xung hữu hạn với hàm hệ thống có dạng: H(z) = b0 + b1Z-1 + - + bM-1Z1-M = £bnz -n (1.3) n=0 Như đáp ứng xung h(n) là: h(n) = < n < M -1 (1.4) else Và phương trình sai phân là: y(n) = b0x(n) + b1x(n -1) + • - + bM-1x(n - M +1) (1.5) Đây tích chập tuyến tính dãy hữu hạn Bậc lọc M-1, chiều dài lọc M (bằng với số lượng hệ số) Các cấu trúc lọc FIR luôn ổn định, tương đối đơn giản so với cấu trúc lọc IIR Hơn nữa, lọc FIR thiết kế để có đáp ứng pha tuyến tính điều cần thiết số ứng dụng Chúng ta xem xét cấu trúc lọc FIR sau đây: a Cấu trúc dạng trực tiếp Phương trình sai phân thực dãy liên tiếp trễ khơng có đường phản hồi: y(n) = b0x(n) + b1X(n -1) + • • + bjM-1X(n - M +1) (1.6) Do mẫu thức đơn vị nên ta có cấu trúc dạng trực tiếp Cấu trúc dạng trực tiếp cho hình 1.2 với M = 5: x(n) y(n) Hình 1.2 Cấu trúc lọc FIR dạng trực tiếp b Cấu trúc dạng ghép tầng: Hàm hệ thống H(z) biến đổi thành tích khâu bậc với hệ số thực Các khâu thực dạng trực tiếp lọc tổng thể có dạng ghép tầng khâu bậc -1 H(z) = b0 + b1Z + • • • + bM-1Z1 M = b0 K = 0n b + (1 + +bM-1 b0 + B k,1Z (1.7) B k,2Z ) k=1 K M = , 2Bk,1 Bk,2 số thực đại diện cho hệ số khâu bậc Cấu trúc dạng ghép tầng cho hình 1.3 với M = 7: Hình 1.3 Cấu trúc lọc FIR dạng ghép tầng x(n) > - » > V/'1 , >1’1 > < Z-1 _ í i > > — BS1 ’'Z1 —> B„ w z — y(n) c Cấu trúc dạng pha tuyến tính: Đối với lọc chọn tần, người ta mong muốn có đáp ứng pha hàm tuyến tính theo tần số, nghĩa là: /H(e') [} -K 21): As = '); if (temp < 0), error('Error: As must be larger than 21 dB !!'); end As=temp; elseif (nargin ~= 6), error('Number of input arguments invalid: bpf_kai(ws1,wp1,wp2,ws2,Rp,As)'); end end % Adjust the band-edge specifications ws1=ws1*pi; wp1=wp1*pi; wp2=wp2*pi; ws2=ws2*pi; % Caculate M and beta tr_width = min((wp1-ws1),(ws2-wp2)); % Transition bandwidth M = ceil((As-7.95)/(14.36*tr_width/(2*pi))+1)+1; M = 2*floor(M/2)+1 % Oddfilter length n=[0:1:M-1]; if As >= 50 beta = 0.1102*(As-8.7); elseif (As < 50) & (As > 21) beta = 0.5842*(As-21)A(0.4) + 0.07886*(As-21); else error('As must be greater than 21') end beta % w_kai Caculate Kaiser window function = (kaiser(M,beta))'; % wc1 cutoff of ideal LPF1 = freq (ws1+wp1)/2; % wc2 cutoff of ideal LPF = freq (wp2+ws2)/2; hd = ideal_lp(wc2,M) - ideal_lp(wc1,M); % Caculate the ideal impulse response % hActual impulse = hd * w_kai;response h(n) [db,mag,pha,grd,w] = freqz_m(h,[1]); % Caculate Magnitude Response delta_w = 2*pi/1000; % disp(['Actual Passband Ripple:']) % Rp = -min(db(wp1/delta_w+1:1:wp2/delta_w)) % Actua; Passband Ripple disp(['Actual Stopband Attenuation:']) % As = -round(max(db(ws2/delta_w+1:1:501))) % Min Stopband Attenuation %================================================== % plot Ideal impulse response hd(n) subplot(1,1,1); subplot(2,2,1); stem(n,hd,'.'); title('Ideal Impulse Response hd(n)') axis([0 M-1 -0.4 0.4]); xlabel('n'); ylabel('hd(n)') %================================================== % plot Kaiser window function w_kai(n) subplot(2,2,2); stem(n,w_kai,'.');title('Kaiser Window w(n)') axis([0 M-1 -0.1 1.1]); xlabel('n'); ylabel('w(n)') %================================================== % plot design impulse response h(n) subplot(2,2,3); stem(n,h,'.');title('Actual Impulse Response h(n)') axis([0 M-1 -0.4 0.4]); xlabel('n'); ylabel('h(n)') %================================================== % plot magnitude response in dB subplot(2,2,4); plot(w/pi,db); title('Magnitude Response in dB');grid; xlabel('frequency in pi units'); ylabel('Decibels') axis([0 -150 10]); %================================================== % plot dash lines set(gca,'XTickMode' ,'manual' ,'XTick',[0,ws1/pi,wp1/pi,wp2/pi,ws2/pi, 1]) set(gca,'YTickMode','manual','YTick',[-As,0]) Các hàm sử dụng chương trình: • ideal_lp(wc,M): Tính đáp ứng xung lọc thông thấp lý tưởng bậc M • kaiser(M,beta): Tính cửa sổ Kaiser chiều dài M, với tham số beta • freqz_m(h,[1]): Tính đáp ứng tần số lọc FIR có đáp ứng xung h Hai hàm ideal_lp.m freqz_m.m tham khảo từ tài liệu [1] function [db,mag,pha,grd,w] = freqz_m(b,a); %Modified version of freqz subroutine % %[db,mag,pha,grd,w]=freqz_m(b,a); %db=Relative magnitude in dB computed over topi radians %mag=absolute magnitude computed over to pi radians %grd= Group delay over to pi radians %w=501 frequency samples between to pi radians % b=numeratorpolynomial of H(z) (for FIR: a=h) % a=demonitorpolynomial of H(z) (for FIR: a=[1]) % [H,w] = freqz(b,a,1000,'whole'); H = (H(1:1:501))'; w = (w(1:1:501))'; mag = abs(H); db = 20*log10((mag+eps)/max(mag)); pha = angle(H); grd = grpdelay(b,a,w); function hd = ideal_lp(wc,M); % Ideal LowPassfilter computation % -% [hd] = ideal_lp(wcM) % hd = ideal impulse response between to M-1 % wc = cutofffrequency in radians % M = length of the idealfilter % alpha = (M-1)/2; n = [0:1:(M-1)]; m = n - alpha + eps; hd = sin(wc*m) / (pi*m); 2.4 Kết chạy chương trình thiết kế Các tiêu thiết kế cho: • Ws1 = 0.3K, Wp1 = 0.4K • Wp2 = 0.ĨK, Ws2 = 0.7TC • Suy hao dải chắn • Độ gợn sóng dải thơng : Rp = 0.5 dB : As = 74 dB Cách gọi hàm : h=bpf_kai(0.3, 0.4, 0.6, 0.7, 0.5, 74); Kết chạy chương trình thiết kế: • M = 95 • Beta = 7.1961 • Độ gợn sóng dải thơng thực tế: Rp = 0.0029 dB • Suy hao dải chắn thực tế: As = 74 dB Như lọc vừa thiết kế thoả mãn tiêu đặt tốn Hình dạng đáp ứng xung lý tưởng, đáp ứng xung thực tế lọc, hàm cửa sổ Kaiser, đáp ứng biên độ tần số (theo dB) lọc cho hình 2.3 Hình 2.3 Kết thiết kế lọc FIR thông dải cửa sổ Kaiser Phần KẾT LUẬN Việc thiết kế thực lọc FIR có thuận lợi như: đáp ứng pha tuyến tính, lọc FIR ổn định nên việc thiết kế thực dễ dàng hiệu , sử dụng DFT để thực Đáp ứng pha lọc FIR tuyến tính nên tốn thiết kế gồm phép tính số học thực, thứ hai lọc pha tuyến tính khơng có méo trễ nhóm bị trễ khoảng khơng đổi, ngồi lọc có chiều dài M (hoặc bậc M-1) số phép tốn có bậc M/2 Thiết kế lọc FIR pha tuyến tính hàm cửa sổ phương pháp dễ dàng thực số phương pháp Việc lấy cửa sổ đáp ứng xung lý tưởng lọc gây nên dao động không mong muốn dải thông dải chắn, tượng Gibb Để giảm tượng này, sử dụng hàm cửa sổ thích hợp Mỗi hàm cửa sổ sử dụng cho phép suy hao tối đa dải chắn khác Việc lựa chọn hàm cửa sổ để thiết kế phải đảm bảo độ rộng dải chuyển yêu cầu toán thiết kế Các hàm cửa sổ chữ nhật, Bartlett, Hanning, Hamming Blackman có độ rộng dải chuyển tiếp tỷ lệ nghịch với bậc lọc, để giảm độ rộng dải chuyển tiếp phải tăng bậc lọc (tăng M), tất nhiên điều làm cấu trúc lọc phức tạp Việc sử dụng cửa sổ Kaiser giải yêu cầu suy hao dải chắn, độ rộng dải chuyển tiếp bậc lọc Có thể nói, hàm cửa sổ tốt tối ưu thiết kế so với hàm cửa sổ cịn lại Chính vậy, phần thực chương trình thiết kế Matlab, tơi chọn thực tốn thiết kế lọc FIR thơng dải cửa sổ Kaiser, chương trình thiết kế cho kết xác Bài tiểu luận dừng lại việc khảo sát phương pháp thiết kế đơn giản nhất, với kết có đáp ứng xung lọc khảo sát đặc tính biên độ theo tần số, song qua giúp hiểu sâu sắc lọc FIR phương pháp thiết kế cửa sổ Hướng phát triển đề tài việc thực lọc FIR thông dải phần mềm, phần cứng (thực DSP), khảo sát phương pháp thiết kế lọc FIR khác có kết tốt hơn: Phương pháp xấp xỉ tối ưu, Lọc thích nghi TÀI LIỆU THAM KHẢO • [1] Vinay K Ingle, John G Proakis, Digital Signal Processing Using Matlab, BookWare Companion Series, Brooks/Cole, 2000 [2] Sanjit K Mitra, Digital Signal Processing Laboratory using Matlab, McGrawHill, International Edition 2000 [3] Hồ Văn Sung, Thực hành Xử Lý Số Tín Hiệu Trên Máy Tính PC Với Matlab, NXB Khoa Học Kỹ Thuật, 2005 [4] Nguyễn Quốc Trung, Xử Lý Tín Hiệu Số, NXB Khoa Học Kỹ Thuật, 1998 [5] Nguyễn Phùng Quang, Matlab & Simulink dành cho kỹ sư điều khiển tự động, NXB Khoa Học Kỹ Thuật, 2004 MỤC LỤC LỜI MỞ ĐẦU Phần CƠ SỞ LÝ THUYẾT 1.1 1.2 1.3 1.4 Dẫn nhập Cấu trúc lọc FIR Các đặc tính lọc FIR pha tuyến tính Các kỹ thuật thiết kế cửa sổ 13 Phần THIẾT KẾ LỌC FIR THÔNG DẢI 20 2.1 Bài toán thiết kế 20 2.2 Phương pháp thiết kế 20 2.3 Thuật tốn chương trình Matlab 22 2.4 Kết chạy chương trình thiết kế .26 Phần KẾT LUẬN 28 TÀI LIỆU THAM KHẢO 29 W s1 W B _Wp2 Ws2 -Ị - Ị ! *1 % ► Hình 2.1 Các tiêu lọc thông dải BPF (bandpass filter) Điều kiện: Ws1 < Wp1 < Wp2 < Ws2 Hoặc toán cho tiêu S1 §2 ta tính As Rp dựa vào quan hệ chúng theo công thức (1.1) (1.2) 2.2 Phương pháp thiết kế Bước Chọn loại cửa sổ sử dụng Việc chọn loại cửa sổ sử dụng nhằm đảm bảo suy hao dải chắn thoả mãn tiêu thiết kế As yêu cầu toán đặt ... hàm cửa sổ Kaiser với hệ số p gồm M điểm mảng W Phần THIẾT KẾ LỌC FIR THÔNG DẢI 2.1 Bài toán thiết kế Hãy thiết kế lọc FIR thơng dải pha tuyến tính theo phương pháp cửa sổ, với tiêu lọc cần thiết. .. xung thực tế lọc, hàm cửa sổ Kaiser, đáp ứng biên độ tần số (theo dB) lọc cho hình 2.3 Hình 2.3 Kết thiết kế lọc FIR thông dải cửa sổ Kaiser Phần KẾT LUẬN Việc thiết kế thực lọc FIR có thuận... lý thuyết Phần Thiết kế lọc FIR thông dải phương pháp cửa sổ Phần Kết luận Phần CƠ SỞ LÝ THUYẾT 1.1 Dần nhập Việc thiết kế lọc số tiến hành theo bước: • Đưa tiêu: Trước thiết kế lọc cần xác định