Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 60 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
60
Dung lượng
1,65 MB
Nội dung
Khảo sát ứng dụng MATLAB điều khiển tự động NHÓMLỆNHVỀĐÁPỨNGTẦNSỐ(FrequencyResponse)Lệnh BODE a) Cơng dụng: Tìm vẽđápứngtầnsố giản đồ Bode b) Cú pháp: [mag,phase,w] = bode(a,b,c,d) [mag,phase,w] = bode(a,b,c,d,iu) [mag,phase,w] = bode(a,b,c,d,iu,w) [mag,phase,w] = bode(num,den) [mag,phase,w] = bode(num,den,w) c) Giải thích: Lệnh bode tìm đápứngtầnsố biên độ pha hệ liên tục LTI Giản đồ Bode dùng để phân tích đặc điểm hệ thống bao gồm: biên dự trữ, pha dự trữ, độ lợi DC, băng thông, khả miễn nhiễu tính ổn định Nếu bỏ qua đối sốvế trái dòng lệnhlệnh bode vẽ giản đồ Bode hình bode(a,b,c,d) vẽ chuỗi giản đồ Bode, giản đồ tương ứng với ngõ vào hệ không gian trạng thái liên tục: x Ax Bu y = Cx + Du với trục tầnsố xác định tự động Nếu đápứng thay đổi nhanh cần phải xác định nhiều điểm bode(a,b,c,d,iu) vẽ giản đồ Bode từ ngõ vào iu tới tất ngõ hệ thống với trục tầnsố 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 giản đồ Bode bode(num,den) vẽ giản đồ Bode hàm truyền đa thức hệ liên tục G(s) = num(s)/den(s) num den chứa hệ số đa thức theo chiều giảm dần số mũ s bode(a,b,c,d,iu,w) hay bode(num,den,w) vẽ giản đồ Bode với vector tầnsố w người sử dụng xác định Vector w điểm tầnsố (tính rad/s) mà đápứngtầnsố giản đồ Bode tính Nếu giữ lại đối sốvế trái dòng lệnh thì: [mag,phase,w] = bode(a,b,c,d) [mag,phase,w] = bode(a,b,c,d,iu) [mag,phase,w] = bode(a,b,c,d,iu,w) [mag,phase,w] = bode(num,den) [mag,phase,w] = bode(num,den,w) Khảo sát ứng dụng MATLAB điều khiển tự động Sẽ không vẽ giản đồ Bode mà tạo ma trận đápứngtầnsố mag, phase w hệ thống Ma trận mag phase có số cột số ngõ hàng ứng với thành phần vector w G(s) = C(sI –A)-1B + D mag() = G(j) phase() = G(j) Góc pha tính độ Giá trị biên độ chuyển thành decibel theo biểu thức: magdB = 20*log10(mag) Chúng ta dùng lệnh fbode thay cho lệnh bode hệ thống chéo Nó sử dụng thuật giải nhanh dựa chéo hóa ma trận hệ thống A d) Ví dụ: Vẽđápứng biên độ pha hệ bậc với tầnsố tự nhiên n= hệ số tắt dần = 0.2 [a,b,c,d] = ord2(1,0.2); bode(a,b,c,d) grid on ta giản đồ Bode đápứngtầnsố hệ thống sau: Bode Diagrams Phase (deg); Magnitude (dB) 10 20 30 40 50 100 150 1 10 10 Frequency (rad/sec) Lệnh FBODE a) Công dụng: Vẽđápứngtầnsố giản đồ Bode cho hệ tuyến tính liên tục 10 Khảo sát ứng dụng MATLAB điều khiển tự động b) Cú pháp: [mag,phase,w] = fbode(a,b,c,d) [mag,phase,w] = fbode(a,b,c,d,iu) [mag,phase,w] = fbode(a,b,c,d,iu,w) [mag,phase,w] = fbode(num,den) [mag,phase,w] = fbode(num,den,w) c) Giải thích: Lệnh fbode tìm nhanh đápứngtầnsố biên độ pha hệ liên tục LTI Nếu bỏ qua đối sốvế trái dòng lệnhlệnh fbode vẽ giản đồ Bode hình fbode(a,b,c,d) vẽ chuỗi giản đồ Bode, giản đồ tương ứng với ngõ vào hệ không gian trạng thái liên tục: x Ax Bu y = Cx + Du với trục tầnsố xác định tự động Nếu đápứng thay đổi nhanh cần phải xác định nhiều điểm fbode(a,b,c,d,iu) vẽ giản đồ Bode từ ngõ vào iu tới tất ngõ hệ thống với trục tầnsố xác định tự động iu số ngõ vào hệ thống ngõ vào sử dụng cho đápứng giản đồ Bode fbode nhanh xác bode fbode(num,den) vẽ giản đồ Bode hàm truyền đa thức hệ liên tục G(s) = num(s)/den(s) num den chứa hệ số đa thức theo chiều giảm dần số mũ s fbode(a,b,c,d,iu,w) hay fbode(num,den,w) vẽ giản đồ Bode với vector tầnsố w người sử dụng xác định Vector w điểm tầnsố (tính rad/s) mà đápứngtầnsố giản đồ Bode tính Nếu giữ lại đối sốvế trái dòng lệnh thì: [mag,phase,w] = fbode(a,b,c,d) [mag,phase,w] = fbode(a,b,c,d,iu) [mag,phase,w] = fbode(a,b,c,d,iu,w) [mag,phase,w] = fbode(num,den) [mag,phase,w] = fbode(num,den,w) không vẽ giản đồ Bode mà tạo ma trận đápứngtầnsố mag, phase w hệ thống Ma trận mag phase có số cột số ngõ có số hàng length(w) d) Ví dụ: Vẽđápứng biên độ pha hệ bậc với tầnsố tự nhiên n= hệ số tắt dần = 0.2 [a,b,c,d] = ord2(1,0.2); fbode(a,b,c,d); grid on ta đápứng sau: Khảo sát ứng dụng MATLAB điều khiển tự động Bode Diagrams Phase (deg); Magnitude (dB) 10 20 30 40 50 100 150 1 10 10 10 Frequency (rad/sec) Lệnh DBODE a) Công dụng: Tìm vẽđápứngtầnsố giản đồ Bode hệ gián đoạn b) Cú pháp: [mag,phase,w] = dbode(a,b,c,d,Ts) [mag,phase,w] = bode(a,b,c,d,Ts,iu) [mag,phase,w] = bode(a,b,c,d,Ts,iu,w) [mag,phase,w] = bode(num,den,Ts) [mag,phase,w] = bode(num,den,Ts,w) c) Giải thích: Lệnh dbode tìm đápứngtầnsố biên độ pha hệ liên tục LTI Lệnh dbode khác với lệnh freqz mà đápứngtầnsố đạt với tầnsố chưa chuẩn hóa Đápứng có từ dbode so sánh trực tiếp với đápứnglệnh bode hệ thống liên tục tương ứng Nếu bỏ qua đối sốvế trái dòng lệnhlệnh dbode vẽ giản đồ Bode hình dbode(a,b,c,d,Ts) vẽ chuỗi giản đồ Bode, giản đồ tương ứng với ngõ vào hệ không gian trạng thái liên tục: x[n+] = Ax[n] + Bu{n] y[n] = Cx[n] + Du[n] với trục tầnsố xác định tự động Các điểm tầnsố chọn khoảng từ /Ts (rad/sec), /Ts (rad/sec) tương ứng với nửa tầnsố lấy mẫu (tần số Nyquist) Nếu đápứng thay đổi nhanh cần phải xác định nhiều điểm Ts thời gian lấy mẫu Khảo sát ứng dụng MATLAB điều khiển tự động dbode(a,b,c,d,Ts,iu) vẽ giản đồ Bode từ ngõ vào iu tới tất ngõ hệ thống với trục tầnsố 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 giản đồ Bode dbode(num,den,Ts) vẽ giản đồ Bode hàm truyền đa thức hệ liên tục 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 dbode(a,b,c,d,Ts,iu,w) hay dbode(num,den,Ts,w) vẽ giản đồ Bode với vector tầnsố w người sử dụng xác định Vector w điểm tầnsố (tính rad/s) mà đápứngtầnsố giản đồ Bode tính Hiện tượng trùng phổ xảy tầnsố lớn tầnsố Nyquist Nếu giữ lại đối sốvế trái dòng lệnh thì: [mag,phase,w] = dbode(a,b,c,d,Ts) [mag,phase,w] = dbode(a,b,c,d,Ts,iu) [mag,phase,w] = bode(a,b,c,d,Ts,iu,w) [mag,phase,w] = bode(num,den,Ts) [mag,phase,w] = bode(num,den,Ts,w) không vẽ giản đồ Bode mà tạo ma trận đápứngtầnsố mag, phase w hệ thống tính giá trị tầnsố w Ma trận mag phase có số cột số ngõ hàng ứng với thành phần vector w G(z) = C(zI –A)-1B + D mag() = G(ejT) phase() = G(ejT) T thời gian lấy mẫu Góc pha tính độ Giá trị biên độ chuyển thành decibel theo biểu thức: magdB = 20*log10(mag) d) Ví dụ: Vẽđápứng giản đồ Bode hệ thống có hàm truyền sau: z 3.4 z 1.5 H ( z) z 1.6 s 0.8 với thời gian lấy mẫu Ts = 0.1 num = [2 -3.4 1.5]; den = [1 -1.6 0.8]; dbode(num,den,0.1); grid on ta đápứngtầnsố giản đồ Bode hệ gián đoạn sau: Khảo sát ứng dụng MATLAB điều khiển tự động Bode Diagrams Phase (deg); Magnitude (dB) 20 10 10 100 50 50 1 10 10 10 10 Frequency (rad/sec) Lệnh FREQS a) Công dụng: Tìm đápứngtầnsố phép biến đổi Laplace b) Cú pháp: h = freqs(b,a,w) [h,w] = freqs(b,a) [h,w] = freqs(b,a,n) freqs(b,a) c) Giải thích: Lệnh freqs trở thành đápứngtầnsố H(j) lọc analog B ( s ) b(1) s nb b(2) s nb b(nb 1) H (s) A( s ) a (1) s na a (2) s na a (na 1) vector b a chứa hệ số tử số mẫu số h = freqs(b,a,w) tạo vector đápứngtầnsố phức lọc analog định hệ số vector b a Lệnh freqs tìm đápứngtầnsố mặt phẳng phức thời điểm tầnsố hcỉ định vector w [h,w] = freqs(b,a) tự động chọn 200 điểm tầnsố vector w để tính vector đápứngtầnsố h [h,w] = freqs(b,a,n) chọn n điểm tầnsố để tìm vector đápứngtầnsố h Nếu bỏ qua đối số ngõ vế trái lệnh freqs vẽđápứng biên độ pha hình freqs dùng cho hệ thống có ngõ vào thực tầnsố dương d) Ví dụ: Khảo sát ứng dụng MATLAB điều khiển tự động Tìm vẽđápứngtầnsố hệ thống có hàm truyền: 0.2 s 0.3s H (s) s 0.4 s % Khai báo hàm truyền: a = [1 0.4 1]; b = [0.2 0.3 1]; % Xác định trục tần số: w = logspace(-1,1); % Thực vẽ đồ thị: freqs(b,a,w) Magnitude 10 10 1 10 1 10 10 Frequency (radians) 10 Phase (degrees) 50 100 150 1 10 10 Frequency (radians) Lệnh FREQZ a) Công dụng: Tìm đápứngtầnsố lọc số b) Cú pháp: [h,w] = freqz(b,a,n) [h,f] = freqz(b,a,n,Fs) [h,w] = freqz(b,a,n,‘whole’) [h,f] = freqz(b,a,n,‘whole’,Fs) h = freqz(b,a,w) h = freqz(b,a,f,Fs) freqz(b,a) c) Giải thích: 10 Khảo sát ứng dụng MATLAB điều khiển tự động Lệnh freqz tìm đápứngtầnsố H(e jT) lọc số từ hệ số tử số mẫu số vector b a [h,w] = freqz(b,a,n) tìm đápứngtầnsố lọc số với n điểm B ( z ) b(1) b( 2) z b(nb 1) z nb H ( z) A( z ) a(1) a (2) z a (na 1) z na từ hệ số vector b a freqz tạo vector đápứngtầnsố hồi tiếp vector w chứa n điểm tầnsố freqz xác định đápứngtầnsố n điểm nằm quanh nửa vòng tròn đơn vị, w chứa n điểm [h,f] = freqz(b,a,n,Fs) tầnsố lấy mẫu dương Fs (tính Hz) Nó tạo vector f chứa điểm tầnsố thực Fs/2 mà lệng tính đápứngtầnsố [h,w] = freqz(b,a,n,‘whole’) [h,f] = freqz(b,a,n,‘whole’,Fs) sử dụng nđiểm quanh vòng tròn đơn vị (từ tới 2 từ tới Fs) h = freqz(b,a,w) tạo đápứngtầnsố điểm tầnsố vector w Các điểm tầnsố phải nằm khoảng (0 2) h = freqz(b,a,f,Fs) tạo đápứngtầnsố điểm tầnsố vector f Các điểm tầnsố phải nằm khoảng (0 Fs) Nếu bỏ qua đối số ngõ lệnh freqz vẽđápứng biên độ pha hình Lệnh freqz dùng cho hệ thống có ngõ vào thực phức d) Ví dụ: Vẽđápứng biên độ pha lọc Butter [b,a] = butter(5,0.2); freqz(b,a,128) ta đồ thị đáp ứng: Magnitude Response (dB) Khảo sát ứng dụng MATLAB điều khiển tự động 100 100 200 300 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Normalized frequency (Nyquist == 1) 0.9 0.1 0.2 0.3 0.4 0.5 0.6 0.7 0.8 Normalized frequency (Nyquist == 1) 0.9 Phase (degrees) 100 200 300 400 500 Lệnh NYQUIST a) Công dụng: Vẽ biểu đồ đápứngtầnsố Nyquist b) Cú pháp: [re,im,w] = nyquist(a,b,c,d) [re,im,w] = nyquist(a,b,c,d,iu) [re,im,w] = nyquist(a,b,c,d,iu,w) [re,im,w] = nyquist(num,den) [re,im,w] = nyquist(num,den,w) c) Giải thích: Lệnh nyquist tìm đápừngtầnsố Nyquist hệ liên tục LTI Biểu đồ Nyquist dùng để phân tích đặc điểm hệ thống bao gồm: biên dự trữ, pha dự trữ tính ổn định Nều bỏ qua đối sốvế trái dòng lệnh nyquist vẽ biểu đồ Nyquist hình Lệnh nyquist xác định tính ổn định hệ thống hồi tiếp đơn vị Cho biểu đồ Nyquist hàm truyền vòng hở G(s), hàm truyền vòng kín: G(s) Gcl (s) = G ( s) ổn định biểu đồ Nyquist bao quanh điểm –1+j0 P lần theo chiều kim đồng hồ, P số cực vòng hở khơng ổn định nyquist(a,b,c,d) vẽ chuỗi biểu đồ Nyquist, đồ thị ứng vời mối quan hệ ngõ vào ngõ hệ không gian trạng thái liên tục: Khảo sát ứng dụng MATLAB điều khiển tự động x Ax Bu y = Cx + Du với trục tầnsố xác định tự động Nếu đápứng thay đổi nhanh cần phải xác định nhiều điểm trục tầnsố nyquist(a,b,c,d,iu) vẽ biểu đồ Nyquist từ ngõ vào iu tới tất ngõ hệ thống với trục tầnsố 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 Nyquist nyquist(num,den) vẽ biểu đồ Nyquist hàm truyền đa thức hệ liên tục G(s) = num(s)/den(s) num den chứa hệ số đa thức theo chiều giảm dần số mũ s nyquist(a,b,c,d,iu,w) nyquist(num,den,w) vẽ biểu đồ Nyquist với vector tầnsố w người sử dụng xác định Vector w điểm tầnsố (tính rad/s) mà đápứng Nyquist tính Nếu giữ lại đối sốvế trái dòng lệnh thì: [re,im,w] = nyquist(a,b,c,d) [re,im,w] = nyquist(a,b,c,d,iu) [re,im,w] = nyquist(a,b,c,d,iu,w) [re,im,w] = nyquist(num,den) [re,im,w] = nyquist(num,den,w) không vẽ biểu đồ Nyquist mà tạo đápứngtầnsố hệ thống dạng ma trận re, im w Các ma trận re im có số cột số ngõ hàng ứng với thành phần vector w d) Ví dụ: Vẽ biểu đồ Nyquist hệ thống có hàm truyền: s 5s H (s) s 2s num = [2 1]; den = [1 3]; nyquist(num,den); title(‘Bieu Nyquist’) ta biểu đồ Nyquist hình vẽ: Khảo sát ứng dụng MATLAB điều khiển tự động num den chứa hệ số đa thức theo chiều giảm dần số mũ s dstep(a,b,c,d,iu,n) hay dstep(num,den,n) vẽđápứng nấc hệ không gian trạng thái hay hàm truyền với số điểm lấy mẫu người sử dụng xác định Nếu giữ lại đối sốvế trái dòng lệnh thì: [y,x] = dstep(a,b,c,d) [y,x] = dstep(a,b,c,d,iu) [y,x] = dstep(a,b,c,d,iu) [y,x] = dstep(num,den) [y,x] = dstep(num,den,n) không vẽ đồ thị đápứng mà tạo ma trận đápứng ngõ y ma trận đápứng trạng thái x củahệ thống Ma trận y có số cột số ngõ Ma trận x có số cột số trạng thái d) Ví dụ: Vẽđápứng nấc hệ gián đoạn hệ có hàm truyền sau: z 3.4 z 1.5 H ( z) z 1.6 z 0.8 num = [2 -3.4 1.5]; den = [1 -1.6 0.8]; dstep(num,den) title(‘Dap ung nac he gian doan’) ta đồ thị đápứng nấc hệ hình bên: Lệnh LTITR Khảo sát ứng dụng MATLAB điều khiển tự động a) Công dụng: Tìm đápứng thời gian hệ tuyến tính bất biến b) Cú pháp: ltitr(a,b,u) ltitr(a,b,u,x0) c) Giải thích: Lệnh ltitr dùng để mở rộng đápứng thời gian hệ tuyến tính bất biến Nó mơ cho hệ không gian trạng thái gián đoạn: x = ltitr(a,b,u) mở rộng đápứng hệ gián đoạn: x[n + 1] = Ax[n] + Bu[n] ngõ vào u Ma trận u phải có số cột số ngõ vào u Mỗi hàng ma trận u tương ứng với điểm thời gian ltitr tạo ma trận x với số cột số trạng thái x có số hàng length(u) Nếu thêm vào vế phải dòng lệnh tham số x0 điều kiện ban đầu thiết lập với lệnh x = ltitr(a,b,u,x0) 10 Lệnh FILTER a) Công dụng: Lọc liệu với đápứng xung không xác định hay đápứng xung xác định b) Cú pháp: y = filter(b,a,X) [y,zf] = filter(b,a,X) [y,zf] = filter(b,a,X,zi) y = filter(b,a,X,zi,dim) [ ] = filter(b,a,X,[ ],dim) c) Giải thích: Lệnh fiter lọc liệu sử dụng lọc số cho ngõ vào thực phức y = filter(b,a,X) lọc liệu vector X với lọc mô tả vector hệ số tử số b vector hệ số mẫu số a Nếu a(1) không 1, lọc chuẩn hóa hệ số lọc a(1) Nếu a(1) báo lỗi Nếu X ma trận, lọc thực cột X Nếu X mảng đa chiều, lọc thực theo chiều [y,zf] = filter(b,a,X) tạo ma trận điều kiện cuối zf trễ Ngõ zf vector max(size(a),size(b)) tập hợp vector với vector cột X [y,zf] = filter(b,a,X,zi) chấp nhận điều kiện ban đầu zi tạo điều kiện cuối cuối zf lọc trễ Ngõ vào zi vector có kích thước length(a),length(b)) – y = filter(b,a,X,zi,dim) [ ] = filter(b,a,X,[ ],dim) thực lọc theo chiều dim Khảo sát ứng dụng MATLAB điều khiển tự động CÁC BÀI TẬP VỀĐÁPỨNG THỜI GIAN Bài1: Lệnh pade: Tính tốn xỉ Bài trích từ trang 11-66 sách ‘Control System Toollbox’ » pade(0.1,3) Step response of 3rdorder Pade approximation 1.5 Amplitude 0.5 0.5 1 0.02 0.04 0.06 0.08 0.1 0.12 Time (secs) Phase response 0.14 0.16 0.18 0.2 Phase (deg.) 200 400 600 800 1000 10 10 Frequency (rad/s) Bài 2: Trích từ trang 11-24 sách ‘Control System Toollbox’ s -1 H(s) = s2 + 4s +5 10 Khảo sát ứng dụng MATLAB điều khiển tự động » H=tf([1 -1],[1 5],'inputdelay',035) Transfer function: s-1 exp(-35*s) * s^2 + s + » Hd=c2d(H,0.1,'foh') Transfer function: 0.04226 z^2 - 0.01093 z - 0.03954 z^(-350) * z^2 - 1.629 z + 0.6703 Sampling time: 0.1 » step(H,'-',Hd,' ') Step Response From: U(1) 0.15 0.1 0.05 To: Y(1) Amplitude 0.05 0.1 0.15 0.2 0.25 10 15 20 Time (sec.) Bài 3: Trang 11-127, H(s) = 2s2 + 5s + s2 + 2s + s-1 s2+s+5 25 30 35 40 Khảo sát ứng dụng MATLAB điều khiển tự động » [u,t]=gensig('square',4,10,0.1); » H=[tf([2 1],[1 3]);tf([1 -1],[1 5])]; » lsim(H,u,t) Kết quả: Bài tập trích từ trang 11-127 sách ‘Control System Toolbox’ Linear Simulation Results To: Y(1) Amplitude 1 2 0.4 To: Y(2) 0.2 0.2 0.4 0.6 Time (sec.) Bài 4: Dùng lệnh lsim, trích từ trang 11-130 sách ‘Control Systen Toollbox’ Dịch đề: Vẽđápứng khâu bậc hàm truyền sau: 2 h(s ) s2 + 2s + 2 = 62,83 » w2=62.83^2 w2 = 3.9476e+003 » h=tf(w2,[1 w2]); » t=0:0.1:5; %vector of time sample: » u=(rem(t,1)>=0.5); %square ware value : » lsim(h,u,t) Kết quả: 10 Khảo sát ứng dụng MATLAB điều khiển tự động Linear Simulation Results 1.5 To: Y(1) Amplitude 0.5 0.5 1 0.5 1.5 2.5 Time (sec.) Bài 5: Trang 11-131 sách ‘Control Systen Toollbox’ Ta lấy số liệu 24 thời gian mẫu 0,1 Chương trình: » w2=62.83^2; » hd=c2d(h,0.1); » t=0:0.1:5; %vector of time sample: » u=(rem(t,1)>=0.5); %square ware value : » lsim(hd,u,t) 3.5 4.5 Khảo sát ứng dụng MATLAB điều khiển tự động Linear Simulation Results 0.7 0.6 To: Y(1) Amplitude 0.5 0.4 0.3 0.2 0.1 0 0.5 1.5 2.5 Time (sec.) Bài 6: Trang 11-132 sách ‘Control Systen Toollbox’ Cũng lấy số liệu » w2=62.83^2; » h=tf(w2,[1 w2]); » t=0:0.1:5; %vector of time sample: » u=(rem(t,1)>=0.5); %square ware value : » hd=c2d(h,0.1); » lsim(h,'b ',hd,'r-',u,t) % 3.5 4.5 Khảo sát ứng dụng MATLAB điều khiển tự động Linear Simulation Results 1.5 To: Y(1) Amplitude 0.5 0.5 1 0.5 1.5 2.5 3.5 4.5 Time (sec.) Bài 7: Trích từ trang 46 sách ‘ứng dụng matlab điều khiển tự động’ Phương trình biến trang thái hệ thống tuyến tính bất biến theo thời gian là: Chương trình viết file.m: %function [yout,x] = lsim(A, B, C, D, U, t, x0) %Phuong trinh bien trang thai cua mot he thong tuyen tinh % bat bien theo thoi gian la: % % x1 % x1 % {x2} = { 0 } { x2 } + {1} r(t) % -6 -11 -6 x3 % x3 % % y=[1 0]x, x(0)= 0.5 % -0.5 % Xac dinh x(t),y(t) r(t) la ham bac don vi hold on grid on A=[0 0;0 1;-6 -13 -6]; B=[1;1;1];%xac dinh vi ban dau va hinh dang cua thi x1,y,x2,x3 C=[1 0]; D=0; x0=[1 -.5]; %vecto hang dieu kien ban dau t=0:.05:8; %buoc nhay Khảo sát ứng dụng MATLAB điều khiển tự động U=ones(1,length(t));%tao vecto hang u(t) [x,y]=lsim(A,B,C,D,U,t,x0); plot(t,x,t,y) title('BAI GIAI BT15') xlabel('Thoi gian-giay') text(3.8,1.8,'y'),text(3.8,2.6,'x1');%Canh vi tri cua y va x1 tren thi text(3.8,-0.6,'x2'),text(3.8,-1.4,'x3')%Canh vi tri cua x2 va x3 tren thi BAI GIAI BT15 x1 y x2 1 x3 2 Thoi giangiay Bài 9: trích từ trang 48 sách tác giả Nguyễn Văn Giáp Cũng với yêu cầu 28, r(t)=sin(2t) Chương trình soạn file.m: %function [yout,x] = lsim(A, B, C, D, U, t, x0) %BT16:Ve thi y(t),x(t) cua bai BT15 neu r(t)=sin(2pit) A=[0 0;0 1;-6 -11 -6]; B=[1;1;1];C=[1 0];D=0; x0=[1 -.5]; %vecto hang dieu kien ban dau t=0:.05:4; %buoc nhay r=sin(2*pi*t); [y,x]=lsim(A,B,C,D,r,t,x0); plot(t,x,t,y) title('BAI GIAI BT16') Khảo sát ứng dụng MATLAB điều khiển tự động xlabel('Thoi gian-giay') text(3.8, 1.8,'y'),text(3.8, 2.6,'x1') text(3.8, -8,'x2'),text(3.8, -1.4,'x3') x1 BAI GIAI BT16 y 1.5 0.5 0.5 1 x3 1.5 2 0.5 1.5 2.5 Thoi giangiay 3.5 ài Bài 10: Xét hàm truyền sau: s 10 G( s) s 8s 25 Để tính đápứng bước hệ thống ta dùng cấu trúc sau: [out,state,tt]=step([1 10],[1 25]) Giả sử ta muốn phân tích đápứng bước hệ thống thay đổi, với zero hàm truyền thay đổi độ lợi dc (dc gain) hệ thống không đổi, để giữ lại cho hệ thống mẫu thay đổi hệ sốsố hạng đầu đa thức tử,tức hệ số s, mà dc gain số zero thay đổi Ví dụ : hệ thống ví dụ số hạng ban đầu đa thức tử số thay đổi thành (-4,-2,-1,0,1,2,4) Ta thưc cửa sổlệnhmatlab sau: » coef=[-4 -2 -1 4]; » den=[1 25]; » [y,x,t]=step([coef' 10*ones(length(coef),1)],den); » mesh(coef,t,y) x2 Khảo sát ứng dụng MATLAB điều khiển tự động Kết hình: Hình 3.7: So sánh đápứng step Bài 11: đápứng xung (impulse) Ví dụ hệ thống có hàm truyền sau: G( s) s 10 s 2s 25 Vẽđápứng xung hệ thống: impulse([1 10],[1 25]) Giả sử ta muốn phân tích đápứng xung thay đổi zero hàm truyền thay đổi, không thay đổi dc gain hệ thống giống ví dụ phần trước ta có : » coef=[-4 -2 -1 4]; » den=[1 25]; » impulse([coef' 10*ones(length(coef),1)],den); Khảo sát ứng dụng MATLAB điều khiển tự động Kết hình sau: Bài 12: Trích từ trang 716 sách ‘The Student Edition of MATLAB’ Dịch đề: Thiết kế khâu gồm 10 lọc dãi băng truyền ngang có tầnsố từ 100 đến 200 Hz vẽđápứng xung nó: » n=5;wn=[100 200]/500; » [b,a]=butter(n,wn); » [y,t]=impz(b,a,101); » stem(t,y) Khảo sát ứng dụng MATLAB điều khiển tự động 0.2 0.15 0.1 0.05 0.05 0.1 0.15 0.2 0.25 10 20 30 40 50 60 70 80 90 100 Bài 13: Đápứng ngõ vào Một vấn đề tổng quát ta tính tín hiệu ngõ hệ thống LTI với tính hiệu ngõ vào khơng đồng Ví dụ hệ thống bậc sau: x x u y x Hệ thống bị tác động với tín hiệu ngõ vào hình sin có tầnsố 1Hz, tín hiệu ngõ thu cấu trúc: >> freq=1; t=0:0.05:10; >> u=sin(2*pi*freq*t); lsim(-1,1,1,0,u,t) Khảo sát ứng dụng MATLAB điều khiển tự động Kết hình sau: Hình : Đápứng ngõ vào Khảo sát ứng dụng MATLAB điều khiển tự động ... thích: Lệnh dbode tìm đáp ứng tần số biên độ pha hệ liên tục LTI Lệnh dbode khác với lệnh freqz mà đáp ứng tần số đạt với tần số chưa chuẩn hóa Đáp ứng có từ dbode so sánh trực tiếp với đáp ứng lệnh. .. thích: 10 Khảo sát ứng dụng MATLAB điều khiển tự động Lệnh freqz tìm đáp ứng tần số H(e jT) lọc số từ hệ số tử số mẫu số vector b a [h,w] = freqz(b,a,n) tìm đáp ứng tần số lọc số với n điểm B (... h = freqz(b,a,w) tạo đáp ứng tần số điểm tần số vector w Các điểm tần số phải nằm khoảng (0 2) h = freqz(b,a,f,Fs) tạo đáp ứng tần số điểm tần số vector f Các điểm tần số phải nằm khoảng (0