Danh mục

Bài tập Xử lý tín hiệu số 2: Thiết kế bộ lọc số IIR thông cao

Số trang: 9      Loại file: docx      Dung lượng: 129.93 KB      Lượt xem: 12      Lượt tải: 0    
Jamona

Hỗ trợ phí lưu trữ khi tải xuống: 4,000 VND Tải xuống file đầy đủ (9 trang) 0
Xem trước 2 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

Nhằm giúp các bạn có thêm tài liệu phục vụ nhu cầu học tập và nghiên cứu, mời các bạn cùng tham khảo nội dung bài tập Xử lý tín hiệu số 2 "Thiết kế bộ lọc số IIR thông cao" dưới đây. Hy vọng nội dung tài liệu phục vụ hữu ích nhu cầu học tập và nghiên cứu.
Nội dung trích xuất từ tài liệu:
Bài tập Xử lý tín hiệu số 2: Thiết kế bộ lọc số IIR thông cao BÀI TẬP XỬ LÝ TÍN HIỆU SỐ 2 Họ và tên: Nguyễn Đình Quý                    Nguyễn Phước Thắng                   Trần Văn Duy Phước Lớp:          11DT3 Nhóm:       40 NỘI DUNG: Thiết kế bộ lọc số IIR thông cao thỏa mãn các yêu cầu đề bài.  YÊU CẦU THIẾT KẾ:           Stopband edge: 0.3π                                              Stopband attenuation: As = 15 dB                                              Passband edge: 0.5π                                              Passband ripple: Rp = 1 dB BÀI 1. Thiết kế bằng cách sử dụng bộ lọc Chebyshev­II, phép biến đổi song tuyến  tính( bilinear transform), hàm zmapping(để chuyển từ bộ lọc số thông thấp sang thông cao).  Phương Pháp Thiết Kế Bộ Lọc Số IIR: Thiết kế bộ lọc tương tự thông thấp. Áp dụng biến đổi song tuyến tính để thu được bộ lọc số thông thấp. Áp dụng biến đổi Frequency­band(dùng hàm zmapping) để chuyển từ bộ lọc số  thông thấp sang bộ lọc số thông cao.  Các bước thực hiện: Bước 1: Từ yêu cầu đề bài, ta có ws và wp của bộ lọc thông cao. Đầu tiên, ta  cần thiết kế bộ lọc thông thấp có các tần số wslp và wplp để sau đó chuyển  đổi thành bộ lọc thông cao. Ta chọn giá trị wplp bằng 1 giá trị hợp lý, chọn  wplp = 0.2*pi. Từ công thức chuyển đổi Frequency Band trong miền Z, ta có:  Thay wp và wplp vào công thức trên, ta thu được giá trị của alpha. Ta xác định  giá trị wslp từ công thức:  Với Z = exp(j*wslp) và z = exp(j*ws). Suy ra:  Wslp = angle(­(exp(­j*ws)+alpha)/(1+alpha*exp(­j*ws))) Bước 2: Thiết kế bộ lọc analog thông thấp Chebysev­II a.i.1. Chọn giá trị T  = 1. a.i.2. Prewarp các giá trị tần số cắt wplp và wslp. OmegaP = (2/T)*tan(wplp/2) OmegaS = (2/T)*tan(wslp/2) a.i.3. Thiết kế bộ lọc tương tự Chebysev­II với các thông số:  OmegaP, OmegaS, As, Rp. Ta thu được các đa thức ở tử và mẫu  của hàm truyền ở miền s. Bước 3: Áp dụng bilinear transform để chuyển bộ lọc thông thấp tương tự  thành bộ lọc thông thấp số. Ta thu được các đa thức ở tử và mẫu của hàm  truyền của bộ lọc thông thấp ở miền Z. Bước 4: Sử dụng hàm zmapping(Frequency­band transform) để chuyển đổi từ  bộ lọc thông thấp thành bộ lọc thông cao. Ta thu được các đa thức ở tử và mẫu  của hàm truyền của bộ lọc thông cao ở miền z.  Bước 5: Chuyển đổi các đa thức ở tử và mẫu của hàm truyền từ Direct form  sang Cascade form. Bước 6: Tìm hàm đáp ứng xung của bộ lọc số thông cao. Bước 7: Tính các hàm đáp ứng biên độ, đáp ứng biên độ tương đối ở dB, đáp  ứng pha, độ trễ nhóm của bộ lọc. Bước 8: Tính As và Rp của bộ lọc thực tế. Bước 9: Vẽ đồ thị và so sánh, đối chiếu bộ lọc thực tế với yêu cầu đề bài.  Thiết kế: Sử dụng các Function: Sử dụng các Function: Hàm u_chb1ap: function [b,a] = u_chb2ap(N,Rp,Omegac); % Unnormalized Chebyshev­2 Analog Lowpass Filter Prototype % ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ % [b,a] = u_chb1ap(N,Rp,Omegac); %      b = numerator polynomial coefficients %      a = denominator polynomial coefficients %      N = Order of the Elliptic Filter %     Rp = Passband Ripple in dB; Rp > 0 % Omegac = Cutoff frequency in radians/sec [z,p,k] = cheb2ap(N,Rp); a = real(poly(p)); aNn = a(N+1); p = p*Omegac; a = real(poly(p)); aNu = a(N+1);   k = k*aNu/aNn; b0 = k; B = real(poly(z)); b = k*B; Hàm afd_chb2: function [b,a] = afd_chb1(Wp,Ws,Rp,As); % Analog Lowpass Filter Design: Chebyshev­2 % ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ % [b,a] = afd_chb2(Wp,Ws,Rp,As); %  b = Numerator coefficients of Ha(s) %  a = Denominator coefficients of Ha(s) % Wp = Passband edge frequency in rad/sec; Wp > 0 % Ws = Stopband edge frequency in rad/sec; Ws > Wp > 0 % Rp = Passband ripple in +dB; (Rp > 0) % As = Stopband attenuation in +dB; (As > 0) if Wp ep = sqrt(10^(Rp/10)­1); A = 10^(As/20); OmegaC = Wp; OmegaR = Ws/Wp; g = sqrt(A*A­1)/ep; N = ceil(log10(g+sqrt(g*g­1))/log10(OmegaR+sqrt(OmegaR*OmegaR­1))); fprintf('\n*** Chebyshev­2 Filter Order = %2.0f \n',N) [b,a]=u_chb2ap(N,Rp,OmegaC); Hàm zmapping: function [bz,az] = zmapping(bZ,aZ,Nz,Dz) % Frequency band Transformation from Z­domain to z­domain % ­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­­ % [bz,az] = zmapping(bZ,aZ,Nz,Dz) % performs: % b(z) b(Z)| % ---- = ----| N(z) % a(z) a(Z)|@Z = ---- % D(z) % bzord = (length(bZ)­1)*(length(Nz)­1); azord = (length(aZ)­1)*(length(Dz)­1); bz = zeros(1,bzord+1); for k = 0:bzord     pln = [1]; for l = 0:k­1         pln = conv(pln,Nz); end     pld = [1]; for l = 0:bzord­k­1         pld = conv(pld,Dz); end     bz = bz+bZ(k+1)*conv(pln,pld); end az = zeros(1,azord+1); for k = 0:azord     pln = [1]; for l = 0:k­1         pln = conv(pln,Nz); end     pld = [1]; for l = 0:azord­k­1         pld = conv(pld,Dz); end     az = az+aZ(k+1)*conv(pln,pld); end az1 = az(1); az = az/az1; bz = bz/az1; 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 0 to pi        radians % mag = absolute magnitude computed over 0 to pi radians  % pha = Phase response in radians over 0 to pi radians % grd = Group delay over 0 to pi radians %   w = 501 frequency samples between 0 to pi radia ...

Tài liệu được xem nhiều: