1. Trang chủ
  2. » Công Nghệ Thông Tin

Giao trinh matlab v5.2 P15 pdf

11 265 1

Đ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

ToolBox - Digital Signal Processing Phần 2 - ứng dụng 144 ằ V= 0.01; %V ằ R= 15; % Ohm ằ omega= 2*pi*50*10^6; %rad/s ằ C= 100*10^(-12); %F ằ Zc= -j/(omega*C); %Ohm Ta tính đợc tổng trở của mạch ằ Z= R+ Zc Z= 16.0000 -31.8310i V dòng điện ằ I = V/Z I = 1.2606e-04+ 2.5097e-04i Điện áp rơi trên điện trở ằ Vr = R*I Vr= 0.0018 + 0.0039i V qua tụ điện chúng ta có thể đồ thị biên pha . Sử dụng MATLAB subplot ằ subplot (1, 2, 1) Các thông số 1, 2, 1 có ý nghĩa l 1 v 2 ma trận của hình vẽ sinh ra v chấm điểm theo một điểm đầu. Trong MATLAb 3.5 các thông số ny sẽ đợc viết l (121) Gồm các giá trị V, Vr, Vc nh pha cuối cùng. Để định nghĩa pha chúng ta cần đa điểm gốc của chúng ằ VV= [0 V]; VVc = [0 Vc]; VVr = [0 Vr] Tiếp đến ta chấm điểm điện thế pha ằ plot (real(VV) , imag(VV) Để quan sát đợc thang góc pha chính xác của trục thật cần phải nh đối với trục ảo . Có nghĩa l khung chấm điểm l hình vuông ằ axis('square') Khung của các trục sẽ đợc sinh ra nh sau ằ axis ([0 0.012 -0.006 0.006]) ToolBox - Digital Signal Processing Phần 2 - ứng dụng 145 Phần mở rộng của cả hai trục l 0.012. Các giá trị ny có thể đợc nhận bởi thử nghiệm v sai số, nh đợc hiện thị ở đồ thị , khi đánh giá trục tốt nhất v dùng câu lệnh axis .Hoặc ta có thể sử dụng một hm khác l abs để tìm giá trị biên pha lớn nhất v để điều chỉnh lại trục Chúng ta cũng có thể dùng hm hold để giữ cho đồ thị chồng lên hai hình khác,Vr v Vc ằ hold on ằ plot(real(VVr), imag(VVr)) ằ plot(real(VVc), imag(VVc)) Ton bộ đồ thị sẽ đợc viết nh sau: ằ title('(a)') ằ xlabel('Real'), ylabel('Imaginary') Bạn cũng có thể xác định các hình bằng cách tự đánh dấu các điểm tức l dùng hm gtext ằ text(real(V), imag(V), 'V') ằ text(real(Vr), imag(Vr), 'Vr') ằ text(real(Vc), imag(Vc), 'Vc') Sau đó chấm điểm ton bộ ằ hold off Ta cũng có thể tính tổng của điện áp nh sau(xem thêm hìnhvẽ): ằ Vr + Vc ans = 0.0100 - 0.0000i ằ 180*(angle(Vr) - -angle(Vc))/pi ans = 90 ToolBox - Digital Signal Processing Phần 2 - ứng dụng 146 Hình 1.3. Diện áp trên mạch nói tiếp RC Để có đợc đồ thị v tính toán điện áp ta lm theo những bớc sau ằ f= 50*10^6; % tần số, Hz ằ T = 1/f; % chu kỳ, s ằ omega= 2*pi*f; %tần số góc, rad/s ằ t=0: T/50 : 2*T; % chuỗi các giá trị ằ v = V*sin(omega*t); ằ vr = abs(Vr)*sin(omega*t + angle(Vr)); ằ vc = abs(Vc)*sin(omega*t + angle(Vc)); Để có đợc điểm nh phần tử thứ hai của ma trận đồ thị . ằ subplot(1, 2, 2) v hcấm điểm theo những lệnh sau: ằ plot (t, 1000*v, t, 1000*vr, t, 1000*vc) ToolBox - Digital Signal Processing Phần 2 - ứng dụng 147 ằ grid, title('(b)') ằ xtabel('t,s'), ylabel('mV') ằtext(t(5), 1000*v(5), 'V') ằtext(t(20), 1000*v(20), 'Vr') ằtext(t(50), 1000*v(5), 'Vc') Nh ta đã biết mạch RC l một mạch lọc thông thấp. Giả sử ta cho vo đầu vo 10mV, bây giờ ta xem đầu ra của tụ điện. Ký hiệu điện áp vo l V in v điện áp ra V out . ZRRcR jC I V ZRjC V Vout ZcI jCR j C V in in in =+ =+ == == 1 1 11 / / Hm đáp ứng tần (dùng hm biến đổi) của bộ lọc xác định bởi tỉ số Hj Vout Vin j RC () == + 1 1 Giá trị c = 1/RC gọi l tần số cắt ở dạng không thứ nguyên Hj j c () / = + 1 1 hoặc / c = 2f/2f c =f/f c Chúng ta nhận đợc dạng không thứ nguyên của hm biến đổi Hf jf f c () / = + 1 1 Chúng ta sẽ vẽ biên v pha của hm biến đổi theo hai đồ thị theo tỉ số tần v theo dãy giá trị biến đổi ToolBox - Digital Signal Processing PhÇn 2 - øng dông 148 H×nh 1.4 §å thÞ biªn vμ tÇn cña m¹ch th«ng thÊp RC » fratio= 0 : 0.01: 5; » H = ones(size(fratio))/(1+j*fratio); H×nh 1.5. M¹ch th«ng thÊp dù tÝnh tr−íc ToolBox - Digital Signal Processing Phần 2 - ứng dụng 149 Vẽ đồ thị theo logarithm Bây giờ ta xem xét bi toán theo quan điểm xử lý tín hiệu L R di dt i v R += Với = L/R - hằng số thời gian của mạch - y = i v x = v/R Đẳng thức trở thnh dy dt yx+= (1.1) Ta giả thiết rằng y đợc lấy mẫu trong khoảng T S nhỏ so với thời gian . Do đó ta có thể xấp xỉ dy dt yy T nn S = 1 Trong đó y n - lấy đợc từ lần đo thứ n của giá trị y, v y n-1 của 1 bớc trớc. Đẳng thức (1.1) đợc viết lại nh sau yy T yx nn S nn += 1 (1.2) Ta lại có y b a x a a y nn n = 1 1 2 1 1 (1.3) Biểu thức ny ta có đợc từ bộ lọc đầu tiên Viết cho trờng hợp tổng quát ay ay a y bx bx b x nn nnn nn nnn aa bb 121 121 1 +++ = + + + + (1.4) hoặc y n = b a x b a x b a x a a y a a y nn n nn n na nn b ba 1 1 2 2 1 1 2 1 1 1 11 +++ ++ (1.5) Sử dụng MATLAB ở đây l bộ lọc N tăng, N = max(n a ,n b ) - 1 Ta có 2 chuỗi ToolBox - Digital Signal Processing Phần 2 - ứng dụng 150 A = [a 1 a 2 , , a na ] B = [b 1 , b 2 , , b nb ] Điều ny có thể thấy rõ qua đồ thị 1.6 trong đó a i v b i các hệ số đợc lm bình thờng hoá bằng cách chia cho a 1 hệ số của y n . Trong hình 2 l cho ký hiệu thao tác dịch thời gian unitary time shift operator). Cho x - rời rạc của tín hiệu f(t) bị lấy mẫu theo chu kỳ T S , do đó x(n) = f(n.T S ) v z x (k) xác định thnh phần thứ k z x (k) = x(k+1). Tơng tự nh vậy thnh phần thứ của z -1 n l x(k-1) z - ký hiệu thích hợp cho việc thao tác số nhanh (xin đọc thêm về biến đổi z trong các giáo trình về xử ký tín hiệu). Hình 1.6. Chuyển đổi trực tiếp ở dạng II Việc thể hiện lại chỉ ra trên hình 1.6 gọi l dạng chuyển đổi II v l mô hình tối thiểu việc cất giữ (tức l tiết kiệm bộ nhớ nhất). Trên thực tế tại mỗi bớc ny chúng ta cần cất mỗi giá trị của trạng thái z 1 , z 2 , , z n đợc thể hiện trên đồ họa bằng khung đúp ở đờng trung tâm (xem hình vẽ) Bộ lọc đợc thực hiện nh sau: (1) Thực hiện Z Z - Z Z - Z Z - X b 1 Y b 3 b 2 - - -b 3 ToolBox - Digital Signal Processing Phần 2 - ứng dụng 151 (a) Vector trạng thái đầu, thờng đợc đánh dấu bằng Z i v đợc đặt vo bộ trễ Z j không xuất hiện, tất cả các giá trị Z j sẽ đặt = 0 (b) Giá trị của A v B đợc chuẩn hoá bằng chia cho a1 (2) Vòng lặp chính. Tại các bớc ny, chức năng lọc thể hiện theo những thao tác sau: (a) Sinh ra y n từ quan hệ y n = b 1 x n + Z 1 (b) Đặt vo Z j với j từ 1 đến N-1 trong Z j = b j x n + Z j+1 - a j y n v đối với j = N ta tính nh sau: Z N = b N x n - a N .y n Vòng lặp đợc tiếp tục cho đến khi chuỗi x hội tụ (3) Bớc cuối cùng. Giá trị Z j đợc sao chép đến vector ra Z f Đẳng thức (1.5) có thể đợc thực hiện bởi MATLAB bằng chức năng lọc. ở đây có 4 cách gọi hm lọc. y = filter (B, A, x) y = filter (B, A, x, Z i ) [y,Z f ] = filter (B, A, x) [y,Z f ] = filter (B, A, x, Z i ) Trong đó Z i v Z f l một chuỗi các thông số tối u, liên hệ với trạng thái đầu v trạng thái cuối, đã đợc mô tả nh ở trên. Hm lọc có thể trả về giá trị cuối cùng của Z nh dãy Z f , nếu nó gọi 2 biến số bên vế trái: ằ[y, Z f ] = filter (B, A, x) Ví dụ: cho ằ x = [1, 2, 1, 2, 1, 2 , 1, 2, 1, 2]; ằ B = [0.5]; ằ A = [1, -0.25, -0.25]; Gọi hm lọc nh sau: Các tần số đợc tính toán nh sau Bớc Vo Ra Z 1 Z 2 ToolBox - Digital Signal Processing Phần 2 - ứng dụng 152 1 2 3 4 5 6 7 8 9 10 1 2 1 2 1 2 1 2 1 2 .5 1.125 0.9063 1.508 1.104 1.653 1.189 1.71 1.225 1.734 0.125 0.4063 0.5078 0.6035 0.6528 0.6891 0.7105 0.7249 0.7338 0.7397 0.1250 0.2813 0.2266 0.3770 0.2759 0.4132 0.2973 0.4276 0.3062 0.4335 Trong bảng ny sinh ra bởi MATLAB M-file, số đợc lm tròn 4 số sau dấu phẩy. ằ y(:) ans = 0.5000 1.1250 0.9063 1.5078 1.1035 1.6258 1.1891 1.7338 Ngời đọc có thể tính lại số ny theo mô tả ở hình 1.6 (nói ở trên). Cuối cùng, sau khi xác định chuỗi số x, A v B liên hệ lại hm lọc nh đợc chỉ ra ằ [Y,Zf] = filter (B, A, x, Zi) ; Chúng ta nhận ra chuỗi y đợc tính toán bởi tệp M, v giá trị lớn nhất của Z 1 v Z 2 trên bảng. ằ Z f Z f = 0.7397 0.4335 ToolBox - Digital Signal Processing Phần 2 - ứng dụng 153 ằ Z f Z f = 0.7397 0.4335 3 3 . . G G ọ ọ i i h h m m l l ọ ọ c c v v ớ ớ i i đ đ i i ề ề u u k k i i ệ ệ n n đ đ ầ ầ u u Nếu bạn biến các điều kiện đầu để cất vo khâu trễ, bạn có thể gọi các bộ lọc bởi. Thông thờng dùng nếu ta có một tín hiệu x di không thể cất gửi vo bộ nhớ của máy tính của bạn. Bạn có thể trạt x ra thnh điểm gọi l x 1 , x 2 , , x n nh trong MATLAB V bộ lọc phân biệt đợc chúng chính xác. Giá trị cuối cùng , Z f của các khâu trễ tại mỗi bớc đợc sử dụng nh l các giá trị đầu, Z i , cho bớc tiếp theo. Để hiểu rõ ta ằx = [x1 ; x2 ; ; xn] dựng 1 chuỗi với 100 số ngẫu nhiên. ằ x = rand(100,1) ; Chúng ta trặt chúng thnh nhiễu chuỗi nhỏ ằ x1 = x(1 : 25) ; ằ x2 = x(26 : 50) ; ằ x3 = x(51 : 75) ; ằ x4 = x(76 : 100) Bây giờ chúng ta xây dựng bộ lọc liên hệ với các thnh phần của các chuỗi con. Khi xây dựng chúng sử dụng các giá trị của trạng thái cuối cùng, Zf, sinh ra bởi lần gọi đầu tiên nh vậy một trạng thái đầu Zi, cho cho lần gọi thứ 2, cứ nh vậy: Để kiểm tra bạn có thể sử dụng khi chuỗi số x ằ y = filter(b, a, x) ; V bạn thay đổi kết quả đợc sinh ra bởi partial ằ max(max(abs(y-[y1 ; y2 ; y3 ; y4]))) ; ans = 0 [...]... chọn v bạn có thể lm ra Trong trờng hợp ny hm lọc sử dụng vector không chuẩn với chiều di N ton l 0 (vector 0) Nếu Z xuất hiện nó cần phải di N, bằng với bộ lọc đã đợc định trớc , v 1 + N nh ở phần trên MATLAB Để xác định bộ lọc của N, chúng ta cần cung cấp N trạng thái nh l giá trị của vector Zi, trong trạng thái để chuỗi A & B Ta có N, trạng thái đầu cho đầu vo ở trong trong dạng của vectơ y, có chiều . 0. 125 0.4063 0.5078 0.6035 0.6 528 0.6891 0.7105 0. 724 9 0.7338 0.7397 0. 125 0 0 .28 13 0 .22 66 0.3770 0 .27 59 0.41 32 0 .29 73 0. 427 6 0.30 62 0.4335 Trong bảng ny sinh ra bởi MATLAB. Z 1 Z 2 ToolBox - Digital Signal Processing Phần 2 - ứng dụng 1 52 1 2 3 4 5 6 7 8 9 10 1 2 1 2 1 2 1 2 1 2 .5 1. 125 0.9063 1.508 1.104 1.653 1.189 1.71 1 .22 5 1.734. = Z i1 + b 1 + b 1 x 1 (1.6) y 2 = Z i2 + [b 1 x 2 + b 2 x 1 ] - [a 2 - y 1 ] (1.7) y 3 = Z i3 + [b 1 x 3 + b 2 x 2 + b 3 x 1 ] - [a 2 - y 2 + a 1 y 3 ] (1.8) . . . y k

Ngày đăng: 10/07/2014, 20:21