اصل موضوع اینه :
من می خوام از طریق برنامه نوسی در متلب و با استفاده از راه حل های هوش مصنوعی (نظیر الگوریتم ژنتیک) به بهینه سازی یک مدار برسم. فرض کنید می خوام یه فیلتر یا تقویت کننده یا... طراحی کنیم و می خواهیم به یه پاسخ فرکانسی مطلوب برسیم.نقش الگوریتم ژنتیک هم اینجا اینه که ما رو به اون مقادیر بهینه ی المان هامون برسونه و به پاسخ فرکانسیه مطلوبمون برسونه و با استفاده از تابع های برازندگی که ما براش تعریف می کنیم،مقادیر بهینه شده ای بدست بیاریم.
روش کار :
خوب با 2 تا نرم افزارسر و کار داریم :
1-متلب : برای نوشتن کد الگوریتم ژنتیک
2-اسپایس: برای شبیه سازی مدار و گرفتن پاسخ فرکانسی
حالا این مراحل رو شرح میدم : میخوام برنامه ای بنویسم که این کارو بکنه :
1-ساختن فایل net اولیه در اسپایس->معرفی فیلتر به اسپایس->جایگذاری مقادیر رندوم متلب در فایل net.
2-اجرا کردن اسپایس و بدست آوردن پاسخ فرکانسی فیلتر با مقادیر رندوم.
3-آمدن به محیط متلب->استخراج اطلاعات از اسپایس به متلب(پاسخ فرکانسی مثلا)->بدست آوردن تابع برازندگی -> اگر تابع برازندگی به محدوده ی خوبی از جوابها رسیده بود پایان الگوریتم در غیر این صورت مرحله 4.
4-ایجاد نسل جدید در متلب با توجه به نتایج بدست آمده از تحلیل fitness
5-جایگذاری نسل جدید در فایل net که برای اجرا به اسپایس فرستاده میشود.
6-اجرای اسپاسی -> بدست آوردن پاسخ فرکانسی -> رفتن به مرحله 3.
--------------------------------------------------------------------سئوال اصلی----------------------------------------------------------------
حالا اینجا این سئوالمو کی می تونه جواب بده که چه جوری در حین اجرای متلب و از طریق کد نویسی متلب ، یه مقدار از المان اون
مدار رو تغییر بدم و اسپایس رو برای گرفتن پاسخ فرکانسی جدید اون مدارم که یه المانش تغییر کرده به راه بندازم؟؟؟
توجه کنید به : از طریق کد نویسی متلب