Hardware requirements for fuzzy logic control systems
The FUzzy Design GEnerator (FUDGE) is an inexpensive, but surprisingly powerful, fuzzy logic design tool. It can be used to develop, test and implement fuzzy logic controllers in a wide variety of applications. So, it is the purpose of this thesis to evaluate and improve this fuzzy logic design tool. This thesis also discusses several topics related to FUDGE that are either hard to find or have not been thoroughly documented by Motorola. Chapter I gives a overall introduction to goals and ambitions of this thesis, which include the development of some hardware requirement models for fuzzy logic control systems developed with the FUDGE environment. Plus, the development of a C++ translation program. This translation program provides object-oriented, C++, support for the FUDGE tool. Chapter II provides a basic overview of fuzzy logic. It begins by discussing the past historical developments of fuzzy logic systems. Then it covers some of the current attitudes and misconceptions about using fuzzy logic in control system applications. This is followed by a primer on the goals and benefits of implementing control systems with fuzzy logic. Included in this discussion is the implementation of fuzzy logic systems with Binary Input-Output Fuzzy Associative Memories (BIOFAMs) and rule inference with the Max-Min composition relation. For a more in depth study of theoretical fuzzy logic design, the reader is referred to such excellent text books as Bart Kosko's, Neural Networks and Fuzzy Systems. Chapters III and IV describe the goals, expectations and results of this research and can be best described in two major topics. The first topic is the development of hardware models for fuzzy logic control systems implemented with the FUDGE software. These models can be used to predict the memory and processing power requirements needed to implement a proposed fuzzy logic design. The second portion relates to increasing the number of high level languages that are supported by the FUDGE tool. Since FUDGE is both a design and implementation tool, it can create the output code necessary to implement a fuzzy logic design in several forms of microprocessor. The current version of FUDGE (Version 1.02) supports several of Motorola's assembly languages, as well as the ANSI C language. In this second topic, a fuzzy logic translation program is also described. This program translates the source code for a C based fuzzy engine (produced by FUDGE) into a functionally equivalent C++ based fuzzy engine object. This allows a designer to implement a fuzzy logic design in the high level languages of C or C++. Chapter V contains a summary of the work done in this thesis. It reviews the hardware models for memory allocation and processor execution delays, followed by an overview of the XFUDGE translation software and its contribution to the Fuzzy Design Generator.