A. Đặt vấn đề
Nhận dạng đối là một trong những bước đầu tiên và quan trọng để thực hiện quá
trình thiết kế điều khiển cho đối tượng. Sau khi thu thập được dữ liệu vào ra theo thời
gian hoặc là phổ tín hiệu của đối tượng nhiệm vụ của việc nhận dạng đối tượng là tìm
mô hình toán học, hàm truyền đạt thích hợp mô tả gần đúng nhất đối tượng thực. Để
dễ dàng cho quá trình nhận dạng thì trong matlab có toolbox : system identification
toolbox để giúp chúng ta thực hiện dễ dàng trực quan , nhanh chóng. Tuy nhiên để sử
dụng tốt công cụ này chúng ta cần phải hiểu rõ các phương pháp nhận dạng, phạm vi
sử dụng và ưu nhược điểm của từng phương pháp cộng với khả năng về phân tích hệ
thống thông qua các đặc tính thu được. Để giúp cho quá trình tìm hiểu về toolbox này
ở đây chúng tôi sẽ giới thiệu cho các bạn các bước làm cơ bản để thực hiện quá trình
nhận dạng. Với mong muốn rằng các bạn có thể sử dụng nó để hiểu được trình tự nhận
dạng trong matlab. Và chúng tôi hy vọng rằng sẽ thực hiện tìm hiểu thật cụ thể về
toolbox này trong thời gian tới.
1
B. Các bước thực hiện nhận dạng bằng system identification toolbox
I. Chuẩn bị dữ liệu để nhận dạng :
1. Dữ liệu được nhập trực tiếp từ cửa sổ matlab
ta nhập giá trị vào u1,y1 rồi lưu nó vào trong file .mat
>>u1= [1.2;1.3;…];
>>y1=[3;6;;..];
>>save identdata u1 y1
2. Dữ liệu lưu trong exel
Để đọc dữ liệu từ trong exel ta dùng lệnh xlsread
A=xlsread(‘path\file.xls’,1,’A1:A10’)
A= xlsread(‘path\file.xls’,2)
A=xlsread(‘path\file.xls’)
Trong đó các đặc tính path\file.xls là đường dẫn đến file exel chứa số liệu mình cần lấy ví
dụ :C:\Documents and Settings\phong\My Documents\identdata.xls
1 có nghĩa là sheet 1 trong exel
A1:A10 mình giới hạn số liệu cần lấy để khảo sát từ A1:A10
Để sử dụng có hiệu quả mình phải biết được đặc điểm của dữ liệu lưu trong exel. Ví dụ như
trong exel với tên file và đường dẫn của nó là : C:\Documents and Settings\phong\My
Documents\identdata.xls
nếu A2:B6 sẽ lấy ra ma trận từ cột A2 đến B6
Để lấy dữ liệu tín hiệu vào ra với cột A là tín hiệu vào u1 và cột B
là tín hiệu ra y1 ta dùng đoạn lệnh
>> X=xlsread('C:\Documents and Settings\phong\My
Documents\identdata.xls',1);
>> u1=X(:,1);
>> y1=X(:,2);
Và để dùng để mô phỏng ta phải lưu giá trị u1,y1 vào file
identdata.mat để sử dụng ta dùng lệnh
>> save identdata u1 y1
3. Nếu dữ liệu lưu trong text
2
C = textscan(fid, 'format')
C = textscan(fid, 'format', N)
C = textscan(fid, 'format', param,
value,...)
C = textscan(fid, 'format', N, param,
value,...)
C = textscan(str, ...)
[C, position] = textscan(...)
Fid là tên file cũng như xlsread ta cần có cả đường dẫn của nó. Phần format thì tham khảo
bảng định dạng dữ liệu sau.
3
Có thể tham khảo các hàm sau : dlmread , dlmwrite, csvread, csvwrite
II. Các loại dữ liệu cho việc mô phỏng
Gõ ident vào workpace của matlab
4
1. Time-DomainData dữ liệu trong miền thời gian
Sau đó vào Import data > Time domain
data
Input : biến vào
Output :biến ra
Data name : là tên là tên file chứa dữ liệu vào/ra
(session.mat)
Starting time : nhập 0 nếu muốn khảo sát tại thời gian
gốc
Sampling interval : khoảng thời gian lấy mẫu.
Sau đó kích vào more trên cửa sổ Import data
Sau đó để đặt thêm tên biến đơn vị biến ta click vào More (đặc tính chung của các quá trình
thực hiện vào dữ liệu)
5
InterSample : Lựa chọn phương pháp chuyển từ liên tục sang rời rạc (zoh, foh,bl )
Period : là thời gian khảo sát.ở đây mình chọn là inf
Channel Names
• Input : nhập tên của tín hiệu vào (ở đây là power)
• Output: nhập tên của tín hiệu ra (ở đây là temperat ure)
Physical Units of Variables (Đơn vị vật lý của các tín hiệu vào/ra)
• Input : tương ứng đây sẽ là W
• Output: tương ứng là độ C
2. Frequency-Domain Data dữ liệu trong miền tần số
6
Các dạng của dữ liệu :
a. Freq.Function(Complex)
• Freq.Func.: nhập tên biến chứa dữ liệu hoặc biểu thức của đáp ứng tần số
G ( exp(jw))
• Frequency : nhập tên biến chứa mảng tần số khảo sát; định dạng của nó là vector cột
• Frequency unit : đơn vị tần số (Hz hay rad/s)
b. Amplitudeand Phase Frequency-Response Data
Thì các đặc tính cần cài đặt là biên độ, pha, và tần số ở đây là các biến có giá trị là các
vector.
7
III. Các mô hình nhận dạng
I. Nhân dạng tham số mô hình ARMA ( Autoregressive moving average):
1.1. Lý thuyết:
Mô hình ARMA là mô hình rời rạc, nhận dạng mô hình ARMA là phương pháp nhận dạng tham số K, a
, b cho mô hình rời rạc
1
1
1
1
1 ...
( )
( )
( ) 1 ...
nb
nb
na
na
b z b z
Y z
G z K
U z a z a z
− −
− −
+ + +
= =
+ + +
(1)
Trên cở sở quan sát, đo tín hiệu vào u(t) và ra y(t) sao cho sai lệch giữa mô hình và đối tượng là nhỏ nhất.
Với những điều kiện mô tả sai lệch khác nhau sẽ có các phương pháp nhận dạng khác nhau.
Các phương pháp này được chia làm 2 loại chính:
- Loại nhận dạng chủ động ( active). Tín hiệu đầu vào u(t) được chọn là tín hiệu ồn trắng có giá trị
mật độ phổ bằng 1, tức là:
m
u
=0 và S
u
(w)=1
8