WO1995030185A1 - Verfahren zur fuzzifizierung von an eingängen eines fuzzy-prozessors anliegenden eingangssignalen unter verwendung von eingangszugehörigkeitsfunktionen - Google Patents

Verfahren zur fuzzifizierung von an eingängen eines fuzzy-prozessors anliegenden eingangssignalen unter verwendung von eingangszugehörigkeitsfunktionen Download PDF

Info

Publication number
WO1995030185A1
WO1995030185A1 PCT/DE1995/000469 DE9500469W WO9530185A1 WO 1995030185 A1 WO1995030185 A1 WO 1995030185A1 DE 9500469 W DE9500469 W DE 9500469W WO 9530185 A1 WO9530185 A1 WO 9530185A1
Authority
WO
WIPO (PCT)
Prior art keywords
elementary
memory
interval
input
membership
Prior art date
Application number
PCT/DE1995/000469
Other languages
English (en)
French (fr)
Inventor
Thomas KÜNEMUND
Original Assignee
Siemens Aktiengesellschaft
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Siemens Aktiengesellschaft filed Critical Siemens Aktiengesellschaft
Priority to EP95915133A priority Critical patent/EP0757811B1/de
Priority to AT95915133T priority patent/ATE208933T1/de
Priority to DE59509845T priority patent/DE59509845D1/de
Priority to US08/737,002 priority patent/US5764855A/en
Publication of WO1995030185A1 publication Critical patent/WO1995030185A1/de

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N7/00Computing arrangements based on specific mathematical models
    • G06N7/02Computing arrangements based on specific mathematical models using fuzzy logic
    • G06N7/04Physical realisation
    • YGENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10TECHNICAL SUBJECTS COVERED BY FORMER USPC
    • Y10STECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
    • Y10S706/00Data processing: artificial intelligence
    • Y10S706/90Fuzzy logic

Definitions

  • fuzzy processors contain a fuzzy circuit, also called a fuzzy processor, the task of which is for a digital input signal which is to be fuzzified, with the aid of input membership functions stored in a memory - also known as a knowledge base memory (KBM) to determine the belonging values. To do this, it must first be determined which input membership functions (hereinafter referred to as membership function) are affected by the input signal. The membership values assigned to the input signal can then be retrieved from the memory.
  • KBM knowledge base memory
  • the problem on which the invention is based is therefore to specify a fuzzification method in which the memory requirement for storing the membership functions does not become too large and the computing time for calculating the membership values nevertheless remains within reasonable limits.
  • the problem further consists in specifying a circuit arrangement for carrying out the method.
  • the storage space requirement for the storage of the membership values can be reduced by storing a shape information which detects the shape of the membership function.
  • This form information contains features that define the form of the membership function, such as Support points at which the slopes of the function change and the slopes between the support points.
  • the access time to the form information of membership functions taken by the input signal can be reduced by dividing the basic range of the input signals, which is dependent on the resolution, into elementary intervals.
  • the elementary interval can then be selected using the most significant bits (MSB) of the input signal.
  • MSB most significant bits
  • the memory requirement can be further reduced if the elementary intervals are selected in such a way that within each elementary interval there are at most four membership functions or parts of membership functions and / or as a distribution condition, each part of a membership function lying within an elementary interval exactly one support point and inclines to the right and can be written to the left of this base.
  • support points can also be present at the interval boundaries, a third support point within the elementary interval must therefore suffice to clearly describe the membership function within this elementary interval in addition to two support points at the interval boundaries.
  • the membership functions can be polygons of any shape.
  • the subdivision can be made into elementary intervals of equal size, the subdivision being such that there is no elementary interval that does not meet the distribution condition.
  • the storage space requirement for storing the shape information of the membership functions can be further reduced if the shape information contains the following: a number of the membership function, the interpolation point values in the x and y directions and slope information.
  • the slope information can consist of two parts, in which the first part specifies the bit position of the leading '1' before the decimal point of the absolute value of the slope or indicates that all digits are before the decimal point '0', in which the second part from which bits following the leading '1' before the decimal point are obtained or, if there is no leading '1' before the decimal point, from the digits after the decimal point of the absolute amount.
  • This form information is stored in a memory, the knowledge base memory, one after the other for each elementary interval and for each input in such a way that it can be addressed very quickly using three memory words.
  • the address of a second memory word, in which the number of elementary intervals is coded for each input, is stored in a first memory word.
  • a third memory word is addressed, in which the start address of a memory sector with the membership functions is contained, namely per input and per elementary interval.
  • FIG. 1 shows a block diagram of a fuzzy processor
  • FIG. 2 shows the basic area of an input signal and its division into elementary intervals
  • FIG. 3 shows the memory organization of the knowledge base memory (KBM).
  • FIG. 4 shows a circuit arrangement for address generation that is suitable for addressing the memories according to FIG. 3,
  • Figures 5 and 6 forms of membership functions whose
  • Type numbers their signs and the memory words to be stored in the KBM memory
  • FIG. 7 shows a diagram for explaining the slope information
  • FIG. 8 shows a fuzzifier circuit in the overview picture
  • FIG. 9 shows an arithmetic circuit of the fuzzifier circuit
  • FIG. 10 shows the signals required during operation of the fuzzifier circuit, generated by a control unit
  • FIG. 11 shows a state graph which describes the part of the control unit relating to the fuzzification
  • FIG. 12 shows a circuit arrangement for forming an absolute amount
  • FIG. 13 shows a further circuit arrangement for forming an absolute amount
  • FIGS. 14 and 15 components of the circuit arrangement according to FIG. 13.
  • FIG. 16 shows a second example of the division of the basic area into elementary intervals
  • FIG. 17 the memory organization of the KBM for the example in FIG. 16,
  • FIG. 18 shows an algorithm for addressing the membership functions in the case of FIG. 17.
  • Figure 1 shows a block diagram of a fuzzy processor.
  • the fuzzy processor contains a fuzzifier circuit FUZ in which the membership values ye for so-called sharp input signals xe are formed.
  • the fuzzifier circuit FUZ works together with the memory KBM, in which the membership functions are stored.
  • the membership value ye is passed on to the fuzzy inference circuit FIN and processed there in a known manner.
  • a control unit STW is required to operate the fuzzifier circuit FUZ, a microcontroller interface MIF, which establishes a connection to a host computer, a knowledge base memory interface KIF, which is necessary for operating the knowledge base memory KBM.
  • the individual units of the fuzzy processor apart from the control unit, are connected to one another via a common IKAD bus.
  • the fuzzifier circuit FUZ For the fuzzification of input signals xe, which are supplied by the host computer to the microcontroller interface MIF, the fuzzifier circuit FUZ is used, which determines which membership functions, which are stored in the memory KBM, have been hit by the input signal xe and from which the membership values ye are calculated and passes this on to the fuzzy inference circuit FIN.
  • This fuzzier circuit and the manner in which the membership functions are stored in the memory KBM are described below; the other components of the fuzzy processor, such as MIF, KIF and STW, are only included in the explanation to this extent than they are required to understand the operation of the fuzzifier circuit FUZ.
  • FIG. 2 shows the division of the basic area for the input signals resolved with ae bits.
  • FIG. 2 shows the membership functions IMF, plotted against xe, in each case the membership values ye.
  • the maximum value ye of the membership functions is standardized to 1. It is shown how the basic range of the input signal xe is divided into four elementary intervals EI, the division being such that within each elementary interval EI there are at most four membership functions and each part of a membership function lying within an elementary interval is exactly one Support point STS and the slopes to the right and left of the support point STS can be written.
  • a support point is indicated in FIG. 2, which is identified by xs3 and ys3.
  • the individual membership functions are numbered from IMFO to IMF4.
  • nei 2 aei , 0 ⁇ aei ⁇ ae-1
  • nei represents the number of elementary intervals per input.
  • the membership values ye are normalized to 1 in FIG. 2, but ye can assume values between 0 and 2-1-2-1 with a resolution with 12 bits.
  • the basic range of the membership functions of an input signal is divided in a first stage into intervals of equal size (the number of which is a power of 2) until at least one of these intervals fulfills the distribution conditions for an elementary interval (in contrast, all of them in FIG. 2 must be Intervals meet this condition).
  • intervals of equal size the number of which is a power of 2
  • the second stage now consists of further subdividing all the other intervals of level I — that is, those that do not meet the conditions for an elementary interval, and only these — in each case exactly as in stage I.
  • each of the remaining intervals of stage I is treated in exactly the same way as the basic area in stage I: for the elementary intervals of stage II, the address descriptors and data of the membership functions are then determined, and all other intervals of stage II are in stage III further divided independently of one another as described above.
  • Level I consists of dividing the basic area of three membership functions IMFO, IMF1 and IMF2 into four intervals, the first and fourth intervals fulfilling the conditions for an elementary interval.
  • the second interval of stage I is further divided into two intervals of stage II, the first of which is an elementary interval of stage II and the second of which is divided into two further intervals of stage III, both of which are elementary intervals.
  • the third interval of stage I is divided into two intervals, the second of which is an elementary interval of stage II and the first of which is divided into four further intervals of stage III, which are all elementary intervals.
  • the advantage of this multi-stage elementary interval method is that the basic area now only has to be subdivided more precisely where the structure, ie closely spaced support points of the membership functions, also requires this.
  • the additional computing time can be limited by an expanded memory organization (see below).
  • the membership functions IMF are now stored in the memory KBM. For each input signal, it is therefore necessary to determine the membership feet taken by the input signal xe. actions IMF and then calculate the membership values. For this, the memory KBM must be accessed. In the following, the memory organization, the determination of the elementary interval as well as the memory sector in which the membership functions of the elementary interval are located are described.
  • the address descriptors KBDO and KBD1 are first read out of the KBM and written into the memory interface KIF.
  • An address of the so-called elementary interval address descriptor EAD is located in the address descriptor KBD1.
  • the elementary interval address descriptor EAD can be controlled via this address.
  • the exponent aei encodes four bits, from which the number of elementary intervals per input can be calculated. The following applies:
  • nei.i 2 aei -i, 0 ⁇ aei.i ⁇ 11
  • This storage sector is called IMFD.
  • rad (EIA) is a relative address defined by aei.i and the aei most significant bits of xe.i. This memory organization with the individual memory areas and the manner in which these memory areas are addressed are shown in FIG.
  • FIG. 4 A circuit arrangement with which this memory area can be addressed is shown in FIG. 4. This is
  • Circuitry is included in the KIF.
  • the specified control signals are either supplied directly by the control unit or are generated by the control unit in the KIF.
  • the sequence of address generation is explained step by step below.
  • the width of the individual signals is shown in FIG. 4:
  • the read value of KBDO is written into the latch LATO opened with kbd0_clk at the appropriate time.
  • the address of EAD thus arrives in the master slave register MSR1, which was opened with adaol_en at this time, and via the master slave register MSR2 and the driver TRB on the IKAD bus in the following cycle.
  • a multiplexer MUX1 uses the signal nri to select the value of aei assigned to the respective input, which results in the value of nei on the one hand via the decoder DEC and with the other in the switching network RAD from aei and xe
  • Relative address is formed, which is used to determine the elementary interval addressed by the most significant bits of the input signal xe and the memory word EIA assigned to it in the memory KBM.
  • the value of the address of EIA thus formed reaches bus IKAD in the following cycle via register MSR2 and driver TRB.
  • the computing time can be limited to one memory access per level by means of an expanded memory organization in the sense of a hierarchical system of elementary interval address descriptors, since the actual calculation of the function values of the input membership functions only for that of the sharp input ⁇ signal xe each elemental interval ultimately met is carried out.
  • the memory word EAD with the address adr contains the information aei about the number of intervals of stage I into which the basic area has been divided. From aei and the sharp value xe of the input signal then gives the relative address r (aei, xe) for the address descriptor EIA.k of the kth interval of level I hit by xe. For its absolute address adr (EIA.k) applies
  • adr (EIA.k) adr (EAD) + r (aei, xe)
  • the bits EIA.kf 12: 0] now form a relative address for the first word of an additional block (corresponding to the elementary interval address descriptor block EIAD of stage I) block EIAD.k of elementary interval address descriptors of stage II with respect to the k -th interval of level I.
  • FIG. 17 shows this memory organization for the example from FIG. 16.
  • the sequence of the memory accesses is indicated by the dashed lines, a sharp value xe of the input signal being assumed within the second elemental interval of stage III. Since this elementary interval lies in the first interval of stage II belonging to the third interval of stage I, the memory access to EAD is followed first by that on EIA.3 and then that on EIA.3.1 and EIA.3.1.2, its 15 LSB EIA.3.1.2 [14:] mean the start address of IMFD.3.1.2.
  • the algorithm used for addressing can also be seen in FIG. 18.
  • the arrangement for the single-stage method shown in FIG. 4 must be expanded.
  • the data for the membership functions of the individual elementary intervals EI per input stand for the individual knowledge bases.
  • the first memory word from IMFD contains the number ZIMF of the membership functions encoded with two bits within an elementary interval and with so-called type numbers t encoded with three bits each for the maximum four membership functions IMF in the elementary interval EI.
  • the IMF forms assigned to the type numbers are shown in FIGS. 5 and 6. With the help of this information, the membership values ye can then be calculated for each xe.
  • FIGS. 5 and 6 show the individual forms of the membership functions, their type numbers and the memory words to be stored in the memory sector IMF to describe the IMF forms.
  • the curve shape within an elementary interval is shown in each case.
  • the type numbers are chosen so that They already contain the signs of the slope s, while the Most Significant Bit of t indicates whether two curve sections with different slopes originate from the support point STS and are to be saved. With such a choice of the type numbers, the storage space requirement is reduced, since information is already contained in the type number, which can later be used in the calculation of the membership value.
  • FIG. 5 shows the IMF forms in which the
  • Most significant bit is '0'. It can be seen that the support points STS are each determined either by an xs or by a ys. The other value is either '0' for ys or is determined by the limits of the elementary interval, which can be recognized with the most significant bits of the input signal xe. As a comparison of the column for the sign bits with the positions 0 and 1 of the type number t shows, the positions 0 and 1 of the type number t contain the sign bits. The IMF forms are saved for the type numbers for which the most significant bit is '0' using two memory words SW.
  • the first memory word SW1 contains the number nimf of the membership function and the value of the support point, that is, xs or ys
  • the second memory word SW2 contains data-compressed slope information DKS, consisting of two parts p and g, which is explained below. Shapes according to FIG. 5, therefore, only two memory words are required for storing the IMF data per elementary interval, since the further values for ys or xs or or g are determined by the curve shape.
  • the situation is different with the curve shapes in FIG. 6.
  • the most significant bit of the type number is a '1'.
  • Four memory words SW are required to save the IMF form.
  • the first memory word SW1 contains the number nimf of the membership function and the value xs of the interpolation point i bitwise inverted form xs
  • the second memory word SW2 contains the values for pr and qr
  • the third memory word SW3 the values for pl and ql
  • the fourth memory word SW4 the value for ys of the interpolation point.
  • the curve shapes are such that the interpolation point lies within the elementary interval EI and thus has a value xs and ys to be stored.
  • this support point STS also has curves on both sides, the slope information DKS of which must be stored in order to be able to calculate the membership value from this data.
  • the sign bits which are shown in the column of the sign bits of FIGS. 5 and 6 are of course not stored, since they are contained in the type number t.
  • the numbers given behind the individual values indicate the bit positions of the respective value, it being assumed that the values for the interpolation point are resolved with twelve bits and a memory word has 16 bits.
  • the data data compressed slope information is formed as follows (FIG. 7):
  • the starting point is the absolute value sa of the slope s between the neighboring support points (x ⁇ , y ⁇ ) and x.2> z 2 ⁇ '•
  • sa Since the x and y values are resolved with 12 bits, sa has a positive binary number with 12 digits before the decimal point and any number of digits after the decimal point.
  • DKS data-compressed slope information
  • bit position p of the leading 1 is binary coded as the first part of the DKS before the comma of sa; because of ⁇ p ⁇ decimal is enough for 4 bits.
  • the second part q of the DKS consists of a further 12 bits, which are obtained by rounding the bit positions immediately following the leading 1 before the decimal point from sa to 12 bit accuracy; for the given example, bit positions 3, 2, ..., -9 with the values
  • dx is the difference between xe - xs, that is to say the difference between the input signal xe and the x value of the interpolation point within the elementary interval that has been hit by the input signal xe.
  • dxa The absolute amount of the difference xe-xs is denoted by dxa. The following applies:
  • dxa Ixe-xsI
  • dy is the product of the slope and xe-xs and corresponds to ye-ys.
  • vdy then results from vdx and the sign bits vsr, vsl of the inclinations implicitly contained in the type numbers t of the slopes to the right or to the left of the support point. It can be seen in the following table:
  • ys is the y value of the support point STS, vdy the sign of dy, sa the absolute amount of the slope and dxa the absolute amount of the difference dx.
  • the calculation of ye can take place as soon as the data of the membership functions that have been found have been read out from the memory KBM and have been written into the latch memory LAT3 to LAT7.
  • the 12 least significant bits of the memory word SW1, in which the number of the membership function and the bitwise inverted xs value are contained, are written into the latch LAT4, into the latch LAT5 pr and gr, into the latch LAT6 pl and ql and into the latch LAT7 ys. pr and qr, pl and q and ys are separate memory words SW, which are stored in the memory KBM.
  • the type numbers t contained in the first memory word SWO are then successively filtered out via a multiplexer MUX4 and fed to the computing circuit YEC.
  • a counter CNT2U is provided, which is counted up to a value which corresponds to the number zimf, which indicates the number of membership functions for the elementary interval that has been taken. This number zimf is also contained in the first memory word SWO.
  • the type number t namely its digits 1 and 2 is also fed to the control unit, since these are important for the calculation of ye.
  • the value of nimf goes to the inference unit FIN and is used to evaluate ye.
  • dx is calculated using the XSEQ switching network and the XADD adder circuit. To simplify the calculation, dx is reformulated as follows:
  • -xs xse + 1-2 ⁇ and xse is the one's complement of xs. This corresponds to a two's complement notation for -xs.
  • the switching network XSEQ, xs, xe, aei and t is supplied and it forms xse.
  • aei and t are supplied to the switching network XSEQ in order to be able to calculate xse if the value of xs does not have to be stored in the memory words, for example, as it is e.g. in FIG. 5 it is partially the case that the x coordinate xs of the support point coincides with one of the interval limits.
  • Cox '1 * for xe-xs> 0
  • cox ' 0 'for xe-xs ⁇ 0.
  • the switching network ABX now forms the absolute value of dx from dx.
  • a circuit with which this can be done shows Figure 12, in which the switching network ABX is realized with the help of half adders HA and Figures 13 to 15. The function of these circuits can be seen in the figures.
  • the output signal dxa from ABX is applied to one of two inputs of a multiplier PROD.
  • the 12 least significant bits of sa, the respective absolute amount of the slope s, which is supplied by the switching network SEL, are present at its second input. It is selected from qr or ql.
  • the switching network SEL also selects p from pr or pl, generates the sign of y, vdy, using the type number t and vdx according to Table 1. It also generates a signal yeiO, which indicates whether the affiliation - severity value is already known, e.g. can be deduced from the value of xe and the type number t.
  • the fuzzifier circuit can begin calculating the membership value for the next membership function, or the inference unit can begin to work when all membership functions have been processed per elementary interval.
  • Tables 2 and 3 show how SHIFT works depending on the control signal dya_sel. Table 2:
  • Table 3 shows whether rounding is required. This is only the case if sxa is evaluated. It can be seen which positions from sxa are used for the rounding.
  • vdy '1'
  • dy (l) rb-dya (0) -dya (l) + rb-dya (0) dya (l)
  • dy (l1) rb • dya (0) • dya (l) -...- dya (10) • dya (l1) + -i-rb • dya (0) • dya (l) -...- dya (10) • dya (l1)
  • the switching network OF to which dxa and p are fed, generates a signal of when an overflow occurs when multiplying dxa by 2P. This indicates that the membership value is already known and the result of the multiplier need not be waited for. The following applies:
  • the further adder YADD adds or subtracts the result of multiplying dxa by 2P to the value of ys connected through the control signal yse_sel.
  • a multiplexer MUX6 is used for this.
  • the result of this operation is temporarily stored in a register YREG for ye, it is sent to the input yse with yse_sel
  • the value of dya which was created by shifting sxa according to Table 2, processed to the final result yeO and stored in the register YREG, unless an overflow from the adder YADD is determined from vdy and the carry bit coy, in which the membership value is as follows is fixed:
  • the control signals and states required for the temporal course of the calculation of the belonging value ye can be tracked using a state graph (FIG. 11) for the control unit STW (FIG. 10).
  • the control unit is implemented as a switching mechanism or finite state machine.
  • the states wfpO, wfpl and wfp2 correspond to clocks which are required for the multiplication of two numbers in the multiplier PROD. It is assumed that three cycles are required to multiply two 12-bit numbers in order to save power and space.
  • the start address of the memory sector IMFD is read from the memory KBM.
  • state rdzt the first memory word SWO corresponding to this start address is read out in IMFD.
  • the first memory word SWO contains the number zimf of the membership functions taken per elementary interval and their type numbers.
  • the counter CNT2U is loaded, the register YREG for ye is reset.
  • the first word SW1 of the memory sector which contains the IMF data, is read out, namely nimf and xs or ys, and written into the latches LAT4 or LAT7.
  • the counter CNT2U is counted one unit further in order to take the type number from the memory word SWO.
  • the state rdnxy can also have been reached from rdpql or wfa or wfpl when calculating previous IMF values.
  • the second word SW2 is read out of the memory sector for the IMF data, in which pl and ql or pr and qr are located. These are written into latches 5 and 6.
  • a membership value of the previous membership function calculated in rdpql is passed on to the inference unit FIN.
  • the forwarding of an already known value ye of the current membership function is prepared for the following state, and the status bits of the multiplier pal and pa2 are reset.
  • rdnxy or rdkbd2 is selected as the next state.
  • the third word SW3 of the memory sector is read from IMF data with pl and ql and written into the latch memory LAT6.
  • the fourth word SW4 of the memory sector ie ys, is read out and written into the latch memory LAT7.
  • the actions and the next states depend on the previous history, as FIG. 11 also shows. If wfpl was reached from wfpO, the multiplier PROD is still active if there is no overflow when adding 2P-dxa and ys (this is indicated with of). If wfpl was reached from rdy, the multiplier PROD also remains active and the addition of 2P-dxa and ys is carried out and the result is stored in YREG.
  • the multiplier PROD remains active in the state wfp2. Its result sxa becomes valid at the beginning of the next state rdkbd2 and can then be processed to the final result ye.
  • the explanation of FIG. 11 was limited to the essential states of the control unit. Using the explanation of the fuzzifier circuit, it can be seen from the details of the transitions between the states how the individual states proceed.
  • the signals pal and pa2 are status signals for the multiplier PROD, with rd the word read is abbreviated.
  • the value '1' of the signals pal or pa2 indicates that the multiplier PROD was activated in the previous state or was still active.
  • pa2 '1' that PROD was activated in the rdy state.

Landscapes

  • Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Theoretical Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Computational Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Molecular Biology (AREA)
  • Fuzzy Systems (AREA)
  • Biomedical Technology (AREA)
  • Algebra (AREA)
  • Artificial Intelligence (AREA)
  • Health & Medical Sciences (AREA)
  • Data Mining & Analysis (AREA)
  • General Health & Medical Sciences (AREA)
  • Automation & Control Theory (AREA)
  • Mathematical Analysis (AREA)
  • Mathematical Optimization (AREA)
  • Pure & Applied Mathematics (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Mathematical Physics (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Feedback Control In General (AREA)

Abstract

Ein Fuzzy-Prozessor enthält einen Fuzzifier, der aus dem digitalen Eingangssignal Zugehörigkeitswerte der getroffenen Eingangszugehörigkeitsfunktionen errechnet. Dazu müssen die Zugehörigkeitsfunktionen abgespeichert werden. Um den Speicherplatzbedarf insbesondere bei hoher Auflösung der Eingangssignale zu verringern, ist es zweckmäßig, die Zugehörigkeitsfunktionen durch formbestimmende Merkmale, wie Stützstellen und Steigungen, zu beschreiben und diese abzuspeichern. Um Rechenzeit zu sparen wird nun der Definitionsbereich der Eingangssignale in gleich große Elementarintervalle aufgeteilt. Bei der Fuzzifizierung wird nur das Elementarintervall betrachtet, in dem das zu fuzzifizierende Eingangssignal liegt. Dadurch reduziert sich die Zahl der zu betrachtenden Zugehörigkeitsfunktionen. Ergebnis des Verfahrens ist eine Fuzzifizierung der Eingangssignale bei minimaler Rechenzeit, ohne daß der Speicherbedarf zur Speicherung der Zugehörigkeitsfunktionen zu groß wird.

Description

Beschreibung
Verfahren zur Fuzzifizierung von an Eingängen eines Fuzzypro- zessors anliegenden Eingangssignalen unter Verwendung von Eingangszugehörigkeitsfunktionen
Der Aufbau und die Arbeitsweise von Fuzzyprozessoren sind bekannt (siehe z.B. H.Eichfeld. T.Künemund, M. Klimke "An 8b Fuzzy Coprocessor for Fuzzy Control" ISSCC 93, San Franciso, 24. bis 26.2.1993, Seiten 180, 181, 286). Ein solcher Fuzzy- prozessor enthält eine FuzzySchaltung, auch Fuzzyfier ge¬ nannt, deren Aufgabe darin besteht, für ein digitales Ein¬ gangssignal, das fuzzifiziert werden soll, mit Hilfe von in einem Speicher - auch Knowledge Base Memory (KBM) genannt - gespeicherten Eingangszugehörigkeitsfunktionen die Zugehörig¬ keitswerte zu ermitteln. Dazu muß zunächst festgestellt wer¬ den, welche Eingangszugehörigkeitsfunktionen (im folgenden Zugehörigkeitsfunktion genannt) vom Eingangssignal getroffen werden. Anschließend können dann die dem Eingangssignal zuge- ordneten Zugehörigkeitswerte aus dem Speicher geholt werden.
Bisher war es üblich, die Zugehörigkeitsfunktionen punktweise abzuspeichern. Unter der Voraussetzung, daß das Eingangs¬ signal mit 8 Bit aufgelöst ist, wurden die Zugehörigkeits- funktionen punktweise mit 256 Punkten abgespeichert. Dies hat Vorteile. Die Berechnung der Zugehörigkeitswerte erfolgt % durch einen Speicherzugriff (Abtastverfahren) . Jede beliebige Form der Funktion ist erlaubt. Der Nachteil liegt aber darin, daß der benötigte Speicherplatz exponentiell von der Auflö- sung der Eingangssignale abhängt, so daß das Abtastverfahren bei z.B. einer Auflösung mit 12 Bit zu einem großen Speicher¬ platzbedarf führt.
Bei der Suche nach anderen Möglichkeiten der Abspeicherung der Zugehörigkeitsfunktionen, bei denen der Speicherbedarf geringer ausfällt, muß aber immer beachtet werden, daß der Rechenzeitaufwand zur Errechnung der Zugehörigkeitswerte nicht zu groß wird.
Das der Erfindung zugrunde liegende Problem besteht somit darin, ein Fuzzifizierungsverfahren anzugeben, bei dem der Speicherbedarf zur Speicherung der Zugehόrigkeitsfunktionen nicht zu groß wird und trotzdem die Rechenzeit zur Errechnung der Zugehörigkeitswerte im vertretbaren Rahmen bleibt. Wei¬ terhin besteht das Problem darin, eine Schaltungsanordnung zur Durchführung des Verfahrens anzugeben.
Das Problem wird durch ein Verfahren gemäß den Merkmalen des Patentanspruchs 1 gelöst. Eine Schaltungsanordnung zur Durch¬ führung des Verfahrens ergibt sich aus den Merkmalen des Anspruchs 14.
Der Speicherplatzbedarf für die Abspeicherung der Zugehö¬ rigkeitswerte kann dadurch verringert werden, daß eine die Form der Zugehörigkeitsfunktion erfassende Forminformation abgespeichert wird. Diese Forminformation enthält Merkmale, die die Form der Zugehörigkeitsfunktion definieren, wie z.B. Stützstellen, an denen sich die Steigungen der Funktion än¬ dern, und die Steigungen zwischen den Stützstellen.
Die Zugriffszeit zu der Forminformation von vom Eingangssi¬ gnal getroffenen Zugehörigkeitsfunktionen kann dadurch ver¬ ringert werden, daß der von der Auflösung abhängige Grundbe¬ reich der Eingangssignale in Elementarintervalle eingeteilt wird. Dann kann das Elementarintervall mit Hilfe der Most Significant Bits (MSB) des Eingangssignales ausgewählt wer¬ den. Dabei kann der Speicherbedarf weiterhin verringert wer¬ den, wenn die Elementarintervalle derart gewählt werden, daß innerhalb jeden Elementarintervalls höchstens vier Zugehörig¬ keitsfunktionen bzw. Teile von Zugehörigkeitsfunktionen lie- gen und/oder als Aufteilungsbedingung jeder innerhalb eines Elementarintervalls liegende Teil einer Zugehörigkeitsfunkti¬ on durch genau eine Stützstelle sowie Steigungen nach rechts und nach links von dieser Stützstelle aus beschrieben werden kann. Da aber auch Stützstellen an den Intervallgrenzen vor¬ liegenden können, muß somit neben eventuell zwei Stützstellen an den Intervallgrenzen eine dritte Stützstelle innerhalb des Elementarintervalls zur eindeutigen Beschreibung der Zugehö¬ rigkeitsfunktion innerhalb dieses Elementarintervalls ausrei¬ chen. Die Zugehörigkeitsfunktionen können dabei Polygone beliebiger Form sein.
Die Unterteilung kann in jeweils gleich große Elementarinter¬ valle erfolgen, wobei die Unterteilung so ist, daß es kein Elementarintervall gibt, das die Aufteilungsbedingung nicht erfüllt. Es ist jedoch zur Einsparung von Speicherplatz mög¬ lich, den Grundbereich nacheinander in verschieden große Elementarintervalle zu unterteilen, wobei nur die nach einer vorhergehenden Unterteilung gewonnenen Intervalle weiter unterteilt werden, die die Aufteilungsbedingung nicht erfül¬ len. Die Intervalle, die die Aufteilungsbedingung erfüllen, bleiben dagegen unverändert und bilden ein Elementarinter- vall.
Der Speicherplatzbedarf zur Speicherung der Forminformation der Zugehörigkeitsfunktionen kann weiterhin verringert wer¬ den, wenn die Forminformation folgendes enthält: Eine Nummer der Zugehörigkeitsfunktion, die Stützstellenwerte in x- und in y-Richtung und eine Steigungsinformation.
Die Steigungsinformation kann dabei aus zwei Teilen bestehen, bei der der erste Teil die Bitstelle der führenden '1' vor dem Komma des Absolutbetrages der Steigung angibt oder an¬ gibt, daß alle Stellen vor dem Komma '0' sind, bei der der zweite Teil aus dem auf die führende '1' vor dem Komma fol¬ genden Bits gewonnen wird oder, falls es vor dem Komma keine führende '1' gibt, aus den Stellen nach dem Komma des Abso- lutbetrages gewonnen wird.
Weiterhin ist es zweckmäßig, den unterschiedlichen Formen der Zugehörigkeitsfunktionen innerhalb eines Elementarintervalls eine Typennummer derart zuzuordnen, daß das Most Significant Bit der Typennummer angibt, ob innerhalb des Elementarinter¬ valls der von der Stützstelle ausgehende Kurventeil der Zuge¬ hörigkeitsfunktion nur eine Steigung oder zwei unterschiedli- ehe Steigungen aufweist und daß zwei weitere Bits die Vorzei¬ chen der Steigungen angeben.
Diese Forminformation wird in einem Speicher, dem Knowledge Base Memory, hintereinander für jedes Elementarintervall und für jeden Eingang so abgespeichert, daß sie sehr schnell über drei Speicherworte adressierbar ist. In einem ersten Spei¬ cherwort steht dabei die Adresse eines zweiten Speicherwor¬ tes, in dem für jeden Eingang kodiert die Anzahl der Elemen¬ tarintervalle gespeichert ist. Mit Hilfe dieser Angabe und der Most Significant Bits des Eingangssignales wird ein drit¬ tes Speicherwort adressiert, in dem die Startadresse eines Speichersektors mit den Zugehörigkeitsfunktionen enthalten ist, und zwar pro Eingang und pro Elementarintervall.
Andere Weiterbildungen der Erfindung ergeben sich aus den Unteransprüchen.
Anhand von Ausführungsbeispielen, die in den Figuren darge¬ stellt sind, wird die Erfindung weiter erläutert. Es zeigen
Figur 1 ein Blockschaltbild eines Fuzzyprozessors,
Figur 2 die Darstellung des Grundbereiches eines Eingangs- Signals und dessen Aufteilung in Elementarinterval- le,
Figur 3 eine Darstellung der Speicherorganisation des Know¬ ledge Base Memory (KBM)
Figur 4 eine Schaltungsanordnung zur Adressengenerierung, die geeignet ist, die Speicher gemäß Figur 3 zu adressieren, Figuren 5 und 6 Formen der Zugehörigkeitsfunktionen, deren
Typennummern, deren Vorzeichen und die im KBM-Spei- cher abzuspeichernden Speicherworte,
Figur 7 ein Diagramm zur Erläuterung der Steigungsinforma¬ tion,
Figur 8 eine Fuzzifier-Schaltung im Übersichtsbild,
Figur 9 eine Rechenschaltung der Fuzzifier-Schaltung,
Figur 10 die beim Betrieb der Fuzzifier-Schaltung erforder¬ lichen Signale, erzeugt von einem Steuerwerk,
Figur 11 einen Zustandsgraph, der den die Fuzzifikation be¬ treffenden Teil des Steuerwerkes beschreibt,
Figur 12 eine Schaltungsanordnung zur Bildung eines Absolut- betrages,
Figur 13 eine weitere Schaltungsanordnung zur Bildung eines Absolutbetrages,
Figur 14 und 15 Komponenten der Schaltungsanordnung nach Figur 13.
Figur 16 ein zweites Beispiel der Aufteilung des Grundbe¬ reiches in Elementarintervalle,
Figur 17 die Speicherorganisation des KBM für das Beispiel der Figur 16,
Figur 18 ein Algorithmus zum Adressieren der Zugehörig- keitsfunktionen für den Fall der Figur 17. Figur 1 zeigt ein Blockschaltbild eines Fuzzyprozessors. Der Fuzzyprozessor enthält eine Fuzzifier-Schaltung FUZ, in der die Zugehörigkeitswerte ye für sog. scharfe Eingangssignale xe gebildet werden. Dazu arbeitet die Fuzzifier-Schaltung FUZ mit dem Speicher KBM zusammen, in dem die Zugehörigkeitsfunk¬ tionen abgespeichert sind. Der Zugehörigkeitswert ye wird weitergegeben an die Fuzzyinferenzschaltung FIN und dort auf bekannte Weise weiterverarbeitet. Weiterhin ist zum Betrieb der Fuzzifier-Schaltung FUZ ein Steuerwerk STW erforderlich, ein Microcontroller Interface MIF, das eine Verbindung zu einem Hostrechner herstellt, ein Knowledge Base Memory In¬ terface KIF, das zum Betrieb des Knowledge Base Memories KBM notwendig ist. Die einzelnen Einheiten des Fuzzyprozessors, außer dem Steuerwerk, sind über einen gemeinsamen Bus IKAD miteinander verbunden.
Zur Fuzzifizierung von Eingangssignalen xe, die vom Hostrech¬ ner dem Microcontroller Interface MIF geliefert werden, wird die Fuzzifierschaltung FUZ verwendet, die feststellt, welche Zugehörigkeitsfunktionen, die im Speicher KBM gespeichert sind, von dem Eingangssignal xe getroffen sind und daraus die Zugehörigkeitswerte ye berechnet und diese an die Fuzzyinfe¬ renzschaltung FIN weitergibt. Im folgenden soll diese Fuzzi¬ fier-Schaltung und die Art und Weise, wie die Zugehörigkeits- funktionen im Speicher KBM abgespeichert sind, geschildert werden, die weiteren Bestandteile des Fuzzyprozessors, wie MIF, KIF und STW werden nur insoweit in die Erläuterung ein¬ bezogen, als sie zum Verständnis des Betriebes der Fuzzifier- Schaltung FUZ erforderlich sind.
Bei der Darstellung der Erfindung wird davon ausgegangen, daß das digitale Eingangssignal xe mit ae = 12 Bit aufgelöst ist. Das gleiche gilt für die Zugehörigkeitswerte ye, die eben¬ falls mit 12 Bit aufgelöst sind. Weiterhin soll bei der Dar- Stellung davon ausgegangen werden, daß pro Eingang maximal 15 verschiedene Zugehörigkeitsfunktionen zugelassen sind und daß im Speicher 16 Bit breite Worte zur Verfügung stehen. Selbstverständlich ist die Erfindung nicht auf dieses Aus¬ führungsbeispiel mit diesen Randbedingungen begrenzt, diese Begrenzung ist nur gewählt worden, um die Erfindung klarer darstellen zu können.
Figur 2 zeigt die Aufteilung des Grundbereiches für die mit ae Bit aufgelösten EingangsSignale. Figur 2 zeigt dabei die Zugehörigkeitsfunktionen IMF, aufgetragen über xe, und zwar jeweils die Zugehörigkeitswerte ye. Dabei ist der maximale Wert ye der Zugehörigkeitsfunktionen auf 1 normiert. Es ist gezeigt, wie der Grundbereich des Eingangssignals xe in vier Elementarintervalle EI aufgeteilt ist, wobei die Aufteilung derart ist, daß innerhalb jedes Elementarintervalls EI höch¬ stens vier Zugehörigkeitsfunktionen liegen und jeder inner- halb eines Elementarintervalls liegende Teil einer Zugehörig¬ keitsfunktion genau durch eine Stützstelle STS sowie die Steigungen nach rechts und nach links von der Stützstelle STS beschreibbar ist. In Figur 2 ist eine Stützstelle angegeben, die mit xs3 und ys3 gekennzeichnet ist. Die einzelnen Zugehö- rigkeitsfunktionen sind durchnumeriert von IMFO bis IMF4. Es wird darauf hingewiesen, daß neben dieser Stützstelle inner¬ halb eines Elementarintervalls weitere Stützstellen an der Intervallgrenze eines Elementarintervalls EI vorliegen kön¬ nen. Somit kann jede Zugehörigkeitsfunktion pro Elementarin- tervall mit höchstens drei Stützstellen eindeutig beschrieben werden. Von der Stützstelle STS3 gehen Kurventeile aus, die eine unterschiedliche Steigung haben. Dazu wird im folgenden die Steigung des Kurventeils links der Stützstelle STS3 mit sl, die Steigung des Kurventeils rechts der Stützstelle mit sr bezeichnet. An der Stützstelle selbst tritt eine Änderung dieser Steigung auf.
Die Aufteilung des Grundbereiches für das Eingangssignal xe, das ist der Wertebereich, der von dem Eingangssignale xe eingenommen werden kann, in Elementarintervalle EI erfolgt auf folgender Weise: Von den ae bit des aufgelösten Eingangssignales xe werden aei Most Significant Bits zur Festlegung herangezogen. Dabei gilt für die flexible Anzahl der Elementarintervalle:
nei = 2aei, 0 < aei < ae-1
wobei nei die Anzahl der Elementarintervalle pro Eingang darstellt. Die Zugehörigkeitswerte ye sind in Figur 2 auf 1 normiert, jedoch kann ye bei einer Auflösung mit 12 Bit Werte zwischen 0 und 2-1-2-1 annehmen.
In einem zweiten Beispiel werden die Elementarintervalle folgendermaßen gewonnen:
Der Grundbereich der Zugehörigkeitsfunktionen eines Eingangs- signales wird in einer ersten Stufe solange in gleichgroße Intervalle (deren Anzahl eine Potenz von 2 ist) unterteilt, bis mindestens eines dieser Intervalle die Aufteilungsbedin¬ gungen für ein Elementarintervall erfüllt (im Gegensatz dazu müssen in Figur 2 alle Intervalle diese Bedingung erfüllen) . Für diese Elementarintervalle der Stufe I können dann die
Adressen-Deskriptoren und Daten der Zugehörigkeitsfunktionen bestimmt und im Speicher KBM abgelegt werden.
Die zweite Stufe besteht nun darin, alle übrigen Intervalle der Stufe I -also diejenigen, die die Bedingungen für ein Elementarintervall nicht erfüllen, und nur diese- jeweils unabhängig voneinander weiter zu unterteilen, und zwar genau¬ so wie in Stufe I. Mit anderen Worten wird in Stufe II jedes der übriggebliebenen Intervalle der Stufe I genauso behandelt wie der Grundbereich in Stufe I : für die Elementarintervalle der Stufe II werden dann die Adressen-Deskriptoren und Daten der Zugehörigkeitsfunktionen bestimmt, und alle übrigen In¬ tervalle der Stufe II werden in Stufe III unabhängig vonein¬ ander weiter unterteilt wie oben beschrieben. Gleiches gilt für alle etwa noch notwendigen weiteren Stufen. In Figur 16 ist ein Beispiel angegeben. Stufe I besteht in der Unterteilung des Grundbereiches von drei Zugehörigkeits¬ funktionen IMFO, IMF1 und IMF2 in vier Intervalle, wobei das erste und das vierte Intervall die Bedingungen für ein Ele- mentarintervall erfüllen.
Das zweite Intervall der Stufe I wird weiter in zwei Inter¬ valle der Stufe II unterteilt, deren erstes ein Elementarin¬ tervall der Stufe II ist und deren zweites in zwei weitere Intervalle der Stufe III, die beide Elementarintervalle sind, unterteilt wird.
Das dritte Intervall von Stufe I wird in zwei Intervalle unterteilt, deren zweites ein Elementarintervall der Stufe II ist und deren erstes in vier weitere Intervalle der Stufe III, die alle Elementarintervalle sind, unterteilt wird.
Für dieses Beispiel ergeben sich also zwei Elementarinterval¬ le der Stufe I, zwei der Stufe II und sechs der Stufe III. Die Daten für die Zugehörigkeitsfunktionen müssen also für 10 Elementarintervalle abgespeichert werden.
Gegenüber der Unterteilung des Grundbereiches in gleich große Elementarintervalle besteht der Vorteil dieses mehrstufigen Elementarintervall-Verfahrens darin, daß der Grundbereich nun nur noch dort feiner unterteilt werden muß, wo die Struktur, d.h. dicht beeinanderliegende Stützstellen der Zugehörig¬ keitsfunktionen, dies auch verlangt. Dadurch, daß Bereiche mit "wenig Struktur" nun gröber unterteilt werden können, ergibt sich -jedenfalls für Fälle, in denen die Struktur über den Grundbereich variiert -eine beträchtliche Einsparung an Speicherplatz. Der zusätzliche Aufwand an Rechenzeit läßt sich durch eine erweiterte Speicherorganisation begrenzen (siehe unten) . Die Zugehörigkeitsfunktionen IMF sind nun im Speicher KBM gespeichert. Für jedes Eingangssignal ist es somit erforder¬ lich, die vom Eingangssignal xe getroffenen Zugehörigkeitsfu- nktionen IMF festzustellen und dann die Zugehörigkeitswerte zu berechnen. Dazu muß auf den Speicher KBM zugegriffen wer¬ den. Im folgenden wird die Speicherorganisation, die Ermitt¬ lung des getroffenen Elementarintervalls sowie des Speicher- sektors, in dem die Zugehörigkeitsfunktionen des getroffenen Elementarintervalls liegen, geschildert.
Es wird dabei davon ausgegangen, daß im Speicher KBM w Wis¬ sensbasen abgespeichert sind, daß i Eingänge und k Elementar- intervalle EI vorliegen. Die jeweiligen Bereiche für i, k ergeben sich aus Figur 3.
Wie üblich werden zunächst die Adressendeskriptoren KBDO und KBDl aus dem KBM ausgelesen und in das Speicherinterface KIF geschrieben. Im Adressendeskriptor KBDl steht eine Adresse des sog. Elementarintervall-Adressendiskriptors EAD. Über diese Adresse kann der Elementarintervall-Adressendiskriptor EAD angesteuert werden. Im Elementarintervall-Adressendis- kriptor EAD ist mit jeweils z.B. vier Bit kodiert der Expo- nent aei gespeichert, aus dem die Anzahl der Elementarin¬ tervalle pro Eingang berechnet werden kann. Es gilt:
nei.i = 2aei-i , 0 < aei.i ≤ 11
Aus dem in EAD gespeicherten aei und den aei Most Significant Bits des Eingangssignales xe wird dann nach i-l adr(EIA) = adr(EAD) + ∑ nei.h + rad(EIA)+" 0000000000000001" h=l die Adresse eines Speicherwortes EIA ermittelt, in dem pro Eingang und pro Elementarintervall EI die Startadresse des Speichersektors angegeben ist, in dem die einem Elementarin¬ tervall zugeordneten Zugehörigkeitsfunktionen gespeichert sind. Dieser Speichersektor wird mit IMFD bezeichnet. rad(EIA) ist eine Relativadresse, die durch aei.i und die aei Most Significant Bits von xe.i festgelegt ist. Aus Figur 3 ergibt sich diese Speicherorganisation mit den einzelnen Speicherbereichen sowie die Art und Weise, wie diese Speicherbereiche adressiert werden. Hier gibt es zu¬ nächst einen Speicherbereich für die Speicherworte KBD pro Wissensbasis, darauf folgt der Elementarintervall-Adressen- diskriptor EAD pro Wissensbasis, anschließend die Speicher¬ worte EIA, die jeweils die Startadresse des Speichersektors IMFD pro Elementarintervall und pro Eingang enthalten und schließlich die Speichersektoren IMFD für die Zugehörigkeits- funktionen, in denen die Forminformation pro Zugehörigkeits¬ funktion enthalten ist. Der Inhalt dieser Speichersektoren IMFD wird weiter unten erläutert.
Eine Schaltungsanordnung, mit der eine Adressierung dieses Speicherbereiches möglich ist, zeigt die Figur 4. Diese
Schaltung ist im KIF enthalten. Die angegebenen Steuersignale werden entweder direkt vom Steuerwerk geliefert oder ihre Erzeugung im KIF vom Steuerwerk veranlaßt. Der Ablauf der Adressengenerierung wird im folgenden schrittweise erläutert. Dabei sind in Figur 4 die Breite der einzelnen Signale ange¬ geben:
1. Zuerst werden die im KIF, und zwar über ein Steuerregister CTRL, erzeugten und jeweils an dem Adressbus KBDADR anliegen- den Adressen von KBDO und KBDl mit dem Steuersignal adail_sel an einen Eingang II eines Addierers ADDl geschaltet. Dessen zweiter Eingang 12 ist durch das Steuersignal adai2_sel mit einem Zähler CNT4U verbunden, der zu diesem Zeitpunkt rückge¬ setzt ist. Außerdem gilt ada_ci = '0' für den Carry-Eingang des Addierers ADDl. Damit gelangen die Werte des Adressbusses KBDADR unverändert über ein Masterslave-Register MSR2 und einen aktivierten Treiber TRB auf den Bus IKAD.
2. Der ausgelesene Wert von KBDO wird in das mit kbd0_clk zum entsprechenden Zeitpunkt geöffnete Latch LATO geschrieben. 3. Dann wird der ausgelesene Wert von KBDl, gleich der Adres¬ se von EAD, über das mit stad_clk rechtzeitig geöffnete Latch LAT1 und das mit adail_sel angesteuerte Schaltnetz MUX2 an den Eingang II des Addierers ADDl gelegt; 12 liegt weiterhin auf Null und es gilt ada_ci = '0'. Damit gelangt die Adresse von EAD in das zu diesem Zeitpunkt mit adaol_en geöffnete Ma- sterslave-Register MSR1 sowie über das Masterslave-Register MSR2 und den Treiber TRB im folgenden Takt auf den Bus IKAD.
4. Im folgenden Takt wird auch der Inhalt von EAD auf dem Bus IKAD gültig und mit ead_clk in das Latch LAT2 geschrieben. Ein Multiplexer MUX1 wählt daraus mit dem Signal nri den dem jeweiligen Eingang zugeordneten Wert von aei aus, womit sich einerseits über den Decoder DEC der Wert von nei ergibt und mit dem andererseits im Schaltnetz RAD aus aei und xe eine
Relativadresse gebildet wird, die dazu verwendet wird, um das von den Most Significant Bits des Eingangssignales xe adres¬ sierte Elementarintervall und das diesem zugeordnete Spei¬ cherwort EIA im Speicher KBM zu ermitteln. Zur Bildung der Adresse von EIA legt der Multiplexer MUX2 mit dem Steuer¬ signal adail_sel den um fünf führende Nullen ergänzten Wert der Relativadresse an den Eingang II und der Multiplexer MUX3 mit dem Steuersignal adai2_sel den im Register MSR1 gespei¬ cherten Wert der Adresse von EAD an den Eingang 12 des Addie- rers ADDl. Außerdem gilt dann ada_ci = '1'. Der somit gebil¬ dete Wert der Adresse von EIA gelangt über das Register MSR2 und den Treiber TRB im folgenden Takt auf den Bus IKAD.
5. Der ausgelesene Wert von EIA, also die Adresse stad des ersten Wortes in IMFD, wird mit dem Steuersignal stad_clk in das Latch LAT1 geschrieben und mit dem Steuersignal adai_sel über den Multiplexer MUX2 an den Eingang II des Addierers ADDl gelegt. Dessen zweiter Eingang 12 erhält mit dem Steuer¬ signal adai2_sel den Wert '0' und es gilt ada_ci = '0'. Somit gelangt stad unverändert über das Register MSR2 und den Trei¬ ber TRB im folgenden Takt auf den Bus IKAD. 6. Die Adressen für die folgenden maximal sechzehn noch zu erfolgenden Zugriffe auf die Zugehörigkeitsfunktionen IMFD ergeben sich analog zu 5: Zum einen für die ersten fünfzehn Zugriffe als Summe des am Ausgang des Latch LAT1 liegenden stad und dem jeweils um 1 erhöhten Inhalt des Zählers CNT4U sowie ada_ci = '0' , und schließlich, falls ein sechzehnter Zugriff erforderlich ist, aus der Summe von stad und dem letzten Zählerstand sowie ada_ci = '1'.
7. Während der auf die Fuzzifikation einer Eingangsgröße folgenden Fuzzyinferenz, also der Auswertung der Fuzzyregeln, wird der im Register MSR1 gespeicherte Wert immer aktuali¬ siert, d.h. der alte Wert
i-l adr(EIA) + nei.h h-1
wird über MUX3 an den Eingang 12 von ADDl gelegt und der jeweils um vier führende '0' ergänzte Wert von nei.i über MUX2 an den Eingang II..
Beim zweiten Beispiel der Figur 16 läßt sich die Rechenzeit durch eine erweiterte Speicherorganisation im Sinne eines hierarchischen Systems von Elementarintervall-Adressen-Des¬ kriptoren auf einen Speicherzugriff pro Stufe begrenzen, da die eigentliche Berechnung der Funktionswerte der Eingangszu¬ gehörigkeitsfunktionen nur für das vom scharfen Eingangssi¬ gnal xe jeweils letztlich getroffene Elementarintervall durchgeführt wird.
Ein Beispiel für das eben erwähnte hierarchische System von Elementarintervall-Adressen-Deskriptoren soll nun mit Figur 17 erläutert werden (siehe dazu auch Figur 3) . Dazu werde angenommen, daß alle Speicherworte 16 Bit breit sind. Wie in Figur 3 enthält das Speicherwort EAD mit der Adresse adr (EAD) die Information aei über die Anzahl der Intervalle der Stufe I, in die der Grundbereich unterteilt wurde. Aus aei und dem scharfen Wert xe des Eingangssignales ergibt sich dann die Relativadresse r(aei, xe) für den Adressen-Des¬ kriptor EIA.k des von xe getroffenen k-ten Intervalls der Stufe I. Für dessen absolute Adresse adr(EIA.k) gilt
adr(EIA.k) = adr(EAD) + r(aei,xe)
Gegenüber Figur 3 erhalten die Speicherworte EIA.k = EIA.k [15:0] nun aber eine geänderte Bedeutung:
• für EIA.k[15] = 0 erfolgt keine weitere Unterteilung, d.h. das vorliegende k-te Intervall der Stufe I ist ein Elementar¬ intervall, und die Bits EIA.k[14:0] bedeuten die Startadresse für den Speichersektor IMFD.k, in dem die ei-= gentlichen Daten der Zugehörigkeitsfunktionen innerhalb die¬ ses Elementarintervalls abgelegt sind.
• für EIA.k[15] = 1 jedoch bedeuten die Bits EIA.k[14:13] den binären Wert des Exponenten aei.k der Zahl nei.k = 2aeUc+1 von für dieses Beispiel maximal 16 Intervallen, in die das k-te In¬ tervall der Stufe I weiter unterteilt wird. Die Bits EIA.kf 12:0] bilden nun eine Relativadresse für das erste Wort eines zusätzlichen (dem Elementarintervall-Adressen-Deskriptorblock EIAD der Stufe I entsprechenden) Blockes EIAD.k von Elemen- tarintervall-Adressen-Deskriptoren der Stufe II bezüglich des k-ten Intervalls der Stufe I.
Welches 1-te Intervall der Stufe II durch den scharfen Wert xe des Eingangssignales getroffen wird, kann - analog zu dem in Figur 3 angegebenen Vorgehen - aus aei, aei.k sowie den aei+aei.k+1 MSB von xe bestimmt werden. Damit liegt dann auch die Relativadresse r(aei, aei.k, xe) für das Speicherwort EIA.k.l innerhalb von EIAD.k fest.
Die Speicherworte EIA.k.l sowie alle weiteren Hierarchiestu¬ fen sind genauso definiert wie EIA.k. In Figur 17 ist diese Speicherorganisation für das Beispiel von Figur 16 angegeben. Die Abfolge der Speicherzugriffe is mit den gestrichelten Linien angedeutet, wobei ein scharfer Wert xe des Eingangssignales innerhalb des zweiten Elementa intervalls der Stufe III angenommen wurde. Da dieses Elemen tarintervall in dem zum dritten Intervall der Stufe I gehö¬ renden ersten Intervall der Stufe II liegt, folgen nach dem Speicherzugriff auf EAD also zunächst der auf EIA.3 und dan die auf EIA.3.1 sowie EIA.3.1.2, dessen 15 LSB EIA.3.1.2[14: ] die Startadresse von IMFD.3.1.2 bedeuten.
Der bei der Adressierung verwendete Algorithmus kann auch Figur 18 entnommen werden. Zur schaltungstechnischen Reali¬ sierung der Adressengenerierung für das mehrstufige Verfahr ist die in Figur 4 angegebene Anordnung für das einstufige Verfahren zu erweitern.
Zur Fuzzifikation der weiteren Eingangsgrößen müssen nur di Schritte 4) - 6) und ggf. 7) durchlaufen werden.
Im Speichersektor IMFD stehen die Daten für die Zugehörig¬ keitsfunktionen der einzelnen Elementarintervalle EI pro Eingang für die einzelnen Wissensbasen. Dabei enthält das erste Speicherwort von IMFD die mit zwei Bit kodierte Anzah ZIMF der Zugehörigkeitsfunktionen innerhalb eines Elemen¬ tarintervalls sowie mit jeweils drei Bit kodierte sog. Type nummern t für die maximal vier Zugehörigkeitsfunktionen IMF im Elementarintervall EI. Die den Typennummern zugeordneten IMF-Formen sind in den Figuren 5 und 6 dargestellt. Mit Hil dieser Informationen können dann die Zugehörigkeitswerte ye für jedes xe berechnet werden.
Figur 5 und 6 zeigen die einzelnen Formen der Zugehörigkeit funktionen, ihre Typennummern und die im Speichersektor IMF abzuspeichernden Speicherworte zur Beschreibung der IMF-For men. Es ist jeweils die Kurvenform innerhalb eines Elemen- tarintervalles gezeigt. Die Typennummern sind so gewählt, d in ihnen bereits die Vorzeichen der Steigung s enthalten sind, während das Most Significant Bit von t angibt, ob von der Stützεtelle STS jeweils zwei Kurventeile mit unterschied licher Steigung ausgehen, die zu speichern sind. Mit einer solchen Wahl der Typennummern wird der Speicherplatzbedarf verringert, da bereits in der Typennummer Information enthal ten ist, die später bei der Berechnung des Zugehörigkeitswer tes verwendet werden kann.
In Figur 5 sind die IMF-Formen dargestellt, bei denen das
Most Significant Bit '0' ist. Es ist zu sehen, daß die Stütz stellen STS jeweils entweder durch ein xs oder durch ein ys festgelegt ist. Der andere Wert ist entweder '0' bei ys oder wird durch die Grenzen des Elementarintervalls festgelegt, die ja mit den Most Significant Bits des Eingangssignales xe erkannt werden können. Wie ein Vergleich der Spalte für die Vorzeichenbits mit den Stellen 0 und 1 der Typennummer t zeigt, enthalten die Stellen 0 und 1 der Typennummer t die Vorzeichenbitε. Die IMF-Formen werden bei den Typennummern, bei denen das Most Significant Bit '0' ist, mit Hilfe von zwei Speicherwörtern SW gespeichert. Im ersten Speicherwort SW1 steht die Nummer nimf der Zugehörigkeitsfunktion und der Wert der Stützstelle, also xs oder ys, im zweiten Speicher¬ wort SW2 steht eine datenkomprimierte Steigungsinformation DKS, bestehend aus zwei Teilen p und g, die unten erläutert wird.Bei den IMF-Formen nach Figur 5 werden also nur zwei Speicherwörter zur Speicherung der IMF-Daten pro Elementarin tervall benötigt, da die weiteren Werte für ys oder xs bzw. oder g durch die Kurvenform festgelegt sind.
Anders ist die Lage bei den Kurvenformen der Figur 6. Hier ist das Most Significant Bit der Typennummer eine '1'. Es sind vier Speicherworte SW erforderlich, um die IMF-Form zu speichern. Das erste Speicherwort SWl enthält die Nummer nimf der Zugehörigkeitsfunktion und den Wert xs der Stützstelle i bitweise invertierter Form xs, das zweite Speicherwort SW2 enthält die Werte für pr und qr, das dritte Speicherwort SW3 die Werte für pl und ql und das vierte Speicherwort SW4 den Wert für ys der Stützstelle. Hier sind die Kurvenformen so, daß die Stützstelle innerhalb des Elementarintervalls EI liegt, und somit einen zu speichernden Wert xs und ys auf- weist. Damit gehen auch von dieser Stützstelle STS auf beiden Seiten Kurven aus, deren Steigungsinformation DKS gespeichert sein müssen, um aus diesen Daten den Zugehörigkeitswert be¬ rechnen zu können. Dabei werden die Vorzeichenbits, die in der Spalte der Vorzeichenbits der Figur 5 und 6 gezeigt sind, natürlich nicht mit abgespeichert, da sie in der Typennummer t enthalten sind. Die hinter den einzelnen Werten angegebenen Zahlen geben die Bitstellen des jeweiligen Wertes an, wobei davon ausgegangen wird, daß die Werte für die Stützstelle mit zwölf Bit aufgelöst sind und ein Speicherwort 16 Bit hat.
Die datendatenkomprimierte Steigungsinformation wird folgen¬ dermaßen gebildet (Figur 7) :
Ausgangspunkt ist der Absolutwert sa der Steigung s zwischen den benachbarten Stützstellen (x^, y^) und x.2 > z 2 ^ '•
Figure imgf000019_0001
Da die x- und y-Werte mit 12 Bit aufgelöst sind, ergibt sich für sa eine positive Binärzahl mit 12 Stellen vor dem Komma und beliebig vielen Stellen nach dem Komma. Zur Fuzzifizie¬ rung (d.h. zur Berechnung des der scharfen 12 Bit Eingangs¬ größe xe entsprechenden 12 Bit Zugehörigkeitswertes ye) ge¬ nügt es aber, statt sa eine datenkomprimierte Steigungsinfor- mation (DKS) zu speichern, deren Zustandekommen anhand eines Beispiels verdeutlicht werden soll: Es sei
11 10 9 8 7 6 5 4 3 2 1 0 -1 -2 -3 -4 -5 -6 -7 -8 -9 -10 -11 -12 -13 sa= 0 0 0 0 0 0 0 1 0 0 0 1 , 1 0 1 0 1 0 1 0 1 0 1 0 1 Dabei gibt die obere Zeile die Bitstelle, die untere Zeile die zugeordneten Werte an.
In einem ersten Schritt wird nun geprüft, ob mindestens eine der Bitstellen vor dem Komma den Wert 1 aufweist. Falls dies, wie in dem angegebenen Beispiel, der Fall ist, wird als er¬ ster Teil der DKS die Bitstelle p der führenden 1 vor dem Komma von sa binär kodiert; wegen
Figure imgf000020_0001
≤ p < Hdezimal genügen dazu 4 Bit. Für das angegebene Beispiel ergibt sich
P = dezimal = 0100
Der zweite Teil q der DKS besteht aus weiteren 12 Bit, die durch Runden der auf die führende 1 vor dem Komma von sa unmittelbar folgenden Bitstellen auf 12 Bit Genauigkeit ge¬ wonnen werden; für das angegebene Beispiel sind dazu die Bitstellen 3, 2, ..., -9 mit den Werten
0001101010101, auf den Wert q = 000110101011 zu runden.
Damit sind insgesamt 16 Bit (p(3), ..., p(0), q(ll), ..., q(0)) zur Kodierung des Absolutbetrages sa einer Steigung erforderlich, falls eine der Bitstellen vor dem Komma von sa den Wert 1 aufweist, also für sa > 1.
Der Fall sa < 1, d.h. alle Bitstellen vor dem Komma von sa haben den Wert 0, wird folgendermaßen codiert:
Für den ersten Teil p der DKS wird eine der noch "freien" Bitkombinationen
p(3) = p(2) = 1, p(l), p(0)
beliebig für p gewählt, während sich der zweite Teil q der DKS durch Runden der Bitstellen nach dem Komma von sa auf 12 Bit Genauigkeit gewonnen werden. Werden in dem oben angegebe¬ nen Beispiel alle Stellen vor dem Komma gleich Null gesetzt, so gilt zunächst
sa = 0 0 .. 0, 1 0 1 0 1 0 1 0 1 0 1 0 1 und damit q = 1 0 1 0 1 0 1 0 1 0 1 1
Auch im Fall sa < 1 werden also insgesamt 16 Bit zur Kodie¬ rung von sa verwendet.
Aus p und q ergibt sich dann der Absolutwert sa der Steigung nach: o sa = δ • 2P + 2δp_12 • ∑s(σ + δ • p - 12) • 2σ,mitδ = 1 - p(3) • p(2) σ-n
Aus den in Figur 5 und 6 angegebenen IMF-Formen muß nun für die Eingangssignale xe der entsprechende Zugehörigkeitswert ye berechnet werden. Dazu ist es zweckmäßig, folgende Defini¬ tionen zu geben:
Mit vdx wird das Vorzeichenbit von dx angegeben, dx ist die Differenz von xe - xs, also die Differenz zwischen dem Ein¬ gangssignal xe und dem x-Wert der Stützstelle innerhalb des Elementarintervalls, das von dem Eingangssignal xe getroffen worden ist. Diese Differenz kann > 0 oder < 0 sein, je nach dem, ob xe rechts oder links von dem x-Wert der Stützstelle liegt. Also gilt: vdx = 0 für xe-xs > 0
vdx = 1 für xe-xs < 0
Der Absolutbetrag der Differenz xe-xs wird mit dxa bezeich¬ net. Es gilt:
dxa = Ixe-xsI Das Vorzeichenbit für den Wert dy wird mit vdy bezeichnet, dy ist dabei das Produkt aus Steigung und xe-xs und entspricht ye-ys. vdy ergibt sich dann aus vdx sowie den in den Typen¬ nummern t implizit enthaltenen Vorzeichenbits vsr, vsl der Steigungen nach rechts bzw. nach links von der Stützstelle aus. Es kann der folgenden Tabelle entnommen werden:
Tabelle 1:
vdy = '0' für t(2) '0 vdy = vdx für t = "1001 vdy = '1' für t = "1011 vdy = '0 ' für t = "HO1 vdy = vdx für t = "111'
Mit diesen Definitionen ergibt sich für den Zugehörigkeits¬ wert ye die folgende Formel:
ye = ysθ(-l)vdy-(sa®dxa)
ys ist dabei der y-Wert der Stützstelle STS, vdy das Vorzei¬ chen von dy, sa der Absolutbetrag der Steigung und dxa der Absolutbetrag der Differenz dx.
Es muß beachtet werden, daß die Werte, die ye einnehmen kann, also auch das Produkt von sa mit dxa und die Summe von ys mit diesem Produkt durch die Auflösung des Zugehörigkeitswertes ye begrenzt wird. Somit hat ye die Grenzen 0 und, unter der Voraussetzung, daß das Signal ye mit m Bit aufgelöst ist, die zweite Grenze 2m~l. Wenn sich bei der Berechnung ergibt, daß entweder ye = 0 sein muß oder die untere Grenze 0 unter¬ schreitet oder die obere Grenze 2m_1 überschreitet, ist die genaue Berechnung entsprechend der angegebenen Formel nicht mehr erforderlich. Diese Begrenzung wird beim Produkt mit ® und bei der Summe mit θ in der Formel für ye angegeben. Eine Fuzzifier-Schaltung FUZ, mit der ye berechnet werden kann, ergibt sich aus Figur 8 und Figur 9. Figur 8 zeigt dabei die Schaltung, bei der die Rechenschaltung YEC nur als Block dargestellt ist, Figur 9 die Ausführung der Rechen- Schaltung YEC.
Die Berechnung von ye kann erfolgen, sobald die Daten der getroffenen Zugehörigkeitsfunktionen aus dem Speicher KBM ausgelesen worden sind, und in Latchspeicher LAT3 bis LAT7 eingeschrieben worden sind. In den Latchspeicher LAT3 wird dabei das erste Speicherwort SWO des dem Elementarintervall zugeordneten Speichersektors eingeschrieben, in dem die An¬ zahl der getroffenen Zugehörigkeitsfunktionen und deren Ty¬ pennummern enthalten sind. In den Latchspeicher LAT4 werden die 12 niedrigstwertigsten Bits des Speicherwortes SW1 einge schrieben, in dem die Nummer der Zugehörigkeitsfunktion und der bitweise invertierte xs-Wert enthalten sind, in den Latchspeicher LAT5 pr und gr, in den Latchspeicher LAT6 pl und ql und in den Latchspeicher LAT7 ys. pr und qr, pl und q und ys sind jeweils eigene Speicherworte SW , die im Speiche KBM gespeichert sind.
Über einen Multiplexer MUX4 werden nun nacheinander die im ersten Speicherwort SWO enthaltenen Typennummern t herausge- filtert und der Rechenschaltung YEC zugeführt. Zur Ansteue- rung des Multiplexers MUX4 ist dabei ein Zähler CNT2U vorge¬ sehen, der hochgezählt wird bis zu einem Wert, der der Zahl zimf entspricht, die die Anzahl der Zugehörigkeitsfunktionen für das getroffene Elementarintervall angibt. Diese Anzahl zimf ist ebenfalls im ersten Speicherwort SWO enthalten. Aus den Typennummern t, den Werten in den weiteren Speicherwor¬ ten, die von den Latchspeichern LAT4 bis LAT6 der Rechen¬ schaltung YEC zugeführt werden und aus dem Eingangssignal xe, das ebenfalls an der Rechenschaltung YEC anliegt, kann dann diese den Zugehörigkeitswert ye entsprechend der oben angege benen Formel berechnen. Wenn für das getroffene Elementar¬ intervall EI alle Zugehörigkeitsfunktionen bzw. deren Typen- nummern t abgearbeitet sind, dann gibt eine Komparatorschal- tung KOM, die die Anzahl zimf mit dem Zählerstand von CNT2U vergleicht, ein Signal ciz ab, das dem Steuerwerk STW zuge¬ führt wird und dieses veranlaßt, die Berechnung der Zugehö¬ rigkeitswerte zu beenden. Die Typennummer t, und zwar deren Stellen 1 und 2, wird ebenfalls dem Steuerwerk zugeführt, da diese für den Ablauf der Berechnung von ye von Bedeutung sind. Der Wert von nimf geht zur Inferenzeinheit FIN und wird dort zur Auswertung von ye mit herangezogen.
Die genauere Ausführung der Rechenschaltung kann Figur 9 entnommen werden. Mit Hilfe des Schaltnetzes XSEQ und der Addiererschaltung XADD wird die Differenz dx berechnet. Dabei wird zur Vereinfachung der Berechnung dx folgendermaßen um- formuliert:
dx = xe-xs = xe+xse+1-2^
wobei -xs = xse+1-2^ ist und xse das Einerkomplement von xs. Dies entspricht einer Zweierkomplementschreibweise für -xs.
Dementsprechend wird dem Schaltnetz XSEQ, xs, xe, aei und t zugeführt und es bildet xse. aei und t werden dem Schaltnetz XSEQ zugeführt, um xse berechnen zu können, wenn in den Speicherworten der Wert von xs nicht gespeichert werden muß, wenn also, wie es z.B. bei Figur 5 teilweise der Fall ist, die x-Koordinate xs der Stützstelle mit einer der Intervall¬ grenzen zusammenfällt.
Der Addierer XADD ist als Subtrahierer geschaltet (CI = 1') und bildet aus xse und xe den Wert dx. Weiterhin erzeugt er das Vorzeichenbit vdx, das sich aus dem invertierten Über¬ tragsignal cox ergibt. Dabei ist cox = '1* für xe-xs > 0 cox = '0 ' für xe-xs < 0.
Das Schaltnetz ABX bildet nun aus dx den Absolutbetrag von dx. Eine Schaltung, mit der dies durchgeführt werden kann, zeigt Figur 12, bei der das Schaltnetz ABX mit Hilfe von Halbaddierern HA realisiert wird bzw. die Figuren 13 bis 15. Die Funktion dieser Schaltungen kann den Figuren entnommen werden.
Das Ausgangssignal dxa von ABX wird an einen von zwei Eingän¬ gen eines Multiplizierers PROD angelegt. An dessen zweitem Eingang liegen die 12 Least Significant Bits von sa, des jeweiligen Absolutbetrages der Steigung s an, das vom Schalt- netz SEL geliefert wird. Es wird aus qr oder ql ausgewählt. Das Schaltnetz SEL wählt weiterhin p aus pr oder pl aus, erzeugt das Vorzeichen von y, vdy, unter Verwendung der Ty¬ pennummer t und von vdx entsprechend der Tabelle 1. Es er¬ zeugt weiterhin ein Signal yeiO, das angibt, ob der Zugehö- rigkeitswert bereits bekannt ist, was z.B. aus dem Wert von xe und der Typennummer t entnehmbar ist. Z.B. gilt für t = "000" und xe < xs oder t = "001" und xe > xs, daß ye = 0 ist. Dann ist nämlich eine Berechnung des Zugehörigkeitswertes nicht erforderlich, d.h. die Fuzzifier-Schaltung kann mit der Berechnung des Zugehörigkeitswertes für die nächste Zuge¬ hörigkeitsfunktion beginnen bzw. die Inferenzeinheit kann, wenn alle Zugehörigkeitsfunktionen pro Elementarintervall bearbeitet sind, mit seiner Arbeit beginnen.
Das Schaltnetz SHIFT erfüllt zwei Aufgaben: Zum einen wird mit Hilfe eines Steuersignales dya_sel = '1' die Multiplika¬ tion von dxa mit 2P durchgeführt und zum anderen wird für dya_sel = '0' das Ergebnis sxa des Multiplizierers PROD unter Verwendung von p an die richtige Stelle geschoben. Die Be- rechnung von dxa-2P kann sehr schnell durchgeführt werden.
Die Arbeitsweise von SHIFT in Abhängigkeit des Steuersignals dya_sel zeigen Tabellen 2 und 3. Tabelle 2 :
dya[ll. . Q]
0 dya_ sei • sxa[23.. 12] + dya_ sei • dxa[ll.. 0]
1 dya_ sei ■ εxaf 22.. 11] + r-ya_ sei ■ {dxa[lO.. 0]& 0' }
2 dya_ sei • sxa[21.. 10] + dya_ sei • {dxa[9. . 0]i 00' }
11 dya_ sei • sxa[l2.. 1] + dya_ sei ■ {dxa(0)i 00000000000}
> 12 dya_ sei • sxa[23.. 12]
In Tabelle 2 ist eine Spalte für p, eine Spalte für den Aus¬ gangswert dya, in Tabelle 3 eine Spalte für p und eine Spalte für ein Rundungsbit rb angegeben. Dabei wird vorausgesetzt, daß jeweils 12 Bit breite Zahlen dxa und sa miteinander mul- tipliziert werden und das Ergebnis sxa 24 Bit breit ist. Nach Tabelle 2 wird z.B. für p = 0, bei dem die führende '1' di¬ rekt vor dem Komma liegt, vom Ergebnis sxa die Stellen 23 bis 12 als dya abgegeben, für den Fall, daß p = 11 ist, die Stel¬ len 12 bis 1. Es ist also zu erkennen, wie das Produkt sxa im Schaltnetz SHIFT verschoben werden muß, um den richtigen Wert von dya abzugeben. Der Fall, daß p > 12 ist, zeigt an, daß keine führende '1' vor dem Komma vorhanden ist, da eine füh¬ rende '1' vor dem Komma die Bitstellen 11..0 einnehmen kann. Für den Fall, daß dya_sel = 1 ist, wird die Multiplikation von dxa mit 2P durchgeführt, d.h. das Ergebnis sxa des Multi¬ plizierers wird nicht verwendet. Dazu genügt, daß dxa im Schaltnetz SHIFT verschoben wird. Dementsprechend wird dxa dem Schaltnetz SHIFT zugeführt. Das Ausmaß der Verschiebung kann ebenfalls Tabelle 2 entnommen werden. Für den Fall, daß p = 0 ist, findet überhaupt keine Verschiebung statt, für den Fall, daß p = 1 ist, wird dxa um eine Stelle nach links ver¬ schoben, es werden also die Stellen 0 bis 10 von dxa verwendet und um eine Null ergänzt, für den Fall, daß p = 11 ist, wird von dxa nur noch die nullte Stelle verwen¬ det, und die übrigen Stellen durch Nullen ergänzt.
In Tabelle 3 wird angegeben, ob eine Rundung erfolgen muß. Dies ist nur dann der Fall, wenn sxa ausgewertet wird. Es ist zu sehen, welche Stellen von sxa für die Rundung herangezogen werden. Das Rundungsbit rb ergibt sich aus den Stellen nach dem Komma des mit SHIFT an die richtige Stelle geschobenen Produktes sxa. rb wird für positive dy, d.h. für vdy = '0' liefert MUX 5 dy = dya, bei der Bestimmung von yeO in YADD berücksichtigt, da in diesem Fall für rb = '1' aufgerundet werden muß. Für vdy = '1' dagegen muß in YADD eine Subtrak¬ tion durchgeführt werden, d.h. der Carry-Eingang ci = vdy + rb erhält unabhängig von rb den Wert '1'. Die für rb = '1' erforderliche Rundung wird deshalb, zusammen mit der Bestim¬ mung von dy, in MUX5 vorgenommen, d.h. MUX5 liefert für vdy =
dy(0) = rb-dya(0)+rb- ya(0)
dy(l) = rb-dya(0)-dya(l)+rb-dya(0)dya(l)
dy(l1) =rbdya(0)dya(l)-...-dya(10)dya(l1)+ -i-rb•dya(0)dya(l)-...-dya(10)dya(l1)
ERSATZBLÄΓΓ Tabelle 3
Figure imgf000028_0001
Das Schaltnetz OF, dem dxa und p zugeführt wird, erzeugt ein Signal of, wenn ein Überlauf bei der Multiplikation von dxa mit 2P auftritt. Damit wird angezeigt, daß der Zugehörig¬ keitswert schon bekannt ist und das Ergebnis des Multiplizie¬ rers nicht abgewartet zu werden braucht. Es gilt:
ye = 0 für of = '1' und vdy = '1' ye = 212-1 fur 0f - >ι« uncj vdy =
Der weitere Addierer YADD addiert bzw. subtrahiert in einem ersten Schritt das Ergebnis der Multiplikation von dxa mit 2P zu dem mit dem Steuersignal yse_sel durchgeschalteten Wert von ys. Dazu wird ein Multiplexer MUX6 verwendet. Sobald das Ergebnis dieser Operation in ein Register YREG für ye zwi¬ schengespeichert ist, wird es mit yse_sel an den Eingang yse Wert von dya, der durch Verschiebung von sxa entsprechend Tabelle 2 entstanden ist, zum Endergebnis yeO verarbeitet und im Register YREG abgelegt, es sei denn, daß aus vdy und dem Übertragbit coy ein Überlauf vom Addierer YADD festgestellt wird, bei dem der Zugehörigkeitswert wie folgt festgelegt ist:
ye = 0 für vdycoy = '1' ye = 2^-2-1 fur vdy-coy = '1
Die für den zeitlichen Ablauf der Berechnung des Zugehörig¬ keitswertes ye erforderlichen Steuersignale und Zustände können anhand eines Zustandsgraphen (Figur 11) für das Steu¬ erwerk STW (Figur 10) verfolgt werden. Das Steuerwerk ist dabei als Schaltwerk bzw. Finite State Machine realisiert.
Die Zustände wfpO, wfpl und wfp2 entsprechen Takten, die zur Multiplikation zweier Zahlen im Multiplizierer PROD erforder¬ lich sind. Dabei ist angenommen, daß für eine Multiplikation zweier 12 Bit Zahlen drei Takte aus Gründen der Leistungs- und Flächenersparnis erforderlich sind.
Mit dem Zustand rdeia (read EIA) wird die Startadresse des Speichersektors IMFD aus dem Speicher KBM ausgelesen. Mit dem Zustand rdzt wird das dieser Startadresse entsprechende erste Speicherwort SWO in IMFD ausgelesen. Das erste Speicherwort SWO enthält die Anzahl zimf der getroffenen Zugehörigkeitsfu¬ nktionen pro Elementarintervall sowie deren Typennummern. Der Zähler CNT2U wird geladen, das Register YREG für ye wird zurückgesetzt.
Im Zustand rdnxy (read x oder y) wird das erste Wort SWl des Speichersektors, das die IMF-Daten enthält, ausgelesen, näm¬ lich nimf sowie xs oder ys, und in die Latchspeicher LAT4 oder LAT7 eingeschrieben. Der Zähler CNT2U wird um eine Ein- heit weiter gezählt, um aus dem Speicherwort SWO die Typen¬ nummer zu entnehmen. Der Zustand rdnxy kann im Zuge der Berechnung vorhergehender IMF-Werte auch von rdpql oder wfa oder wfpl aus erreicht worden sein.
Im nächsten Zustand rdpql wird das zweite Wort SW2 aus dem Speichersektor für die IMF-Daten ausgelesen, in dem pl und ql oder pr und qr steht. Diese werden in die Latchspeicher 5 und 6 eingeschrieben.
Im Zustand wfa wird ein in rdpql berechneter Zugehörigkeits- wert der vorhergehenden Zugehörigkeitsfunktion an die Infe- renzeinheit FIN weitergegeben. Gleichzeitig wird für den folgenden Zustand die Weitergabe eines schon bekannten Wertes ye der aktuellen Zugehörigkeitsfunktion vorbereitet, und die Statusbits des Multiplizierers pal und pa2 werden rückge¬ setzt. Abhängig vom Wert des Signals ciz wird entweder rdnxy oder rdkbd2 als nächster Zustand ausgewählt.
Im Zustand wfpO wird die Addition von 2P-dxa und ys durchge- führt und das Ergebnis im Register YREG abgelegt.
Im Zustand rdqp2 wird das dritte Wort SW3 des Speichersektors von IMF-Daten mit pl und ql ausgelesen und in den Latchspei¬ cher LAT6 geschrieben.
Im Zustand rdy wird das vierte Wort SW4 des Speichersektors, also ys, ausgelesen und in den Latchspeicher LAT7 einge¬ schrieben.
Im Zustand wfpl hängen die Aktionen und die nächsten Zustände von der Vorgeschichte ab, wie Figur 11 dies auch zeigt. Falls wfpl von wfpO aus erreicht wurde, ist der Multiplizierer PROD weiterhin aktiv, wenn bei der Addition von 2P-dxa und ys kein Überlauf aufgetreten ist (dies wird mit of angezeigt) . Falls wfpl von rdy aus erreicht wurde, bleibt der Multiplizierer PROD ebenfalls aktiv und es wird die Addition von 2P-dxa und ys durchgeführt und das Ergebnis in YREG abgelegt. Auf wfpl können der Zustand rdnxy für ciz = 0 folgen, wenn noch weite¬ re IMF-Daten auszuwerten sind oder der Zustand rdkbd2, mit dem der Wert ye an die Einheit FIN weitergegeben wird, oder der Zustand wfp2, der im folgenden behandelt wird. Im Zustand wfp2 bleibt der Multiplizierer PROD aktiv. Sein Ergebnis sxa wird mit Beginn des nächsten Zustandes rdkbd2 gültig und kann dann zum Endergebnis ye weiterverarbeitet werden.
Im Zustand rdkbd2 werden das Ergebnis sxa und das in YREG gespeicherte Zwischenergebnis zum Endergebnis ye weiterverar¬ beitet und an die Einheit FIN weitergegeben. Falls rdkbd2 von rdpql, wfa oder wfpl aus erreicht wurde, wird der schon be¬ kannte Zugehörigkeitswert ye der letzten Zugehörigkeitsfunk- tion an FIN weitergegeben.
Die Erläuterung der Figur 11 beschränkte sich auf die wesent¬ lichen Zustände des Steuerwerkes. Aus den Angaben zu den Übergängen zwischen den Zuständen kann unter Verwendung der Erläuterung der Fuzzifier-Schaltung erkannt werden, wie die einzelnen Zustände ablaufen. Dabei sind die Signale pal und pa2 Statussignale für den Multiplizierer PROD, mit rd ist das Wort read abgekürzt. Mit dem Wert '1' der Signale pal oder pa2 (pa entspricht prod active) wird angezeigt, daß der Mul- tiplizierer PROD im jeweils vorausgehenden Zustand aktiviert wurde oder noch aktiv war. Zusätzlich wird mit pal = '1' an¬ gezeigt, daß PROD im Zustand wfpo aktiviert wurde, und mit pa2 = '1', daß PROD im Zustand rdy aktiviert wurde.

Claims

Patentansprüche
1. Verfahren zur Fuzzifizierung von an Eingängen eines Fuzzy¬ prozessors anliegenden digitalen Eingangssignalen unter Ver- wendung von Eingangszugehörigkeitsfunktionen (ZF), bei dem jede Zugehörigkeitsfunktion (ZF) mit Hilfe einer jeweils die Form der Zugehörigkeitsfunktion enthaltenden Forminformation gespeichert wird, bei dem der Grundbereich des mit ae Bit aufgelösten Eingangs- Signals jedes Eingangs in Elementarintervalle (EI) eingeteilt wird, bei dem die Forminformation einer Zugehörigkeitsfunktion pro Elementarintervall jeweils die Werte (xs, ys) von Stützstel¬ len (STS) , an denen sich die Steigung der Zugehörigkeits- funktion innerhalb des Elementarintervalls ändert oder die Zugehörigkeitsfunktion die Grenzen des Elementarintervalls schneidet, und die von den Stützstellen ausgehenden im Ele¬ mentarintervall verlaufenden Steigungen der Zugehörigkeits¬ funktion enthält, bei dem festgestellt wird, welche der im Elementarintervall vorhandenen Zugehörigkeitsfunktionen durch das Eingangssignal getroffen werden, und bei dem der Zugehörigkeitswert (ye) des Eingangssignales für jede getroffene Zugehörigkeitsfunktion ermittelt wird.
2. Verfahren nach Anspruch 1, bei dem die Einteilung des Grundbereichs in Elementarintervalle (EI) nach der Aufteilun- gsbedingung erfolgt, daß jede Zugehörigkeitsfunktion innerhalb eines Elementarin- tervalls genau eine Stützstelle (STS) aufweist, bei der die Zugehörigkeitsfunktion eine Änderung von einer links der Stützstelle liegenden Steigung (sl) in eine rechts davon liegende Steigung (sr) derart ausführt, daß die Zugehörig¬ keitsfunktion innerhalb des Elementarintervalls definiert ist.
3. Verfahren nach Anspruch 2, bei dem die Anzahl der Zugehö- rigkeitsfunktionen pro Elementarintervall höchstens vier ist.
4. Verfahren nach einem der Ansprüche 1 bis 3, bei dem die Auswahl eines Elementarintervalls mit Hilfe der aei Most
Significant Bits des Eingangssignales erfolgt.
5. Verfahren nach einem der Ansprüche 2 bis 4, a) bei dem der Grundbereich solange in gleich große Inter- valle unterteilt wird bis mindestens eines der Intervalle die Aufteilungsbedingung erfüllt, wobei dieses Intervall dann unverändert bleibt und ein Elementarintervall bildet (Elementarintervall erste Stufe) , b) bei dem jeweils die Intervalle, die nach der ersten Unter- teilung die Aufteilungsbedingung nicht erfüllen, unabhängig voneinander solange weiter unterteilt werden bis mindestens eines dieser Intervalle zweiter Stufe die Aufteilungsbedin¬ gung erfüllt, wobei dieses Intervall dann unverändert bleibt und ein Elementarintervall bildet (Elementarintervall zweiter Stufe) , c) bei dem für die Intervalle, die nach einer vorhergehenden Unterteilung die Aufteilungsbedingung nicht erfüllen entspre¬ chend b) weiter unterteilt werden bis die dabei entstehenden Intervalle jeweils die Aufteilungsbedingung erfüllen, wobei die Intervalle, die der Aufteilungsbedingung genügen, jeweils unverändert bleiben und ein Elementarintervall bilden (Elementarintervall höherer Stufe) .
6. Verfahren nach einem der Ansprüche 1 bis 4, bei dem die Elementarintervalle gleich groß sind.
7. Verfahren nach Anspruch 6, bei dem die Anzahl (nei) von Elementarintervallen eine Potenz von 2 ist und aei Most Si¬ gnificant Bits des den Grundbereich festlegenden Eingangssi- gnales den Exponenten bilden.
8. Verfahren nach einem der vorhergehenden Ansprüche, bei dem die gespeicherte Forminformation für jede Zugehörigkeitsfunk¬ tion eine Nummer, die Stützstellenwerte und eine Steigungsin¬ formation enthält.
9. Verfahren nach Anspruch 8, bei der die Steigungsinformati¬ on aus zwei Teilen besteht, bei der der erste Teil p die Bit¬ stelle der führenden '1' vor dem Komma des Absolutbetrages der Steigung sa angibt oder angibt, daß alle Stellen vor dem Komma '0' sind, bei der der zweite Teil q aus dem auf die führende '1' vor dem Komma folgenden Bits gewonnen wird oder, falls es vor dem Komma keine führende '1' gibt, aus den Stel¬ len nach dem Komma des Absolutbetrages sa gewonnen wird.
10. Verfahren nach Anspruch 8 oder 9, bei dem den unter¬ schiedlichen Formen der Zugehörigkeitsfunktionen jeweils eine Typennummer zugeordnet wird, daß ein Bit der Typennummer an¬ gibt, ob innerhalb des Elementarintervalls die von der Stütz¬ stelle ausgehende Kurventeile der Zugehörigkeitsfunktion nur eine Steigung oder zwei unterschiedliche Steigungen aufweist und zwei weitere Bit der Typennu mer die Vorzeichen der Stei¬ gungen angeben.
11. Verfahren nach Anspruch 10, bei dem die Forminformation der Zugehörigkeitsfunktion pro Eingang in einem Speicher
(KBM) abgespeichert wird und auf folgende Weise adressiert wird:
In einem ersten Speicherwort (KBDl) wird eine erste Adresse gespeichert, mit der ein zweites Speicherwort (EAD) adres- sierbar ist, in dem kodiert die Anzahl von Elementarinterval¬ len pro Eingang für alle Eingänge gespeichert wird, für jedes Elementarintervall pro Eingang wird ein drittes Speicherwort (EIA) gespeichert, in dem die Startadresse des Speichersektors enthalten ist, der die Forminformationen der Zugehörigkeitsfunktionen pro Elementarintervall und Eingang enthält, und das durch Verknüpfung von aei Most Significant Bits des Eingangssignales (xe) und der Anzahl (nei) adres¬ siert wird.
12. Verfahren nach Anspruch 10 in Verbindung mit Anspruch 5, bei dem die Forminformation der Zugehörigkeitsfunktion pro Eingang in einem Speicher (KBM) abgespeichert wird und auf folgende Weise adressiert wird: a) in einem ersten Speicherwort (KBDl) wird eine erste Adresse gespeichert, mit der ein zweites Speicherwort (EAD) adressierbar ist, in dem codiert die Anzahl von Intervallen erster Stufe gespeichert wird, b) mit Hilfe des Inhaltes des zweiten Speicherwortes (EAD) und der ost significant bits des Eingangssignales (xe) wird ein drittes Speicherwort (EIA) adressiert, bei dem mindestens eine Stelle angibt, ob das von den most significant bits des Eingangssignales (xe) festgelegte Intervall erster Stufe ein Elementarintervall ist, ba) für diesen Fall aus den weiteren Stellen des dritten Speicherwortes die Startadresse des Speichersektors entnommen wird, indem die Forminformationen der Zugehörigkeitsfunktio¬ nen des getroffenen Elementarintervalls gespeichert sind, bb) sonst unter Verwendung der most significant bits des Eingangssignals ein weiteres Speicherwort adressiert wird, in dem mindestens eine Stelle angibt, ob das von den most signi- ficant bits getroffene Intervall zweiter Stufe ein Elementar¬ intervall ist und für diesen Fall aus den weiteren Stellen des weiteren Speicherwortes die Startadresse des Speichersek¬ tors entnommen wird, in dem die Forminformationen der Zugehö¬ rigkeitsfunktionen des getroffenen Elementarintervalls ge- speichert sind, sonst wie bb) weitergegangen wird, bis aus den adressierten weiteren Speicherworten erkennbar ist, daß das von dem most significant bit getroffene Intervall ein Elementarintervall ist und der zugeordnete Speichersektor gefunden ist.
13. Verfahren nach Anspruch 11 oder 12, bei dem der Spei¬ chersektor für die Zugehörigkeitsfunktionen für jedes Elemen¬ tarintervall folgende Informationen enthält:
In einem ersten Speicherwort (SWO) ist die Anzahl (zimf) der Zugehörigkeitsfunktionen pro Elementarintervall und die Ty¬ pennummern der Zugehörigkeitsfunktionen in diesem Elemen¬ tarintervall gespeichert, in weiteren Speicherworten sind die Nummer der Zugehörig¬ keitsfunktionen, die Stützstellenwerte, die Steigungsinforma- tion gespeichert.
14. Schaltungsanordnung zur Durchführung der Fuzzifizierung von Eingangssignalen nach Anspruch 13, bei der ein an einen Bus zum Speicher (KBM) angeschlossener Latchspeicher (LAT3) zur Speicherung des aus dem Speicher ausgelesenen ersten Speicherwortes des Sektors für die Zuge¬ hörigkeitsfunktionen vorgesehen ist, bei der dem Latchspeicher (LAT3) ein Multiplexer (MUX4) nach¬ geschaltet ist, der aus dem ersten Speicherwort die Typennum- mer (t) auswählt, bei der ein Zähler (CNT2U) vorgesehen ist, dessen Ausgang mit dem Steuereingang des Multiplexers (MUX4) und einer Kompara- torschaltung (KOM) verbunden ist, der am zweiten Eingang die Anzahl (zimf) von Zugehörigkeitsfunktionen pro Elementarin- tervall vom Latchspeicher (LAT3) zugeführt wird, bei der jeweils ein mit dem Bus (IKAD) verbundener Latchspei¬ cher (LAT4, LAT5, LAT6, LAT7) zur Zwischenspeicherung der Werte xs, ys, p, q vorgesehen ist, und bei der eine Rechenschaltung (YEC) zur Berechnung des Zugehörigkeitswertes (ye) nach der Formel
ye = ys+(-l)vdy-(sa-dxa)
vorgesehen ist, wobei gilt: ys = Stützstellenwert in der y-Richtung, sa = Absolutbetrag der Steigung, dxa = Absolutbetrag der Differenz dx = xe-xs, xs = Stützstellenwert in x-Richtung, vdy = Vorzeichen der Differenz ye-ys.
15. Schaltungsanordnung nach Anspruch 14, bei der die Rechen- Schaltung (YEC) folgende Schaltungen aufweist:
Ein erstes Schaltnetzwerk (XSEQ, XADD) zur Bildung von dx, ein zweites Schaltnetzwerk (ABX) zur Bildung von dxa, das mit dem ersten Schaltnetzwerk verbunden ist, einen Multiplizierer (PROD) zur Erzeugung von sxa aus sa und dxa, einen Addierer (YADD) zur Addition von sxa mit ys zum Ergeb¬ nis ye.
16. Schaltungsanordnung nach Anspruch 15, bei der dem Multi- plizierer ein drittes Schaltnetz (SHIFT) nachgeschaltet ist, das sxa entsprechend p an die richtige Position verschiebt und bei der ein fünfter Multiplexer (MUX 5) vorgesehen ist, der das verschobene sxa als dy an den Addierer (Y ADD) an¬ legt.
17. Schaltungsanordnung nach Anspruch 16, bei der mit einem aus den Stellen nach dem Komma des mit dem dritten Schaltnetz (SHIFT) an die richtige Stelle geschobenen Produktes sxa gewonnenen Rundungsbit (rb) die Rundung von dy abhängig von vdy im fünften Multplexer (MUX 5) durchgeführt wird.
18. Schaltungsanordung nach Anspruch 14, bei der mit dem dritten Schaltnetz (SHIFT) der Wert von 2P-dxa berechnet wird und über dem fünften Multiplexer (MUX5) dem Addierer (YADD) zugeführt wird, bei dem ein Register (YREG) vorgesehen ist, in dem das Ergebnis der Addierers (YADD) zwischengespeichert wird und bei dem ein Multiplexer (MUX6) vorgesehen ist, der einerseits den Ausgang des Registers (YREG) , andererseits den Wert ys an einen Eingang des Addierers (YADD) anlegen kann.
19. Schaltungsanordnung nach einem der Ansprüche 15 bis*18, bei der ein viertes Schaltnetzwerk (OF) vorgesehen ist, das p mit dxa verknüpft, um festzustellen, ob ein Überlauf vor¬ liegt.
20. Schaltungsanordnung nach einem der Ansprüche 15 bis 19, bei der das erste Schaltnetzwerk eine Schaltung zur Bildung des Einerkomplementes (XSEQ) von xs und einen als Subtrahie¬ rer geschalteten zweiten Addierer (XADD) aufweist, der aus dem Eingangssignal (xe) , dem Stützstellenwert (xs, aei) und der Typennummer (t) die Differenz dx = xe-xs bildet.
21. Schaltungsanordnung nach einem der Ansprüche 15 bis 20, bei der ein fünftes Schaltnetzwerk (SEL) vorgesehen ist, der die Typennummer, das Vorzeichen (vdx) von dx , die Steigungs¬ information p und q zugeführt wird, und die daraus das Vor- zeichen vdy von dy, die Steigung sa, den Wert von p und ein Signal (yeiO) abgibt, das anzeigt, daß der Wert von ye = 0 sein muß.
PCT/DE1995/000469 1994-04-29 1995-04-06 Verfahren zur fuzzifizierung von an eingängen eines fuzzy-prozessors anliegenden eingangssignalen unter verwendung von eingangszugehörigkeitsfunktionen WO1995030185A1 (de)

Priority Applications (4)

Application Number Priority Date Filing Date Title
EP95915133A EP0757811B1 (de) 1994-04-29 1995-04-06 Verfahren zur fuzzifizierung von an eingängen eines fuzzy-prozessors anliegenden eingangssignalen unter verwendung von eingangszugehörigkeitsfunktionen
AT95915133T ATE208933T1 (de) 1994-04-29 1995-04-06 Verfahren zur fuzzifizierung von an eingängen eines fuzzy-prozessors anliegenden eingangssignalen unter verwendung von eingangszugehörigkeitsfunktionen
DE59509845T DE59509845D1 (de) 1994-04-29 1995-04-06 Verfahren zur fuzzifizierung von an eingängen eines fuzzy-prozessors anliegenden eingangssignalen unter verwendung von eingangszugehörigkeitsfunktionen
US08/737,002 US5764855A (en) 1994-04-29 1995-04-06 Method for fuzzifying input signals present at the inputs of a fuzzy processor by using input membership functions

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
DEP4415183.7 1994-04-29
DE4415183 1994-04-29

Publications (1)

Publication Number Publication Date
WO1995030185A1 true WO1995030185A1 (de) 1995-11-09

Family

ID=6516904

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/DE1995/000469 WO1995030185A1 (de) 1994-04-29 1995-04-06 Verfahren zur fuzzifizierung von an eingängen eines fuzzy-prozessors anliegenden eingangssignalen unter verwendung von eingangszugehörigkeitsfunktionen

Country Status (5)

Country Link
US (1) US5764855A (de)
EP (1) EP0757811B1 (de)
AT (1) ATE208933T1 (de)
DE (1) DE59509845D1 (de)
WO (1) WO1995030185A1 (de)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE59607523D1 (de) * 1995-07-28 2001-09-27 Infineon Technologies Ag Verfahren zur Mehrfachnutzung einer Regelbasis in einem Fuzzy-Logic-Coprozessor
US6430544B1 (en) * 1998-08-11 2002-08-06 Ronald Childress Single variable priority constraint fuzzy control system
IT1318951B1 (it) * 2000-10-02 2003-09-19 St Microelectronics Srl Metodo ottimizzato per il calcolo del grado di appartenenza di unavariabile fuzzy e circuito di calcolo implementante lo stesso.
CN100590998C (zh) * 2002-06-05 2010-02-17 美商内数位科技公司 使用操作者及使用者规范以切换于无线局域网络及广域网络间的方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3936503A1 (de) * 1988-11-04 1990-05-10 Olympus Optical Co Digitales verschwommen-folgerungssystem
EP0513689A2 (de) * 1991-05-10 1992-11-19 Omron Corporation Verfahren und Gerät zur Fertigstellung von Daten einer Mitgliedschaftsfunktion
EP0574714A2 (de) * 1992-06-17 1993-12-22 Motorola, Inc. Verfahren zur Ausführung einer Operation in verschwommener Logik in einen Datenprozessor

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5566274A (en) * 1989-04-28 1996-10-15 Omron Corporation Method and apparatus for setting membership functions, and method and apparatus for analyzing same
JPH0535308A (ja) * 1991-07-25 1993-02-12 Mitsubishi Electric Corp フアジイメンバシツプ関数の同定装置及び同定方法
US5612360A (en) * 1992-06-03 1997-03-18 Eli Lilly And Company Angiotensin II antagonists
DE4230756A1 (de) * 1992-09-15 1993-11-04 Daimler Benz Ag Durch speicherprogrammierbare steuerungen ausfuehrbares steuerungsverfahren nach den regeln der fuzzy-logik
JPH06110696A (ja) * 1992-09-29 1994-04-22 Nippon Motorola Ltd ファジイ推論のグレード演算回路
DE4308194A1 (de) * 1993-03-15 1994-09-22 Siemens Ag Fuzzy-Standard-Automatisierungssystem für industrielle Anlagen
EP0675430A1 (de) * 1994-03-31 1995-10-04 Co.Ri.M.Me. Consorzio Per La Ricerca Sulla Microelettronica Nel Mezzogiorno Schaltung zum Berechnen von Mirgliedsfunktionswerten in einem Fuzzylogik-Steuerwerk

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3936503A1 (de) * 1988-11-04 1990-05-10 Olympus Optical Co Digitales verschwommen-folgerungssystem
EP0513689A2 (de) * 1991-05-10 1992-11-19 Omron Corporation Verfahren und Gerät zur Fertigstellung von Daten einer Mitgliedschaftsfunktion
EP0574714A2 (de) * 1992-06-17 1993-12-22 Motorola, Inc. Verfahren zur Ausführung einer Operation in verschwommener Logik in einen Datenprozessor

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
EICHFELD H ET AL: "ARCHITECTURE OF A CMOS FUZZY LOGIC CONTROLLER WITH OPTIMIZED MEMORY ORGANISATION AND OPERATOR DESIGN", 8 March 1992, PROCEEDINGS OF THE INTERNATIONAL CONFERENCE ON FUZZY SYSTEMS, SAN DIEGO, MAR. 8 - 12, 1992, NR. CONF. 1, PAGE(S) 1317 - 1323, INSTITUTE OF ELECTRICAL AND ELECTRONICS ENGINEERS *

Also Published As

Publication number Publication date
DE59509845D1 (de) 2001-12-20
US5764855A (en) 1998-06-09
ATE208933T1 (de) 2001-11-15
EP0757811A1 (de) 1997-02-12
EP0757811B1 (de) 2001-11-14

Similar Documents

Publication Publication Date Title
DE3883192T2 (de) Neuronale Netzwerkschaltung und -struktur.
DE68927014T2 (de) Assoziatives Musterkonversionssystem und Anpassungsverfahren dafür
DE4302898A1 (en) Arithmetic logic unit with accumulator function - has two memories and counter with selection to reduce delay in processing
DE3726192A1 (de) Stacksteuerung
DE2718110A1 (de) Datenverarbeitungseinheit
DE1285219B (de) Steuerwerk zur Ausfuehrung von Unterprogrammen
DE3856139T2 (de) Mikroprozessor
DE3811145C2 (de)
DE69029796T2 (de) Adressierprozessor für einen Signalprozessor
DE68925376T2 (de) In Direktabbildung und in Bankabbildung wirksamer Informationsprozessor und Verfahren zum Schalten der Abbildungsschemas
DE4225758C2 (de) Schaltungsanordnung mit einer Wirts-Recheneinheit (Host-CPU), einem Fuzzy-Logic-Coprozessor und einem Wissensbasis-Speicher
WO1995030185A1 (de) Verfahren zur fuzzifizierung von an eingängen eines fuzzy-prozessors anliegenden eingangssignalen unter verwendung von eingangszugehörigkeitsfunktionen
DE3121046C2 (de)
EP0620519B1 (de) Vorrichtung zur Inferenzbildung und Defuzzifikation und ihre Verwendung in einem hochauflösenden Fuzzy-Logik-Coprozessor
DE2403039C2 (de) Einrichtung zur Befehlsausführung in einer adressenerweiterten elektronischen Datenverarbeitungsanlage
DE2233193B2 (de) Stapel-Speichersystem
CH670715A5 (de)
DE2948340C2 (de) Informationsübertragungsanordnung für die Übertragung jeweils ausgewählter Informationseinheiten
DE1499286B2 (de) Datenbearbeitungsanlage
DE4427020C1 (de) Defuzzifikations-Vorrichtung für einen hochauflösenden Fuzzy-Logic-Controller
DE2164718A1 (de) Verfahren und Datenverarbeitungsanlage zur Steuerung einer Vielzahl von Eingabe/Ausgabe-Einheiten mittels einer Zentraleinheit
DD294115A5 (de) Vorrichtung und verfahren zur signalverarbeitung
DE4103128C2 (de) Echtzeit-Expertencomputersystem
DE3887717T2 (de) Prozessor für programmierbaren logischen regler und programmierbarer logischer regler.
DE2847737A1 (de) Verfahren und mechanismus zur umsetzung virtueller adressen in reelle adressen

Legal Events

Date Code Title Description
AK Designated states

Kind code of ref document: A1

Designated state(s): JP KR US

AL Designated countries for regional patents

Kind code of ref document: A1

Designated state(s): AT BE CH DE DK ES FR GB GR IE IT LU MC NL PT SE

DFPE Request for preliminary examination filed prior to expiration of 19th month from priority date (pct application filed before 20040101)
121 Ep: the epo has been informed by wipo that ep was designated in this application
WWE Wipo information: entry into national phase

Ref document number: 1995915133

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 08737002

Country of ref document: US

WWP Wipo information: published in national office

Ref document number: 1995915133

Country of ref document: EP

WWG Wipo information: grant in national office

Ref document number: 1995915133

Country of ref document: EP