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

Giáo trình matlab v5.1 P13

15 7 0

Đ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

Vẽ đồ thị dạng đường: Giả sử có dãy số liệu V đo theo thời gian t. Trong MatLab, V và t đều có dạng vec tơ có cùng độ dài. Khi đó lệnh vẽ đồ thị với trục hoành là t và trục tung là V có dạng:

Khảo sát ứng dụng MATLAB điều khiển tự động nichols(num,den) title(‘Bieu Nichols’) ngrid(‘new’) ta biểu đồ Nichols hình vẽ: Lệnh DNICHOLS a) Công dụng: Vẽ biểu đồ đáp ứng tần số Nichols hệ gián đoạn b) Cú pháp: [mag,phase,w] = dnichols(a,b,c,d,Ts) [mag,phase,w] = dnichols(a,b,c,d,Ts,iu) [mag,phase,w] = dnichols(a,b,c,d,Ts,iu,w) [mag,phase,w] = dnichols(num,den,Ts) [mag,phase,w] = dnichols(num,den,Ts,w) c) Giải thích: Lệnh dnichols tìm đáp ứng tần số Nichols hệ gián đoạn LTI Biểu đồ Nichols dùng để phân tích đặc điểm hệ vòng hở hệ vòng kín Đáp ứng từ lệnh dnichols so sánh trực tiếp với đáp ứng từ lệnh nichols hệ liên tục tương ứng Nếu bỏ qua đối số vế trái dòng lệnh lệnh dnichols vẽ biểu đồ Nichols hình Thực hiện: PHẠM QUỐC TRƯỜNG - 15 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động dnichols(a,b,c,d,Ts) vẽ chuỗi biểu đồ Nichols, đồ thị tương ứng với mối quan hệ ngõ vào ngõ hệ không gian trạng thái gián đoạn: x[n+] = Ax[n] + Bu{n] y[n] = Cx[n] + Du[n] với trục tần số xác định tự động Các điểm tần số chọn khoảng từ tới π/Ts radians Nếu đáp ứng thay đổi nhanh cần phải xác định nhiều điểm trục tần số dnichols(a,b,c,d,Ts,iu) vẽ biểu đồ Nichols hình từ ngõ vào iu tới tất ngõ hệ thống với trục tần số xác định tự động Đại lượng vô hướng iu số ngõ vào hệ thống ngõ vào sử dụng cho đáp ứng Nichols dnichols(num,den,Ts) vẽ biểu đồ Nichols hàm truyền đa thức hệ gián đoạn G(z) = num(z)/den(z) num den chứa hệ số đa thức theo chiều giảm dần số mũ s dnichols(a,b,c,d,Ts,iu,w) hay dnichols(num,den,Ts,w) vẽ biểu đồ Nichols với vector tần số w người sử dụng xác định Vector w định điểm tần số (tính rad/s) mà đáp ứng Nichols tính Hiện tượng trùng phổ xảy tần số lớn tần số Nyquist (π/Ts rad/s) Để tạo trục tần số với khoảng tần số theo logarit ta dùng lệnh logspace Nếu giữ lại đối số vế trái dòng lệnh thì: [mag,phase,w] = dnichols(a,b,c,d,Ts) [mag,phase,w] = dnichols(a,b,c,d,Ts,iu) [mag,phase,w] = dnichols(a,b,c,d,Ts,iu,w) [mag,phase,w] = dnichols(num,den,Ts) [mag,phase,w] = dnichols(num,den,Ts,w) không vẽ biểu đồ Nichols mà tạo đáp ứng tần số hệ thống dạng ma trận mag, phase w Các ma trận mag phase chứa đáp ứng biên độ pha hệ thống xác định điểm tần số w Ma trận mag phase có số cột số ngõ hàng ứng với thành phaàn vector w G(z) = C(zI –A)-1B + D mag(ω) = ⏐G(ejωT)⏐ phase(ω) = ∠G(ejωT) T thời gian lấy mẫu Góc pha tính độ nằm khoảng –3600 tới 00 Giá trị biên độ chuyển đơn vị decibel theo công thức: magdB = 20*log10(mag) Để vẽ lưới biểu đồ Nichols ta dùng lệnh ngrid d) Ví dụ: Vẽ đáp ứng Nichols hệ thống có hàm truyền: Thực hiện: PHẠM QUỐC TRƯỜNG - 16 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động H ( z) = 1.5 z + 1.1z + 1.36 z + 0.88 z + 0.31 num = 1.5; den = [1 1.1 1.36 0.88 0.31]; ngrid(‘new’) dnichols(num,den,0.05) title(‘Bieu Nichols gian doan’) ta biểu đồ Nichols hệ gián đoạn: 10 Lệnh NGRID a) Công dụng: Tạo lưới cho đồ thị Nichols b) Cú pháp: ngrid ngrid(‘new’) c) Giải thích: Lệnh grid tạo lưới cho đồ thị Nichols Đồ thị có liên hệ với số phức H/(1+H), H số phức Nếu H điểm đáp ứng tần số vòng hở hệ SISO H/(1+H) giá trị tương ứng đáp ứng tần số vòng kín hệ thống Thực hiện: PHẠM QUỐC TRƯỜNG - 17 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động ngrid tạo lưới vùng có biên độ từ –40 dB tới 40 dB góc pha từ -3600 tới 00 với đường số mag(H/(1+H)) angle(H/(1+H)) vẽ ngrid vẽ lưới đồ thị Nichols biểu đồ Nichols có biểu đồ tạo lệnh nichols dnichols ngrid(‘new’) xóa hình đồ họa trước vẽ lưới thiết lập trạng thái giữ để đáp ứng Nichols vẽ cách dùng lệnh: ngrid(‘new’) nichols(num,den) hay nichols(a,b,c,d,iu) d) Ví dụ: Vẽ lưới biểu đồ Nichols hệ thống: − 4s + 48s − 18s + 250s + 600 H (s) = s + 30 s + 282 s + 525s + 60 num = [-4 48 -18 250 600]; den = [1 30 282 525 60]; nichols(num,den) title(‘Bieu Nichols’) ngrid(‘new’) ta đồ thị đáp ứng sau: 11 Lệnh MARGIN Thực hiện: PHẠM QUỐC TRƯỜNG - 18 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động a) Công dụng: Tính biên dự trữ pha dự trữ b) Cú pháp: [Gm,Pm,Wcp,Wcg] = margin(mag,phase,w) [Gm,Pm,Wcp,Wcg] = margin(num,den) [Gm,Pm,Wcp,Wcg] = margin(a,b,c,d) c) Giải thích: Lệnh margin tính biên dự trữ (gain margin), pha dự trữ (phase margin) tần số cắt (crossover frequency) từ liệu đáp ứng tần số Biên dự trữ pha dự trữ dựa hệ thống vòng hở SISO cho biết tính ổn định tương đối hệ thống hệ thống hệ thống vòng kín Nếu bỏ qua đối số vế trái dòng lệnh giản đồ Bode với biên dự trữ pha dự trữ vẽ hình Biên dự trữ độ lợi cần tăng thêm để tạo độ lợi vòng đơn vị tần số mà góc pha –1800 Nói cách khác, biên dự trữ 1/g g độ lợi tần sồ góc pha –1800 Tương tự, pha dự trữ khác biệt góc pha đáp ứng –1800 độ lợi Tần số mà biên độ gọi tần số độ lợi đơn vị (unity-gain frequency) tần số cắt margin(num,den) tính biên dự trữ pha dự trữ hàm truyền liên tục: G(s) = num/den Tương tự, margin(a,b,c,d) tính độ dự trữ hệ không gian trạng thái (a,b,c,d) Với cách này, lệnh margin sử dụng cho hệ liên tục Đối với hệ gián đoạn, ta sử dụng lệnh dbode để tìm đáp ứng tần số gọi margin [mag,phase,w] = dbode(a,b,c,d,Ts) margin(mag,phase,w) [Gm,Pm,Wcp,Wcg] = margin(mag,phase,w) không vẽ đồ thị đáp ứng mà tạo ma trận biên dự trữ Gm, pha dự trữ Pm, tần số kết hợp Wcp, Wcg cho vector biên độ mag, phase tần số w hệ thống Các giá trị xác tìm cách dùng phép nội suy điểm tần số Góc pha tính độ d) Ví dụ: Tìm biên dự trữ, pha dự trữ vẽ giản đồ Bode hệ bậc có ωn = vaø ζ = 0.2 [a,b,c,d] = ord(1,0.2); bode(a,b,c,d) margin(a,b,c,d) [Gm,Pm,Wcp,Wcg] = margin(a,b,c,d) ta kết quả: Gm = lnf(∞) Pm = 32.8599 độ Wcg = NaN (không xác định) Thực hiện: PHẠM QUỐC TRƯỜNG - 19 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động Wcp = 1.3565 Giản đồ Bode hệ: 12 Lệnh SIGMA a) Công dụng: Tìm giản đồ Bode giá trị suy biến hệ không gian trạng thái b) Cú pháp: [sv,w] = sigma(a,b,c,d) [sv,w] = sigma(a,b,c,d,‘inv’) [sv,w] = sigma(a,b,c,d,w) [sv,w] = sigma(a,b,c,d,w,‘inv’) c) Giaûi thích: Lệnh sigma tính giá trị suy biến ma trận phức C(jωI-A)-1B+D theo hàm tần số ω Các giá trị suy biến mở rộng đáp ứng biên độ giản đồ Bode hệ MIMO Nếu bỏ qua đối số vế trái dòng lệnh sigma vẽ giản đồ Bode giá trị suy biến hình [sv,w] = sigma(a,b,c,d) vẽ giản đồ suy biến ma trận phức: G(w) = C(jωI-A)-1B+D theo hàm tần số Trục tần số chọn tự động phối hợp nhiều điểm đồ thị thay điểm nhanh Đối với ma trận vuông, sigma(a,b,c,d,‘inv’) vẽ đồ thị giá trị suy biến ma trận phức đảo: G-1(w) = [C(jωI-A)-1B+D]-1 Thực hiện: PHẠM QUỐC TRƯỜNG - 20 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động sigma(a,b,c,d,w) sigma(a,b,c,d,w,‘inv’) vẽ đồ thị giá trị suy biến với vector tần số người sử dụng xác định Vector w tần số (tính rad/s) mà đáp ứng giá trị suy biến tính Nếu giữ lại đối số vế trái dòng lệnh thì: [sv,w] = sigma(a,b,c,d) [sv,w] = sigma(a,b,c,d,‘inv’) [sv,w] = sigma(a,b,c,d,w) [sv,w] = sigma(a,b,c,d,w,‘inv’) không vẽ đồ thị đáp ứng mà tạo ma trận suy biến theo chiều giảm dần bậc tương ứng với điểm tần số vector w Đối với phép phân tích rắn chắc, giá trị suy biến ma trận hàm truyền đặc biệt phân tích Về thực lệnh để đạt ma trận hàm truyền mong muốn số khối trình bày bảng sau: Ma trận hàm truyền Sơ đồ khối Lệnh G(s) G(jω) sigma(a,b,c,d) -1 G (s) G-1(jω) sigma(a,b,c,d,‘inv’) G(s) [a,b,c,d] = parallel(a,b,c,d,[ ],[ ],[ ],eye(d)) sigma(a,b,c,d) [a,b,c,d] = feedback([ ],[ ],[ ],eye(d),a,b,c,d) sigma(a,b,c,d,‘inv’) G(s) 1+G(jω) G-1(s) [a,b,c,d] = feedback(a,b,c,d,[ ],[ ],[ ],eye(d)) sigma(a,b,c,d) -1 1+G (jω) Đáp ứng giá trị suy biến hệ SISO tương đương với đáp ứng biên độ giản đồ Bode hệ d) Ví dụ: Xét hệ bậc có ωn = ζ = 0.2 Vẽ đồ thị giá trị suy biến hệ thống Thực hiện: PHẠM QUỐC TRƯỜNG - 21 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động [a,b,c,d] = ord(1,0.2); margin(a,b,c,d) title(‘Gia tri suy bien’) ta đáp ứng hình vẽ: 13 Lệnh DSIGMA a) Công dụng: Tìm giản đồ Bode giá trị suy biến hệ không gian trạng thái b) Cú pháp: [sv,w]= dsigma(a,b,c,d,Ts) [sv,w]= dsigma(a,b,c,d,Ts,‘inv’) [sv,w]= dsigma(a,b,c,d,Ts,w) [sv,w]= dsigma(a,b,c,d,Ts,w,'inv') c) Giải thích: Lệnh dsigma tính giá trị suy biến ma trận phức C(ejωTI-A)-1+B+D theo hàm tần số ω Các gia trị suy biến mở rộng đáp ứng biên độ giản đồ Bode hệ MIMO dùng để xác định độ rắn hệ thống Nếu bỏ qua đối số vế trái dòng lệnh dsigma vẽ giản đồ Bode giá trị suy biến hình dsigma(a,b,c,d,Ts) vẽ giản đồ suy biến ma trận phức : G(w) = C(ejωTI-A)-1+B+D Thực hiện: PHẠM QUỐC TRƯỜNG - 22 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động theo hàm tần số Các điểm tần số chọn tự động khoảng từ tới π/Ts rad/sec π/Ts rad/sec tương ứng với nửa tần số lấy mẫu (tần số Nyquist) Nếu đồ thị thay đổi nhanh cần chọn nhiều điểm tần số Đối với hệ thống có ma trận vuông, dsigma(a,b,c,d,Ts,‘inv’) vẽ đồ thị giá trị suy biến ma trận phức đảo : G-1(w) = [C(ejωTI-A)-1B+D]-1 dsigma(a,b,c,d,Ts,w) dsigma(a,b,c,d,Ts,‘inv’) vẽ đồ thị giá trị suy biến với vector tần số người sử dụng xác định Vector w tần số (tính rad/sec) mà đáp ứng giá trị suy biến tính Hiện tượng trùng phổ xảy tần số lớn tần số Nyquist (π/Ts rad/sec) Để tạo vector tần số chia theo logarit tần số ta dùng lệnh logspace Nếu giữ lại đối số vế trái dòng lệnh : [sv,w]= dsigma(a,b,c,d,Ts) [sv,w]= dsigma(a,b,c,d,Ts,‘inv’) [sv,w]= dsigma(a,b,c,d,Ts,w) [sv,w]= dsigma(a,b,c,d,Ts,w,‘inv’) không vẽ đồ thị đáp ứng mà tạo giá trị suy biến sv điểm tần số w Mỗi hàng ma trận sv chứa giá trị suy biến theo chiều giảm dần bậc tương ứng với điểm tần số vector w Đối với phép phân tích rắn chắc, giá trị suy biến ma trận hàm truyền đặc biệt phân tích Việc thực lệnh để đạt ma trận hàm truyền mong muốn số khối trình bày bảng sau : Ma trận hàm truyền Sơ đồ khối Lệnh G(s) G(jω) dsigma(a,b,c,d) G-1(s) G-1(jω) Thực hiện: PHẠM QUỐC TRƯỜNG dsigma(a,b,c,d, ‘inv’) - 23 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động G(s) G(s) [a,b,c,d]= parallel(a,b,c,d,[ ],[ ],[ ],eye(d)) dsigma(a,b,c,d) [a,b,c,d]=feedback([ ],[ ],[ ],eye(d),a,b,c,d) dsigma(a,b,c,d,‘inv’) 1+ G(jω) G-1(s) [a,b,c,d]= feedback(a,b,c,d,[ ],[ ],[ ],eye(d)) dsigma(a,b,c,d) -1 1+G (jω) Đáp ứng giá trị suy biến hệ SISO tương đương với đáp ứng biên độ giản đồ Bode hệ d) Ví dụ: Xét hệ bậc có ωn = ζ = 0.2 Vẽ đồ thị giá trị suy biến hệ thống với thời gian lấy mẫu Ts = 0.1 [a,b,c,d]= ord2(1,0.2); bode(a,b,c,d) dsigma(a,b,c,d,0.1) title('Gia tri suy bien gian doan') ta có giản đồ Bode giá trị suy biến : Thực hiện: PHẠM QUỐC TRƯỜNG - 24 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động 14 Lệnh LTIFR a) Công dụng: Đáp ứng tần số hệ tuyến tính bất biến b) Cú pháp: ltifr(a,b,s) c) Giải thích: Lệnh ltifr dùng để mở rộng đáp ứng tần số hệ không gian trạng thái tuyến tính bất biến G = Ltifr(a,b,s) tìm đáp ứng tần số hệ thống với ngõ vào : G(s) = (sI – A)-1B Vector s số phức mà đáp ứng tần số xác định Đối với đáp ứng giản đồ Bode hệ liên tục, s nằm trục ảo Đối với đáp ứng giản đồ Bode hệ gián đoạn, s nhận giá trị quanh vòng tròn đơn vị ltifr tạo đáp ứng tần số dạng ma trận phức G với số cột số trạng thái hay số hàng ma trận A có số hàng length(s) Thực hiện: PHẠM QUỐC TRƯỜNG - 25 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động CÁC BÀI TẬP VỀ ĐÁP ỨNG TẦN SỐ Bài 1: hàm margin (bài tập trích từ trang 11-138 sách ‘Control System Toollbox’ » hd=tf([0.04798 0.0464],[1 -1.81 0.9048],0.1) Transfer function: 0.04798 z + 0.0464 z^2 - 1.81 z + 0.9048 Sampling time: 0.1 ; Thời gian lấy mẫu: 0,1 » [Gm,Pm,Wcg,Wcp]=margin(hd); » [Gm,Pm,Wcg,Wcp] ans = 2.0517 13.5712 5.4374 4.3544 » margin(hd) Keát quả: Thực hiện: PHẠM QUỐC TRƯỜNG - 26 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động B ode Diagram s Gm = 6.2424 dB (at 5.4374 rad/s ec ), P m = 13.571 deg (at 4.3544 rad/sec) 20 P hase (deg); M agnitude (dB ) -20 -40 -60 -80 -100 -200 -300 10 Frequenc y (rad/s ec ) Baøi 2: lệnh modred (bài tập trích từ trang 11-142 sách ‘Control System Toollbox’ h( s ) = s3 + 11s + 36 s + 26 s + 14,6 s3 + 74,96s + 153,7 s + 99,65 » h=tf([1 11 36 26],[1 14.6 74.96 153.7 99.65]) Transfer function: s^3 + 11 s^2 + 36 s + 26 -s^4 + 14.6 s^3 + 74.96 s^2 + 153.7 s + 99.65 » [hb,g]=balreal(h) a= x1 x1 -3.6014 x2 x3 x4 -0.82121 -0.61634 -0.058315 Thực hiện: PHẠM QUỐC TRƯỜNG - 27 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động x2 x3 x4 b= 0.82121 -0.59297 -1.0273 -0.090334 -0.61634 1.0273 -5.9138 -1.1272 0.058315 -0.090334 1.1272 -4.4918 x1 x2 x3 x4 u1 1.002 -0.10641 0.086124 -0.0081117 y1 x1 1.002 y1 u1 c= x2 x3 x4 0.10641 0.086124 0.0081117 d= Continuous-time model g= 0.1394 0.0095 0.0006 0.0000 » g' ans = 0.1394 0.0095 0.0006 0.0000 » hmdc=modred(hb,2:4,'mdc') a= x1 x1 -4.6552 Thực hiện: PHẠM QUỐC TRƯỜNG - 28 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động b= x1 u1 1.1392 y1 x1 1.1392 y1 u1 -0.017857 c= d= Continuous-time model » hdel=modred(hb,2:4,'del') a= x1 x1 -3.6014 x1 u1 1.002 y1 x1 1.002 y1 u1 b= c= d= Continuous-time model » bode(h,'-',hmdc,'x',hdel,'*') Thực hiện: PHẠM QUỐC TRƯỜNG - 29 - GVHD: PHAÏM QUANG HUY ...Khảo sát ứng dụng MATLAB điều khiển tự động dnichols(a,b,c,d,Ts) vẽ chuỗi biểu đồ Nichols, đồ thị tương ứng với mối... thống có hàm truyền: Thực hiện: PHẠM QUỐC TRƯỜNG - 16 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động H ( z) = 1.5 z + 1.1z + 1.36 z + 0.88 z + 0.31 num = 1.5; den = [1 1.1... số vòng kín hệ thống Thực hiện: PHẠM QUỐC TRƯỜNG - 17 - GVHD: PHẠM QUANG HUY Khảo sát ứng dụng MATLAB điều khiển tự động ngrid tạo lưới vùng có biên độ từ –40 dB tới 40 dB góc pha từ -3600 tới

Ngày đăng: 11/05/2021, 04:02

Xem thêm:

TÀI LIỆU CÙNG NGƯỜI DÙNG

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN