تحلیل dc یک مدار ترانزیستوری jfet در matlab

آوریل 26, 2008 با حسن

در این پست قصد داریم تحلیل DC یک مدار

JFET را در نرم افزارMATLAB دنبال کنیم .

 در مدار زیر از یک JFET  کانال n  با

VA=100,IDSS=12mA,VP=-5V استفاده شده است.

 

 

 

 

 

ابتدا مدار معادل تونن  را پیدا کرده و KVL های

ورودی و خروجی را می یابیم:

 

 

 

 

 

 

 

KVL IN INPUT LOOP: -3.3+VGS+2000ID=0                (1)

KVL IN OUTPUT LOOP: -18+(2000+2000)ID+VDS=0    (2)

حال فرض میکنیم ترانزیستور در ناحیه اشباع باشد:                        

ID=IDSS(1-VGS/VP)2  è ID=0.012(1+ VGS/5)2    (3)

 لازم است تا با استفاده از 1 و 3، ID و VGS را بیابیم . از آنجا

 که حل چنین معادلاتی کمی وقت گیر است  از دستور SOLVE

 در MATLAB  کمک میگیریم .

معادله ی 1 را W و معادله ی سوم را  Z  نامگذاری میکنیم:

 

>> W=’-3.3+VGS+2000*ID=0′;

>> Z=’ID=0.012*(1+ VGS/5)^2′;

>> sol=solve(W,Z,’VGS’,'ID’);

>> ID=sol.ID

خروجی مطلب به این شکل خواهد بود:

ID =

  .59034924094242506535000612226157e-2

 .29173409239090826798332721107176e-2

که با استفاده از خود مطلب آن را ساده میکنیم(عمل کپی و پیست در سطر بعد)

>> .59034924094242506535000612226157e-2

ans =

    0.0059

و همینطور عبارت دوم که حاصل :

ans =

    0.0029

اما در JFET همواره قدر مطلق جریان درین می بایستی کمتر از جریان IDSS  است که در اینجا هر دو  عبارت این شرط را دارند. شرط دیگری نیز در JFET  وجود دارد که |VGS|<|VP|

که VGS  مانند بالا بدست میآید:

>> sol.VGS

 ans =

  -8.5069848188485013070001224452314

 -2.5346818478181653596665442214353

مشاهده میشود که فقط مقدار دوم شرط را برقرار میسازد که ID آن نیز مقدار دوم در بالا است(0.0029). فرمول 2، VDS را میدهد که برابر 6.4 میشود.در آخر باید شرط اشباع را نیز بررسی کنبم که قدر مطلق VDS باید بیشتر از قدر مطلق حاصلجمع VGS و VP باشد   که درست است.

پ ن نسخه PDF این پست را می توانید از اینجا دریافت کنید.

ماتریس در مطلب

آوریل 25, 2008 با حسن

همونطور که عنوان شد مطلب بر مبنای ماتریس پایه گذاری شده و جملات رو بصورت ماتریس دریافت می کنه بنابراین در ابتدا می بایستی نحوه ی وارد کردن یک ماتریس مثل ماتریس M  رو برای شما توضیح بدم .

اگر ماتریس M   به این صورت باشه :

 

 

 

ما میتوانیم به دو صورت اطلاعات ماتریس رو وارد مطلب کنیم :

>> M=[2,-1,6,0;21,11,103,0.002;1,-14,10,2;4,5,9,11] ;          

یا                 >>M=[2 -1 6 0

                            21 11 103 0.002

                            1 -14 10 2

                            4 5 9 11];

آنطور که متوجه شدید M  یک ماتریس با اندازه 4 در 4 است .

تذکر: مطلب به بزرگی و کوچکی توابع حساسیت نشان میدهد!

راه حل: برای از میان برداشتن این حساسیت از فرمان  casesen off استفاده کنید .

در عملیات ماتریسی بروی ماتریس ها (توجه داشته باشید که در جمع و یا تفریق دو ماتریس اندازه ماتریسها با هم برابر بوده و در عمل ضرب نیز مقدار ستون ماتریس اول برابر با مقدار سطر ماتریس دوم باشد).

در جمع و یا تفریق از عملگرهای “+” و “-” بروی کیبورد و در ضرب نیز از عملگر * استفاده میکنیم.

عمل تقسیم اما کمی پیچیده است مثلا در تقسیم M  بر N از ضرب ماتریس M  در  معکوس تابع N استفاده میکنیم:                                                                                                      (M*inv(n<<

 پ ن در پست بعدی به عملیات آرایه ای که به انجام عملیات بین تک به تک آرایه ها و عناصر است می پردازیم.

آنچه از مطلب در ویکیپدیا نگاشته شده است

آوریل 20, 2008 با حسن

متلب (MATLAB) نام یکی از نرم‌افزارهای رایانه‌ای برای انجام محاسبات ریاضی است. واژه‌ی متلب هم به معنی محیط محاسبات رقمی و هم به معنی خود زبان برنامه‌نویسی مربوطه‌است که از ترکیب دو واژهٔ MATrix و LABoratory ایجاد شده‌است. این نام حاکی از رویکرد ماتریس محور برنامه‌است، که در آن حتی اعداد منفرد هم به عنوان ماتریس در نظر گرفته می‌شوند.

کار کردن با ماتریس‌ها در Matlab بسیار ساده است. در حقیقت تمام داده‌ها در Matlab به شکل یک ماتریس ذخیره می‌شوند. برای مثال یک عدد (اسکالر) به شکل یک ماتریس 1*1 ذخیره می‌شود. یک رشته مانند “Whale is the biggest animal” به شکل ماتریسی با یک سطر و چندین ستون (که تعداد ستون‌ها به تعداد کاراکترهاست) ذخیره می‌شود. حتی یک تصویر به شکل یک ماتریس سه بعدی ذخیره می‌گردد که بُعد اول و دوم آن برای تعیین مختصات نقاط و بُعد سوم آن برای تعیین رنگ نقاط استفاده می‌شود. فایل‌های صوتی نیز در Matlab به شکل ماتریس‌های تک ستون (بردارهای ستونی) ذخیره می‌شوند. بنابراین جای تعجب نیست که Matlab مخفف عبارت Matrix Laboratory باشد.

ساخت رابط‌های گرافیکی یا Graphical User Interfaces مانند دیالوگ‌هایی که در محیط‌های ویژوال مانند بیسیک و C وجود دارند، در Matlab امکان‌پذیر است. این قابلیت، ارتباط بهتری را میان برنامه‏های کاربردی نوشته‏شده با Matlab و کاربران برقرار می‌کند.

متلب که از محصولات شرکت مت‌ورکس (The MathWorks) است، برای گروه‌های مختلف مهندسان رشته‌های مختلف از جمله مهندسی برق، مکانیک، رایانه و … کاربرد بسیاری دارد

اگر چه متلب با جاوا نوشته شده است، اما قابلیت انعطاف زیادی دارد و خاصیت جاوا تنها در کندی نسبی آن در قیاس با سایر نرم‌افزارهای محاسباتی خود را نشان می‌دهد.

برنامه‌های متلب اکثراً متن‌باز هستند و در واقع متلب (مانند بیسیک) مفسر است نه کامپایلر. قدرت متلب از انعطاف ‌پذیری آن و راحت ‌بودن کار با آن ناشی می‌شود، همچنین شرکت سازنده و گروه‌های مختلف، از جمله دانشگاه‌های سرتاسر جهان و برخی شرکت‌های مهندسی هر ساله جعبه‌ابزارهای خاص-کاربردی به آن می‌افزایند که باعث افزایش کارآیی و محبوبیت آن شده‌است. فهرستی از این جعبه‌ابزارها در زیر آمده‌است:

  • جعبه‌ابزار مخابرات متلب، توابع و ابزارهای محاسبات مهندسی مخابرات
  • جعبه‌ابزار کنترل متلب، توابع و ابزارهای محاسبات مهندسی کنترل
  • جعبه‌ابزار فازی متلب، توابع و ابزارهای محاسبات فازی
  • جعبه‌ابزار محاسبات متلب، توابع و ابزارهای محاسبات عددی
  • جعبه‌ابزار سیمولینک متلب، جعبه‌ابزاری برای شبیه‌سازی سیستم‌ها به صورت مجرد
  • جعبه‌ابزار تخمین متلب، توابع و ابزارهای محاسبات بحث تخمین سیستم در مهندسی کنترل
  • جعبه‌ابزار آمار متلب، توابع و ابزارهای محاسبات آمار
  • جعبه‌ابزار جمع‌آوری داده متلب، توابع و ابزارهای جمع‌آوری داده
  • جعبه‌ابزار شبکه عصبی متلب، توابع و ابزارهای محاسبات شبکه عصبی
  • جعبه‌ابزار پردازش تصویر متلب، توابع و ابزارهای محاسبات پردازش تصویر
  • جعبه‌ابزار پردازش صوت متلب، توابع و ابزارهای محاسبات پردازش صوت
  • جعبه‌ابزار احتمالات متلب
  • جعبه‌ابزار کارگاه بلادرنگ متلب، توابع و ابزارهای محاسبات سیستم‌های بلادرنگ

 

 

محاسبه کانولوشن دو تابع در مطلب (matlab 7)

آوریل 19, 2008 با حسن

برای محاسبه کانولوشن دو تابع گسسته x و h در مطلب از دستور conv استفاده میکنیم

x[n]=cos[((pi/6)*n)+(pi/8)][u[n]-u[n-10]   or   0<n<10

h[n]=(1/4)n[u[n]-u[n-10]]

hk[n]=h[n-k]                 y[n]=?

 

 

>> n=0:9;

>> x=cos(((pi/6)*n)+(pi/8));

>> h=(1/4).^n;

>> s = conv(h,x);

>> s

s =

 

 Columns 1 through 6

    0.9239    0.8397    0.3405   -0.2976   -0.8677   -1.2084

 

 Columns 7 through 12

    -1.2260   -0.9153   -0.3593    0.2928    0.0732    0.0183

 

 Columns 13 through 18

     0.0046    0.0011    0.0003    0.0001    0.0000    0.0000

 

 Column 19

    0.0000