DE4141615A1 - Digital signal transformation method - using look-up table holding nonlinear function addressed using most significant bits of word extracted from input signal - Google Patents
Digital signal transformation method - using look-up table holding nonlinear function addressed using most significant bits of word extracted from input signalInfo
- Publication number
- DE4141615A1 DE4141615A1 DE4141615A DE4141615A DE4141615A1 DE 4141615 A1 DE4141615 A1 DE 4141615A1 DE 4141615 A DE4141615 A DE 4141615A DE 4141615 A DE4141615 A DE 4141615A DE 4141615 A1 DE4141615 A1 DE 4141615A1
- Authority
- DE
- Germany
- Prior art keywords
- word
- digital signal
- values
- value
- bits
- Prior art date
- Legal status (The legal status 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 status listed.)
- Withdrawn
Links
- 238000011426 transformation method Methods 0.000 title 1
- 238000013528 artificial neural network Methods 0.000 claims abstract description 9
- 238000012886 linear function Methods 0.000 claims abstract description 9
- 230000006870 function Effects 0.000 claims description 27
- 238000000034 method Methods 0.000 claims description 24
- 238000004364 calculation method Methods 0.000 claims description 9
- 210000002569 neuron Anatomy 0.000 claims description 6
- 230000001131 transforming effect Effects 0.000 claims description 4
- 230000000946 synaptic effect Effects 0.000 claims description 3
- 230000008901 benefit Effects 0.000 abstract description 2
- 239000006145 Eagle's minimal essential medium Substances 0.000 description 2
- 238000005259 measurement Methods 0.000 description 2
- 239000007758 minimum essential medium Substances 0.000 description 2
- 230000001537 neural effect Effects 0.000 description 2
- 238000007792 addition Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000010354 integration Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
- 230000009467 reduction Effects 0.000 description 1
- 238000004088 simulation Methods 0.000 description 1
- 230000007704 transition Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/02—Digital function generators
- G06F1/03—Digital function generators working, at least partly, by table look-up
- G06F1/035—Reduction of table size
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Complex Calculations (AREA)
Abstract
Description
Die Erfindung betrifft ein Verfahren zum Transformieren eines ersten digitalen Signals in ein zweites digitales Signal gemäß einer nichtlinearen Funktion entsprechend dem Oberbegriff des Patentanspruchs 1, sowie eine Schaltungsanordnung zum Durchführen des Verfahrens gemäß dem Oberbegriff des Patentanspruchs 5 und ein neuronales Netzwerk gemäß Patentanspruch 11.The invention relates to a method for transforming a according to the first digital signal into a second digital signal a nonlinear function according to the generic term of Claim 1, and a circuit arrangement for performing of the method according to the preamble of claim 5 and a Neural network according to claim 11.
Das Problem eine nichtlineare Funktion auf ein digitales Signal anzuwenden, um es in ein anderes digitales Signal mit verschiedenen Charakteristiken zu transformieren, entsteht in einer Vielzahl von elektrischen Bereichen, so daß spezielle Lösungen, die von dem bestimmten Bereich und den Anforderungen an Geschwindigkeit, Genauigkeit und Einfachheit abhängen gefunden wurden.The problem of a nonlinear function on a digital signal apply it to another digital signal with different Transforming characteristics arises in a variety of ways electrical areas, so special solutions by that certain range and the requirements for speed, Accuracy and simplicity depend have been found.
Bekannt ist es, einen Mikrocomputer zu benutzen, der die gewünschte Funktion analytisch mittels Software realisiert. Diese Lösung ist sehr genau, benötigt wenig Speicherplatz zum Speichern der Funktion, aber sie benötigt komplizierte Berechnungen und Berechnungsstrukturen und sehr viel Zeit. It is known to use a microcomputer that has the desired Function implemented analytically using software. This solution is very accurate, takes up little space to store the Function, but it requires complicated calculations and Calculation structures and a lot of time.
Verfahren, die sich auf sogenannte Nachschlagetabellen stützen, die digitale Werte der Funktion enthalten, werden vielfach benutzt, insbesondere wenn Zeit und Genauigkeit gewünscht wird. Diese Verfahren werden auch dann benutzt, wenn eine analytische Berechnung nicht eindeutig ist, z. B. in schnellen elektronischen Systemen, oder wenn die Berechnungen zu komplex sind, z. B. für eine schnelle Fouriertransformation (FFT).Procedures based on so-called look-up tables, the digital values of the function are used a lot, especially when time and accuracy are required. These Methods are also used when an analytical Calculation is ambiguous, e.g. B. in fast electronic Systems, or if the calculations are too complex, e.g. B. for a fast Fourier transform (FFT).
Aus dem Aufsatz "High-resolution digital sinewave generation" Electronic Letters, February 3, 1983, Vol. 19, No. 3, ergibt sich, daß durch die Benutzung von Nachschlagetabellen nur ein hoher Grad von Genauigkeit auf Kosten eines sehr großen Speicherplatzbedarfs erzielt werden kann.From the essay "High-resolution digital sinewave generation" Electronic Letters, February 3, 1983, Vol. 19, No. 3, arises that by using lookup tables only a high degree of accuracy at the expense of a very large space requirement can be achieved.
Eine Reduzierung der Größe der Nachschlagetabelle kann durch Interpolation, z. B. durch polynome Funktionen erreicht werden, um Zwischenwerte zu berechnen, dies ergibt jedoch einen sehr großen Zeitaufwand, sowie umfangreiche Berechnungen und Strukturen.A reduction in the size of the lookup table can be done by Interpolation, e.g. B. can be achieved by polynomial functions To calculate intermediate values, but this results in a very large one Time expenditure, as well as extensive calculations and structures.
Wenn die nichtlineare Funktion auf ein zeitvariables Signal langsam und kontinuierlich angewendet wird, kann dies durch Abspeichern der Differenzen zwischen zwei benachbarten Werten in der Nachschlagetabelle erfolgen.If the nonlinear function is slow on a time variable signal and applied continuously, this can be done by saving the Differences between two neighboring values in the Lookup table.
Die im obigen Artikel vorgeschlagene Lösung für Zeitablaufübergänge zwischen benachbarten Stufen bezieht sich auf den gleichen Fall.The solution for timing transitions proposed in the article above between neighboring stages refers to the same case.
Der Erfindung liegt die Aufgabe zugrunde, ein Verfahren zum Transformieren eines digitalen Signales in ein anderes digitales Signal entsprechend einer nichtlinearen Funktion anzugeben, das ein guter Genauigkeitsgrad, eine einfache Implementierung und schnell und nicht beschwerlich in Bezug auf den benötigten Speicherplatz ausführbar ist und das für analoge und digitale Signale verwendbar ist. Ferner ist eine Schaltungsanordnung zur Ausführung eines solchen Verfahrens und ein neuronales Netzwerk anzugeben. The invention has for its object a method for Transform a digital signal into another digital one Signal corresponding to a nonlinear function to indicate the one good level of accuracy, easy implementation and fast and not cumbersome in terms of the space required is executable and that can be used for analog and digital signals is. Furthermore, a circuit arrangement for executing a to specify such a method and a neural network.
Diese Aufgaben werden durch die Lehren der Hauptansprüche 1, 5 und 11 gelöst. Weitere vorteilhafte Ausgestaltungen gemaß der Erfindung sind den Unteransprüchen zu entnehmen.These tasks are accomplished by the teachings of main claims 1, 5 and 11 solved. Further advantageous configurations according to the invention can be found in the subclaims.
Die Erfindung basiert auf der Benutzung einer Nachschlagetabelle und auf der Idee Werte abzulegen, die sehr weit von einander entfernt sind, um die Größe der Nachschlagetabellen zu reduzieren. Außerdem werden Zwischenwerte berechnet, durch Verwendung des nächstliegenden Wertes, dem Korrekturelemente hinzuaddiert werden, welche einfach zu berechnen sind und zwar abhängig von den in der Nachschlagetabelle enthaltenen Daten.The invention is based on the use of a lookup table and on the idea of storing values that are very far apart are removed to reduce the size of the lookup tables. Intermediate values are also calculated using the nearest value to which correction elements are added, which are easy to calculate depending on those in the Lookup data included.
Im folgenden werden die erfindungsgemäßen Lehren anhand eines Ausführungsbeispiels in Verbindung mit den Figuren erläutert.In the following, the teachings according to the invention are based on a Embodiment explained in connection with the figures.
Es zeigen:Show it:
Fig. 1 ein Blockdiagramm einer Schaltungsanordnung zur Ausführung des erfindungsgemäßen Verfahrens und Fig. 1 is a block diagram of a circuit arrangement for performing the method according to the invention and
Fig. 2 ein neuronales Schichtennetzwerk, dessen Teile zur Ausführung des erfindungsgemäßen Verfahrens benutzt werden. Fig. 2 shows a neural network layers, the parts of which are used for performing the method according to the invention.
Eine Schaltungsanordnung gemäß Fig. 1 ist zum transformieren eines ersten digitalen Signales I in ein zweites digitales Signal 0 gemäß einer nichtlinearen Funktion f ausgelegt. Sie enthält einen Prozessor PR zum Auslesen des ersten digitalen Signales I, zum verarbeiten des Signals I gemäß dem vorliegenden erfindungsgemäßen Verfahren und zum entsprechenden Erzeugen des zweiten digitalen Signales 0. A circuit arrangement according to Fig. 1 is to transform a first digital signal into a second digital signal I 0 in accordance with a nonlinear function f designed. It contains a processor PR for reading out the first digital signal I, for processing the signal I in accordance with the method according to the present invention and for generating the second digital signal 0 accordingly.
Die Schaltungsanordnung enthält einen Speicher MEM für digitale Werte von charakteristischen Parametern der nichtlinearen Funktion f und für eine Nachschlagetabelle LUT, in der digitale Werte der nichtlinearen Funktion f enthalten sind, die gemäß dem erfindungsgemäßen Verfahren benutzt werden.The circuit arrangement contains a memory MEM for digital Values of characteristic parameters of the nonlinear function f and for a lookup table LUT in which digital values of the non-linear function f are included, which according to inventive methods are used.
Bevor nun die schaltungsgemäße Ausführung des Verfahrens näher beschrieben wird, wird zunächst das Verfahren in Bezug auf die nichtlineare Funktion f, hier die SigmoidfunktionBefore the circuit-based execution of the method The method is first described in relation to the nonlinear function f, here the sigmoid function
0 = f (F) = 1/(1 + exp (-I)),0 = f (F) = 1 / (1 + exp (-I)),
als mögliche Anwendung der Erfindung im Bereich neuronaler Netzwerke betrachtet.as a possible application of the invention in the area of neural Considered networks.
Das Verfahren kann auf jede kontinuierliche Funktion ausgedehnt werden, die eine kontinuierliche erste Ableitung besitzt.The process can be extended to any continuous function which has a continuous first derivative.
Das Verfahren benutzt die Nachschlagetabelle LUT, die digitale Werte 0j, j, ε0...P, der genannten Funktion f enthält, die in regelmäßigen Abständen Delta gebildet werden und zu digitalen Werten Ij, j ε0...P, einer unabhängigen Variablen gehören. Der Wert von P entspricht der Größe, ausgedrückt als eine Anzahl von Stellen der Nachschlagetabelle LUT, und ist gleich 2n1. Die digitalen Werte 0j der Funktion bestehen aus n2-Bit-Wörtern.The method uses the look-up table LUT, which contains digital values 0j, j, ε0 ... P, of the function f mentioned, which are formed at regular intervals delta and belong to digital values Ij, j ε0 ... P, an independent variable . The value of P corresponds to the size expressed as a number of digits in the look-up table LUT and is equal to 2 n1 . The digital values 0j of the function consist of n2-bit words.
Es wird angenommen, daß durch den Prozessor PR zu einem bestimmten Zeitpunkt ein bestimmter digitaler Wert vI ausgelesen wird. Das Ziel des Verfahrens besteht darin, einen digitalen Wert s0 zu erhalten, der so nahe wie möglich bei v0 = f (vI) liegt. Der Wert s0 stimmt mit v0 nur dann überein, wenn vI mit einem in der Tabelle abgelegten digitalen Wert Ij übereinstimmt, und wenn für diesen Fall s0 = v0 = 0j. It is assumed that the processor PR to a certain When a certain digital value VI is read out. The The aim of the method is to assign a digital value s0 obtained that is as close as possible to v0 = f (vI). The value s0 only matches v0 if vI matches one in the table stored digital value Ij matches, and if for this Case s0 = v0 = 0j.
In einem allgemeinen Fall, in dem dies nicht notwendig ist, ist das Verfahren wie folgt.In a general case where this is not necessary, it is Procedure as follows.
Der digitale Wert nI entspricht einem ersten n3-Bit-Wort. Aus diesem Wort werden zwei weitere Wörter abgeleitet: ein zweites Wort j, das aus den n1 Bits mit dem höchsten Stellenwert (MSB) besteht und ein drittes Wort dI, das aus den verbleibenden n3-n1 Bits mit dem niederwertigen Stellenwert (LSB) besteht.The digital value nI corresponds to a first n3-bit word. Out two further words are derived from this word: a second word j, which consists of the n1 most significant bits (MSB) and a third word dI consisting of the remaining n3-n1 bits the least significant position (LSB) exists.
Durch das zweite Wort j wird die Nachschlagetabelle adressiert und drei aufeinanderfolgende Werte 0j, 0j+1, 0j+2, die den Stellen j, j+1, j+2 entsprechen, gewonnen.The lookup table is addressed by the second word j and three successive values 0j, 0j + 1, 0j + 2, which represent the positions j, correspond to j + 1, j + 2, won.
Dann werden zwei Korrekturelemente C1 und C2 gemäß der folgenden Gleichung berechnet:Then two correction elements C1 and C2 according to the following Equation calculated:
C1 = (0j + 1 - 0j)/Delta dI und
C2 = F * (0j + 2 - 20j + 1 0j)C1 = (0j + 1 - 0j) / Delta dI and
C2 = F * (0j + 2 - 20j + 1 0j)
wobei Delta = 2(n3-n1) ist.where delta = 2 (n3-n1) .
In Bezug auf den gewünschten Grad der Genauigkeit und der rechnerischen Komplexität, kann der Faktor F entsprechend einer der folgenden Gleichungen berechnet werden:Regarding the desired level of accuracy and accuracy Computational complexity, the factor F can correspond to one of the the following equations can be calculated:
-F = dI K/L
-F = M/N-F = dI K / L
-F = M / N
dabei ist die zweite Gleichung einfacher aber ungenauer.the second equation is simpler but less precise.
Die Werte K und L sind experimentell und variieren entsprechend der nichtlinearen Funktion f und den Zahlen n1, n2, n3. Die Werte M und N sind von der selben Art wie die Werte K und L, aber stimmen im allgemeinen nicht mit K und L überein. The values K and L are experimental and vary according to the nonlinear function f and the numbers n1, n2, n3. The values M and N are of the same type as the values K and L, but are correct in generally do not match K and L.
Der geschätzte Wert s0 (der Fehler ist nur in wenigen Fällen gleich Null) der nichtlinearen Funktion f, der dem Wert vI entspricht, wird wie folgt berechnet:The estimated value s0 (the error is only the same in a few cases Zero) of the non-linear function f, which corresponds to the value vI, is calculated as follows:
S0 = 0j + C1 - C2.S0 = 0j + C1 - C2.
Wie bereits gesagt, sind die Werte K, L, M und N experimentell, dies bedeutet, daß vor dem Ausführen des Verfahrens die Werte K, L, M und N analytisch berechnet oder durch Simulation mit einem Computer ermittelt werden, wobei diese Werte den Fehler s0-f (vI) minimieren.As I said, the values K, L, M and N are experimental, this means that the values K, L, M and N calculated analytically or by simulation with a Computer are determined, these values the error s0-f (vI) minimize.
Es kann das bekannte Verfahren für den mittleren quadratischen Fehler verwendet werden.It can be the known method for the mean square Errors are used.
Es wird nun Bezug genommen auf die Fig. 1.Reference is now made to FIG. 1.
Die dem beschriebenen Verfahren zugeordneten Berechnungen werden von einem Prozessor PR durchgeführt, der, falls notwendig, die Werte K, L, M und N aus einem Speicher MEM und die tabellierten Werte 0j aus einem Tabellenspeicher LUT ausliest. Ein solcher Prozessor kann, entsprechend Zeit und Kosten Erfordernissen, mittels eines Mikroprozessors, gesteuert durch einen Programm- und einen Datenspeicher oder durch eine Logikschaltung realisiert werden.The calculations associated with the described method are performed by a processor PR, which, if necessary, the Values K, L, M and N from a memory MEM and the tabulated Reads values 0j from a table memory LUT. Such a Processor can, according to time and cost requirements, by means of a microprocessor, controlled by a program and realized a data memory or by a logic circuit will.
Beide Möglichkeiten haben den Vorteil, daß die Wahl der Werte K, L, M, N und Delta recht frei erfolgen kann und daß die mathematischen Operationen auf zwei Multiplikationen reduziert werden können.Both possibilities have the advantage that the choice of the values K, L, M, N and delta can be done quite freely and that the mathematical Operations can be reduced to two multiplications.
Eine Multiplikation zur Berechnung des ersten Korrekturelementes und die zweite für das zweite Korrekturelement. Natürlich muß der Prozessor PR auch eine Vielzahl von Additionen, Subtraktionen und Verschiebeoperationen durchführen, wobei diese jedoch im Vergleich zu den Multiplikationen untergeordnete Bedeutung haben. A multiplication to calculate the first correction element and the second for the second correction element. Of course he has to Processor PR also has a variety of additions, subtractions and Perform shift operations, but compare them are of secondary importance to the multiplications.
Der Prozessor PR kann mit Gleitpunkt- oder mit Festpunktarithmetik arbeiten.The processor PR can use floating point or fixed point arithmetic work.
Die genannte Schaltungsanordnung kann auch als schnelles und genaues linearisierendes Korrekturelement im Bereich von elektronischen Messungen in Verbindung mit einem Wandler für eine physikalische Größe (Druck, Temperatur, etc.) benutzt werden.The circuit arrangement mentioned can also be as fast and exact linearizing correction element in the range of electronic measurements in connection with a converter for a physical quantity (pressure, temperature, etc.) can be used.
Für diesen Fall ist es notwendig eine Eingangsschnittstelle vorzusehen, um ein analoges Signal lesen und ein entsprechendes digitales Signal I erzeugen zu können. Außerdem muß eine Ausgangsschnittstelle vorgesehen werden, die das digitale Signal 0 lesen und ein entsprechendes analoges Signal s0 erzeugen kann.In this case, an input interface is necessary provide to read an analog signal and a corresponding to be able to generate digital signal I. In addition, one Output interface are provided, the digital signal 0 read and generate a corresponding analog signal s0.
Die Eingangsschnittstelle kann z. B. aus einem Abtast-/Halteglied, einem A/D-Wandler und einem Eingangsgatter oder aus einer ähnlichen aus dem Bereich von elektronischen Messungen bekannten Anordnung bestehen. Das digitale Signal I besteht aus einer Folge äquidistanter in einem digitalen Code gewandelter Abtastwerte.The input interface can e.g. B. from a sample / hold member, an A / D converter and an input gate or the like Arrangement known from the field of electronic measurements consist. The digital signal I consists of a sequence Equidistant samples converted in a digital code.
Die Ausgangsschnittstelle kann z. B. aus einem Ausgangsgatter, einem D/A-Wandler und einem Haltekreis oder ähnlichem bestehen.The output interface can e.g. B. from an output gate, a D / A converter and a holding circuit or the like exist.
Schließlich können all diese Schaltungen auf einem Chip integriert sein.Finally, all of these circuits can be integrated on one chip be.
Jedes Rechenelement PE, wie in Fig. 2 gezeigt, stellt ein neuronales Element, Neuron genannt, dar und besteht im wesentlichen aus der Schaltungsanordnung gemäß Fig. 1.Each computing element PE, as shown in FIG. 2, represents a neural element, called a neuron, and essentially consists of the circuit arrangement according to FIG. 1.
Ein einfacher und allgemeiner Überblick über neuronale Netzwerke kann aus "Computer", März 1988, Vol. 21, Nr. 3 entnommen werden. A simple and general overview of neural networks can be found in "Computer", March 1988, Vol. 21, No. 3.
Alle Neuronen sind untereinander durch einen gemeinsamen Bus CBUS verbunden. Jedes Neuron i berechnet seinen Ausgangswert Ui und sendet diese Daten zu allen anderen Neuronen, die dann diese Daten als Eingangsinformation zur Berechnung des digitalen Wertes I ihres Ausganges für den nächst folgenden Zeitpunkt gemäß folgender Gleichung benutzen:All neurons are interconnected by a common bus CBUS connected. Each neuron i calculates its initial value Ui and sends this data to all other neurons, which then send that data as input information for calculating the digital value I of your Exit for the next following time according to the following Use equation:
mit:With:
NN gleich Anzahl von Neuronen je Schicht,
f gleich nichtlinearen Funktionen, hier die Sigmoidfunktion,
Wi sind die synaptischen Gewichte, die das neuronale
Netzwerk charakterisieren.NN is the number of neurons per layer,
f equals nonlinear functions, here the sigmoid function,
Wi are the synaptic weights that characterize the neural network.
Die synaptischen Gewichte können einen festen oder variablen Wert haben, welche einer gewählten Lernregel für das Netzwerk entsprechen und in einem externen Speicher EMEM abgelegt sind. Der externe Speicher EMEM ist mit dem Prozessor PR über einen lokalen LBUS zum Lesen und Modifizieren der Werte verbunden.The synaptic weights can have a fixed or variable value have which of a chosen learning rule for the network correspond and are stored in an external memory EMEM. The external memory EMEM is connected to the processor PR via a local LBUS connected for reading and modifying the values.
Eine bessere Ausführung in Bezug auf Geschwindigkeit, Zuverlässigkeit, Stromverbrauch und benötigter Platz wird durch eine Integration des neuronalen Netzes auf eine Chip in VLSI Technik erhalten.A better execution in terms of speed, Reliability, power consumption and required space is ensured by an integration of the neural network on a chip in VLSI Get technology.
Somit wird mit dem erfindungsgemäßen Verfahren und der erfindungsgemäßen Schaltungsanordnung die Anwendung einer nichtlinearen Funktion auf ein elektrisches Signal, analog oder digital, mit einem guten Genauigkeitsgrad gewährleistet, welches durch die Korrekturelemente in der Berechnung resultiert. Außerdem wird eine einfache und schnelle Implementierung erreicht, in dem die Korrekturelemente eine Erhöhung des Abstandes zwischen den tabellierten Funktionswerten ermöglicht, wodurch die Anzahl abzuspeichernder Werte in der Nachschlagetabelle LUT begrenzt werden.Thus, with the inventive method and circuit arrangement according to the invention the application of a nonlinear function on an electrical signal, analog or digital, with a good degree of accuracy, which guarantees resulting from the correction elements in the calculation. Furthermore a simple and quick implementation is achieved in which the correction elements increase the distance between the allows tabulated function values, reducing the number values to be stored are limited in the look-up table LUT will.
Claims (12)
- a) Lesen eines Wertes (vI) des ersten digitalen Signals (I), wobei dieser Wert (vI) einem ersten Wort aus n3-Bits entspricht und wobei der konstante Abstand (Delta) gleich 2(n3-n1) ist,
- b) Extrahieren eines zweiten Wortes (j) aus dem ersten Wort, bestehend aus den n1 höchstwertigen Bits des ersten Wortes und extrahieren eines dritten Wortes (dI) aus dem ersten Wort, bestehend aus den n3-n1 niedrigstwertigen Bits des ersten Wortes,
- c) Adressieren der Nachschlagetabelle (LUT) durch das zweite Wort (j) und Lesen von drei aufeinanderfolgenden Werten (0j, 0j+1, 0j+2) der nichtlinearen Funktion,
- d) Erzeugen, entsprechend dem Wert (vI) des ersten digitalen
Signals, das zweite digitale Signal (0), dessen Wert (s0)
gegeben ist durch
s0 = 0j + C1 - C2,wobei C1 und C2 ein erstes bzw. ein zweites Korrekturelement
sind, die sich auf die drei aufeinanderfolgenden digitalen
Werte (0j, 0j+1, 0j+2) der nichtlinearen Funktion gemäß der
folgenden Gleichung beziehen:C1 = (0j + 1 - 0j) * dI/Delta und
C2 = F (0j + 2 - 20j + 1 + 0j),wobei der Wert von F von der nichtlinearen Funktion (f) und den n1, n2 und n3 Bits abhängt.
- a) reading a value (vI) of the first digital signal (I), this value (vI) corresponding to a first word of n3 bits and the constant distance (delta) being 2 (n3-n1) ,
- b) extracting a second word (j) from the first word consisting of the n1 most significant bits of the first word and extracting a third word (dI) from the first word consisting of the n3-n1 least significant bits of the first word,
- c) addressing the look-up table (LUT) by the second word (j) and reading three successive values (0j, 0j + 1, 0j + 2) of the nonlinear function,
- d) generating, corresponding to the value (vI) of the first digital signal, the second digital signal (0), the value (s0) of which is given by s0 = 0j + C1 - C2, C1 and C2 being a first and a second correction element, respectively which relate to the three successive digital values (0j, 0j + 1, 0j + 2) of the nonlinear function according to the following equation: C1 = (0j + 1 - 0j) * dI / Delta and
C2 = F (0j + 2 - 20j + 1 + 0j), where the value of F depends on the nonlinear function (f) and the n1, n2 and n3 bits.
- a) Schaltungsmittel zum
- - Lesen von Daten (Ui) auf dem gemeinsamen Bus (CBUS), die von den anderen Rechenelementen kommen,
- - Erzeugen eines ersten digitalen Signales (I) durch die Summe von Produkten der Daten (Ui) mit entsprechenden sinaptischen Gewichten (Wj), und
- - Anwenden einer nichtlinearen Funktion (f), insbesondere
einer Sigmoidfunktion, auf das erste digitale Signal (I) zum
transformieren in eine zweites digitales Signal (0) mit
unterschiedlichen Charakteristiken, wobei die
Schaltungsmittel bestehen aus:
einer Nachschlagetabelle (LOT), die 2n1 digitale Werte der nichtlinearen Funktion zu konstanten Abständen (Delta), wobei die digitalen Werte n1 Worten aus je n2 Bits enthält entsprechen,
einem Prozessor (PR), der mit der Nachschlagetabelle (LUT) verbunden ist, um das erste digitale Signal (I) zu lesen, und um eine Berechnung zum Ausgeben des zweiten digitalen Signales (0) auszuführen, wobei die Berechnung gemäß den folgenden Schritten ausgeführt wird: - i) Lesen eines Wertes (vI) des ersten digitalen Signales (I), wobei der Wert (vI) einem ersten Wort aus n3 Bits entspricht, und der konstante Abstand (Delta) gleich 2(n3-n1) ist,
- ii) Ermitteln eines zweiten Wortes (j) aus dem ersten Wort, bestehend aus den n1 höchstwertigen Bits des ersten Wortes und ermitteln eines dritten Wortes (dI) bestehend aus den n3-n1 niedrigstwertigen Bits des ersten Wortes,
- iii) Verwenden des zweiten Wortes (j) als Adresse zum Lesen von drei aufeinanderfolgenden digitalen Werten (0j, 0j+1, 0j+2) der nichtlinearen Funktion aus der Nachschlagetabelle (LUT) und
- vi) Ausgeben, entsprechend dem Wert (vi) des ersten
Signals, des zweiten digitalen Signals (0), dessen
Wert (s0) gegeben ist durch
s0 = 0j + C1 - C2,wobei C1 und C2 ein erstes bzw. ein zweites
Korrekturelement sind, die sich auf die drei
aufeinanderfolgenden digitalen Werte (0j, 0j+1, 0j+2)
der nichtlinearen Funktion gemäß der folgenden
Gleichung beziehen:C1 = (0j + 1 - 0j) * dI/Delta und
C2 = F * (0j + 2 - 20j + 1 + 0j),wobei der Wert von F gegeben ist durchF = dI * K/L oder
F = M/N,wobei die Werte von K, L, M, N von der nichtlinearen Funktion und den n1, n2, n3 Bits abhängen, und - a) ein interner Speicher (MEM), der mit dem Prozessor (PR) verbunden ist, und der die Werte von K, L, M, N enthält,
- b) einen externen Speicher (EMEM), der die Werte der synaptischen Gewichte (Wi) enthält, und
- c) ein lokaler Bus (LBUS), der den externen Speicher (EMEM) mit dem Prozessor (PR) verbindet.
- a) circuit means for
- Reading data (Ui) on the common bus (CBUS) coming from the other computing elements,
- - Generation of a first digital signal (I) by the sum of products of the data (Ui) with corresponding sinaptic weights (Wj), and
- - Applying a non-linear function (f), in particular a sigmoid function, to the first digital signal (I) for transforming into a second digital signal (0) with different characteristics, the circuit means consisting of:
a look-up table (LOT) which contains 2 n1 digital values of the nonlinear function at constant intervals (delta), the digital values corresponding to n1 words of n2 bits each,
a processor (PR) connected to the look-up table (LUT) to read the first digital signal (I) and to perform a calculation for outputting the second digital signal (0), the calculation being carried out according to the following steps becomes: - i) reading a value (vI) of the first digital signal (I), the value (vI) corresponding to a first word of n3 bits and the constant distance (delta) being 2 (n3-n1) ,
- ii) determining a second word (j) from the first word, consisting of the n1 most significant bits of the first word and determining a third word (dI) consisting of the n3-n1 least significant bits of the first word,
- iii) using the second word (j) as an address to read three consecutive digital values (0j, 0j + 1, 0j + 2) of the non-linear function from the look-up table (LUT) and
- vi) output, corresponding to the value (vi) of the first signal, of the second digital signal (0), the value (s0) of which is given by s0 = 0j + C1 - C2, C1 and C2 being a first and a second correction element, respectively which relate to the three successive digital values (0j, 0j + 1, 0j + 2) of the nonlinear function according to the following equation: C1 = (0j + 1 - 0j) * dI / Delta and
C2 = F * (0j + 2 - 20j + 1 + 0j), where the value of F is given by F = dI * K / L or
F = M / N, where the values of K, L, M, N depend on the nonlinear function and the n1, n2, n3 bits, and - a) an internal memory (MEM) which is connected to the processor (PR) and which contains the values of K, L, M, N,
- b) an external memory (EMEM) containing the values of the synaptic weights (Wi), and
- c) a local bus (LBUS), which connects the external memory (EMEM) with the processor (PR).
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
IT02246490A IT1244216B (en) | 1990-12-20 | 1990-12-20 | METHOD AND CIRCUIT DEVICE TO TRANSFORM A NUMERICAL SIGNAL INTO ANOTHER NUMERIC SIGNAL ACCORDING TO A NON-LINEAR FUNCTION AND NEURAL NETWORK USING SUCH METHOD |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4141615A1 true DE4141615A1 (en) | 1992-08-27 |
Family
ID=11196650
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4141615A Withdrawn DE4141615A1 (en) | 1990-12-20 | 1991-12-17 | Digital signal transformation method - using look-up table holding nonlinear function addressed using most significant bits of word extracted from input signal |
Country Status (3)
Country | Link |
---|---|
DE (1) | DE4141615A1 (en) |
FR (1) | FR2685513B1 (en) |
IT (1) | IT1244216B (en) |
Family Cites Families (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JPS5343446A (en) * | 1976-10-01 | 1978-04-19 | Agency Of Ind Science & Technol | Function generating method |
US4511882A (en) * | 1982-07-02 | 1985-04-16 | The Babcock & Wilcox Company | Function generator |
-
1990
- 1990-12-20 IT IT02246490A patent/IT1244216B/en active IP Right Grant
-
1991
- 1991-12-17 DE DE4141615A patent/DE4141615A1/en not_active Withdrawn
- 1991-12-19 FR FR919115804A patent/FR2685513B1/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
IT9022464A1 (en) | 1992-06-21 |
FR2685513B1 (en) | 1994-06-10 |
FR2685513A1 (en) | 1993-06-25 |
IT1244216B (en) | 1994-07-08 |
IT9022464A0 (en) | 1990-12-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE3485792T2 (en) | DIGITAL SIGNAL PROCESSING DEVICES. | |
DE69223221T2 (en) | Data processing system with shared non-linear function | |
DE68928978T2 (en) | Neural architecture | |
DE3500316C2 (en) | ||
DE3751259T2 (en) | CURVE GENERATION PROCESS. | |
DE68925625T2 (en) | Error tracing and neural network structure | |
DE1217670B (en) | Learnable distinction matrix for groups of analog signals | |
DE1915819A1 (en) | Method and arrangement for adaptive character recognition | |
DE69325544T2 (en) | Neural processor with standard or distance calculation means | |
WO2000055809A2 (en) | Assembly of interconnected computing elements, method for computer-assisted determination of a dynamic which is the base of a dynamic process, and method for computer-assisted training of an assembly of interconnected elements | |
DE2729401A1 (en) | SPECIALIZED DIGITAL COMPUTER FOR STATISTICAL INFORMATION PROCESSING | |
WO2000008599A2 (en) | Assembly of interconnected computing elements, method for computer-assisted determination of a dynamics which is the base of a dynamic process, and method for computer-assisted training of an assembly of interconnected elements | |
DE69112434T2 (en) | Curve generator. | |
DE3026055A1 (en) | CIRCUIT FOR MECHANICAL CHARACTER RECOGNITION | |
DE4141615A1 (en) | Digital signal transformation method - using look-up table holding nonlinear function addressed using most significant bits of word extracted from input signal | |
DE3050742C2 (en) | Sound synthesis process | |
DE2214053A1 (en) | Method and device for controlling a numerically controlled machine tool along a circular path | |
DE3132611C2 (en) | ||
DE112021002295T5 (en) | DIFFERENTIAL MIXED SIGNAL MULTIPLIER WITH THREE CAPACITORS | |
DE2826570C2 (en) | ||
DE3609056C2 (en) | ||
DE112020000193T5 (en) | QUANTUM CIRCUIT ARRANGEMENT | |
EP0449363B1 (en) | Circuit for determining the extreme values position of a correlation function | |
DE69700559T2 (en) | Circuit for calculating the discrete cosine transformation | |
DE102013206258A1 (en) | Method and apparatus for generating allowable input data trajectories for a test system |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8141 | Disposal/no request for examination |