זיהוי מערכות · System Identification

מודל ARX

מודל ה־ARX הוא אבן הבסיס של זיהוי מערכות דינמיות ליניאריות מתוך נתונים. הוא מתאר את הפלט הנוכחי של מערכת באמצעות פלטים קודמים, קלטים קודמים ורעש – וכך מאפשר לבנות מודל מתמטי שמסביר את ההתנהגות הדינמית ומאפשר חיזוי, בקרה ואופטימיזציה.

זמן קריאה: כ־15 דקות רמה: מתחיל עד מתקדם דרישות קדם: מערכות בדידות, אלגברה ליניארית בסיסית
פרק 1

מהו מודל ARX?

השם ARX הוא קיצור של Auto-Regressive with eXogenous input, ובעברית: מודל אוטו־רגרסיבי עם קלט חיצוני. כלומר, הפלט הנוכחי של המערכת מתואר באמצעות שני מקורות מידע: ערכי פלט קודמים של אותה מערכת (זה החלק האוטו־רגרסיבי), וערכי קלט קודמים שהוזרקו אליה מבחוץ (זה הקלט האקסוגני).

במילים פשוטות, המודל שואל שאלה אחת מרכזית: אם ידועים לנו הקלטים שהפעלנו על המערכת בעבר, והפלטים שהיא הפיקה בעבר – האם נוכל לחזות את הפלט הבא? אם התשובה חיובית, נוכל לבנות מודל מתמטי שמייצג את הדינמיקה של המערכת מבלי לדעת בהכרח את החוקים הפיזיקליים שעומדים מאחוריה.

הרעיון המרכזי

מודל ARX אינו דורש ידע פיזיקלי מלא על המערכת. הוא נשען על נתונים מדודים בלבד ומזהה מתוכם קשר דינמי בין הקלט לפלט. זוהי גישת "Black-Box" – אנחנו לא יודעים מה קורה בתוך הקופסה, אך אנחנו לומדים את ההתנהגות שלה מתוך הקלט והפלט שלה.

למה דווקא ARX?

קיימות עשרות משפחות של מודלים בזיהוי מערכות – ARMAX, OE, BJ, State Space, ועוד. ARX זוכה למקום של כבוד מכיוון שהוא מאחד שלוש תכונות שלא תמיד הולכות יחד: פשטות מתמטית, יציבות נומרית באמידה, ויכולת תיאור סבירה של מערכות רבות בעולם האמיתי. זהו בדרך כלל המודל הראשון שמומלץ לנסות לפני שעוברים למבנים מורכבים יותר.

פרק 2

אינטואיציה ורקע פיזיקלי

לפני שנצלול למתמטיקה, חשוב להבין מה מודל ARX מנסה לתפוס. רוב המערכות הפיזיקליות בעולם הן בעלות זיכרון: הפלט הנוכחי שלהן תלוי לא רק במה שקורה ברגע זה, אלא גם במה שקרה לאחרונה. חשבו על תנור שמתחמם באיטיות, על מנוע חשמלי שתגובתו דורשת זמן, או על מערכת מסה־קפיץ שמתנדנדת לאחר הפעלת כוח.

דוגמה אינטואיטיבית – חימום חדר

דמיינו מזגן עם ויסות חימום. הקלט u(k) הוא ההספק שאתם מזרימים, והפלט y(k) הוא הטמפרטורה בחדר. כאשר אתם מגדילים את ההספק, הטמפרטורה לא תקפוץ מיידית – היא תעלה בהדרגה. הטמפרטורה הנוכחית תלויה בטמפרטורה לפני דקה (פלט קודם), בכמות החום שנכנסה לאחרונה (קלט קודם), ובהפרעות חיצוניות כמו פתיחת חלון (רעש e(k)). זוהי בדיוק המבנה של מודל ARX.

מהן ההנחות שמאחורי המודל?

לפני שאתם משתמשים ב־ARX, כדאי לוודא שהמערכת שלכם עומדת בקירוב טוב בהנחות הבאות:

הנחהמשמעות מעשית
ליניאריותהקשר בין שינויים בקלט לבין שינויים בפלט הוא ליניארי בקירוב, לפחות בנקודת העבודה הנבחרת.
אינווריאנטיות בזמןהדינמיקה של המערכת אינה משתנה לאורך הזמן: אותו קלט בעוד שעה יפיק את אותו פלט.
זמן בדידהנתונים נדגמים בקצב קבוע Ts, ואנחנו מתארים את המערכת בזמן דיסקרטי.
רעש לבן באקוויואלנטהרעש e(k) מוסבר כרעש לבן שמופעל ישירות על הפלט. זו הנחה חזקה יחסית, וזו אחת ממגבלות ה־ARX.
סיבתיותהקלט יכול להשפיע על הפלט רק מאוחר יותר, לעולם לא לפני שהוא הופעל.
פרק 3

המשוואה המרכזית של מודל ARX

עבור מערכת בדידה בזמן עם קלט יחיד ופלט יחיד (SISO), מודל ARX סטנדרטי נכתב בצורה:

\[ y(k)+a_1y(k-1)+\cdots+a_{n_a}y(k-n_a) = b_1u(k-n_k)+\cdots+b_{n_b}u(k-n_k-n_b+1)+e(k) \]

טבלת הסימונים המלאה:

סימוןמשמעות
\(y(k)\)הפלט הנמדד של המערכת בזמן המדגם \(k\)
\(u(k)\)הקלט שהוזן למערכת בזמן המדגם \(k\)
\(a_i\)פרמטרים המתארים את ההשפעה של הפלטים הקודמים
\(b_i\)פרמטרים המתארים את השפעת הקלטים הקודמים
\(e(k)\)רעש, שגיאת מדידה או החלק שהמודל אינו מצליח להסביר
\(n_a\)סדר הפולינום \(A\) – מספר ערכי הפלט הקודמים במודל
\(n_b\)סדר הפולינום \(B\) – מספר ערכי הקלט במודל
\(n_k\)השהיית הקלט בדגימות (Pure Time Delay)

צורת הפולינומים עם אופרטור ההשהיה

דרך נפוצה ואלגנטית יותר לכתוב את המודל היא באמצעות אופרטור ההשהיה \(q^{-1}\), שמוגדר כך ש־\(q^{-1}x(k)=x(k-1)\):

\[ A(q^{-1})y(k)=B(q^{-1})u(k)+e(k) \]

כאשר הפולינומים הם:

\[ A(q^{-1})=1+a_1q^{-1}+a_2q^{-2}+\cdots+a_{n_a}q^{-n_a} \] \[ B(q^{-1})=b_1q^{-n_k}+b_2q^{-(n_k+1)}+\cdots+b_{n_b}q^{-(n_k+n_b-1)} \]

פונקציית התמסורת השקולה

ניתן לכתוב את המודל גם כפונקציית תמסורת בין הקלט לבין הפלט. אם נסמן את החלק הדטרמיניסטי בנפרד, נקבל:

\[ y(k)=\frac{B(q^{-1})}{A(q^{-1})}u(k)+\frac{1}{A(q^{-1})}e(k) \]

תכונה חשובה: ב־ARX, פולינום A משותף הן לחלק הדטרמיניסטי (הקלט) והן לחלק הסטוכסטי (הרעש). זוהי נקודה קריטית – המודל מניח שהדינמיקה של הרעש זהה לדינמיקה של המערכת. כאשר ההנחה הזו רחוקה מהמציאות, ARX יספק תוצאות פחות מדויקות, ובמקומו עדיף לבחור במודלים כמו ARMAX או Box-Jenkins.

שימו לב

ב־MATLAB, פונקציות כמו arx ו־tfest משתמשות בקונבנציית סדרים מעט שונה מספרי לימוד מסוימים. שימו לב במיוחד שב־MATLAB, הפרמטר nb מתייחס למספר מקדמי B כולל, ולא לדרגה של הפולינום.

פרק 4

משמעות הסדרים \(n_a,n_b,n_k\)

בחירת הסדרים של מודל ARX היא אחת ההחלטות החשובות ביותר בתהליך הזיהוי. סדר נמוך מדי עלול לתת מודל פשטני שאינו מסוגל לתאר את הדינמיקה, וסדר גבוה מדי עלול ליצור התאמת יתר (Overfitting) – מודל שמתאים היטב לנתוני האימון אך מתפקד פחות טוב על נתונים חדשים.

na

קובע כמה ערכי פלט קודמים משפיעים על הפלט הנוכחי. ככל ש־na גדול יותר, המודל "זוכר" יותר מהעבר של הפלט, ומצליח לתאר דינמיקות מסדר גבוה יותר (מערכות עם יותר קטבים).

nb

קובע כמה ערכי קלט קודמים נכנסים למודל. nb גבוה יותר מאפשר לתאר תגובת מערכת ארוכה יותר לקלט ולתפוס אפסים בפונקציית התמסורת.

nk

מייצג השהיה טהורה (Dead Time) בין הקלט לבין תחילת ההשפעה שלו על הפלט. זהו פרמטר חשוב במיוחד במערכות פיזיקליות עם השהיית הולכה או עיבוד.

איך בוחרים את הסדרים בפועל?

קיימות מספר גישות מקובלות לבחירת \(n_a,n_b,n_k\), שניתן לשלב ביניהן:

א

ידע פיזיקלי קודם

אם ידועה דרגת המערכת מתוך מודל פיזיקלי – למשל, מערכת מסה־קפיץ־בולם היא מסדר שני – ניתן לקחת את זה כנקודת מוצא ל־na.

ב

אומדן ההשהיה nk מתוך תגובת מדרגה

מפעילים מדרגה על המערכת ובודקים בכמה דגימות הפלט מתחיל לזוז. מספר זה הוא אומדן טוב ראשוני ל־nk.

ג

סריקת רשת (Grid Search)

סורקים שילובים של (\(n_a,n_b,n_k\)) בטווח סביר ומשווים את איכותם באמצעות מדדים אובייקטיביים. ב־MATLAB ניתן להשתמש בפונקציות arxstruc ו־selstruc.

ד

קריטריונים סטטיסטיים

AIC (Akaike) ו־BIC (Bayesian) מענישים מודלים מורכבים מדי, ומאפשרים למצוא איזון בין דיוק לפשטות.

דוגמה אינטואיטיבית

במערכת מסוימת שינוי בקלט מתחיל להשפיע על הפלט רק לאחר שתי דגימות, ולכן \(n_k=2\). ניסיון מדידה הראה שהפלט מושפע מבחינה דינמית בעיקר משלוש הדגימות הקודמות שלו עצמו, ולכן בוחרים \(n_a=3\). השפעת הקלט נפרשת על פני שתי דגימות, ולכן \(n_b=2\). כך הגענו למודל \(\mathrm{ARX}(3,2,2)\).

פרק 5

אמידת פרמטרים במודל ARX

אחת הסיבות לכך שמודל ARX נפוץ כל כך היא שניתן לאמוד את הפרמטרים שלו באמצעות שיטת הריבועים הפחותים (Least Squares) – שיטה ליניארית, יעילה ובעלת פתרון אנליטי סגור. זה הופך את ARX לאחד ממעט המודלים בזיהוי מערכות שאינו דורש אופטימיזציה איטרטיבית.

ניסוח כבעיה ליניארית בפרמטרים

נסדר את משוואת ARX כך שהפלט הנוכחי יהיה צירוף ליניארי של פרמטרים:

\[ y(k)=\varphi^{T}(k)\theta+e(k) \]

וקטור הפרמטרים שאנו רוצים לאמוד:

\[ \theta=\begin{bmatrix} -a_1 & -a_2 & \cdots & -a_{n_a} & b_1 & b_2 & \cdots & b_{n_b} \end{bmatrix}^{T} \]

וקטור הרגרסורים, הכולל את הפלטים והקלטים הקודמים שכבר נמדדו:

\[ \varphi(k)=\begin{bmatrix} y(k-1) & y(k-2) & \cdots & y(k-n_a) & u(k-n_k) & \cdots & u(k-n_k-n_b+1) \end{bmatrix}^{T} \]

לאחר איסוף N דגימות, מקבלים מערכת משוואות מטריציונית:

\[ Y=\Phi\theta+E \]

כאשר Y הוא וקטור הפלטים בגודל \(N\times1\), Φ היא מטריצת הרגרסורים בגודל \(N\times(n_a+n_b)\), ו־E הוא וקטור השגיאות. הפתרון הקלאסי של ריבועים פחותים מינימלי הוא:

\[ \hat{\theta}=\left(\Phi^{T}\Phi\right)^{-1}\Phi^{T}Y \]

תכונות סטטיסטיות של האומד

בהנחה שהרעש e(k) הוא רעש לבן עם תוחלת אפס וסטיית תקן \(\sigma\), האומד \(\hat{\theta}\) נהנה ממספר תכונות חשובות:

תכונהפירוט
לא־מוטהבתנאים מסוימים על הקלט, התוחלת של האומד שווה לערך האמיתי של הפרמטרים.
עקביכאשר מספר הדגימות N גדל לאינסוף, האומד מתכנס לערך האמיתי בהסתברות 1.
אסימפטוטית יעילכאשר ההנחות מתקיימות, האומד משיג את גבול קרמר־ראו בקירוב טוב.
בעל פתרון סגוראין צורך באלגוריתם איטרטיבי – פתרון יחיד וגלובלי בצורה אנליטית.

הערה נומרית חשובה

הנוסחה \(\hat{\theta}=\left(\Phi^T\Phi\right)^{-1}\Phi^TY\) מצוינת להבנה תאורטית, אך בפועל אסור לחשב אותה ישירות עם היפוך מטריצה. כאשר מטריצת הרגרסורים מותנית גרוע (Ill-Conditioned) – למשל בגלל קלט עני בתדרים – ההיפוך הופך לרגיש לרעש מספרי. ב־MATLAB השתמשו ב־backslash (theta = Phi\Y), או עוד יותר טוב בפונקציות מוכנות של System Identification Toolbox כמו arx, שמשתמשות בפירוקי QR יציבים נומרית.

דרישת ההתעוררות (Persistent Excitation)

כדי שאמידת ARX תעבוד היטב, הקלט u חייב להיות "עשיר מספיק" – כלומר להכיל תדרים מגוונים שמעוררים את כל הדינמיקה של המערכת. קלט כמו מדרגה בודדת אינו מספיק ברוב המקרים. אותות פופולריים לזיהוי הם PRBS (Pseudo-Random Binary Sequence), אותות סינוסואידליים מרובי תדרים (Chirp), או רעש לבן.

פרק 6

תהליך עבודה מומלץ לזיהוי מערכת עם ARX

1

תכנון הניסוי ואיסוף נתונים

מודדים את הקלט u ואת הפלט y בקצב דגימה Ts מתאים. כלל אצבע: קצב הדגימה צריך להיות מהיר פי 5–10 מהדינמיקה המהירה ביותר במערכת. הקלט צריך להיות עשיר בתדרים – PRBS הוא בחירה מצוינת. אורך מומלץ: לפחות כמה אלפי דגימות.

2

ניקוי והכנת הנתונים

מסירים מגמות (DC offset, drift), בודקים חריגות ועוצרים נתונים לא תקינים, מוודאים סנכרון בין הקלט לפלט, ובודקים שאין חוסר דגימות. מחלקים את הנתונים לסט אימון (כ־66%) וסט בדיקה (כ־33%) – חלוקה זו קריטית לאימות.

3

בחירת סדרי המודל

בוחרים ערכים התחלתיים עבור \(n_a,n_b,n_k\) – לרוב מתחילים בקטנים (1–4) ומגדילים לפי הצורך. ניתן לבדוק רשת של מודלים ולהשוות אותם באמצעות AIC, BIC או FPE.

4

אמידת הפרמטרים

משתמשים ב־Least Squares או בפונקציה ייעודית כדי לאמוד את מקדמי A ו־B. לאחר האמידה כדאי לבדוק את ערכי הפרמטרים – האם הם הגיוניים פיזיקלית? האם המודל יציב (כל הקטבים בתוך מעגל היחידה)?

5

אימות המודל

בודקים התאמה לנתונים שלא שימשו לאימון, מנתחים שאריות (אוטוקורלציה וקרוס־קורלציה עם הקלט), משווים בין מודלים שונים, ובוחרים את המודל הפשוט ביותר שמסביר את הנתונים בצורה מספקת (Occam's Razor).

6

שימוש במודל

לאחר אימות, ניתן להשתמש במודל לחיזוי, לתכנון בקר (PID, MPC, LQR), לסימולציה, או כבסיס למודל לא ליניארי מורכב יותר.

פרק 7

אימות ובדיקת איכות המודל

בניית מודל אינה מסתיימת באמידת הפרמטרים. השאלה האמיתית היא האם המודל מתאר את המערכת בצורה שימושית. לשם כך מבצעים אימות (Validation) על נתונים חדשים שלא שימשו לזיהוי. שלב זה הוא לב הזיהוי המקצועי – ללא אימות נכון, גם המודל המתוחכם ביותר חסר ערך.

התאמת פלט (Fit %)

משווים בין הפלט האמיתי של המערכת לבין הפלט שחוזה המודל. מדד נפוץ הוא אחוזי ההתאמה (Best Fit) שמחושבים ב־MATLAB דרך compare. ערכים מעל 80% נחשבים טובים בהקשרים רבים.

ניתוח שאריות

השארית היא ההפרש בין המדידה לבין תחזית המודל. במודל מושלם, השאריות הן רעש לבן: ללא אוטוקורלציה משמעותית וללא קורלציה עם הקלט. חריגה מכך מצביעה על מבנה דינמי שלא נתפס.

בדיקה על נתונים חדשים

מודל טוב צריך להצליח על נתוני בדיקה שלא ראה. אם הוא מצליח רק על נתוני האימון, יש התאמת יתר. ב־MATLAB ניתן לבדוק זאת באמצעות compare(test_data, model).

מדדים כמותיים מקובלים

מדדנוסחהשימוש
FPE (Final Prediction Error)\(\mathrm{FPE}=V\frac{1+d/N}{1-d/N}\)השוואה בין מודלים בעלי סדרים שונים
AIC (Akaike)\(\mathrm{AIC}=\log(V)+\frac{2d}{N}\)איזון דיוק־פשטות, פנליזציה לסדרים גבוהים
BIC (Bayesian)\(\mathrm{BIC}=\log(V)+\frac{d\log(N)}{N}\)פנליזציה חזקה יותר מ־AIC על מודלים גדולים
Best Fit %\(100\left(1-\frac{\lVert y-\hat{y}\rVert}{\lVert y-\bar{y}\rVert}\right)\)מדד אינטואיטיבי להתאמת הפלט החזוי

במדדים הללו, V הוא ערך פונקציית המחיר (סכום ריבועי השאריות), d הוא מספר הפרמטרים שנאמדו, ו־N הוא מספר הדגימות. שימו לב: ערך נמוך יותר של AIC/BIC/FPE הוא טוב יותר; אחוז התאמה גבוה הוא טוב יותר.

כלל מעשי

אל תבחרו מודל רק לפי אחוז התאמה גבוה. בדקו גם את פשטות המודל, את התנהגות השאריות, את יציבות המודל (קטבים בתוך מעגל היחידה), ואת יכולת החיזוי על נתונים שלא שימשו לאימון. מודל פשוט עם 75% התאמה ושאריות לבנות עדיף לרוב על מודל מסובך עם 92% התאמה ושאריות מתואמות.

פרק 8

דוגמה מלאה ב־MATLAB

ב־MATLAB ניתן להשתמש ב־System Identification Toolbox כדי להגדיר נתוני קלט־פלט ולבנות מודל ARX בצורה פשוטה ומקצועית. הדוגמה הבאה מציגה תהליך מלא: יצירת אובייקט iddata, חלוקה לאימון ובדיקה, אמידה, השוואה וניתוח שאריות.

% ===== Step 1: Prepare data =====
Ts = 0.01; % Sampling time [sec]
data = iddata(y, u, Ts); % y, u are column vectors
data.InputName = 'voltage';
data.OutputName = 'temperature';
% ===== Step 2: Split into train / validation =====
N = size(data, 1);
data_train = data(1:floor(0.66*N));
data_val = data(floor(0.66*N)+1:end);
% ===== Step 3: Detrend =====
data_train = detrend(data_train);
data_val = detrend(data_val);
% ===== Step 4: Choose orders via grid search =====
NN = struc(1:5, 1:5, 1:3); % na, nb, nk grid
V = arxstruc(data_train, data_val, NN);
best_order = selstruc(V, 'aic'); % Pick by AIC
% ===== Step 5: Estimate ARX model =====
model_arx = arx(data_train, best_order);
present(model_arx); % Show parameters + uncertainty
% ===== Step 6: Validate =====
figure; compare(data_val, model_arx); % Predicted vs measured
figure; resid(data_val, model_arx); % Residual analysis
% ===== Step 7: Inspect poles & zeros =====
figure; pzmap(model_arx); % Stability check
figure; bode(model_arx); % Frequency response

שילוב פיזיקה: השוואה למודל ידוע

אם קיים מודל פיזיקלי ידוע (מסה־קפיץ, מעגל RC, פונקציית תמסורת מתכנון בקרה), כדאי להשוות בין התגובה התדרית של מודל ARX לבין המודל הפיזיקלי. התאמה טובה ב־Bode Plot היא סימן ברור לכך שהזיהוי תפס את הדינמיקה הנכונה.

עבור מערכות מרובות כניסות או מרובות יציאות (MIMO), מבנה הסדרים נעשה מורכב יותר – na הופך לסקלר, אך nb ו־nk הופכים למטריצות. העיקרון נשאר זהה: מתארים כל פלט באמצעות ערכי עבר של כל הפלטים וכל הקלטים.

פרק 9

טעויות נפוצות וכיצד להימנע מהן

בעבודה מעשית עם ARX יש מספר מלכודות שכמעט כל מי שמתחיל נופל אליהן. הכרתן מראש חוסכת שעות של דיבוגינג מתסכל.

!

קלט לא מעורר מספיק

שימוש במדרגה בודדת או בקלט עני בתדרים מוביל למטריצת רגרסורים מותנית גרוע. הפתרון: השתמשו ב־PRBS, Chirp, או רעש לבן עם רוחב פס מתאים.

!

קצב דגימה לא מתאים

דגימה מהירה מדי גורמת לקטבים להתקבץ סמוך ל־z=1 ומגבירה רגישות לרעש. דגימה איטית מדי מאבדת מידע. המטרה: 5–10 דגימות בקבוע הזמן הדומיננטי.

!

אי הסרת מגמות (Trend / DC)

ARX מניח אותות סטציונריים בקירוב. אם בנתונים שלכם יש מגמה איטית או היסט DC משמעותי, האמידה תהיה מוטה. הפתרון: detrend לפני האמידה.

!

סדר מודל גבוה מדי

"אם 3 זה טוב, אז 10 בטח יותר טוב" – זוהי טעות קלאסית. סדרים גבוהים מובילים להתאמת יתר ולקטבים שנעלמים זה את זה. בחרו את הסדר הנמוך ביותר שעובר את כל מבחני האימות.

!

הזנחת ההשהיה nk

שימוש ב־nk = 0 כברירת מחדל כאשר במערכת יש השהיה אמיתית מוביל למודל לא סיבתי לכאורה ולפרמטרים מעוותים. תמיד בדקו את ההשהיה תחילה דרך תגובת מדרגה או delayest.

!

הסתמכות על אחוז התאמה בלבד

Best Fit גבוה לא מבטיח מודל טוב. בדקו תמיד שאריות, יציבות, והתנהגות בתדר. מודל מתואם 95% עם שאריות לא לבנות מסתיר בעיה.

!

אי שימוש בסט אימות נפרד

שימוש באותם נתונים לאמידה ולאימות מסתיר התאמת יתר. החוקיות הברזל: סט הבדיקה לעולם לא נוגע באמידה.

פרק 10

ARX מול מודלים אחרים בזיהוי מערכות

ARX הוא חלק ממשפחה גדולה של מודלי קלט־פלט ליניאריים. הבדל מרכזי ביניהם הוא הדרך שבה הם מתארים את הרעש. הטבלה הבאה מסכמת את ההבדלים העיקריים ומסייעת לבחור את המודל המתאים למשימה.

מודלצורה כלליתמודל הרעשמתי להשתמש
ARX\(Ay=Bu+e\)פשוט, A משותף לקלט ולרעשמודל ראשון, רעש מתון, אמידה ליניארית
ARMAX\(Ay=Bu+Ce\)גמיש יותר עם פולינום C נוסףכאשר רעש המדידה צבוע ומורכב
OE (Output Error)\(y=\frac{B}{F}u+e\)רעש לבן ישירות על הפלטזיהוי דינמיקה דטרמיניסטית טהורה
BJ (Box-Jenkins)\(y=\frac{B}{F}u+\frac{C}{D}e\)הכי גמיש – דינמיקה נפרדת לחלוטין לרעשכשרוצים לתאר במדויק גם את הרעש
State Space\(x(k+1)=Ax(k)+Bu(k),\quad y(k)=Cx(k)+Du(k)\)תלוי בניסוח הסטוכסטיMIMO, אינטגרציה עם בקרה מודרנית

כלל אצבע מעשי: התחילו תמיד ב־ARX. אם השאריות אינן לבנות אך הצורה הכללית של התגובה נראית טובה – נסו ARMAX. אם נראה שהדינמיקה של המערכת והרעש שונות מהותית – עברו ל־BJ. אם אתם עובדים עם מערכת MIMO או רוצים שילוב קל עם בקרה במרחב המצב – שקלו State Space.

פרק 11

יישומים מעשיים של מודל ARX

ARX משמש במגוון רחב של תחומים הנדסיים ומדעיים. הנה כמה דוגמאות לחתכי שימוש אופייניים:

בקרת תהליכים תעשייתית

זיהוי דינמיקת כורים כימיים, מטילי מים, מערכות חימום וקירור. המודלים משמשים לכוונון בקרי PID או לתכנון בקרי MPC.

מכונאות ורובוטיקה

זיהוי דינמיקת מנועים חשמליים, פרקי רובוטים, ומערכות מסה־קפיץ. מאפשר תכנון בקרי מהירות ומיקום מדויקים.

אווירונאוטיקה

זיהוי תכונות טיסה (Stability Derivatives) של מטוסים ורחפנים מנתוני ניסוי – ערוץ Pitch, Roll, Yaw – ובניית בקרי טיסה.

מערכות אנרגיה

חיזוי ביקושים חשמליים, תיאור דינמיקת תאים סולאריים וטורבינות רוח, ושילוב במערכות בקרה ברשת חכמה.

ביו־רפואה

מודלים פרמקוקינטיים, תגובת רמות גלוקוז לאינסולין, ודינמיקת מערכות נשימה – כל אלה ניתנים לתיאור בקירוב טוב באמצעות ARX.

פיננסים וכלכלה

תיאור סדרות עתיות כלכליות ויחסים בין מדדים – ARX הוא בעצם הרחבה של מודל ARMA המוכר מהסטטיסטיקה.

דוגמה: זיהוי דינמיקת מנוע DC

נניח שהקלט u(k) הוא מתח האספקה למנוע, והפלט y(k) הוא מהירות הסיבוב הנמדדת באנקודר. ידוע שמנוע DC הוא בקירוב טוב מערכת מסדר ראשון או שני (תלוי האם משלבים את האינדוקטנס). ניסוי זיהוי מהיר עם קלט PRBS למשך 30 שניות ייצר נתונים שמתוכם ARX(2,2,1) ייתן לרוב מודל בעל אחוזי התאמה של מעל 90% – מודל שיכול לשמש מיד לתכנון בקר מהירות.

פרק 12

שאלות נפוצות

האם אפשר להשתמש ב־ARX למערכות לא ליניאריות?

ARX הוא מודל ליניארי, אבל ניתן להשתמש בו כקירוב סביב נקודת עבודה. במערכות לא ליניאריות מובהקות עדיף לעבור להרחבות כמו NARX (Nonlinear ARX), Hammerstein-Wiener, או רשתות נוירונים.

מה ההבדל בין ARX ל־AR?

מודל AR (Auto-Regressive) מתאר סדרת נתונים יחידה ללא קלט חיצוני – למשל מדד פיננסי. ARX מוסיף קלט חיצוני u, ולכן מתאים לזיהוי מערכות דינמיות עם הפעלה ידועה.

כמה דגימות צריך לזיהוי ARX מוצלח?

כלל אצבע: לפחות פי 10–20 ממספר הפרמטרים שאתם אומדים, ובכל מקרה לא פחות מכמה מאות דגימות. עבור דיוק סטטיסטי גבוה מומלץ אלפי דגימות.

מה לעשות אם המודל לא יציב?

קטבים מחוץ למעגל היחידה מצביעים על מודל לא יציב. בדקו את הנתונים שלכם – לעיתים זה נובע מ־DC לא מוסר, מקלט עני בתדרים, או מסדר מודל גבוה מדי. ניתן גם לשקול שימוש ב־OE כתחליף.

איך מודל ARX קשור לפונקציית תמסורת?

מודל ARX מתאים לפונקציית תמסורת בדידה \(G(z)=\frac{B(z)}{A(z)}\). לאחר אמידת הפרמטרים ניתן לחלץ פונקציית תמסורת מלאה ולנתח אותה כמו במערכת קלאסית – Bode, Nyquist, מקומות קטבים ואפסים.

האם ARX מטפל בהפרעות מדידה?

ARX מניח שהרעש הוא לבן ומופעל דרך \(1/A\). אם הרעש בפועל צבוע או מורכב יותר, האמידה תיהיה מוטה. ארבעת המודלים האלטרנטיביים – ARMAX, OE, BJ – מטפלים בכך טוב יותר.

האם ניתן להשתמש ב־ARX באופן מקוון (Online)?

כן. גרסת RLS (Recursive Least Squares) של ARX מאפשרת עדכון פרמטרים בכל דגימה חדשה, ומתאימה למערכות בקרה אדפטיבית או למעקב אחר שינויים בדינמיקה לאורך הזמן.

פרק 13

סיכום

מודל ARX הוא נקודת פתיחה מצוינת ללימוד זיהוי מערכות. הוא מציג בצורה ברורה את הרעיון המרכזי של התחום: שימוש בנתוני עבר של הקלט והפלט כדי לבנות מודל דינמי המסוגל לחזות את התנהגות המערכת ולשמש כבסיס לבקרה ולסימולציה.

החוזק הגדול של ARX הוא הפשטות: המודל ליניארי בפרמטרים, ניתן לאמידה בעזרת ריבועים פחותים בעלות חישובית נמוכה, ונותן בסיס מצוין להבנת מושגי יסוד כמו סדר מודל, השהיית קלט, שאריות, אימות מודל והתאמת יתר. יחד עם זאת, במערכות מורכבות או רועשות במיוחד ייתכן שיהיה צורך לעבור למודלים מתקדמים יותר.

שמונה כללי האצבע של ARX

1. תכננו ניסוי עם קלט עשיר בתדרים (PRBS).
2. בחרו Ts מהיר פי 5–10 מהדינמיקה.
3. הסירו DC ומגמות לפני האמידה.
4. חלקו לאימון ובדיקה לפני שמתחילים.
5. התחילו בסדרים נמוכים והגדילו לפי הצורך.
6. אמתו עם compare ו־resid, לא רק עם FPE.
7. ודאו יציבות – קטבים בתוך מעגל היחידה.
8. אם הרעש מורכב – עברו ל־ARMAX.

השלב הבא

לאחר הבנת מודל ARX, מומלץ להמשיך למודל ARMAX, שבו מתווסף תיאור מפורש יותר של דינמיקת הרעש באמצעות פולינום C נוסף. ARMAX מאפשר לתפוס מצבים שבהם רעש המדידה אינו לבן ומסייע לקבל אומדים לא מוטים גם בתנאים מאתגרים.

מעבר למודל ARMAX
Scroll to Top