Thiết kế bộ lọc thông thấp có tần số cắt 850khz

83 2.1K 9
Thiết kế bộ lọc thông thấp có tần số cắt 850khz

Đ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

Nội dung đồ án gồm 4 chương:Chương 1: Tổng quan về bộ lọc số.Trong chương này trình bày các vấn đề tổng quan về một bộ lọc số bao gồm các các chỉ tiêu kỹ thuật và cấu trúc của các bộ lọc số. Các chỉ tiêu kỹ thuật bao gồm các thông số của bộ lọc trong miền thời gian và trong miền tần số. Cấu trúc bộ lọc số gồm cấu trúc bộ lọc FIR và bộ lọc IIR. Tùy thuộc vào loại bộ lọc đã thực hiện là FIR hay IIR mà ta sẽ chọn cấu trúc phù hợp. Chương 2: Thiết kế bộ lọc FIR Chương 2 giới thiệu cơ sở toán học và các phương pháp để thiết kế một bộ lọc FIR bao gồm phương pháp cửa sổ, phương pháp lấy mẫu tần số, phương pháp equiripple. Ngoài ra còn giới thiệu phương pháp thiết kế bộ lọc FIR có đáp ứng phẳng tối đa, sử dụng hàm truyền được cho bởi Vaidyanathan, 1984: Chương 3: Tính toán, thiết kế bộ lọc FIR thông thấpTrong chương này sử dụng các kiến thức lý thuyết từ chương 1 và chương 2 để tính toán thiết kế một bộ lọc FIR đáp ứng các yêu cầu cho trước. 3.2.1 Thiết kế bộ lọc FIR maximally flatÁp dụng hàm truyền ở công thức 2.47, với các thông số K = 17 và L = 9, bộ lọc có bậc M = 50 và có các đáp ứng như sau:3.2.2 Thiết kế bằng phương pháp cửa sổĐáp ứng của bộ lọc thông thấp lí tưởng: 〖 h〗_d (n)=sin⁡0.4π(nα)π(nα) Cửa sổ Blackman: w(n)={(0.420.5cos(2πn(551))+0.08cos(4πn(551)),0≤n≤5510 , khác )┤Các đáp ứng của bộ lọc như sau:

LỜI CAM ĐOAN Em xin cam đoan nội dung đồ án chép đồ án công trình có từ trước Đà Nẵng, ngày 02 tháng 06 năm 2014 Sinh viên thực Nguyễn Lê Quang MỤC LỤC MỤC LỤC CÁC TỪ VIẾT TẮT CÁC TỪ VIẾT TẮT As Atenuation stopband Độ suy giảm dải chắn DSP Digital signal processing Xử lí tín hiệu số FDAtool Filter design & analysis tool Công cụ thiết kế phân tích lọc FPGA Field programmable Gate Array Mảng cổng lập trình dạng trường FIR Finite Impulse Response Đáp ứng xung hữu hạn LMS Least mean square Bình phương trung bình nhỏ NLMS Nomal LMS IIR Infinite Impulse Response Đáp ứng xung vô hạn RLS Recursive least square Đệ quy bình phương nhỏ Rp Ripple passband Độ gợn dải thông VHDL VHSIC Hardware Language VHSIC Very High Circuits Speed Description Ngôn ngữ lập trình phần cứng Integrated Mạch tích hợp tốc độ cao LỜI MỞ ĐẦU LỜI MỞ ĐẦU Ngày nay, với phát triển không ngừng khoa học kỹ thuật, hệ thống tương tự dần thay hệ thống số Tuy nhiên, hệ thống yêu cầu tính xác, tính ổn định lọc nhiễu tốt yêu cầu quan trọng Do đó, lọc đời để thực nhiệm vụ lọc nhiễu, tách băng tần để hệ thống hoạt động ổn định hiệu Các lọc số với ưu điểm so với lọc tương tự như: độ gợn dải thông dải chắn nhỏ nhiều so với lọc tương tự, dải chuyển tiếp lọc số nhỏ so với lọc tương tự đặc biệt lọc số FIR đáp ứng tốt yêu cầu pha tuyến tính, yêu cầu quan trọng ứng dụng viễn thông lọc số dần thay lọc tương tự xử lí tín hiệu, đặc biệt xử lí tín hiệu số DSP Từ tầm quan trọng lọc số DSP, đặc biệt lọc có pha tuyến tính truyền dẫn tín hiệu, với mong muốn tìm hiểu rõ cấu trúc cách thức thiết kế lọc số FIR, em chọn đề tài nghiên cứu cho đồ án tốt nghiệp “thiết kế lọc số thông thấp có tần số cắt fc = 850kHz” Trong đồ án tập trung vào trình bày vấn đề liên quan đến lọc FIR gồm tiêu kỹ thuật, cấu trúc lọc số phương pháp thiết kế nên lọc FIR Nội dung đồ án gồm: • Chương 1: Tổng quan lọc số Giới thiệu thông số, tiêu kỹ thuật lọc số, tiêu đặc biệt quan trọng thiết kế để đảm bảo chất lượng lọc số Sau đó, cung cấp cấu trúc • lọc số để thực lọc vừa thiết kế thực tế Chương 2: Thiết kế lọc FIR thông thấp Trình bày phương pháp để thiết kế lọc FIR gồm: phương pháp cửa sổ, phương pháp lấy mẫu tần số, phương pháp equiripple phương pháp thiết kế lọc có đáp ứng phẳng tối đa FIR maximally flat LỜI MỞ ĐẦU • Chương 3: Áp dụng kiến thức cấu trúc lọc phương pháp thiết kế trình bày chương trước để xây dựng lọc FIR thông thấp đáp ứng yêu cầu cho trước tần số cắt, hệ số gợn dải thông suy giảm dải chắn • Chương 4: Sử dụng công cụ FDAtool matlab để mô lọc tương tự lọc thiết kế chương 3, qua kiểm tra tính xác lọc thiết kế Bộ lọc số sử dụng nhiều thực tế kiến thức mới, đồ án em tiếp cận kiến thức chưa giảng dạy lọc maximally flat thuật toán thích nghi nên tránh khỏi sai sót hạn chế Em mong nhận ý kiến đóng góp thầy cô để đồ án hoàn thiện CHƯƠNG 1: TỔNG QUAN VỀ BỘ LỌC SỐ Chương 1: TỔNG QUAN VỀ BỘ LỌC SỐ 1.1 Mở đầu chương Lọc trình quan trọng xử lí tín hiệu số, đặc tính tốt lọc số làm chúng trở nên phổ biến ngày Trong chương trình bày tổng quan lọc số, thông số cấu trúc lọc số để qua nắm rõ kiến thức cụ thể lọc trình bày chương sau Nội dung chương gồm: • • Tổng quan lọc số Cấu trúc lọc số 1.2 Tổng quan lọc số Phương pháp trực tiếp để thực lọc số dùng phép tích chập tín hiệu vào đáp ứng xung lọc số, đáp ứng xung xem cốt lõi thiết kế lọc Một phương pháp thiết kế khác đệ quy Khi lọc thực tích chập, mẫu tín hiệu tính toán cách tổ hợp có trọng số tín hiệu vào Các lọc đệ quy mở rộng thêm trình cách sử dụng hệ số tính từ tín hiệu ra, bên cạnh điểm lấy từ tín hiệu vào Thay dùng lõi lọc, lọc đệ quy xác định dãy hệ số đệ quy Có loại lọc số lọc có đáp ứng xung hữu hạn FIR lọc có đáp ứng xung vô hạn IIR Bộ lọc FIR có ưu điểm so với lọc IIR thỏa mãn điều kiện đáp ứng pha tuyến tính Đặc tính lọc mô tả đáp ứng biên độ đáp ứng pha, tùy vào đáp ứng mong muốn mà lọc nhân FIR IIR sử dụng Bộ lọc FIR thường dùng có yêu cầu pha tuyến tính dải thông, lọc IIR thường dùng ứng dụng không yêu cầu pha tuyến tính.Trong đồ án trình bày cụ thể lọc FIR pha tuyến tính CHƯƠNG 1: TỔNG QUAN VỀ BỘ LỌC SỐ 1.2.1 Các thông số hệ thống miền thời gian 1.2.1.1 Thời gian lên Tốc độ chuyển đổi thường thể thời gian lên (hay số mẫu) mức biên độ 10% 90% Thời gian lên không nhanh nhiều nguyên nhân tạp âm, hạn chế hệ thống 1.2.1.2 Gợn sóng nhô đáp ứng bậc thang Thông thường phải loại bỏ gợn sóng nhô làm thay đổi biên độ mẫu tín hiệu Đây nguyên nhân gây méo tín hiệu miền thời gian 1.2.1.3 Pha tuyến tính Pha tuyến tính đặc biệt quan trọng ứng dụng viễn thông Pha tuyến tính có nghĩa thay đổi pha tần số tuyến tính theo thời gian mà không phụ thuộc vào tần số tín hiệu 1.2.2 Các thông số miền tần số Độ gợn dải thông Miền chuyển tiếp Độ gợn dải chắn Hình 1.1: Các tiêu lọc, (a) tuyệt đối, (b) tương đối [8] CHƯƠNG 1: TỔNG QUAN VỀ BỘ LỌC SỐ 1.2.2.1 Các thông số tuyệt đối:  Dải thông (pass band): dải tần [0, ω p] dải tần số mà lọc cho qua, δ độ gợn dải thông  Dải chắn (stopband): dải tần [0, ω s] dải tần số bị ngăn cản, , δ độ gợn dải chắn  Dải chuyển tiếp (Transitionband): dải tần [ω p , ωs] dải tần số trình chuyển từ dải thông sang dải chắn ngược lại  Tần số cắt: lọc tương tự tần số cắt tần số biên độ giảm 3dB, với lọc số tần số cắt tiêu chuẩn hóa định mức biên độ 90%, 70,7% 50% 1.2.2.2 Các thông số tương đối  Rp độ gợn dải thông tính theo dB  As độ suy giảm dải chắn tính theo dB 1.3 Cấu trúc lọc số 1.3.1 Các phần tử cấu thành nên lọc số Bộ cộng: phẩn tử có hai đầu vào đầu Giá trị đầu cộng tổng hiệu hai tín hiệu đầu vào Bộ cộng biểu diễn hình sau: Hình 1.2: Bộ cộng CHƯƠNG 1: TỔNG QUAN VỀ BỘ LỌC SỐ Bộ nhân: gồm đầu vào đầu Giá trị tín hiệu đầu tích tín hiệu đầu vào với hệ số khuếch đại a Hình 1.3: Bộ nhân Bộ trễ: phần tử làm chậm tín hiệu qua mẫu Nó tạo ghi dịch Hình 1.4: Bộ trễ 1.3.2 Cấu trúc lọc FIR Một lọc có đáp ứng xung hữu hạn theo thời gian có hàm truyền dạng sau: Và đáp ứng xung có dạng sau: Và phương trình vi phân có dạng sau: Bộ lọc có bậc M-1 có chiều dài (bằng với số hệ số) M 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 Các lọc FIR thiết kế để đáp ứng yêu cầu pha tuyến tính, điều mà số ứng dụng yêu cầu Trong phần đề cập đến loại cấu trúc: CHƯƠNG 1: TỔNG QUAN VỀ BỘ LỌC SỐ 1.3.2.1 Cấu trúc dạng trực tiếp Phương trình sai phân biểu diễn chuỗi trễ đường phản hồi 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 trực tiếp cho hình sau với M = x(n) b0 z-1 b1 z-1 b2 z-1 b3 z-1 b4 y(n) Hình 1.5: Cấu trúc lọc FIR dạng trực tiếp [8] 1.3.2.2 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 hai Trong đó: K M/2 hệ số B k,1 Bk,2 số thực đại diện cho khâu bậc Cấu trúc dạng ghép tầng cho hình sau với M=7: y(n) x(n) z-1 b0 z-1 B1,1 B1,2 z-1 z-1 B2,1 B2,2 z-1 z-1 B3,1 B3,2 Hình 1.6: Cấu trúc lọc FIR dạng ghép tầng [8] 1.3.2.3 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à: 10 CHƯƠNG 4: MÔ PHỎNG Tuy nhiên, việc dùng cấu trúc trực tiếp không thay đổi số tầng lọc, làm lọc dài, phức tạp không tiết kiệm phần tử cấu thành Ngoài ra, số bâc tăng lên cần tính đến độ trễ phần tử logic cấu thành nên lọc 69 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI Đồ án tập trung nghiên cứu vấn đề liên quan đến cấu trúc phương pháp thiết kế lọc FIR bao gồm: Các tiêu kỹ thuật cấu trúc lọc số, bước thiết kế lọc số tiêu hoàn thiện đáp ứng tiêu ban đầu toán Bên cạnh phương pháp thiết kế thường sử dụng phương pháp cửa sổ, phương pháp lấy mẫu tần số phương pháp cân gợn sóng đồ án tiếp cận đưa số phương pháp thiết kế bao gồm thiết kế lọc FIR có đáp ứng phẳng tối đa lọc FIR thích nghi Từ kiến thức lí thuyết chương 2, chương đưa lưu đồ thuật toán trình tính toán thiết kế lọc FIR cấu trúc lọc theo phương pháp so sánh ưu, nhược điểm phương pháp Từ yêu cầu toán cụ thể, dựa vào ưu, nhược điểm lựa chọn cách thiết kế phù hợp Chương sử dụng công cụ FDAtool matlab để mô lọc số FIR so sánh với lọc tính toán thiết kế chương Từ kết so sánh, nhận xét thiết kế xác sử dụng thực tế Bên cạnh kết đạt được, đồ án có số nhược điểm hoàn thiện thiết kế giấy chạy mô máy tính mà chưa đến sản phẩm thực tế Chưa ứng dụng tính chất lọc có đáp ứng phẳng tối đa vào thực tế Do khả dịch tài liệu hạn chế nên số từ chuyên ngành dịch chưa sát nghĩa chưa gây khó hiểu cho người đọc Hướng phát triển đề tài: Từ kết tính toán được, tìm hiểu công nghệ FPGA ngôn ngữ VHDL để xây dựng sản phẩm thực tế qua kiểm chứng khả hoạt động, tính ổn định hiệu thuật toán đưa 70 KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN ĐỀ TÀI Tìm hiểu sâu lọc thích nghi thuật toán thích nghi bao gồm: sở toán học thuật toán thích nghi giải pháp Wiener, phương pháp giảm bước nhanh nhất, thuật toán LMS, RLS, NLMS Sau nắm rõ lọc thích nghi, xây dựng lọc thích nghi ứng dụng lọc nhiễu chip DSP để kiểm chứng hoạt động ứng dụng thực tế hệ thống âm chất lượng cao thiết bị đo lường xác cao 71 TÀI LIỆU THAM KHẢO TÀI LIỆU THAM KHẢO [1] Phùng Trung Nghĩa, Đỗ Huy Khôi,”Giáo trình xử lí tín hiệu số 2”, Khoa Công nghệ thông tin, Đại học Thái Nguyên, 2008 [2] Magdy T Hanna, “Design of linear phase FIR filter with a maximally flat passband”, Department of Electrical Engineering, University of Bahrain [3] Monson H Hayes, “Statistical digital signal processing and modeling”, John Wiley & Sons Inc 1996 [4] Miroslav Vlček, Pavel Zahradník, Rolf Unbehauen, “Analytical Design ò FIR Filter”, IEEE transactions on signal processing, VOL 48, NO 9, September 2000 [5] Paulo S R Diniz, Eduardo A B da Silva, Sergio L Netto, “Digital Signal Processing: System Analysis and Diesign”, Cambridge University Press 2010 [6] S Samadi, T Cooklev, A Nishihara, N Fujii, “A Multiplierless Structure for Maximally Flat Linear Phase FIR Filter”, Department of Physical Electronics, Tokyo Institude of Technology 1993 [7] Vijay K.Madisetti and Douglas B Williams, “Digital Signal Processing Handbook”, CRC Press LLC 1999 [8] Vinay K Ingle, John G Proakis, “Digital signal processing using MATLAB V.4”, PWS Publishing Company 1997 [9] V John Mathews, Scott C Douglas, “Adaptive Filter”, Upper Saddle River, NJ: Prentice-Hall 2003 72 PHỤ LỤC PHỤ LỤC Code matlab mô lọc FIR maximally flat hàm liên quan clear all; h=1; q=1; c=1; %c=[1 17 153 969 4845 20349 74613 245157 735471]; L=9; K=17; for n=1:L-1 q= conv(q,[-1 -1]/4 ); q= conv(q,1^-(L-1-n)); c=binom(K-1+n,n); % tinh cac he so nhi thuc dn h= [0 h 0]; h = h + c*q; end for k= 1:K; h = conv(h,[1 1]/4); end; [bo,B,A]=dir2cas(h,1); %tinh cac he so b0, A,B de xay dung cau truc bo loc n=0:50; [db,mag,pha,grd,w] = freqz_m(h,[1]); subplot(2,2,1); stem(n,h); grid; axis([0 50 -0.1 0.5]); title('dap ung xung'); xlabel('n'); ylabel('h(n)'); subplot(2,2,2); plot(w/pi,db); grid; title('dap ung lon theo dB'); xlabel('tan so theo don vi pi'); ylabel('Decibels'); [H,w] = freqz(h,[1],1000,'whole'); H = (H(1:1:501))';w = (w(1:1:501))'; subplot(2,2,3); plot(w/pi,-phase(H)); grid; title('dap ung pha'); xlabel('tan so theo don vi pi'); ylabel('phase'); subplot(2,2,4); plot(w/pi,mag); axis([0 -0.1 1.1]); grid; 73 PHỤ LỤC title('dap ung lon'); xlabel('tan so theo don vi pi'); ylabel('mag'); hàm binom function a = binom(n,k) % a = binom(n,k) % BINOMIAL COEFFICIENTS % allowable inputs: % n : integer, k : integer % n : integer vector, k : integer % n : integer, k : integer vector % n : integer vector, k : integer vector (of equal dimension) nv = n; kv = k; if (length(nv) == 1) & (length(kv) > 1) nv = nv * ones(size(kv)); elseif (length(nv) > 1) & (length(kv) == 1) kv = kv * ones(size(nv)); end a = nv; for i = 1:length(nv) n = nv(i); k = kv(i); if n >= if k >= if n >= k c = prod(1:n)/(prod(1:k)*prod(1:n-k)); else c = 0; end else c = 0; end else if k >= c = (-1)^k * prod(1:k-n-1)/(prod(1:k)*prod(1:-n-1)); else if n >= k c = (-1)^(n-k)*prod(1:-k-1)/(prod(1:n-k)*prod(1:-n-1)); else c = 0; end end end a(i) = c; end 74 PHỤ LỤC hàm Dir2cas function [b0,B,A] = dir2cas(b,a); % DIRECT-form to CASCADE-form conversion (cplxpair version) % % [b0,B,A] = dir2cas(b,a) % b0 = gain coefficient % B = K by matrix of real coefficients containing bk's % A = K by matrix of real coefficients containing ak's % b = numerator polynomial coefficients of DIRECT form % a = denominator polynomial coefficients of DIRECT form % compute gain coefficient b0 b0 = b(1); b = b/b0; a0 = a(1); a = a/a0; b0 = b0/a0; M = length(b); N = length(a); if N > M b = [b zeros(1,N-M)]; elseif M > N a = [a zeros(1,M-N)]; N = M; else NM = 0; end K = floor(N/2); B = zeros(K,3); A = zeros(K,3); if K*2 == N; b = [b 0]; a = [a 0]; end broots = cplxpair(roots(b)); aroots = cplxpair(roots(a)); for i=1:2:2*K Brow = broots(i:1:i+1,:); Brow = real(poly(Brow)); B(fix((i+1)/2),:) = Brow; Arow = aroots(i:1:i+1,:); Arow = real(poly(Arow)); A(fix((i+1)/2),:) = Arow; end hàm freqz_m 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 to pi radians % mag = absolute magnitude computed over to pi radians % pha = Phase response in radians over to pi radians 75 PHỤ LỤC % grd = Group delay over to pi radians % w = 501 frequency samples between to pi radians % b = numerator polynomial of H(z) (for FIR: b=h) % a = denominator polynomial 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); % pha = unwrap(angle(H)); grd = grpdelay(b,a,w); % grd = diff(pha); % grd = [grd(1) grd]; % grd = [0 grd(1:1:500); grd; grd(2:1:501) 0]; % grd = median(grd)*500/pi; Code matlab mô lọc FIR dùng cửa sổ Blackman hàm liên quan wp =0.35*pi; wc = 0.4*pi; ws = 0.45*pi; As = 60; Rp = 0.2; tr_width = ws - wp; M = ceil(11*pi/tr_width) n = [0:1:M-1]; hd = ideal_lp(wc,M); w_black = (blackman(M))'; h = hd.*w_black; [db,mag,pha,grd,w] = freqz_m(h,[1]); delta_w = 2*pi/1000; Rp = -min(db(1:1:wp/delta_w+1)) As = -max(db(ws/delta_w:1:501)) n=0:1:M-1; subplot(2,2,1); stem(n,h); grid; title('dap ung xung'); axis([0 M-1 -0.1 0.5]); xlabel('n'); ylabel('h(n)'); subplot(2,2,2); stem(n,w_black); grid; title('cua so Blackman'); axis([0 M-1 -0.1 1.1]); xlabel('n'); ylabel('w-black'); subplot(2,2,3); plot(w/pi,db); grid; title('dap ung lon theo dB'); 76 PHỤ LỤC axis([0 -150 10]); xlabel('pi'); ylabel('Decibels'); [H,w] = freqz(h,[1],1000,'whole'); H = (H(1:1:501));w = (w(1:1:501)); subplot(2,2,4); plot(w/pi,phase(H)); grid; title('dap ung pha'); xlabel('tan so theo don vi pi'); ylabel('phase'); hàm ideal_lp function hd = ideal_lp(wc,M); % Ideal LowPass filter computation % [hd] = ideal_lp(wc,M) % hd = ideal impulse response between to M-1 % wc = cutoff frequency in radians % M = length of the ideal filter alpha = (M-1)/2; n = [0:1:(M-1)]; m = n - alpha + eps; hd = sin(wc*m) / (pi*m); hàm Blackman function w_black = Blackman(M); % M-point Blackman window % % w_black = Blackman(M); % M1 = M-1; m = [0:1:M1]; w_black = abs(0.42 - 0.5*cos(2*pi*m'/(M1)) + 0.08*cos(4*pi*m'/(M1))); Code matlab mô lọc dùng phương pháp lấy mẫu tần số hàm liên quan ws = 0.4666*pi; wp = 0.3666*pi; M = 60; T1=0.5925; T2 = 0.1099; alpha = (M-1)/2; l = 0:M-1; wl = (2*pi/M)*l; %Hrs = [ones(1,4) 0.5 zeros(1,11) 0.5 ones(1,3)]; Hrs = [ones(1,12) T1 T2 zeros(1,33) T2 T1 ones(1,11)];% dap ung lo'n li tuong mau hoa Hdr = [1 0]; wdl = [0,0.36,0.46,1]; k1 = 0:floor((M-1)/2); k2 = floor((M-1)/2)+1:M-1; angH = [-alpha*(2*pi)/M*k1 alpha*(2*pi)/M*(M-k2)]; H = Hrs.*exp(j*angH); h = real(ifft(H,M)); 77 PHỤ LỤC [C,B,A] = dir2fs(h); [db,mag,pha,grd,w] = freqz_m(h,1); [Hr,ww,a,L] = hr_type2(h); delta_w = 2*pi/1000; As = -round(max(db(ws/delta_w+1:1:501))) Rp = -min(db(1:1:wp/delta_w)) %plot subplot(2,2,1); %plot(wl(1:11)/pi,Hrs(1:11),'o',wdl,Hdr);grid; plot(wl(1:31)/pi,Hrs(1:31),'o',wdl,Hdr);grid; title('mau mien tan so: M=60'); axis([0 -0.2 1.2]); xlabel('tan so theo don vi pi'); ylabel('Hr(k)'); subplot(2,2,2); stem(l,h); grid; title('dap ung xung'); axis([0 M-1 -0.15 0.45]); xlabel('l'); ylabel('h(n)'); subplot(2,2,3); plot(ww/pi,Hr,wl(1:31)/pi,Hrs(1:31),'o'); grid; %plot(ww/pi,Hr,wl(1:11)/pi,Hrs(1:11),'o'); grid; title('dap ung bien do'); axis([0 -0.2 1.2]); xlabel('tan so theo don vi pi'); ylabel('Hr(w)'); subplot(2,2,4); plot(w/pi,db); grid; title('dap ung lon mien dB'); axis([0 -100 10]); xlabel('tan so theo don vi pi'); ylabel('dB'); hàm dir2fs function [C,B,A] = dir2fs(h) % Direct form to Frequency Sampling form conversion % % [C,B,A] = dir2fs(h) % C = Row vector containing gains for parallel sections % B = Matrix containing numerator coefficients arranged in rows % A = Matrix containing denominator coefficients arranged in rows % h = impulse response vector of an FIR filter M = length(h); H = fft(h,M); 78 PHỤ LỤC magH = abs(H); phaH = angle(H)'; % check even or odd M if (M == 2*floor(M/2)) L = M/2-1; % M is even A1 = [1,-1,0;1,1,0]; C1 = [real(H(1)),real(H(L+2))]; else L = (M-1)/2; % M is odd A1 = [1,-1,0]; C1 = [real(H(1))]; end k = [1:L]'; % initialize B and A arrays B = zeros(L,2); A = ones(L,3); % compute denominator coefficients A(1:L,2) = -2*cos(2*pi*k/M); A = [A;A1]; % compute numerator coefficients B(1:L,1) = cos(phaH(2:L+1)); B(1:L,2) = -cos(phaH(2:L+1)-(2*pi*k/M)); % compute gain coefficients C = [2*magH(2:L+1),C1]'; Hàm Hr_type2 function [Hr,w,b,L] = Hr_Type2(h); % Computes Amplitude response of Type-2 LP FIR filter % % [Hr,w,b,L] = Hr_Type2(h) % Hr = Amplitude Response % w = frequencies between [0 pi] over which Hr is computed % b = Type-2 LP filter coefficients % L = Order of Hr % h = Type-2 LP impulse response % M = length(h); L = M/2; b = 2*[h(L:-1:1)]; n = [1:1:L]; n = n-0.5; w = [0:1:500]'*pi/500; Hr = cos(w*n)*b'; Code matlab mô lọc FIR thích nghi hàm liên quan FIR thích nghi ứng dụng xác định hệ thống % xac dinh he thong % voi thoi gian len toi 10e6 mau thi cac gia tri dap ung xung moi hoi tu clear all; 79 PHỤ LỤC f = 1:1:1000000; dn = sin(2*pi*f/100); %tin hieu mong muon subplot(2,2,1); plot(dn); grid; axis([0 1000 -1.1 1.1]); title('tin hieu sin ban dau'); noise = rand(1,1000000); xn = dn + noise; %nhieu %tin hieu da bi nhieu hm = maxflatI(17,9); x = conv(hm,xn); subplot(2,2,2); plot(xn); grid; axis([0 1000 -1 2]); title('tin hieu sin bi nhieu'); length(x) length(xn) nuy = 0.02; N = 50; [h,y] = lms(xn,x,nuy,N); s = conv(h,xn); subplot(2,2,3); plot(x); grid; axis([0 1000 -1 2]); title('tin hieu cua he thong chua biet'); subplot(2,2,4); stem(h); grid; axis([0 50 -0.1 0.45]); title('dap ung xung dua boi thuat toan LMS'); figure; stem(hm); axis([0 50 -0.1 0.4]); title('dap ung xung cua he thong chua biet'); FIR thích nghi ứng dụng xác định hệ thống clear all; % ve su hoi tu cua he so bo loc W % xac dih he thong % nhung sau thoi gian 1e6 mau thi cac gia tri moi hoi tu n = 1:1:100000; 80 PHỤ LỤC d = sin(2*pi*n/100)+cos(2*pi*n/100)+0.5*rand(1,1); h = [1.2728 -0.81]; x = conv(d,h); a0 = [0 0]; [w,e] = nlms(d,x,0.05,2,a0); w(20000,:) figure; plot(w); axis([1 100000 -2 2]); title('cac he so bo loc sau tien trinh thich nghi'); xlabel('n'); ylabel('w_n(k)'); grid; figure; subplot(2,1,1); plot(x); axis([1 1000 -2 2]); y = conv(d,w(20000,:)); subplot(2,1,2); plot(y); axis([1 1000 -2 2]); Thuật toán thích nghi LMS function [h,y] = lms(x,d,delta,N) % LMS Algorithm for Coefficient Adjustment % -% [h,y] = lms(x,d,delta,N) % h = estimated FIR filter % y = output array y(n) % x = input array x(n) % d = desired array d(n), length must be same as x % delta = step size % N = length of the FIR filter % M = length(x); y = zeros(1,M); h = zeros(1,N); for n = N:M x1 = x(n:-1:n-N+1); y = h * x1'; e = d(n) - y; h = h + delta*e*x1; end hàm maxflatI function h = maxflatI(K,L) h = 1; q = 1; c = 1; 81 PHỤ LỤC for q = c = h = end for h = end n = 1:L-1 conv(q,[-1 -1]/4); c*(K-1+n)/n; [0 h 0] + c*q; k = 1:K conv(h,[1 1]/4); Thích nghi ứng dụng triệt nhiễu % triet nhieu co tin hieu reference signal clear all; n=1:1:5000; w=0.05*pi; dn=sin(w*n); v1(1)=0; v2(1)=0; for i = 2:1:5000 v1(i) = 0.8*v1(i-1)+((-1)^i)*rand(1,1); v2(i) = 0.6*v2(i-1) + ((-1)^i)*rand(1,1); end x = dn + v1; %tin hieu nhieu a0 = zeros(1,25); [h,e] = nlms(v2,x,0.002,25); subplot(2,2,1); plot(v1); axis([1 500 -2 2]); title('tin hieu nhieu'); xlabel('n'); ylabel('bien do'); subplot(2,2,2); plot(v2); axis([1 500 -2 2]); title('tin hieu tuong quan'); xlabel('n'); ylabel('bien do'); subplot(2,2,3); plot(x); axis([1 500 -2 2]); title('tin hieu dau vao'); xlabel('n'); ylabel('bien do'); subplot(2,2,4); plot(e); axis([1 500 -2 2]); title('tin hieu sau loc nhieu'); xlabel('n'); ylabel('bien do'); 82 %nguon nhieu %nguon nhieu PHỤ LỤC 83 [...]... matlab 2.4 Thiết kế bộ lọc FIR maximally flat 2.4.1 Bộ lọc có đáp ứng tần số phẳng tối đa (maximally flat) Bộ lọc maximally flat là bộ lọc có đáp ứng phẳng tối đa ở cả dải thông và dải chắn Một bộ lọc như mong đợi sẽ có đáp ứng phẳng tối đa trên toàn bộ băng thông, tuy nhiên cái giá phải trả là miền chuyển tiếp sẽ rộng hơn 30 CHƯƠNG 2: THIẾT KẾ BỘ LỌC FIR Bộ lọc có đáp ứng phẳng tối đa ở dải chắn có nghĩa... Hình 1.14: Cấu trúc bộ lọc IIR CHƯƠNG 1: TỔNG QUAN VỀ BỘ LỌC SỐ 1.4 Kết luận chương Chương 1 đã đề cập đến 2 vấn đề của một bộ lọc số Một là các chỉ tiêu kỹ thuật của một bộ lọc số, hai là các cấu trúc của bộ lọc số Các chỉ tiêu kỹ thuật bao gồm các thông số trong miền thời gian và các thông số trong miền tần số Trong đó, các thông số trong miền thời gian chỉ ra các đáp ứng của bộ lọc trong miền thời... 2: THIẾT KẾ BỘ LỌC FIR Chương 2: THIẾT KẾ BỘ LỌC FIR 2.1 Mở đầu chương Trong hầu hết các hệ thống xử lí tín hiệu số đều có chức năng bộ lọc Vì vậy, vấn đề thiết kế bộ lọc số đóng vai trò quan trọng trong xử lí tín hiệu số Có nhiều phương pháp thiết kế các bộ lọc số đã được đề suất và thực hiện trong thực tế Trong chương này sẽ trình bày các phương pháp thiết kế bộ lọc FIR pha tuyến tính gồm: • • •... tín hiệu được tối thiểu hóa sau khi lọc Lúc đó đáp ứng tần số có dạng phẳng ở dải thông thông và độ gợn không đổi ở dải chắn 2.4.2 Bộ lọc FIR maximally-flat Đặc tính phẳng tối đa của đáp ứng tần số cần thiết khi yêu cầu tín hiệu sau khi lọc phải có xấp xỉ lỗi tối thiểu tại tần số không hoặc đáp ứng tần số đơn điệu Bộ lọc FIR có đáp ứng tần số phẳng tối đa tại tần số ω = 0 và ω = π lần đầu tiên được... quá trình lọc Các thông số trong miền tần số là các chỉ tiêu kỹ thuật cơ bản của một bộ lọc số gồm tần số cắt, độ rộng miền chuyển tiếp, đáp ứng biên độ và đáp ứng pha Các chỉ tiêu này được đưa ra như là một yêu cầu thiết kế hoặc được tính toán trước khi thực hiện thiết kế một bộ lọc Trong suốt quá trình thiết kế thì các chỉ tiêu này phải được đảm bảo hoặc được hiệu chỉnh để đảm bảo bộ lọc số vừa thực... H(ejw): Với z=ejw ta có: 24 CHƯƠNG 2: THIẾT KẾ BỘ LỌC FIR Với: Với bộ lọc FIR pha tuyến tính ta có: H(k) được viết lại: Trong đó: Và: Cuối cùng ta có: 2.3.2.2 Ý tưởng thiết kế: đưa ra bộ lọc thông thấp lí tưởng Hd(eiw), chọn chiều dài M của bộ lọc rồi sau đó lấy mẫu Hd(ejw) tại M điểm có khoảng cách bằng nhau trong miền tần số từ 0 đến 2π Đáp ứng thực tế là nội suy của các mẫu Một số nhận xét: 1 Xấp... này chỉ thích hợp để thiết kế biến áp số Hilbert hay các bộ vi phân 2.3 Thiết kế bộ lọc FIR pha tuyến tính 2.3.1 Thiết kế bộ lọc FIR pha tuyến tính dùng phương pháp cửa sổ 2.3.1.1 Nguyên tắc: Từ đáp ứng tần số mong muốn H d(ω) với các chỉ tiêu tương ứng, ta lấy biển đổi Fourier ngược để có đáp ứng xung hd(n): Với α = (M – 1)/2 21 CHƯƠNG 2: THIẾT KẾ BỘ LỌC FIR hd(n) thu được có chiều dài vô hạn và không... của một bộ lọc số gồm cấu trúc của bộ lọc FIR và cấu trúc của bộ lọc IIR Tùy thuộc vào loại bộ lọc đã thực hiện là FIR hay IIR mà ta sẽ chọn cấu trúc phù hợp Sau đó, tùy thuộc các yêu cầu như tính đơn giản của cấu trúc hay tính tiết kiệm các phần tử cấu thành nên một bộ lọc số để lựa chọn các cấu trúc khác nhau như dạng trực tiếp, dạng ghép tầng hay dạng lấy mẫu tần số 18 CHƯƠNG 2: THIẾT KẾ BỘ LỌC FIR... cửa sổ Phương pháp lấy mẫu tần số Phương pháp equiripple Phương pháp thiết kế bộ lọc có đáp ứng phẳng tối đa Phương pháp thiết kế bộ lọc FIR thích nghi 2.2 Đặc tính của bộ lọc FIR pha tuyến tính Gọi h(n) với 0 ≤ n ≤ M-1 là đáp ứng xung có chiều dài M Khi đó hàm hệ thống là: Hàm hệ thống có (M-1) điểm cực tại z=0 và có (M-1) điểm không nằm bất kì trên miền z Hàm đáp ứng tần số: Dựa vào đặc tính đối xứng... để thiết kế các bộ lọc thông cao hay thông thấp, thay vào đó, nó thích hợp để thiết kế biến áp số Hilbert hay các bộ vi phân 2.2.4 Bộ lọc FIR pha tuyến tính Loại 4: đáp ứng xung phản đối xứng, M chẵn Với loại 2 thì này β = π/2 và α = (M-1)/2 không phải là số nguyên Với: Và: Chú ý : tại ω = 0 thì Hr(0) = và ejπ/2 = j, có nghĩa là H(e jω) = jHr hoàn toàn ảo Do đó, loại bộ lọc này chỉ thích hợp để thiết

Ngày đăng: 24/06/2016, 22:17

Từ khóa liên quan

Mục lục

  • CÁC TỪ VIẾT TẮT

  • LỜI MỞ ĐẦU

  • Chương 1:

  • TỔNG QUAN VỀ BỘ LỌC SỐ

  • 1.1 Mở đầu chương

  • 1.2 Tổng quan về lọc số

  • 1.2.1 Các thông số hệ thống trong miền thời gian

  • 1.2.1.1 Thời gian lên

  • 1.2.1.2 Gợn sóng nhô trong đáp ứng bậc thang

  • 1.2.1.3 Pha tuyến tính

  • 1.2.2 Các thông số trong miền tần số

  • 1.2.2.1 Các thông số tuyệt đối:

  • 1.2.2.2 Các thông số tương đối

  • 1.3 Cấu trúc các bộ lọc số

  • 1.3.1 Các phần tử cấu thành nên bộ lọc số

  • 1.3.2 Cấu trúc bộ lọc FIR

  • 1.3.2.1 Cấu trúc dạng trực tiếp

  • 1.3.2.2 Cấu trúc dạng ghép tầng

  • 1.3.2.3 Cấu trúc dạng pha tuyến tính

  • 1.3.2.4 Cấu trúc dạng lấy mẫu tần số

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

Tài liệu liên quan