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 đ
Trang 1A Đặ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 nay trong thời gian tới
Trang 2B Các bước thực hiện nhận dạng bằng system identification toolbox
IL Chuan bi dit ligu dé nhén dang:
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
>>ul= [1.2;1.3; ];
>>y]=[3;6;; ];
>>save identdata ul yl
2 Dữ liệu lưu trong exel
Để đọc đữ liệu từ trong exel ta dùng lệnh x]sread
A=x\lsread(‘path\file.xls’,1,’A1:A10’)
A= xlsread(‘path\file.xls’,2)
A=xlsread(‘path\file.xls’)
Trong đó các đặc tính path\fle.xls là đường dẫn đến file exel chứa số liệu mình cần lấy ví
du :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 đữ liệu lưu trong exel Ví dụ như trong exel với tên file và đường dan cua no la : C:\Documents and Settings\phong\My Documents\identdata.xls
A B nếu A2:Bó sẽ lấy ra ma trận từ cột A2 dén B6
Trang 3C = textscan(fid, 'format') C = textscan(fid, ‘format’, N, param,
value, )
C = textscan(fid, 'format', N)
C = textscan(str, .)
C = textscan(fid, ‘format’, param,
Eid là tên file cũng như xIsread ta cần có cả đường dẫn của nó Phần format thì tham khảo
+n Read a number and convert to double
ed Read a number and convert to int32
308 Read a number and convert to ints
sdi6 Read a number and convert to int16
+d32 Read a number and convert to int32
$064 Read a number and convert to inté4
%u Read a number and convert to uint32
+u8 Read a number and convert to uinr8
Sul6 Read a number and convert to uinr 1õ
$u32 Read a number and convert to uint32
%u64 Read a number and convert to uint 64
xử Read a number and convert to double
=£32 Read a number and convert to single
Trang 4
3764 Read a number and convert ta double
*q Read a (possibly double-quoted) string
5c Read one character, including white space
%[ -] Read characters that match characters between the brackets Stop reading at the first nonmatching
character Use ¢[] ] to include ] in the set
S[* ] Read characters that do not match characters between the brackets Stop reading at the first matching
character Use ¢[*] ] to exclude ] from the set
Sania Ignore n characters ofthe field, where nis an integer less than or equal to the number of characters in the
field (e.g., 745)
Có thê tham khảo cac ham sau: d/mread , dlmwrite, csvread, csvwrite
Il Cac loai diy liéu cho viéc mé phéng
G6 ident vao workpace cilia matlab
System Identification Tool - Untitled
File Options Window Help
import data x ị [import models: * |
[Time pilot Workspace ||LTI Viewer | [7 MMocle| output | Transient resp | Nonlinear ARx
| Date spectra [ Model resics | Frequencyresp [Ƒˆ Hamm+⁄ericr
Trash Validation Data
status line is here
Trang 51 Time-DomainData dữ liệu trong miền thời gian
Data Format for Signals
Starting time : nhập 0 nếu muốn khảo sát tại thời gian
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 đữ liệu)
Trang 6Data Information Physical Units of Variables
InterSample : Lựa chọn phương pháp chuyền từ liên tục sang rời rac (zoh, foh,bl )
Period : là thời gian khảo sát.ở đây mình chọn là 1nf
Input : nhập tên của tín hiệu vào (ở đây là power)
Output: nhap tên của tín hiệu ra (ở đây là temperat ure)
Physical Units of Variables (Don vi vat ly của các tín hiệu vào/ra)
2 Frequency-Domain Data dif liéu trong mién tan s6
Trang 7Import Data E]jEl
Data Format for Signals
Frequency Domain Signals
|| Freq Function (Complex)
` Freq Function (Amp/Phase)
Data name: mydata
Frequency unit acts
Data Information Data name: = = = Mr mm
Frequency Unit racic
e 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
z
A >
Trang 8Import Data
Các phương pháp này được chia làm 2 loại chính:
- _ Loại nhận đạ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,=0 va S.(w)=1
Trang 9“ữ)= 1 (3) có tên gọi là mô hình MA (Moving average)
Chuyên (1) sang miền thời gian, ta có mô hình tương đương sang sai phân:
Để đơn giản trong quá trình nhận dạng ta có thuật toắn:
- Chuyén bài toán nhận dạng bị động sang bài toán nhận dạng chủ động
- Nhận dạng từng khâu AR và MA trong mô hình ARMA
1.2 Linear parametric models
1 | Trong System Identification Tool GUI, kiểm tra dữ liệu đã được nhập vào chưa Nếu sử dụng một dạng dữ liệu khác ta có thé thay thế một mô hình mẫu tính toán khác Kiểm tra dữ liệu trong Working Data
2 Chon Estimate > Linear parametric models dé mở hộp Linear Parametric Models, néu hdp này chưa được mở
3 Trong hộp Linear Parametric Models chọn By Initial Model từ danh sách Structure
4 _ Nhập tên mẫu trong trường Initial model, nhẫn Enter Tên này phải là tên của mẫu trong Model Board trong System Identification Tool GUI hoặc là biến trong MATLAB Workspace
5 Thay đôi thuật toán cài đặt, hiển thị trong Linear Parametric Models nếu cần thiết
6 Chọn Estimate để lọc mẫu
7 Chuẩn hoá mẫu mới này
Để tiếp tục lọc mẫu chon Continue iter
Trang 10- _ Nhận đạng mật độ phổ tín hiệu bằng kỹ thuật DFT Đánh giá sai số và các kỹ thuật làm giảm sai
SỐ
- Xác định hàm trọng lượng, hàm quá độ từ phổ tín hiệu theo thuật toán cực tiểu sai lệch
2.2 Nhan dang trong toolbox Matlab:
Trước khi sử dụng Toolbox nay, cần xuất đữ liệu vào trong GUI nhu da nêu trong bước chuẩn bị dữ liệu Các bước thực hiện thuật toán nhận dạng mô hình tham số nhờ phân tích tín hiệu phổ trong System Identification Tool GUI
1 Trong System Identification Tool GUI, chon Estimate > Spectral models mo hdép Spectral Model
2 Trong danh sach Method, chon thuat toán phân tích tín hiệu phổ cần thiết Có thể lựa chọn các dang:
e etfe (Empirical Transfer Function Estimate)
e spa (SPectral Analysis)
e spafdr (SPectral Analysis
e with Frequency Dependent Resolution)
3 Nhập một số thông số cần thiết cho tính toán thuật toán:
e Trong trường Frequencies, nhập giá trị của vector hoặc tên vector đã được nhập trong cửa số Matlab Vi du: logspace(-1,2,500)
e Sir dung két hop Frequency Spacing va Frequencies dé x4y dung tan sé cua vector
e Trong danh sach Frequency Spacing chon Linear hodc Logarithmic cho kh6ng gian tan s6
e _ Trong trường Frequencies nhập tần số của các điểm ( tần số nằm trong khoảng từ tần số nhỏ nhất dến tần số lớn nhất của dữ liệu)
4.Trong trường Frequency Resolution, nhập tần số giải Nếu sử dụng giá trị mặc định, chọn đefault hoặc
để trống trường đó
5 Trong trường Model Name, nhập tên tương thích với mẫu phân tích Tên nảy chỉ xuất hiện duynhất trong Model Board
10
Trang 116 Kích Estimate, nhập mẫu từ Model Board trong System Identification Tool GUI
7 Trên hộp Spectral Model kích close
§ Muốn hiển thị hình ảnh của nhiễu quá trình, chọn hộp thoại Noise spectrum trong System Identification Tool GUI
Để xuất mẫu ra của số Matlab ta sử dụng lệnh idfrd hoặc bode
Ta deatime thời gian trễ tín hiệu vào và ra
- Hệ sô thời gian tích phân ¬ ,
Xử lý mô hình mâu là phương pháp phô biên cho các hệ thông rời rạc trong công nghiệp, ứng dụng trong nhiều môi trường khác nhau Bằng phương pháp này ta còn có thể xác định thời gian trễ của hệ thống, làm rõ được các thông số vật lý của hệ
System Identiication Toolbox cung câp rât nhiêu mô hình mẫu, theo thời gian, theo tân sô với sô điểm cực khác nhau, có thê thêm khâu tích phân, thêm hoặc bỏ thời gian trễ, điểm không Trong toolbox này ta có các mô hình bậc 1, 2 hoặc 3 với nhiêu điêm cực thực hoặc ảo
Trước khi sử dụng Toolbox cần phải chuẩn bị đữ liệu ( theo các cách đã trình bảy) Các bước sử dụng Toolbox:
1 Trong System Identification Toolbox, chon Estimate > Process models dé mé Process models
11
Trang 12Bar -¬~
lo4Ð Trazeidr Euzelon ParameterKnown Value ImfialGuess Bounds
Disturbance Modet [ong =| intial state: [xao 2
Focus: [Simulation | Covariance: [Estimate | Options |
Nếu mô hình có nhiều đầu ra, lựa chọn kênh trong đanh sách Input Danh sách này chỉ xuất hiện
khi mô hình có nhiều đầu vào
Trong Model Transfer Function, phải khai báo các thông số:
e - Lựa chọn số điểm cực, tối thiểu là 2, sau đó lựa chọn All real hoặc Underdamped
e Khai bao sé diém khéng trong hép Zero hodc xod bé khi kh6ng tén tai điểm không
e Khai bao thdi gian tré trong hp Delay hodc xoa bé khi khéng t6n tại
e© - Khai báo hằng số tích phân trong hộp Integrator hoặc xoá bỏ
Vùng thông số sẽ hiện rất nhiều thông số cần khai báo
Trong vùng Initial Guess, lựa chọn Auto-selected các thông số hệ sẽ được tự động tính toán và lấy gần đúng Các cột Initial Guess sẽ hiện các thông báo Auto Nếu ta không tính toán tốt thông
sô hệ thông, nên chọn hệ tự động
12
Trang 13Parameter Known Value Initial Guess Bounds
C From existing modet
C User-detined Value >initial Guess
Parameter Known Value Initial Guess Bounds
K fr | | Auto | [-Inf Inf]
(` From existing model: |
(S Llser-defined Value >lnitial Guess |
Nếu đã biết thông số của hệ thống, có thể nhập trực tiếp vao Initial Guess Thuat toan xAp xi sé nhận giá trị này như giá trị đầu tiên Nếu thông số là chính xác, ta cũng nhập vào cột Initial Guess sau đó lựa chọn hộp Know xác định chính xác gia tri Nếu giá trỊ nằm trong một khoảng nào đó,
ta nhập giá trị đó vào hộp Bounds để thuật toán xắp xỉ chính xác hơn
Trong danh sách Disturbance Model, lựa chọn một giá trị
e None nếu ta bỏ qua mô hình nhiễu
se Oderl xắp xỉ mô hình nhiễu như 1 hàm liên tục, hệ ARMA bậc nhất
© Oder2 xấp xỉ mô hình nhiễu như 1 hàm liên tục, hệ ARMA bậc hai
Tong danh sách Focus, lựa chọn tần số tương đối quan trọng so với các tần số khác Ta có các lựa chọn:
e Prediction
e Simulation
13
Trang 1412 Chon Estimate dé nhap mau vao Model Board trong System Identification Tool GUI
13 Để ngừng quá trình tính toán và lưu kết quả lại, ta chọn Stop Iterations Để tiếp tục quá trình ta chon Continue iter
14 Để hiển thị đồ thị của mẫu ta chọn Model Views
15 Để chuẩn hoá kết qua tinh toan, lwa chon Value—> Initial Guess cài đặt lại các thông số xác định
mô hình mẫu khác, chọn lại Model Name và Estimate
Có thể lặp lại các công việc trên đến khi xác định được một cách tương đối chính xác mô hình đối tượng
IV Ví dụ tham khảo
Ta chon khau quan tinh bac 2 G(s) = 56/((1+45s)*(1+4s));
Để thu thập dữ liệu dạng tần số ta làm như sau :
Trang 15
Time domain data
Freq domain data < Preprocess vị
Tine tilnf Workspace ||LTI Viewer Model outout Transient resp
Data Specs Model resids Freque ‘TE
Trash Validatinn Data
Sau đó click vào Import data chọn Ferq.domain data tiếp tục chọn Eerq.Function
(amp/phase) và điền các tham số mô phỏng như hình đưới
15
Trang 16Frequency Domain Siqnals
Freq Function (Complex)
Freq Function (Amp/Phase})
Data Format for Signals
Freq Function (Amp /Phase) v|
Workspace Variable Amplitude: 2
Data Information Data name: data Freq Unit Paciés Sampling interyal: h
Focus: ‘Simulation = | Covariance: ‘Estimate wt |
16
Trang 17Các tham số mình có thể chọn : pole ,zero,delay integrator intial guess
Sau đó mình click để estimate ta có kết quả nhận dang nhu sau
Color: (0 ñ Ñ ] |
Process model with transfer function
K (S[ 5) = -
(14+Tpl*si(14+T pets)
Tel = 0.001
Tp2 = 1396.6
Estimated using PEM from data set data
Loss function 0.205447 and FPE 0.225992
Trang 19để đưa ra hướng giải quyết Đây cũng là nhược điểm của bài báo cáo này Chúng tôi sẽ hoàn thiện nốt các vẫn đề còn lại trong thời gian sớm nhất
19