سیستمهای گسسته یکی از بخشهای مهم در مهندسی کنترل، پردازش سیگنال، سیستمهای دیجیتال و شبیهسازی هستند. در این سیستمها، برخلاف مدلهای پیوسته، اطلاعات و وضعیت سیستم در زمانهای مشخص و نمونهبرداریشده بررسی و بهروزرسانی میشوند.
Simulink مجموعهای از بلوکهای تخصصی برای مدلسازی سیستمهای گسسته در اختیار کاربر قرار میدهد. کتابخانه Discrete شامل بلوکهایی مانند Unit Delay، Discrete-Time Integrator، Discrete Transfer Fcn، Discrete State-Space، Discrete PID Controller، Zero-Order Hold و فیلترهای گسسته است.
مفهوم سیستم گسسته
در یک سیستم گسسته، وضعیت سیستم فقط در زمانهای مشخص مورد بررسی قرار میگیرد. این زمانها معمولاً با فاصلهای مشخص از یکدیگر قرار دارند و به این فاصله، زمان نمونهبرداری (Sample Time) گفته میشود.
برای مثال، در یک سیستم کنترل دیجیتال، کنترلکننده ممکن است در هر لحظه نمونهبرداری مشخص، مقدار ورودی را دریافت کرده، وضعیت سیستم را محاسبه کند و فرمان جدیدی ایجاد نماید.
در Simulink، هر بلوک دارای مفهوم Sample Time است و این زمان تعیین میکند که بلوک چه زمانی اجرا یا بهروزرسانی شود.
تفاوت سیستمهای پیوسته و گسسته
در سیستم پیوسته، متغیرهای حالت میتوانند در تمام لحظات زمان تغییر کنند؛ در حالی که در سیستم گسسته، حالت سیستم در نقاط زمانی مشخص بهروزرسانی میشود.
این تفاوت در مدلسازی بسیار مهم است. استفاده از یک بلوک پیوسته در بخشی از مدل که انتظار رفتار گسسته از آن وجود دارد، میتواند باعث ایجاد رفتار متفاوت از سیستم واقعی شود.
به همین دلیل، شناخت نوع Sample Time بلوکها یکی از مهارتهای اساسی در مدلسازی Simulink است.
مفهوم Sample Time
Sample Time مشخص میکند که یک بلوک یا سیگنال با چه فاصله زمانی نمونهبرداری یا اجرا شود.
در Simulink، زمان نمونهبرداری میتواند بهصورت گسسته، پیوسته یا به شکل Inherited باشد. در حالت Inherited، زمان نمونهبرداری از ساختار مدل و بلوکهای متصل تعیین میشود.
انتخاب صحیح Sample Time تأثیر مستقیمی بر رفتار مدل و نتایج شبیهسازی دارد.
کتابخانه Discrete در Simulink
کتابخانه Discrete یکی از مهمترین کتابخانهها برای ساخت مدلهای گسسته است.
این کتابخانه شامل مجموعهای از بلوکهای آماده برای ایجاد تأخیر، فیلترهای گسسته، انتگرالگیری گسسته، مدلهای فضای حالت، توابع انتقال گسسته و کنترلکنندههای دیجیتال است.
شناخت این کتابخانه باعث میشود بتوان بسیاری از مدلهای کنترلی و پردازش سیگنال را بدون ساختن تمام اجزای مدل از ابتدا ایجاد کرد.
بلوک Unit Delay
بلوک Unit Delay یکی از پرکاربردترین بلوکها در مدلسازی سیستمهای گسسته است.
این بلوک مقدار ورودی را به اندازه یک دوره نمونهبرداری به تأخیر میاندازد و مقدار قبلی سیگنال را در اختیار بخش بعدی مدل قرار میدهد. همچنین میتوان مقدار اولیه و زمان نمونهبرداری آن را تعیین کرد.
Unit Delay در پیادهسازی الگوریتمهای دیجیتال، سیستمهای بازگشتی و مدلهای دارای حافظه کاربرد زیادی دارد.
بلوک Delay
بلوک Delay برای ایجاد تأخیر در سیگنال استفاده میشود و نسبت به Unit Delay انعطاف بیشتری برای ایجاد تأخیرهای مختلف دارد.
این بلوک در مدلهایی که رفتار زمانی یا حافظهای سیستم اهمیت دارد، کاربرد فراوانی پیدا میکند.
انتخاب بین Delay و Unit Delay به ساختار مدل و نوع تأخیری که باید ایجاد شود بستگی دارد.
بلوک Memory
بلوک Memory نیز امکان استفاده از مقدار قبلی یک سیگنال را فراهم میکند، اما مفهوم آن با Unit Delay یکسان نیست.
در شرایطی که Memory دارای Sample Time گسسته باشد، رفتاری مشابه Unit Delay پیدا میکند؛ با این حال قابلیتها و کاربردهای این دو بلوک کاملاً یکسان نیستند. برای مثال، Unit Delay از ثبت حالت پشتیبانی میکند، در حالی که Memory چنین قابلیتی ندارد.
بلوک Zero-Order Hold
بلوک Zero-Order Hold برای نگهداشتن مقدار یک سیگنال در طول یک دوره نمونهبرداری استفاده میشود.
این بلوک همچنین یکی از اجزای مهم در ارتباط میان سیگنالهای پیوسته و گسسته است. در چنین شرایطی میتوان سیگنال پیوسته را نمونهبرداری کرده و مقدار آن را تا نمونه بعدی ثابت نگه داشت.
Zero-Order Hold در مدلسازی سیستمهای کنترل دیجیتال و شبیهسازی فرآیند نمونهبرداری بسیار مهم است.
تفاوت Unit Delay و Zero-Order Hold
اگرچه Unit Delay و Zero-Order Hold هر دو با مفهوم تأخیر و نمونهبرداری ارتباط دارند، هدف آنها یکسان نیست.
Unit Delay برای ایجاد تأخیر بر اساس یک Sample Time گسسته استفاده میشود، در حالی که Zero-Order Hold بیشتر برای نگهداشتن نمونه ورودی و تبدیل رفتار پیوسته به سیگنال گسسته کاربرد دارد. مستندات رسمی Simulink نیز این تفاوت کاربردی را بهطور مشخص بیان میکنند.
بلوک Discrete-Time Integrator
بلوک Discrete-Time Integrator برای ایجاد رفتار انتگرالی در یک مدل کاملاً گسسته استفاده میشود.
این بلوک امکان تعیین مقدار اولیه، محدودیتهای بالا و پایین، ورودی Reset و روشهای مختلف انتگرالگیری یا انباشت را فراهم میکند.
این بلوک در مدلسازی کنترلکنندههای دیجیتال، سیستمهای دینامیکی گسسته و الگوریتمهای عددی بسیار کاربردی است.
بلوک Discrete Transfer Fcn
برای مدلسازی سیستمهایی که با تابع انتقال گسسته توصیف میشوند، میتوان از Discrete Transfer Fcn استفاده کرد.
این بلوک زمانی بسیار مفید است که مدل سیستم از طریق رفتار ورودی و خروجی آن و در قالب یک تابع انتقال گسسته بیان شده باشد.
به کمک این بلوک میتوان ساختارهای مختلف سیستمهای کنترل دیجیتال و فیلترهای گسسته را در محیط Simulink ایجاد کرد.
بلوک Discrete State-Space
در سیستمهایی که نمایش فضای حالت برای آنها مناسبتر است، میتوان از Discrete State-Space استفاده کرد.
این بلوک برای مدلسازی سیستمهایی که چند متغیر حالت دارند بسیار مناسب است و امکان ایجاد مدلهای چندمتغیره و دینامیکی پیچیدهتر را فراهم میکند.
در مدلهای کنترلی پیشرفته، استفاده از فضای حالت گسسته میتواند نسبت به مدلسازی مستقیم با چندین بلوک ساده، ساختار منظمتری ایجاد کند.
فیلترهای گسسته
Simulink برای مدلسازی فیلترهای دیجیتال نیز بلوکهای مختلفی در اختیار کاربر قرار میدهد.
بلوکهایی مانند Discrete FIR Filter و Discrete Filter امکان ایجاد ساختارهای مختلف فیلترهای گسسته را فراهم میکنند.
این قابلیتها در پردازش سیگنال، حذف نویز و آمادهسازی سیگنال برای سیستمهای کنترل دیجیتال اهمیت زیادی دارند.
بلوکهای جمع، بهره و منطق
تمام مدلهای گسسته الزاماً از بلوکهای تخصصی Discrete ساخته نمیشوند.
بلوکهایی مانند Gain، Sum، Product، Switch، Relational Operator و Logical Operator نیز در بسیاری از مدلهای گسسته استفاده میشوند.
این بلوکها امکان ایجاد روابط محاسباتی، تصمیمگیری و ساخت منطق کنترلی را در کنار بلوکهای حافظهدار و گسسته فراهم میکنند.
ساخت یک مدل گسسته
ساخت یک مدل گسسته در Simulink معمولاً با تعیین ورودی، انتخاب بلوکهای پردازشی، تعریف عناصر حافظه یا تأخیر و مشخص کردن خروجی آغاز میشود.
در ادامه باید Sample Time اجزای مختلف مدل بررسی شود تا سازگاری زمانی بین بلوکها برقرار باشد.
پس از تکمیل ساختار مدل، میتوان شبیهسازی را اجرا و رفتار سیگنالها و متغیرهای سیستم را بررسی کرد.
مدیریت Sample Time در مدل
یکی از چالشهای مهم در مدلهای گسسته، وجود چند نرخ نمونهبرداری است.
اگر بخشهای مختلف مدل با نرخهای متفاوت کار کنند، باید انتقال بین این نرخها بهدرستی مدیریت شود. برای تغییر نرخ نمونهبرداری، Simulink بلوک Rate Transition را در اختیار کاربر قرار میدهد.
استفاده از Delay، Unit Delay یا Zero-Order Hold صرفاً برای ایجاد Rate Transition همیشه روش مناسبی نیست و مستندات Simulink توصیه میکنند برای انتقال واقعی نرخ نمونهبرداری از Rate Transition استفاده شود.
مدلسازی سیستم کنترل دیجیتال
یکی از مهمترین کاربردهای سیستمهای گسسته، طراحی و شبیهسازی کنترلکنندههای دیجیتال است.
در چنین مدلی، سیگنال اندازهگیریشده نمونهبرداری میشود، کنترلکننده در زمانهای مشخص محاسبات خود را انجام میدهد و فرمان کنترلی جدید تولید میشود.
بلوکهای Delay، Unit Delay، Discrete-Time Integrator، Discrete PID Controller و سایر بلوکهای گسسته میتوانند اجزای اصلی چنین مدلی را تشکیل دهند.
اهمیت شرایط اولیه
بسیاری از بلوکهای دارای حالت، مانند Unit Delay و Discrete-Time Integrator، دارای شرایط اولیه هستند.
مقدار اولیه میتواند رفتار مدل را در ابتدای شبیهسازی تحت تأثیر قرار دهد. بنابراین انتخاب آن نباید صرفاً به مقدار پیشفرض واگذار شود.
برای مدلهایی که وضعیت اولیه سیستم اهمیت فیزیکی دارد، باید شرایط اولیه بر اساس شرایط واقعی یا فرضیات مسئله تعیین شوند.
بررسی نتایج شبیهسازی
پس از اجرای مدل، باید خروجیها و رفتار سیگنالها بررسی شوند.
در مدلهای گسسته، علاوه بر مقدار سیگنال، زمانهای نمونهبرداری و تغییرات حالتها نیز اهمیت دارند.
نمایش مناسب سیگنالها و بررسی رفتار آنها در طول شبیهسازی میتواند خطاهای مربوط به Sample Time، تأخیرها و شرایط اولیه را آشکار کند.
خطاهای رایج در مدلسازی سیستمهای گسسته
یکی از خطاهای رایج، انتخاب نادرست زمان نمونهبرداری است.
عدم توجه به تفاوت بین سیستم پیوسته و گسسته، استفاده نادرست از Memory به جای Unit Delay، استفاده از Zero-Order Hold برای هدفی غیر از نگهداری نمونه و مدیریت نادرست انتقال نرخ نمونهبرداری نیز میتواند باعث ایجاد رفتار نامطلوب در مدل شود.
شناخت تفاوت عملکرد بلوکها و توجه به Sample Time میتواند بخش بزرگی از این خطاها را کاهش دهد.
مزایای مدلسازی گسسته در Simulink
مدلسازی گسسته در Simulink امکان بررسی سیستمهای دیجیتال را در محیطی گرافیکی و قابل فهم فراهم میکند.
از مهمترین مزایای این روش میتوان به ساخت مدلهای قابل مشاهده، استفاده از بلوکهای آماده، امکان تغییر سریع ساختار سیستم، بررسی سیگنالها و آزمایش سناریوهای مختلف اشاره کرد.
همچنین میتوان مدلهای گسسته را بهعنوان بخشی از فرآیند طراحی کنترلکنندهها و سیستمهای دیجیتال مورد استفاده قرار داد.
جمعبندی
درک مفاهیم پایه سیستمهای گسسته، پیشنیاز مهمی برای کار حرفهای با Simulink در حوزه کنترل دیجیتال، پردازش سیگنال و مدلسازی سیستمهای نمونهبرداریشده است.
در این مبحث، مفاهیمی مانند Sample Time، حالت گسسته، تأخیر، حافظه، نمونهبرداری و انتقال نرخ اهمیت اساسی دارند. بلوکهایی مانند Unit Delay، Delay، Memory، Zero-Order Hold، Discrete-Time Integrator، Discrete Transfer Fcn و Discrete State-Space نیز از مهمترین ابزارهای مدلسازی سیستمهای گسسته هستند.
با تسلط بر این مفاهیم، میتوان مدلهای گسسته را در Simulink بهصورت اصولی ایجاد کرد و در ادامه به مباحث پیشرفتهتر مانند طراحی کنترلکنندههای دیجیتال، فیلترهای گسسته، سیستمهای چندنرخی و پیادهسازی الگوریتمهای کنترلی پرداخت.
کلیدواژه ها : سیستمهای گسسته-Discrete Systems-مدلسازی سیستمهای گسسته-Discrete System Modeling-سیمولینک-Simulink-مدلسازی در سیمولینک-Simulink Modeling-زمان نمونهبرداری-Sample Time-نمونهبرداری-Sampling-سیگنال گسسته-Discrete Signal-سیستم زمان گسسته-Discrete-Time System-بلوکهای گسسته-Discrete Blocks-کتابخانه Discrete در سیمولینک-Simulink Discrete Library-بلوک Unit Delay-Unit Delay Block-بلوک Delay-Delay Block-بلوک Memory-Memory Block-بلوک Zero-Order Hold-Zero-Order Hold Block-انتگرالگیر گسسته-Discrete-Time Integrator-تابع انتقال گسسته-Discrete Transfer Function-فضای حالت گسسته-Discrete State-Space-فیلتر FIR گسسته-Discrete FIR Filter-فیلتر IIR گسسته-Discrete IIR Filter-کنترل دیجیتال-Digital Control-کنترلکننده گسسته-Discrete Controller-مدلسازی کنترل دیجیتال-Digital Control Modeling-شرایط اولیه-Initial Conditions-حالت گسسته-Discrete State-تأخیر گسسته-Discrete Delay-نرخ نمونهبرداری-Sampling Rate-انتقال نرخ نمونهبرداری-Rate Transition-بلوک Rate Transition-Rate Transition Block-مدلسازی سیگنال-Signal Modeling-شبیهسازی سیستمهای گسسته-Discrete System Simulation-تحلیل سیستمهای گسسته-Discrete System Analysis-آموزش سیمولینک-Simulink Tutorial-آموزش مدلسازی در سیمولینک-Simulink Modeling Tutorial-بلوکهای پرکاربرد سیمولینک-Common Simulink Blocks-دوره جامع سیمولینک-Simulink Comprehensive Course