Диссертация (1143270), страница 12
Текст из файла (страница 12)
Обобщенная структура нечеткой подсети.Сформулируем методику синтеза сети ЭНВ в виде последовательности шагов сучетом ограничений по точности аппроксимации и сложности ЭНВ.Шаг 1. Проанализировать заданную поверхность, выполнить ее декомпозициюна совокупность двумерных поверхностей («2D-поверхностей»).Шаг 2.
Для каждой 2D-поверхности определить закон ее изменения на областиопределения входных переменных; задать функции принадлежности длянечеткого генератора формы этой 2D-поверхности, нечетких задатчиковамплитуды и интервала развертки формы на области определения входныхпеременных. Задать нечеткую подсеть со структурой вида рис.
2-37.Шаг 3. Выполнитькомпозициюнечеткихгенераторовформ,нечеткихзадатчиков амплитуды и нечетких задатчиков интервала по всем 2Dповерхностям в элементарный нечеткий вычислитель.Шаг 4. Проанализировать точностные характеристики реализации элементовшага 3 с учетом технических ограничений на ЭНВ.
В случае удовлетворенияточностных характеристик – переход на шаг 6, иначе переход на шаг 5.Шаг 5. Вслучаенедостаточнойточностиаппроксимациивыполнитьдекомпозицию сформированного на первом шаге множества 2D-поверхностейна фрагменты по критерию максимальной степени подобия между ними.Выполнить переход на шаг 2.Шаг 6. Выполнить композицию всех сформированных на шаге 2 подсетей вобщую сеть ЭНВ.1103.ТЕХНИЧЕСКАЯУСТРОЙСТВРЕАЛИЗАЦИЯСАППАРАТНОЙМИКРОПРОЦЕССОРНЫХПОДДЕРЖКОЙСЕТЕЙЭЛЕМЕНТАРНЫХ НЕЧЕТКИХ ВЫЧИСЛИТЕЛЕЙ3.1.
Аппаратный сопроцессор нечетких вычисленийРешение задач исследования, связанных с построением микропроцессорасо встроенным аппаратным нечетким вычислителем, выполним путемпоследовательного развития структур и алгоритмов функционированиянечетких вычислителей, предложенных в главе 2, на основе критическогоанализа опубликованных решений [91-97 и 125-132].Прежде всего следует выполнить разработку аппаратного нечеткогосопроцессора как наиболее простой из рассматриваемых вычислительныхструктур.Выполнимаппаратнуюреализациюэлементовобобщеннойвычислительной схемы, иллюстрированной рис.1-29, 2-15, 2-16 и табл.2-3 [133].Как было описано ранее, фаззификатор преобразует текущие значениячетких входных величин в нечеткую форму (путем индексации мгновеннымизначениями входных величин разверток термов соответствующих этимвходным величинам лингвистических переменных) и вычисляет степеньсправедливостикаждогоправила(обращаяськтаблицеправил)какпроизведение значений функций принадлежности от текущих значенийвходных переменных, указанных в данном правиле (рис.
3-1). Для повышенияскоростинечеткойобработкиинформацииследуетповыситьуровеньпараллельности выполняемых операций [134 – 137], для чего следуетреплицировать приведенную аппаратную реализацию.Блок логических заключений вычисляет степень влияния каждого термакаждой выходной переменной на ее четкое значение. Каждому терму каждойвыходной переменной назначается вес, равный сумме степеней уверенностивсех правил, оперирующих данным выходным термом (рис. 3-2).
Дляповышения скорости нечеткой обработки информации также следует повыситьуровень параллельности выполняемых операций путем репликации структуры.111Rm(X1)Rj (X1)R1 (X1)Массив развертки1-го термадля 1-го входа (Т1х1)……μ(X1Т1х1)...X1Массив разверткиi-го термадля 1-го входа (Тiх1)μ(X1Тiх1)MUX……...Массив разверткиn-го термадля 1-го входа (Тnх1)......Массив развертки1-го термадля k-го входа (Т1хk)μ(X1Тnх1)μ(Rm)Rm(Xk)Rj (Xk)R1 (Xk)……MINMINMUL…μ(Rj)…μ(R1)μ(XkТ1хk)...XkМассив разверткиi-го термадля k-го входа (Тiхk)μ(XkТiхk)MUX……...Массив разверткиn-го термадля k-го входа (Тnхk)μ(XkТnхk)Рис. 3-1. Структурная схема модуля фаззификации [133].112……R1 (Y1)μ(R1)...DEMUX(R...j)DEMUX………SUMμ1…SUMμiSUMμnDEMUX…………R1 (Yk)...Rj (Yk)μ(Rj)...Rm(Yk)μ(Rm)...…...μ(R1)μ(Y1Тny1)...Rm(Y1)μ(Rm)μ(Y1Тiy1)...Rj (Y1)μ……μ(Y1Т1y1)DEMUX……μ(YkТ1yk)μ(YkТiyk)μ(YkТnyk)…...DEMUX……SUMμ1…SUMμiSUMμn...DEMUX………Рис.
3-2. Структурная схема модуля логических заключений [133].Дефаззификатор рассчитывает четкие значения выходных переменных наоснове списков максимумов и вычисленных степеней справедливости правил.Используется предложенная в разделе 2.2 модифицированная схема операциидефаззификации: ((Пi)·maxi)/Пi. Для повышения скорости дефаззификацииследует использовать для каждой выходной лингвистической переменнойотдельный блок (рис. 3-3).113Памятьиндексовмаксимумовтермов для Y1(Т1y1)maxx(Т2y1)max+x……(Тn-1y1)max+x(Тny1)max+Y1xμ(Y1Т1y1)/+μ(Y1Т2y1)…+…μ(Y1Тn-1y1)+μ(Y1Тny1)...Памятьиндексовмаксимумовтермов для Yk...(Т1yk)maxx(Т2yk)max…(Тn-1yk)max+x…+x(Тnyk)max+xμ(YkТ1yk)/Yk+μ(YkТ2yk)…+…μ(YkТn-1yk)+μ(YkТnyk)Рис.
3-3. Структурная схема модуля дефаззификации [133].Предлагаемыйаппаратныйнечеткийсопроцессорреализованнасхемотехнической основе ПЛИС с применением описанных выше методов,архитектурных решений и инструментальных средств. Схему включениянечеткого сопроцессора в вычислительную систему с основным процессоромархитектуры x51 иллюстрирует рис. 3-4 [138-142].114УправляющийМКНечеткийсопроцессорInfineonС515ПЛИССтроб цикла обменаВходная шинаP1[7…0] адреса/данныхСтроб обмена с НСПризнак занятостиP5.3 НССтроб запускаP4.7 нечетких вычисленийP4.4ДанныеEPF10K10LC84Р4.5 с памятьюР4.6ТактовыеимпульсыСтроб чтения из НСMEMA/D[7…0]WRBSYCALCКонфигурирующаямикросхема памятиAT17LV010A-10PI(хранит «прошивку»нечеткогосопроцессора)Шина адресаШина данныхСтроб чтенияСтробзаписиСтробвыборакристаллаRDВыходная шинаA0…A14D7…D0OECSшинаР4[3…0] Выходнаяданных: младшая тетрада DOUT[3..0]WRСтроб выборакристаллаПЗУбазынечеткихзнаний.Объем32Кбайт.Выбор м/схемыпамяти БНЗA0…A14D7…D0OEР5[7…4] данных: старшая тетрада DOUT[7..4]ROM27256RАM62256ОЗУбазынечеткихзнаний.Объем32Кбайт.CSТактовыеимпульсы 6МГцКварцевыйгенераторMCO-1415BНачальныйпускСхема сбросаРис.
3-4. Нечеткий сопроцессор и его подключение к основному вычислителю [142]..По завершении стадии инициализации ПЛИС схемой сброса, в неезагружаются данные для настройки макроячеек, хранящиеся во внешнейэнергонезависимой конфигурирующей памяти. По окончании этой загрузки ивнутреннего конфигурирования микросхема ПЛИС готова к выполнениюфункций нечеткого сопроцессора. Его база нечетких знаний (БНЗ) может бытьрасположена в ОЗУ (тем самым обеспечивается снижение трудоемкости115процесса отладки БНЗ) или в ПЗУ (тем самым обеспечивается снижениеэксплуатационных затрат на выпуск серийных изделий). Вид используемойпамяти определяется управляющим сигналом [139].Распределение памяти сопроцессора показано на рис.
3-5.Внешняя памятьВнутренняя памятьАдрес(hех)Содержимое ячейки0000000100020003…0007Количество правил NR (от 1 до 255)Количество входов NX (от 1 до 5)Количество выходов NY (от 1 до 5)Массив смещений начала развертоктермов NT для каждого из входов(фактическая длина массива равна NX).0008…3207Массив разверток термов входныхпеременных. Фактическая длина равнаΣ( T[i]*256), где i1..NX, т.е. массивзанимает от 256 до 5*10*256=12800байт.Массив таблицы значений максимумовдля термов выходных переменных.Длина 50 байт.Массив правил.
Фактическая длинаравна NR*10. Формат описан в разделе1.3.3208…3239323А…3С397F58…7F897FF0…7FF47FF5…7FF9РегиструказательправилаРегистррезультатаУказательвходныхоперандовРегистрфлаговNЗначения промежуточных вычислений.Массив значений входов Х1…Х5Массив значений выходов Y1…Y5УказательвыходныхоперандовРегистр №1общегоназначенияПамятьпроизведений,суммпроизведений,весов,сумм весовРегистр №2общегоназначенияРис. 3-5. Адресное пространство памяти нечеткого сопроцессора [142].Перечислимсигналы,обеспечивающиевзаимодействиеосновногомикропроцессора и сопроцессора нечетких вычислений:– входная шина адреса/данных «A/D»: обеспечивает доступ к памяти НС;– выходная шина данных «DOUT»: обеспечивает чтение из памяти НС;– входной сигнал «MEM»: отмечает начало цикла обмена данными междуосновным микропроцессором и НС;116– входной сигнал «WR»: стробирует обмен информацией по шине «A/D»;– входной сигнал «RD»: стробирует чтение на шину «DOUT» из НС;– входной сигнал «СALC»: активирует начало нечетких вычислений;– выходной сигнал «BSY»: обозначает завершение нечетких вычислений.Временные диаграммы обмена основного микропроцессора и НС, а такжепримеры их реализации на языке ассемблера x51, показаны на рис.
3-6 – 3-8, авнешний вид системы «ведущий микроконтроллер – нечеткий сопроцессор»приведен на рис. 3-9 [140].Для загрузки базы нечетких знаний используются возможности системыFuzzy51, которая формирует asm-файл с кодовым представлением БНЗ.Примеры инструментального и прикладного программного обеспечения дляиспользования разработанного нечеткого сопроцессора приведены ниже вразделе 3.4 данной главы.fuzctrl_mw:clr p4.5setb p4.5mov p1, addr_loclr p4.6setb p4.6mov p1, addr_hiclr p4.6setb p4.6mov p1,dataclr p4.6setb p4.6retРис.
3-6. Временная диаграмма и процедура записи в память НС.calc:clr p4.7setb p4.7setb p5.3jnb p5.3,$retРис. 3-7. Временная диаграмма и процедура запуска нечетких вычислений.117fuzctrl_mr:clr p4.5setb p4.5mov p1, addr_loclr p4.6setb p4.6mov p1, addr_hiclr p4.6setb p4.6mov p1, #ffhclr p4.4clr p4.6orl p4,#01010000bsetb p5.3jnb p5.3,$orl p4, #0Fhmov a, p4anl a, #0Fhmov b,aorl p5,#F0hmov a,p5anl a,#F0horl a,bmov data,aretРис.
3-8. Временная диаграмма и процедура чтения памяти НС.Ведущий МК и целевое ПОНечеткий сопроцессорРис. 3-9. Внешний вид вычислительной системы «МК – НС» [140].1183.2. Микропроцессор со встроенным нечетким вычислителемРассмотрим далее вариант разработки нечеткого контроллера совстроенным нечетким сопроцессором, запатентованный автором (рис. 3-10).
Наедином кристалле размещаются основной микроконтроллер, содержащийпроцессор с АЛУ общего назначения и набор типовых периферийных узловмикроконтроллера, и встроенный на кристалл нечеткий вычислитель соструктурой, описанной в разделе 3.1. Память данной вычислительной системыдоступна для обращения и со стороны процессорного ядра, и со стороны блоканечетких вычислений [143].Нечеткий микроконтроллерОсновной процессори периферийные узлыБлок нечеткихвычисленийАЛУобщегоназначенияАЛУнечеткихвычисленийПамять микроконтроллераРис.















