در مدلسازی و تحلیل سیستمهای الکتریکی و الکترومکانیکی، یکی از چالشهای مهم، افزایش سرعت شبیهسازی بدون کاهش دقت نتایج است. در بسیاری از سیستمهای جریان متناوب (AC)، بهویژه در کاربردهایی مانند ماشینهای سنکرون، مبدلهای قدرت و سیستمهای کنترل توان، رفتار سیستم شامل مؤلفههای سریع سینوسی و همچنین متغیرهای کندتر مانند دامنه، فاز و مقادیر DC است. در چنین شرایطی، استفاده از روشهای سنتی مبتنی بر معادلات زمانی (Time-Domain Formulation) ممکن است منجر به کاهش سرعت محاسبات و افزایش زمان اجرای شبیهسازی شود.
در این راستا، استفاده از حالت فازوری (Phasor Mode) یا همان فرمولبندی معادلات در حوزه فرکانس-زمان در محیط [“software”,”Simscape”,”MATLAB Simscape”] یک راهکار بسیار مؤثر برای افزایش بهرهوری شبیهسازی محسوب میشود. این روش امکان تحلیل دقیق رفتار سیستمهای AC را با گامهای زمانی بزرگتر فراهم میسازد، بدون آنکه دقت در متغیرهای کلان سیستم کاهش یابد.

مفهوم شبیهسازی در حالت فازور
در حالت فازور، به جای حل مستقیم معادلات دیفرانسیل وابسته به زمان برای سیگنالهای سینوسی، سیستم به صورت معادلاتی در حوزه دامنه و فاز مدلسازی میشود. این کار باعث میشود که نوسانات سریع سینوسی به صورت ضمنی در ساختار مدل در نظر گرفته شوند و تمرکز اصلی شبیهسازی بر روی تغییرات آهستهتر قرار گیرد.
در واقع، فرمولبندی فرکانس-زمان در [“software”,”MATLAB”,”MATLAB”] و [“software”,”Simscape”,”MATLAB Simscape”] این امکان را فراهم میکند که سیستمهای AC با یک فرکانس بنیادی مشترک، با دقت مناسب و سرعت بالاتر تحلیل شوند.
این روش بهخصوص زمانی کاربرد دارد که هدف از شبیهسازی، بررسی متغیرهایی مانند:
- دامنه ولتاژ یا جریان
- فاز سیگنالها
- رفتارهای DC خروجی
- پاسخهای کند سیستمهای الکترومکانیکی
باشد، نه تحلیل جزئیات نوسانات لحظهای سیگنال.
پیکربندی مدل شبیهسازی
در این شبیهسازی، از مدل استاندارد ee_sm_control استفاده میشود که شامل یک ماشین سنکرون و سیستم کنترل مرتبط است. در ابتدا مدل بارگذاری شده و تنظیمات اولیه برای اندازهگیری زمان اجرای شبیهسازی انجام میگیرد.
mdl = load_system('ee_sm_control');
open_system(mdl);
set_param(mdl,'StartFcn','tic;');
set_param(mdl,'StopFcn','tsim=toc;');
در این مرحله، از قابلیت callback در [“software”,”MATLAB”,”MATLAB”] استفاده میشود تا زمان اجرای هر شبیهسازی اندازهگیری گردد. این کار امکان مقایسه عملکرد حالت زمانی و حالت فازوری را فراهم میکند.
اجرای شبیهسازی در حالت زمانی
در حالت مرجع (Time-Based Simulation)، حلگر با استفاده از فرمولبندی زمانی، رفتار سیستم را با دقت بالا و گام زمانی کوچک محاسبه میکند. برای این منظور، تنظیمات زیر در بلوک Solver Configuration اعمال میشود:
- فعالسازی Local Solver
- تنظیم Sample Time برابر 1e-3
- انتخاب Equation Formulation به صورت Time
این تنظیمات را میتوان مستقیماً از طریق کد نیز اعمال کرد:
blk = find_system(mdl,'MaskType','Solver Configuration');
set_param(blk,'UseLocalSolver','on');
set_param(blk,'LocalSolverSampleTime','1e-3');
set_param(blk,'EquationFormulation','NE_TIME_EF');
پس از اجرای شبیهسازی، دادههای خروجی ذخیره شده و زمان اجرای مدل ثبت میشود. این دادهها شامل متغیرهای دینامیکی مهم سیستم مانند ولتاژ میدان و سرعت روتور هستند.
اجرای شبیهسازی در حالت فازور (Frequency-Time)
در گام بعدی، همان مدل در حالت فرکانس-زمان اجرا میشود. تفاوت اصلی این حالت در نحوه حل معادلات و همچنین امکان استفاده از گام زمانی بزرگتر است. در این حالت، سیستم به جای حل مستقیم نوسانات سریع، رفتار میانگین و فازوری سیگنالها را مدلسازی میکند.
تنظیمات Solver در این حالت به شکل زیر تغییر میکند:
- فعالسازی Local Solver
- افزایش Sample Time به 1e-2
- انتخاب Equation Formulation به صورت Frequency and Time
blk = find_system(mdl,'name','Solver Configuration');
set_param(blk,'UseLocalSolver','on');
set_param(blk,'LocalSolverSampleTime','1e-2');
set_param(blk,'EquationFormulation','NE_FREQUENCY_TIME_EF');
این تغییرات باعث کاهش تعداد گامهای محاسباتی و در نتیجه افزایش سرعت اجرای شبیهسازی میشود، در حالی که دقت در متغیرهای کند همچنان حفظ میگردد.
مقایسه نتایج حالت زمانی و فازوری
یکی از مهمترین مراحل در این تحلیل، مقایسه خروجیهای دو روش مختلف است. نتایج نشان میدهد که با وجود افزایش گام زمانی در حالت فازوری، خروجیهای DC مانند ولتاژ میدان و سرعت روتور تقریباً یکسان باقی میمانند.
در این مرحله از تابع کمکی setup_figure برای نمایش نتایج استفاده میشود و مقایسه بصری بین دو حالت انجام میگیرد:
[hTime,hPhasor]=setup_figure(simlog_ee_sm_control_time,simlog_ee_sm_control_phasor,'dc');
legend([hTime,hPhasor],{['Time (t=',num2str(tsim_time),'s)'],['Phasor (t=',num2str(tsim_phasor),'s)']});
نتایج نشان میدهد که اگرچه زمان اجرای شبیهسازی در حالت فازور کاهش یافته است، اما دقت در متغیرهای اصلی حفظ شده و اختلاف قابل توجهی مشاهده نمیشود. این موضوع نشاندهنده کارایی بالای فرمولبندی فرکانس-زمان در تحلیل سیستمهای AC است.

بررسی نتایج AC و محدودیتهای نمونهبرداری
در تحلیل سیگنالهای AC، مانند ولتاژ فاز a ماشین سنکرون، تفاوت بین دو روش بیشتر نمایان میشود. در بازه زمانی 1 تا 1.1 ثانیه، مشاهده میشود که در حالت فازوری به دلیل افزایش گام زمانی، رزولوشن سیگنال کاهش یافته و شکل سینوسی بهطور کامل قابل مشاهده نیست.
با این حال، نکته مهم این است که مقادیر استخراجشده همچنان صحیح هستند و تنها نمایش زمانی سیگنال دچار کاهش نمونهبرداری شده است. این موضوع در تحلیلهای مبتنی بر دامنه و فاز اهمیت چندانی ندارد.
[hTime,hPhasor]=setup_figure(simlog_ee_sm_control_time,simlog_ee_sm_control_phasor,'ac');
legend([hTime,hPhasor],{['Time (t=',num2str(tsim_time),'s)'],['Phasor (t=',num2str(tsim_phasor),'s)']});
تحلیل عملکرد و مزایای روش فازوری
یکی از نتایج کلیدی این شبیهسازی، افزایش قابل توجه سرعت محاسبات در حالت فازوری است. اگرچه هزینه محاسباتی هر گام ممکن است کمی بیشتر باشد، اما کاهش تعداد گامها در نهایت باعث کاهش زمان کل شبیهسازی میشود.
در بسیاری از کاربردهای صنعتی، بهویژه در تحلیل سیستمهای قدرت، این ویژگی اهمیت بسیار زیادی دارد. زیرا مهندسان معمولاً به رفتار کلی سیستم، پایداری و پاسخهای کند علاقهمند هستند، نه نوسانات سریع در مقیاس میلیثانیهای.
جمعبندی
در این شبیهسازی مشاهده شد که استفاده از حالت فازور در [“software”,”Simscape”,”MATLAB Simscape”] میتواند یک راهکار بسیار مؤثر برای افزایش سرعت تحلیل سیستمهای AC باشد. این روش با حفظ دقت در متغیرهای مهم مانند دامنه، فاز و مقادیر DC، امکان کاهش قابل توجه زمان محاسبات را فراهم میکند.
به طور کلی، زمانی که هدف از تحلیل، بررسی رفتارهای کند سیستم یا مقادیر میانگین باشد، استفاده از فرمولبندی فرکانس-زمان در [“software”,”MATLAB”,”MATLAB”] توصیه میشود. با این حال، در مواردی که جزئیات لحظهای سیگنال اهمیت دارد، استفاده از حالت زمانی همچنان ضروری خواهد بود.
همه چیز، یکجا، آماده دانلود!
لینک دانلود ویژه اعضا سایت







مهمترین محدودیت استفاده از Frequency-Time Formulation در Matlab چیست؟
این روش برای سیستمهای غیرتناوبی یا بسیار غیرخطی مناسب نیست و بیشتر برای سیستمهای AC با فرکانس پایه مشخص کاربرد دارد.
آیا نتایج حالت Phasor دقیقاً مثل حالت Time Domain است؟
برای متغیرهای کند مثل RMS یا سرعت تقریباً مشابه است، اما در سیگنالهای لحظهای AC ممکن است اختلاف جزئی یا کاهش دقت مشاهده شود.
در شبیهسازیهای Simscape چرا گاهی از حالت Phasor استفاده میکنیم؟
چون باعث کاهش پیچیدگی معادلات و افزایش سرعت شبیهسازی در سیستمهای AC میشود، بدون افت محسوس در دقت متغیرهای کند مثل دامنه و فاز.