MÔ PHỎNG HỆ THỐNG ĐTCS VÀ TĐĐ BẰNG
MATLAB & SIMULINK
XIII.1. Mở đầu
Mục tiêu:
• Cơ sở về Matlab
• Dữ liệu, quản lý dữ liệu và đồ hoạ trong Matlab
• Cơ sở về Simulink
• Các lựa chọn khi mô phỏng hệ thống bằng Simulink
• Mô phỏng các hệ thống ĐTCS trong Simulink
• Mô phỏng các hệ thống TĐĐ trong Simulink
• Xây dựng mô hình bằng Simulink
Tập hợp các bộ công cụ hỗ
trợ và thư viện
XIII.2. Cơ sở về Matlab
MATLAB
Các bộ công cụ hỗ trợ:
• Hệ thống điều khiển
• Xử lý tín hiệu
• Tối ưu hoá - nhận dạng
• Các hệ thống biến đổi
công suất
• Công cụ thời gian thực
• Simulink
• .....
XIII.2. Cơ sở về Matlab
Command Window
Cửa sổ nhật ký các
lệnh đã sử dụng
Nội dung của thư mục
hiện tại
XIII.2. Cơ sở về Matlab – Các khai báo, định dạng trong Matlab
Các ký hiệu:
• „ = “ Gán giá trị cho biến
• „ +, -, *, /, ^ “: Các phép tính
• „ ; “: Kết thúc việc nhập giá trị, gán tham số, kết thúc 1 hàng trong thủ
tục khai báo ma trận
• „ inf “: Vô cùng (dùng để loại bỏ thành phần tụ C trong nhánh RLC)
• „ i, j “: Các toán tử ảo (số phức)
• ...
XIII.2. Cơ sở về Matlab – Các khai báo, định dạng trong Matlab
Các hàm toán:
• sqrt(x): Căn bậc 2
• exp(x): Hàm mũ cơ số e
• log(x): logarit tự nhiên
• abs(x): Giá trị tuyệt đối
• real(x): Lấy phần thực
• imag(x): Lấy phần ảo
• phase(x): Góc pha của số phức
• rem(x,y): lấy số dư của x/y
• round(x): Làm tròn số
• ceil(x): Làm tròn lên trên
• floor(x): Làm tròn xuống
• sum(x): Tổng các phần tử vector
• prod(v): Tích các phần tử vector
• min(v): Phần tử vector bé nhất
• max(v): Phần tử vector lớn nhất
• mean(v): Trung bình cộng
• Và các hàm lượng giác
XIII.2. Cơ sở về Matlab – Các khai báo, định dạng trong Matlab
Khai báo ma trận:
• [x1 x2...;x3 x4....]
• X=[start:increment:destination]
• linspace(start,destination,nmr)
• logspace(start,destination,nmr)
• eye(x): Tạo ma trận đơn vị
• ones(l,c): Ma trận 1
• zeros(l,c): Ma trận 0
• rand(l,c): Ma trận ngẫu nhiên
Các phép toán với ma trận
• .* , ./ , .^ : Các phép toán với phần tử
của ma trận
• transpose(X): Chuyển vị MT
• inv(X): Đảo MT
• det(X): Tích định thức của MT
• eig(X): Tính các giá trị riêng của MT
• rank(X): Tính hạng của MT
• diff(vector): Sai phân vector
• conv(vector1,vector2): Nhân đa thức
XIII.3 m.file trong Matlab
Khái niệm:
• m.file trong Matlab là một chuỗi các lệnh được lưu trong dữ liệu với phần
mở rộng là .m
Phân loại m-file trong Matlab:
• script file: Là một chuỗi các lệnh dùng để giải quyết các bài toán về thiết
kế và phân tích.
• function file: Là 1 dạng m-file dùng để tạo ra các hàm số mới mà Matlab
chưa có. Các biến được khai báo và tính toán trong m-file function là biến
cục bộ. Tuy nhiên các tham số (argument) thì có thể nhập hoặc xuất từ m-
file.
XIII.3 m.file trong Matlab – các ví dụ minh hoạ
Ví dụ về script m-file: Ví dụ 1
Cho số phức z được xác định như sau:
Hãy tính toán và biểu diễn z dưới dạng:
• Số phức rectangular: a + jb
• Biên độ và góc pha
Lưu chương trình dưới tên: example_1 và thực hiện
XIII.3 m.file trong Matlab – các ví dụ minh hoạ
Cú pháp của function m-file:
function variable(s) = function_name (arguments)
% help text in the usage of the function
%
.
.
end
XIII.3 m.file trong Matlab – các ví dụ minh hoạ
Ví dụ về function m-file:
• Ví dụ 2: Viết hàm tính giá trị điện trở tương đương của n điện trở nối tiếp,
sau đó lưu dưới tên: eqv_rs.m
• Trong Matlab kiểm tra với: a=[1 3 5 7 9];
• Rrs=eqv_rs(s)
XIII.3 m.file trong Matlab – các ví dụ minh hoạ
Ví dụ về function m-file:
• Ví dụ 3: Viết hàm giải phương trình: ax2 + bx + c
• Lưu tên chương trình: rt_quad.m
• Chạy thử trên Matlab, giải các phương trình sau:
(a) x2 + 3x + 2 = 0
(b) x2 + 2x + 1 = 0
(c) x2 -2x +3 = 0
XIII.3 m.file trong Matlab – các ví dụ minh hoạ
Ví dụ về function m-file:
• Ví dụ 4: Viết hàm khảo sát quá trình quá độ trong mạch RC
• Lưu tên chương trình: RC_analysis.m với các tham số:
• R = 1 kOhm
• R = 10 kOhm
• R = 0.1 kOhm
XIII.4 Thiết kế mô hình và hệ thống ĐK bằng Matlab
4. Hardware in the loop
MH thời gian
thực
Môi trường
phần cứng
Mô hình
Off-line
Mô hình
Off-line
1. Mô phỏng offline
2. Thử nghiệm thuật toán
Đối tượng
thực
Môi trường thời
gian thực
3. Software in the loop
Mô hình Off-
line
Mô phỏng trên
mạch vi ĐK
XIII.5 Thiết kế hệ thống trên nền Matlab-Simulink với DSP
MATLAB
MLIB MTRACE
SIMULINK
Real-Time
Workshop
C-Coded Model
Real-Time
Interface
C Program for
dSPACE Hardware
C Compiler
Object Code
Loader
Controlled
System
Debugger
TextIO
COCKPIT
RealMotion
TRACE
Recorded Data
Parameters
Variables
Parameters
Parameters
Variables
User Host
Programms
CLIB

Mo phong bang Matlab-Simulinhk_P1.ppt

  • 1.
    MÔ PHỎNG HỆTHỐNG ĐTCS VÀ TĐĐ BẰNG MATLAB & SIMULINK
  • 2.
    XIII.1. Mở đầu Mụctiêu: • Cơ sở về Matlab • Dữ liệu, quản lý dữ liệu và đồ hoạ trong Matlab • Cơ sở về Simulink • Các lựa chọn khi mô phỏng hệ thống bằng Simulink • Mô phỏng các hệ thống ĐTCS trong Simulink • Mô phỏng các hệ thống TĐĐ trong Simulink • Xây dựng mô hình bằng Simulink
  • 3.
    Tập hợp cácbộ công cụ hỗ trợ và thư viện XIII.2. Cơ sở về Matlab MATLAB Các bộ công cụ hỗ trợ: • Hệ thống điều khiển • Xử lý tín hiệu • Tối ưu hoá - nhận dạng • Các hệ thống biến đổi công suất • Công cụ thời gian thực • Simulink • .....
  • 4.
    XIII.2. Cơ sởvề Matlab Command Window Cửa sổ nhật ký các lệnh đã sử dụng Nội dung của thư mục hiện tại
  • 5.
    XIII.2. Cơ sởvề Matlab – Các khai báo, định dạng trong Matlab Các ký hiệu: • „ = “ Gán giá trị cho biến • „ +, -, *, /, ^ “: Các phép tính • „ ; “: Kết thúc việc nhập giá trị, gán tham số, kết thúc 1 hàng trong thủ tục khai báo ma trận • „ inf “: Vô cùng (dùng để loại bỏ thành phần tụ C trong nhánh RLC) • „ i, j “: Các toán tử ảo (số phức) • ...
  • 6.
    XIII.2. Cơ sởvề Matlab – Các khai báo, định dạng trong Matlab Các hàm toán: • sqrt(x): Căn bậc 2 • exp(x): Hàm mũ cơ số e • log(x): logarit tự nhiên • abs(x): Giá trị tuyệt đối • real(x): Lấy phần thực • imag(x): Lấy phần ảo • phase(x): Góc pha của số phức • rem(x,y): lấy số dư của x/y • round(x): Làm tròn số • ceil(x): Làm tròn lên trên • floor(x): Làm tròn xuống • sum(x): Tổng các phần tử vector • prod(v): Tích các phần tử vector • min(v): Phần tử vector bé nhất • max(v): Phần tử vector lớn nhất • mean(v): Trung bình cộng • Và các hàm lượng giác
  • 7.
    XIII.2. Cơ sởvề Matlab – Các khai báo, định dạng trong Matlab Khai báo ma trận: • [x1 x2...;x3 x4....] • X=[start:increment:destination] • linspace(start,destination,nmr) • logspace(start,destination,nmr) • eye(x): Tạo ma trận đơn vị • ones(l,c): Ma trận 1 • zeros(l,c): Ma trận 0 • rand(l,c): Ma trận ngẫu nhiên Các phép toán với ma trận • .* , ./ , .^ : Các phép toán với phần tử của ma trận • transpose(X): Chuyển vị MT • inv(X): Đảo MT • det(X): Tích định thức của MT • eig(X): Tính các giá trị riêng của MT • rank(X): Tính hạng của MT • diff(vector): Sai phân vector • conv(vector1,vector2): Nhân đa thức
  • 8.
    XIII.3 m.file trongMatlab Khái niệm: • m.file trong Matlab là một chuỗi các lệnh được lưu trong dữ liệu với phần mở rộng là .m Phân loại m-file trong Matlab: • script file: Là một chuỗi các lệnh dùng để giải quyết các bài toán về thiết kế và phân tích. • function file: Là 1 dạng m-file dùng để tạo ra các hàm số mới mà Matlab chưa có. Các biến được khai báo và tính toán trong m-file function là biến cục bộ. Tuy nhiên các tham số (argument) thì có thể nhập hoặc xuất từ m- file.
  • 9.
    XIII.3 m.file trongMatlab – các ví dụ minh hoạ Ví dụ về script m-file: Ví dụ 1 Cho số phức z được xác định như sau: Hãy tính toán và biểu diễn z dưới dạng: • Số phức rectangular: a + jb • Biên độ và góc pha Lưu chương trình dưới tên: example_1 và thực hiện
  • 10.
    XIII.3 m.file trongMatlab – các ví dụ minh hoạ Cú pháp của function m-file: function variable(s) = function_name (arguments) % help text in the usage of the function % . . end
  • 11.
    XIII.3 m.file trongMatlab – các ví dụ minh hoạ Ví dụ về function m-file: • Ví dụ 2: Viết hàm tính giá trị điện trở tương đương của n điện trở nối tiếp, sau đó lưu dưới tên: eqv_rs.m • Trong Matlab kiểm tra với: a=[1 3 5 7 9]; • Rrs=eqv_rs(s)
  • 12.
    XIII.3 m.file trongMatlab – các ví dụ minh hoạ Ví dụ về function m-file: • Ví dụ 3: Viết hàm giải phương trình: ax2 + bx + c • Lưu tên chương trình: rt_quad.m • Chạy thử trên Matlab, giải các phương trình sau: (a) x2 + 3x + 2 = 0 (b) x2 + 2x + 1 = 0 (c) x2 -2x +3 = 0
  • 13.
    XIII.3 m.file trongMatlab – các ví dụ minh hoạ Ví dụ về function m-file: • Ví dụ 4: Viết hàm khảo sát quá trình quá độ trong mạch RC • Lưu tên chương trình: RC_analysis.m với các tham số: • R = 1 kOhm • R = 10 kOhm • R = 0.1 kOhm
  • 14.
    XIII.4 Thiết kếmô hình và hệ thống ĐK bằng Matlab 4. Hardware in the loop MH thời gian thực Môi trường phần cứng Mô hình Off-line Mô hình Off-line 1. Mô phỏng offline 2. Thử nghiệm thuật toán Đối tượng thực Môi trường thời gian thực 3. Software in the loop Mô hình Off- line Mô phỏng trên mạch vi ĐK
  • 15.
    XIII.5 Thiết kếhệ thống trên nền Matlab-Simulink với DSP MATLAB MLIB MTRACE SIMULINK Real-Time Workshop C-Coded Model Real-Time Interface C Program for dSPACE Hardware C Compiler Object Code Loader Controlled System Debugger TextIO COCKPIT RealMotion TRACE Recorded Data Parameters Variables Parameters Parameters Variables User Host Programms CLIB