حل معادله حالت (استفاده از فرم فضای حالت) یکی از روش‌های معروف برای حل معادلات دیفرانسیل است. در این فضا یک معادله دیفرانسیل مرتبه n، به صورت n معادله مرتبه اول مستقل بیان می‌شود. مزیت استفاده از فرم فضای حالت سادگی حل معادله دیفرانسیل و پیاده‌سازی راحت در کامپیوترهای دیجیتال است. در این مطلب به بیان چگونگی حل معادلات دیفرانسیل و معادلات تفاضلی (گسسته) پرداخته می‌شود.

محتوای این مطلب جهت یادگیری بهتر و سریع‌تر آن، در انتهای متن به صورت ویدیویی نیز ارائه شده است.

برای مشاهده ویدیوها کلیک کنید.

حل معادله حالت برای سیستم‌های پیوسته در زمان

در حالت کلی سیستم‌های دینامیکی به صورت زیر مدل‌سازی می‌شوند:

$$\dot{x} = f(x,u,t).$$

$$y = g(x,u,t)$$

در مورد سیستم‌های خطی نامتغیر با زمان، این معادله را می‌توان به صورت زیر بازنویسی کرد:

$$\frac{d x(t) }{dt} = A x(t) + B u(t)$$

$$y(t) = C x(t) + D u(t)$$

حال هدف این است که معادلات سیستم بالا را حل کنیم تا یک فرم بسته (Closed Form) به صورت تابعی از متغیرهای بردار حالت $$x(t)$$ و بردار اندازه‌گیری $$y(t)$$ به دست آوریم.

نمایش فضای حالت سیستم پیوسته در زمان
نمایش فضای حالت سیستم پیوسته در زمان

حالت $$\Large u(t) =0$$ برای تمام زمان‌های $$\Large t $$

برای حل معادله حالت ابتدا حالت ساده‌ای که برای تمام زمان‌های $$t$$، $$u(t) =0$$ است را در نظر می‌گیریم. در این مورد معادلات حالت به فرم زیر بازنویسی می‌شوند:

$$\frac{d x(t) }{dt} = A x(t)$$

$$y(t) = C x(t)$$

از معادلات دیفرانسیل پایه می‌دانیم که برای یک $$\alpha$$ اسکالر، حل $$\dot{\alpha} = a \alpha$$ برابر با $$\alpha(t) = \alpha_0 exp(at)$$ است. اگر $$\alpha$$ بردار و $$A$$ ماتریس باشند، حلی مشابه به صورت زیر به دست می‌آید:

$$x(t) = e^{At} x_0$$

توجه کنید که چون $$A$$ یک ماتریس است، نیاز داریم که توان آن را به صورت زیر تعریف کنیم:

$$e^{At} = I + At + \frac{A^2t^2}{2!} + \frac{A^3t^3}{3!} + \frac{A^4t^4}{4!} + \dots$$

اگر حالت در لحظه $$\tau$$ مشخص باشد، آنگاه حل $$\dot{x} = Ax$$ برابر است با:

$$x(t) = e^{A(t-\tau)} x(\tau)$$

اگر ماتریس $$A$$ را بتوان به صورت $$A = V \Lambda V^{-1}$$ نوشت، آنگاه این ماتریس دارای بردارهای ویژه (Eigen Vector) خطی و مستقل است. در این حالت جواب را می‌توان به صورت زیر نوشت:

$$x(t) = e^{A(t)} x_0 = \left ( I + At + \frac{A^2t^2}{2!} + \dots \right) x_0$$

با جایگذاری $$A = V \Lambda V^{-1}$$ در معادله بالا داریم:

$$x(t) = V \left ( I + \Lambda t +
\frac{\Lambda^2t^2}{2!} + \dots \right) V^{-1} x_0$$

$$x(t) = V e^{\Lambda t} V^{-1} x_0,$$

در معادله بالا $$e^{\Lambda t}$$ ماتریسی است که المان‌های خارج از قطر اصلی آن صفر هستند و المان $$i$$ روی قطر برابر با $$e^{\lambda_i t}$$ است. اگر قسمت حقیقی مقادیر ویژه ماتریس $$A$$ منفی باشد، در این صورت $$e^{\lambda_i t}$$ است، در غیر این صورت $$x(t) \rightarrow \infty$$. این مشخصه در طراحی سیستم‌های کنترل بسیار ضروری است. زیرا در یک سیستم کنترلی، قانون کنترلی (Control Law) به نحوی تعیین می‌شود که مقادیر ویژه اصلاح شده دینامیک سیستم دارای قسمت حقیقی منفی باشند.

حل عمومی

در این قسمت به دنبال یافتن پاسخ خاص برای معادله کلی $$\frac{d x(t) }{dt} = A x(t) + B u(t)$$ به فرم $$x(t) = e^{At} c(t)$$ خواهیم بود. با جایگذاری $$x(t) = e^{At} c(t)$$ و بسط آن داریم:

$$A e^{At} c(t) + e^{At} \frac{d c }{dt} = A e^{At} c(t) + B u(t)$$

پس از ساده‌سازی معادله به صورت زیر خواهد بود:

$$\frac{d c }{dt} = e^{-At} B u(t)$$

از معادله بالا نسبت به زمان انتگرال می‌گیریم:

$$c(t) = \int_{0}^{t} e^{-A \lambda } B u(\lambda) d\lambda + constant$$

بنابراین حل معادله $$\frac{d x(t) }{dt} = A x(t) + B u(t)$$ برابر است با:

$$x(t) = e^{At}c(t) = e^{At} \int_{0}^{t} e^{-A \lambda } B u(\lambda) d\lambda + e^{At} constant$$

توجه کنید که $$x(0) = x_0$$ است.

$$x(t) = e^{At}c(t) = e^{At} x_0 + \int_{0}^{t} e^{A(t- \lambda) } B u(\lambda) d\lambda $$

در نتیجه پاسخ معادله دیفرانسیل در فضای حالت برابر است با:

$$x(t) = e^{At} x_0 + \int_{0}^{t} e^{A(t- \lambda) } B u(\lambda) d\lambda $$

در حالتی که مقدار $$x$$ در نقطه $$\tau$$ مشخص باشد، داریم:

$$x(t) = e^{A(t-\tau)} x(\tau) + \int_{\tau}^{t} e^{A(t- \lambda) } B u(\lambda) d\lambda $$

این پاسخ دارای مشخصه‌های زیر است:

  1. پاسخ $$x(t)$$ فقط به سیگنال کنترلی در بازه 0 (یا $$\tau$$) و لحظه حال ($$t$$) بستگی خواهد داشت.
  2. این قانون که اگر $$e^{At}$$ (یا $$e^{A(t-\tau)}$$) محدود باشد، $$x(t)$$ محدود خواهد بود، دیگر صادق نیست، زیرا پاسخ $$x(t)$$ به $$B$$ و نیز سیگنال کنترل $$u(t)$$ بستگی دارد.

حل معادله حالت برای سیستم‌های گسسته در زمان

دینامیک سیستم‌های گسسته در زمان‌ به صورت کلی توسط معادله زیر توصیف می‌شوند:

$$X[k+1] = f(x[k],u[k])$$

$$y[k] = g(x[k],u[k])$$

برای سیستم‌های خطی تغییرناپذیر با زمان، این معادلات را می‌توان به صورت زیر نوشت:

$$x[k+1] = A x[k] + B u[k]$$

$$y[k] = C x[k] + D u[k]$$

نمایش فضای حالت سیستم گسسته در زمان
نمایش فضای حالت سیستم گسسته در زمان

زمانی که $$u[k] = 0$$ باشد، دینامیک سیستم به صورت زیر است:

$$x[k+1] = A x[k]$$

به سادگی می‌توان نشان داد که پاسخ در این حالت برابر است با:

$$x[k+1] = A^{k+1} x[0]$$

با جایگذاری $$A^{k+1} = V \Lambda^{k+1} V^{-1}$$ داریم:

$$x[k+1] = V \Lambda^{k+1} V^{-1} x[0]$$

اگر اندازه تمام مقادیر ویژه ماتریس $$A$$ کمتر از یک باشد، آنگاه $$x[k+1]$$ به سمت صفر همگرا خواهد شد، در غیر این صورت به $$\infty$$ میل می‌کند.

نکته: در مورد سیستم‌های پیوسته در زمان، این شرط برقرار است که اگر مقادیر ویژه منفی باشند، پاسخ به سمت صفر همگرا می‌شود. اما در سیستم گسسته اگر اندازه مقدار ویژه کمتر از یک باشد، این حالت اتفاق می‌افتد. در واقع هر دو شرط معادل یکدیگر هستند.

حل بازگشتی

برای حل معادله حالت به صورت بازگشتی، معادله در لحظه اول را به دست می‌آوریم:

$$x[1] = A x[0] + B u[0]$$

حال معادله برای لحظه دوم برابر است با:

$$x[2] = A x[1] + B u[1]$$

با جایگذاری معادله به دست آمده برای لحظه اول در معادله لحظه دوم داریم:

$$x[2] = A ( A x[0] + B u[0] ) + B u[1]$$

$$x[2] = A^2 x[0] + A B u[0] + B u[1]$$

به طریق مشابه، برای $$X[3]$$ داریم:

$$x[3] = A^3 x[0] + A^2 B u[0] + A B u[1] + B u[2]$$

بر اساس روند معادلات بالا برای $$x[k]$$ جواب زیر استنتاج می‌شود:

$$x[k] = A^{k} x[0] + \sum_{i=0}^{k-1}A^{k-i} B u[i]$$

حال با توجه به $$x[k]$$، مقدار $$x[k+1]$$ برابر است با:

$$x[k+1] = A x[k] + B u[k]$$

مقدار $$x[k]$$ به دست آمده را در معادله بالا جایگذاری می‌کنیم:

$$x[k+1] = A \left( A^{k} x[0] + \sum_{i=0}^{k-1}A^{k-i-1} B u[i] \right) + B u[k]$$

$$x[k+1] = A^{k+1} x[0] + \sum_{i=0}^{k-1}A^{k-i} B u[i] + B u[k]$$

$$x[k+1] = A^{k+1} x[0] + \sum_{i=0}^{k}A^{k-i} B u[i]$$

چون معادله $$x[k+1]$$ پس از جایگذاری $$k$$ با $$k+1$$ فرمی مشابه با $$x[k]$$ دارد، در نتیجه پاسخ به صورت زیر خواهد بود:

$$x[k] = A^{k} x[0] + \sum_{i=0}^{k-1}A^{k-i} B u[i]$$

این پاسخ دارای مشخصه‌های زیر است:

  1. پاسخ برای $$x[k]$$ فقط به سیگنال کنترلی در بازه 0 تا لحظه حال (k) بستگی دارد.
  2. این قانون که اگر $$A^{k}$$ محدود باشد، $$x(t)$$ محدود است، دیگر صادق نخواهد بود، زیرا پاسخ $$x(t)$$ به $$B$$ و نیز سیگنال کنترل $$u(t)$$ بستگی دارد.

ارتباط بین نمایش پیوسته و گسسته در زمان

در معادلات بالا برای حل معادله حالت، با سیستم‌های پیوسته و گسسته در زمان به نحوی متفاوت برخورد کردیم. اما یک سیستم پیوسته در زمان را می‌توان به فرم گسسته در زمان نیز نوشت. معادله سیستم پیوسته در زمان زیر را در نظر بگیرید:

$$\frac{d x(t) }{dt} = A x(t) + B u(t)$$

$$y(t) = C x(t) + D u(t)$$

مشتق $$x[t]$$ تقریبا به صورت زیر است:

$$\frac{d x(t) }{dt} = \frac{x[t+\Delta t] – x[t]}{\Delta t}$$

که در آن $$\Delta t$$ یک مقدار کوچک برای گسسته‌سازی سیستم است. انتخاب مناسب $$\Delta t$$ برای طراحی یک قانون کنترلی مناسب و مطالعه سیستم‌های دینامیکی توسط شبیه‌سازی بسیار ضروری است. هرچه $$\Delta t$$ کوچک‌تر باشد، جواب دارای دقت بیشتری خواهد بود، اما زمان شبیه‌سازی نیز افزایش خواهد یافت. در مقابل، مقدار بزرگ‌تر $$\Delta t$$ منجر به افزایش سرعت شبیه‌سازی می‌شود، ولی نتایج با دقت کمتری به دست خواهد آمد. انتخاب مقدار صحیح برای $$\Delta t$$ جواب با دقت مناسب در زمان شبیه‌سازی منطقی را تضمین می‌کند. شبیه‌سازی یک سیستم دینامیکی در بخش‌های مختلف مورد نیاز است. معمولا مقدار $$\Delta t$$ را برابر با 0٫001 ثانیه انتخاب می کنند. اما اگر سیستم به شدت غیرخطی باشد و یا میلیون‌ها پارامتر داشته باشد (مثلا در شبکه‌های عصبی)، یک $$\Delta t$$ بسیار کوچک‌تر از مرتبه $$10^{-6}$$ مورد نیاز است.

معادله دینامیکی سیستم به صورت زیر است:

$$\frac{x[t+\Delta t] – x[t]}{\Delta t} = A x(t) + B u(t)$$

$$x[t+\Delta t] = x[t]+ A \Delta t x(t) + B\Delta t u(t)$$

$$x[t+\Delta t] = (I+ A \Delta t) x(t) + B\Delta t u(t)$$

توجه کنید که اگر تمام مقادیر ویژه $$A$$ دارای قسمت حقیقی منفی باشند، آنگاه قسمت حقیقی تمام مقادیر ویژه $$(I+ A \Delta t)$$ برای یک مقدار کوچک $$\Delta t$$، کمتر از 1 هستند و $$e^{At}$$ یا $$(I+ A \Delta t)^k$$ زمانی که $$t,k \rightarrow \infty$$ به صفر همگرا می‌شوند.

جمع‌بندی

در این مطلب دیدیم که چگونه پاسخ معادلات دینامیکی سیستم نمایش داده شده در فرم فضای حالت، محاسبه می‌شود. همچنین به این نکته اشاره کردیم که اگر مقادیر ویژه در یک سیستم پیوسته در زمان دارای بخش حقیقی منفی باشند و یا در سیستم گسسته در زمان اندازه کمتر از 1 داشته باشند، زمانی که هیچ کنترلی اعمال نشود، حالت سیستم به سمت صفر میل خواهد کرد. این مشخصه بسیار ضروری است و برای طراحی قانون کنترلی به کار گرفته می‌شود. هرچند، قبل از طراحی قانون کنترلی باید از کنترل‌پذیری سیستم اطمینان حاصل کرد. به علاوه، چون قانون کنترلی تابعی از حالت‌های تخمین زده شده است، این نکته نیز ضروری است که مشخص شود آیا تمام حالت‌ها می‌توانند تخمین زده شوند (روئیت‌پذیر باشند) یا خیر.

اگر مطالب بیان شده برای شما مفید بوده و علاقه‌مند به یادگیری مباحث مرتبط با آن هستید، پیشنهاد می‌کنیم به آموزش‌های زیر مراجعه کنید:

^^

فیلم‌ های آموزش حل معادله حالت — از صفر تا صد (+ دانلود فیلم آموزش رایگان)

فیلم آموزشی حل معادله حالت برای سیستم‌های پیوسته در زمان

دانلود ویدیو

فیلم آموزشی حل معادله حالت برای سیستم‌های گسسته در زمان

دانلود ویدیو

فیلم آموزشی ارتباط فضای حالت پیوسته‌-زمان و گسسته‌-زمان

دانلود ویدیو

«مرضیه آقایی» دانش‌آموخته مهندسی برق است. فعالیت‌های کاری و پژوهشی او در زمینه کنترل پیش‌بین موتورهای الکتریکی بوده و در حال حاضر، آموزش‌های مهندسی برق مجله فرادرس را می‌نویسد.

بر اساس رای 5 نفر

آیا این مطلب برای شما مفید بود؟

یک نظر ثبت شده در “حل معادله حالت — از صفر تا صد (+ دانلود فیلم آموزش رایگان)

نظر شما چیست؟

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *