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 signal

Info

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
Application number
DE4141615A
Other languages
German (de)
Inventor
Francesco Pazienti
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Alcatel Lucent NV
Original Assignee
Alcatel NV
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 Alcatel NV filed Critical Alcatel NV
Publication of DE4141615A1 publication Critical patent/DE4141615A1/en
Withdrawn legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/035Reduction 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

A digital signal (I) is transformed into a second (O) according to a non-linear function using a reference table (LUT) contg. 2n1 digital values of the function taken at regular intervals. The values corresp. to words with n2 bits. A word is read from the first digital signal. It has n3 bits and the regular interval is 2(n3-n1). Second and third words are extracted from it with the n1 most significant bits and n3-n1 least significant bits respectively. The table is addressed using the second word to extract three successive values from which the second digital signal is formed according to a defined equation. ADVANTAGE - High accuracy and speed are achieved with simple implementation involving neural network.

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)

1. Verfahren zum transformieren eines ersten digitalen Signales (I) in ein zweites digitales Signal (0) gemäß einer nichtlinearen Funktion (f), mit einer Nachschlagetabelle (LUT), die 2n1 digitale Werte der nichtlinearen Funktion (f), die in konstanten Abständen (Delta) genommen werden, enthält, wobei die digitalen Werte 2n1 Worten entsprechen, die je aus n2 Bit bestehen gekennzeichnet durch folgende Schritte:
  • 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.
1. Method for transforming a first digital signal (I) into a second digital signal (0) according to a non-linear function (f), with a look-up table (LUT), the 2 n1 digital values of the non-linear function (f), which are in constant Distances (delta) are taken, the digital values corresponding to 2 n1 words, each consisting of n2 bits, characterized by the following steps:
  • 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.
2. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Wert von F gegeben ist durch F = dI * K/L,wobei K und L von der nichtlinearen Funktion (f) und den n1, n2, n3 Bits abhängt.2. The method according to claim 1, characterized in that the value of F is given by F = dI * K / L, where K and L depends on the non-linear function (f) and the n1, n2, n3 bits. 3. Verfahren nach Anspruch 1, dadurch gekennzeichnet, daß der Wert von F gegeben ist durch F = M/N, wobei M und N von der nichtlinearen Funktion (f) und den n1, n2, n3 Bits abhängt.3. The method according to claim 1, characterized in that the value of F is given by F = M / N, where M and N are from non-linear function (f) and the n1, n2, n3 bits depends. 4. Verfahren nach Anspruch 2 oder 3, dadurch gekennzeichnet, daß die Werte K, L bzw. M, N im Voraus durch minimieren des folgenden Ausdruckes s0 - f (vI)berechnet werden. 4. The method according to claim 2 or 3, characterized in that the values K, L and M, N in advance by minimizing the following Expression s0 - f (vI) can be calculated.   5. Schaltungsanordnung zum Durchführung des Verfahrens gemäß den Ansprüchen 1 bis 4, mit einem Prozessor (PR) zum Lesen des ersten digitalen Signals (I) und zum Erzeugen des zweiten digitalen Signals (0), und mit einer Nachschlagetabelle (LUT), die mit dem Prozessor (PR) verbunden ist, dadurch gekennzeichnet daß die Schaltungsanordnung ein mit dem Prozessor (PR) verbundener Speicher (MEM) enthält, der die Werte von K, L, M und N aufnehmen kann.5. Circuit arrangement for performing the method according to Claims 1 to 4, with a processor (PR) for reading the first digital signal (I) and for generating the second digital Signals (0), and with a lookup table (LUT) that matches the Processor (PR) is connected characterized in that the Circuit arrangement a memory connected to the processor (PR) (MEM) contains, which can take the values of K, L, M and N. 6. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, daß der Prozessor (PR) einen Mikroprozessor enthält, der durch ein Programmspeicher und ein Datenspeicher gesteuert wird.6. Circuit arrangement according to claim 5, characterized in that the processor (PR) contains a microprocessor, which by a Program memory and a data memory is controlled. 7. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, daß der Prozessor (PR) mittels einer Logikschaltung realisiert wird.7. Circuit arrangement according to claim 5, characterized in that the processor (PR) is implemented by means of a logic circuit. 8. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, daß der Prozessor (PR) mit einer Gleitpunktarithmetik arbeitet.8. Circuit arrangement according to claim 5, characterized in that that the processor (PR) works with floating point arithmetic. 9. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, daß der Prozessor (PR) mit einer Festpunktarithmetik arbeitet.9. Circuit arrangement according to claim 5, characterized in that the processor (PR) works with a fixed point arithmetic. 10. Schaltungsanordnung nach Anspruch 5, dadurch gekennzeichnet, daß sie auf ein Chip integriert ist.10. Circuit arrangement according to claim 5, characterized in that that it is integrated on a chip. 11. Neuronales Netzwerk mit einer Vielzahl von Neuronen, die je aus einem Rechenelement (PE) bestehen, und mit einem gemeinsamen Bus (CBUS), der alle Rechenelemente (PE) verbindet, wobei jedes Rechenelement (PE) wie folgt aufgebaut ist:
  • 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.
11. Neural network with a large number of neurons, each consisting of a computing element (PE), and with a common bus (CBUS) that connects all computing elements (PE), each computing element (PE) being constructed as follows:
  • 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).
12. Neuronales Netz nach Anspruch 11, dadurch gekennzeichnet, daß es in ein VLSI Chip integrierbar ist.12. Neural network according to claim 11, characterized in that it can be integrated into a VLSI chip.
DE4141615A 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 Withdrawn DE4141615A1 (en)

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)

* Cited by examiner, † Cited by third party
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

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