intTypePromotion=1
zunia.vn Tuyển sinh 2024 dành cho Gen-Z zunia.vn zunia.vn
ADSENSE

Đề tài: Thiết kế bộ lọc thông thấp theo cấu trúc IIR sử dụng bộ lọc ELLIPTIC và phương pháp biến đổi bất biến xung.

Chia sẻ: Ta Duoc | Ngày: | Loại File: PDF | Số trang:18

388
lượt xem
76
download
 
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Bộ lọc IIR có đáp ứng xung vô hạn , vì vậy chúng có thể khớp với các bộ lọc analog , mà nói chung đều có đáp ứng xung dài vô hạn. Kỹ thuật cơ bản để thiết kế lọc IIR là biến đổi các bộ lọc analog điển hình (well-known) thành các bộ lọc digital sử dụng các ánh xạ giá trị-phức. Sự thuận tiện của kỹ thuật này là ở chỗ có sẵn các bảng thiết kế lọc analog (AFD) và các ánh xạ được mở rộng trong thư viện. Các kỹ thuật cơ bản được gọi là các phép biến đổi...

Chủ đề:
Lưu

Nội dung Text: Đề tài: Thiết kế bộ lọc thông thấp theo cấu trúc IIR sử dụng bộ lọc ELLIPTIC và phương pháp biến đổi bất biến xung.

  1. Luận văn Đề tài: Thiết kế bộ lọc thông thấp theo cấu trúc IIR sử dụng bộ lọc ELLIPTIC và phương pháp biến đổi bất biến xung
  2. Bài tập lớn môn học Xử lý số tín hiệu Bài toán thiết kế : Thiết kế bộ lọc thông thấp theo cấu trúc IIR sử dụng bộ lọc ELLIPTIC và phương pháp biến đổi b ất biến xung. 2. Phương pháp thiết kế : Các bước thiết kế. Bước 1: Chỉ định các chỉ tiêu của bộ lọc số : - Tần số dải thông wp - tần số dải chắn ws - Độ gợn sóng dải thông Rp - Độ suy hao dải chắn As và tham số T. Bước 2 : Chiếu các tần số cắt wp và ws từ miền tần số số lên miền tần số tương tự  p và  s . Bước 3: Thiết kế bộ lọc thông thấp tương tự có hàm truyền Ha(s) thỏa m ãn các chỉ tiêu tương tự trên các điểm Ωp, Ωs. Bước 4: Biến đổi bộ lọc thông thấp tương tự Ha(s) thành bộ lọc thông thấp số HLP(Z) theo phép biến đổi bất biến xung. Bước 5: Chuyển đổi tần số để đạt được bộ lọc số mong muốn H(z) = HLP(Z) Z 1  G ( z 1 ) 2.1. Giới thiệu chung : Bộ lọc IIR có đáp ứng xung vô hạn , vì vậy chúng có thể khớp với các bộ lọ c analog , mà nói chung đều có đáp ứng xung dài vô hạn. Kỹ thu ật cơ b ản để thiết kế lọc IIR là biến đổi các bộ lọ c analog đ iển hình (well-known) thành các bộ lọc digital sử dụng các ánh xạ giá trị-phức. Sự thuận tiện của k ỹ thuật này là ở chỗ có sẵn các bảng thiết kế lọ c analog (AFD) và các ánh xạ được m ở rộng trong thư viện. Các kỹ thu ật cơ bản được gọ i là các phép biến đổi lọ c A/D. Tuy nhiên, các bảng AFD chỉ dùng cho các bộ lọ c thông thấp. Trong khi ta cần thiết kế các bộ lọ c chọn tần khác (thông cao, thông dải, chắn d ải, v.v…) Cần áp dụng các phép biến đổi băng tần đố i với các b ộ lọ c thông thấp. Các phép biến đổ i này cũng được gọi là ánh xạ giá trị-ph ức, và chúng cũng có sẵn trong thư viện. §Ó thiÕt kÕ m¹ch läc sè mong muèn tõ c¸c m¹ch läc t­¬ng tù , cã hai kü thuËt ®­îc ¸p dông: 1. BiÕn ®æi m¹ch läc t­¬ng tù th«ng thÊp ®· ®­îc chuÈn hãa thµnh mét m¹ch läc t­¬ng tù kh¸c ch­a chuÈn hãa råi sau ®ã sè hãa m¹ch läc t­¬ng tù nµy ®Ó trë thµnh mét m¹ch läc sè mong muèn. 2. Anh x¹ m¹ch läc th«ng thÊp t­¬ng tù tõ mÆt ph¼ng -s sang mÆt ph¼ng -z vµ sau ®ã ¸p phÐp biÕn ®æi d¶i tÇn ®Ó t¹o thµnh m¹ch läc sè mong muèn; Trong ®ã phÐp biÕn ®æi lµ c«ng cô chñ chèt. C¶ hai kü thuËt trªn ®­îc m« t¶ trªn s¬ ®å sau ®©y: Trang 1
  3. Bài tập lớn môn học Xử lý số tín hiệu Kü thuËt 1: ThiÕt kÕ m¹ch läc Áp dụng biến đổi Áp dụng biến đổi th«ng thÊp t­¬ng tự dải tần S  S mạch lọc s  Z M¹ch läc sè IIR mong muèn Kü thuËt 2: ThiÕt kÕ m¹ch läc Áp dụng biến Áp dụng biến th«ng thÊp t­¬ng đổi mạch lọc đổi dải tần M¹ch läc sè tự SZ ZZ IIR mong muèn 2.2. Thiết kế bộ lọc IIR : 2.2.1. Mét sè l­u lý ®èi víi bé läc t­¬ng tù: §¸p øng biªn ®é cña m¹ch läc th«ng thÊp t­¬ng tù cã thÓ ®­îc biÓu thÞ d­íi d¹ng b×nh ph­¬ng hoÆc theo thang dB nh­ trªn h×nh 2.1 1 2  H a  j   1 ;    P §èi víi d¶i th«ng: (2.1) 1  1 2 0  H a  j   2 ;  s  Q §èi víi d¶i chÆn: (2.2) A Trong ®ã  lµ th«ng sè mÊp m« cña d¶i th«ng, P lµ tÇn sè cña d¶i th«ng ®o b»ng rad/sec, A lµ ®é suy gi¶m cña d¶i chÆn vµ  S lµ tÇn sè c¾t cña d¶i chÆn. C¸c ®Æc tÝnh nµy ®­îc biÓu diÔn trªn h×nh 2.1 Nh­ vËy ta sÏ t×m ®­îc: 1 2 H a  j   (2.3) ; khi    P 1  2 1 2 H a  j  Vµ (2.4)  2 ; khi    S A C¸c th«ng sè  vµ A liªn hÖ víi c¸c th«ng sè RP vµ AS ®­îc tÝnh n»ng ®¬n vÞ dB. C¸c th«ng sè nµy quan hÖ víi nhau qua c«ng thøc: 1    10 R P 10  1 (2.5) R P  10 log 10 2 1 1 AS  10 log 10 2  A  10 AS 20 Vµ (2.6) A Ngoµi ra ®é gîn sãng  1 vµ  2 tØ lÖ trÞ tuyÖt ®èi. Liªn hÖ víi  vµ A b»ng c¸c hÖ thøc: 2 1 1  1 1 (2.7)    2 1  1 1  1 1  2 1  1 (2.8) Vµ  A A 1  1 2 Trang 2
  4. Bài tập lớn môn học Xử lý số tín hiệu §¸p øng tÇn sè Ha(j ) cña m¹ch läc t­¬ng tù liªn hÖ víi hµm truyÒn Ha(s) cña nã b»ng hÖ thøc: Ha(j ) = Ha(s) s  j 2 H a  j   H a s H a  s  s  j Nªn (2.9) 2 H a s H a  s   H a  j  (2.10) Hay s  j 2 H a  j  1 1 1  2 1 A2 0 P S  Hình 2.1 : Các đặc tính của bộ lọc Analog thông thấp Do vËy, c¸c ®iÓm cùc vµ c¸c ®iÓm kh«ng cña hµm b×nh ph­¬ng biªn ®é ph©n bè ®èi xøng ¶nh g­¬ng ®èi víi trôc ¶o j . §Ó m¹ch läc t­¬ng tù æn ®Þnh vµ nh©n qu¶ th× c¸c ®iÓm cùc cña hµm truyÒn cña nã b¾t buéc ph¶i n»m ë nöa tr¸i cña mÆt ph¼ng -s. C¸c ®iÓm kh«ng cña Ha(s) cã thÓ n»m ®©u ®ã trong mÆt ph¼ng -s, do ®ã chóng kh«ng ®­îc x¸c ®Þnh mét c¸ch duy nhÊt trõ khi tÊt c¶ ®Òu n»m trªn trôc j. Ta sÏ chän c¸c ®iÓm kh«ng cña Ha(s)Ha(-s) n»m bªn trong hoÆc ngay trªn trôc j nh­ c¸c ®iÓm kh«ng nh­ vËy ®­îc gäi lµ m¹ch läc pha cùc tiÓu. 2.2.2. C¸c bé läc th«ng thấp Elliptic: Các bộ lọc này thường cân bằng gợn sóng ở dải thông cũng như dải ch ắn. Chúng có các đ ặc trưng đáp ứng biên độ tương tự như các bộ lọ c FIR cân bằng gợn song. Vì vậy các bộ lọc elliptic là các bộ lọc tố i ưu trong đó đạt được bậc tối thiểu N đối với các ch ỉ tiêu đ ã cho. Các bộ lọc này, vì nhiều lý do đã xét trước đây, là rất khó đ ể phân tích và thiết kế. Không thể thiết kế chúng b ằng các công cụ đơn giản, và thường phải dùng các chương trình ho ặc bảng để thiết kế chúng. Đáp ứng xung b ình phương độ lớn của bộ lọc Elliptic được cho bởi: 1 2 (2.22) H a ( j )  1   2 U N (  )  2  c    Trong đó: N: b ậc; epsilon: gợn sóng dải thông; UN() là b ậc của hàm Jacobian elliptic thứ-N Trang 3
  5. Bài tập lớn môn học Xử lý số tín hiệu Các kiểu đáp ứng đối với N chẵn và lẻ ở hình dưới đây: H a ( j) H a ( j) 1 1 N lẻ N chẳn 1 1 1  2 1  2 1 1 A2  A2 c c  Tính toán cho bộ lọc bậc N: K ( k ) K ( 1  k 12 ) N K (k1 ) K ( 1  k 2 )  2 d    K (x)  k c k1  1  x 2 sin 2  s A2 1 0 Thực hiện trong MATLAB: Matlab cung cấp một hàm được gọi là [z,p,k] = ellipap(N,Rp, As) đ ể thiết kế bộ lọc chuẩn hoá tương tự Elliptic có bậc N và gợn sóng dải thông Rp và Suy giảm ở dải chắn As. Cho kết quả điểm zeros trong mảng z, điểm cực trong mảng p và giá trị độ lợi k. Chúng ta cần bộ lọc Eliiptic chưa chuẩn hoá với  c tu ỳ ý. Điều này đạt đ ược bởi độ lớn mảng p và z của bộ lọc đã được chuẩn hoá bởi  c . Hàm dư ới đây, được gọi là U_elipap(N,Rp, As, Omegac). Chúng ta thiết kế một bộ lọc Elliptic chưa chuẩn hoá nó trả lại Ha(s) theo dạng trực tiếp. 2.2.3. Các phép biến đổ i bộ lọc tương tự thành bộ lọc số: Sau khi kh ảo sát các tiếp cận khác nhau để thiết kế các b ộ lọ c tương tự , chúng ta sẵn sàng biến đổi chúng thành bộ lọc số. Các phép biến đổi này đ ạt được bằng cách bảo toàn các aspects khác nhau của các bộ lọc tương tự và lọc số . Cách phương pháp biến đổ i:  Biến đổi b ất biến xung: Bảo toàn hình dang củ a đáp ứng xung từ lọ c tương tự thành lọc số .  K ỹ thuật xấp xỉ sai phân hữu hạn: Chuyển đổi biểu diễn một phương trình vi phân thành một phương trình sai phân tương ứng.  Bất biến bước nhảy: Bảo toàn hình dạng củ a đáp ứng bư ớc nhảy.  Biến đổi song tuyến tính: Bảo toàn biểu diễn hàm hệ thống từ miền tương tự sang miền số. Do yêu cầu của bài toán nên trong tiểu luận này ch ỉ đưa ra phương pháp biến đổi bất biến xung. Trang 4
  6. Bài tập lớn môn học Xử lý số tín hiệu Biến đổi bấ t biến xung: Trong phương pháp thiết kế n ày. Đáp ứng xung của bộ lọc số trông tương tự như đáp ứng xung củ a bộ lọ c chọn tần analog. Sau đó Lấy mẫu h a(t) ở các chu k ỳ lấ y mẫu T ta thu được h(n ): h(n )=ha(nT) Thông số T được chọn sao cho hình dạng củ a h a(t) thu được bởi lấy mẫu. Trong quá trình lấy mẫu tần số tương tự và tần số số có quan hệ bởi: e j  e j T ho ặc   T Do z=ejω trên đường tròn đơn vị và s=j Ω trên trục ảo, ta có phép biến đổ i sau đây từ mặt ph ẳng s sang mặt ph ẳng z: z=esT (8.23) Hàm hệ thống H(z) và Ha(s) có quan hệ với nhau thông qua biểu thứ c phổ miền tần số (1.6). Các tính chất: Sử dụng: 1. σ = Re(s): Lưu ý rằng: σ < 0, ánh xạ vào |z|0, ánh xạ vào |Z|>1 (bên ngoài đường tròn đơn vị) 2. Ánh xạ nhiều s lên một z : Ánh xạ m any-to-one 3. Mỗ i dải bán-vô hạn bên trái (nằm bên mặt ph ẳng trái) ánh xạ vào bên trong đường tròn đơn vị Tính nhân quả và ổn đ ịnh là không thay đ ổi; Aliasing xuât hiện nếu bộ lọc không có băng tần-h ữu hạn 4. Nếu H a ( j )  H a ( j / T )  0 for    / T then 1 H (e j )  H a ( j / T ),    T Hình 2.8 Ánh xạ mặt phẳng phức trong biên đổi bất biến xung Ưu điểm của phương pháp này: Trang 5
  7. Bài tập lớn môn học Xử lý số tín hiệu Nh ững ưu điểm của bất biến xung đó là thiết kế được ổn định, tần số  và w có quan hệ tuyến tính với nhau. Nhưng nhược điểm đó là một vài nơi b ị chồng phổ trong đáp ứng tần số tương tự và trong một số trường hợp hiện tượng chồng phổ này là không chấp nhận được. Do đó phương pháp thiết kế này chỉ được dùng khi bộ lọc tương tự có băng thông giới hạn đối với thông thấp và thông d ải hoặc khi không có sự dao động trong dải chắn. Thủ tục thiết kế: Cho các đặc tính kỹ thu ật bộ lọc thông thấp số. ωp,ωs,Rp và As, chúng ta muốn xác định H(z) bằng cách thiết kế trước tiên một bộ lọ c analog tương đương và sau đó ánh xạ chúng thành bộ lọc số mong muốn. Thủ tụ c thiết kế: Chọn và xác đ ịnh tần số 1. T các analog: Ωp=ωp/T, Ωs=ωs/T 2. Thiết kế mộ t bộ lọ c analog Ha(s) sử dụng các đ ặc tính của bộ lọ c Elliptic trong ph ần trước. 3. Sử dụng phép khai triển riêng ph ần khai triển Ha(s) thành Rk N H a ( s )  k 1 s  pk 4. Biến đổi các điểm cực analog {pk} thành các điểm cự c số {epkT} để thu được bộ lọ c số . 3. Thuật toán và chương trình thiết kế : Yêu cầu cụ thể sau: Thiết kế bộ lọc thông thấp IIR với các chỉ tiêu sau: Tần số cắt của dải thông (Passband Edge Frequency)ωp -Tần số cắt của dải chắn (Stopband Edge Frequency) ωs -Độ gợn sóng của dải thông (Passband Ripple) Rp -Độ suy giảm của dải chắn (Stopband Attenuation) As 3.1 Sơ đồ thuật toán: Trang 6
  8. Bài tập lớn môn học Xử lý số tín hiệu BEGIN Nhập các chỉ tiêu cần thiết kế Wp, ws, R p, As và T No Kiểm tra chỉ tiêu có h ợp lệ không? Yes Tính Ωp, Ωs Xác định hàm truyền của bộ lọc tương tự Ha(s) Xác đ ịnh hàm truyền của bộ lọc số HLP(z) Vẽ đáp ứng biên độ - pha tần số và trễ nhóm của bộ lọc cần thiết kế. End Trang 7
  9. Bài tập lớn môn học Xử lý số tín hiệu 3.2 Các hàm cơ bản: function [b,a] = u_elipap(N,Rp,As,Omegac); %unnormalized Eliptic analog Lowpass filter prototype %-------------------------------------------------------- %[b,a] = u_chblap(N,Rp,Omegac); % b = numerator polynomial coefficients % a = d enominator polynomial coefficients % N = Order of the Elliptic Filter % Rp = Passband ripple in dB,Rp > 0 %Omegac = Cutoff frequency in radians/sec [z,p,k] = ellipap(N,Rp,As); a = real(poly(p)); aNn = a(N+1); p = p*Omegac; a = real(poly(p)); aNu = a(N+1); b = real(poly(z)); M = length(b); b Nn = b(M); z = z*Omegac; b = real(poly(z)); b Nu = b(M); k=k*(aNu*bNn)/(aNn*bNu); b0=k; b=k*b; function [b,a] = afd_elip(Wp,Ws,Rp,As); % Analog Lowpass Filter Design : % b = Numetor coefficients of Ha(s) % a = denominator oefficients of Ha(s) % Wp = Passband edge frequency in rad/sec;Wp > 0 % Ws = stpband edge frequency in rad/sec;Ws>Wp > 0 % Rp = Passband ripple in +dB;(Rp > 0 ) % As = stpband attenuation in +dB;(As>0) if Wp
  10. Bài tập lớn môn học Xử lý số tín hiệu k1 = ep/sqrt(A*A-1); capk = ellipke([k.^2 1-k.^2]); capk1 = ellipke([(k1.^2) 1-(k1.^2)]); N = ceil(capk(1)*capk1(2)/(capk(2)*capk1(1))); fprintf('\n*** Elliptic Filter order = %2.Of \n',N) [b,a]=u_elipap(N,Rp,As,OmegaC) ; function [a,b]=imp_invr(c,d,T); %Bien doi tuong tu sang so [R,p,k]=residue(c,d); P=exp(p*T); [a,b]=residue(R,p,k); b=real(b');a=real(a'); function [C,B,A] = dir2par(b,a); M = length (b);N = length(a); [r1,p1,C] = residuez(b,a); p = cplxpair(p1,100*eps); I = cplxcomp(p1,p); r = r1(I); K = floor(N/2); B = zeros(K,2); A = zeros(K,3); if K*2 ==N; %N even, order of A(z)odd, one factor is first order for i=1:2:N-2 Brow = r(i:1:i+1,:); Arow = p(i:1:i+1,:); [Brow,Arow] = residuez(Brow,Arow,[]); B(fix((i+1)/2),:) = real(Brow); A(fix((i+1)/2),:) = real(Arow); end [Brow,Arow] = residuez(r(N-1),p(N-1),[]); B(K,:) = [real(Brow) 0]; A(K,:) = [real(Arow) 0]; else for i=1:2:N-1 Brow = r(i:1:i+1,:); Arow = p(i:1:i+1,:); [Brow,Arow] = residuez(Brow,Arow,[]); B(fix((i+1)/2),:) = real(Brow); A(fix((i+1)/2),:) = real(Arow); end end 3.3 Chương trình chính: thiết kế bộ lọc % IIR LOWPASS FILTER DESIGN USING IMPULSE INVARIANCE TRANSFORMATION function varargout = tieuluan(varargin) Trang 9
  11. Bài tập lớn môn học Xử lý số tín hiệu % TIEULUAN M-file for tieuluan.fig % TIEULUAN, by itself, creates a new TIEULUAN or raises the existing % singleton*. % % H = TIEULUAN returns the handle to a new TIEULUAN or the handle to % the existing singleton*. % % TIEULUAN('CALLBACK',hObject,eventData,handles,...) calls the local % function named CALLBACK in TIEULUAN.M with the given input arguments. % % TIEULUAN('Property','Value',...) creates a new TIEULUAN or raises the % existing singleton*. Starting from the left, property value pairs are % applied to the GUI before tieuluan_OpeningFunction gets called. An % u nrecognized property name or invalid value makes property application % stop. All inputs are passed to tieuluan_OpeningFcn via varargin. % % *See GUI Options on GUIDE's Tools menu. Choose "GUI allows only one % instance to run (singleton)". % See also: GUIDE, GUIDATA, GUIHANDLES % Edit the above text to modify the response to help tieuluan % Last Modified by GUIDE v2.5 10-Jun -2009 21:03:58 % Begin initialization code - DO NOT EDIT gui_Singleton = 1; gui_State = struct('gui_Name', mfilename, ... 'gui_Singleton', gui_Singleton, ... 'gui_OpeningFcn', @tieuluan_OpeningFcn, ... 'gui_OutputFcn', @tieuluan_OutputFcn, ... 'gui_LayoutFcn', [] , ... 'gui_Callback', []); if nargin && ischar(varargin{1}) gui_State.gui_Callback = str2func(varargin{1}); end if nargout [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:}); else gui_mainfcn(gui_State, varargin{:}); end % End initialization code - DO NOT EDIT % --- Executes just before tieuluan is made visible. function tieuluan_OpeningFcn(hObject, eventdata, handles, varargin) % This function has no output args, see OutputFcn. % h Object handle to figure % eventdata reserved - to be defined in a future version of MATLAB % h andles structure with handles and user data (see GUIDATA) % varargin command line arguments to tieuluan (see VARARGIN) Trang 10
  12. Bài tập lớn môn học Xử lý số tín hiệu % Choose default command line output for tieuluan handles.output = hObject; % Update handles structure guidata(hObject, handles); % UIWAIT makes tieuluan wait for user response (see UIRESUME) % u iwait(handles.figure1); % --- Outputs from this function are returned to the command line. function varargout = tieuluan_OutputFcn(hObject, eventdata, handles) % varargout cell array for returning output args (see VARARGOUT); % h Object handle to figure % eventdata reserved - to be defined in a future version of MATLAB % h andles structure with handles and user data (see GUIDATA) % Get default command line output from handles structure varargout{1} = handles.output; function edit1_Callback(h Object, eventdata, handles) % h Object handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % h andles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit1 as text % str2double(get(hObject,'String')) returns contents of edit1 as a double % --- Executes during object creation, after setting all properties. function edit1_CreateFcn(hObject, eventdata, handles) % h Object handle to edit1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % h andles empty - h andles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end Trang 11
  13. Bài tập lớn môn học Xử lý số tín hiệu function edit2_Callback(hObject, eventdata, handles) % h Object handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % h andles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit2 as text % str2double(get(hObject,'String')) returns contents of edit2 as a double % --- Executes during object creation, after setting all properties. function edit2_CreateFcn(hObject, eventdata, handles) % h Object handle to edit2 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % h andles empty - h andles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end function edit3_Callback(hObject, eventdata, handles) % h Object handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % h andles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit3 as text % str2double(get(hObject,'String')) returns contents of edit3 as a double % --- Executes during object creation, after setting all properties. function edit3_CreateFcn(hObject, eventdata, handles) % h Object handle to edit3 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % h andles empty - h andles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end Trang 12
  14. Bài tập lớn môn học Xử lý số tín hiệu function edit4_Callback(hObject, eventdata, handles) % h Object handle to edit4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % h andles structure with handles and user data (see GUIDATA) % Hints: get(hObject,'String') returns contents of edit4 as text % str2double(get(hObject,'String')) return s contents of edit4 as a double % --- Executes during object creation, after setting all properties. function edit4_CreateFcn(hObject, eventdata, handles) % h Object handle to edit4 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % h andles empty - h andles not created until after all CreateFcns called % Hint: edit controls usually have a white background on Windows. % See ISPC and COMPUTER. if ispc set(hObject,'BackgroundColor','white'); else set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor')); end % --- Executes on button press in pushbutton1. function pushbutton1_Callback(hObject, eventdata, handles) % h Object handle to pushbutton1 (see GCBO) % eventdata reserved - to be defined in a future version of MATLAB % h andles structure with handles and user data (see GUIDATA) % ANALOG LOWPASS FILTER DESIGN &TRANSFORMING FROM ANALOG LPF INTO DIGITAL LPF T=1; ap = get(handles.edit1,'String'); ap = str2num(ap); wp=ap*pi; as = get(handles.edit2,'String'); as = str2num(as); ws=as*pi; Rp = get(handles.edit3,'String'); Rp = str2num(Rp); As = get(handles.edit4,'String'); As = str2num(As); OmegaP = wp/T; OmegaS = ws/T; ep = sqrt(10^(Rp/10)-1); Ripple = sqrt(1/(1+ep*ep)); Trang 13
  15. Bài tập lớn môn học Xử lý số tín hiệu Attn = 1/(10^(As/20)); [cs,ds] = afd_elip(OmegaP,OmegaS,Rp,As); [b,a] = imp_invr(cs,ds,T); [C,B,A] = dir2par(b,a); [N,wn] = ellipord(wp/pi,ws/pi,Rp,As); % thiet ke bo loc so figure(2); subplot(1,1,1); [db,mag,pha,grd,w] = freqz_m(b,a); subplot(2,2,1); plot(w/pi,mag); title('Magnitude response') xlabel('frequency in pi units'); ylabel('|H|'); axis([0,1,0,1.1]) set(gca,'XTickMode','manual','XTick',[0,ap,as,1]); set(gca,'YTickmode','manual','YTick',[0,Attn,Ripple,1]); grid subplot(2,2,3); plot(w/pi,db); title('Magnitude in dB'); xlabel('frequency in pi units'); ylabel('dB'); axis([0,1,-40,5]); set(gca,'XTickMode','manual','XTick',[0,ap,as,1]); set(gca,'YTickmode','manual','YTick',[-50,-15,-1,0]); grid set(gca,'YTickLabelMode','manual','YTickLabels',['50';'15';' 1';' 0']) subplot(2,2,2); plot(w/pi,pha/pi); title('Phase Response') xlabel('frequency in pi units'); ylabel('pi units'); axis([0,1,-1,1]); set(gca,'XTickMode','manual','XTick',[0,ap,as,1]); set(gca,'YTickmode','manual','YTick',[-1,0,1]); grid subplot(2,2,4); plot(w/pi,grd); title('Group Delay') xlabel('frequency in pi units'); ylabel('Samples'); axis([0,1,0,15]) set(gca,'XTickMode','manual','XTick',[0,ap,as,1]); set(gca,'YTickmode','manual','YTick',[0:5:15]); grid % Diem cuc diem khong cua so % Plots of Pole, Zero and Impulse Response for Digital Lowpass Filter % Pole and Zero z = roots(b); p = roots(a); [h1,t] = impz(b,a,100); figure(3); subplot(1,1,1) subplot(2,1,1); zplane(z,p); grid; title('Pole and Zero for Digital Lowpass Filter') % Impulse Response subplot(2,1,2); stem(t,h1); grid; title(['Impulse Response for Digital Lowpass Filter order = ',num2str(N)]) Trang 14
  16. Bài tập lớn môn học Xử lý số tín hiệu 3.4 K ết quả đạt được: Trang 15
  17. Bài tập lớn môn học Xử lý số tín hiệu (Hình trên: Đáp ứng biên độ, đáp ứng pha và trễ nhóm của Bộ lọc thông thấp số). Trang 16
  18. Bài tập lớn môn học Xử lý số tín hiệu 4. Kết luận : Việc thiết kế bộ lọc số dung Bộ lọc ELLIPTIC và biến đổi bất biến xung có những ưu điểm sau: - Các b ộ lọc ELLIPTIC thường cân b ằng gợn sóng ở dải thông cũng như d ải chắn. Chúng có các đ ặc trưng đáp ứng biên độ tương tự như các bộ lọc FIR cân bằng gợn song. Vì vậy các b ộ lọ c elliptic là các bộ lọc tối ưu trong đó đ ạt được bậc tối thiểu N đối với các chỉ tiêu đã cho. Khắc phụ c được nhược điểm của bộ lọ c Butterworth và Chebyshev. - Nh ững ưu điểm của bất biến xung đó là thiết kế được ổn định, tần số  và w có quan h ệ tuyến tính với nhau. Nhưng nhược điểm đó là m ột vài nơi bị chồng phổ trong đáp ứng tần số tương tự và trong một số trường hợp hiện tượng chồng phổ này là không chấp nhận được. Trang 17
ADSENSE

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản
4=>1