Verfahren zur numerischen Differentiation eines digitalen Method for numerical differentiation of a digital
Sensorsignales Sensor signals
Stand der Technik State of the art
Die Erfindung geht aus von einem Verfahren zur numerischen Differentiation eines digitalen Sensorsignales. The invention is based on a method for numerically differentiating a digital sensor signal.
Bei digitalen Regelungen werden oft neben den eigentlichen Sensorsignalen auch die differenzierten Sensorsignale benötigt. Diese differenzierten Sensorsignale lassen sich beispielsweise durch numerische Differentiation gewinnen. Dabei wird bei einem ersten numerischen Verfahren die differenzierte Größe durch Differenzbildung zweier Abtastwerte mit festem Zeitintervall und Division der Differenz durch dieses Zeitintervall ermittelt. Beim ersten Verfahren entsteht bei kleinen Anderungsgeschwindigkeiten der zu differenzierenden Größe ein großer Diskretisierungsfehler relativ zum Absolutwert der differenzierten Größe. Mit Diskretisierungsfehler ist der Fehler gemeint, der auftritt, wenn digitale Sensorsignale abgetastet werden und entweder eine oder eine danebenliegende diskrete Stelle des Signales verwendet werden.
Bei einem zweiten numerischen Verfahren ist eine Zeitmessung bei einer fest vorgegebenen Änderung der zu differenzierenden Größe üblich, beispielsweise wird die Zeit, die für ein festes Wegintervall bei Positionssensoren benötigt wird, gemessen. Durch Bildung des Kehrwertes läßt sich die differenzierte Größe gewinnen. In digital controls, the differentiated sensor signals are often required in addition to the actual sensor signals. These differentiated sensor signals can be obtained, for example, by numerical differentiation. In a first numerical method, the differentiated size is determined by forming the difference between two samples with a fixed time interval and dividing the difference by this time interval. In the first method, a small discretization error arises in relation to the absolute value of the differentiated size at small rates of change of the size to be differentiated. By discretization error is meant the error that occurs when digital sensor signals are sampled and either one or an adjacent discrete point of the signal is used. In a second numerical method, a time measurement is customary when there is a predetermined change in the size to be differentiated, for example the time that is required for a fixed path interval with position sensors is measured. The differentiated size can be obtained by forming the reciprocal.
Bei diesem Verfahren entsteht ein relativ großer Diskretisierungsfehler bei großen Änderungsgeschwindigkeiten der zu differenzierenden Größe. Bei beiden Verfahren kann der relative Diskretisierungsfehler durch Vergrößerung der vorgegebenen Intervalle reduziert werden, dies führt allerdings dazu, daß das differenzierte Signal gegenüber dem ursprünglichen Signal eine vergrößerte Phasenverschiebung aufweist, die in einem Regelungsverfahren nicht tolerierbar ist. With this method, a relatively large discretization error arises with large rates of change of the size to be differentiated. In both methods, the relative discretization error can be reduced by increasing the predetermined intervals, but this means that the differentiated signal has an increased phase shift compared to the original signal, which cannot be tolerated in a control method.
Eine Kombination der beiden genannten Verfahren würde diese Probleme eventuell vermeiden, es wären jedoch aufwendige Umschaltbedingungen und gegebenenfalls auch ein ungeklärter Übergangsbereich zu beachten. A combination of the two methods mentioned would possibly avoid these problems, however, complex switching conditions and possibly also an unclear transition area would have to be taken into account.
Damit die durch numerische Differentiation gewonnenen Größen bei einer digitalen Regelung problemlos verwendet werden können, müssen zwei Forderungen erfüllt werden: So that the variables obtained through numerical differentiation can be used without problems in a digital control, two requirements must be met:
1. Der durch die numerische Differentiation entstehende Phasenverlust muß minimiert werden. 1. The phase loss resulting from the numerical differentiation must be minimized.
2. Der durch die Diskretisierung des digitalten Sensorsignals entstehende relative Fehler soll insbesondere bei kleinen Änderungsgeschwindigkeiten der differenzierten Größe möglichst gering sein. 2. The relative error resulting from the discretization of the digital sensor signal should be as low as possible, especially in the case of small rates of change of the differentiated size.
Wird die Differentiation durch das erste Verfahren nämlich durch Differenzbildung zweier Abtastwerte gebildet, wird die erste Forderung durch ein kleines Zeitintervall zwischen den beiden Abtastwer
ten erfüllt, während die zweite Forderung ein großes Zeitintervall erfordert. Diese beiden konkurierenden Forderungen lassen sich mit den bisher bekannten numerischen Differentiationen nicht erfüllen. If the differentiation is formed by the first method by forming the difference between two samples, the first requirement is a small time interval between the two samples ten met, while the second requirement requires a large time interval. These two competing requirements cannot be met with the previously known numerical differentiations.
Vorteile der Erfindung Advantages of the invention
Das erfindungsgemäße Verfahren zur numerischen Differentiation eines digitalen Sensorsignales hat den Vorteil, daß es die beiden Forderungen nach einem kleinen Phasenverlust und einem kleinen relativen Diskretisierungsfehler gleichzeitig erfüllt, da das Differentiationsintervall variabel sein soll und somit an die herrschenden Bedingungen angepaßt werden kann. The method according to the invention for the numerical differentiation of a digital sensor signal has the advantage that it fulfills the two requirements for a small phase loss and a small relative discretization error at the same time, since the differentiation interval should be variable and can therefore be adapted to the prevailing conditions.
Besonders vorteilhaft ist, daß das Differentiationsintervall als gleitendes Differentiationsintervall vorliegt, wobei das aktuelle Differentiationsintervall in Abhängigkeit von wenigstens einem vorhergehenden gebildet wird. It is particularly advantageous that the differentiation interval is present as a sliding differentiation interval, the current differentiation interval being formed as a function of at least one preceding one.
Durch Verdoppelung des letzten Differentiationsintervall läßt sich das aktuelle besonders einfach mit Hilfe von Schiebeoperationen, die in einem Mikroprozessor ablaufen, realisieren. By doubling the last differentiation interval, the current one can be realized particularly easily with the aid of shifting operations that take place in a microprocessor.
Die in den Unteransprüchen angegebenen Maßnahmen ergeben vorteilhafte Weiterbildungen und Verbesserungen des in Anspruch 1 beanspruchten Verfahrens. The measures specified in the subclaims result in advantageous developments and improvements of the method claimed in claim 1.
Zeichnung drawing
Die Erfindung ist in der Zeichnung dargestellt und wird in der nachfolgenden Beschreibung erläutert. The invention is illustrated in the drawing and is explained in the description below.
In Figur 1 sind die Abtastwerte bei einem Inkrementalmaßstab aufgezeigt, in Figur 2 ist ein Flußdiagramm angegeben, das die Schritte
des erfindungsgemäßen Verfahrens erkennen läßt, in Figur 3 sind die Zusammenhänge anhand eines Beispiels verdeutlicht. In Figure 1, the samples are shown on an incremental scale, in Figure 2, a flow chart is given, the steps of the method according to the invention can be seen, in Figure 3 the relationships are illustrated using an example.
Beschreibung des Ausführungsbeispieles Description of the embodiment
Bei einem digitalen Sensor, beispielsweise bei einem Inkrementalmaßstab oder Absolutgeber werden Meßwerte erhalten, wie sie in Figur 1 dargestellt sind. Bei diesem Beispiel, das eine Auflösung von a=10 μm hat, wird eine Reihe von diskreten, voneinander 10 μm entfernten Meßwerte erhalten. Werden solche Systeme abgetastet, treten außer dem durch die Diskretisierung verursachten Fehler, (Quantisierungsfehler) der zu dem sogenannten Diskretisierungsrauschen führt, keine weiteren Fehler und auch kein weiteres Meßrauschen auf. In the case of a digital sensor, for example an incremental scale or an absolute encoder, measured values are obtained as shown in FIG. 1. In this example, which has a resolution of a = 10 μm, a series of discrete measurement values 10 μm apart are obtained. If such systems are scanned, apart from the error caused by the discretization (quantization error) which leads to the so-called discretization noise, no further errors and no further measurement noise occur.
Werden die beiden aufeinanderfolgenden Werte X1=X(t) und X2=X(t+T), mit dem Abstand Xex gemessen, laßt sich daraus ein differenziertes Signal gewinnen, indem die beiden aufeinanderfolgenden Werte X1 und X2 voneinander abgezogen werden und die Differenz durch die Abtastzeit T dividiert wird. Zur Unterscheidung sind die einzelnen Werte X1, X2 als und und bezeichnet.If the two successive values X1 = X (t) and X2 = X (t + T) are measured with the distance X ex , a differentiated signal can be obtained by subtracting the two successive values X1 and X2 and the difference divided by the sampling time T. To distinguish them, the individual values X1, X2 are designated as and and.
Da die Meßwerte diskret vorliegen, kann ein maximaler Quantisierungsfehler von ± 1 Inkrement pro Abtastzeit entstehen, für die exakte differenzierte Größe Vex gilt damit: Since the measured values are available discretely, a maximum quantization error of ± 1 increment per sampling time can occur, so that the exact differentiated variable V ex applies:
(X2-X1-1)/ T< Vex< (X2-X1+1)/T (X2-X1-1) / T <V ex <(X2-X1 + 1) / T
Dabei wurde berücksichtigt, daß für den größtmöglichen Quantisierungsfehler gilt : Δ Xmax- = (Xº *ΔT) -1 Inkrement It was taken into account that the following applies to the largest possible quantization error: Δ X max- = (Xº * ΔT) -1 increment
bzw. Δ Xmax+ = (Xº *ΔT) +1 Inkrement
Für den Fehler gilt dann: VFmax- = - 1 Inkrement / T bzw. : VFmax+ = + 1 Inkrement / T or Δ X max + = (Xº * ΔT) +1 increment The following then applies to the error: V Fmax- = - 1 increment / T or: V Fmax + = + 1 increment / T
Die differenzierte Größe Vex liegt damit innerhalb eines Bereiches, der im weiteren als Vertrauensbereich bezeichnet wird. The differentiated variable V ex thus lies within a range which is referred to below as the confidence range.
In Figur 2 ist ein Flußdiagramm dargestellt, das angibt, wie das Differentiationsverfahren abläuft. Zur Erläuterung dieses Flußdiagramms sollen zunächst folgende Definitionen angegeben werden: FIG. 2 shows a flow chart which indicates how the differentiation process works. To explain this flowchart, the following definitions should first be given:
T: Abtastzeit T: sampling time
X(N): N-ter Abtastwert der zu differenzierenden Größe X X (N): Nth sample value of the variable X to be differentiated
XD: Ergebnis der Differentiation XD: result of differentiation
Xd: Zwischenergebnis der Differentiation Xd: intermediate result of differentiation
Ugr: untere Grenze des Vertrauensbereichs Ugr: lower limit of the confidence interval
Ogr: obere Grenze des Vertrauensbereichs Ogr: upper limit of the confidence interval
ΔN: aktuelle Länge des Zeitintervalls ΔN: current length of the time interval
Δ Nalt: Länge des Zeitintervalls bei vorheriger Differentiation Δ Nalt: Length of the time interval with previous differentiation
DiffN: Maß für Ausschnittbegrenzung DiffN: Measure for cutout limitation
Δ End: maximale Länge des Zeitintervalls bei Ausschnittsbegrenzung Δ End: maximum length of the time interval when the section is limited
ΔMax: maximale Länge des Zeitintervalls. ΔMax: maximum length of the time interval.
In einem ersten Schritt S1 wird die differenzierte Größe bei minimalem Differentiationsintervall und der, dem Quantisierungsfehler entsprechendem Vertrauensbereich ermittelt. Dazu wird zunächst im Schritt S11, der ein Teilschritt des Schrittes S1 ist, die obere Grenze des Vertrauensbereichs Ogr eingelesen, als größte darstellbare positive Zahl. Weiterhin wird die untere Grenze des Vertrauensbereichs eingelesen und die aktuelle Länge des Zeitintervalls ΔN
festlegt als Maximalwert aus(ΔNalt/DiffN, T sowie die maximale Länge des Zeitintervalls bei AusschnittbegrenzungΔEnd. ΔEnd wird als Minimum aus der Länge des Zeitintervalls bei vorheriger Differentiation ΔNalt und dem Maß für die Ausschnittbegrenzung DiffN unter Berücksichtigung der maximalen Längen des ZeitintervallsΔMax gebildet. In a first step S1, the differentiated size is determined with a minimal differentiation interval and the confidence interval corresponding to the quantization error. For this purpose, in step S11, which is a sub-step of step S1, the upper limit of the confidence range Ogr is read in as the largest positive number that can be represented. Furthermore, the lower limit of the confidence interval is read in and the current length of the time interval ΔN specifies the maximum value from (ΔNalt / DiffN, T as well as the maximum length of the time interval in the case of cutout limitation ΔEnd.
Mit diesen Werten wird im nächsten Schritt S12 das Zwischenergebnis der Differentiation bestimmt, indem vom N-ten Abtastwert der zu differenzierenden Größe X der N-ΔN-te Abtastwert der zu differenzierenden Größe X abgezogen wird und die Differenz durch die aktuelle Länge des Zeitintervalls dividiert wird. With these values, the intermediate result of the differentiation is determined in the next step S12 by subtracting the N-ΔNth sample value of the variable X to be differentiated from the Nth sample value of the variable X to be differentiated and dividing the difference by the current length of the time interval .
Im nächsten Schritt S13 wird geprüft, ob das im Schritt S12 ermittelte Zwischenergebnis der Differentiation Xd innerhalb des Vertrauensbereichs liegt. In the next step S13 it is checked whether the intermediate result of the differentiation Xd determined in step S12 lies within the confidence interval.
Ist dies der Fall, wird im nächsten Schritt S14 ein neuer Vertrauensbereich VB bestimmt, wobei die obere und die untere Grenze Ugr und Ogr dieses Vertrauensbereiches nach der Formel: If this is the case, a new confidence range VB is determined in the next step S14, the upper and lower limits Ugr and Ogr of this confidence range according to the formula:
[Ugr, Ogr] = [Xd-1/ΔN, Xd + 1/ΔN]∩ [Ugr, Ogr] bestimmt wird. [Ugr, Ogr] = [Xd-1 / ΔN, Xd + 1 / ΔN] ∩ [Ugr, Ogr] is determined.
Im nächsten Schritt S15 wird überprüft, ob die aktuelle Länge des Zeitintervalls ΔN kleiner als die maximale Länge des Zeitintervalls bei Ausschnittbegrenzung ist. Ist dies der Fall, wird im Schritt S16 die aktuelle Länge des ZeitintervallsΔN verdoppelt und das In the next step S15, it is checked whether the current length of the time interval ΔN is less than the maximum length of the time interval when the cutout is limited. If this is the case, the current length of the time interval ΔN is doubled in step S16 and that
Verfahren beginnt erneut mit dem Schritt S2.
Wird im Schritt S13 erkannt, daß das Zwischenergebnis der Differentiation Xd außerhalb des Vertrauensbereichs VB liegt, wird im The method begins again with step S2. If it is recognized in step S13 that the intermediate result of the differentiation Xd lies outside the confidence range VB,
Schritt S17 die aktuelle Länge des Zeitintervalls ΔN halbiert und das Zwi- schenergebnis der Differentiation Xd aus der Differenz des N-ten Abtastwerts der zu differenzierenden Größe X und des N-ΔN-ten Ab- tastwerts, die durch die neue aktuelle Länge des Zeitintervalls dividiert wird, festgelegt. D.h. das Ergebnis der gleitenden Differentiation wird zu dem im vorherigen Iterationsabschnitt ermittelten Wert bestimmt, bei dem die Grenzen des Vertrauensbereichs noch nicht überschritten waren. Step S17 halves the current length of the time interval ΔN and the intermediate result of the differentiation Xd from the difference between the Nth sample value of the variable X to be differentiated and the N-ΔNth sample value, which divides by the new current length of the time interval is set. That the result of the sliding differentiation is determined at the value determined in the previous iteration section, at which the limits of the confidence interval had not yet been exceeded.
Im Schritt S18 wird die Variable ΔNalt, die der Länge des In step S18, the variable .DELTA.N becomes old , which is the length of the
Zeitintervalls bei vorheriger Differentiation und damit den alten Differentiationsintervall entspricht, für den nächsten Abtas tschri tt aktualisiert, d.h.ΔNalt wird gleich ΔN als neues Time interval with previous differentiation and thus corresponds to the old differentiation interval, updated for the next sampling step, i.e.ΔNalt becomes ΔN as new
Differentiationsintervall gesetzt. Das Ergebnis der Differentiation XD ist gleich dem letzten gültigen Zwischenergebnis der Differentiation interval set. The result of the differentiation XD is equal to the last valid intermediate result of the
Differentiation Xd. Differentiation Xd.
Der Abschlußschritt S18 wird ebenfalls durchgeführt, wenn in Schritt S15 festgestellt wird, daß die Länge des Zeitintervalls ΔN die vorgegebene maximale Länge des Zeitintervalls ΔEnd erreicht hat. The completion step S18 is also carried out if it is determined in step S15 that the length of the time interval ΔN has reached the predetermined maximum length of the time interval ΔEnd.
Bei dem in Figur 2 dargestellten Verfahren, das als Programm in einem Computer abläuft, werden also zunächst in einem als Schritt S11 bezeichneten Schritt S11 die Randbedingungen festgelegt bzw. eingelesen. In the method shown in FIG. 2, which runs as a program in a computer, the boundary conditions are first defined or read in in a step S11 referred to as step S11.
Aus diesen Randbedingungen wird dann im ersten Schritt S2 die differenzierte Größe Xd zunächst bei minimalem Differentiationsintervall, das der Abtastzeit T entspricht, ermittelt, gleichzeitig wird der dem Quantisierungsfehler entsprechende Vertrauensbereich bestimmt. In den nächsten Schritten wird das Differentiationsintervall jeweils vergrößert und der Quantisierungsfehler dementsprechend verkleinert.
Bei Verdoppelung des Differentiationsintervalls wird der Quantisierungsfehler halbiert. From these boundary conditions, the differentiated variable Xd is then firstly determined in a first step S2 with a minimal differentiation interval, which corresponds to the sampling time T, and at the same time the confidence interval corresponding to the quantization error is determined. In the next steps, the differentiation interval is increased and the quantization error is reduced accordingly. If the differentiation interval is doubled, the quantization error is halved.
Nach jedem Schritt wird überprüft, ob der neu berechnete Wert innerhalb des im Schritt zuvor bestimmten Vertrauensbereichs liegt. Ist dies der Fall, wird ein neuer Vertrauensbereich ermittelt. Dazu wird die Schnittmenge aus dem alten Vertrauensbereich und dem Quantisierungsfehler, der dem neuen Differentiationsintervall entspricht, gebildet. After each step, it is checked whether the newly calculated value lies within the confidence interval determined in the previous step. If this is the case, a new trust area is determined. For this purpose, the intersection of the old confidence interval and the quantization error, which corresponds to the new differentiation interval, is formed.
Dieses Verfahren wird abgebrochen, sobald der errechnete Wert außerhalb des jeweils zuvor bestimmten Vertrauensbereichs liegt oder ein vorgegebenes Maximalintervall erreicht wurde. Die zu diesem Zeitpunkt ermittelte vorläufige differenzierte Größe Xd wird dann als endgültige differenzierte Größe XD erkannt. This process is terminated as soon as the calculated value lies outside the previously determined confidence interval or a predetermined maximum interval has been reached. The preliminary differentiated variable Xd determined at this point in time is then recognized as the final differentiated variable XD.
Da das Verfahren sofort abbricht, sobald die im Schritt zuvor errechneten Grenzen des Vertrauensbereichs verlassen werden, wird der Phasenfehler möglichst gering gehalten ohne daß die Gefahr besteht, daß die Signalqualität bei konstanter Geschwindigkeit leidet. Since the method stops immediately as soon as the limits of the confidence interval calculated in the step are left, the phase error is kept as low as possible without the risk that the signal quality will suffer at a constant speed.
Das in Figur 2 angegebene Verfahren läßt sich besonders einfach realisieren, wenn die Zeitintervalle jeweils verdoppelt werden. Es ist dann möglich, den angegebenen Algorithmus mit Hilfe von in einem Mikroprozessor einfach durchzuführenden Schiebeoperationen vorzunehmen. The method specified in FIG. 2 can be implemented particularly easily if the time intervals are doubled in each case. It is then possible to carry out the specified algorithm with the aid of shift operations that can be carried out easily in a microprocessor.
Soll zu jedem Abtastzeitpunkt das optimale Zeitintervall gefunden werden, werden bei jeder Differentiation alle Zeitintervalle beginnend mit dem kleinsten Zeitintervall T bis zum Abbruchskriterium berechnet. Steht nicht genügend Rechenzeit zur Verfügung, so besteht
auch die Möglichkeit, nur einen Ausschnitt aus dem zulässigen Bereich zu betrachten, wobei dafür die Umgebung des zum vorherigen Abtastzeitpunkt ermittelten Zeitintervalls verwendbar ist. If the optimal time interval is to be found at each sampling time, with each differentiation all time intervals starting with the smallest time interval T up to the termination criterion are calculated. If there is not enough computing time available, then there is also the possibility of viewing only a section of the permissible range, the surroundings of the time interval determined at the previous sampling time being usable for this.
Das beschriebene Verfahren wurde an einem simulierten System mit einer Abtastzeit von T=1,5 msek. und Verdoppelung des jeweiligen Differentiationsintervalls überprüft. The described method was carried out on a simulated system with a sampling time of T = 1.5 msec. and doubling of the respective differentiation interval checked.
In Figur 3 ist ein Beispiel angegeben, bei dem in a) der Verlauf der zu differenzierenden Größe X über der Abtastzeit T aufgetragen ist. In b) sind die für N=8 berechneten Differentiale samt Toleranzangaben eingetragen. FIG. 3 shows an example in which the course of the variable X to be differentiated is plotted over the sampling time T in a). In b) the differentials calculated for N = 8 are entered together with tolerance information.
In 3c) ist der Vertrauensbereich für den exakten Wert Vex für vierIn 3c) the confidence interval for the exact value V ex is for four
Schritte angegeben und in Figur 3d) ist der errechnete Geschwindigkeitswert X", die Grenze des Vertrauensintervalles bei aktuellem Differentiationsintervall und die Grenzen des tatsächlichen Vertrauensbereiches für 4 Schritte angegeben. Dabei wird das Vertrauensintervall bei aktuellem Differentiationsintervall durch die obere Grenze Ogr,akt und die untere Grenze Ugr,akt begrenzt, für die Grenzen des tatsächlichen Vertrauensbereiches gelten entsprechend Ogr, tat und Ugr, tat. Steps are given and in FIG. 3d) the calculated speed value X ", the limit of the confidence interval for the current differentiation interval and the limits of the actual confidence range for 4 steps are given. The confidence interval for the current differentiation interval is given by the upper limit Ogr, akt and the lower limit Ugr, act limited, Ogr, tat and Ugr, tat apply accordingly to the limits of the actual trust range.
Das beschriebene Verfahren läßt sich auf beliebige digitale Signale ausdehnen, die differenziert werden sollen. Das Verfahren läuft üblicherweise in einer Recheneinrichtung, z.B. einem Mikroprozessor, der über die erforderlichen Register bzw. Speicher verfügt, ab.
The method described can be extended to any digital signals that are to be differentiated. The method usually runs in a computing device, e.g. a microprocessor that has the necessary registers or memory.