ebook archive
Login Form
Feed Display
| برترین اخبار و مقالات کامپیوتر |
|
Who's Online
3 مهمان حاضر| آموزش سیمولینک (قسمت چهارم) |
|
|
|
| نوشته شده توسط مجتبی آیتی نیا |
| سه شنبه 29 تیر 1389 ساعت 00:46 |
|
در اين قسمت از آموزش سيمولينك، ابتدا با نحوهي درونيابي و برونيابي(Interpolation-Extrapolation) در محيط Simulink آشنا ميشويم. فرض كنيد در آزمايشگاه، سيستمي(سيستمي الكتريكي، مكانيكي و يا هر سيستم ديگري) با يك ورودي را مورد آزمايش قرار دادهايد و با دادن وروديهاي مختلف، خروجيهاي متناظر را بدست آوردهايد بصورت زير: X = [1 , 1.5 , 1.8 , 2.2 , 2.7 , 3.3 , 3.9] y = [ 2.434 , 2.667 , 2.738 , 2.956 , 2.904 , 2.819 , 2.708]
حال ميخواهيد منحني تغييرات اين سيستم را به ازاي بازهاي پيوسته از ورودي، با كمك درونيابي و برونيابي بدست آوريد. بصورت زير عمل كنيد: بلوكهاي مورد نياز: Simulink >> Sources >> Clock Simulink >> Lookup Tables >> Lookup Table Simulink >> Sinks >> Scope تنظيمات بلوكها:
تنظيمات مدل: با فشردن كليد Ctrl+E به صفحه تنظيمات مدل رفته و مانند شكل زير عمل كنيد:
در نحوهي تنظيمات، احتمالا متوجه شدهايد كه ميخواهيم منحني را در بازه [5 0] رسم كنيم و براي افزايش تعداد نقاط منحني، از حداكثر گام 0.01 استفاده كردهايم. حالا مانند شكل بلوكها را به يكديگر متصل كرده و Run كنيد:
خروجي به صورت زير است:
اگر سيستم شما دو ورودي داشته باشد، از بلوك (Lookup Table (2-D و در صورت داشتن بيش از دو ورودي، ميتوانيد از بلوكي بهنام (Lookup Table (n-D استفاده كنيد. همچنين براي ويرايش نمودن، تغيير نوع و رسم نمودار دادهها، ميتوانيد با كليك كردن به روي Edit در پنجرهي تنظيمات اين بلوكها، به پنجرهي Lookup Table Editor وارد شويد. در بخش بعدي ميخواهيم تعداد پيكهاي مثبت و منفي يك موج سينوسي را شمارش كرده و نمايش دهيم. البته شايد اين مثال، اصلا كاربردي نباشد ولي نكات موجود در آن و نيز بلوكهاي معرفي شده، قطعا در مثالهاي كاربردي، به كار ميآيد. بلوكهاي مورد نياز: Simulink >> Sources >> Clock Simulink >> Sources >> Constant Simulink >> Sources >> Sine Wave Simulink >> Math Operations >> Gain Simulink >> Math Operations >> Product Simulink >> Continuous >> Derivative Simulink >> Math Operations >> Math Function Simulink >> Signal Routing >> Mux Simulink >> Signal Attributes >> Data Type Conversion Simulink >> Logic and Bit Operations >> Relational Operator Simulink >> Logic and Bit Operations >> Logical Operator Signal Processing Blockset >> Signal Management >> Switches and Counters >> Counter Simulink >> Sinks >> Display Simulink >> Sinks >> Scope
بصورت زير بلوكها را مرتب كنيد:
تنظيمات بلوكها:
تنظيمات مدل: با فشردن كليد Ctrl+E به صفحه تنظيمات مدل رفته و مانند شكل زير عمل كنيد:
سپس بلوكها را مانند شكل زير به يكديگر متصل كرده و Run كنيد:
در شكل زير همانطور كه مشاهده ميكنيد نمودار زرد رنگ، تابع ورودي و نمودار صورتي رنگ، آشكارساز پيك مثبت ميباشد.
توضيح مدل: در طراحي اين مدل، از اين نكته استفاده شده است كه مشتق تابع سينوسي در پيك آن برابر صفر است. در نتيجه ميتوان بوسيلهي عملگرهاي رابطهاي و منطقي، يك آشكارساز پيك طراحي كرده و سپس بوسيلهي يك شمارنده، تعداد پيكها را شمارش كرد. توجه: در صورتي كه بخواهيد فركانس موج ورودي را تا حد زيادي(مثلا 1GHz) افزايش دهيد، حتما بايد حداكثر گام حركت را كاهش دهيد كه در غير اين صورت جواب نادرست خواهيد گرفت.(چرا؟) در مثال بعد ميخواهيم يك مبدل آنالوگ به ديجيتال(ADC) بسيار ساده طراحي كنيم. همانطور كه احتمالا ميدانيد، يكي از پارامترهاي مهم در يك ADC ، تعداد بيتهاي آن است كه در واقع مشخص كنندهي قدرت تفكيكپذيري آن ميباشد. بطور مثال يك ADC هشت بيت، ميتواند 256 حالت مختلف را ايجاد كند. حال فرض كنيد كه ما ميخواهيم يك مبدل چهار بيت طراحي كنيم(اين مبدل 16 حالت مختلف را ايجاد ميكند). براي شروع كار ابتدا بلوكهاي زير را در يك مدل قرار دهيد: Simulink >> Sinks >> Scope Simulink >> Sinks >> Display Simulink >> Math Operations >> Sum Simulink >> Logic and Bit Operations >> Relational Operator Simulink >> Logic and Bit Operations >> Logical Operator Simulink >> Sources >> Ground Simulink >> Sources >> Constant Simulink >> Sources >> Signal Generator Simulink >> Signal Routing >> Switch
ابتدا بايد سيگنال ورودي را به 16 قسمت مساوي تقسيم كنيم در نتيجه به بعضي از پارامترهاي سيگنال ورودي احتياج داريم(البته شايد بتوان به روشهايي اين پارامترها را محاسبه كرد ولي در اين مثال هدف چيز ديگري است). مثلا فرض كنيد كه دامنه پيك تا پيك و همچنين مينيمم سيگنال را داريم حالا بايد از مقدار مينيمم شروع كرده و بهنسبت A/15 به مقدار مينيمم اضافه كرده تا به مقدار ماكزيمم سيگنال برسيم اين مقادير را بصورت پارامتري، درون 16 عدد بلوك Constant قرار ميدهيم سپس سيگنال ورودي را به 17 قسمت مساوي تقسيم ميكنيم تا بتوانيم از عملگرهاي مقايسهاي استفاده كنيم(براي تشخيص لحظهاي دامنه سيگنال ورودي) پس از آن از مقدار مينيمم شروع كرده و بهنسبت A/16 به مقدار مينيمم اضافه كرده تا به مقدار ماكزيمم سيگنال برسيم اين مقادير را بصورت پارامتري، درون 17 عدد بلوك Constant قرار ميدهيم. تنظيمات تمام بلوكهاي سوئيچ را بصورت زير قرار ميدهيم:
حال بصورت زير عمل ميكنيم:
زماني كه خروجي بلوك عملگر رابطهاي، 1 باشد(دامنه سيگنال از مقدار P+A/16 كمتر باشد) بلوك سوئيچ، عدد P (مقدار اوليه) و در غير اين صورت اين بلوك مقدار صفر را عبور ميدهد. سپس بلوكهايي مانند شكل زير درست ميكنيم:
در اين شكل همانطور كه ملاحظه ميشود، زماني كه دامنه سيگنال ورودي از مقدار P+(2*A)/16 كوچكتر و بزرگتر و يا مساوي مقدار P+A/16 باشد، خروجي بلوك AND يك شده و بلوك سوئيچ مقدار P+A/15 را از خود عبور ميدهد و در ديگر حالات زمين در مسير خروجي قرار ميگيرد. سپس بههمين ترتيب ادامه ميدهيم تا نهايتا به مدل زير ميرسيم:
نكته: ميتوان يك سيگنالژنراتور و يك زمين به كار برد و براي استفاده در مكانهاي ديگر از آنها انشعاب گرفت(درواقع هيچگونه اثر بارگذاري روي يكديگر ندارند) حال خروجي 16 بلوك سوئيچ را به يك جمعكننده با 16 ورودي ميدهيم تا سيگنال ديجيتال شده را به ما تحويل دهد. سپس خروجي جمعكننده را به يك بلوك اسكوپ داده و نهايتا از كل سيستم، يك زيرسيستم تهيه كرده و آنرا ماسك ميكنيم و تنظيمات ماسك را بصورت زير قرار ميدهيم:
مدل نهايي با اندكي تغييرات اضافي بصورت زير است:
حال مدل را بهازاي يك ورودي سينوسي با فركانس 1KHz و دامنه 1 و مقدار dc برابر 0 شبيهسازي ميكنيم(مقدار مينيمم سيگنال 1- و دامنه پيك تا پيك آن برابر 2 است): خروجي بصورت زير است:
مدل در لينك زير قابل دسترس است:
اگر سؤالي داشتيد در بخش نظرات آنرا مطرح كنيد.
نظر ها (4)
Powered by !JoomlaComment 4.0 beta2
|
| آخرین به روز رسانی در يكشنبه 31 مرداد 1389 ساعت 17:08 |
مطالب پر بازدید سایت
- کتاب آموزش MATLAB
- شبكه هاي عصبي در Matlab
- آموزش كاربردي مباحث پيشرفته با Matlab
- رسم نمودارهای سه بعدی
- کاملترین مجموعه آموزشی MATLAB
- کتاب های الکترونیک -برنامه نویسی و روش های عددی در MATLAB
- download matlab 7.10 2010a
- معادلات دیفرانسیل معمولی – مسایل مقدار اولیه
- آموزش GUI (قسمت اول)
- برازش منحني چند جمله اي




















