در بسیاری از سیستمهای مهندسی، خروجی یک سیستم تنها به یک متغیر وابسته نیست. ممکن است عملکرد یک تجهیز همزمان تحت تأثیر دما، فشار، سرعت، موقعیت، دبی یا چند پارامتر دیگر قرار داشته باشد. در چنین شرایطی استفاده از جدول جستجوی یکبعدی کافی نیست و باید از 2-D Lookup Table یا n-D Lookup Table استفاده کرد.
Lookup Tableها در Simulink برای نمایش روابط غیرخطی و تقریب توابع ریاضی یا دادههای تجربی به کار میروند. در جدول دوبعدی، خروجی تابعی از دو متغیر ورودی است و در جدول چندبعدی میتوان این ساختار را به سه، چهار یا تعداد بیشتری متغیر گسترش داد. Simulink در حال حاضر برای بلوک n-D Lookup Table امکان تعریف حداکثر ۳۰ بُعد را فراهم میکند.
مفهوم جدول جستجوی دوبعدی
2-D Lookup Table زمانی استفاده میشود که خروجی سیستم به دو متغیر مستقل وابسته باشد.
برای مثال، فرض کنید عملکرد یک تجهیز بهطور همزمان به دما و سرعت وابسته باشد. در این حالت یک محور جدول میتواند بیانگر دما و محور دیگر بیانگر سرعت باشد و مقدارهای داخل جدول عملکرد تجهیز را در ترکیبهای مختلف این دو متغیر نشان دهند.
بنابراین جدول دوبعدی را میتوان نوعی نقشه عملکرد از سیستم در نظر گرفت.
ساختار 2-D Lookup Table
یک جدول دوبعدی از سه بخش اصلی تشکیل میشود:
Breakpointهای بُعد اول
Breakpointهای بُعد دوم
Table Data
Breakpointهای بُعد اول و دوم محدوده تغییرات دو ورودی را مشخص میکنند و Table Data مقدار خروجی را برای ترکیبهای مختلف این دو متغیر در خود نگه میدارد.
در واقع هر خانه از جدول بیانگر مقدار خروجی در محل تقاطع یک مقدار از متغیر اول و یک مقدار از متغیر دوم است.
مفهوم Breakpoint در جدول دوبعدی
Breakpointها نقاط مرجعی هستند که رفتار سیستم در آنها مشخص شده است.
در یک جدول دوبعدی، برای هر یک از دو ورودی یک مجموعه Breakpoint تعریف میشود. این نقاط باید بهصورت مرتب و صعودی باشند تا Simulink بتواند موقعیت ورودی را در جدول بهدرستی مشخص کند.
به این ترتیب، هر ورودی میتواند بین دو Breakpoint قرار بگیرد و بلوک بر اساس تنظیمات Interpolation مقدار مناسب خروجی را تعیین کند.
مفهوم Table Data در جدول دوبعدی
Table Data شامل مقادیر خروجی مربوط به ترکیبهای مختلف دو متغیر ورودی است.
بنابراین اگر تعداد نقاط Breakpoint در یک بُعد مشخص باشد و تعداد نقاط بُعد دوم نیز مشخص شود، اندازه ماتریس دادههای جدول باید با این دو مجموعه سازگار باشد. Simulink این ارتباط میان اندازه جدول و تعداد Breakpointها را هنگام شبیهسازی بررسی میکند.
نحوه عملکرد جدول دوبعدی
هنگامی که دو ورودی وارد 2-D Lookup Table میشوند، بلوک ابتدا موقعیت هر ورودی را نسبت به Breakpointهای مربوط به آن مشخص میکند.
اگر هر دو ورودی دقیقاً روی نقاط جدول قرار داشته باشند، مقدار متناظر مستقیماً از جدول استخراج میشود.
اگر ورودیها بین Breakpointها قرار گرفته باشند، بلوک بر اساس روش درونیابی انتخابشده، مقدار خروجی را تخمین میزند.
درونیابی دوبعدی
در جدول دوبعدی، درونیابی باید تغییرات خروجی را در امتداد هر دو بُعد در نظر بگیرد.
به همین دلیل، مفهوم Interpolation در جدول دوبعدی نسبت به جدول یکبعدی گستردهتر است. Simulink روشهایی مانند Linear، Flat، Nearest، Linear Lagrange، Cubic Spline و Akima Spline را برای تقریب مقادیر بین نقاط جدول ارائه میکند.
انتخاب روش مناسب به ماهیت دادهها و میزان نرمی مورد انتظار از پاسخ بستگی دارد.
درونیابی خطی در جدول دوبعدی
روش Linear یکی از متداولترین روشهای درونیابی است.
این روش تلاش میکند تغییرات خروجی میان نقاط شناختهشده را بهصورت خطی تقریب بزند. سادگی و هزینه محاسباتی مناسب باعث شده است که در بسیاری از مدلهای مهندسی انتخاب مناسبی باشد.
برای مدلهایی که دادههای تجربی با تغییرات نسبتاً منظم دارند، این روش میتواند تعادل مناسبی میان سرعت و دقت ایجاد کند.
روش Nearest
در روش Nearest، مقدار نزدیکترین نقطه جدول برای تعیین خروجی مورد استفاده قرار میگیرد.
این روش زمانی میتواند مفید باشد که خروجی سیستم باید از مقادیر مشخص جدول انتخاب شود و ایجاد تغییرات نرم بین نقاط ضروری نباشد.
در مقایسه با روشهای پیوستهتر، خروجی این روش ممکن است در هنگام عبور ورودی از نقاط خاص تغییرات ناگهانیتری داشته باشد.
روش Flat
روش Flat نیز میتواند برای مدلهایی استفاده شود که در هر ناحیه از جدول، مقدار خروجی ثابت در نظر گرفته میشود.
این روش برای برخی مدلهای قطعهای و سیستمهایی که رفتار آنها بهصورت نواحی مجزا تعریف شده است مناسب است.
روشهای Spline
برای دادههایی که رفتار نرمتری دارند، روشهایی مانند Cubic Spline و Akima Spline میتوانند مورد توجه قرار گیرند.
این روشها امکان ایجاد تقریب نرمتر میان دادههای جدول را فراهم میکنند. با این حال، استفاده از روشهای پیچیدهتر باید با توجه به هزینه محاسباتی و ویژگی دادهها انجام شود.
Extrapolation در جدول دوبعدی
اگر یکی از ورودیها خارج از محدوده Breakpointهای مربوط به خود قرار گیرد، Lookup Table باید نحوه محاسبه خروجی خارج از محدوده دادههای موجود را مشخص کند.
این فرآیند Extrapolation نام دارد.
انتخاب روش مناسب Extrapolation اهمیت زیادی دارد، زیرا دادههای خارج از محدوده جدول معمولاً بر اساس اطلاعات واقعی در دسترس نیستند و خروجی تولیدشده میتواند صرفاً یک تخمین باشد. Simulink روشهایی مانند Linear و Clip و برخی روشهای مبتنی بر Spline را برای مدیریت شرایط خارج از محدوده ارائه میکند.
مفهوم Clip
در روش Clip، ورودی خارج از محدوده به نزدیکترین محدوده معتبر جدول محدود میشود.
این روش در سیستمهایی مفید است که نباید خروجی از محدوده دادههای معتبر فراتر برود.
برای مثال، اگر اطلاعات عملکرد یک تجهیز تنها برای محدوده مشخصی از دما معتبر باشد، Clip میتواند از ایجاد خروجی بر اساس extrapolation خارج از محدوده جلوگیری کند.
جدول چندبعدی n-D
وقتی خروجی سیستم به بیش از دو متغیر وابسته باشد، استفاده از n-D Lookup Table مناسبتر است.
در این ساختار، هر بُعد جدول متناظر با یک متغیر ورودی مستقل است.
برای نمونه، میتوان عملکرد یک تجهیز را بهصورت همزمان بر اساس دما، فشار، سرعت و موقعیت تعریف کرد. هرکدام از این متغیرها یک بُعد مستقل از جدول خواهند بود.
Simulink برای n-D Lookup Table امکان تعریف تعداد ابعاد از یک تا ۳۰ را فراهم میکند.
ساختار داده در جدول چندبعدی
با افزایش تعداد ابعاد، ساختار Table Data نیز پیچیدهتر میشود.
در یک جدول سهبعدی، دادهها دیگر صرفاً یک بردار یا ماتریس ساده نیستند و بهصورت یک آرایه چندبعدی سازماندهی میشوند.
در جدول چهار، پنج یا تعداد بیشتری بُعد نیز همین مفهوم ادامه پیدا میکند و هر مجموعه Breakpoint به یکی از ابعاد جدول مربوط میشود.
اندازه هر بُعد جدول باید با تعداد Breakpointهای همان بُعد سازگار باشد.
کاربرد n-D Lookup Table در سیستمهای صنعتی
جداول چندبعدی در مدلسازی تجهیزات پیچیده صنعتی کاربرد زیادی دارند.
برای مثال، عملکرد یک کمپرسور ممکن است به فشار، دما، سرعت دوران و شرایط محیطی وابسته باشد. ایجاد یک مدل تحلیلی دقیق برای چنین سیستمی ممکن است بسیار پیچیده باشد.
در این شرایط میتوان دادههای عملکرد تجهیز را در قالب یک جدول چندبعدی ذخیره کرد و Simulink را برای تخمین عملکرد در شرایط مختلف به کار گرفت.
مدلسازی دادههای تجربی
یکی از مهمترین کاربردهای جداول دوبعدی و چندبعدی، استفاده از Experimental Data است.
اگر عملکرد سیستم از طریق آزمایش در نقاط مختلف اندازهگیری شده باشد، میتوان این دادهها را به ساختار Breakpoint و Table Data تبدیل کرد.
در نتیجه، Lookup Table میتواند نقش یک مدل جانشین برای سیستم واقعی را ایفا کند؛ بدون اینکه لازم باشد یک رابطه ریاضی پیچیده برای آن استخراج شود.
MathWorks نیز Lookup Tableها را برای تقریب توابع ریاضی و دادههای تجربی معرفی میکند.
استفاده از MATLAB Workspace
دادههای Lookup Table الزاماً نباید مستقیماً در پنجره تنظیمات بلوک وارد شوند.
Simulink امکان استفاده از متغیرهای موجود در MATLAB Workspace را برای Table Data و Breakpointها فراهم میکند. این قابلیت برای پروژههایی که دادهها از فایل، محاسبات MATLAB یا فرآیندهای دیگر تولید میشوند بسیار کاربردی است.
این روش همچنین باعث میشود مدیریت دادههای بزرگ سادهتر شود.
Lookup Table Editor
برای مدیریت حرفهای جداول، Simulink ابزار Lookup Table Editor را ارائه میکند.
این ابزار امکان ایجاد، ویرایش و مدیریت دادههای Lookup Table را فراهم میکند و میتوان از طریق بلوکهای Lookup Table به آن دسترسی داشت. Lookup Table Editor از نسخه R2022a در Simulink در دسترس است.
در پروژههایی که تعداد زیادی جدول وجود دارد، استفاده از این ابزار میتواند سازماندهی دادهها را آسانتر کند.
استفاده از Lookup Table Object
در پروژههای بزرگ، میتوان دادههای جدول را بهصورت یک Simulink.LookupTable Object مدیریت کرد.
این روش امکان اشتراکگذاری دادههای جدول میان مدلها و مدیریت متمرکز Breakpointها و Table Data را فراهم میکند.
همچنین Lookup Table Object در فرآیندهای مرتبط با تولید کد و کاربردهای صنعتی میتواند مزایای مدیریتی و ساختاری داشته باشد.
Breakpointهای با فاصله مساوی
Breakpointها میتوانند بهصورت صریح تعریف شوند یا دارای فاصلههای مساوی باشند.
در حالت Even Spacing، بهجای ذخیره تمام نقاط، نقطه شروع و فاصله میان نقاط مشخص میشود و Simulink میتواند مجموعه Breakpointها را بر اساس این اطلاعات ایجاد کند.
استفاده از نقاط با فاصله مساوی میتواند در برخی کاربردهای تولید کد و پیادهسازی سختافزاری مزایایی داشته باشد.
روش جستجوی Breakpoint
Lookup Table برای تعیین ناحیهای که ورودی در آن قرار دارد، باید Breakpointهای مناسب را پیدا کند.
Simulink روشهای مختلفی مانند Binary Search، Linear Search و Evenly Spaced Points را برای انجام این عملیات ارائه میکند.
انتخاب روش جستجو میتواند بر عملکرد محاسباتی مدل تأثیر بگذارد، بهخصوص زمانی که جدول بزرگ باشد یا Lookup Table در بخشهای زیادی از مدل مورد استفاده قرار گیرد.
Prelookup در جداول چندبعدی
در مدلهای پیچیدهتر میتوان فرآیند پیدا کردن موقعیت ورودی در Breakpointها را از عملیات Interpolation جدا کرد.
بلوک Prelookup وظیفه تعیین شاخص و نسبت مربوط به موقعیت ورودی را بر عهده میگیرد و سپس بلوک Interpolation Using Prelookup از این اطلاعات برای محاسبه مقدار خروجی استفاده میکند. این ساختار میتواند انعطافپذیری بیشتری ایجاد کرده و در برخی شرایط عملکرد شبیهسازی را بهبود دهد.
تفاوت n-D Lookup Table و Direct Lookup Table
این دو بلوک کاربرد مشابهی در زمینه دادههای چندبعدی دارند، اما عملکردشان متفاوت است.
n-D Lookup Table برای تقریب مقدار تابع و درونیابی میان نقاط جدول استفاده میشود.
در مقابل، Direct Lookup Table (n-D) زمانی مناسب است که هدف صرفاً دسترسی مستقیم به یک عنصر، بردار یا ماتریس مشخص در جدول باشد و نیازی به Interpolation وجود نداشته باشد.
بنابراین انتخاب میان این دو بلوک به ماهیت عملیات مورد نیاز بستگی دارد.
تأثیر تعداد ابعاد بر پیچیدگی مدل
افزایش تعداد ابعاد جدول، انعطافپذیری مدل را بیشتر میکند اما حجم داده نیز میتواند بهشدت افزایش پیدا کند.
اگر هر بُعد تعداد زیادی Breakpoint داشته باشد، تعداد کل نقاط داده مورد نیاز ممکن است بسیار زیاد شود.
به همین دلیل در مدلهای چندبعدی باید میان دقت، حافظه مورد نیاز و سرعت اجرای مدل تعادل برقرار شود.
کاهش حجم دادههای جدول
در پروژههای صنعتی ممکن است حجم دادههای Lookup Table بسیار زیاد باشد.
در چنین شرایطی میتوان با بررسی رفتار سیستم، تعداد Breakpointها را بهینه کرد و تنها نقاطی را نگه داشت که برای نمایش مناسب رفتار سیستم ضروری هستند.
هدف این نیست که بیشترین تعداد داده ممکن در جدول قرار گیرد؛ بلکه باید با کمترین حجم داده، دقت مورد نیاز مدل تأمین شود.
Lookup Table و سیستمهای کنترلی
جداول دوبعدی و چندبعدی در سیستمهای کنترل نیز کاربرد زیادی دارند.
برای مثال، ممکن است پارامتر یک کنترلکننده به دو متغیر عملیاتی وابسته باشد. در این حالت میتوان از 2-D Lookup Table برای تعیین مقدار مناسب پارامتر در شرایط مختلف استفاده کرد.
اگر پارامتر به چندین متغیر وابسته باشد، n-D Lookup Table میتواند همین مفهوم را به ابعاد بیشتری گسترش دهد.
Lookup Table و مدلسازی غیرخطی
یکی از مهمترین کاربردهای این بلوکها، مدلسازی Nonlinearity است.
رفتار بسیاری از تجهیزات صنعتی بهصورت خطی قابل بیان نیست و ممکن است در محدودههای مختلف شرایط کاری، رفتار متفاوتی داشته باشد.
Lookup Table امکان ثبت مستقیم این رفتار را در قالب داده فراهم میکند و به همین دلیل یکی از روشهای رایج برای مدلسازی غیرخطی در Simulink محسوب میشود.
اهمیت اعتبارسنجی دادهها
کیفیت Lookup Table مستقیماً به کیفیت دادههای آن وابسته است.
اگر دادههای تجربی دارای خطای زیاد، نقاط پرت یا محدوده ناکافی باشند، حتی بهترین روش Interpolation نیز نمیتواند یک مدل کاملاً قابل اعتماد ایجاد کند.
بنابراین قبل از ایجاد جدول باید دادههای ورودی و خروجی بررسی، پاکسازی و اعتبارسنجی شوند.
انتخاب میان 1-D، 2-D و n-D
انتخاب نوع جدول باید بر اساس تعداد متغیرهای مستقل تعیینکننده خروجی انجام شود.
اگر تنها یک متغیر ورودی رفتار خروجی را تعیین کند، 1-D Lookup Table مناسب است.
اگر دو متغیر مستقل وجود داشته باشد، 2-D Lookup Table انتخاب طبیعی خواهد بود.
اگر تعداد متغیرهای مستقل بیشتر باشد، میتوان از n-D Lookup Table استفاده کرد.
در عین حال، افزایش تعداد ابعاد همیشه به معنی مدل بهتر نیست؛ زیرا در بسیاری از پروژهها افزایش ابعاد باعث افزایش شدید حجم داده و پیچیدگی مدل میشود.
جمعبندی
جداول 2-D و n-D Lookup Table ابزارهای قدرتمندی برای مدلسازی روابط چندمتغیره و غیرخطی در Simulink هستند. جدول دوبعدی برای سیستمهایی مناسب است که خروجی آنها به دو متغیر مستقل وابسته است، در حالی که n-D Lookup Table امکان گسترش این ساختار به چندین متغیر را فراهم میکند.
Breakpointها محدودههای ورودی را مشخص میکنند و Table Data رفتار خروجی را در نقاط مختلف ذخیره میکند. زمانی که ورودی دقیقاً روی یک نقطه جدول قرار نداشته باشد، Simulink میتواند از روشهای مختلف Interpolation برای تخمین مقدار مناسب استفاده کند و در صورت خارج شدن ورودی از محدوده نیز از روش Extrapolation تعیینشده بهره میگیرد.
در پروژههای حرفهای، انتخاب تعداد مناسب ابعاد، Breakpointها، روش جستجو، روش درونیابی و نحوه مدیریت دادهها اهمیت زیادی دارد. استفاده صحیح از Lookup Table میتواند یک مدل پیچیده و غیرخطی را با ساختاری سادهتر، قابل تنظیم و مناسب برای شبیهسازی و حتی تولید کد نمایش دهد.
کلیدواژه ها : 2-D Lookup Table-جدول جستجوی دوبعدی-n-D Lookup Table-جدول جستجوی چندبعدی-Lookup Table-جدول جستجو-Simulink Lookup Table-جدول جستجوی سیمولینک-Breakpoint-نقطه شکست-Breakpoint Vector-بردار نقاط شکست-Table Data-داده جدول-2D Interpolation-درونیابی دوبعدی-n-D Interpolation-درونیابی چندبعدی-Linear Interpolation-درونیابی خطی-Nearest Interpolation-درونیابی نزدیکترین مقدار-Flat Interpolation-درونیابی تخت-Cubic Spline-اسپلاین مکعبی-Akima Spline-اسپلاین آکیما-Extrapolation-برونیابی-Clip Extrapolation-برونیابی محدود-Binary Search-جستجوی دودویی-Linear Search-جستجوی خطی-Evenly Spaced Breakpoints-نقاط شکست با فاصله مساوی-Prelookup-پیشجستجو-Interpolation Using Prelookup-درونیابی با پیشجستجو-Direct Lookup Table-جدول جستجوی مستقیم-Lookup Table Editor-ویرایشگر جدول جستجو-Simulink Lookup Table Object-شیء جدول جستجوی سیمولینک-Nonlinear Modeling-مدلسازی غیرخطی-Empirical Data-داده تجربی-Experimental Data-داده آزمایشگاهی-Multivariable Modeling-مدلسازی چندمتغیره-Function Approximation-تقریب تابع-Data Mapping-نگاشت داده-Control System-سیستم کنترل-Gain Scheduling-زمانبندی بهره-Continuous System-سیستم پیوسته-Discrete System-سیستم گسسته-Real-Time Simulation-شبیهسازی بلادرنگ-Model-Based Design-طراحی مبتنی بر مدل-Code Generation-تولید کد-Simulink Modeling-مدلسازی سیمولینک-Multidimensional Table-جدول چندبعدی-Table Optimization-بهینهسازی جدول-Table Size-اندازه جدول-Table Data Management-مدیریت دادههای جدول