Быстродействующий дефаззификатор с использованием треугольных функций принадлежности
FAST-ACTING DEFUZZIFIER USING TRIANGULAR BELONGING FUNCTIONS

Изобретение относится к области вычислительных устройств и программных алгоритмов и может быть использовано в системах и устройствах обработки информации, построенной на основе нечеткой логики.
Известно устройство оптоэлектронного дефаззификатора, предназначенного для оптических систем обработки информации, полученной на основе непрерывной (нечеткой) логики [Патент РФ №2 408 052, G06E 3/00 (аналог)].
Признаком аналога, совпадающими с существующим заявляемым устройством, является использование нечеткой логики в алгоритме расчета, и наличие этапа дефаззификации в его структуре.
-5
-6
Недостаток описанного устройства заключается в невысокой скорости обработки данных 10- 10 сек, а также отсутствием аддитивности, из-за применения методов дефаззификации первого и последнего максимумов.
Известно устройство дефаззификации для дефаззификации результирующей переменной в нечетком выводе на основе модели Мамдани  [Патент РФ №2 701 841, G06E 3/00, G06N 7/02 (прототип)].
Признаком прототипа, совпадающими с существующим заявляемым устройством, является использование применения дефаззификации в структуре алгоритма нечеткого вывода для получения результирующего значения.
Недостатки указанного прототипа:  невысокая скорость обработки 590 нс, большое число итераций и сложная структура устройства.
Техническая задачей изобретения является повышение вычислительной производительности процесса дефаззификации до 160 нс и упрощение структуры устройств путём сокращения количества логических элементов.
Техническая задача решается за счет исключения операции нахождения ширины верхнего основания усечённых входных функций принадлежности, что позволяет обеспечить повышение быстродействия и упростить структуру устройства.
Техническим результатом быстродействующего дефаззификатора с использованием треугольных функций принадлежности является преобразование входных данных в единственное четкое значение на выходе нечетко-логической системы. В структуре устройства использован 5-слойный анализатор, позволяющий проводить параллельные расчет по входной информации о степенях принадлежности входных переменных, используемых в предпосылках нечеткого вывода.
В 5-слойный анализатор быстродействующего дефаззификатора с использованием треугольных функций принадлежности введены блоки: пять блоков логического вычитания SUB1, пять блоков умножения MULT1.
Изобретение поясняется чертежами: фиг. 1 – Быстродействующий дефаззификатор с использованием треугольных функций принадлежности; фиг. 2 - Функции принадлежности выходной переменной; фиг.3 - Функции принадлежности выходной переменной после агрегации; фиг. 4 – Схема входных и выходных параметров быстродействующего дефаззификатора с использованием треугольных функций принадлежности; фиг. 5 – Результаты моделирования в программе ISE Design v.14.7, написанной на языке программирования VHDL.
Быстродействующий дефаззификатор с использованием треугольных функций принадлежности содержит 5-слойный анализатор 1, состоящий из пяти блоков памяти ROM 2.1÷2.5, пяти блоков максимума MAX 3.1÷3.5, пяти блоков хранения REG 4.1÷4.5, пяти блоков вычитания  SUB1 5.1÷5.5, пяти блоков умножения  MULT1 6.1÷6.5, сумматор ADD1 7, вычитатель SUB2 8, умножитель MULT2 9,  делитель DIV 10, умножитель MULT3 11, вычитатель SUB3 12, сумматор ADD2 13.
1
2
3
4
5
1
2
1
3
1
Связи в быстродействующем дефаззификаторе с использованием треугольных функций принадлежности между блоками определяются следующим образом. Входы блока памяти ROM 2.1÷2.5 5-слойного анализатора 1 соединены с входными сигналами Y[8:0], Y[8:0], Y[8:0], Y[8:0], Y[8:0]. Выход блоков памяти ROM 2.1÷2.5 соединены с входами блоков максимума MAX 3.1÷3.5 и входами блоков хранения REG 4.1÷4.5. Вторые входы блоков MAX 3.1÷3.5 соединены с выходами блоков хранения REG 4.1÷4.5. Выходы «>» блоков максимума MAX 3.1÷3.5 соединены с входами записи «w» блоков хранения REG 4.1÷4.5. Выходы блоков хранения REG 4.1÷4.5 соединены с входами блоков вычитания SUB1 5.1÷5.5 и с блоками умножения MULT1 6.1÷6.5, вторые входы блоков вычитания SUB1 5.1÷5.5 соединены с константой “2”. Выходы блоков SUB1 5.1÷5.5 соединены с вторыми входами блоков MULT1 6.1÷6.5, третьи входы блоков MULT1 6.1÷6.5 соединены с выходом блоков SUB2 8. Выходы блоков MULT1 6.1÷6.5 соединены с входами сумматора ADD1 7, выход  сумматора ADD1 7 соединен со сходом блока деления DIV 10. Второй вход делителя DIV 10 соединён с выходом блока умножения MULT2 9, входы которого соединены с константой “5” и выходом блока вычитания SUB2 8, входы которого соединены с входными сигналами A[9:0] и A[9:0]. Входы блока вычитания SUB3 12 соединены с входными сигналами A[9:0] и A[9:0]. Первый вход блока умножения MULT3 11 соединены с выходом делителя DIV 10, второй вход соединен с  выходом блока вычитания SUB3 12. Выход блока умножения MULT3 11 соединен с первым входом сумматора ADD2 13. Входной сигнал A[9:0] соединен со вторым входом сумматора ADD2 13. Выход сумматора ADD2 13 является выходным сигналом быстродействующего дефаззификатора с использованием треугольных функций принадлежности.
1
2
3
4
5
1
2
3
Принцип работы быстродействующего дефаззификатора с использованием треугольных функций принадлежности состоит из 5 шагов. Входными данными (фиг. 4) в устройстве дефаззификации на основе метода отношения площадей является пять множеств Y[8:0], Y[8:0], Y[8:0], Y[8:0], Y[8:0], c данными о степенях принадлежности α функций принадлежности выходной переменной после агрегации (фиг.3); A[9:0] - точка начала нижнего основания первой выходной функции принадлежности и начальное значение области определения функций принадлежности выходной переменной; A[9:0] – точка конца нижнего основания первой выходной функции принадлежности; A[9:0] – конечное значение области определения функции принадлежности выходной переменной.
1
2
3
4
5
1
2
3
4
5
Y[8:0], Y[8:0], Y[8:0], Y[8:0], Y[8:0]поступают в 5-слойный анализатор 1 (фиг. 1) для определения площади каждого усеченного терма следующим образом: девятиразрядное значение Y[8:0] на вход блока памяти ROM 2.1 первого слоя логического анализатора; девятиразрядное значение Y[8:0] на вход блока памяти ROM 2.2 второго слоя; девятиразрядное значение Y[8:0] на вход блока памяти ROM 2.3 слоя три; девятиразрядное значение Y[8:0] на вход памяти блока памяти ROM 2.4 четвертого слоя; девятиразрядное значение Y[8:0] на вход блока памяти ROM 2.5 пятого слоя.  Выполнение операций описано для пятого слоя. Операции, выполняемые в первом, втором, третьем и четвертом слоях, имеют ту же последовательность выполняемых действий. Выход результирующей переменной Result[9:0] в быстродействующем дефаззификаторе с использованием треугольных функций принадлежности осуществляется за 5 шагов:
общ
Шаг 1. Расчёт общей площади функций принадлежности выходной переменной Sвыполняется по формуле (1):
1
2
1
где n – число термов функции принадлежности выходной переменной (n = 5), B= A - A – длина основания первой функции принадлежности выходной переменной.
1
2
1
1
общ
общ
общ
Для выполнения данной операции, на вход вычитателя SUB2 8 подаются два десятиразрядных значения входных сигналов A[9:0] и A[9:0]. В результате на выходе вычитателя SUB2 8 вычисляется десятиразрядное значение B[9:0]. Полученное значение B[9:0] с выхода вычитателя SUB2 8 подается на первый вход умножителя MULT2 9. На второй вход умножителя MULT2 9 подается переменная n равная константе “5”. Операция деления на два на выходе умножителя MULT2 9 организована следующим образом. В частое записываются только самые старшие биты S[12:1], а не все 13-ти разрядное число S[12:0], полученное после операции умножения в умножителе MULT2 9. В результате на выходе умножителя MULT2 9 рассчитывается общая площадь пяти функций принадлежности выходной переменной S[12:1].
Шаг 2. Расчет высот треугольных функций принадлежности выходной переменной после агрегации выполняется по формуле (2):
i1
i2
где supp (супстремум) – множество данных в диапазоне значений, где степень принадлежности α отлично от нуля; A – начальное значение диапазона supp; A – конечное значение диапазона supp.
’
i
i
Выходная переменная в нечеткой системе задана 5-ю треугольными функциями принадлежности Y (фиг. 2). Функции принадлежности после агрегации Y (фиг. 3) содержат данные о степенях принадлежности α в диапазоне [0;1], где i = 1…5.
Тогда в пятом слое формула 2 имеет вид:
51
52
где A - начальное значение диапазона supp для пятой функции принадлежности, A - конечное значение диапазона supp для пятой функции принадлежности.
5
5
Для расчета высоты треугольной функции по формуле (3) в устройстве дефаззификации на основе метода отношения площадей данные с выхода блока памяти ROM 2.5 передаются поэлементно в блок максимума MAX 3.5. В блоке MAX 3.5 выполняется сравнение полученного девятиразрядного значения из блока памяти ROM 2.5 с девятиразрядным значением из блока хранения REG 4.5. Первое значение в блоке хранения REG 4.5 равно “0”. В случае, если текущее значение из блока памяти ROM 2.5 больше значения из блока хранения REG 4.5, то на выходе «>» блока максимума MAX 3.5 формируется значение логической “1”. Оно передается на вход «w» блока хранения REG 4.5, и открывает его вход для записи значения с выхода блока памяти ROM 2.5 в блок хранения REG 4.5. Хранимое значение в блоке хранения REG 4.5 понимается как значение высоты h[8:0]. После перебора всех элементов из блока памяти ROM 2.5 в блоке хранения REG 4.5 храниться девятиразрядное значение высоты h[8:0] пятой функции принадлежности.
Шаг 3. Определение общей площади усеченных треугольных функций принадлежности выходной переменной проводится по формулам (3) и (4):
1n
2
где S – площадь n-й функции принадлежности выходной переменной, S – общая площади усеченных функций принадлежности выходной переменной.
Для пятого слоя формула 4 имеет вид:
5
5
5
1
1
2
1
Для получения площади пятой функции принадлежности выходной переменной S[16:1] необходимо рассчитать разность константы “2” и значения h[8:0] подав эти сигналы на вход блока вычитания SUB1 5.5. Затем результат разности подать на выход блока умножения MULT1 6.5, на входы которого также необходимо подать значения h[8:0] и B[9:0]. Для вычисления значения B[9:0], необходимо рассчитать разность между входными сигналами A[9:0] и A[9:0], подав их на выходы блока SUB2 8.
5
1
5
В блоке умножения MULT1 6.5 выполняется операция умножения значений h[8:0] и B[9:0] и выхода блока SUB1 5.5. Операция деления на два на выходе блока умножения MULT1 6.5 организована с помощью операции сдвига разрядов на одну единицу. Значение S [16:1] будет подано на вход сумматора ADD1 7.
1
2
3
4
осп
После выполнения расчета площади функций принадлежности выходной переменной S[16:1], S[16:1], S[16:1], S[16:1] в оставшихся четырех слоях 5-слойного анализатора 1 аналогичным образом, они поступают в сумматор ADD1 7, на выходе которого формируется семнадцатиразрядное значение общей площади усеченных термов функции принадлежности выходной переменной S[16:0], рассчитанное по формуле 5.
осп
общ
Шаг 4. Расчет отношения площадей Sи S выполняется по формуле (7):
осп
общ
Для этого в быстродействующем дефаззификаторе с использованием треугольных функций принадлежности  с выхода сумматора ADD1 7 полученное значение общей площади усеченных термов функции принадлежности выходной переменной S[16:0]подается на вход делителя DIV 10, в котором производится операция деления на значение выхода умножителя MULT2 9, в котором рассчитано значение S[12:1]. В результате на выходе делителя DIV 10 вычисляется семнадцатиразрядная величина D[16:0].
Шаг 5. Определение выходного значения после дефаззификации на основе метода отношения площадей согласно формуле (8):
3
1
3
1
1
3
1
Для нахождения разницы A[9:0] и A[9:0] на входы блока вычитания SUB3 12 подаются входные сигналы A[9:0] и A[9:0]. Для расчета уравнения 8 на вход вычитателя SUB3 12 подаются десятиразрядные значения A[9:0] и A[9:0]. На вход умножителя MULT3 11 подается значение выхода вычитателя SUB3 12, определяющее величину области определения выходной функции принадлежности, и на второй вход умножителя MULT3 11 подается D[16:0], полученное на выходе делителя DIV 10. Выход умножителя MULT3 11 соединен с входом сумматора ADD2 13. На второй вход сумматора ADD2 13 подается значение A. На выходе сумматора ADD2 13 рассчитывается выходное десятиразрядное значения после дефаззификации на основе метода отношения площадей Result [9:0].
Пример численного моделирования работы быстродействующего дефаззификатора с использованием треугольных функций принадлежности.
1
2
3
1
2
1
общ
Шаг 1. Рассчитывается общая площадь функций принадлежности выходной переменной. Пусть A = 0, А = 40 и А = 120 (фиг.2), B = А – A = 40, количество функций принадлежности выходной переменной n = 5. Тогда по формуле (1) Sравно:
Шаг 2. Высоты треугольных усеченных функций принадлежности (фиг. 3) рассчитываются согласно формуле (2):
1
2
3
4
5
h= 0, h= 0, h= 0,25, h= 0,35, h = 0,65.
Шаг 3. Площадь усеченных функций принадлежности рассчитывается по формуле (4):
Общая суммарная площадь усеченных функций принадлежности выходной переменной определяется по формуле (5):
Шаг 4. Отношение общей площади усеченной функции принадлежности к общей площади выходной функции принадлежности рассчитывается согласно формуле (7):
Шаг 5. Выходное значение после дефаззификации на основе метода отношения площадей рассчитывается по формуле (8):
Проведено моделирование в программе ISE Designer, написанной на языке программирования VHDL, показывающее быстродействие устройства дефаззификации на основе метода отношения площадей составляет порядка 160 нс. (фиг.5).
Таким образом быстродействующий дефаззификатор с использованием треугольных функций принадлежности позволяет определять единственное значение после дефаззификации и обеспечивает быстродействие до 160 нс.