سامانه کنترل فازی
مجموعه‌های فازی > ساخت یک کنترل کننده فازی

یک اجرا با یک میکروکنترلر با یک فیدبک ساده در نظر بگیرید:
یک مجموعه فازی برای خطای ورودی تعریف شده‌است. متغیر e و متغیر مشتق خطا، دلتا، و همچنین خروجی از ان پیروی می‌کند:
LP: large positive
 SP: small positive
 ZE: zero
 SN: small negative
 LN: large negative
اگر محدوده خطا از -۱ به ۱ با یک مبدل آنالوگ به دیجیتال باشد وضوح ۰٫۲۵ استفاده شده‌است. سپس متغیر ورودی دستگاه (که در متغیر خروجی در این مورد نیز اعمال می‌شود) می‌توان به سادگی به عنوان یک جدول با خطا /مقدار دلتا/خروجی در ردیف بالا و مقادیر حقیقی برای هر عضویت تابع مرتب شده در ردیف زیر توصیف کرد.
_______________________________________________________________________
 -1 -0.75 -0.5 -0.25 0 0.25 0.5 0.75 1
 _______________________________________________________________________
 mu(LP) 0 0 0 0 0 0 0.3 0.7 1
 mu(SP) 0 0 0 0 0.3 0.7 1 0.7 0.3
 mu(ZE) 0 0 0.3 0.7 1 0.7 0.3 0 0
 mu(SN) 0.3 0.7 1 0.7 0.3 0 0 0 0
 mu(LN) 1 0.7 0.3 0 0 0 0 0 0
 _______________________________________________________________________ —or, in graphical form (where each "X" has a value of 0.1):
LN SN ZE SP LP
 +----+
 | |
-1.0 | XXXXXXXXXX XXX:: : |
-0.75 | XXXXXXX XXXXXXX:: : |
-0.5 | XXX XXXXXXXXXX XXX:: |
-0.25 |: XXXXXXX XXXXXXX:: |
 0.0 |: XXX XXXXXXXXXX XXX: |
 0.25 |:: XXXXXXX XXXXXXX: |
 0.5 |:: XXX XXXXXXXXXX XXX |
 0.75 |:: : XXXXXXX XXXXXXX |
 1.0 |:: : XXX XXXXXXXXXX |
 | |
 +----+
فرض می‌کنیم سامانه فازی از دستور مبنا پیروی می‌کند:
rule 1: IF e = ZE AND delta = ZE THEN output = ZE
 rule 2: IF e = ZE AND delta = SP THEN output = SN
 rule 3: IF e = SN AND delta = SN THEN output = LP
 rule 4: IF e = LP OR delta = LP THEN output = LN
این قوانین معمولی برای برنامه‌های کاربردی کنترل شامل ترکیب منطقی از خطا و سیگنال خطا دلتا است، در حالی که نتیجه یک خروجی فرمان کنترل است. خروجی‌های دستوری را می‌توان با دی فازی محاسبه کرد.
یک محاسبه مرکزی گسسته برابر است با:
SUM(I = 1 TO 4 OF (mu(I) * output(I))) / SUM(I = 1 TO 4 OF mu(I))
حال فرض می‌کنیم در یک زمان خاص داریم:
e     = 0.25
 delta = 0.5
که می‌دهد:
________________________
e delta
 ________________________
 mu(LP) 0 0.3
 mu(SP) 0.7 1
 mu(ZE) 0.7 0.3
 mu(SN) 0 0
 mu(LN) 0 0
 ________________________
از این رابطه با توجه به قاعده ۱ داریم:
rule 1: IF e = ZE AND delta = ZE THEN output = ZE
mu(1)     = MIN(0.7, 0.3) = 0.3
 output(1) = 0
Mu :نتیجه مقادیر حقیقی تابع عضویت برای دستور ۱. در شرایط محاسبه درونی این توده برای نمونه گسسته نتیجه می‌شود.
خروجی ۱:مقدار (برای دستور ۱) که در ان نتیجه تابع عضویت ماکزیمم در محدوده متغیر خروجی مجموعه فازی است. یعنی محاسبه محل مرکز جرم برای این نتیجه، واحد است. این مقدار مستقل از مقدار mu استZE در محدوده خروجی به سادگی موقعیت مکانی را مشخص می‌کند.
دستورهای دیگر عبارت است از:
rule 2: IF e = ZE AND delta = SP THEN output = SN
mu(2)     = MIN(0.7, 1) = 0.7
 output(2) = -0.5
rule 3: IF e = SN AND delta = SN THEN output = LP
mu(3)     = MIN(0.0, 0.0) = 0
 output(3) = 1
rule 4: IF e = LP OR delta = LP THEN output = LN
mu(4)     = MAX(0.0, 0.3) = 0.3
 output(4) = -1
محاسبه مرکزی بدست می آید:
{\frac {mu(1)\cdot output(1)+mu(2)\cdot output(2)+mu(3)\cdot output(3)+mu(4)\cdot output(4)}{mu(1)+mu(2)+mu(3)+mu(4)}}
   ={\frac {(0.3\cdot 0)+(0.7\cdot -0.5)+(0\cdot 1)+(0.3\cdot -1)}{0.3+0.7+0+0.3}}
   =-0.5—for the final control output. Simple. Of course the hard part is figuring out what rules actually work correctly in practice.
اگر مشکلی در فهمیدن معادله داخلی دارید به یاد داشته باشید که Centroid توسط summing all تعریف می‌شود. لحظات (موقعیت زمانی جرم) در اطراف مرکز ثقل و معادله مجموع به صفر میل می‌کند؛ بنابراین اگرXo مرکز جاذبه باشد Xi محل هر جرم وMiهر جرمی است پس می‌دهد:
0=(X_{1}-X_{0})\cdot M_{1}+(X_{2}-X_{0})\cdot M_{2}+\ldots +(X_{n}-X_{0})\cdot M_{n}
   0=(X_{1}\cdot M_{1}+X_{2}\cdot M_{2}+\ldots +X_{n}\cdot M_{n})-X_{0}\cdot (M_{1}+M_{2}+\ldots +M_{n})
   X_{0}\cdot (M_{1}+M_{2}+\ldots +M_{n})=X_{1}\cdot M_{1}+X_{2}\cdot M_{2}+\ldots +X_{n}\cdot M_{n}
   X_{0}={\frac {X_{1}\cdot M_{1}+X_{2}\cdot M_{2}+\ldots +X_{n}\cdot M_{n}}{M_{1}+M_{2}+\ldots +M_{n}}}
در مثال ما مقادیر mu به جرم‌ها و مقادیر از x به جرم‌ها مربوط می‌شود(mu با این حال تنها به جرم‌ها مربوط می‌شود اگر جرم اول تابع خروجی باشد همه یکسان و معادل هستند اگر نباشد برای مثال برخی از مثلث‌ها باریک هستند در حالی که دیگران ممکن است تروپیزویید گسترده یا مثلث شانه، سپس جرم یا محدوده عملکرد خروجی باید شناخته شود یا محاسبه شود. این جرمی است که مقیاس ان توسط mu و ضرب در موقعیت Xi می‌شود.
این سامانه را می‌توان در یک ریزپردازنده استاندارد اجرا کرد. اما در حال حاضر تراشه‌های فازی در دسترس هستند. به عنوان مثال منطق سازگاری INC از سان خوزه در کالیفرنیا یک تراشه فازی AL220 که می‌تواند که می‌تواند تولید چهار ورودی آنالوگ و چهار خروجی آنالوگ را قبول کند.
نمودار زیر یک بلوک تراشه را نشان می‌دهد:
+----+ +----+
 analog --4-->| analog | | mux / +--4--> analog
  in | mux | | SH | out
  +----+----+ +----+
  | ^
  V |
  +----+ +--+--+
  | ADC / latch | | DAC |
  +----+----+ +----+
  | ^
  | |
  ۸ +----+
  | | |
  | V |
  | +----+ +----+ |
  +-->| fuzzifier | | defuzzifier +--+
  +----+----+ +----+
  | ^
  | +----+ |
  | | rule | |
  +->| processor +--+
  | (50 rules) |
  +----+----+
  |
  +----+----+
  | parameter |
  | memory |
  | 256 x ۸ |
  +----+

  ADC: analog-to-digital converter
  DAC: digital-to-analog converter
  SH: sample/hold