Tải bản đầy đủ (.pdf) (30 trang)

HƯỚNG DẪN THÍ NGHIỆM TỰ ĐỘNG HÓA NHẬN DẠNG HỆ THỐNG

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (688.02 KB, 30 trang )

ĐẠI HỌC BÁCH KHOA – ĐHQG TP. HỒ CHÍ MINH
KHOA ĐIỆN – ĐIỆN TỬ
BỘ MÔN ĐIỀU KHIỂN TỰ ĐỘNG

co

ng

.c

om

HƯỚNG DẪN THÍ NGHIỆM
CAO HỌC TỰ ĐỘNG HÓA

th

an

BÀI THÍ NGHIỆM

cu

u

du

on

g


NHẬN DẠNG HỆ THỐNG
(SYSTEM IDENTIFICATION)

Biên soạn: HUỲNH THÁI HOÀNG

Năm 2005

CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

I. MỤC ĐÍCH THÍ NGHIỆM

th

an

co

ng

.c

om

Muốn thiết kế hệ thống điều khiển có chất lượng tốt cần phải biết mô hình
toán học của đối tượng điều khiển. Nhận dạng hệ thống là phương pháp rút ra mô
hình toán học của hệ thống dựa vào dữ liệu vào – ra quan sát được. Lý thuyết nhận

dạng hệ thống được đưa ra từ những năm 1960 trên cơ sở lý thuyết xác suất thống
kê. Đến nay các phương pháp nhận dạng mô hình tuyến tính đã phát triển khá hoàn
chỉnh; các phương pháp nhận dạng hệ phi tuyến, đặc biệt là hệ phi tuyến MIMO
đang là vấn đề nghiên cứu được rất nhiều người quan tâm hiện nay.
Bài thí nghiệm này trang bị cho học viên kiến thức thực hành về nhận dạng
hệ thống. Thông qua các thí nghiệm cụ thể nhận dạng các đối tượng điển hình
trong phòng thí nghiệm là động cơ DC và hệ bồn chứa học viên sẽ áp dụng được
các phương pháp nhận dạng mô hình tuyến tính cũng như phi tuyến; phương pháp
nhận dạng hệ thống hở cũng như hệ thống kín; phương pháp nhận dạng hệ SISO
cũng như hệ MIMO vào thực tế. Bài thí nghiệm sẽ giúp học viên củng cố kiến thức
lý thuyết, phát triển kỹ năng thực hành nhận dạng hệ thống để sau này có thể vận
dụng lý thuyết nhận dạng các hệ thống thực tế trong công nghiệp.
Để có thể thực hiện tốt bài thí nghiệm, học viên cần xem lại cơ sở lý thuyết
trong các môn học Mô hình hóa, nhận dạng và mô phỏng; Mạng neuron nhận dạng,
dự báo và điều khiển. Phụ lục A ở cuối hướng dẫn thí nghiệm này tóm lượt lý
thuyết tối thiểu học viên phải nắm trước khi tiến hành thí nghiệm.
II. ĐỐI TƯNG NHẬN DẠNG

on

g

II.1. Sơ đồ khối thu thập dữ liệu

cu

u

du


Bài thí nghiệm này sử dụng bộ công cụ Simulink kết hợp với Realtime
Workshop và xPC Target của Matlab để thực hiện các thí nghiệm thu thập dữ liệu,
do đó sơ đồ khối phần cứng của hệ thống được thiết kế như hình 3. Máy tính chủ
(Host) sử dụng để soạn thảo các sơ đồ Simulink thu thập dữ liệu, đồng thời cũng
được sử dụng để thực thi các thuật toán nhận dạng hệ thống. Máy tính chủ giao tiếp
với máy tính đích (Target) qua cổng nối tiếp (cổng COM). Máy tính đích giao tiếp
trực tiếp với các đối tượng cần nhận dạng qua các card thu thập số liệu. Trong bài
thí nghiệm này card thu thập số liệu được sử dụng là card PCL-818L (hãng
Advantech). Card PCL-818L có 16 kênh chuyển đổi AD 12 bit, 1 kênh chuyển đổi
DA 12 bit và 16 ngõ vào/ra song song. Đối tượng nhận dạng trong bài thí nghiệm
này là động cơ DC và hệ bồn chứa liên kết.
Máy tính chủ

Máy tính đích +
card DAS

Đối tượng
điều khiển

Hình 1: Sơ đồ khối thu thập dữ liệu
1
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

II.2 Động cơ DC

om


Động cơ DC là phần tử chấp hành được sử dụng rất phổ biến trong các máy
móc, dây chuyền sản xuất công nghiệp. Sơ đồ khối hệ thống động cơ DC dùng
trong thí nghiệm được trình bày ở hình 2. Tín hiệu điều khiển xuất ra từ máy tính
PC qua ngõ ra tương tự (Analog Output) của card PCL-818L. Mạch khuếch đại
công suất là mạch khuếch đại đẩy kéo, trục quay encoder gắn với trục quay động
cơ. Một bộ đếm lên/xuống được sử dụng để đếm xung từ encoder. Tín hiệu ra của
bộ đếm được đưa vào ngõ vào số (Digital Input) của card thu thập số liệu PCL818L. Bằng cách đếm xung, chúng ta đo được vị trí của động cơ, lấy sai phân vị trí
giữa hai lần lấy mẫu liên tiếp ta sẽ đo được tốc độ quay của động cơ.

.c

Máy tính Target

Động cơ

PCL-818L

ng

Khuếch đai
công suất

AO

DC

A

co


Bộ đếm

Encoder

B

cu

u

du

on

g

th

an

DI

Hình 2: Động cơ DC: hình dáng bên ngoài (trên), sơ đồ khối phần cứng (dưới)
II.3 Hệ bồn chứa
Hệ bồn chứa là đối tượng phi tuyến điển hình thường gặp trong các quá trình
công nghiệp. Hệ bồn chứa gồm 2 bồn chứa chất lỏng thông nhau, tiết diện van nối
giữa hai bồn và tiết diện van xả của mỗi bồn có thể thay đổi được. Chất lỏng được
bơm vào hai bồn bằng hai máy bơm DC. Hệ bồn liên kết là một đối tượng điển hình
thường dùng để kiểm chứng các thuật toán điều khiển quá trình. Tùy theo tiết diện

mở các van, cách sử dụng các máy bơm và tầm làm việc mà ta có được các cấu hình
hệ thống khác nhau để kiểm chứng lý thuyết điều khiển như hệ quán tính bậc 1, hệ
quán tính bậc 2, hệ phi tuyến, hệ đa biến, hệ có nhiễu loạn, hệ có thông số biến đổi,…
2
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

du

on

g

th

an

co

ng

.c

om

Sử dụng cảm biến áp suất Model 68075 (hãng Cole-Parmer) để đo chiều cao
mực chất lỏng trong bồn chứa. Khi áp suất cột chất lỏng trong bồn thay đổi từ 05psig thì dòng ra của cảm biến thay đổi trong khoảng 4-20mA, dùng điện trở 560Ω

để biến đổi dòng thành áp. Máy tính đọc điện áp này qua ngõ vào tương tự của
card PCL-818L. Chất lỏng bơm vào bồn bằng máy bơm DC 12V với công suất bơm
cực đại định mức 70 lit/phút. Lưu lượng bơm thay đổi bằng cách thay đổi điện áp
cấp cho máy bơm theo phương pháp điều rộng xung. Bộ điều rộng xung sử dụng vi
điều khiển P89C51RD2 của hãng Philip.

cu

u

Hình 3: Hệ bồn chứa liên kết: hình dáng bên ngoài (trên), sơ đồ khối phần cứng (dưới)
III. PHẦN MỀM THÍ NGHIỆM
III.1 Chương trình Simulink thu thập số liệu
Bài thí nghiệm này sử dụng bộ công cụ Simulink kết hợp với Realtime
Workshop và xPC Target của Matlab để thực hiện các thí nghiệm thu thập số liệu.
Sơ đồ khối chương trình Simulink thu thập dữ liệu vào ra của động cơ DC và hệ
bồn chứa lần lượt được trình bày ở hình 4 và 5. Sử dụng bộ công cụ Realtime
Worrkshop có thể biên dịch chương trình Simulink thành chương trình có thể thực
thi độc lập trên các máy tính không cài Matlab. Bộ công cụ xPC Target hỗ trợ các
giao tiếp với các card thu thập dữ liệu chuyên dụng, trong đó có card PCL-818L.
Nhờ bộ công cụ này mà chương trình khả thi sau khi biên dịch được tải xuống máy
tính điều khiển thiết bị.
3
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

Thu thập dữ liệu vào ra động cơ:


(a)

cu

u

du

on

g

th

an

co

ng

.c

om

Chương trình Simulink thu thập dữ liệu vào – ra của động cơ được lập trình
sẳn và lưu trữ trong file DC_Motor.mdl (xem hình 4).
Trong hình 4a tín hiệu vào lưu trong file DCMotor_Input.mat được tạo ra bằng
cách gọi thực thi chương trình DCMotor_Input.m. Khối DCMotor cho phép máy
tính giao tiếp với phần cứng qua card PCL-818L. Sơ đồ chi tiết khối DCMotor được

trình bày ở hình 4b.
Trong hình 4b khối Analog Output xuất tín hiệu điều khiển mạch khuếch đại
công suất cấp nguồn cho động cơ qua ngõ ra tương tự của card PCL-818L. Khối
Digital Input đọc tín hiệu từ bộ đếm qua ngõ vào số của card PCL-818L. Khối
MeasureVel tính vận tốc động cơ bằng cách so sánh giá trị bộ đếm hiện tại với giá trị
bộ đếm ở lần lấy mẫu trước để biết được dịch chuyển tương đối, sau đó lấy dịch
chuyển tương đối chia cho chu kỳ lấy mẫu sẽ được vận tốc. Khối MeasurePos tính vị
trí góc quay động cơ bằng cách cộng dịch chuyển tương đối với vị trí góc quay đã xác
định được ở lần lấy mẫu trước. Hãy đọc các file mã nguồn measurePos.c và
measureVel.c để hiểu rõ hơn về các thuật toán này.

(b)
Hình 4: Sơ đồ Simulink thu thập dữ liệu vào – ra động cơ DC

4
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

Thu thập dữ liệu vào ra hệ bồn chứa:

(a)

cu

u

du


on

g

th

an

co

ng

.c

om

Chương trình Simulink thu thập dữ liệu vào – ra của hệ bồn chứa được lập
trình sẳn và lưu trữ trong file Coupled_Tank.mdl (xem hình 5).
Trong hình 5a tín hiệu vào để thực hiện các thí nghiệm thu thập số liệu đã
được tạo ra và lưu sẳn trong file Tank_Input.mat bằng cách thực thi chương trình
Tank_Input.m. Khối Coupled_Tank cho phép máy tính giao tiếp với phần cứng qua
card PCL-818L. Sơ đồ chi tiết khối Coupled_Tank được trình bày ở hình 5b.
Trong hình 5b khối PCL818do xuất tín hiệu điều khiển máy bơm (chu kỳ
nhiệm vụ của bộ PWM, xem sơ đồ phần cứng ở hình 3) qua ngõ ra số của card
PCL-818L, khối Offset dùng để loại bỏ đặc tính vùng chết của máy bơm. Khối
PCL-818L Advatech Analog Input đọc giá trị điện áp DC phản hồi từ các cảm biến
áp suất đo độ cao mực chất lỏng, tín hiệu này được lọc nhiễu bằng bộ lọc thông
thấp, khối V to H biến đổi điện áp phản hồi thành độ cao mực chất lỏng bằng cách
nhân điện áp với một hệ số tỉ lệ, hệ số này có được khi định chuẩn mạch đo.


(b)
Hình 5: Sơ đồ Simulink thu thập dữ liệu vào – ra hệ bồn chứa liên kết

5
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

III.2 Chương trình nhận dạng hệ thống
Nhận dạng mô hình tuyến tính dùng bộ công cụ nhận dạng hệ thống của
Matlab (Indentification Toolbox).
Nhận dạng hệ phi tuyến dùng các chương trình viết sẳn theo các thuật toán
ước lượng thông số đã trình bày trong môn học Mô hình hóa, nhận dạng và mô
phỏng. Học viên có thể tham khảo mã nguồn để phát triển các thuật toán phù hợp
với bài toán nhận dạng cần giải.
IV. CHUẨN BỊ THÍ NGHIỆM

cu

u

du

on

g


th

an

co

ng

.c

om

Học viên cần đọc kỹ hướng dẫn này trước khi tiến hành thí nghiệm và trả lời
ngắn gọn các câu hỏi sau đây:
1. Nhận dạng hệ thống là gì?
2. Các bước nhận dạng hệ thống?
3. Trình tự thực hiện thí nghiệm thu thập dữ liệu?
4. Mô hình không tham số của hệ tuyến tính?
5. Dạng tín hiệu vào để thực hiện thí nghiệm thu thập dữ liệu nhận dạng mô hình
không tham số hệ tuyến tính?
6. Các loại mô hình có tham số của hệ tuyến tính?
7. Dạng tín hiệu vào để thực hiện thí nghiệm thu thập dữ liệu nhận dạng mô hình
có tham số hệ tuyến tính?
8. Mô hình hộp đen phi tuyến?
9. Biểu thức toán học của mô hình mờ? Mô hình mờ có thể xây dựng bằng cách
nào?
10. Biểu thức toán học của mô hình mạng thần kinh? Khả năng xấp xỉ của mô hình
mạng thần kinh phụ thuộc vào những yếu tố nào?
11. Dạng tín hiệu vào để thực hiện thí nghiệm thu thập dữ liệu nhận dạng mô hình
phi tuyến?

12. Thuật toán ước lượng thông số mô hình phi tuyến?
13. Làm thế nào để biết được mô hình nhận dạng được có tốt hay không?
14. Tại sao phải nhận dạng hệ thống kín?
15. Các phương pháp nhận dạng hệ thống kín? Ưu khuyết điểm của mỗi phương
pháp?
V. NỘI DUNG THÍ NGHIỆM
Trước khi thực hiện các thí nghiệm dưới đây, phải chắc rằng:
- Hệ thống đã được kết nối như sơ đồ khối ở hình 1.
- Đã kích hoạt Matlab, cửa sổ lệnh đã sẳn sàng
- Máy tính đích đã được khởi động dùng đóa Boot Loader (đóa này đã được tạo
sẳn dùng bộ công cụ xPC Target, cách tạo đóa khởi động này học viên có thể tham
khảo tài liệu hướng dẫn của Matlab).
6
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

Thu thập dữ liệu
Thí nghiệm 1: Thí nghiệm thu thập dữ liệu vào – ra của động cơ DC
Dưới đây là hướng dẫn chi tiết cách thu thập dữ liệu vào ra của động cơ DC,
cách thu thập dữ liệu vào ra hệ bồn liên kết được thực hiện tương tự.
Bước 1.1: Tại cửa sổ lệnh, gõ vào dòng lệnh: >> Motor [ENTER]
Cửa sổ chương trình Simulink thu thập dữ liệu động cơ DC xuất hiện như hình 3.

om

Bước 1.2: Nếu Matlab báo lỗi, kiểm tra xem trong thư mục hiện hành có file dữ
liệu Motor_Input.mat hay không? Nếu chưa có hãy gọi hàm Motor_Input.m để tạo

file chứa tín hiệu vào.

co

ng

.c

Bước 1.3: Đặt thông số cho chương trình Simulink
- Nhấp chuột vào cửa sổ [Motor], sau đó chọn menu [Simulation] →
[Simulation Parameters …] (có thể bấm phím tắt là [Ctrl-E], cửa sổ [Simulation
Parameters: Motor] hiện lên.

th

an

Thời gian thu thập
dữ liêu là 30 giây

cu

u

du

on

g


Chu kỳ lấy mẫu 0.01 giây

Lưu trữ thời gian vào biến tout
Lưu trữ dữ liệu vào biến yout
Lưu trữ tối đa 5000 mẫu dữ liệu

7
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

om

Biên dịch chương trình thành
mã chạy trên máy tính Target

co

ng

.c

- Lần lượt chọn các trang [Solver], [Workspace IO], [Real-Time Workshop]
trong cửa sổ [Simulation Parameters: Motor] và kiểm tra xem nội dung các trang
có giống các hình trên đây hay không, nếu không thì đặt lại cho đúng.
- Sau khi kiểm tra nội dung các trang trong cửa sổ [Simulation Parameters:
Motor], nhấp chuột vào nút nhấn [OK].


cu

u

du

on

g

th

an

Bước 1.4: Biên dịch chương trình và tải xuống máy tính đích
Trong cửa sổ [Motor] chọn [Tool] → [Realtime Workshop] → [Build Model]
(có thể bấm phím tắt là [Ctrl-B]).
Máy tính chủ bắt đầu biên dịch chương trình thu thập dữ liệu và sau đó tải
chương trình xuống máy tính đích. Nếu không có lỗi trên màn hình máy tính chủ và
máy tính đích có xuất hiện thông báo cho biết quá trình biên dịch và tải chương
trình xuống thành công. Ở bước này nếu có Matlab báo lỗi thì tùy theo thông báo
lỗi hãy kiểm tra lại xem:
- Chương trình Simulink có lỗi hay không (chú ý rằng các lỗi này có thể bao
gồm lỗi sử dụng các khối con không tương thích với xPC Target).
- Kết nối cổng COM giữa máy tính chủ và máy tính đích có lỗi không?
- Nếu không xác định được lỗi hãy liên hệ với người hướng dẫn thí nghiệm để
được giúp đỡ.
Bước 1.5: Thực thi chương trình thu thập dữ liệu
Tại dấu nhắc lệnh của Matlab, gõ vào dòng lệnh:
>> tg.start [ENTER]

Nếu động cơ không quay hãy kiểm tra xem mô hình động cơ đã được cấp
nguồn chưa?
Bước 1.6: Lưu trữ dữ liệu để sử dụng trong nhận dạng
Tại dấu nhắc lệnh của Matlab, gõ vào dòng lệnh:
>> Save_Motor_Data [ENTER]

8
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

Chương trình sẽ tải dữ liệu từ máy tính đích về máy tính chủ, sau đó lưu trữ tín
hiệu điều khiển điện áp phần ứng vào biến u, tốc độ động cơ vào biến y1, vị trí
động cơ vào biến y2, sau đó vẽ đồ thị dữ liệu vào ra vừa thu thập được (mở file
Save_Motor_Data.m để xem chi tiết các lệnh). Dữ liệu thu thập được sẽ được sử
dụng để nhận dạng hệ thống có các thí nghiệm tiếp theo.
Thí nghiệm 2: Thí nghiệm thu thập dữ liệu vào – ra của hệ bồn chứa

co

ng

.c

om

Thực hiện thí nghiệm thu thập dữ liệu vào – ra của hệ bồn chứa tương tự như
cách đã làm ở thí nghiệm 1, chú ý rằng:

- Chương trình Simulink thu thập dữ liệu hệ bồn chứa: Coupled_Tank.mdl
- File chứa tín hiệu vào hệ bồn chứa: Tank_Input.mat.
- Chương trình tạo ra tín hiệu vào: Tank_Input.m.
- Thời gian thu thập dữ liệu là 10 phút,
- Chu kỳ lấy mẫu là 0.5 giây
- File thực thi chương trình lưu trữ dữ liệu: Save_Tank_Data.m
- Tín hiệu vào (điện áp điều khiển máy bơm) được lưu vào các biến u1, u2
- Tín hiệu ra (độ cao mực chất lỏng trong bồn) được lưu vào các biến y1, y2

an

Các thí nghiệm nhận dạng mô hình tuyến tính

th

Thí nghiệm 3: Nhận dạng đáp ứng xung của động cơ DC bằng PP phân tích quá độ

on

g

Bước 3.1: Thực hiện thí nghiệm thu thập dữ liệu (xem thí nghiệm 1) với tín hiệu
vào (điện áp phần ứng) có dạng hàm nấc, tín hiệu ra là tốc độ động cơ DC.

u

du

Bước 3.2: Tính đáp ứng xung. Gọi hàm:
g = Transient_Response_Analysis(u,y)

để tính đáp ứng xung g (t ) .

cu

Bước 3.3: Đánh giá mô hình
- Thực hiện thí nghiệm thu thập số liệu với tín hiệu vào bất kỳ. Lưu tín hiệu
vào vào biến uv, tín hiệu ra vào biến yv.
- Đánh giá mô hình bằng cách gọi hàm:
e = Transient_Response_Validate(g,uv,yv)
với g là đáp ứng xung ước lượng được ở bước 2.2, e là sai số.
Hãy cho biết mô hình nhận dạng được có “chính xác” hay không?
Thí nghiệm 4: Nhận dạng đáp ứng tần số của động cơ DC bằng phương pháp
kiểm tra sóng sin (Sine-wave testing)
Bước 4.1: Thực hiện thí nghiệm thu thập dữ liệu với tín hiệu vào là hàm sin, tần số
ω = 0.2π rad/sec, tín hiệu ra là tốc độ động cơ.

9
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

Bước 4.2: Quan sát đồ thị đáp ứng, hãy tính M (ω ) là tỉ lệ về biên độ giữa tín hiệu
ra và tín hiệu vào, ϕ (ω ) là độ lệch pha giữa tín hiệu ra và tín hiệu vào.
Bước 4.3: Lặp lại bước 4.1 và 4.2 với tần số tín hiệu hình sin tăng dần.
Bước 4.4: Vẽ đồ thị đáp ứng tần số (biểu đồ Bode) của động cơ DC dựa vào kết
quả các thí nghiệm
Hãy cho biết tần số cắt biên, tần số cắt pha, độ dự trữ biên, độ dự trữ pha của
động cơ DC có đáp ứng tần số vừa ước lượng được.

Thí nghiệm 5: Nhận dạng đáp ứng tần số của động cơ bằng PP kiểm tra sóng sin

ng

.c

om

Lặp lại thí nghiệm 4 với tín hiệu vào là tín hiệu điều khiển điện áp phần ứng,
tín hiệu ra vị trí góc quay của động cơ.
Vẽ biểu đồ Bode. Xác định tần số cắt biên, tần số cắt pha, độ dự trữ biên, độ
dự trữ pha. Hãy cho nhận xét so sánh biểu đồ Bode biên độ và pha ước lượng được
trong hai thí nghiệm 4 và 5.

cu

u

du

on

g

th

Bước 6.2: Kích hoạt bộ công cụ
nhận dạng hệ thống của Matlab
bằng dòng lệnh:
>> Ident [ENTER]

Cửa sổ giao diện của bộ
công cụ Ident hiển thị trên màn
hình. Giao diện này cho phép
dễ dàng thực hiện các bước
nhận dạng hệ thống như xử lý
dữ liệu, ước lượng thông số,
đánh giá mô hình,… Cách sử
dụng giao diện có thể tham
khảo trong tài liệu hướng dẫn
của Matlab.

an

co

Thí nghiệm 6: Nhận dạng mô hình có tham số của động cơ DC sử dụng bộ công
cụ Ident Toolbox của Matlab
Bước 6.1: Thực hiện thí nghiệm thu thập dữ liệu với tín hiệu vào là tín hiệu nhị
phân ngẫu nhiên (u), tín hiệu ra là tốc độ động cơ (y1).

Bước 6.3: Lấy dữ liệu để nhận dạng.
- Chọn [Data] → [Import…], cửa sổ [Import Data] hiện lên.
- Hãy điền thông tin vào cửa sổ [Import Data] như hình ở trang sau.
- Nhấp chuột vào nút nhấn [Import] để nhập dữ liệu vào ra của hệ thống cần
nhận dạng vào cửa sổ [Ident].
- Nhấp chuột vào nút nhấn [Close] để đóng của sổ [Import Data].
10
CuuDuongThanCong.com

/>


Bài thí nghiệm: Nhận dạng hệ thống

u (điện áp) và y1 (tốc độ) là hai
biến lưu dữ liệu vào ra của động
cơ đã thu thập được ở bước 6.1
tên dữ liệu có thể đặt tùy chọn

.c

om

thời gian lấy mẫu dữ liệu

on

g

th

an

co

ng

Bước 6.4: Tiền xử lý dữ liệu.
Trong cửa sổ [Ident] chọn [Preprocess] → [Quick Start], bộ công cụ Ident lần
lượt thực hiện các tác vụ sau:
- Loại mức DC ra khỏi dữ liệu (Remove mean), đặt tên cho tập dữ liệu sau khi

loại mức DC là Motord (thêm đuôi d vào tên ban đầu).
- Chia dữ liệu sau khi loại mức DC làm 2 đoạn (Select range), đoạn đầu dùng
để ước lượng thông số (Motorde), đoạn sau dùng để đánh giá mô hình (Motordv).
- Hiển thị dữ liệu lên cửa sổ [Time plot]

dữ liệu sau khi loại mức DC

du

dữ liệu ban đầu

u

dữ liệu dùng để ước lượng thông số

cu

dữ liệu dùng để đánh giá mô hình

11
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

Chú ý: [Preprocess] → [Quick start] cho phép người mới bắt đầu
làm quen với bộ công cụ Ident có thể nhanh chóng tiền xử lý dữ
liệu. Tuy nhiên các tác vụ mà Ident thực hiện khi người dùng
chọn [Quick start] có thể không phù hợp trong một số trường hợp.

Do đó nếu đã sử dụng thuần thục bộ công cụ Ident, đề nghị học
viên tự thực hiện các bước tiền xử lý dữ liệu thích hợp với hệ
thống cần nhận dạng. Cách sử dụng bộ công cụ Ident được trình
bày chi tiết trong các tài liệu hướng dẫn của Matlab.

ng

.c

om

Bước 6.5: Chọn cấu trúc mô hình, ước lượng thông số, đánh giá mô hình.
• Chọn cấu trúc mô hình có tham số:
- Chọn [Estimate] → [Parametric Models], cửa sổ [Parametric Model] xuất
hiện.
- Chọn cấu trúc mô hình ARX, bậc mô hình 4 4 1 (na=4, nb=4, nk=1)

chọn bậc mô hình
tên mô hình người dùng có thể tự
gán hoặc Matlab gán tựï động dựa
vào cấu trúc và bậc mô hình

du

on

g

th


an

co

chọn cấu trúc mô hình

cu

u

• Ước lượng thông số: nhấp chuột vào nút nhấn [Estimate] trong cửa sổ
[Parametric Models], Matlab sẽ ước lượng thông số mô hình vừa chọn ở trên.
• Đánh giá mô hình: trở về cửa sổ [Ident], có thể đánh giá mô hình bằng cách
quan sát:
- Ngõ ra mô hình (Model output)
- Thặng dư của mô hình (Model residuals)
- Đáp ứng quá độ (Transient response)
- Đáp ứng tần số (Frequency response)
- Giản đồ cực zero (Zeros and poles)
- Phổ nhiễu (Noise spectrum)
Bước 6.6: Lặp lại bước 6.5 với các cấu trúc mô hình khác nhau và bậc mô hình
khác nhau, đánh giá so sánh các mô hình và rút ra kết luận về mô hình “tốt nhất”
đã nhận dạng được.

12
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống


Chú ý: Thông thường mô hình “tốt” phải thỏa mãn các điều kiện sau đây:
- Mô tả được đặc tính động của đối tượng cần nhận dạng với sai số nhỏ.
- Bậc càng thấp càng tốt.
- Cực và zero của mô hình nằm trong đường tròn đơn vị.
- Thặng dư còn lại sau khi nhận dạng là nhiễu trắng.

th

an

co

ng

.c

om

Các mô hình đã nhận dạng,
nhấp chuột phải vào biểu
tượng mô hình để xem
thông số đã ước lượng. Học
viên cần thử nhận dạng
thêm các mô hình nữa
trước khi kết luận về mô
hình tốt nhất.

cu


u

du

on

g

Nhiễu trắng

Thí nghiệm 7: Nhận dạng hệ thống ở biên giới ổn định
Để ý rằng mô hình động cơ với tín hiệu ra là vị trí có một khâu tích phân lý
tưởng, hệ thống ở biên giới ổn định. Hãy thực hiện các bước tương tự như thí
nghiệm 6 để nhận dạng mô hình của động cơ DC với tín hiệu vào là điện áp, tín
hiệu ra là vị trí góc quay. Hãy cho biết là có thể nhận dạng được hay không? Giải
thích tại sao?
Thí nghiệm 8: Nhận dạng hệ thống kín
Hãy dựa vào chương trình Motor.mdl để tạo một chương trình Simulink (tương
thích với xPC Target) thực hiện thí nghiệm thu thập dữ liệu hệ thống kín theo sơ đồ
dưới đây với hàm truyền của khối H(z) do học viên tùy choïn.
13
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

+



điện áp

Động cơ DC

vị trí

H(z)

om

Sau đó sử dụng bộ công cụ Ident nhận dạng mô hình động cơ DC với tín hiệu
vào là điện áp, tín hiệu ra là vị trí góc quay bằng 3 phương pháp:
- Phương pháp trực tiếp
- Phương pháp gián tiếp
- Phương pháp kết hợp vào ra

on

g

th

an

co

ng

.c


Thí nghiệm 9: Nhận dạng mô hình tuyến tính của hệ bồn đơn xung quanh điểm tónh
Hệ bồn chứa là có đặc tính động học phi tuyến. Nếu trong một ứng dụng nào
đó hệ thống hoạt động xung quanh điểm tónh, chẳng hạn như trong các hệ thống
điều khiển ổn định hóa, thì có thể nhận dạng hệ thống xung quanh điểm tónh dùng
mô hình tuyến tính.
- Thay đổi vị trí các van xả để được hệ bồn đơn
- Hãy chọn tín hiệu vào thích hợp để thực hiện thí nghiệm thu thập dữ liệu và
sử dụng bộ công cụ Ident nhận dạng mô hình tuyến tính của hệ bồn đơn xung
quanh điểm tónh y1 = 20cm.
(Chương trình Simulink thu thập dữ liệu hệ bồn chứa là Coupled_Tank.mdl)

cu

u

du

Thí nghiệm 10: Nhận dạng mô hình tuyến tính hệ bồn nối tiếp xung quanh điểm tónh
- Thay đổi vị trí các van xả để được hệ bồn nối tiếp
- Hãy chọn tín hiệu vào thích hợp để thực hiện thí nghiệm thu thập dữ liệu và
sử dụng bộ công cụ Ident nhận dạng mô hình tuyến tính của hệ bồn đơn xung
quanh điểm tónh y2 = 10cm.

Các thí nghiệm nhận dạng mô hình phi tuyến
Matlab không có các công cụ nhận dạng mô hình phi tuyến. Trong các thí
nghiệm nhận dạng mô hình phi tuyến dưới đây các chương trình ước lượng thông số
mô hình (hồi qui tuyến tính, mô hình mờ, mô hình mạng thần kinh) đã được lập
trình sẳn, học viên có thể tham khảo mã nguồn để tiếp tục phát triển các chương
trình.


14
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

Thí nghiệm 11: Nhận dạng hệ bồn đơn dùng mô hình hồi qui tuyến tính
Bước 11.1: Điều chỉnh các van xả để được hệ bồn đơn, thực hiện thí nghiệm thu
thập dữ liệu vào ra. Chú ý rằng để lấy được đặc tính phi tuyến của hệ bồn đơn tín
hiệu vào phải chọn sao cho:
- có tần số và biên độ thay đổi ngẫu nhiên vì đặc tính của hệ phi tuyến không
chỉ phụ thuộc vào tần số mà còn phụ thuộc vào biên độ.
- tín hiệu ra phải thay đổi rộng trong tầm 0-40cm.
- quan sát đồ thị dữ liệu vào ra thấy được sự ảnh hưởng rõ ràng của tín hiệu
vào đến tín hiệu ra.

om

Bước 11.2: Chọn cấu trúc mô hình hồi qui tuyến tính (xem phụ lục).
Bước 11.3: Ước lượng thông số và đánh giá mô hình hồi qui tuyến tính dùng hàm:

.c

[P, err] = SingleTank_LinReg(Z)

an

co


ng

trong đó Z là dữ liệu vào ra của hệ bồn đơn (Z=[u,y]), P là thông số của mô hình,
err là trung bình bình phương sai số. Hàm SingleTank_LinReg đã được lập trình
sẳn để ước lượng thông số và đánh giá mô hình hồi qui tuyến tính của hệ bồn đơn.
Hãy quan sát các đồ thị đánh giá mô hình và cho biết mô hình hồi qui tuyến
tính đã nhận dạng được có mô tả được đặc tính động học phi tuyến của hệ bồn đơn
không? Nếu không hãy cho biết lý do?

cu

u

du

on

g

th

Thí nghiệm 12: Nhận dạng hệ bồn nối tiếp dùng mô hình hồi qui tuyến tính
Thực hiện các bước tương tự như thí nghiệm 11, chỉ khác là:
- thực hiện thí nghiệm thu thập dữ liệu vào ra của hệ bồn nối tiếp
- chọn mô hình hồi qui tuyến tính của hệ bồn nối tiếp (dựa vào mô hình toán
học của hệ bồn nối tiếp trình bày trong phụ lục)
- sửa đổi chương trình SingleTank_LinReg thành CascadeTank_LinReg ước
lượng thông số và đánh giá mô hình hồi qui tuyến tính của hệ bồn nối tiếp.
Thí nghiệm 13: Nhận dạng hệ bồn đơn dùng mô hình mờ
Bước 13.1: Thực hiện thí nghiệm thu thập dữ liệu vào ra hệ bồn đơn như đã làm ở

thí nghiệm 11.
Bước 13.2: Chọn cấu trúc mô hình mờ (xem phụ lục B). Mô hình mờ của hệ bồn
đơn đã được lập trình sẳn và lưu trong file SingleTank_FuzzyPred.m (Single Tank
Fuzzy Predictor).
Bước 13.3: Ước lượng thông số mô hình mờ dùng thuật toán Levenberg–Marquardt:
P = lmest(Ze,’SingleTank_FuzzyPred’,P0)
(Levenberg Marquardt Estimate)
trong đó P là thông số của mô hình mờ, P0 là thông số khởi động ban đầu.
15
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

Bước 13.4: Đánh giá mô hình, gọi hàm
err = validate(Zv, ’SingleTank_FuzzyPred’,P)
để đánh giá mô hình. Hãy quan sát đồ thị và cho biết mô hình mờ vừa nhận dạng
có mô tả được đặc tính động học phi tuyến của hệ bồn đơn không? Nếu không hãy
cho biết lý do?

ng

.c

om

Thí nghiệm 14: Nhận dạng hệ bồn nối tiếp dùng mô hình mờ
Thực hiện các bước tương tự như thí nghiệm 13, chỉ khác là:
- thực hiện thí nghiệm thu thập dữ liệu vào ra của hệ bồn nối tiếp

- xây dựng mô hình mờ của hệ bồn nối tiếp (dựa vào các phát biểu ngôn ngữ
mô tả đặc tính động học hệ bồn nối tiếp, các phát biểu này chỉ có được từ quan sát
thực nghiệm)
- sửa đổi chương trình SingleTank_FuzzyPred thành CascadeTank_FuzzyPred
phù hợp với mô hình mờ vừa xây dựng ở trên.

g

th

an

co

Thí nghiệm 15: Nhận dạng hệ bồn đơn dùng mô hình mạng thần kinh
Thực hiện các bước tương tự như thí nghiệm 13, chỉ khác là trong thí nghiệm
này cấu trúc mô hình được sử dụng là mô hình mạng thần kinh. Bộ dự báo ngõ ra
hệ bồn đơn dùng mạng thần kinh đã được lập trình sẳn và lưu trữ trong file
SingleTank_NeuralPred. Thuật toán huấn luyện mạng cũng sử dụng thuật toán
Levenberg–Marquardt (học viên có thể lập trình thuật toán khác).

cu

u

du

on

Thí nghiệm 16: Nhận dạng hệ bồn nối tiếp dùng mô hình mạng thần kinh

Thực hiện các bước tương tự như thí nghiệm 14, thay thế cấu trúc mô hình mờ
bằng cấu trúc mô hình mạng thần kinh. Học viên tự xây dựng mạng thần kinh dự
báo ngõ ra hệ bồn nối tiếp, lập trình và lưu vào file CascadeTank_NeuralPred.
Thuật toán huấn luyện mạng tương tự như thuật toán sử dụng ở thí nghiệm 15.

Các thí nghiệm nâng cao: nhận dạng hệ MIMO
Hệ bồn kép là hệ MIMO 2 ngõ vào 2 ngõ ra. Trong các thí nghiệm nâng cao
dưới đây học viên phải vận dụng kiến thức đã tích lũy được từ các thí nghiệm nhận
dạng hệ SISO để giải bài toán nhận dạng hệ MIMO. Bộ công cụ Ident có thể sử
dụng để nhận dạng mô hình tuyến tính MIMO. Các thuật toán ước lượng thông số
mô hình phi tuyến MIMO đều không có sẳn, học viên tự đưa ra thuật toán, lập
trình, áp dụng thực nghiệm.

16
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

Thí nghiệm 17: Nhận dạng mô hình tuyến tính của hệ bồn kép xung quanh điểm tónh
- Thực hiện thí nghiệm thu thập dữ liệu hệ bồn kép xung quanh điểm tónh
y1 = 15 cm, y 2 = 25 cm.
- Xung quanh điểm tónh, quan hệ vào ra của hệ bồn kép có thể biểu diễn dưới
dạng:
Y1 ( z )  G11 ( z ) G12 ( z )  U1 ( z ) 
Y ( z )  = G ( z ) G ( z ) U ( z )
22
 2 
 2   21

Hãy sử dụng bộ công cụ Ident nhận dạng các hàm truyền G11 ( z ) , G12 ( z ) ,
G21 ( z ) , G22 ( z ) .

ng

.c

om

Thí nghiệm 18: Nhận dạng bồn kép dùng mô hình hồi qui tuyến tính
- Thực hiện thí nghiệm thu thập dữ liệu vào ra hệ bồn kép.
- Xây dựng mô hình hồi qui tuyến tính của hệ bồn kép.
- Viết chương trình ước lượng thông số mô hình hồi qui tuyến tính hệ bồn kép.
- Đánh giá mô hình.

g

th

an

co

Thí nghiệm 19: Nhận dạng hệ bồn kép dùng mô hình mờ
- Thực hiện thí nghiệm thu thập dữ liệu vào ra hệ bồn kép.
- Xây dựng mô hình mờ mô tả đặc tính động của hệ bồn kép.
- Viết chương trình ước lượng thông số mô hình mờ của hệ bồn kép.
- Đánh giá mô hình.

cu


u

du

on

Thí nghiệm 20: Nhận dạng hệ bồn kép dùng mô hình mạng thần kinh
- Thực hiện thí nghiệm thu thập dữ liệu vào ra hệ bồn kép.
- Xây dựng mô hình mạng thần kinh mô tả đặc tính động của hệ bồn kép.
- Viết chương trình ước lượng thông số mô hình mạng thần kinh của hệ bồn kép.
- Đánh giá mô hình.
V. BÁO CÁO THÍ NGHIỆM
1. Báo cáo kết quả của mỗi thí nghiệm:
- Dữ liệu vào ra thu thập được
- Biểu thức mô hình nhận dạng được
- Đồ thị đánh giá mô hình
2. Nhận xét đánh giá kết quả nhận dạng ở mỗi thí nghiệm, so sánh kết quả nhận
dạng giữa các thí nghiệm như yêu cầu trong phần hướng dẫn thí nghiệm.
3. Mã nguồn có chú thích đầy đủ đối với những thí nghiệm nhận dạng hệ thống
mà học viên phải tự lập trình.

17
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

PHỤ LỤC A


NHẬN DẠNG HỆ THỐNG

om

A.1. BÀI TOÁN NHẬN DẠNG HỆ THỐNG
Nhận dạng hệ thống là phương pháp xây dựng mô hình toán học của hệ thống
dựa vào dữ liệu vào ra quan sát được.
Quá trình giải bài toán nhận dạng hệ thống là quá trình lặp theo lưu đồ trình
bày ở hình A.1. Bốn vấn đề cơ bản cần giải quyết khi giải bài toán nhận dạng hệ
thống là thí nghiệm thu thập dữ liệu, chọn cấu trúc mô hình, ước lượng thông số và
đánh giá chất lượng mô hình.

.c

Thông tin biết trước về hệ thống: các qui
luật vật lý, các phát biểu ngôn ngữ, …

Thí nghiệm thu
thập dữ liệu

co

ng

Xử lý sơ
bộ dữ liệu

an


Chọn cấu trúc
mô hình

cu

u

du

on

g

th

Chọn tiêu chuẩn
ước lượng

Không tốt ⇒ xét lại
thông tin biết trước

Ước lượng thông số
Đánh giá
mô hình

Không tốt ⇒ lặp lại

Tốt ⇒ chấp nhận mô hình

Hình A.1: Vòng lặp giải bài toán nhận dạng hệ thống


A.2. THÍ NGHIỆM THU THẬP DỮ LIỆU
Để có thể nhận dạng được mô hình toán của hệ thống, trước tiên ta phải chọn
tín hiệu thử có biên độ và băng thông thích hợp đặt vào các ngõ vào và quan sát
đáp ứng ở các ngõ ra của hệ thống, bước này gọi là thí nghiệm thu thập dữ liệu. Tín
hiệu thử ảnh hưởng rất lớn đến chất lượng của mô hình, nếu tín hiệu thử được chọn
không tốt thì không thể lấy được đặc tính của hệ thống, điều này dẫn đến sai số mô
hình nhận dạng ở các bước tiếp theo sẽ lớn. Dữ liệu vào ra của hệ thống được thu
thập, xử lý sơ bộ (loại mức DC, lọc nhiễu,…) và lưu trữ để sử dụng trong các bước
ước lượng thông số (Ze) và đánh giá mô hình (Zv).
18
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

Các vấn đề cần quan tâm khi thực hiện thí nghiệm thu thập dữ liệu
A.2.1. Xác định ngõ vào, ngõ ra của hệ thống cần nhận dạng
Xác định tín hiệu “kích thích“ để thực hiện thí nghiệm thu thập số liệu và vị
trí đặt cảm biến để đo tín hiệu ra.

co

ng

.c

om


A.2.2. Chọn tín hiệu vào
Dạng tín hiệu vào ảnh hưởng rất lớn đến dữ liệu quan sát. Tín hiệu vào quyết
định điểm làm việc của hệ thống, bộ phận nào và chế độ làm việc nào của hệ
thống được kích thích trong thí nghiệm.
• Nếu hệ thống cần nhận dạng là hệ tuyến tính thì tín hiệu vào có thể chọn là:
- Tín hiệu ngẫu nhiên phân bố Gauss (RGS – Random Gaussian Signal)
- Tín hiệu nhị phân ngẫu nhiên (RBS – Random Binary Signal)
- Tín hiệu nhị phân ngẫu nhiên giả (PRBS – Pseudo Random Binary Signal)
- Tín hiệu đa hài (Multi – sines)
Có thể sử dụng lệnh idinput của bộ công cụ Ident (Matlab) để tạo ra các tín
hiệu vào vừa đề cập ở trên.
• Nếu hệ thống cần nhận dạng là hệ phi tuyến thì tín hiệu vào phải có tần số và
biên độ thay đổi ngẫu nhiên vì đặc tính phi tuyến không chỉ phụ thuộc vào tần số
mà còn phụ thuộc vào biên độ.

cu

u

du

on

g

th

an

A.2.3. Xác định chu kỳ lấy mẫu

- Lấy mẫu quá nhanh (chu kỳ lấy mẫu nhỏ) có thể dẫn đến các khó khăn khi
ước lượng thông số bằng phương pháp số, mô hình khớp (fit) ở miền tần số cao.
Nếu hệ thống có thời gian chết thì việc chọn chu kỳ lấy mẫu quá nhỏ có thể sẽ làm
cho hệ thống được mô hình hóa với khâu trể kéo dài trong nhiều chu kỳ lấy mẫu,
điều này se gây khó khăn khi sử dụng mô hình để thiết kế hệ thống điều khiển
- Khi chu kỳ lấy mẫu tăng vượt quá thời hằng tự nhiên của hệ thống phương
sai tăng đột ngột.
- Chu kỳ lấy mẫu tối ưu trong trường hợp số mẫu dữ liệu cố định xấp xỉ thời
hằng của hệ thống. Nếu không biết trước thời hằng của hệ thống thì ta phải ước
lượng, nếu thời hằng ước lượng cao hơn thực tế thì việc chọn chu kỳ lấy mẫu xấp xỉ
thời hằng sẽ dẫn kết kết quả nhận dạng rất xấu.
- Khi thu thập dữ liệu nên lấy mẫu càng nhanh càng tốt, chu kỳ lấy mẫu T
thực tế sẽ được chọn sau khi xử lý dữ liệu.
A.4.4. Xác định số mẫu dữ liệu cần thu thập
Gọi số mẫu dữ liệu thu thập để ước lượng thông số là N, N càng lớn thì càng
có nhiều thông tin, càng có thể nhận dạng chính xác mô hình của hệ thống.
A.3. CẤU TRÚC MÔ HÌNH
Vấn đề quan trọng nhất và khó nhất trong các bước giải bài toán nhận dạng
hệ thống là đưa ra được cấu trúc mô hình phù hợp với hệ thống cần nhận dạng. Cấu
trúc mô hình là hàm toán học được thông số hóa, hàm này có thể liên quan hoaëc
19
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

an

co


ng

.c

om

không liên quan gì đến các định luật vật lý. Thường người ta sử dụng thông tin biết
trước về hệ thống hoặc đưa ra một số giả thiết về hệ thống cần nhận dạng để chọn
cấu trúc mô hình. Khi chỉ biết trước (rất) ít thông tin người ta sử dụng mô hình hộp
đen. Mô hình hộp đen là cấu trúc mô hình chuẩn linh động có thể dùng để xấp xỉ
nhiều hệ thống khác nhau. Không thể xây dựng được cấu trúc mô hình có khả năng
mô tả hệ thống thực tế chính xác hoàn toàn, thay vào đó người ta đưa ra một số giả
thiết về hệ thống để cấu trúc mô hình gần với hệ thống thật. Giả thiết thường được
đưa ra nhiều nhất làø hệ thống cần nhận dạng là hệ tuyến tính. Thực tế tất cả các hệ
thống đều phi tuyến, vì vậy giả thiết trên chỉ “đúng” trong trường hợp hệ thống có
thể tuyến tính hóa, hay nói các khác hệ thống hoạt động trong miền tín hiệu nhỏ
xung quanh điểm tónh. Nếu hệ thống cần nhận dạng có độ phi tuyến cao, giả thiết
hệ thống là tuyến tính không thỏa mãn, ta phải chuyển sang sử dụng cấu trúc mô
hình phi tuyến và mọi việc trở nên phức tạp hơn. Dù cấu trúc mô hình được chọn là
loại gì chăng nữa thì về nguyên tắc từ cấu trúc mô hình đã chọn ta có thể xây dựng
được bộ dự báo tín hiệu ra tương lai dựa vào các tín hiệu đã biết ở thời điểm hiện
tại. Thông số mô hình sau đó được thay đổi bằng các thuật toán ước lượng thông số
sao cho mô hình có khả năng tái tạo lại dữ liệu thực nghiệm.
Xét hệ thống có tín hiệu vào là u (t ) , tín hiệu ra là y (t ) , nhiễu ảnh hưởng đến
hệ thống là v(t ) .

cu

u


du

on

g

th

A.3.1. Cấu trúc mô hình tuyến tính
• Mô hình không tham số: quan hệ vào ra của hệ tuyến tính có thể mô tả
bằng đáp ứng xung:
(A.1)
y (t ) = g (t ) * u (t )
hoặc đặc tính tần số:
Y (ω ) = G (e jω )U (ω )
(A.2)
• Mô hình có tham số: (mô hình hộp đen tuyến tính) Tổng quát quan hệ vào
ra của hệ tuyến tính có thể biểu diễn dưới dạng:
y (t ) = G ( q, θ )u (t ) + H (q, θ )e(t )
(A.3)
C (q )
B(q)
e(t )
u (t ) +
y (t ) =
hay
(A.4)
A( q ) D ( q )
A(q ) F ( q )

trong đó:

A(q) = 1 + a1q −1 + a2 q −2 + K + ana q − na

(A.5)

B ( q ) = q − nk (b1 + b2 q −1 + b2 q −2 + K + bnb q − nb +1

(A.6)

C ( q ) = 1 + c1q −1 + c2 q −2 + K + cnc q − nc

(A.7)

D ( q ) = d1q −1 + d 2 q −2 + K + d nd q − nd

(A.8)

F (q ) = 1 + f1q −1 + f 2 q −2 + K + f nf q − nf

(A.9)

Mô hình có tham số của hệ tuyến tính có một số dạng thường gặp sau đây:
Mô hình ARX (Auto-Regressive eXternal Input)
A(q ) y (t ) = B(q )u (t ) + e(t )
(A.10)
20
CuuDuongThanCong.com

/>


Bài thí nghiệm: Nhận dạng hệ thống

Mô hình ARMAX (Auto-Regressive Moving Average eXternal Input)

A(q ) y (t ) = B(q )u (t ) + C (q )e(t )

(A.11)

Mô hình ARMA (Auto-Regressive Moving Average)

A(q ) y (t ) = C (q )e(t )

(A.12)

Mô hình AR (Auto-Regressive)

A(q) y (t ) = e(t )

(A.13)

Mô hình FIR (Finite Impulse Response)

y (t ) = B (q)u (t ) + e(t )

(A.14)

y (t ) =

B(q)

u (t ) + e(t )
F (q)

C (q )
B(q)
e(t )
u (t ) +
D(q)
F (q )

(A.15)

(A.16)

ng

y (t ) =

.c

Mô hình BJ (Box Jenkin)

om

Mô hình OE (Output Error)

an

co


• Bộ dự báo của mô hình hộp đen tuyến tính
Từ cấu trúc mô hình hộp đen tuyến tính, ta có thể viết được bộ dự báo tín hiệu
ra của hệ thống dựa vào tín hiệu vào và tín hiệu ra trong quá khứ như sau:
yˆ (t | θ ) = [1 − H −1 ( q, θ )] y (t ) + H −1 ( q, θ )G ( q, θ )u (t )
(A.17)

cu

u

du

on

g

th

A.3.2. Cấu trúc mô hình phi tuyến
• Mô hình Wiener và mô hình Hammerstein
Trong nhiều trường hợp hệ thống phi tuyến có thể mô tả bằng mô hình tuyến
tính ghép nối tiếp với khâu phi tuyến tónh ở ngõ vào hoặc ngõ ra. Mô hình có khâu
phi tuyến tónh ở đầu vào gọi là mô hình Hammerstein, có khâu phi tuyến tónh ở
đđầu ra gọi là mô hình Wiener, có khâu phi tuyến tónh ở cả đđ u vào và đđầu ra g i
là mô hình Wiener–Hammerstein. c tính phi tuyến tónh có thể do sự bão hòa của
phần tử tác động (actuator), do tính phi tuyến của cảm biến đo lường hay do giới
hạn vật lý của tín hiệu vào/ra.
u(t)

f


f(u(t))
(a)

u(t)

Mô hình
tuyến tính

z(t)
(b)

Mô hình
tuyến tính
f

y(t)

y(t)=f(z(t))

Hình A.2: (a) Mô hình Hammerstein (b) Mô hình Wiener
• Mô hình hồi qui tuyến tính
Bằng cách chọn các phần tử hồi qui thích hợp có thể dự báo tín hiệu ra của hệ
phi tuyến bằng bộ dự báo dạng hồi qui tuyến tính.
yˆ (t | θ ) = ϕ T (t )θ
(A.18)
21
CuuDuongThanCong.com

/>


Bài thí nghiệm: Nhận dạng hệ thống

cu

u

du

on

g

th

an

co

ng

.c

om

trong đó các phần tử hồi qui là hàm (phi tuyến) bất kỳ của tín hiệu vào và tín hiệu
ra trong quá khứ.

22
CuuDuongThanCong.com


/>

Bài thí nghiệm: Nhận dạng hệ thống

• Mô hình hộp đen phi tuyến
Bộ dự báo tín hiệu ra hệ phi tuyến tổng quát có dạng:
yˆ (t | θ ) = g (ϕ (t ), θ )
(A.19)
Tùy thu c vào cách ch n vector h i qui ϕ (t ) t tín hiệu vào và tín hiệu ra

trong quá khứ và hàm phi tuyến g (ϕ ,θ ) mà ta có các d ng mô hình phi tuyến khác
nhau. Thông thường g (ϕ , θ ) có dạng khai triển hàm, bộ dự báo (A.19) có thể viết
dưới dạng:

yˆ (t , θ ) = ∑ α i g i (ϕ , β i , γ i )

(A.20)

om

Mô hình mờ và mô hình mạng thần kinh là 2 trường hợp đặc biệt của cấu trúc
mô hình (A.20).

.c

• Mô hình mờ
Bộ dự báo mờ có sơ đồ khối trình bày ở hình A.3. Biểu thức bộ dự báo mờ là:
k


i =1

r

ng

yˆ (t , θ ) = ∑ α i .g i (ϕ (t ), β i , γ i )

g i (ϕ (t ), β i , γ i ) = ∏ µ Aij (ϕ j (t ), β ij , γ ij )

co

với

(A.21)
(A.22)

j =1

trong đó µ A~ là hàm liên thuộc của các tập mờ biểu diễn các giá trị ngôn ngữ trong

an

ij

du

on

g


th

mệnh đề điều kiện của các qui tắc mô tả đặc tính động học của hệ thống.

u

Hình A.3: Mô hình mờ

cu

• Mô hình mạng thần kinh

Hình A.4: Mô hình mạng thần kinh
Hàm tác động của các tế bào thần kinh ở lớp ẩn là hàm sigmoid hoặc hàm
gauss, kí hiệu là κ (x) , hàm tác động của tế bào thần kinh ở lớp ra là hàm tuyến
tính f ( x) = x .
23
CuuDuongThanCong.com

/>

Bài thí nghiệm: Nhận dạng hệ thống

Biểu thức bộ dự báo dùng mạng thần kinh như sau:
l

yˆ (t ,θ ) = ∑ wi g i (t )
i =1


(

g i = κ viT ϕ (t ) − vi 0

trong đó:

(A.23)

)

(A.24)

với vij và wi là trọng số của lớp ẩn và lớp ra.
A.4. ƯỚC LƯNG THÔNG SỐ

om

Ở bước này chúng ta phải giải một bài toán tối ưu hóa để tìm thông số mô
hình sao cho tối thiểu một hàm xác định dương đánh giá sai lệch giữa tín hiệu ra
của bộ dự báo và tín hiệu ra thực nghiệm. Thông thường tiêu chuẩn ước lượng có
dạng toàn phương:
θˆ = arg min VN (θ , Z e )
(A.25)
với

1
N

N


∑ [ y (t ) − yˆ (t , θ )]2
t =1

(A.26)

ng

VN (θ , Z e ) =

.c

θ

co

Nếu bộ dự báo có thể biểu diễn dưới dạng hồi qui tuyến tính:
yˆ (t , θ ) = ϕ T (t )θ
(A.27)
thì lời giải của bài toán tối ưu hóa (A.25) có thể tìm được dễ dàng bằng công thức:
−1

du

on

g

th

an



 N
N
θˆ = ∑ ϕ (t )ϕ T (t ) ∑ ϕ (t ) y (t )
(A.28)

 t =1
t =1
Trong trường hợp mô hình phi tuyến theo thông số thì bài toán tối ưu hóa
(A.25) cần giải là bài toán qui hoạch không lồi, trong đa số trường hợp chỉ có thể
tìm được lời giải tối ưu cục bộ bằng các thuật toán lặp, chẳng hạn như thuật toaùn
Newton:
−1
θˆ (i ) = θˆ (i −1) − V ′′ (θˆ (i −1) , Z ) V ′ (θˆ (i −1) , Z )
(A.29)

[

N

e

]

N

e

cu


u

Các phiên bản của thuật toán Newton như thuật toán suy giảm độ dốc hay
thuật toán Levenberg – Marquardt rất thường dùng để giải bài toán ước lượng
thông số mô hình phi tuyến.
Ngoài ra thuật toán di truyền cũng có thể sử dụng để ước lượng thông số, tuy
nhiên do tốc độ hội tụ của thuật toán di truyền chậm nên ít được sử dụng thường
xuyên.
A.5 ĐÁNH GIÁ MÔ HÌNH
Sau khi ước lượng thông số ta có được mô hình toán của hệ thống, câu hỏi đặt
ra là chất lượng của mô hình vừa nhận dạng như thế nào? Bước đánh giá mô hình
trả lời câu hỏi này. Phương pháp cơ bản để đánh giá mô hình là khảo sát khả năng
tái tạo đáp ứng của hệ thống với một tập dữ liệu mới không dùng ở bước ước lượng
thông số bằng cách mô phỏng mô hình vừa thu được với tín hiệu vào mới và so
sánh tín hiệu ra mô phỏng với tín hiệu ra thực nghiệm, phương pháp này gọi là
24
CuuDuongThanCong.com

/>

×