Phụ lục 1: MÔ TẢ HỆ THỐNG TỰ ĐỘNG DÙNG MATLAB

Giới thiệu về khai báo hàm truyền trong MATLAB

Hiện tại, tôi sử dụng MATLAB 7.0. Để có thể sử dụng tốt và hiểu về ma trận trong MATLAB, tốt nhất bạn nên vào phần Help (F1) → MATLAB → Getting Started → Matrix and Array để xem, hoặc bạn có thể tải về từ trang chủ của MATLAB các nội dung cần thiết để tìm hiểu.

Nội dung chính: Cách khai báo một hàm truyền trong MATLAB

(Bạn có thể tham khảo thêm trong phần Help → Control System Toolbox)

Thường ta dùng bốn cách sau:

  • Dạng hàm truyền (Transfer Function)

  • Dạng zero-cực-độ lợi (Zero-Pole-Gain)

  • Dạng dữ liệu đặc tính tần số (Frequency Response Data)

  • Dạng không gian trạng thái (State-Space)


Tra cứu nhanh lệnh trong MATLAB

matlab
>> doc tf % Hàm truyền
>> doc zpk % Zero-pole-gain
>> doc frd % Frequency response data
>> doc ss % State space

Ví dụ khai báo hàm truyền

G(s) = (s + 5)/(s² + 5s + 6)

matlab
>> g = tf([1 5], [1 5 6])

Hoặc:

matlab
>> ts = [1 5];
>> ms = [1 5 6];
>> g = tf(ts, ms);

Dạng này nên dùng khi tử số và mẫu số là tổng: Σ(a × sⁿ)


Khai báo theo mô hình zpk

Khi hàm truyền là tích của các tổng, dạng:

g(s) = k × ∏(s – zi)/∏(s – pj)

Ví dụ:

matlab
>> z = [-1 -2];
>> p = [-0.1 -5 -6];
>> k = 10;
>> g = zpk(z, p, k);

Kết quả:

markdown
Zero/pole/gain:
10 (s + 1)(s + 2)
---------------------

(s + 0.1)(s + 5)(s + 6)

Khai báo nhanh với tf(‘s’)

matlab
>> s = tf('s');
>> g = 10*(s + 1)/(s^2 + 5*s + 2)/(s + 8);

Kết quả:

php
Transfer function:
(10 s + 10)/(s³ + 13s² + 42s + 16)

Kết nối các hệ thống con

  • Nối tiếp: series(g1, g2) hoặc g1 * g2

  • Song song: parallel(g1, g2) hoặc g1 + g2

  • Hồi tiếp âm: gk = feedback(g, h)

  • Hồi tiếp dương: gk = feedback(g, h, 1)


Thông tin bổ sung

  • Trễ thời gian:

    matlab
    g.iodelay = T;
    g.inputdelay = Ti;
    g.outputdelay = To;
  • Xem các thuộc tính của hàm truyền:

    matlab
    >> get(g)
  • Đơn giản hóa hàm truyền:

    matlab
    >> minreal(g)
  • Lấy zero, cực, độ lợi:

    matlab
    >> zpkdata(g, 'v')
  • Lấy hệ số tử và mẫu:

    matlab
    >> tfdata(g, 'v')

Tham khảo thêm các mô hình LTI:

  • State Space: ss(A, B, C, D)

  • Frequency Response Data: frd(response, frequency)

Lệnh tra cứu:

matlab
>> doc ss
>> doc frd
This entry was posted in Matlab. Bookmark the permalink.

Leave a Reply

This site uses Akismet to reduce spam. Learn how your comment data is processed.